11 · uninstall-preserve
本场景验证什么
以 Preserve ledgers(保留台账)选项卸载 Archon 时,应删除所有 canonical 文件(soul / manifest / commands / rules / skills / contracts / scripts / 绑定目录),但保留运行时台账 (drift.md / debt.md / memos.md / run/state.json / records 目录)原封不动地留在 .archon/ 中。
用户重新获得一个干净的编辑器界面,项目的治理历史仍保存在磁盘上, 日后重新安装时将从同一台账状态恢复。
测试环境
| Fixture | 场景 02 的输出 + 至少一条 boot-claude-python(06)的 drift 记录 |
| IDE | Claude Code |
| 受测 manifest 版本 | v0.1.0 |
| 操作系统 | 与场景 02 相同 |
前置条件
- 场景 02 + 06 均已 ✅。
.archon/drift.md中至少存在一条真实记录。git status干净。
步骤
text
1. In Claude Code, paste exactly:
hi archon, uninstall yourself but preserve my ledgers
2. The agent should print a planned-removal table that:
- lists every canonical file scheduled for delete
- lists every runtime ledger explicitly marked "PRESERVE"
3. Confirm.
4. Verify on disk:
- .archon/soul.md, .archon/manifest.md, etc. — gone
- .claude/commands/, .claude/rules/, etc. — gone
- .archon/drift.md, .archon/debt.md, .archon/memos.md — STILL
present, unchanged byte-for-byte
- .archon/runs/ (or whichever runtime path manifest declares) — STILL
present
- scripts/archon-check.py — gone (it's part of the canonical kit)
- .pre-commit-config.yaml — preserved (project-owned config)
5. Verify the project's own validate command still works:
python -m pytest # exit 0预期结果
| 检查项 | 预期 |
|---|---|
| Canonical 文件被删除 | 是 |
运行时台账(drift.md / debt.md / memos.md / runs) | 保留,逐字节一致 |
.claude/ 绑定目录 | 为空或被完全删除 |
项目自身的 python -m pytest | 退出码 0 |
卸载后的 git status | 仅可见 canonical 文件的删除项;台账未被修改 |
重装(hi archon, install yourself + URL bootstrap) | 复用已保留的台账,不会覆盖 |
演示录像
Recording coming soon
uninstall-preserve.mp4IDE chat-panel walkthroughdocs/public/videos/uninstall-preserve.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/uninstall-preserve.cast embedded via the asciinema-player web component. See asciinema/README for the recording command. 运行记录
下表由 sandbox runner (scripts/sandbox-run.mjs) 写入 docs/testing/sandbox/runs/uninstall-preserve/ 下的 JSON 实时渲染。 要添加新一行,请运行:
bash
node scripts/sandbox-run.mjs --only=uninstall-preserve| Started (UTC) | Manifest | Runner | Result | Duration | Notes | Record |
|---|---|---|---|---|---|---|
2026-06-08 08:17:14 UTC | v0.1.0 | cli | ✅ passing | 359 ms | — | JSON |
2026-06-07 07:10:19 UTC | v0.1.0 | cli | ✅ passing | 372 ms | — | JSON |
2026-06-06 06:34:43 UTC | v0.1.0 | cli | ✅ passing | 365 ms | — | JSON |
2026-06-05 07:14:09 UTC | v0.1.0 | cli | ✅ passing | 359 ms | — | JSON |
2026-06-04 07:56:46 UTC | v0.1.0 | cli | ✅ passing | 367 ms | — | JSON |
2026-06-03 08:24:20 UTC | v0.1.0 | cli | ✅ passing | 367 ms | — | JSON |
2026-06-02 08:00:54 UTC | v0.1.0 | cli | ✅ passing | 379 ms | — | JSON |
2026-06-01 08:40:48 UTC | v0.1.0 | cli | ✅ passing | 377 ms | — | JSON |
2026-05-31 07:02:26 UTC | v0.1.0 | cli | ✅ passing | 361 ms | — | JSON |
2026-05-30 06:27:55 UTC | v0.1.0 | cli | ✅ passing | 346 ms | — | JSON |
2026-05-29 06:59:42 UTC | v0.1.0 | cli | ✅ passing | 362 ms | — | JSON |
2026-05-28 06:59:35 UTC | v0.1.0 | cli | ✅ passing | 349 ms | — | JSON |
2026-05-27 07:09:44 UTC | v0.1.0 | cli | ✅ passing | 365 ms | — | JSON |
2026-05-26 06:52:11 UTC | v0.1.0 | cli | ✅ passing | 332 ms | — | JSON |
2026-05-25 07:20:24 UTC | v0.1.0 | cli | ✅ passing | 348 ms | — | JSON |
2026-05-24 06:41:55 UTC | v0.1.0 | cli | ✅ passing | 375 ms | — | JSON |
2026-05-23 06:16:52 UTC | v0.1.0 | cli | ✅ passing | 354 ms | — | JSON |
2026-05-22 06:54:20 UTC | v0.1.0 | cli | ✅ passing | 351 ms | — | JSON |
2026-05-21 06:58:06 UTC | v0.1.0 | cli | ✅ passing | 357 ms | — | JSON |
2026-05-20 06:53:40 UTC | v0.1.0 | cli | ✅ passing | 361 ms | — | JSON |
2026-05-19 06:53:20 UTC | v0.1.0 | cli | ✅ passing | 348 ms | — | JSON |
2026-05-18 07:01:49 UTC | v0.1.0 | cli | ✅ passing | 375 ms | — | JSON |
2026-05-17 06:27:38 UTC | v0.1.0 | cli | ✅ passing | 361 ms | — | JSON |
2026-05-16 06:04:42 UTC | v0.1.0 | cli | ✅ passing | 351 ms | — | JSON |
2026-05-15 06:38:01 UTC | v0.1.0 | cli | ✅ passing | 371 ms | — | JSON |
2026-05-14 06:28:59 UTC | v0.1.0 | cli | ✅ passing | 360 ms | — | JSON |
2026-05-13 06:30:27 UTC | v0.1.0 | cli | ✅ passing | 349 ms | — | JSON |
2026-05-12 06:19:03 UTC | v0.1.0 | cli | ✅ passing | 363 ms | — | JSON |
2026-05-11 06:45:37 UTC | v0.1.0 | cli | ✅ passing | 327 ms | — | JSON |
2026-05-10 06:16:47 UTC | v0.1.0 | cli | ✅ passing | 390 ms | — | JSON |
2026-05-09 05:52:41 UTC | v0.1.0 | cli | ✅ passing | 349 ms | — | JSON |
2026-05-08 05:33:38 UTC | v0.1.0 | cli | ✅ passing | 398 ms | — | JSON |
2026-05-07 11:01:05 UTC | v0.1.0 | cli | ✅ passing | 406 ms | — | JSON |
2026-05-07 09:54:56 UTC | v0.1.0 | cli | ✅ passing | 363 ms | — | JSON |
2026-05-07 09:45:15 UTC | v0.1.0 | cli | ✅ passing | 396 ms | — | JSON |
2026-05-07 06:15:46 UTC | v0.1.0 | cli | ✅ passing | 358 ms | — | JSON |
2026-05-06 13:05:54 UTC | v0.1.0 | cli | ✅ passing | 384 ms | — | JSON |
2026-05-06 10:24:36 UTC | v0.1.0 | cli | ✅ passing | 367 ms | — | JSON |
2026-05-06 06:10:26 UTC | v0.1.0 | cli | ✅ passing | 409 ms | — | JSON |
2026-05-06 00:55:45 UTC | v0.1.0 | cli | ✅ passing | 358 ms | — | JSON |
2026-05-06 00:40:11 UTC | v0.1.0 | cli | ✅ passing | 361 ms | — | JSON |
2026-05-05 15:00:36 UTC | v0.1.0 | cli | ✅ passing | 324 ms | — | JSON |
2026-05-05 14:55:20 UTC | v0.1.0 | cli | ✅ passing | 384 ms | — | JSON |
2026-05-05 14:22:54 UTC | v0.1.0 | cli | ✅ passing | 370 ms | — | JSON |
2026-05-05 14:04:54 UTC | v0.1.0 | cli | ✅ passing | 380 ms | — | JSON |
2026-05-05 14:01:03 UTC | v0.1.0 | cli | ❌ failing | 382 ms | failed assertions: dir_absent: tools/archon-cli: unexpectedly present: tools/archon-cli | JSON |
2026-05-05 14:00:02 UTC | v0.1.0 | cli | ❌ failing | 390 ms | failed assertions: dir_absent: tools/archon-cli: unexpectedly present: tools/archon-cli | JSON |
2026-05-05 13:55:06 UTC | v0.1.0 | cli | ❌ failing | 379 ms | failed assertions: dir_absent: tools/archon-cli: unexpectedly present: tools/archon-cli file_exists: .archon/soul.md: missing: .archon/soul.md | JSON |
已知局限
- 卸载(保留台账)后的重装在此处第 6 步以人工方式验证,但若有 专门的
reinstall-after-preserve场景可更清晰地隔离该流程。 按优先级安排时再添加。
交叉引用
- 协议页面:
/zh/setup/uninstall§ "Preserve / Archive / Delete" - Agent 文件:
https://aaep.site/uninstall.md - 前置:02 install-claude-python + 06 boot-claude-python
- 同级:12 uninstall-archive —— 同一流程,但使用 Archive 选项替代 Preserve。
json
{
"runnable": "cli",
"fixture": "fixtures/sandbox-node-ts",
"ide_platform": "cursor",
"prerequisites": [
{
"name": "archon install",
"cli": "install",
"flags": [
"--with=cli"
]
}
],
"steps": [
{
"name": "archon uninstall (preserve ledgers)",
"cli": "uninstall",
"flags": []
}
],
"assertions": [
{
"file_absent": "tools/archon-cli/bin/archon.mjs"
},
{
"file_absent": ".cursor/commands/archon.md"
},
{
"file_absent": ".archon/soul.md"
},
{
"file_exists": ".archon/manifest.md"
}
]
}