From 402e33e99214cb2bc17c2921a07a2720050aa1c9 Mon Sep 17 00:00:00 2001 From: Silviu Druma Date: Thu, 22 Jan 2026 07:20:12 -0500 Subject: [PATCH 1/2] feat: add final polish --- CONTRIBUTING.md | 1 + apps/api/static/app.js | 23 +-- apps/api/static/index.html | 36 ++++- apps/api/static/styles.css | 186 ++++++++++++++++++++++++- docs/assistant_prompts/claude_tasks.md | 1 + 5 files changed, 227 insertions(+), 20 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c34e7cb..4374e23 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -185,6 +185,7 @@ PlanProof values correctness over persuasion. - [X] PR 3.3: Failure/Rejection Styles - [X] PR 3.4: Assumptions & Questions (Show the AI's "Why"). - [X] PR 4.1: Opik Trace Link (Show the "View Trace" button for the judges). +- [X] PR 4.2: Final Polish & UX Tooltips ## Backend Lane (Codex) diff --git a/apps/api/static/app.js b/apps/api/static/app.js index e8c5dc5..e894f8e 100644 --- a/apps/api/static/app.js +++ b/apps/api/static/app.js @@ -216,28 +216,31 @@ function renderErrors(errors, isPriority = false) { } // ========================================================================== -// Opik Trace Link (PR 4.1) +// Opik Trace Link (PR 4.1, updated PR 4.2) // ========================================================================== /** - * Shows or hides the Opik trace link section. - * @param {boolean} visible - Whether to show the trace link + * Enables or disables the Opik trace link button. + * @param {boolean} enabled - Whether the trace link should be clickable * @param {string|null} traceUrl - Optional custom trace URL */ -function renderTraceLink(visible, traceUrl = null) { - const section = elements.traceSection; +function renderTraceLink(enabled, traceUrl = null) { const link = elements.traceLink; - if (!section) return; + if (!link) return; - if (!visible) { - section.classList.add('trace-section--hidden'); + if (!enabled) { + link.classList.add('btn-trace--disabled'); + link.setAttribute('aria-disabled', 'true'); + link.setAttribute('title', 'Generate a plan first to view the technical trace.'); return; } - section.classList.remove('trace-section--hidden'); + link.classList.remove('btn-trace--disabled'); + link.setAttribute('aria-disabled', 'false'); + link.setAttribute('title', 'Inspect the agentic logic, deterministic logs, and LLM spans in the Opik observability suite.'); // Update URL if provided (for future per-trace linking) - if (traceUrl && link) { + if (traceUrl) { link.href = traceUrl; } } diff --git a/apps/api/static/index.html b/apps/api/static/index.html index 7ccbb5f..07230c9 100644 --- a/apps/api/static/index.html +++ b/apps/api/static/index.html @@ -96,8 +96,17 @@

Clarifying Questions

-

No plan generated yet.

-

Enter your context and click "Generate Plan"

+
+
+ πŸ“‹ +
+
✦
+
✧
+
✦
+
+

Ready When You Are

+

Paste your context, constraints, and goals on the left.

+

We'll build a mathematically verified planβ€”no hallucinations, no overlaps.

@@ -130,7 +139,13 @@

Extracted Constraints

-

Pre-Flight Checks

+

+ Pre-Flight Checks + +