You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following the v0.67.118–125 high-velocity sprint, we have a structured way to discover AX bottlenecks: scripts/stall_log_mine.py (74a6b6d) mines Claude Code JSONL transcripts for confusion signals and produces a friction-ranked report.
This issue tracks the AX programme as a whole.
Programme goals
Reduce agent friction on the top-N hot zones by ~50% measured by re-running stall_log_mine.py quarterly.
Maintain the HTMX/Alpine/Fragment substrate as the empirical baseline. Stack-comparison work is deferred; longitudinal "this codebase vs itself last quarter" tells us if AX work is moving the number.
Promote successful patterns into CLAUDE.md as durable guidance.
5 of 5 closed across 27 versions (v0.67.118 → v0.67.144). The two large decompositions (#1064 + #1065) established the canonical mixin-per-family pattern — two reference implementations now exist, one with dict-based dispatch (region_adapter) and one with match-based dispatch (renderer).
Validation
Next monthly scripts/stall_log_mine.py sweep will quantify the friction-score impact. Expected changes vs. April baseline:
Issue can be closed once that sweep confirms the predictions. Until then keep open as the measurement anchor.
Measurement protocol
Re-run python scripts/stall_log_mine.py --days 30 at end of each month.
Diff the friction-ranked top-15 month-over-month.
A row dropping out of the top-15 = confirmed win. A row climbing = regression or new touch-zone.
Limitations of the current data
Sample bias: window dominated by recent high-velocity work. Patterns reflect what was being worked on.
Heuristic weights: repeat_reads + 3·edit_failures + 5·errors is a guess.
Doesn't catch all stalls: agents giving up and asking the user, or stalling on a non-tool reasoning loop, leave no signal in the transcript tool stream.
Tracking issue — Agent Experience (AX) initiative
Following the v0.67.118–125 high-velocity sprint, we have a structured way to discover AX bottlenecks:
scripts/stall_log_mine.py(74a6b6d) mines Claude Code JSONL transcripts for confusion signals and produces a friction-ranked report.This issue tracks the AX programme as a whole.
Programme goals
stall_log_mine.pyquarterly.Child issues
renderer.pydecomposition — complete, 3,784 → 364 lines (-90%) across 9 PRs (v0.67.136–v0.67.144)region_adapter.pydecomposition — complete, 2,871 → 164 lines (-94%) across 8 PRs (v0.67.128–v0.67.135)route_generator.pysection-map docstring (shipped v0.67.126)All children closed ✓
5 of 5 closed across 27 versions (v0.67.118 → v0.67.144). The two large decompositions (#1064 + #1065) established the canonical mixin-per-family pattern — two reference implementations now exist, one with dict-based dispatch (region_adapter) and one with match-based dispatch (renderer).
Validation
Next monthly
scripts/stall_log_mine.pysweep will quantify the friction-score impact. Expected changes vs. April baseline:pyproject.toml/CLAUDE.md/homebrew/CHANGELOG(AX: bump-cycle formatter race — 1,400 friction-points across pyproject/CLAUDE.md/homebrew/CHANGELOG #1063) → out of top-5.region_adapter.py(AX: decompose src/dazzle/back/runtime/renderers/region_adapter.py (2,871 lines, friction 168) #1065) → off the friction list (now 8 smaller files).renderer.py(AX: decompose src/dazzle/render/fragment/renderer.py (3,784 lines, friction 190) #1064) → off the friction list (now 9 smaller files).route_generator.py(AX: add file-organisation README to route_generator.py (4,257 lines, friction 148) #1066) → ~50% drop in repeat-read count.Issue can be closed once that sweep confirms the predictions. Until then keep open as the measurement anchor.
Measurement protocol
python scripts/stall_log_mine.py --days 30at end of each month.Limitations of the current data
repeat_reads + 3·edit_failures + 5·errorsis a guess.