Skip to content

06 · boot-claude-python

What this scenario proves

The boot flow (wake rule + first demand) works identically on Claude Code + Python — i.e. nothing in the cognitive loop secretly assumed Cursor or Node. Specifically:

  1. The Claude wake rule loads on session start, no URL needed.
  2. The delivery loop produces a Python source change with a passing pytest result.
  3. The drift log row uses the same shape as scenario 05 (proving the row template is platform-neutral).

Test environment

Fixtureoutput of scenario 02 (/tmp/archon-test-02, post-install)
IDEClaude Code
OSsame as scenario 02
Archon sourcelocal
Manifest version under testv0.1.0

Pre-conditions

  1. Scenario 02 ran successfully and the run record is ✅.
  2. Claude Code was fully closed and reopened on the same project.

Steps

text
1. With Claude Code reopened on /tmp/archon-test-02, in the chat panel
   paste exactly (no URL):
     hi archon, add a multiply(a, b) function to calculator.py with
     tests for both positive and negative inputs
2. Confirm any Plan-mode prompt the agent raises.
3. Watch it edit src/calculator.py + tests/test_calculator.py and run
   pytest.
4. Confirm close-out summary appears.

Expected outcome

CheckExpected
Agent accepts the URL-less hi archon, ... invocationyes
src/calculator.py has multiply with type hintsyes
tests/test_calculator.py covers positive + negative casesyes
python -m pytest exit code0
.archon/drift.md has a new rowyes
Files modified outside src/, tests/, .archon/drift.md0

Demo recordings

Will be replaced by docs/public/videos/boot-claude-python.mp4 once recorded. See videos/README for upload conventions.
Will be replaced by docs/public/asciinema/boot-claude-python.cast embedded via the asciinema-player web component. See asciinema/README for the recording command.

Run records

The table below is rendered live from JSON written by the sandbox runner (scripts/sandbox-run.mjs) under docs/testing/sandbox/runs/boot-claude-python/. To add a new row, run

bash
node scripts/sandbox-run.mjs --only=boot-claude-python
Started (UTC)ManifestRunnerResultDurationNotesRecord
2026-05-06 10:24:38 UTCv0.1.0manualclaude⏳ manual222 ms[manual-provider:claude] no headless SDK adapter for this IDE platform; step "boot" must be performed by hand. Track progress in KNOWN-003.JSON
2026-05-06 06:10:27 UTCv0.1.0manualclaude⏳ manual236 ms[manual-provider:claude] no headless SDK adapter for this IDE platform; step "boot" must be performed by hand. Track progress in KNOWN-003.JSON
2026-05-06 00:55:46 UTCv0.1.0manualclaude⏳ manual215 ms[manual-provider:claude] no headless SDK adapter for this IDE platform; step "boot" must be performed by hand. Track progress in KNOWN-003.JSON
2026-05-06 00:40:12 UTCv0.1.0manualclaude⏳ manual245 ms[manual-provider:claude] no headless SDK adapter for this IDE platform; step "boot" must be performed by hand. Track progress in KNOWN-003.JSON
2026-05-05 15:00:37 UTCv0.1.0manualclaude⏳ manual202 ms[manual-provider:claude] no headless SDK adapter for this IDE platform; step "boot" must be performed by hand. Track progress in KNOWN-003.JSON
2026-05-05 14:55:03 UTCv0.1.0manualclaude⏳ manual276 ms[manual-provider:claude] no headless SDK adapter for this IDE platform; step "boot" must be performed by hand. Track progress in KNOWN-003.JSON
2026-05-05 14:22:56 UTCv0.1.0manual⏳ manual225 ms[agent-adapter] provider/key not set; scenario marked 'manual'.JSON
2026-05-05 14:05:12 UTCv0.1.0manual⏳ manual280 ms[agent-adapter] provider/key not set; scenario marked 'manual'.JSON

Known limitations

  • Same caveat as scenario 05: Claude Code rule reload on cold start is a UI behaviour, not a file-state assertion.

Cross-references

json
{
  "runnable": "agent",
  "fixture": "fixtures/sandbox-python",
  "ide_platform": "claude",
  "prerequisites": [
    {
      "name": "archon install",
      "cli": "install",
      "flags": [
        "--with=cli"
      ]
    }
  ],
  "steps": [
    {
      "name": "agent boot (hi archon, claude code)",
      "agent": "boot"
    }
  ],
  "assertions": [
    {
      "file_exists": ".archon/run.md"
    }
  ],
  "notes": "Boot lifecycle is agent-only. Recorded as result=manual until an agent SDK adapter ships (KNOWN-003)."
}

Released under the Apache-2.0 License.