📝 Headless forks Phase 1 fix pass: Athanor check and deferred Minors
This commit is contained in:
@@ -230,3 +230,21 @@ Gate after 1.1 (Athanor, 12:29): G-unit `Ran 52 tests … OK`, exit 0; G-where e
|
||||
- I1: the text patterns are a heuristic over `result`/`error`/`errors`; the status code wins when present. A result with `is_error: false` and no `api_error_status` is never classified.
|
||||
- M9: an empty `ANTHROPIC_BASE_URL` counts as "set, not default" and warns.
|
||||
- Commits: `7b9b748` (code and tests), then this note's commit.
|
||||
|
||||
### Phase 1 fix pass — Athanor check and deferred Minors
|
||||
|
||||
- Athanor `claude-opus-5-5[1m]`, 2026-10-16 16:28 +0200 (`date`). Fixer: fresh general-purpose agent, `opus` alias, stamped `claude-opus-5-5[1m]`, 258,611 subagent tokens (harness total).
|
||||
- Gates re-run by the Athanor: G-unit exit 0, `Ran 86 tests in 67.444s`, OK; G-where exit 0, one JSON object, `ok: true`, `warnings: []`. Leftover processes by command line (`_supervise`, the tests' temp prefix, `smoke1`): none.
|
||||
- Diff check of `20b049e..7b9b748` on `tests/test_forks.py`: one removed assertion line, `scrub_unknown(...) == ["ANTHROPIC_BASE_URL", "CLAUDE_CODE_NEW_THING"]`, replaced by `== ["CLAUDE_CODE_NEW_THING"]`; that is M9's specified change. The lock tests were renamed or rebased on the new staleness rule, which is M2's specified change. No other assertion was removed or loosened.
|
||||
- Deferred Minors (not fixed in this pass; coordinator's instruction):
|
||||
- **M6** (runtime fingerprint ignores `skills`, versionless plugins): drift detection is Phase 2 work (`rebase_due`/`retrain_due` inputs); fix it there with the drift reasons.
|
||||
- **M7** (per-run `mcp-empty.json` path in the hash): no cache effect; hash content instead of path when the trial needs cross-run comparison (Phase 5).
|
||||
- **M8** (visible-window unit check is tree-scoped, no positive control, fails without a desktop): the smoke used the global detector; widen the unit check in Phase 2's test pass.
|
||||
- **M10** (`train` refuses launch-field overrides; plan §4.3 allows them): a contract decision for the Phase 2 plan (`retrain_due` needs an input path); not a Phase 1 defect.
|
||||
- **M11** (note detection by existence only): low impact; compare mtime against job start in Phase 2.
|
||||
- **M12** (`kill` report shapes `killed:true,status:ok` and `ok:false` with exit 0): Phase 3 text keys on `ok` and `status`.
|
||||
- **M13** (Git Bash `/tmp`-style paths land on the cwd's drive): the Athanor always passes drive-form paths; `cygpath` or refusal in Phase 2.
|
||||
- **M14** (POSIX kill misses `claude`; no `/proc` on macOS): POSIX is out of the tested scope; SKILL.md says "Windows-tested, POSIX untested" (Phase 3).
|
||||
- **M15** (C8 admission is the union of three files; untrusted dirs untested): SKILL.md records "permissive at init, enforced at runtime" (Phase 3); the runtime warning check backstops it.
|
||||
- **M16** (two meanings of `turns`; post-exit sweep breadth; `continue` brief without frame): rename the job-file field in Phase 2; the other two are Phase 3 text.
|
||||
- Status: fix pass done; re-check of I1–I3 by a fresh reviewer is Igor's call.
|
||||
|
||||
Reference in New Issue
Block a user