Rhizamonitor
live

Run

Import procedure

done ship-change

Steps

  1. build/builddone40m 9s

    Nov 6 15:11 · 6 of 6 leaves passed

  2. build/renderdone3s

    Nov 6 15:11 · exit 0

  3. build/checkdone5s

    Nov 6 15:11 · exit 0

  4. review/codedone13s

    Nov 6 15:11 · exit 0

  5. review/reviewdone4m 48s

    Nov 6 15:16 · 5 of 5 checks passed

  6. review/renderdone3s

    Nov 6 15:16 · exit 0

  7. render-prdone3s

    Nov 6 15:16 · exit 0

  8. open-prdone8s

    Nov 6 15:16 · exit 0

  9. wait-prdone5m 43s

    Nov 6 15:22 · held after 12 checks

  10. pr-greendone1s

    Nov 6 15:22 · exit 0

  11. signoffdone0s

    Nov 6 15:22 · approved by rule autonomous

  12. rebasedone2s

    Nov 6 15:22 · exit 0

  13. wait-rebaseddone1s

    Nov 6 15:22 · held after 1 checks

  14. rebased-greendone1s

    Nov 6 15:22 · exit 0

  15. landfail17s

    Nov 6 15:22 · exit 3 rhiza: cannot ship change set 01M6J36X6EC3E70H0QCW17GREP: it is proposed, not accepted next: rhiza accept

  16. landdone2m 51s

    Nov 6 15:25 · exit 0

  17. wait-landeddone6m 46s

    Nov 6 15:32 · held after 14 checks

  18. landed-greendone1s

    Nov 6 15:32 · exit 0

  19. rebase-mergedone2s

    Nov 6 15:32 · exit 0

  20. wait-rebased-mergedone1s

    Nov 6 15:32 · held after 1 checks

  21. rebased-merge-greendone1s

    Nov 6 15:32 · exit 0

  22. mergedone6s

    Nov 6 15:32 · exit 0

  23. wait-maindone1s

    Nov 6 15:32 · held after 1 checks

  24. main-greendone1s

    Nov 6 15:32 · exit 0

  25. close-outdone7s

    Nov 6 15:32 · exit 0

  26. shipdone16s

    Nov 6 15:33 · exit 0

Review

compliance passed

  • nit The acceptance asks for one draft change set naming the Source; change ls also lists 'draft record: Record the plan', and the script's separate stdout 'Build the export' / stdout 'draft' would pass even if the intention were not draft. Matching '^- \S+ draft intention: Build the export' would pin it. cmd/rhiza/testdata/script/import-unbuilt-as-drafts.txtar:17

quality passed

  • major The script adds the Source in a 'Record the plan' --kind record change set it never lands, so it ends with two draft change sets (draft record 'Record the plan' and draft intention 'Build the export'; confirmed by replaying the steps with the built binary). The assertion `stdout 'draft'` does not count them, so the test passes while the acceptance's 'ends with one draft change set' is false. Land the record change set (or add the Source another way) and assert exactly one draft, e.g. `stdout -count=1 'draft'`. cmd/rhiza/testdata/script/import-unbuilt-as-drafts.txtar:12 dropped
  • minor `stdout 'Sources: 01'` matches any ULID, so it does not check that the draft names plan-md; compare to the Source's ID from `rhiza show plan-md --json`. cmd/rhiza/testdata/script/import-unbuilt-as-drafts.txtar:17
  • minor The guide's step 3 says `rhiza apply <file> --record --json` per area with capabilities under a parent and linked to tests as evidence, but the script uses one `rhiza add capability --record` per capability, no parent and no evidence link, so the documented command form is never exercised (it does work by hand). cmd/rhiza/testdata/script/import-records-built.txtar:15
  • nit 'Run it at the root; commit `.rhiza/` first.' reads as committing before running init; say 'then commit `.rhiza/` before the next step'. internal/guide/text/import.md:11
  • nit The edited line runs past the paragraph's ~90-column wrap; rewrap. internal/guide/text/rhiza.md:157

qa passed

  • minor 'each `decided-by` its capability' reads as decision decided-by capability; following it hands-on, `rhiza link keep-in-ram decided-by store` fails ('link type "decided-by" does not go from decision to capability'); the working form is `rhiza link <capability> decided-by <decision>`. Show the command as the other steps do. internal/guide/text/import.md:36
  • nit `rhiza apply <file> --record` names each area's record change set 'apply <absolute file path>' in change ls, so areas are not named by area; the topic could say to name the file after the area or give an intent. internal/guide/text/import.md:22
  • nit 'Link a capability to its tests as evidence' gives no command or Evidence form (result, verifies link), unlike the other rules; an importing agent has to guess. internal/guide/text/import.md:32

scope passed

No findings.

model passed

  • minor Decision import-load-bearing-decisions says decisions that are not load-bearing are summarised in the decisions document's Source. Step 4 only says 'leave the rest'. Neither the topic nor the capability statement says to summarise them in that Source, so the model's decision is not fully reflected in the procedure. internal/guide/text/import.md:37
  • nit Decision import-retires-planning-docs lists decisions.md (and plans/agent config) among the documents to retire. Step 5's retire list names only PLAN, roadmap, TODO and design note, so a decisions document is only retired implicitly, through step 4's 'its document's Source'. internal/guide/text/import.md:47

Log

log · tail
- merge (visit 1): pass, then wait-main: exit 0
- wait-main (visit 1): pass, then main-green: held after 1 checks
- main-green (visit 1): pass, then close-out: exit 0
- close-out (visit 1): pass, then ship: exit 0
- ship (visit 1): pass, then end: exit 0

## Leaves

- import-guide-topic (step build/build): passed: attempt 1: verifier passed
  - attempt 1 builder, session 5b6e045f-8428-4de0-be73-01a1b1458e96: pass (said done)
  - attempt 1 verifier, session c01c241e-3458-4ce6-8b1d-01a1b147b012: pass (Evidence written by the verifier)
- import-records-built (step build/build): passed: attempt 1: verifier passed
  - attempt 1 builder, session d37aab0d-4f7e-4166-8620-01a1b147d4b2: pass (said done)
  - attempt 1 verifier, session e27e0411-8b39-4be9-a529-01a1b1495b0d: pass (Evidence written by the verifier)
- import-autonomous-decisions (step build/build): passed: attempt 1: verifier passed
  - attempt 1 builder, session d4e66863-2323-4712-8c05-01a1b1498901: pass (said done)
  - attempt 1 verifier, session 2eeb6b9b-2afd-4aaa-b1f4-01a1b14b0e18: pass (Evidence written by the verifier)
- import-retires-docs (step build/build): passed: attempt 2: verifier passed
  - attempt 1 builder, session 1514b502-d0e4-4a60-9ba8-01a1b14b3487: pass (said done)
  - attempt 1 verifier, session ae95de0a-a5f6-46a7-a49b-01a1b14d4306: fail (verifier found 1 problem(s))
  - attempt 2 builder, session a16d1ca2-82b2-447d-84e4-01a1b159456c: pass (said done)
  - attempt 2 verifier, session 3ca7c797-bd4a-4364-bf41-01a1b16556df: pass (Evidence written by the verifier)
  - attempt 1 finding f1: Acceptance requires the fixture PLAN.md to be deleted in the same commit as the Source is added. cmd/rhiza/testdata/script/import-retires-docs.txtar never uses git: it runs `rhiza source add ... --raw PLAN.md` and then a plain testscript `rm PLAN.md`, with no git init/add/commit. Nothing checks that one commit both adds the Source's log records and removes PLAN.md (for example, `git rm PLAN.md` plus the .rhiza/log records committed together, then `git show --name-status HEAD` showing `D PLAN.md` alongside the source records). Ran: go test -trimpath ./cmd/rhiza -run TestScripts/import-retires-docs -v (PASS), and grep -n git on the script found no matches. The guide-text checks (`rhiza guide import` names retired vs kept documents) and the source add --raw / rhiza check ok / fold-ok steps do pass.
- import-unbuilt-as-drafts (step build/build): passed: attempt 1: verifier passed
  - attempt 1 builder, session 1093a28d-dd83-41bc-854f-01a1b14d7b6d: pass (said done)
  - attempt 1 verifier, session 483c1206-55c5-46e2-baf8-01a1b1591f53: pass (Evidence written by the verifier)
- import-friction-recorded (step build/build): passed: attempt 2: verifier passed
  - attempt 1 builder, session dbe76541-edb3-45b4-a098-01a1b1658b85: pass (said done)
  - attempt 1 verifier, session 13507cdd-a116-414b-a84f-01a1b166d007: fail (verifier found 1 problem(s))
  - attempt 2 builder, session bd034a9d-00dc-4c94-a751-01a1b167c894: pass (said done)
  - attempt 2 verifier, session 8bd25498-19f4-40f6-9c95-01a1b1693c4f: pass (Evidence written by the verifier)
  - attempt 1 finding f1: `go test -trimpath ./internal/guide/...` fails at 5dd1ab82 (passes at its parent): TestCaps reports 'import: 3632 bytes is 908 tokens, over the cap of 800'. The new '## Record friction' section in internal/guide/text/import.md grew the topic from 3183 to 3632 bytes, past its 800-token cap. The rule and question form must fit in the cap: tighten the section or other import text. The testscript (go test -trimpath ./cmd/rhiza -run TestScripts/import-friction-recorded) itself passes, and the topic does state the rule and the form.

## Checks

- compliance (step review/review): passed after 1 cycle
  - cycle 1: passed, check session 3d44cd33-7c91-4465-bb9f-01a1b16a9e33 pass (said done)
  - round 1 (cycle 1): 1 finding, 0 confirmed
    - f1 nit at cmd/rhiza/testdata/script/import-unbuilt-as-drafts.txtar:17 on import-unbuilt-as-drafts: The acceptance asks for one draft change set naming the Source; change ls also lists 'draft record: Record the plan', and the script's separate stdout 'Build the export' / stdout 'draft' would pass even if the intention were not draft. Matching '^- \S+ draft intention: Build the export' would pin it.
- quality (step review/review): passed after 1 cycle
  - cycle 1: passed, check session fa60f4bc-a7a8-44d5-91f8-01a1b16adf1e pass (said done), critic session 3b80ddaa-48c7-4a57-adc6-01a1b16dec6c pass (said done)
  - round 1 (cycle 1): 5 findings, 0 confirmed
    - f1 major at cmd/rhiza/testdata/script/import-unbuilt-as-drafts.txtar:12 on import-unbuilt-as-drafts: The script adds the Source in a 'Record the plan' --kind record change set it never lands, so it ends with two draft change sets (draft record 'Record the plan' and draft intention 'Build the export'; confirmed by replaying the steps with the built binary). The assertion `stdout 'draft'` does not count them, so the test passes while the acceptance's 'ends with one draft change set' is false. Land the record change set (or add the Source another way) and assert exactly one draft, e.g. `stdout -count=1 'draft'`. — dropped: Replayed the script with this branch's build: change ls shows 'draft record: Record the plan' (the import's own record change set, holding the Source, simply not yet landed) and 'draft intention: Build the export', and change show on the intention gives 'State: draft' with 'Sources: <plan-md ID>'. Exactly one draft change set names the Source, which is what the acceptance asks ('one draft change set naming that Source'); the unlanded record change set does not name it and is the import's working change set, not output of the unbuilt-work rule. The loose `stdout 'draft'` assertion is a test-precision weakness (as compliance rated it, a nit), not wrong or broken behaviour, so it is not a major.
    - f2 minor at cmd/rhiza/testdata/script/import-unbuilt-as-drafts.txtar:17 on import-unbuilt-as-drafts: `stdout 'Sources: 01'` matches any ULID, so it does not check that the draft names plan-md; compare to the Source's ID from `rhiza show plan-md --json`.
    - f3 minor at cmd/rhiza/testdata/script/import-records-built.txtar:15 on import-records-built: The guide's step 3 says `rhiza apply <file> --record --json` per area with capabilities under a parent and linked to tests as evidence, but the script uses one `rhiza add capability --record` per capability, no parent and no evidence link, so the documented command form is never exercised (it does work by hand).
    - f4 nit at internal/guide/text/import.md:11: 'Run it at the root; commit `.rhiza/` first.' reads as committing before running init; say 'then commit `.rhiza/` before the next step'.
    - f5 nit at internal/guide/text/rhiza.md:157: The edited line runs past the paragraph's ~90-column wrap; rewrap.
- qa (step review/review): passed after 1 cycle
  - cycle 1: passed, check session 99a4b355-c096-4cba-8de1-01a1b16b2627 pass (said done)
  - round 1 (cycle 1): 3 findings, 0 confirmed
    - f1 minor at internal/guide/text/import.md:36 on import-autonomous-decisions: 'each `decided-by` its capability' reads as decision decided-by capability; following it hands-on, `rhiza link keep-in-ram decided-by store` fails ('link type "decided-by" does not go from decision to capability'); the working form is `rhiza link <capability> decided-by <decision>`. Show the command as the other steps do.
    - f2 nit at internal/guide/text/import.md:22 on import-records-built: `rhiza apply <file> --record` names each area's record change set 'apply <absolute file path>' in change ls, so areas are not named by area; the topic could say to name the file after the area or give an intent.
    - f3 nit at internal/guide/text/import.md:32 on import-records-built: 'Link a capability to its tests as evidence' gives no command or Evidence form (result, verifies link), unlike the other rules; an importing agent has to guess.
- scope (step review/review): passed after 1 cycle
  - cycle 1: passed, check session f4cb6ba9-b22a-46bc-a618-01a1b16b6cab pass (said done)
  - round 1 (cycle 1): no findings
- model (step review/review): passed after 1 cycle
  - cycle 1: passed, check session f738db00-19d8-4746-a6a5-01a1b16bd070 pass (said done)
  - round 1 (cycle 1): 2 findings, 0 confirmed
    - f1 minor at internal/guide/text/import.md:37 on import-autonomous-decisions: Decision import-load-bearing-decisions says decisions that are not load-bearing are summarised in the decisions document's Source. Step 4 only says 'leave the rest'. Neither the topic nor the capability statement says to summarise them in that Source, so the model's decision is not fully reflected in the procedure.
    - f2 nit at internal/guide/text/import.md:47 on import-retires-docs: Decision import-retires-planning-docs lists decisions.md (and plans/agent config) among the documents to retire. Step 5's retire list names only PLAN, roadmap, TODO and design note, so a decisions document is only retired implicitly, through step 4's 'its document's Source'.

## Code checks

- step review/code: pass

## Sign-offs

- signoff (visit 1): approved by rule autonomous

## Retries

- 2026-11-06T15:25:26Z retried at land, after: step "land" ended with outcome "fail"

## Sessions

- build/build, session 5b6e045f-8428-4de0-be73-01a1b1458e96: tokens input 16, output 2763, cache creation 35296, cache read 411033; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session c01c241e-3458-4ce6-8b1d-01a1b147b012: tokens input 12, output 2176, cache creation 29892, cache read 292095; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session d37aab0d-4f7e-4166-8620-01a1b147d4b2: tokens input 18, output 3473, cache creation 31656, cache read 477078; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session e27e0411-8b39-4be9-a529-01a1b1495b0d: tokens input 14, output 2470, cache creation 27327, cache read 347299; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session d4e66863-2323-4712-8c05-01a1b1498901: tokens input 22, output 4098, cache creation 33166, cache read 592679; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session 2eeb6b9b-2afd-4aaa-b1f4-01a1b14b0e18: tokens input 14, output 2343, cache creation 26695, cache read 344354; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session 1514b502-d0e4-4a60-9ba8-01a1b14b3487: tokens input 24, output 5587, cache creation 32985, cache read 646918; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session ae95de0a-a5f6-46a7-a49b-01a1b14d4306: tokens input 12, output 2166, cache creation 27237, cache read 290545; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session 1093a28d-dd83-41bc-854f-01a1b14d7b6d: tokens input 42, output 7342, cache creation 39703, cache read 1242928; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session 483c1206-55c5-46e2-baf8-01a1b1591f53: tokens input 16, output 3060, cache creation 29112, cache read 406297; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session a16d1ca2-82b2-447d-84e4-01a1b159456c: tokens input 28, output 3493, cache creation 32351, cache read 702973; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session 3ca7c797-bd4a-4364-bf41-01a1b16556df: tokens input 14, output 2334, cache creation 29623, cache read 354650; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session dbe76541-edb3-45b4-a098-01a1b1658b85: tokens input 16, output 1830, cache creation 27138, cache read 398363; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session 13507cdd-a116-414b-a84f-01a1b166d007: tokens input 14, output 2049, cache creation 25764, cache read 338524; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session bd034a9d-00dc-4c94-a751-01a1b167c894: tokens input 20, output 4590, cache creation 38360, cache read 563580; helper tokens input 0, output 0, cache creation 0, cache read 0
- build/build, session 8bd25498-19f4-40f6-9c95-01a1b1693c4f: tokens input 16, output 2929, cache creation 30133, cache read 415993; helper tokens input 0, output 0, cache creation 0, cache read 0
- review/review, session 3d44cd33-7c91-4465-bb9f-01a1b16a9e33: tokens input 12, output 3065, cache creation 40684, cache read 329365; helper tokens input 0, output 0, cache creation 0, cache read 0
- review/review, session fa60f4bc-a7a8-44d5-91f8-01a1b16adf1e: tokens input 22, output 4730, cache creation 42196, cache read 663388; helper tokens input 0, output 0, cache creation 0, cache read 0
- review/review, session 99a4b355-c096-4cba-8de1-01a1b16b2627: tokens input 22, output 6493, cache creation 44032, cache read 666075; helper tokens input 0, output 0, cache creation 0, cache read 0
- review/review, session f4cb6ba9-b22a-46bc-a618-01a1b16b6cab: tokens input 12, output 1487, cache creation 36440, cache read 325505; helper tokens input 0, output 0, cache creation 0, cache read 0
- review/review, session f738db00-19d8-4746-a6a5-01a1b16bd070: tokens input 14, output 2752, cache creation 45079, cache read 416011; helper tokens input 0, output 0, cache creation 0, cache read 0
- review/review, session 3b80ddaa-48c7-4a57-adc6-01a1b16dec6c: tokens input 14, output 2879, cache creation 27069, cache read 343940; helper tokens input 0, output 0, cache creation 0, cache read 0

Totals: tokens input 394, output 74109, cache creation 731938, cache read 10569593; helper tokens input 0, output 0, cache creation 0, cache read 0