User feedback from the first sandbox run (send_result_to_send_20260616,
2026-06-17) identified 6 conventions Tier 2 must follow. Update the agent
prompt template, slash command template, user guide, and workflow doc:
1. Test runner: ALWAYS use 'uv run python scripts/run_tests_batched.py'
(NOT 'uv run pytest'). The batched runner provides tier filtering,
parallelization (xdist), and a summary table that direct pytest lacks.
2. Default branch: this repo uses 'master', not 'main'. The Tier 2 slash
command now does 'git fetch origin master' (was 'origin main').
3. Line endings: preserve existing. This repo has a mix of CRLF and LF;
a repo-wide LF standardization is a future track.
4. Throw-away scripts: write to 'scripts/tier2/artifacts/<track>/', NOT
the base 'scripts/tier2/' directory. The base is reserved for
production code; throw-away scripts are kept for archival but
isolated per-track.
5. End-of-track report: write 'docs/reports/TRACK_COMPLETION_<track>.md'
and update 'state.toml' to 'status=completed'. The user reads this
to decide merge. Previously this was implicit; now it's explicit.
6. Run-time expectation: tracks are 1-4 hours. If context runs out, Tier
2 notes progress to disk and continues. The --resume flag picks up
from the last completed task.
Also updated the user guide with a 'Conventions' section and a
troubleshooting entry for the resume flow. The verify-the-sandbox
checklist now uses 'origin master' instead of 'origin main'.
New research track for critical analysis of Anthropic's Claude Fable 5 system prompt. Added as row 25 in the Active Tracks table (Priority B research) and as a section in the new 'Active Research Tracks (2026-06+)' grouping. The companion spec + metadata + state.toml are committed in 058e2c93 and a6114ef9.
Phase 6 tasks (t6_1, t6_2, t6_3) and the phase itself marked completed.
All 16 task entries now have status=completed.
All 6 phase entries now have status=completed.
This is the final state.toml commit for the track.
Track marked shipped 2026-06-17. All 6 verification criteria evaluated
with PASS/EXCEEDED/READY status and notes. 7 pre-existing test failures
documented with root cause and pre_existing_failures_remaining flag.
Risk register updated: scope_creep=none, behavior_change=none,
doc_drift=medium (error_handling.md deprecation section required
surgical rewrite to historical note).
No deferred_to_followup_tracks (this track completed cleanly).
7 phases (init -> 10 parallel cluster dispatches -> 17 synthesis sections -> 3 side artifacts -> self-review -> user review -> register). Each phase has explicit task IDs (t1_1 .. t7_4) for Tier 2 to walk through. current_phase = 0 (spec approved, not started). Hard rule encoded in [meta]: docs/artifacts/Fable System Prompt.txt is NEVER committed.
Critical-analysis track for Anthropic's Claude Fable 5 system prompt (1585 lines, the public 'Mythos' version). 10 cluster sub-reports written by Tier 3 workers in parallel, synthesized by Tier 1 into a 17-section report (>3500 LOC) with 3 side artifacts. T-shirt size: XL. Fable artifact at docs/artifacts/Fable System Prompt.txt is local-only and MUST NOT be committed (per user hard rule). No day estimates (per conductor/workflow.md §Tier 1 Track Initialization Rules).
Final grep: 0 send_result in active code. 3 historical refs in
error_handling.md (intentional, in the 'Historical deprecation' note).
Test verification: 100/101 tests pass in the 26 files renamed by this
track. 1 pre-existing failure in test_headless_service.py due to
missing credentials.toml (verified against origin/master baseline
where it also fails - unrelated to the rename).
Doc consistency: guide_ai_client.md, guide_app_controller.md, and
the error_handling styleguide now reference the new symbol name.
Also fixes two consistency issues in error_handling.md introduced by
the mechanical rename:
1. The 'Deprecation: send -> send_result' section (lines 623-642) was
rewritten as a 'Historical deprecation (added 2026-06-15, reverted
2026-06-16)' note that points to the relevant track specs.
2. Line 204 (the 'Current State Audit' summary for src/ai_client.py)
had a self-contradictory claim ('send() is the new public API;
send() is @deprecated') after the rename. Updated to describe
the canonical public API.
Historical archives (conductor/tracks/*/spec.md, conductor/tracks/*/plan.md,
docs/reports/*) are NOT modified - they document the 2026-06-15
public_api_migration decision and stay as historical record.
The first end-to-end test of the tier2_autonomous_sandbox_20260616
sandbox. Pure mechanical rename: ai_client.send_result to ai_client.send
across 38 active files (6 src/, 29 tests/, 3 current docs). 10 atomic
commits across 5 phases. No behavior change; no new tests; the existing
test suite is the safety net.
Phase structure:
- Phase 1: rename src/ai_client.py (TDD red moment)
- Phase 2: rename 5 other src/ files (batch)
- Phase 3: rename top 5 test files (one commit per file)
- Phase 4: rename 24 remaining test files (batch)
- Phase 5: rename 3 current docs + final verification
- Phase 6: update state + metadata + register in tracks.md
Historical archives (conductor/tracks/*/spec.md, conductor/tracks/*/plan.md,
docs/reports/*) are NOT modified per spec section 7.