Skip to content

feat: supervision surface — waiting_for, attempts in inspect, watch, strict flags - #69

Merged
smota merged 11 commits into
mainfrom
work/supervision-surface
Oct 8, 2026
Merged

smota merged 11 commits into
mainfrom
work/supervision-surface

Conversation

@smota

@smota smota commented Oct 8, 2026

Copy link
Copy Markdown
Owner

Implements #52, #57, #51, #59.
Closes #52
Closes #57
Closes #51
Closes #59

What changes

Pre-existing bug fixed along the way

Attempts never recorded ended_at, and the outcome column holds the attempt's base revision (base:<sha>, read by recovery). So #57's timing would always have been empty in real runs. Now ended_at is set on HarnessExited (not on crash/timeout, where a live pane may still be harvested and an ended attempt reads Dead), and inspect shows the attempt's last ledger event as outcome and the base as base_revision. Regression test drives a real fixture run.

How it was built (provenance)

Meshloop graph supervision-surface-52-57-51-59 (4 nodes) plus supervision-surface-59 (1 node); Claude Sonnet workers via a stdin shim (#27 workaround), Claude Opus 5.5 as orchestrator/reviewer. Plans accepted by @smota.

Node Issue Attempts Landed Accepted by
1 #52 6 failed (fmt only), 7 passed Meshloop integrate claude-opus-5-5-orchestrator (see note)
2 #57 8 failed (fmt only), 10 failed (own tests), 11 passed with no tests Meshloop integrate + orchestrator commit adds attempt 8's tests smota
3 #51 9 passed; integrate hit StaleBaseDetected (parallel edit with node 2); 12 failed clippy/test orchestrator merge of attempt 9 (one dispatch hunk) smota
4 #59 13 failed one test that passed a flag plan never read cherry-picked; test flag dropped reviewed by orchestrator; acceptance via this PR

Orchestrator commits: 61a80e1 (merge node 3), 803df3c (ended_at/outcome + #57 tests), c244966 (watch failure priority), bad9d72 (drop dead plan --fixture-only from a test).

Note on node 1: its meshloop accept was recorded by the orchestrator before the harness permission check blocked self-approval; @smota chose to keep it.

Checks

  • cargo run --locked -p xtask -- check (fmt, clippy -D warnings, all workspace tests): pass on bad9d72, built from this checkout's own target/.
  • Meshloop's per-node verify results are not relied on: the run shared one CARGO_TARGET_DIR across worktrees, and xtask resolves the repo root from its compile-time CARGO_MANIFEST_DIR, so a reused xtask.exe can check a different worktree. Passing node logs don't show which tree they checked.
  • Not run: a live watch against a real detached run (covered by fixture tests only); Skills Manager library refresh for the changed skills/meshloop-* (pending, per docs/install.md#skills-manager-development-copies).

Known limits / follow-ups

🤖 Generated with Claude Code

meshloop and others added 11 commits October 8, 2026 07:02
…-7' into meshloop/supervision-surface-52-57-51-59/integrate
…-11' into meshloop/supervision-surface-52-57-51-59/integrate
Meshloop marked node 3 StaleBaseDetected: it ran in parallel with node 2 and both
edited the inspect dispatch arm. Resolved by keeping both arms; its retry
(attempt 12) failed clippy and a test, so the reviewed attempt 9 is used.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… tests

- set attempts.ended_at on HarnessExited (crash/timeout left open: a live pane may
  still be harvested, and liveness treats an ended attempt as Dead)
- inspect outcome comes from the attempt's last ledger event; the outcome column
  keeps holding the base revision recovery reads, now shown as base_revision
- restore node 2's attempt-8 attempts/summary tests that attempt 11 dropped
- regression test drives a real fixture run, not hand-written attempt rows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
plan has no fixture_only field; the flag was silently ignored and the test
already uses a fixture harness config. #59 now rejects it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request implemented-by:claude Implementation completed by Claude Code

Projects

None yet

1 participant