docs: clarify live supervision constraints - #9
Conversation
* Document live supervision constraints * no-mistakes(document): Sync supervision documentation
Rebase + verdict: unblocking this PRRebased
|
| Check | Result | Classification | Evidence |
|---|---|---|---|
| lint | pass | — | — |
| invariants | pass | — | — |
| coverage | pass | — | — |
| push-guard | unavailable | could not check — host precondition, not code | core.hooksPath is unset in this worktree; identical (git config --get core.hooksPath exits 1) in a fresh origin/main worktree. This is a local git-config wiring gap the PR does not touch. |
| behavior-parallel | pass | — | — |
| behavior-serial | fail | see below | 2 failing test files, both pre-existing |
| behavior-herdr | unavailable | could not check — host tool version, not code | bin/fm-install-herdr.sh pins Herdr 0.7.4; this host has 0.8.0 installed. Declared pin is untouched by this branch (confirmed via git diff vs origin/main). |
behavior-serial failing tests, both independently reproduced on a fresh origin/main worktree — pre-existing, not introduced by this branch:
-
tests/fm-backend-herdr-focus-flash-e2e.test.sh—not ok - the Part C doomed pane never acquired a stable persistent sleep child process- Live e2e test against the real installed Herdr binary (0.8.0), not the 0.7.4 this suite is verified against.
- Proof:
bash tests/fm-backend-herdr-focus-flash-e2e.test.shrun from a cleanorigin/mainworktree (ec9e954) produces the identicalnot okline andexit=1.
-
tests/fm-teardown.test.sh—not ok - leaked-process-reap: leaked worktree process survived teardown- This specific case (
test_leaked_worktree_process_is_reaped) runs teardown's real leak-detection path (nolsofstub), which needs the actuallsofbinary to find the worktree-rooted leaked process by cwd.lsofis not installed on this host (which lsof→ exit 1). - Note: a sibling test in the same file,
test_lsof_absent_reaps_tmux_process_group, explicitly covers the missing-lsof fallback path and passes — the fallback works, but this particular case doesn't route through it. - Proof:
bash tests/fm-teardown.test.shrun from the same cleanorigin/mainworktree produces the identicalnot okline andexit=1.
- This specific case (
Third previously-named failure (a lock test that only fails when a second suite runs concurrently on the same workstation): not observed in either single-suite run performed for this task (the rebased-branch run or the origin/main baseline run) — consistent with its documented trigger, which requires a second concurrent suite and did not occur here. Not deliberately reproduced: forcing a concurrent collision on this shared machine risks interfering with other lanes currently running here (visible via git worktree list), and doing so isn't required to classify this branch's own result. Flagging as could not independently confirm or refute this run rather than carrying it forward unverified.
No failure is introduced by this branch. Every failing or unavailable check is either a host-environment gap (lsof missing, Herdr version, hooks not wired) or reproduces byte-identically on a clean origin/main worktree.
Verdict
MERGE — the gate is red only for reasons entirely outside this branch's diff (host tooling gaps and a Herdr version mismatch, all reproduced on origin/main); this branch's own change introduces zero new failures. Firstmate/captain merges per standing authority — this comment does not merge anything.
|
|
|
|
|
|
…henguid#9) * fix(bin): strip record annotations from markdown backlog titles The markdown-backlog path only removed annotation groups anchored at the end of the row, so a row with any text after its annotations kept the raw bookkeeping tokens inside the emitted title while the sibling fields parsed correctly. Strip known annotation groups wherever they appear in the row instead, and trim the result so the existing end-anchored title-artifact rules still match. Field parsing is unchanged, so the annotations' meaning is preserved in repo, kind, priority, hold, blocker, and date fields. * no-mistakes: apply CI fixes (cherry picked from commit 8ec5973)
… telemetry (#9) * feat(gate): round cap at 3 with a severity escape and a rolling deferral issue Updates the stale cross-references in tests/fm-brief.test.sh that asserted the old two-round convergence text, since fm-dod-lib.sh is the one owner of that contract and fm-brief.test.sh exercises it directly. * feat(lanes): one surface per lane, worker-side size check, lane size in telemetry fm-pr-check.sh is the script that durably records a task's PR URL (no fm-pr-register.sh exists); the lane-size record call lands there. * no-mistakes(review): {"summary": "Make severity, not category, sole criterion for round-3 defer rule"} * no-mistakes(document): Document new lane-size target/cap/telemetry feature in owner docs * no-mistakes(ci): Root cause: the PR's new `tests/fm-diff-size.test.sh` imported `~/.claude/telemetry/store.py` (a personal harness file living outside the git repo, on the owner's machine) to build its sqlite schema. On a fresh CI checkout that path doesn't exist, so the `import store` step fails, and the test aborts before exercising `fm-lane-size-record.sh` at all — this is exactly the "unclassified" family failure (count=2, failed=1, 1.15s) buried in the "Behavior portable serial 4" run, since the test never reached its `ok -` lines for the telemetry-record assertions. Fix: replaced the `sys.path.insert(...); import store` call with an inline `CREATE TABLE IF NOT EXISTS lanes (...)` matching the one table `fm-lane-size-record.sh` writes to, so the test is self-contained and no longer depends on host-specific state. Verified: `bash tests/fm-diff-size.test.sh` passes (exit 0, all 10 assertions "ok"), and re-ran it (plus the other newly-added, previously-unclassified tests `fm-dod-round-cap.test.sh`, `fm-dod-wait.test.sh`, `fm-nm-state-condition.test.sh`) under a synthetic empty `$HOME` to confirm no other hidden dependency on `~/.claude` — all pass cleanly, confirming the fix and ruling out similar issues in the sibling new tests --------- Co-authored-by: NewAiCoder <170579485+NewAiCoder@users.noreply.github.com>
Intent
Encode two structural supervision rules into AGENTS.md for the firstmate orchestrator template. Section 1 should explicitly say firstmate delegates changes to shared firstmate-repo material such as AGENTS.md, bin, workflows, and skills to a crewmate while any fleet is live, while preserving direct self-edits when the fleet is empty and preserving firstmate ownership of operational fleet state. Section 8 should state that while any task is in flight, firstmate must not run long foreground-blocking operations such as its own no-mistakes pipeline or long builds, and must background such work so watcher wakes can interleave and supervision remains responsive. This is a documentation-only change that should touch AGENTS.md only, match the terse one-sentence-per-line voice, and avoid touching scripts.
What Changed
Risk Assessment
✅ Low: Documentation-only change scoped to AGENTS.md that directly encodes the requested supervision constraints without altering executable behavior.
Testing
Checked the baseline-to-target diff, confirmed only AGENTS.md changed, manually verified the added documentation covers live-fleet delegation, empty-fleet direct edits, operational fleet state ownership, and non-blocking supervision during in-flight work, captured the documentation diff as evidence, and confirmed testing left the worktree clean.
Evidence: AGENTS.md supervision rules diff
Shows the exact user-facing documentation additions in Section 1 and Section 8.Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
✅ **Test** - passed
✅ No issues found.
git diff --stat 0cfbc844d587bcdc41cc17a26b934cff45540bb6..17f2dc37b62501f2ec0fefa4cbdbbeff84fc9a39git diff --name-only 0cfbc844d587bcdc41cc17a26b934cff45540bb6..17f2dc37b62501f2ec0fefa4cbdbbeff84fc9a39git diff --unified=80 0cfbc844d587bcdc41cc17a26b934cff45540bb6..17f2dc37b62501f2ec0fefa4cbdbbeff84fc9a39 -- AGENTS.mdgrepsearch forOperational fleet state|When one or more crewmates are in flight|When the fleet is empty|foreground-blocking|Background that workinAGENTS.mdCaptured reviewer-visible documentation diff to/var/folders/5x/4nqprlbx0518k3ybcb1sz6gr0000gn/T/no-mistakes-evidence/01KTYVYRWAAXPEVQ135ESNETBV/agents-supervision-rules.diffgit status --short✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.