Skip to content

cairn: add phase=vapor to critic/librarian formulas, fix critic-loop self-repour#43

Merged
quad341 merged 3 commits into
mainfrom
deploy/crn-ju4o-gate
Jul 23, 2026
Merged

cairn: add phase=vapor to critic/librarian formulas, fix critic-loop self-repour#43
quad341 merged 3 commits into
mainfrom
deploy/crn-ju4o-gate

Conversation

@quad341

@quad341 quad341 commented Jul 23, 2026

Copy link
Copy Markdown
Owner

What this changes

Adds a phase = "vapor" field to cairn's two self-authored formulas
(mol-cairn-critic, mol-cairn-librarian), and fixes the critic loop's
self-repour step: it now re-invokes itself via
bd mol wisp mol-cairn-critic --root-only --json instead of the old
bd mol pour mol-cairn-critic, capturing the new wisp's ID and restamping
gc.routed_to=cairn/dogfood on it.

Why built this way

bd mol wisp --root-only produces an ephemeral, childless bead for the
repour instead of a full molecule tree, so each critic-loop cycle no longer
leaves behind an orphanable chain of child beads. Same self-repour behavior,
smaller blast radius per cycle.

Review notes

  • Touches exactly two formula TOML files plus their test coverage in
    formulas/formulas_test.go — no config surface, no endpoints, no behavior
    change outside these two formulas' own execution.
  • No unrelated changes riding along.

Test plan

  • go build ./..., gofmt -l ., go vet ./...,
    golangci-lint run ./... (0 issues), go test ./... -race -count=1
    all pass on the deployed commit
  • Targeted regression tests: TestCriticFormulaHasVaporPhase,
    TestLibrarianFormulaHasVaporPhase,
    TestCriticLoopStepSelfRepoursRootOnlyAndRestampsRouting
  • Release gate: release-gates/cairn-critic-librarian-vapor-phase-gate.md

quad341 added 3 commits July 23, 2026 13:32
…-aa0y)

Failing tests expressing the exit contract: both formulas must carry a
top-level phase="vapor" field, and mol-cairn-critic's loop step must
self-repour via "bd mol wisp --root-only" + restamp gc.routed_to instead
of the old orphan-spraying "bd mol pour".
@quad341
quad341 merged commit 4797092 into main Jul 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant