v3.26.0 — Build Observability
Build Observability
This release ships the complete Build Observability system across Plans 1–8 — a new subsystem that records what happens during a multi-agent implementation run, surfaces stalls and audit findings at every command boundary, and (new in this release) dispatches AI agents to fix blocking findings automatically.
What's new
Ledger and events — scaffold observe event <type> writes append-only activity events (task_claimed, task_completed, decision_made, blocker_raised, pr_opened, pr_merged) to .scaffold/activity.jsonl with lockfile-safe concurrent writes.
Progress snapshot — scaffold observe progress fuses the ledger with six adapter event streams (git, GitHub, MMR, pipeline state, tests, pipeline docs) into a live snapshot. --replay produces a chronological timeline. --no-stall-check suppresses the Needs Attention surface. Stall signals: task_stale, pr_stale, pr_review_stale, blocker_unaddressed, audit_findings_unresolved, lens_skipped_repeatedly.
Eight-lens audit — scaffold observe audit runs:
- A-tdd — test-first evidence
- B-ac-coverage — acceptance-criteria coverage
- C-standards — coding-standards / ESLint compliance
- D-stack — stack conformance vs. tech-stack doc
- E-design — design-token usage in CSS/JSX
- F-scope — implementation task vs. user story coverage
- G-decisions — decision log completeness (keyword commit scan)
- H-cross-doc — cross-document consistency + LLM-graded checks at
--profile=full
Findings get stable IDs. scaffold observe ack <prefix> acknowledges or reopens findings. Exits 1 when verdict is blocked.
--fix flow — scaffold observe audit --fix dispatches a fix agent for each blocking finding, verifies the fix, and writes a post-fix report. SIGINT-safe: Ctrl-C reverts staged changes and restores the stash.
Harvest and recovery — scaffold observe harvest --worktree=<path> flushes a worktree's ledger to .scaffold/activity-archive/. --recover rotates stale archive entries (worktrees no longer in git worktree list) into monthly YYYY-MM.jsonl files.
Teardown script — scripts/teardown-agent-worktree.sh <path> harvests, removes the worktree, and deletes the workspace branch in one command.
Dashboard panels — scripts/generate-dashboard.sh now injects Build Progress and Audit panels via named anchors. Both panels show stall signals, timeline, and findings by severity.
Phase-boundary triggers — scaffold complete <step> auto-runs Lens H after completing any phase-boundary step (user-stories, tech-stack, coding-standards, design-system, implementation-plan, implementation-playbook). Non-gating.
MMR doc-conformance channel — mmr review --channels=doc-conformance runs the audit as a built-in MMR channel with stable composite location IDs. Disabled by default.
Upgrade
npm update -g @zigrivers/scaffold
# or
brew upgrade scaffoldConfiguration
# .scaffold/observability.yaml
fix:
dispatcher_command: "claude -p"
timeout_s: 300
per_finding_max_attempts: 3
phase_audit:
enabled: true
timeout_s: 60
stall:
task_stale_hours: 4
pr_stale_hours: 24See the CHANGELOG for the full entry.