Releases: 0xHoneyJar/loa-laplas
Release list
v0.5.0 — Gate Honesty: the brakes layer audited, hardened, and named
What's New in v0.5.0
The brakes layer (poteau · legba · settle) made honest across five axes — with adversarial audits, a working trust-root proof, immune reflexes, and a portable doctrine. Plus The Descent: settle descended into laplas.
Hardened (the gate-honesty pentad)
- Poteau: the forgeable gate closed — custody mint + the verifier checks the receipt signature, not just chain structure (#67, #68)
- Poteau: a truthful abort door, not a coerced "complete" (#69)
- Poteau: arm-on-entry, not arm-on-prompt — no false-arming a bystander session (#70)
- Settle: the earned tier is re-derived at the gate, never trusted from a self-reported field (#72)
- Legba:
verifyRunanchors to a root-signed trust-store, not an in-repo key (#59) - compose-verify:
proof_class— a defaultvalid_runsays "self-consistency, not cryptographic" out loud (#73)
Added
- The Descent: settle descended into laplas; legba custody separation + in-memory signer daemon (#61, #62)
- The Forgeable-Gate doctrine + the immune scanner (
brakes-forgeable-scan) (#68) - The trust-root proof — the audits' cure, wired end-to-end (#74)
- The GROUNDED reflex — hunt mock-as-attestation (#76)
- Doctrine:
gate-honesty.md(the pentad, each axis earned by reproduced evidence) (#75),the-trusted-computing-base.md(#77), and the portable essaythe-honesty-of-gates.md brakes-immuneCI: all four gate-honesty axes gated on every push/composepresentsproof_classhonestly — cryptographic vs self-consistency (#79)
Fixed
verify-gatetest isolation (a CI-invisible failure); gatekeeper socket resolution — mint/verify parity (#78)- README + BUTTERFREEZONE made current to the above; reproducible-count table corrected (every count re-run)
Known ceiling (tracked, honest)
poteau's axis-1 is unforgeable against external adversaries; against a same-uid agent it needs a provisioned out-of-band maintainer root — the trust-root proof shows the floor goes solid once it exists. Beads kdm / zss / fgk.
v0.4.0
What's New in v0.4.0
Verifiable compose: bridge-findings contract (Epic A) + proof-of-operation gate (Epic B)
Added
- Check 6 proof-of-operation verifier (fail-closed) + negative battery (Epic B, #57)
- proof-of-operation receipt declaration + attested capture (Epic B, #57)
- bridge-findings renderer + anchor resolution (Epic A, #56)
- rigorous-review composition + bridge-findings schema (Epic A, #56)
- Phase-1 stall path keystone + folded S3.4/x7l DEPENDENCY_FAILED stranding
- /compose driver wiring (S3.3) + gate-batch-cap config touch (S3.4)
- split-goal provider boundary + decompose binary (S3.1/S3.2)
- decompose-bridge worker prompt boundary (security)
- decompose-bridge deterministic routing core + roster
- live A/B validates fan-out + honest cost finding
- wire code-implement-and-review for RFC #35 fan-out
- fan-out manifest for code-implement-and-review
- wire the executor → poteau mailbox so /compose enforces (closes the live-demo gap)
- THE COUNCIL — council-run.sh closes #30 both halves (S4.1-4.4)
- prompt-arm gradient-only + sandwich lint + run-scoping port (S3.3)
- verify-gate --poteau closes #7 — governance stamp, adoption-aligned (S3.4b/T4)
- dispatcher seeds the armed contract; #29/#31/#30 benchmarks on REAL state (S3.1 + reframe)
- ready check at dispatch gate 0 + P6xx isolation tests (S2.3)
- worked example — code-implement-and-review decomposed into 3 manifests (S2.2)
- module-format schemas + frontmatter-aware H1 + T5/U1 bounds (S2.1)
- poteau-gen fragment emitted + operator runbook (S1.3 — operator seat OPEN)
- demo inventory (24=24 reconciled) + poteau CI — freeze gate mechanical (S1.4, S1.5)
- repo-convention deltas on the pristine import (S1.2 commit 2/2)
- vendor poteau + laplas PRISTINE — reference impl = executable spec (S1.2 commit 1/2)
- FR-B0 freeze gate GREEN — 5/5 hook-contract legs proven on CC 2.1.176 (S1.1)
- SHARE shipped — public Vercel surface verified live; G-3 door wired (S5.2/S5.3)
- redaction + share walls + deploy vendoring (S5.1, S5.3 restriction)
- AGENTS PLAY — policy registry, obs play, episode schema, one agent end-to-end (S4.1-4.4)
- THE THREAD — clews, retrace/rotate/heal, three prices; FR-B closes re-grounded (S3.1-3.4)
- engine speaks the vocabulary — hardness, help, teaches, IMPASSE + sanitizer inlined (S2.3, closes S2.1 engine half)
- contract rev 2 + hardness-manifest v1 + producers emit rev 2, re-vectored (S2.1/S2.2/S2.4)
- VERIFY.md scaffold + observatory CI — selftest, vectors, shell build (S1.5)
- shell skeleton — same-origin iframe + /api/sim clamps + token bucket (S1.2)
- graduate observatory — engine/contract/producers/cli layout (S1.1)
- singleton-up routing — mid/standard/else → opus + relative gate floor (#40 root) (#41)
- gradient flip — every governed run verifies the custody chain by construction (#39)
- LR-4 external anchoring — catch a rebuilt chain over tampered envelopes (#38)
- runnable operator substrate — verify/challenge a real run (rungs 2–5 slice) (#37)
- DAG-parallel work stage — args.items fan-out (RFC #35) (#36)
- emit-time cost card (intel-routing fix-plan #5) (#34)
- unified hounfour ladder + max→fable with rank-based gate floor (#33)
- emit a stage's declared output_schema as the Form C typed handoff envelope (#25)
- clew run_id capture + --mark-distilled genome admission (bd-uze Track A) (#24)
- terminal proof-of-run gate — make the governed runtime the only path (bd-26x) (#23)
- compose-verify-run.sh — proof-of-run gate (the first tooth) (#22)
- context_carry v2 — recent_learnings[] clew read-back arc (br-c3m) (#21)
- per-segment intelligence-based model routing (#20)
- loa-clew-distill.sh — the DRAIN half of the clew loop (#17)
- LOA_ADAPTER_* env overrides for the split estate (+ why-drift fix enabler) (#6)
Fixed
- close Bridgebuilder findings in the proof-of-operation gate (#57)
- re-pin claude-headless fable->opus (Fable 5 retired)
- wire declared composition inputs[] into the stage prompt (#55)
- resolve Bridgebuilder #51 MEDIUM findings (F3/F4/F5)
- preflight PyYAML in compose-dispatch — fail loud, not a raw traceback (#49)
- decouple poteau/seeder tests from the repo dir name + skip real-detector when framework absent
- harden D9 id-set canonicalization (review)
- close sentinel breakout (review C1)
- address independent review — roster external-tier + HITL bug
- reconcile laplas suite + composition schema after the council:false redesign (CI red)
- bind council signatures to run_id + gate_index — audit finding
- bind council signatures to packet content — review finding
- cryptographic council closes the gate-forgery — bug-20260612-b2936d
- dispatcher writes the session->run link — closes the exit-gate's last mile
- harden the mailbox carve-out against path traversal — audit finding
- silence gate-0 module-less notice by default — fixes 2 regressed compile tests
- conformance in_scope DERIVED from verdict, not stamped — review C1
- governance is orthogonal — report armed/unarmed on EVERY verdict (found live)
- run-scope the receipt chain + custody hardening — bridgebuilder PR-review findings (PR #44)
- stringified-args guard + task-aware conformance gate (#28, #29) (#32)
- conform TIER_MODEL to hounfour SoT — cheap≡sonnet, tiny→haiku (arrakis-d72w)
- re-home runtime to ~/.loa/constructs/substrates (substrate SoT)
- flag ghost constructs at validate-before-spend + first-class fagan (bd-ii1m)
- normalize leading
construct-in the ledger resolver (silent-loss fix) (#19) - drain script points to /clew, not the colliding /distill (#18)
- compose-doctor verifies invokable agent types, not file count (#16)
- warn when a construct stage is cut to a pure seam (silent elision) (#15)
- surface validate/cut errors instead of failing silently (#8) (#14)
Source
- PR: #58
- Commits: 118 (49 features, 28 fixes)
Generated by Loa Post-Merge Automation
v0.3.0 — Form C: the composition runtime
construct-rooms-substrate is now the composition runtime. A composition is no longer one workflow — it is a chain of workflow-segments cut at gate seams, compiled by Form C and run via the Claude Code Workflow tool with /workflows visibility. This is the primitive the old Form A (operator @-mention paste) and Form B (claude -p stub) dispatch hacks were faking.
Form C (cycle-053)
- Compiler (
compose-dispatch.sh --form-c): validate offline (before token spend) → cut at seams (is_seam=mode==blockingOR role∈{hard-stop,craft-gate,gate} ORhitl_by_nature) → emit one.workflow.jsper autonomous segment + per-stage room packets + a run manifest. - Executor (the CC main loop): runs each segment via the Workflow tool in room authority (the baked room packet →
invocation_mode: room, not studio), validates the typed handoff, and drives the seam protocol between segments (AskUserQuestion+>>clewcapture). - Honest outcomes:
converged/cap_reached(auto-approved-at-cap, never folded) /degraded(StructuredOutput miss → never fabricated). hitl_by_nature(bridge schema v1.3): image-gen / kaironic loops stay human — never auto-migrated.
Hardening
Flatline + a 15-finding adversarial review (incl. a CRITICAL doc-comment injection): every composition value reaches emitted JS only via json.dumps + determinism-escape; clew/steer via argv/stdin, never shell-interpolated; typed {__stage_failed} sentinels (failure ≠ empty); sync-throw safety; iterate-bounds preamble.
Also in v0.3.0
- README rewritten to reflect reality (HERALD + THE ARCADE + grounding): Boundaries table, Form C section, real observability fields; 328 → 243 lines.
scripts/compose-doctor.sh— "is Form C ready to dogfood?" health check.scripts/lib/run-emitted-segment.js— token-free dry-run harness.- Clean baseline: 115 tests green / 0 fail.
Dogfooding
Ambient — invoke via the /compose skill; no manual workflow-running. Stable install: ~/.loa/runtime/construct-rooms-substrate.
🤖 Generated with Claude Code
v0.2.0 — pair-relay primitive (cycle-craft-cluster)
v0.2.0 — pair-relay primitive (cycle-craft-cluster promotion)
Promotes v0.2.0-rc.1 → v0.2.0 after Sprint 4 rehearsal. Per
grimoires/loa/synthesis/craft-cluster-verdicts.md, all three lanes
(fidelity, access, frame) converged with operator-accepted artifacts:
RFC #235 (pair-relay primitive): SHIP. Primitive carried first-light
load across three distinct domains. The "declare → inspect → confirm"
rhythm produced depth that parallel-pattern compositions would not
have surfaced.
RFC #237 (fidelity): FILLED. Substrate ships as-is; one taste-claim
vocabulary refinement queued (CLAIM-4's "removed" verb misfit jsonl
append-only semantics; append-close pattern is correct).
RFC #236 (access): LEAKED. Real gap surfaced and named: ambient
breadcrumbs for cycle state visibility (mid-cycle arrival needs
state-on-cd, not state-on-demand). Seed for future-cycle PRD.
RFC #238 (frame): FILLED. Macro-pattern named (GoF Strategy with
leaky defaults). 4-step refactor roadmap deferred to future cycle:
extract door-A as peer function, unify filename schema on cycle-ring,
require explicit pattern declaration, remove dead-end doubled exit.
Tests at promotion:
Sprint 2 new bats: 46/46 green (pair-relay-validate 20, surface-envelope 14, pair-relay-orchestrator 12)
Full integration suite: 75 ok / 6 not_ok (the 6 pre-existing, unrelated to this work)
Synthesis doc: grimoires/loa/synthesis/craft-cluster-verdicts.md
Rehearsal artifacts: grimoires/loa/rehearsals/cycle-craft-cluster-sprint-4/