feat: v8 ctx-split swimlane design prototype#121
Merged
Conversation
v8 redesigns the swimlane turn bar from cost-centric to context-centric: - Bar height = ctx window % (was: cost), split into cache read/write/input - Zone via 40%/80% threshold lines (was: bar hue / bottom border) - Cost moved to dedicated 8px mini-bar track with orange outlier coloring - 4 event tracks (Faults/Context/Mutations/Safety) with exclusive color families, max 4 dot types per track, zero cross-track color collisions - 3-state interaction: Idle → Hover (1..N cumulative) → Locked - Cross-lane dim (0.35) + global cursor guide + per-lane guide uniqueness - Collapsed shows Faults + Safety only (~6 dots/50 turns) Design process: 4 expert subagents (Tufte/Charity Majors/Munzner/Willison) → 3-round autoresearch (R1 7.41 → R2 8.53 → R3 9.03). Zone display had separate autoresearch (bands 5.95 rejected → threshold lines 9.0 accepted). Adds: v7-vs-v8.html prototype, navigation index.html, 3 screenshots, DESIGN-DECISIONS.md v8 section + 6 new lessons, README.md v8 section. Removes: redundant v5-proto.html. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
lis186
pushed a commit
that referenced
this pull request
Jul 4, 2026
…ation Lane label gutter (240px) becomes a 3-row agent info block: - Row 1 (11px): agent name — detected agentLabel; child lanes append the 8-char session id; fallback subagent-<model> when the request has no system prompt to detect from - Row 2 (10px): model · context window size - Row 3 (10px): sysprompt version chips, one per distinct coreHash in first-seen order, width-budgeted (~196px) with +n overflow. Chip click locks the turn where that version first appeared; ↗ opens the System Prompt page pre-selected via spPendingDeepLink state handoff (URL params don't survive syncUrlFromState's rebuild — the prompt badge has the same latent race). Hashes/keys are validated (hex / safe charset) before innerHTML interpolation since escapeHtml doesn't cover quotes. Lane classification is agent-identity-first: main keys (orchestrator / sdk-agent / codex default) always go to the main lane regardless of model switches or the isSubagent flag — a mid-session opus→fable switch no longer splits the orchestrator into a phantom sub-lane (157c0faa: 32/287 turns split, sub-lane literally named "Orchestrator"). Other keys get an agent-<key> lane named by agentLabel. Model/ctx heuristics remain as fallback for entries without agent identity. Main lane is longest and on top; sub lanes sort by first-turn time. Lane selection with no locked turn renders the last turn's Timeline detail directly (its request carries the whole conversation = full range) with no lock visuals — _wfShowTurnDetail suppresses the selectTurn → wfHighlightTurn echo. No flat-list intermediate state. Closes #121 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Summary
v7-vs-v8.htmlprototype, navigationindex.html, 3 screenshots, design docsFiles changed
prototype/swimlane/v7-vs-v8.htmlprototype/swimlane/index.htmlprototype/swimlane/assets/v8-*.pngprototype/swimlane/DESIGN-DECISIONS.mdprototype/swimlane/README.mdTest plan
python3 -m http.server 8199 --directory prototype/swimlane→ openhttp://localhost:8199/🤖 Generated with Claude Code