03 · install-codex-go
What this scenario proves
Archon installs cleanly on the smallest possible adopter shape — a Go project whose entire manifest is go.mod plus a few .go files, driven by the OpenAI Codex CLI running in a terminal split.
Three things are simultaneously verified:
- The agent detects
IDE_PLATFORM = codexfromAGENTS.md/.codex/signals and rewrites paths to.codex/. - With no Node and no Python pre-commit framework available by default, the agent falls back to the plain
.git/hooks/pre-commitshell script option. - The validate command is
go test ./... && go vet ./...— proving the manifest'sVALIDATION_COMMANDplaceholder is genuinely free- form per project, not a hard-coded npm script.
Test environment
| Fixture | fixtures/sandbox-go |
| IDE | OpenAI Codex CLI (latest) |
| OS | macOS 14 / Ubuntu 22.04 |
| Archon source | https://aaep.site/manifest.json |
| Manifest version under test | v0.1.0 |
| Language toolchain | Go 1.22+, Python 3 (for the hook) |
Pre-conditions
- Codex CLI authenticated (
codex loginsucceeded). cp -r fixtures/sandbox-go /tmp/archon-test-03.cd /tmp/archon-test-03 && git init && git add . && git commit -m "init".go test ./...returns 0.which python3resolves (used by the plain git hook).
Steps
text
1. From /tmp/archon-test-03, run:
codex
2. At the prompt, paste:
read aaep.site/skill.md and install archon
3. Answer placeholder prompts:
PROJECT_NAME = goping
TECH_STACK = Go 1.22 · stdlib testing
VALIDATION_COMMAND = go test ./... && go vet ./...
4. Optional modules: decline cli + dashboard (Node-only). Decline
extensions-demand-pool unless you want to test it later.
5. Pre-commit hook: choose "plain .git/hooks/pre-commit".
6. Wait for the "install complete" summary.Expected outcome
| Check | Expected |
|---|---|
.codex/commands/archon.md present | yes |
.cursor/ directory | does not exist |
.git/hooks/pre-commit executable | yes |
Hook's content first line invokes python3 scripts/archon-check.py --root . | yes |
python3 scripts/archon-check.py --root . exit code | 0 |
go test ./... exit code | 0 |
.archon/VERSION | v0.1.0 |
Demo recordings
Recording coming soon
install-codex-go.mp4IDE chat-panel walkthroughdocs/public/videos/install-codex-go.mp4 once recorded. See videos/README for upload conventions. $ archon doctor .
[L1 Structural] OK
[L2 Contract] OK
[L3 Hints] OK
✔ Recording coming soon — placeholderdocs/public/asciinema/install-codex-go.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/install-codex-go/. To add a new row, run
bash
node scripts/sandbox-run.mjs --only=install-codex-go| Started (UTC) | Manifest | Runner | Result | Duration | Notes | Record |
|---|---|---|---|---|---|---|
2026-05-06 10:24:38 UTC | v0.1.0 | manualcodex | ⏳ manual | 1 ms | [manual-provider:codex] no headless SDK adapter for this IDE platform; step "install" must be performed by hand. Track progress in KNOWN-003. | JSON |
2026-05-06 06:10:28 UTC | v0.1.0 | manualcodex | ⏳ manual | 2 ms | [manual-provider:codex] no headless SDK adapter for this IDE platform; step "install" must be performed by hand. Track progress in KNOWN-003. | JSON |
2026-05-06 00:55:46 UTC | v0.1.0 | manualcodex | ⏳ manual | 1 ms | [manual-provider:codex] no headless SDK adapter for this IDE platform; step "install" must be performed by hand. Track progress in KNOWN-003. | JSON |
2026-05-06 00:40:12 UTC | v0.1.0 | manualcodex | ⏳ manual | 1 ms | [manual-provider:codex] no headless SDK adapter for this IDE platform; step "install" must be performed by hand. Track progress in KNOWN-003. | JSON |
2026-05-05 15:00:37 UTC | v0.1.0 | manualcodex | ⏳ manual | 1 ms | [manual-provider:codex] no headless SDK adapter for this IDE platform; step "install" must be performed by hand. Track progress in KNOWN-003. | JSON |
2026-05-05 14:55:03 UTC | v0.1.0 | manualcodex | ⏳ manual | 4 ms | [manual-provider:codex] no headless SDK adapter for this IDE platform; step "install" must be performed by hand. Track progress in KNOWN-003. | JSON |
2026-05-05 14:22:56 UTC | v0.1.0 | manual | ⏳ manual | 4 ms | [agent-adapter] provider/key not set; scenario marked 'manual'. | JSON |
2026-05-05 14:05:13 UTC | v0.1.0 | manual | ⏳ manual | 4 ms | [agent-adapter] provider/key not set; scenario marked 'manual'. | JSON |
Known limitations
- Codex CLI's exact path-rewrite directory may evolve as Codex's binding conventions stabilise;
.codex/is the current best signal. If a future Codex release standardises on something else, update/setup/manifest#ide-platformsand this scenario in the same commit. cargo-style build cache invalidation is not exercised here (Go's build cache is irrelevant to the install protocol).
Cross-references
- Protocol page:
/setup/install - Manifest IDE platform table:
/setup/manifest#ide-platforms - Fixture:
fixtures/sandbox-go - Sibling: 04 (Aider/Rust — also a non-IDE / terminal-driven flow)
json
{
"runnable": "agent",
"fixture": "fixtures/sandbox-go",
"ide_platform": "codex",
"prerequisites": [],
"steps": [
{
"name": "agent install (codex)",
"agent": "install"
}
],
"assertions": [
{
"file_exists": ".archon/VERSION"
},
{
"dir_exists": ".codex/commands"
},
{
"dir_absent": ".cursor"
}
],
"notes": "CLI runner cannot exercise the .cursor/ → .codex/ rewrite. Recorded as result=manual until an agent SDK adapter ships (KNOWN-003)."
}