Repository navigation
fix(ui): converge copy, focus/motion tokens and limit encodings - #68
Merged
obvious-autobuild[bot] merged 3 commits intoOct 11, 2026
Conversation
The sibling PRs renamed the surfaces in the lessons themselves (0.2, 0.3, 4.8, 7.1, 8.1) but left three "sandbox" stragglers in web/: two comments (figures.js preset note, guide.js lab-help note) and one user-facing string (the agent's protocol-accept confirmation). Part of the V9 final sweep; no behavior change. Co-authored-by: Tapan Ganatma Nakkina <[email protected]>
- style.css: repair the tail left by a sibling merge (a stray "auto; }" fragment and duplicated .srch-rows/.bad/Explore/mobile-header rules); drop the one hardcoded :focus-visible override so every interactive element shares the --focus-ring token; add @media (prefers-reduced-motion: reduce) collapsing the two orientation tweens (gauge bars, spotlight dim). - guide.js, replay.js: the two smooth scrolls (spotlight, catalog panel jump) jump instantly under the same query — the preference otherwise could not reach them from CSS. Co-authored-by: Tapan Ganatma Nakkina <[email protected]>
…ir numbers Limit proximity was rendered four times on one screen: the three gauges, the limits strip, the strip value's color, and the insight prose — the prose being the third restatement of the same numbers. Keep the gauges (the instant) and the limits strip (the run); the prose now names which limit is closest and points at those two. Lesson 5.5, which described the panel's prose, drops "and when" to match. Co-authored-by: Tapan Ganatma Nakkina <[email protected]>
obvious-autobuild
Bot
merged commit Oct 11, 2026
d67c16a
into
release/task-mode-ia-redesign-20261011-170103
3 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The task-mode IA rework left three convergence debts from the audit: lessons and copy still carried old surface names in three places, the stylesheet had a corrupted tail (a stray
auto; }fragment plus duplicated rules from a sibling merge), one hardcoded focus-ring override bypassed the--focus-ringtoken, noprefers-reduced-motionsupport existed, and "distance to a limit" was still rendered four times on one screen (gauges, limits strip, strip value color, and the insight prose restating the numbers). This PR settles the copy/a11y/redundancy lane of the release plan (V7/V9 hygiene) without removing any capability.What
Three commits,
web/-only (plusweb/lessons.json), no backend changes:chore(copy)— finish the surface-label sweep. The sibling PRs already renamed the surfaces in lessons 0.2/0.3/4.8/7.1/8.1; three stragglers remained: two "sandbox" comments (figures.js preset note, guide.js lab-help note) and one user-facing string (the agent's protocol-accept confirmation now says "fills the Explore form").feat(a11y)— one focus token, reduced motion. Repairs the style.css tail; drops the one hardcoded.entry-action a:focus-visibleoverride so every interactive element shares the--focus-ringtoken; adds@media (prefers-reduced-motion: reduce)collapsing the two orientation tweens (gauge bars, spotlight dim); the two JS smooth scrolls (guide.js spotlight, catalog panel jump) gate on the same query at call sites.fix(redundancy)— limit proximity at most twice. The insight paragraph now names which limit is closest and points at the gauges and the limits strip instead of restating their numbers a third time. Lesson 5.5, which described the old prose, drops "and when" to match. No renumbering, no re-anchoring.Deliberately kept: the
window.FusionLab.sandboxAPI namespace and the lessons' legacy"tab": "sandbox"/"db"directives (the guide contracttests/test_guide.pypins, mapped byworkspaces.jsLEGACY); theW_kJfield in thefusionlab:sliceevent detail (same contract — user-facing surfaces all show MJ). The 3D auto-orbit and figure jitter are render-loop motion outside this PR's CSS-token scope — flagged for the release audit, not changed.Acceptance criteria
databaseinweb/; zero user-facing kJ (only theW_kJevent-contract field); remaining "sandbox" words are contract identifiers onlyuv run pytest -q352 passed, 1 skipped;uv run ruff checkclean;uv run mypy fusionlabcleanaria-controlswiring to the three workspace sections, router-syncedaria-selectedwith roving tabindex and arrow-key navigation — evidenced by the accessibility tree in the capturesnone,matchMediagate returns trueEvidence
Captured with agent-browser against the tested head SHA
9cef3e0(app served from this branch, Q≈9.2 sanity pass):tc-1-lesson-1-start.png/tc-1-lesson-2-next.png/tc-1-lesson-walk.webm— guided walkthroughtc-2-panel-help-open.png— Lab "?" on the Equilibrium panel opens lesson 4.1tc-3-insight-reference-copy.png— insight paragraph referencing the limits, numbers only in gauges/striptc-4-focus-ring.png— token focus ring (2px solid accent) on keyboard focusSibling PRs (same release lane)
How to review
web/replay.jsinsight block (~line 585) andweb/lessons.json5.5 travel together — review as one change. The style.css diff is mostly deletions (corrupted tail); the reduced-motion block is additive. Guide-contract identifiers are intentionally unchanged.Human author: Tapan Ganatma Nakkina ([email protected])
🔗 Obvious Project · 🧵 Obvious Thread · 🔀 Obvious PR Artifact
Test Evidence
V7a: guided lesson-1 walkthrough advances to lesson 2 with spotlight and task card


Limit redundancy: insight paragraph references gauges and limits strip instead of restating numbers

Focus ring: shared --focus-ring token (2px solid accent) on keyboard focus

V7b: Lab-mode ? panel help opens the mapped lesson (Equilibrium → lesson 4.1)
