# Changelog

All notable changes to this project will be documented in this file.


# \[Unreleased\]


## Bug Fixes

- Conform the simulator packages' gateway pin to the 0.4.0 wheel


## Miscellaneous

- Refresh uv.lock for 0.4.0 \## \[0.4.0\] - 2026-10-07


## Bug Fixes

- Invoke compound-action failures report dispatched state
- Promote jsonschema to runtime dependency
- Exercise boolean continuous conditions
- Recheck sample freshness at predicate evaluation
- Require at least one tag on every memory proposal
- Poll-sliced stable verification and uncertainty-preserving body truth
- Final WP05 fix wave - read/write stg refs, interrupted outcome, product units, freshness honesty
- Resolver identity recheck, pin-conflict guard, review minors (amends Task 5 brief)
- Structural loader containment, record overwrite refusal, atomic writes, review minors (amends Task 7 brief)
- Admission hardening -- verify-if-exists cache, persisted high-water, source-level payload cap (WP06 final-fix wave 1)
- Loader exec-time integrity -- re-hash entry before import (WP06 final-fix wave 2)
- Builder determinism wave -- ZIP_STORED payloads, stale-dir pruning, origin-scoped sha_of, mypy coverage, full-breadth determinism pin (WP06 final-fix wave 3)
- Live format validation (rfc3987 + rfc3339-validator) and the mutable-revision honesty line (WP06 final-fix wave 4)
- Bind served status to its release -- status_release_mismatch (unsigned-fix wave 1)
- Dev identity fence on OriginConfig -- dev-unsigned reserved for dev- origins (unsigned-fix wave 2)
- Surface-audit wave 1 A -- single-source §4 path check, archive_invalid, sys.modules rollback, prune dead map check, schema path pointer
- Surface-audit wave 1 B -- loader executes verified bytes, unreadable .sig maps to bad_signature, falsifiable cache asserts, dev-path status-swap pin
- Surface-audit wave 1 C -- model dev signatures honestly as bytes \| None
- Raw WRITE trip reports DISPATCHED -- compound-action honesty (surface-audit wave 2, item 11)
- Input-validation polish -- eager deadline parse, scoped release swallow, typed condition-kind fence (surface-audit wave 2, item 13)
- §11 id-sharing exemption is ownership-direction-only; provided-id maps split per kind (surface-audit wave 2, item 14)
- WP07 task 3 follow-up -- contract-legal artifact/evidence id shapes (no colons)
- WP07 task 4 -- permission tiers are a hierarchy (observe ⊆ control ⊆ admin) + cursor numeric guard
- WP07 task 5 -- canonical generation fence + worker-thread store for build_run + join fast path
- WP07 task 8 -- adapter limit/length clamping + first live run-through-app test
- WP07 task 8 -- clamp floor at 1 (negative/zero limit/length)
- WP07 final fix wave -- event_gap/§7, cancel scoping/§6, seam offset floor, MCP write gate, MCP isError + D8-D13 register
- WP07 final -- event_gap carries retained watermarks per §7/§10
- Stream_id bench.{id} contract-pattern conformance
- Scope dangling-request sweep to run keys, spare change keys
- D11 artifact offset aligned to the §8 letter -- beyond-size fails invalid_request, at-size keeps the zero-byte eof chunk (seam construction site, envelope parity pinned)
- D13 MCP body ceiling -- max_json_bytes over tool-call arguments, payload_too_large envelope parity with REST (D6 residual closed)
- D13 internal_error one construction site -- correlation_id minted (uuid4 hex16), message text parity across transports, detail rides details
- D13 retry honesty -- change_apply unknown-outcome advertises retry never (re-entry is conflict), pinned end to end
- Internal diagnostics off the wire, keyed by correlation_id -- details def is closed (D14/D15 registered)
- Client guards for non-JSON and non-object 2xx bodies, read-phase timeout
- Reject scheme-less gateway URLs at the client boundary (T9 carry)
- Restore manifest gate + traceback-free at-rest boundaries
- Operator-close path for the live demo view
- Refuse empty and placeholder production secrets; observability + doc folds
- Audit fix wave -- complete denylist, report hold, restore extras gate, setup boundary
- Verify carve-out for the registry work tree
- Assert the CLI contract (-version) instead of the retired bare-call print
- Mint correlation_id on every failure envelope (D14 cheap half)
- Serve the interface-v1.1.1 tools corpus (align with seam validation)
- Check_documents ignores fenced code blocks when scanning links
- Review minors -- command count, hostname scrub at retention, parse guard, dotfile skip, junit family pin, index precondition
- Synthetic hostname in scrub test fixture (close-review F-M1; wave completed by controller after agent stall)
- Scaffold a location-independent preview conformance test
- Keep smoke contract sets aligned with the SDK build hook
- Register the preview fixture schema with its docs source
- Run config-driven mypy and type the SDK preview tests
- Enforce preview-server trust boundaries
- Ignore compiled vite config siblings
- Harden generated-project creation
- Polish preview runtime surfaces
- Point the renderer freshness gate into the submodule
- Refuse normative paths colliding in the bundle
- Guard sync target against uncommitted submodule pointers
- Neutralise newlines in matrix cells
- Tolerate trailing telemetry in the commanded reply window (live-device defect)
- Frame-atomic drain window -- WP11 W1 straddle hardening + W2 same-field pin
- Ruff-format dps150 session - repair dps150-independent lane (broken by \#14)
- Repoint preview wire-schema test at standards/ corpus path
- Re-lock dps150 contracts at the standards tree
- Review fix wave for the id/version tree (PR \#21 M-1/M-2)
- Smoke script + adapter API constant follow the 0.1.0 baseline
- Audit straggler sweep -- URN ids, catalog version, prose assertions
- Review fix wave 2 -- runtime interface version, example teachings, doc truth
- Declare MIT license in pyproject metadata (was Proprietary)
- Key the Pages concurrency group by ref
- Wrap phone-width header onto two rows
- Anchor public-site-assembly ignores to the repo root
- B2 -- Failure construction-site guard refuses empty correlation_id
- D14-details -- the closed six-key error envelope on every failure
- D4 -- every event kind emits the closed document-ref evidence
- Review-fix wave -- poison-emit guard, fallback log, hygiene
- Pin the symmetric stray/stamp gates across all three check lanes (#9)
- Portable store hold; the gateway now runs on Windows checkouts
- Reject delimiter injection at issue time; fail fast on absent fixtures
- Validate each scope element at issue time, not just the joined field
- The hold marker lives beside the data dir, so restore can swap it on Windows
- Resolve the data dir before deriving the hold marker; tolerate the legacy in-dir name in verify (PR \#35 review fold)
- Otdp 0.1.1 -- byte-errata of 0.1.0 (#45) (#47)
- Make the adapter-call AST pin total over the \_adapter name
- Pin Adapter protocol data members, not only methods
- Require envelope key sets in enforcement position, not mere presence
- Derive identity standard-version keys against the standards manifest
- Reject duplicate standard ids at manifest load
- Fail styled, not raw, from the versions command
- Refuse string-mediated adapter access and state the pin's true boundary
- Pin the envelope comparison shape, not just the literal's presence
- Make the identity block closed-world
- Declare the range_v/offset_v configure envelope in input_constraints
- Make fetch honest -- acquisition state, byte budget, corpus axes
- Bound sample_count in both the descriptor envelope and dispatch
- Snapshot the configuration at arm; validate trigger shape at dispatch
- Name the true cause when the pretrigger buffer is empty
- Carry the probe_ratio enum in the parameter descriptions; re-pin the digest chain
- Forge-wave honesty -- dispatched state refusals, single-use acquisition ids, small fixes
- Accent arbitration, threshold carrier, a11y disclosure, token fallback (C1-C4)
- Hidden traces release the accent claim (W1) + cross-product wording (W2)
- Carrier participates in axis extent; legend swatches follow resolution (FC1/FC2)
- Muted-x-absent cross-product cell, ruled fallback pin, renderer version (FC3-FC5)
- Declare plugin-ui 0.1.1 in the ui resources
- Total and exact float64 element boundary (B1/B2)
- ASCII digit gate, marker bounds, duplicate-id refusal, containment (RB1-RB5)
- Move to OTDP 0.1.2 with the active corpus (CI merge result)
- Wave-3 audit findings (forge-B)
- Review items R-F5-R-F7
- C's multi-channel specimen cites the active measurement URN
- The measurement contract pin hashes the active corpus (F9)
- Report DISPATCHED on post-dispatch device-state refusals
- Rebuild sim fixture lattice for the dispatch-posture change
- Split argument typing from device evaluation (R1/R2, \#66 absorbed)
- Issued-map fields must be declared action inputs (F1, \#63)
- Fold R1-R4 -- record corrections, lock pin test, census obligation (#63)
- Typing precedes the trip latch in \_write (RF1); absence pin + poc walk flake kill (#63)
- \#85 fold -- malformed bench/binding refuse startup typed, recovery containment pinned
- Fold refute F1 + NIT-1 -- convention-vs-mechanism disclosure, reorder tamper mode
- Sweep miss -- gateway lock emitter and test pins for 0.1.1
- Collector reads file paths; chronological admission; dedup; real shallow guard (#97 review fold)
- Refute fold -- zero-gap double bumps, first-add anchor, shallow refusal (#97 G6)
- Derive the devices mutation fixtures; GOVERNANCE claim scoped (D2 review fold)
- Audit-annotate train_window's git subprocess under the S-band; merge main
- Resolve OUT once so the pinned check compares resolved-to-resolved (#119)
- Precision folds from the first review wave (#102 D1, review F3/F5/F6/LOW-1/NIT-2)
- EngineeringPlot re-resolves theme tokens on data-theme flips (FC6)
- Disclosure names observed targets, not bindings
- Preview workbench passes no fabricated threshold (R1b)
- Render-quality batch -- stable joins, safe keys, unit guards, wire labels (R2)
- Sweep the presentation-admission seam onto the active plugin-ui version
- Render repository-relative paths with forward slashes on every platform (#138)
- Read the \_GENERATED.txt stamps as UTF-8 (#139)
- Keep the 0600 promise on Windows by restricting benchweave.env's access list (#137)
- Say what 0600 means on Windows in the remaining messages and tests (#137)
- Forensic once-guard keys durability and lifecycle, not identity
- The stamp discriminator requires identity and dispatch binding
- Gate-region lock contention classifies RESOURCE_LIMIT
- The writer's stamp frame covers the COMMIT sites; sweep return documented
- Finalise enforces the session key on the publishing path
- The ended-at-quota-boundary teardown marker (F1, review wave)
- The landing-origin stamp -- the poll path's C3 discriminator (F2, review wave)
- The event validator enforces the corpus's unconditional keys and refuses unserializable content honestly (G1+G3, Forge wave)
- Mirror lane refuses a moved submodule by name; no str()-laundered lock values (issue \#158 review wave F1+F3)
- Matrix CLI fails styled on OSError too (issue \#158 review wave F2)
- Uninitialized-submodule refusal names initialization, not the superproject HEAD (issue \#158 measurer fold)
- Contain success-path completion emit, bound RunWorker.join (issue \#156)
- Run-state-aware startup sweep leg -- queued ghosts and stale projections unwedge at restart (issue \#156 fix wave)
- Close every commissioned bridge on every exit path (F1, issue \#167 review wave)
- Teardown-window violations escalate into the terminal record (F2, issue \#167 review wave)
- Gate the sim fallback on the commissioning simulation mark (F3, issue \#167 review wave)
- Closure resolution pins the served raw manifest digest (F4, issue \#167 review wave)
- Devices suite follows the manifest into pre-provider trees
- Fold review wave -- provider rules gain teeth, claims gain honesty
- Fold adversary LOW -- provider boundary claim scoped to security_scope
- Stamp the in-tree descriptors to 0.2.1, lattice in lockstep -- the disclosed window closes
- 0.2.2 errata batch -- the two-component feature-version tighten
- The sdk_compatibility mirror follows the landing -- notes and sdk aligned with the 0.2.2 lock
- Dev-stage bytes never stage or ship -- lexical skip in both halves (review row 1)
- The documents gate never sees a dev head -- \$id shadowing closed (review row 2)
- Calendar-valid opened + real head containment (review rows 4 and 5)
- The -corpus lane resolves the head through the canonical loader (review row 6)
- The three red lanes after the coordinated landing -- direct-to-main broken-CI fix
- Sweep the dps150 corpus lock + descriptors to OTDP 0.2.2 (main ci red after \#171)
- Finish the dps150 0.2.2 sweep -- the plugin suite's corpus path follows the lock
- Close the provider-pin size window + name the duplicate-key cell
- Refuse \$ref-bearing grammar subschemas; guard holds the ValueError discipline
- Spool the pinned provider contract + thread settings/now_wall
- The write-gate exempts branch-new files its message promises
- Advance SDK pointer -- notes preservation (#170) + paired prose corrections
- Sdk_compatibility mirror = 0.2.0 with the certified pointer (#187)
- Refuse non-canonical manifest bytes at resolution (issue \#176 row G, design F4)
- Fsync the whole new-directory chain when creating the archive target
- Durability errors refuse typed -- never laundered into a committed trail
- Verify reads each row's recorded archive_destination
- Streaming stager -- one payload at a time, hashes in 1MiB blocks
- Archive rows without artifacts refuse typed -- never archive-to-nothing
- Archive binding reconciled inside the transaction
- Refuse empty and dot archive targets -- no silent CWD archive
- Symlinked destination objects refuse; late-appearing entries verified
- -verify-archive honors -out (json and markdown)
- Deterministic stager placement order -- seed-proof the R2 latecomer pin
- Absent contract pins are the soft unresolved arm (#146 slice 2, taxonomy fold)
- F1 -- invoke gate local renamed, test constant annotated (mypy red)
- F2 -- the probe walks \$dynamicRef and roots where the runtime roots
- F4 -- degenerate measurement required-set refuses at load
- Item 8 -- the descriptor's input_constraints join the load-time probe (R22)
- Wave 2 \#1 -- the publish's evidence row joins the finalise transaction (no leak)
- Wave 2 \#2 -- M02 narrowed to the corpus's scalar product one
- Wave 2 \#3 -- the classified invoke's payload reclaim rides the epilogue floor
- Item 5 rider 2 completion -- the growth site classes pay: rows dataset too (#146)
- Issue \#172 classifier fidelity -- exactly-5 FIRE, per-class evaluation, label honesty
- Issue \#172 drain robustness, range gate, X4 3-way split, retry cap
- The F-fix gateway legs + the folded LOW/NIT rows
- Late Forge folds, gateway side -- active re-point twins + the reproducible wheel identity
- Maintainer-review folds gateway side -- the corpus-pin gate lands now (the fork), claim/mechanism agreement, and the held rows
- Version-ordered selection at both order-sensitive sites (#216 fold F1)
- The dependency lane surfaces deprecation warnings (#216 fold F2)
- The derived map is an allowlist, not directory coverage (#216 fold F3)
- The revision scissors -- the map digests the bytes AT the revision (#216 fold F4)
- The \#146 e2e dataset fixture claims the live service clock (#146)
- Authoring crashes are styled refusals (#216 fold wave 2 R1)
- List validates the policy join before rendering (#216 fold wave 2 R2)
- Cross-constraint requirement intervals validate at load (#216 fold wave 2 R3)
- The interval grammar admits canonical numerals only (#216 fold wave 2 R5)
- Malformed corpus-manifest rows refuse typed (#216 fold wave 2 R6)
- Drift messages name non-canonical serialization (#216 fold wave 2 R11)
- Bounded note, single descriptor read, row batching; digest-scope comment (#216 fold wave 2 R15 + R12)
- Structural infrastructure marker replaces message-based retry matcher (#159)
- Block-ness from the monitor's latch; dispatched envelopes never retry (#159)
- Classify priming signal-starvation as retryable infrastructure (#241 slice 1)
- Nest python-version under with: in the timing job's setup-uv step
- Classify the priming block-refusal as retryable infrastructure
- Guard the priming classification against the divergent wall
- Close what a failed rig construction built
- Correct the trial-line key dropped in the sites fold
- One shared probe-wall predicate at all three classification sites
- Corpus-keyed adapter cache, acked-aware warning, bounded classify cache (#217 review fold R3/R4/R5)
- The devices read path degrades, never 500s (#217 review fold R10)
- Fold refute F1 dead-log pointers + F2 zero-evidence PASS (#247)
- Refute fold -- six fork-independent MEDIUMs A/B/C/F2/F3/F6 (#218)
- Classify against fresh policy state -- VR-19 both halves (#219 slice 5)
- -no-renames on the shared Add census -- rename-blind Adds (#219 fold FIX A)
- The matrix committed-read fallback, gated and env-immune (#219 fold FIX B + F4)
- SM-5 pairs on the version lattice, not committer clocks (#219 fold FIX C)
- LOW folds -- the token's absence semantics and the guard pin (#219 refute wave)
- Fold the \#257 review battery -- 12 rows, one batch
- Fold wave -- recovery era-skip, carried pin record, typed seam refusal, splice, boundary arms (#220 refute)
- Fold the \#258 review battery -- proof instrument + re-searched palette
- Fold the \#243 S1 review battery -- 12 rows (comparator, premise, pins)
- Fold the \#243 S2 review battery -- 9 rows (real-render arms)
- Fold the \#243 S2 addendum -- lane-2 part 2 (4 rows)
- Fold wave -- 12 fixed rows, 2 disclosures, \#221 refute battery
- \#260 fold wave -- the seam decides, the comparator is total, recovery is policy-relative
- Row 4 corrected to the three-way echo disposition
- Fold wave -- marker truth, region dedupe, regenerable residual, adc vacuity guard
- Fold wave 1 -- governor + grammar-lane rows (8 rows, one batch)
- Fold wave 2 -- the honest interim + the pin fork closed (T1/T2)
- S2 fold wave 1 -- the bus hatch, Δt axis mode, property pins, default_collapsed (5 rows)
- S2 fold waves 2+addendum+3 -- interim truth, pins with teeth, decoder closed-set (12 rows)
- S3 adversary fold -- one hidden predicate, verbatim settings, no overprint, window clipping (4 rows)
- S3 resident-review fold -- guide truth, per-lane awaiting, hook pins, story (6 rows)
- Fold the why-slice adversary wave -- 3 LOW + 3 NIT, one commit
- Close dependency audit findings (brace-expansion, fast-uri)
- M1+M2 -- promotion sweep admits by rule, not token; history-derived no-record trigger
- Fold LOW 4/5/6/7 -- the review batch, one commit, per-row RED
- Sweep digest-lane overhaul -- binding multisets, not positional pairs
- History-gate hardening -- shallow refusal, typed malformed parents, all merge parents
- Claim-accuracy -- empty vs reversed bounds, the read-once scope, the one-to-many residual, the measured history cost
- Final fold -- the partial-clone masquerade refuses typed; three disclosure clauses
- The promotion fixtures carry their own committer identity (CI has none)
- Fold F1 -- the pin layer pins identity, not just structure (issue \#297)
- Fold F3-F6 - unreadable Schema red, TS literal semantics, separator arity (issue \#297)
- The two-lane refute fold -- repair the stale authority at the source
- Consolidated Tier-3 fold -- per-trace acquisition, enum arms, lanes semantics (issue \#298)
- M4 owner ruling -- the legend stays on the \>2-unit refusal (issue \#298)
- Belt-swap pin pace ladder indexes by PACED order, not construction order
- Lock-block D4' completion -- UNKNOWN cut-proof, in-run-relative ceiling
- Drain-poll TIMEOUT-flavor poison joins the carrying sites
- Refute fold -- 4 code rows + record erratum
- F3 -- the fast lane never runs the browser marker (issue \#300 fold)
- Lane A fold -- A1 ST-3 laundering equality, A2 ledger clearing, A3 toggle discrimination, 3 NITs (issue \#300)
- Lane B fold -- F1 themed renders, F2 layered target-size, F4 negative disagreement, F6 axe scope (issue \#300)
- Correct the browser job's actions/cache pin to the API-resolved v4.3.0 SHA (issue \#300)
- \#207 the wedge exhaustion instant renders by pure datetime arithmetic
- Thread the licence expression through the re-derivation
- Resolve the dangling gitlink; pin the licence threading (folds F3+F4, gateway issue \#223)
- Anchor cliff.toml tag_pattern (#302 first release)
- Refute lane A fold -- env indirection for the release tag (template-injection MEDIUM), github.sha ref pinning (retag/re-run LOW), attestations disclosed
- Refute lane B fold -- accurate id-token claim (F1), casefold collision assert in both census copies (F2), operator-step + notes-command dependency truths (F3)
- Refuse separator-spoofed normative rows at load (issue \#238)
- Fold lane B HIGH -- refuse non-canonical (./) normative rows too (issue \#238)
- Fold lane A MEDIUM -- refuse case-camouflaged normative prefixes (issue \#238)
- The G2b fold rows -- H1-H4, F2/F3, the GW-22 addendum (#368; follow-up \#369) (#372)
- The G2a fold rows -- G1/G3/G4/G6/G7 + the G5 addendum (#368) (#371)
- Fold refute lane 1 on the reading-tile join (#369) -- F2 budget bounds, F3 per-row tolerance, F1 disclosed
- Issue \#316 fold -- typed datetime comparisons + real-worker pins
- FOLD-5 -- the poll cadence joins the sub-second floor (MEDIUM)
- FOLD-9 -- dead code + the retired max-lease fallback (NIT)
- FOLD-7 -- judge the controls' authority through the tier lattice (LOW)
- FOLD-6 -- enforce the published max_lease_ms on the UI POST path (LOW)
- FOLD-4 -- release keys the view by server truth; the fragment tolerates a failed refetch (MEDIUM)
- FOLD-3 -- a conflict renewal no longer clears the held view (MEDIUM)
- FOLD-2 -- control outcomes render in place, refusals included (HIGH)
- FOLD-8 -- the duration inputs survive the poll swap (LOW)
- FOLD-1 -- the CSRF token is actually delivered (CRITICAL, two-lane)
- The expired-session refusal fragments for htmx too (fold-refute F1)
- Reconcile **version** with the single source (fold-refute F2)
- The mid-stream bridge observable -- observe before the abort (#384)
- Pin the docs-site listing command literal (adv2 fold F1)
- Session consult-water -- an origin rollback cannot resurrect a run
- Advisory escalation lands a second durable record
- Advisory-delivery I/O never refuses the run (PR \#391 R1)
- FOLD-1 -- a staged stored non-binding digest reads as the unreadable chain, not a KeyError 500 (issue \#304)
- FOLD-2 -- the §2.4 invalid-staged-input state renders (issue \#304)
- FOLD-3 -- the §9 replay surfaces honestly (issue \#304)
- FOLD-4 -- arm I pins the marker, not an OR the sim's speed decides (issue \#304)
- FOLD-5 -- the armed text composes EVERY enable, and degenerate shapes render honest text (issue \#304)
- The staging panel offers the preflight control (browser-lane catch)
- The confirm names the channel the enable targets (fold-refute F1)
- Reconcile the gateway's v0.7.0-coupled surfaces
- Sdk_smoke installs the SDK wheel with the \[scaffold\] extra
- The 146 E2E step budgets absorb starved-runner stalls
- The installed-SDK smoke's scaffold leg rides \[scaffold\] (gateway \#308, PR \#400)
- A terminal change record is never rewritten (issue \#305, FOLD-1)
- Pin re-apply-on-failed keeping its audit reasons (issue \#305, FOLD-2)
- A submit §9 replay preserves the session's change view (issue \#305, FOLD-3)
- The submit no-response reconcile carries its own replay form (issue \#305, FOLD-4)
- Acknowledging a non-terminal change refuses (issue \#305, FOLD-5)
- Guard the None-valued admin-region slots (issue \#305, FOLD-6)
- Remove the dead applied-generation block from change.j2 (issue \#305, FOLD-7)
- The no-response fragment roots its own reconcile (browser defects 1+2)
- Terminality and bump-once become compare-and-swaps (issue \#305, FOLD-A)
- The approval-first view survives a §9 replay (issue \#305, FOLD-B)
- GapDetector.feed records into the detector + the A3 harness (issue \#393)
- The census pins move with the \#393 tree change (ratchet discipline)
- The fold wave -- stream TX discipline, scan reconfigure, honest negotiation states (issue \#393)
- The A3 harness's reopen moves the host baud (the fold-tip regression) + the ordering pin (issue \#393)
- Prime the interpreter and the pinned pytest before the adc job's offline run (issue \#393)
- Script the with-ui scaffold's drain probe (issue \#407 wave 4)
- -bucket mode verifies its own docs tree, not the parent's website
- Versioned-assembly fold -- review lanes A/B, 2 HIGH + 4 MEDIUM
- PR \#415 owner-row fold -- bare versions: key, inverse scope, reserved ids, absolute great-docs


## Documentation

- Correct compatibility record with UF_HIDDEN root cause
- Pin memory vault routing to benchweave, ledger fallback until /mcp approval
- Pin memory vault routing to benchweave, ledger fallback until /mcp approval
- WP05 procedures plan and project ISA (close-of-WP05 state)
- Code-reviewer gates on documentation coverage per change (rule 3b)
- Rule 3b extends to API (OpenAPI lockstep) and MCP (mcp-tools.json) surfaces
- Rule 3b names CLI surface explicitly and reserves the UI clause
- Rule 3b adds fixture/CI/vendoring/security-posture surfaces; reserves deploy and hardware-evidence
- Honesty labels -- dev-unsigned auth wording, enforced-not-authenticated sequence (unsigned-fix wave 3)
- Developer guide gains the registry dev loop -- unsigned packaging, dev origins, signed production path, status refresh
- Add AI device development guide with firmware path
- Link AI device and firmware development workflows
- Clarify external plugins and Docker gateway lifecycle
- Link SDK workflow and clarify external adapter support
- Align device quickstart with plugin layout
- Show optional plugin feature directory layout
- Disclose report's migration-on-open window; settle missing-evidence render
- Operator guide + clean-install gate (PRD-01 flow)
- D14 correlation_id half CLOSED by WP09 Task 1 (3ebfcb5)
- D14 mint-sites phrasing + HEAD-guard durability note; ledger re-ledgers
- 100-run seeded volume leg -- PRD §3 retained evidence
- Second-install reuse runbook -- the PRD §3 step-7 operator flow
- Timed operator legs -- author-run, wall-clock recorded
- Timed-leg record precision -- abort duration, verdict scoping, runbook ordering note
- PRD §6 reference timing + stress tier -- both targets pass
- D13 decision landed; G2 deviation registrations
- Fault-matrix harvest + deterministic digest index
- Regenerated tree post-scrub
- G2 gate record
- Close-review honesty -- PRD-11 registry-loss row structural, acceptance verdict qualified, index root-refusal disposition
- Define style guide and workbench architecture
- Define contextual alert message classes
- Support declarative custom device compositions
- Publish executable style guide
- Add portable mock-up and design tokens
- Design deterministic UI preview workflow
- Complete local UI preview developer loop
- Align preview documentation with what shipped
- Review findings persist to memory at every severity
- Bind RedTeam and external review outputs to the memory rule
- G2 owner acceptance -- ACCEPTED 2026-09-14
- Standards synchronisation design and plan
- Two-repo discipline for the SDK submodule
- SDK guide moves to the SDK repository
- SDK repo self-sufficiency design and plan
- WP10 compatibility record + esp32 selection
- WP10 close reconciliation -- plugin status honest, PID boundary, completion companion
- Record links stay in-docs -- out-of-tree capture references as code paths (architecture gate)
- WBR fix -- README lifecycle honest (adapter performs the handshake); scratch-name cosmetic
- Point SDK consumers at PyPI; simplify dead concurrency expression
- Close-out - PyPI/brew publishing design + implementation plan (landed)
- Record honesty -- WP11 W3 ramp wording + W4 adapter-shape note
- Fix errata README's own post-move pointers (review M-1)
- Add Contributor Covenant 3.0 code of conduct
- Add SECURITY, CONTRIBUTING, SUPPORT and issue/PR templates
- Public-site styleguide and mockup for the SDK website
- Public-site styleguide v0.2 -- AI instructions, sub-brands, icon set, nav mapping
- Add Built with AI panel crediting models and tooling
- Report via private advisory, not personal email
- Add permanent Discord invite to README, SUPPORT and site (#33)
- D4 + D14-details CLOSED by the interface-errata slice (#16)
- Review rubric, hard invariants and drift obligations (#41)
- Record the adapter-api identity and agreement invariants; correct stale baseline lines
- Correct the remaining device-guide baseline claims (OTDP 0.1.1 / adapter API 1.1)
- Commit the \#44 design record
- Complete the adapter-protocol obligation touch-set and hook triggers
- Correct four remaining baseline lines to the machine versions
- Sweep remaining stale version claims to the machine truth (#54)
- Issue \#6 row A settings-as-presets design record
- Named settings as presets -- the sim_scope reference instance
- Correct the token-replay claim -- mismatch-only, and the design's range text
- State the input_constraints lane split in the presets section
- Fetch semantics in the README; design-record residual corrections
- Review-wave prose corrections -- parameter count, copy wording, simulator inventory scope
- Issue \#6 row C per-channel display hints design record
- Record the forge-tail evidence in the 0.1.1 report
- Scope the W1/C4 amendment claims; pin first-visible mark line (review-C)
- Issue \#6 row B -- declarative derived variables design record
- Sweep remaining version claims to the otdp 0.1.2 corpus
- Complete the 0.1.2 link sweep (reviewer, quickstart, architecture, development)
- M15 states the int-exactness rule and the M02 suspension
- Apply the issue-#6 retrospective workflow rules (#69)
- Governor-pass fixes on the \#69 rules
- Commit the issue-#64 design record on the branch
- Commit the issue-#62 design record on the branch
- State the orphan-sweep size residual in the 0.2.0 README
- Issue \#63 descriptor dialect reconciliation design
- Issue \#63 design update -- dps150 absorbed (slice 5), 28-cell census, registry-decoupling correction
- Record the dps150 lock otdp_version stale-field correction in item 22
- Amend deferral rule 3 -- table rows are first-class merge citations (#98)
- Issue \#85 bootstrap routes descriptors through the admission gate (absorbing \#78)
- \#85 -- startup admission refusal on the operator, device-author and invariant surfaces
- \#85 -- fold refute F1-F3 (DEFENDED verdict)
- Leg-(a) comment classifies by failure kind, not evaluation order (refute NIT)
- Issue \#79 machine-written, CI-pinned OTDP validation report
- Issue \#71 skill-role slice 1 -- pre-committed acceptance rules
- Align live baseline prose to 0.1.1; amend the sweep grep class
- Record deferral citations per amended rule 3 + G4 sweep-gap note
- Adopt retrospective row 4 -- run-close junk sweep as step 8
- Single issue stream -- all issues file on the gateway tracker
- Re-anchor the edit grant on the freshness gate (review R1+R2)
- Row 14 -- agent tool-grant surface (review F3, folded)
- Recall the memory vault before proposing or diagnosing
- Design record for issue \#97 bind-the-train
- Design record for \#102 D2 -- manifest-driven version discovery
- Refute fold -- name the platform condition; scope the residue case (#102 D2 G6)
- Design record for \#97 description-guard extension
- Review fold -- reconciliation precise; root-only scope stated (#97)
- Design record for \#125 pinned-escape coverage
- Refute folds -- revival-set precision, honest Windows posture (#125)
- Issue \#102 D1+D3 validation-report family design record
- CON-11 family amendment, drift row 13, GOVERNANCE generalization, validation doc (#102 D1)
- CON-11 structural reason + residual; wave-2 folds recorded (#102 D1, review R-F3 + A-F4)
- Increment loop amendments from the \#129 retrospective
- Issue \#43 capture & streaming design of record
- Record owner calls on all four forks (agreed 2026-09-21)
- Explicit §6 disposition -- multi-device concurrency and time correlation
- Issue \#133 retrospective skill design of record
- Review folds -- archive+git evidence lanes, moment pinning, dead tag (#133)
- Amendment 1 -- integrate 12-analyst RedTeam findings into \#43 record
- \#43 Amendment 2 -- standalone capture mode (Decision 9), slice-1 scope
- \#43 Amendment 2 -- pin the standalone capture directory layout
- \#43 Amendment 2 -- standalone formats (plain text first-class) + declaration chain
- \#43 Amendment 3 -- integrate external review (platima)
- Issue \#67 manifest-driven plot rendering design of record
- Declared-plot preview behavior + obligation 12's doc home
- Review-wave amendment -- guard wording, matrix sequencing, claim scoping, scaffold fix
- One edit-routing card -- which write path applies
- Docstrings for the four worst-documented public vocabularies
- Align development.md with what CI actually runs
- Describe the CI gate this branch's workflow actually runs
- Bridge docstring -- version fix, real async-host boundary, capture-budget disclosure
- The busy-timeout disclosure prices the full failed-dispatch path
- Narrow the develop-your-device loader sentence; pin it gateway-side
- The streaming documentation surface -- delivery ceiling, guide section, loader sentence
- REG-4's gap enumeration follows the machine source; the on_event escape residual named (G2 + row-9 note, Forge wave)
- Issue \#158 -- matrix render must be a pure function of committed state
- CON-12 invariant, GOVERNANCE identity sentence, obligation-6 extension (issue \#158)
- CON-12/GOVERNANCE name the pin as the mirror's authority (issue \#158 review wave F4+NIT-1)
- Issue \#156 run-worker emit-containment design record
- Issue \#167 run-engine activation design record
- Run-owned streaming + the adapter-run quota seam (issue \#167 slice 3)
- Review-battery disclosures -- teardown aggregate bound, corrected M-B attribution, row-B measuring condition, F4-residual deferral row
- Otdp 0.2.1 transport-provider prose -- the mechanism behind the sentence
- Obligation 15 -- the transport-provider lane's increment-2/3 pairing constraint
- Obligation 15 follows the actual heal path -- same-version re-vendor is refused
- The mutable -dev standards stage -- design record (gateway \#97 successor)
- F6 superseded -- single reviewer, coordinator carve-out, 2027-03-23 re-review (owner ruling)
- F3 promoted to increment 1 by owner ruling -- trigger fired
- The lineage paragraph gains the ruling's closing purpose clause
- The dps150 version triangle -- why the stamp cascade wins
- Record amendment -- the resolution landed on main in two steps; this branch lands the guard
- Issue \#159 Option-B row-1 activation review record
- Refresh \#159 sequencing state after the coordinated landing
- Issue \#147 increment 3 -- gateway admission and grant slice design
- CON-1/CON-10 provider amendments + drift rows 16/17 + operator guide
- Fold waves D+E -- admission proof is the triple row; \#167 gate-expiry scope note
- Record the execution-train design (issue \#176)
- Fold the refute slate's record amendments (#176)
- Amendment 3 -- promote-at-end model, dev-corpus resolution seam (#176, \#186)
- Capture-in-a-procedure authoring section (issue \#176 inc 2 obligation)
- Refute-fold prose and claim corrections (issue \#176 inc 2, commit 1/3)
- Deferral row 15 -- the error_code vocabulary split (issue \#176 inc 2 fold wave)
- Demo-lattice streaming surface + canonical manifest emission (issue \#176 rows D+G, obligation 3)
- Council fold wave -- row D+G prose disclosures (dF1-dF3, gF1/gF1b/gF4/gF5, critic-D5/D6)
- Governor fold -- released-posture prose after the execution 0.2.0 promotion (#176)
- Final fold -- baseline lines, README prose/counts, A-R2 sweep scope (#176)
- One worktree per lane + shared-stash rule (retro R1)
- Standing gate line in builder briefs (R2) + step-8 entry-shape fields (R4) -- retro 2026-09-25
- Issue \#199 archival-tier design record (BUILD-minimal verdict, AR1-AR9 pre-committed)
- Archival tier shipped -- every 'unbuilt' sentence moves; STO-5 amendment + new STO-6
- Manifest no-consumer status, zero-object manifests, verified_at-vs-mtime (R4+R6)
- §11 review fold -- the fix wave's disposition record
- Add contributor publishing path requirements PRD (#209)
- Record \#209 coordinator rulings (Q1-Q21) in the publishing PRD
- Add \#203 standards dependency management requirements PRD
- Add \#203 standards dependency management design record
- Add \#209 contributor publishing design record and planning index rows
- F6 -- capability-ungated hard arm named; the C3 binding rule in the guide
- Commit the \#146 invoke/dataset record with Amendment 2 (#146)
- Record Amendment 3 -- the slice-3 review fold (#146)
- Issue \#231 park design -- per-row dispositions for the \#146 follow-ons (#232)
- Define reopen trigger and deferral table row -- the deferral-row contract (#99) (#235)
- Issue \#172 cross-instance continuity instrument -- BUILD verdict record
- A1 baseline measurement -- 23/26 x3 reproduced at merge base
- Issue \#216 slice-2 resolver design -- BUILD verdict record
- The slice-2 invariant, governance and obligations text (#216)
- G-4 numbered; the duplicate obligations 19 renumbered (#216 fold wave 2 R16)
- Deferral rows D7/D8 for the retry-policy residuals (#159)
- Issue \#241 slice 1 design -- timing lane + priming-starvation classification
- The timing lane in the CI map and the prose surfaces (#241 slice 1)
- The review-fold amendment and the intra-lane ordering disclosure
- Correct the observed-run attribution and the two CI-comment overclaims (#241 slice 1, fold wave 2)
- Wording drift fixes and the wave-3 amendment (#241 slice 1, fold wave 3)
- CON-1/CON-10 slice-3 landing notes; census and cross-constraint rows (#217)
- Per-pin admission across the developer and operator guides (#217 review fold)
- D12 -- the API-view wire field deferral gets its §6 row (#217 review fold)
- Classify_descriptor_pin's totality is over pin values, not governance bytes (#217 review fold R8)
- \#247 gate-efficiency design -- batched-fold doctrine, xdist, gate wrapper
- Parallel-lane worktrees under .wt/ keep gortex overlays (owner directive) + design-record pointer corrections (#247)
- Split gate doctrine into per-commit fast lane + per-push battery (#247)
- Issue \#241 slice 2 record -- re-band decisions (D1 drain-cap classification, row-17 marker, HOLD arms)
- Wave-2 fold -- record errata for the unbuildable patch shape and the headroom arithmetic
- Slice 5's surfaces -- CON-12 landing, operator ack guide, D11 closed (#219)
- Issue \#242 UI renderer-neutral contract design of record
- Split the style guide into a normative contract plus guidance
- Issue \#254 rubric tier-rules design of record
- Step 1 ui/ tier rule, design-time keyword check, interplay note
- Fold the \#254 review battery -- 19 rows, one batch
- Slice-6 design record -- contract_version is the pin carrier
- CON-1 amendment -- the execution per-document pin (#220, \#203 slice 6)
- Issue \#243 UI follow-on design of record
- Fold the \#243 S1 wave-2 reviewer rows (R1-R4)
- Issue \#221 zero-literal end-state design record
- Issue \#260 record-lane design record
- Add counter-boundaries design record
- Obligation 20 assembly/scripts/membership clauses; obligation 22 region pin
- Issue \#244 digital_lanes design of record
- 18(n) carries the widened-staleness framing (wave-2 T2 add)
- 18(n) carries the widened-staleness framing (wave-2 T2 add)
- \#233 register pass -- six dormant rows, D5 why-query slice design
- Standalone web UI PRD (#282)
- Run close stops dispatched agent lanes too
- \#283 I1 skeleton design record
- \#283 review dispositions -- LOW accepted-risk, NIT deferred to hardening pass
- Add PRD 12 gateway web UI (HTMX) and React retirement
- Issue \#288 spec-09 review fold design record
- The promotion flow names its record steps (LOW 3)
- Issue \#288 G6 -- dev-head pinning how-to, stale-version guidance, invariants/obligations amendments, CLI table
- Register constraint_bounds_reversed and the marker_mirror_drift posture (F1+F2)
- Revise PRD 11 for the PRD 12 rulings (issue \#312)
- Sweep remaining ECharts references to uPlot (issue \#312)
- Issue \#317 website status update design record
- Bring the "Where it stands" section current (issue \#317)
- Fold refute findings F1+F2 from the issue \#317 review
- Complete the Q12 sweep -- remaining ECharts refs to uPlot
- Issue \#241 slice 3 -- load-honest retry pins and the one-shot cell belt
- The timing-lane conventions line names the cell belt
- G1a contract-gate design record (issue \#297)
- Fold note for refute F1/F2 (issue \#297)
- G1c computed-proofs port + lane decimator design record (issue \#299)
- G1c erratum - reviewer command, G1e arm-(b) row, Sharma F4 (issue \#299 G1c refute folds 1+2)
- Issue \#302 design record -- ui-html release pipeline and versioning machinery
- The release-and-pin process page (#302)
- Fold F1/F2/F3 review rows into the release-and-pin page (#302)
- The website deferrals fold record -- \#319 + \#321 + \#291 + the \#320 ruling
- \#319 claim-reconciliation sweep -- 4 stale sites + 1 tense disclosure
- \#321 obligation row 23 -- verb/command-set prose drifts with its mechanism
- G1b partials + canonical artifacts design record (issue \#298)
- Design record -- residual flake families
- Conventions sentences -- named residuals, TestClock standing policy, no-local-only ruling
- Design record -- re-sync the post-dispatch fold, re-apply the D-rowB pointer amendment
- G1d pattern library + ten behaviour compositions -- design record (issue \#300)
- \#207 Windows deterministic platform expectations record
- \#207 testing-conventions sentence -- capability probes over platform strings
- Commit the issue \#301 React-cutover design of record verbatim
- The R-5/R-6/R-7 rewrites -- freeze record, obligation rows, styleguide
- The intro CI-filter line matches the real gates invocation
- The review rubric's tier-scope and G2 lane follow the cutover
- Issue \#224 slice 2 catalogue+search design record
- \#224 slice-2 amendments -- CON-13, REG-5, taxonomy, obligation 18(o), styleguide shapes
- Issue \#224 slice-2 pivot -- registry-hosted catalogue, all lane findings folded
- \#224 s2 pivot amendments to the built truth (CON-13, REG-5, taxonomy, obligations 18/20)
- Windows CI evidence lane design record
- \#224 follow-on records table + drill-down + signed rows + downloads -- amended record folding the owner mockup
- Authored adoption of the records-table and record-page components (#224 follow-on)
- Registry mark FIRED on the live domain (owner 2026-10-03) + the missing records-table/record-page CSS declarations (authored-side gap the vendor convergence exposed)
- \#225 slice 3 design record -- management surfaces and identity
- REG-5a amendment -- \#225 slice 3 namespace/lifecycle clauses (corrected)
- Clarify canonical SDK vs packages/sdk mount (refs \#347) (#351)
- Document-writer agent + the ASD-STE100 documentation register (#352)
- Register follow-up -- developer-facing guides, gortex grant, dictionary-check wording (#352 rows L1/L3/L4)
- \#302 first-release design record -- publish workflow, census, runbook (critic-folded)
- First-release runbook, walk, operator steps; CI map rows (#302 first release)
- Split the jammed windows/systemd CI-map rows (#346 follow-up)
- Rewrite README to ASD-STE100
- Rewrite development.md to ASD-STE100
- Rewrite publishing-guide.md to ASD-STE100
- Rewrite smart-test-gateway-decisions.md to ASD-STE100
- Rewrite ai-device-reviewer.md prose to ASD-STE100
- Rewrite architecture-validation.md and architecture-closure.md to ASD-STE100
- Rewrite pointer pages to ASD-STE100
- Rewrite device docs to ASD-STE100
- Rewrite smart-test-gateway-architecture-v1.5.md to ASD-STE100
- Rewrite compatibility.md prose to ASD-STE100
- Rewrite develop-your-device.md prose to ASD-STE100
- Rewrite device-developer-guide.md to ASD-STE100
- Rewrite operator-guide.md prose to ASD-STE100
- Revert a fence-interior placeholder edit in publishing-guide
- Convert the two remaining operator-guide section headings
- Resolve registry check-count and registry-version statements against machine sources (#359)
- Residual register fixes for the \#353 four
- SA-PREVIEW design record, PRD 11 v0.3 amendments, obligation-12 pin row, SDK pointer (#364)
- Issue \#238 load-boundary refusal for separator-spoofed normative rows
- Issue \#191 capture_limits class-bound question -- DEFER record
- Issue \#369 reading tiles -- evidence join vs sample-bearing read weighed; shape (1) specified, owner fork named
- \#369 fold addendum -- F1 ruling (no stored subscription-\>device resolution; carrier named), F2/F3 dispositions (dated; the design record stays frozen)
- \#369 fold-2 -- claim-accuracy corrections the addendum owes (LOW-2, LOW-5)
- Issue \#367 D1 normative-seam sweep design record
- \#367 dated addendum -- owner calls on forks 1-3
- \#367 fold wave -- five record-accuracy rows from the refute lanes
- Issue \#316 endurance-authz design record
- Fold wave -- the full seam-skip family, grant scope, boundary
- Issue \#231 park reconcile -- 2026-09-26 dispositions re-verified at main c183db4
- Issue \#294 token-freshness gate -- premise-corrected pin-discipline design
- Obligation 12 names its freshness detector; CI map gains the SDK lane row (issue \#294 slice 1, design §2.3)
- Obligation-12 red condition matches the mechanism -- pin-ahead reddens too (refute LOW-1 fold)
- Issue \#304 G3 control -- leases, staging, energy confirmation, expiry guards
- The G3a operator rows -- lease controls, the 6-hour default, the poll knob (#304)
- Issue \#380 family release process design record
- Issue \#380 family release process + gateway cut authority
- Issue \#380 fold adv1 F1+F2 -- honest enforcement modality + the gateway notes command
- Discovery wording defers to the schema and the landed code (#386)
- \#226 slice 4 -- response reach: cached status consult design record
- REG-5b amendment, \#167 Decision-1 amendment, obligation 27, Response reach
- STE pass on the Response reach bullet -- two sentence splits
- PR \#391 row calls -- denominator truth, temporal fix, record errata
- The G3b operator rows -- staging, preflight, confirm, replay, cancel (#304)
- Close obligation 7 and re-home the developer guide's preview sentence (gateway \#308)
- G4 administration -- change submit, review, apply (issue \#305)
- The G4 operator rows + the CON-5 fold (issue \#305)
- Land the issue \#401 domain-links design of record
- Repoint published-site links onto the project domains
- The issue \#393 design record (ADC high-rate, protocol v2 + SW-60/61)
- Complete the firmware-drop sweep (re-review fold M1+L2, issue \#393)
- The \#407 negotiated-transport design record (as committed authority)
- The \#407 refute-wave addendum (dated, frozen record intact)
- Wave-2 addendum -- the drift-lane fact, the coupling matrix, two claim corrections
- Wave-3 addendum -- the closed-session law and four corrections
- Issue \#408 release-pipeline hardening -- the design record
- The declared-pin amendments (obligation 7, CI map, family, order rule)
- Addendum 2 -- m1's runtime failure modes (F7) and the open-world class's silent-pass correction (F4)
- Issue \#381 versioned-docs port design record
- Versioned-docs landing -- readiness condition 1, cut procedure, taxonomy
- Issue \#394 mock byte-stream transport -- design of record
- Issue \#394 addendum 1 -- the fold's corrections
- The v0.4.0 pre-tag registration (versions list + dev entry)


## Features

- Validate exact-byte JSON documents
- Vendor admitted architecture contracts with verified manifest
- MCP client spike with local identity issuer
- Durable run lease request and event state
- Publish scoped host ABI as typed OTDP envelopes
- Sim_psu plugin with OVP OCP trip latch over the host ABI
- Sim_controller plugin with numeric uptime telemetry
- Fault matrix protocol fixtures and timeout-after-dispatch rule
- Sim_psu dc_psu class actions over the host ABI
- Strict admission of execution documents with executable fixtures
- Semantic admission with lexical scope and budget bounds
- Role binding resource closure and bench lease
- Safety policy allow rules and continuous conditions
- Eight-kind execution engine with occurrence ledger and body deadline
- Lexical references issued ids and three-valued trustworthy predicates
- Protection engine coordinator and truthful terminal records
- Project muninndb MCP as muninndb-benchweave, distinct from global connection
- Strict vendored-schema loaders; types-jsonschema carry-in
- Deterministic fixture catalogue with signed releases and fault statuses
- Ed25519 authenticity with expiry and sequence rollback rejection
- §10 semantic admission -- closure, paths, spdx, conflicts
- Configured-origin resolver with strict routing and authenticated closure
- Admission -- lifecycle gates, verified extraction, explicit package lock
- Idle-boundary activation record and cache plugin loader
- WP06 close -- vacuous-constraint warning, store single-writer doc, full gates
- Origin-level signature policy -- dev-unsigned skips authenticity only
- Publish_dev -- unsigned dev packaging and keyless developer loop
- Add mock-qualified FNIRSI DPS-150 protocol and adapter
- WP07 task 1 -- fastapi/fastmcp deps + schema-fidelity spike (gateway_info deep-equality proven)
- WP07 task 2 -- v2 migration (generations, benches, devices, run_states, changes) + LeaseNotActive
- WP07 task 3 -- content-addressed documents/artifacts/evidence + quota-bound retain_evidence
- WP07 task 4 -- 14-code error model, observe seam, startup bench admission
- WP07 task 5 -- control seam, §9 scoped dedup, run queue/worker, monitor evidence hook
- WP07 task 6 -- bench event streams, seven kinds, principal-bound cursors, honest retention
- WP07 task 7 -- two-phase admin changes with independently authenticated approvals
- WP07 task 8 -- FastAPI app + FastMCP mount, 17 vendored-exact tools, token auth
- WP07 task 9 -- 20 REST routers, exact statuses, 14-code error translation
- WP07 task 12 -- licence display verdict, FastMCP qualification record, docs currency
- Add SDK-aligned presentation contracts and presets
- D8 seam validation against the vendored corpus
- D9 §5 accept-time busy/binding pre-checks
- D12 commissioned takeover slice + authority_changed emitters
- D13 lease expiry, events index, crash-window reconciliation, hygiene
- D13 lease_renew §6 semantics -- duplicate returns same renewal (§9 keys, sweep resolves in leases), late renewal cannot revive an expired row
- D13 §6 lease contention -- lease_create rejects live run/live lease (closes the D12 consume→reserve window), fixtures restructured for one-live-lease-per-bench
- D2 interface-v1.1.1 errata (change_apply approver_token), 1.1.0 untouched
- Wire fixture resolver session at bootstrap (unblocks admin change kinds)
- Click command tree + machine output paths
- At-rest setup/verify + WAL-aware backup/restore with daemon-hold
- Live status/demo with ephemeral fresh-install mode
- Textual renderers with plain-text fallback
- Truthful report model + markdown/JSON emitters
- Systemd template + permissions review + CI verify; serve production posture
- Seeded journey volume generator
- PRD target measurement + non-gating stress tier
- Fault-matrix harvest + digest index -- evidence group complete
- Establish React and Storybook foundation
- Add Layered Precision themes and surfaces
- Add staged engineering controls
- Add semantic readings and alert bubbles
- Add engineering plots and data tables
- Add operator and admin workbench mock-ups
- Define deterministic preview fixture contract
- Validate preview fixtures and baseline states
- Serve deterministic preview API on loopback
- Add local preview-ui command
- Render SDK preview scenarios through host components
- Pin the preview wire document
- Canonical standards manifest with hash validation
- Deterministic bundle export
- Non-mutating sync check and make targets
- Generated compatibility matrix
- Adopt the SDK repo's sdk-tagged memory ledger (submodule 2b426a1)
- Evidence-backed session layer -- handshake frames + telemetry drain
- Session establishment + telemetry drain/route per WP10 design
- Live demo script under the plugin -- ramp, telemetry, session-survival flourish
- Git-cliff config, seeded CHANGELOG.md, merge-driven regeneration
- Standards GOVERNANCE.md rulebook + resident standards-governor agent
- Public site -- static front door + Great Docs tree on Pages
- Add "Where it came from" -- the origin of the project
- "What surprised us" and a validated "Where it stands"
- Align the main site to public-site styleguide v0.2
- Star-on-GitHub header CTA with live count
- The build loop -- agents, skills, drift guard, design records, constitution (#42)
- Benchweave.standards repin -- the mechanical pin writer (#46) (#52)
- Derive-check identity.adapter_api against the descriptor schema const
- Sim_scope settings-presets simulator + host-ABI dispatch suite
- Sim_scope ui resources, both SDK lanes, eight RED controls
- Plugin-ui 0.1.1 channel_hints + two-pass renderer
- Pure module + admission + executor wiring (issue \#6 row B)
- OTDP 0.1.2 -- derived variables in the measurement model
- OTDP 0.2.0 -- configure-carried averaging + class sample_count bound
- Plugin-ui 0.2.0 -- lane-1 descriptor envelopes + unreferenced-preset refusal
- Descriptor admission validates and projects full-form OTDP (#63)
- The tree converts to full-form OTDP -- one dialect (#63)
- The slim descriptor dialect dies (#63)
- Re-version to OTDP 0.2.0 -- check-clean, absorbed (#83 into \#63)
- \#85 -- route startup through the admission gate before any store write
- Machine-written, byte-pinned OTDP validation report
- Registry 0.1.1 -- admit the skill payload-file role (issue \#71 slice 1)
- The prescriptive bump window, enforced (#97)
- Manifest-driven OTDP version discovery in the validator + pin (#102 D2)
- Shared validation-report writer; check_devices delegates (#102 D1)
- Registry validation report joins the writer family (#102 D1)
- Execution validation report joins the writer family (#102 D1)
- Interface validation report joins the writer family (#102 D1)
- Closure validation report joins the writer family (#102 D1)
- Otdp coverage prose derives its counts (#102 D3)
- Retrospective -- standardized end-of-period report with sub-agent review (#133)
- Plugin-ui-preview 0.1.0 -\> 0.1.1 -- plot_views on the wire
- Manifest-declared plots render in the preview (0.1.2)
- Gortex-write-gate -- deny native edits in tracked primaries
- V5 capture-staging migration + refuse-newer guard + hygiene pins
- Staged-append capture writer (open/append/finalise/abort/sweep/ledger)
- Composing capture-services bundle + controller + permission read
- Bridge dispatch(capture) -- gates, manifest conversion, classification, epilogue
- Kind-scoped evidence quota accounting -- the (context_key, kind) dimension
- The stream controller -- registry, event landing, event_sink admission
- Bridge stream dispatch -- subscribe/unsubscribe verbs, gates, registry wiring
- Bridge next_event mediation -- validation, refusal taxonomy, gap honesty (R4)
- The stream poll engine -- poll-slice multiplexing with monitor ticks between polls
- Matrix render reads committed state only (issue \#158)
- Run_check enforces the sdk_compatibility mirror (issue \#158)
- Bump-window floor revisited 48h -\> 24h (owner ruling)
- Construct commissioned OTDP bridges in build_run (issue \#167 slice 1)
- Run-owned streaming composition -- arm, drive, contain, tear down (issue \#167 slice 2)
- OTDP 0.2.1 baseline -- copy-never-move from 0.2.0, no semantic change
- Otdp 0.2.1 -- transport.custom gains the pinned provider declaration
- Reference-rawlink -- the custom-transport-without-provider example
- OTDP 0.2.2 -- the fold re-rolled as a PATCH; 0.2.1 frozen at SDK-release bytes
- The -dev stage -- one optional dev head per manifest entry
- The dev-proof lane -- -corpus points a family census at the declared dev head (F3)
- The RC candidate marker -- optional boolean candidate on the dev block (owner ruling)
- The lineage amendment -- promotion keeps the predecessor edge (governor re-check ruling)
- Transport-settings.json -- the identity-only commissioned surface
- The provider admission seam -- census mirror, pin mirror, gateway-only row
- ProviderTransport grammar guard + the build_capture_services gate
- Dev-corpus resolution seam -- declared_dev_family + CorpusResolution threading (#176 inc 2)
- Capture runtime surfaces at admission -- projection, semantics mirror, policy kind (#176 inc 2)
- Capture executor branch, resolver arm, host-minted ids (#176 inc 2)
- Refute-fold production wave -- policy guard, event/record shape, floor, ceiling (issue \#176 inc 2, commit 3/3)
- Demo lattice streams -- sim_psu bridge adapter + event_sink descriptor (issue \#176 row D, design Decision 3)
- Migration v7 -- four additive archive-tier columns on dispositions
- Disposition writer -- outcome 'archived', two-shape envelopes, two-tier invocation
- Dispose -archive-target -- Phase-A stager, reclassification, typed refusals
- Dispose -verify-archive -- the read-only verify arm (AR7)
- Pinned-contract resolution at load (#146 slice 2, §2.1)
- Bridge invoke dispatch -- gates, conversion, clamp, lane-honest refusals (#146 slice 2, §2.3)
- Wire the invoke lane through the real activation path + pin narrowing + guide (#146 slice 2)
- The payload lane -- writer open_payload, bundle members, registry, R10 (#146 slice 3 S3a, §2.2)
- Dataset_publish + dataset_lookup -- the validation surface (#146 slice 3 S3b, §2.2)
- Artifact_read -- the reader surface with the refused offset floor (#146 slice 3 S3c, R13)
- The permission-gated builder + app.py composition (#146 slice 3 S3d, §2.2's table)
- Riders, the N=30 E2E through the real activation path, guide dataset half (#146 slice 3 S3e)
- Item 5 rider 1 -- artifact_read serves published variables' payloads (#146)
- Item 5 riders 2-4 -- dataset row labels, the v5 payload addendum, the guide's M14/M15 status (#146)
- Issue \#172 classifier + ledger -- frozen \#159 §6 made executable
- Issue \#172 two-instance continuity rig -- axes X1-X4, controls, checks
- Multi-version serving -- policy block, multi-entry export, two-sided gate
- Intervals, caret expansion, classification, CLI siblings (#216)
- Fail-closed loader + the root-scoped exemption (#216)
- The resolver and the lock v2 writer; DPS-150 relocked (#216)
- The version-normalized comparator (#216)
- Pin -locked and check's plugin dependency lane (#216)
- Record each failed attempt's retry site
- Per-pin descriptor admission -- the Q6 classification table (#217)
- Pairwise cross-constraint admission check (#217)
- Run-evidence and API-view surfaces for the pin facts (#217)
- Gate wrapper with honest machine-readable evidence (#247)
- Content-addressed dev pins -- opt-in, sha lock rows, wheel refusal (#218)
- Dev-pin admission -- dev and released side by side on one bench (#218)
- Promotion records and their three gates -- digest, sweep, pending-successor (#218)
- The founding promotion record -- execution 0.2.0 recovered from history (#218)
- The matrix's per-version rows, from committed state (#219 slice 5)
- The SM-5 migration-note gate and its walk (#219 slice 5)
- Operator acknowledgement persistence -- D11 lands (#219 slice 5)
- Safety behaviours in the reference renderer (#242 slice 2)
- The execution per-document pin -- the bench's contract_version routes the lattice (#220, \#203 slice 6)
- The run guard -- execution_version_not_runnable (#220, \#203 slice 6)
- Plot-series tokens, set-derived assignment, sequences (#242 slice 3)
- Limiting state, setpoint triad, staleness (#243 slice 1)
- Plot axes, reference lines, decimation, provenance (#243 slice 2)
- Active_version_from_corpus loader + corpus_root/active_contract_family helpers
- The zero-literal end state -- nine derivations, register, zero-mode
- The record lane -- runs are an implemented-dialect fact
- Constant-folding assembly detection in the zero-literal counter
- The scripts/ scope -- three derivations, twenty registrations
- Flat-plugin scope, marker-based environments, twin region pin
- Digital_lanes grammar + validator -- plugin-ui 0.3.0 + plugin-ui-preview 0.2.0 (#244 S1)
- DigitalLanesPlot renderer + contract rows + the decimation proof (S2)
- Decoder-lane rendering -- annotation spans, disclosure, waiting (S3)
- The why query -- VR-40's constraint -\> locked-version explanation
- Contract grammar, corrected 28-table manifest, registry, roles, tokens (issue \#297)
- The pytest contract harness - collection is the parse (issue \#297)
- Host-side lane decimator + the §E.4.4 property proofs (issue \#299 G1c)
- \#291 the standards-CLI page, generated from -help at build
- G1b slice 1 -- item parser, assertion layer, button artifact, harness wiring (issue \#298)
- G1b slice 2 -- structural families, labels, refusals, icons, sequences, tokens, CSS pins (issue \#298)
- G1b slice 3 -- plot lane: UR-07 emit model, slots, hints, axes, ref lines, acquisition, provenance (issue \#298)
- G1b slice 4 -- lanes lane: §E.4 composition over reduce_lane, end state 158/168 (issue \#298)
- G1d slice 1 -- staleness predicate + the composition state machine (issue \#300)
- G1d slice 2 -- the ten behaviour checkers; the registry at 168/168 (issue \#300)
- G1d slice 3 -- the PATTERNS registry + the static export (issue \#300)
- G1d slice 4 -- the browser lane, CI partition, and the docs export (issue \#300)
- Vendor the style assets with an inventory + verify (G1e UR-10)
- The React cutover -- delete ui/, wire the contract gate into the default run (the atomic swap) \[**BREAKING**\]
- Plugin catalogue -- mirror, pin, generated panel block (issue \#224 slice 2)
- Catalogue search -- pure predicate + DOM wiring (issue \#224 slice 2)
- Plugins panel becomes a static teaser to the registry-served catalogue (#224 s2 pivot)
- Teaser links the catalogue's canonical domain -- registry.benchweave.dev (owner cutover 2026-10-02); byte-pin regenerated AST-verified
- Gate packages/sdk staleness -- sdk-drift lane (#347 WS1) (#360)
- G2a -- the browser session, /ui shell and routing pins (#303) (#363)
- G2b -- the read views, refusal matrix and route-mapping gate (#303) (#368)
- G2c -- the live-events SSE bridge (#303) (#370)
- Populate device-page reading tiles from retained observations (#369)
- \#367 D1 -- corpus-rooted load twin, one runtime normative-row resolver
- Issue \#316 -- the unattended-grant run gate (two-layer)
- Session-side held-lease views and granted session duration (G3a)
- G3a lease controls -- take/renew/release, GW-95 session bound, GW-44 warnings, polled fragment (issue \#304)
- 6-hour manual lease default (#307) -- app-entry, demo, and the poll-knob env (G3a §2.6)
- The cached status consult -- response reach for commissioned closures
- Session-side staging records and pending-cancel markers (G3b)
- The trip predicate and the energy classification (G3b §2.5/GW-52)
- The staging panel and the five G3b routes (issue \#304, §2.4)
- The run-starts fire path with fire-time guards (issue \#304, §2.4)
- The ungated cancel route and the run-page marker (issue \#304, §2.4)
- G4 change index -- the session's change side table (issue \#305)
- G4 submit + review page + the submit no-response variant (issue \#305)
- G4 approval load + apply + the GW-71 guards (issue \#305)
- G4 inhibited state + the per-session acknowledgement (issue \#305)
- The adc_6ch_12bit wire-family v2 reference implementation (issue \#393)
- The adc v2 firmware, wire spec, and CI lane (issue \#393)
- Drop the in-tree reference firmware -- the plugin repository owns it (issue \#393)
- The declared-pin lane for the packages/sdk mount
- Versioned-docs port -- two-regime assembly + registration checks (issue \#381)
- Selector scaffold + gotoVersion; selector family in stamp_website


## Hardware Evidence

- First real-hardware contact -- identity, session behaviour, live telemetry
- HW-04 leg 1 -- baseline read-back via the shipped session layer (read-only)
- HW-04 leg 2 -- voltage setpoint write accepted, no readback path (dispatch-only confirmed)
- HW-04 legs 3/3b/4/6 -- setpoint+protection readback proven, both dialects live
- HW-04 leg 5a+5b -- output toggle proven; setpoints APPLY (1.00V commanded, 1.0V at terminals incl. ramp sample); restores verified; mid-run crash emergency-restored + re-run clean (codec 260B feed bound honored)
- HW-04 panel observations -- principal's screen mirrored remote writes and output state throughout (no divergence)
- Panel observation-3 -- V-set display tracks local knob, not remote writes; local control live during PC session
- HW-05 legs 1+2 -- session SURVIVES port-close and host process death (answered with no re-handshake both times)
- HW-05 leg 3 -- session SURVIVES USB unplug/replug (cold query answered); /dev node name stable across re-enumeration; wake is power-cycle-bound
- Task 6 interim -- identify verified end-to-end via adapter stack; read verb unverified (harness request-shape, next session)
- Task 6 complete -- identify+reads wire-verified; ADAPTER DEFECT found: trailing telemetry poisons the session (live-only, mock-blind); fix direction recorded
- Fix verified on device -- 165/165 clean reads over 60s through the correlated-wire adapter


## Miscellaneous

- Ignore gortex cross-harness shims, checkpoint state, rendered ISA
- Keep ISA local under docs/superpowers (muninndb convention)
- WP08 slice-1 closure chores (flake evidence, stash reconciliation, SDK validation report, lock_path register note)
- WP08 register close-out + vendored-tree guard
- Advance submodule for standards sync
- Sync submodule with SDK repo README and docs commits
- Submodule pointer - superpowers docs stay local
- Submodule pointer - ignore docs/superpowers
- Submodule pointer - standards sync check exit, vocabulary and deprecation reporting
- Submodule pointer - self-contained standards check and SDK CI pipelines
- Submodule pointer - matrix gate note points main-side
- Ignore the export staging directory
- SDK reviewer agent, conventions and MCP wiring (submodule 032e8d8)
- Submodule pointer - reviewer doc census completion
- Submodule pointer - absolute doc links (submodule 49d0bb9)
- Advance sdk pointer to v0.0.2 (0f105a3)
- Advance sdk pointer to bb3159e (tap-bump job)
- Ignore gortex git-hook artifacts (wiki, mermaid exports, docs bundle)
- Remove the retired firmware/esp32_reference placeholder
- Post-consolidation cleanup -- retire firmware placeholder, re-lock dps150 contracts (#20)
- Advance SDK pointer -- adapter API constant at 0.1.0
- Principal row calls -- redate releases to the reset, align acceptance record
- Re-lock dps150 at the 0.1.0 baseline
- Re-lock dps150 at the 0.1.0 baseline (#22)
- Ignore device plugins' local vendored contracts
- Ignore device plugins' local vendored contracts (#23)
- Advance SDK pointer -- gortex-artifact ignore guard (main \#17 parity)
- Advance benchweave-sdk pointer (CoC + governance docs)
- Advance SDK pointer -- docs site + public site merged (PR \#4); repoint plugin-sdk stub
- Advance SDK pointer -- close-out docs
- Advance SDK pointer -- SDK-focused static site
- Advance SDK pointer -- docs concurrency fix
- Advance SDK pointer -- styleguide v0.2 brand
- Bump packages/sdk to 17d6ecb (star CTA + header wrap)
- Bump packages/sdk to 5da15c7 (gateway links to project website)
- Enable the security lint the tree's suppressions were written for
- Advance packages/sdk to the pushed plugin-ui 0.1.1 SDK branch
- Advance packages/sdk to the C1-C4 renderer refresh
- Advance packages/sdk to the W1 renderer refresh
- Advance packages/sdk to the FC1/FC2 renderer refresh
- Advance packages/sdk to the otdp 0.1.2 vendoring
- Advance packages/sdk to the reconciled dual-standard tip
- Grant code-reviewer + increment-builder gortex read/query tools
- Grant the four review-lane agents gortex read/query tools
- Frontmatter + gortex read/query grant for standards-governor
- Muninndb-benchweave read/query grants for designer, adversary, critic
- Advance packages/sdk to the OTDP 0.2.0 vendoring
- Advance packages/sdk to the plugin-ui 0.2.0 vendoring
- Drop Finder-style duplicate artifacts swept in by add -A
- Advance packages/sdk to the registry 0.1.1 vendoring
- Regenerate the lattice single-cause after the \#87 rebase
- Advance packages/sdk to the /src anchor + .hgignore widen
- Advance packages/sdk to the agent-native scaffold (0.0.3, fold wave 1)
- Migrate gortex grants to official server-pattern + disallowedTools shape
- Deny muninndb write tools on the muninn-carrying agents
- Grant mcp\_\_gortex\_\_edit to increment-builder, reconcile-gated
- Advance packages/sdk to 1c700bf (issue \#67 SDK arc)
- Advance packages/sdk to 168cefb (disclosure wording)
- Advance packages/sdk to 4263cc3 (scaffold numeric-target fix)
- Advance packages/sdk to 57a3441 (generated-test syntax fix)
- Advance packages/sdk to v0.1.0; reversed-range becomes both-refuse
- Capture-store module stub -- RED collection scaffold
- Capture-services module stub -- RED collection scaffold
- Drop the dead EvidenceQuotaExceeded re-export; operator guide names refuse_newer_schema
- Pointer advances to the 0.2.2 vendor (SDK PR \#47, merge 6121c96)
- Remove the two committed sync-interference strays (governor amendment)
- Lint and type residue -- Unresolvable catch, import order
- Encode the 2026-09-24 discipline rows R1-R4 (#181)
- Fold the refute slate's hygiene items (#176)
- Advance packages/sdk to the execution 0.2.0 sync (#176)
- Sdk_compatibility mirror + pointer = certified 0.3.0 (SDK 0.3.0 pairing)
- Advance packages/sdk to e948fd5 (PR \#56) and amend the capture record
- Advance packages/sdk to 3b14d0e (DatasetServices protocol, \#146 slice 1)
- Advance the SDK pointer to the fix-wave tip
- Advance the SDK pointer to the late-folds tip
- Advance packages/sdk to the safety-behaviours renderer (#242 slice 2)
- Advance packages/sdk to the review-fold renderer (#242 slice 2)
- Advance packages/sdk to the series-tokens renderer (#242 slice 3)
- Advance packages/sdk to the folded-instrument renderer (#242 slice 3)
- Advance packages/sdk to the slice-1 renderer (#243 slice 1)
- Advance packages/sdk to the S1-fold renderer (#243 slice 1)
- Advance packages/sdk to the slice-2 renderer (#243 slice 2)
- Advance packages/sdk to the S2-fold renderer (#243 slice 2)
- Advance packages/sdk to the addendum renderer (#243 slice 2)
- Re-trigger workflow events (no runs attached to fd92efc; drop suspected)
- Advance packages/sdk to the zero-literal derivations
- Advance packages/sdk to the SDK branch head (G3a test)
- Advance packages/sdk to the fold commit
- Advance packages/sdk to the twin-fixture fix
- Regenerate the compatibility matrix for the digital_lanes train (#244 S1)
- Advance packages/sdk to the PR \#73 merge -- SDK half of \#288
- Advance packages/sdk to the registry 0.1.2 sync (issue \#223 slice 1)
- CodeQL + dependabot baseline (issue \#223 slice 1, CR-59)
- The sign_release register row follows the retired status literal
- Advance packages/sdk to the fold tip (issue \#223 signing-surface folds)
- Advance packages/sdk to the SDK CI-fix tip (7936296)
- Advance packages/sdk to the lockfile-regen tip
- Advance packages/sdk to the base-derivation tip (1c62bba)
- Advance packages/sdk to the identity-fallback tip (7d9a8ba)
- Bump actions/download-artifact from 7.0.0 to 8.0.1 (#335)
- Bump orhun/git-cliff-action from 4.9.0 to 4.9.1 (#336)
- Bump actions/cache from 4.3.0 to 6.1.0 (#337)
- Bump astral-sh/setup-uv from 9.0.0 to 10.2.0 (#338)
- Bump actions/setup-python from 6.3.0 to 7.0.0 (#340)
- Bump fastmcp from 4.0.3 to 4.0.10
- Regenerate uv.lock for the fastmcp 4.0.10 bump
- Delete the gateway-side search/panel/authority proof fleet (#224 s2 pivot)
- Delete the mirror machinery; restore the literal gate to its pre-slice shape (#224 s2 pivot)
- Bump actions/configure-pages from 5.0.0 to 6.0.0 (#349)
- Advance packages/sdk to v0.6.0 (#309) (#365)
- Advance packages/sdk to v0.7.0
- Advance packages/sdk to v0.7.0 -- lock + mirror + pointer
- Render the compatibility matrix for the 0.7.0 pairing
- Retire the scaffold.py register row -- the v0.7.0 SDK deleted the file
- Advance packages/sdk to v0.7.1
- Render the compatibility matrix for the 0.7.1 pairing
- Follow the v0.7.1 tag re-point to its self-registration commit
- Advance the SDK pointer to v0.7.1 -- gitlink, CON-12 mirror, twin register, census (gateway \#308)
- Point packages/sdk at the \#393 serial-backend branch tip
- Refresh the docs literal baseline for the adc pointer stub (issue \#393)
- Follow the \#393 SDK fold (S1-S5) at 145f3a6
- Follow the v0.8.0 release tag (issue \#393)
- The v0.8.0 pairing -- sdk_compatibility mirror follows the tag (issue \#393)
- Regenerate the compatibility matrix for the v0.8.0 pairing (issue \#393)
- The pin advances with its mount -- v0.7.1 -\> v0.8.0
- Bump version to 0.4.0


## Performance

- Copy the docs tree once per session in the architecture tests


## Refactoring

- Keyless builders extracted to registry_common -- dev loop loads no cryptography (surface-audit wave 2, item 15)
- Colocate device and simulator projects
- Align CLI with Click Rich and Textual
- Single-source preview constants
- One standards tree -- corpus, prose and locks under standards/
- One standards tree (corpus, prose, locks under standards/) (#19)
- Id/version tree -- standards/// with retention
- Reset every standard to 0.1.0 -- the governance starting point
- Id/version tree, full 0.1.0 reset, and governance layer (#21)
- Single-source the family marker; refusal-family honesty (#102 D1, review R-F5 + A-F3)
- One canonical-bytes helper behind the agreement pin (#176)
- Authorisation reads the classification's status; the pin record threads through (#217 review fold R6/R7/R11c)
- M4 -- one canonical derive_move_to, labeled degenerate states
- M4 twin reconciliation -- the downgrade label rides the refusal side


## Security

- Origin/main into feat/issue308-pointer -- the pairing duplicates drop (gateway \#308, PR \#400)


## Style

- Extract the execute-call fixture constant to clear E501
- Ruff/mypy cleanups in the registry-contract instrument
- Ruff-format the dps150 SCHEMAS expression
- Ruff autofix (import order, unused import) after the A3 slice


## Testing

- WP06 acceptance -- reuse, tamper, revocation, rollback, collision
- Pin cache-loaded module identity in run legs (Task 8 review)
- Cover high_water_invalid on malformed persisted state (final-wave review)
- Six-pin test-posture batch closes the WP05 coverage gaps (surface-audit wave 2, item 12)
- WP07 task 2 backfill -- device method coverage + has_more/None paths (+ v2 newline)
- WP07 task 3 backfill -- sha-mismatch rejection pinned
- WP07 task 10 -- REST↔︎MCP parity suite + tier fix + deviation pins
- WP07 task 10 backfill -- wrong-audience + expired token probes + register disclosure
- WP07 task 11 -- event-recovery suite, worker poison guard, §144 disconnect+evidence failure
- WP07 task 11 backfill -- evidence-gap record survives with refs pinned
- Satisfy strict CI typing for presentation tests
- Pin extra-property wire truth + D8 residual, anchor test corpus path
- \_masked_error helper + wrong-typed approver_token 400 pin
- T10 whole-branch minors -- served events_get letter, second-boot refusal, autocheckpoint pin
- T11 teardown pin + T12 real events_observed assertion
- PRD journey scaffold -- discover/admit/select live
- Run journey REST+MCP+report, admin + stale-generation legs
- Fault legs + second-install reuse -- journey complete
- Packaging asserts lock-wheel equality; smoke reads the SDK lock
- Self-contained standards check without a bundle
- Unchanged, clarification and breaking scenarios
- F5-quiet exercises the idempotency path it names
- WP11 carried minors -- T1-1/T1-3/T2-6/T2-8/T5-9/T5-10
- Fresh clones pass-or-skip; fork PRs stop failing on absent secrets
- Outcome failures dump terminal reasons + error events (#48) (#50)
- \#48 review rows 1-2 -- structural reasons render + mode=ro claim truth (#51)
- Pin the adapter protocol three-way -- expected literals, SDK, gateway, corpus
- Pin the submodule HEAD to the recorded gitlink
- Pin the submodule HEAD against the committed gitlink, not the index
- Pin test_sdk resolution to the pinned submodule tree (#53)
- RED for plugin-ui 0.1.1 channel_hints
- RED for row C mechanism-critique fix wave (C1-C4)
- Jsdom-robust accessibility assertions for hidden legend rows
- RED for hidden-claimant accent release (W1) + honest table naming (W2)
- RED for real-render carrier visibility (FC1) + legend swatches (FC2)
- RED suite + normative census for issue \#6 row B
- Sync-stamp literal follows the otdp 0.1.2 lock
- RED controls for OTDP 0.2.0 averaging admission + sample_count bound
- Sync-stamp literal follows the otdp 0.2.0 lock
- Complete the 0.2.0 literal sweep in two missed docstring paths
- Pin the averaging envelope endpoints 1 and 64 (refute R1)
- RED controls for plugin-ui 0.2.0 lane-1 envelopes + orphan refusal
- Pin the descriptor schema's otdp const to the manifest version (F2, \#63)
- \#78 -- replace the dead ADMITTED_DIRS hand-list with a derived closed-world dir guard
- \#85 RED -- poisoned-lattice startup refusals, watched failing pre-fix
- \#85 fold -- pin the S01 layering in the descriptor-equivalence census
- Pin executor dispatch-state composition (#73)
- Pin the OTDP validation report to a live devices-suite render
- RED for the skill payload-file role (issue \#71 slice 1)
- Pin the sdist to the declared surface -- PKG-2's detector
- RED for the agent-native seeded tree (issue \#71 slice 2)
- Prove the issue-107 fix -- symlinked-destination scaffold, typed symlink refusal, errno guard
- RED -- bump-window arms against the absent train_window module
- RED -- OUT/title must follow the manifest's active otdp version (#102 D2)
- Extend the \#47 annotation guard to description (#97)
- Pin the pinned check's path-escape arm (#125)
- RED family pin for the machine-written validation reports (#102 D1)
- Share one real-tree execution per suite between pin and guard (#102 D1)
- Adapt \#125 path-escape test to the family report-path signature (rebase resolution)
- Report-family census -- registered writers, classified artifacts (#102 D1, review F2)
- Harden the family pin -- duplicate names, byte compare, POSIX absoluteness (#102 D1, review F4/F7/F8)
- Tamper fixture asserts its vacuous-green precondition (#102 D1, review A-F2)
- Pin the projection and the relaxation (metrics A/E/F)
- Scaffold plot selection -- numeric-first, non-numeric-first, none
- Unmocked disclosure arms, divergent-id join pin, trace-level colour (R3+R4)
- Generated conformance test compiles and runs both variants
- Add coverage measurement (report-only)
- Honest slow-marker wording; bounded fault-test waits
- Cover the vendoring resolution seam and presentation admission
- Keep docs/ and standards/ siblings in the regression-detection cases
- The unmutated copy must run clean before a regression case mutates it
- Pin the served MCP tool descriptions to the vendored corpus
- The harness closes the Store it opened (#136)
- Close the store only once the server thread has stopped (#136)
- Pin packaged-first precedence when both trees exist
- The slice-1 sequential-model measurement (issue \#43)
- The contention arm asserts eventual reclaim, not overshoot timing
- A6's INTERNAL_ERROR gate arm gets its home (review R1)
- Drop the dead Migration import pair in \_apply_subset
- Complete the dead-pair removal -- drop the del Migration line
- The slice-2 review wave -- real delivery budget, timebase pin, rotation pin, record erratum
- Spec10 throwaway SDK roots declare the mirrored version
- Measurement harness machinery -- spans, capture lane, fresh bindings (issue \#167 slice 4)
- M-A measurement seams -- tick timestamps, saturated polls (F5, issue \#167 review wave)
- RED -- 0.2.1 provider rules and synthetic examples ahead of the mechanism
- Equivalence extension -- SDK checker over the 0.2.1 examples, the shared provider lattice, the EN-3 disposition
- The slice-1 corpus cite follows the active version (merge-result fix)
- The cite class follows the active 0.2.2; provider-claims derives it (F2)
- The mirror fixtures own their notes axis -- recovery of the abbb144 cascade
- The -dev stage RED arms -- load rules, validate coverage, repin mutability
- The suite tolerates an open dev head (devstage replay finding)
- The dev-proof lane RED arms -- -corpus override (F3, promoted)
- The RC candidate marker RED arms -- boolean candidate on the dev block
- The documents-gate dev-head arm plants both roots (row 2 fixup)
- A -dev source segment is a historical terminal in the dir guard (review row 3)
- The descriptor dialect triangle -- red on the reverted stamp
- Fold-wave boundary pins and the sF1 discriminator (issue \#176 inc 2, commit 2/3)
- Scope the SDK-stillness arm to head commits (#187 rider)
- The demo lattice streams end to end (issue \#176 row D, design Decision 3)
- Strip PYTHONPATH/PYTHONHOME from the wheel child env (issue \#176 T11 vet finding)
- GF2 canonical-form agreement pin + deferral-table rows (#176)
- Reconcile the dev-head controls to the promotion's live truth (#176)
- Derive the healthy-pairing version from the copied pin
- AR4 ledger+GC over archive captures; archive scale smoke; no-op figure honesty
- AR5 -- the archive tier's three crash windows on the kill harness
- Freeze rule for the 23-field archive envelope
- Close the Windows census (#143) (#208)
- F3 -- the catalog-half soft arm pinned, mutation-checked
- F5 -- slice-added version literals derive from corpus bytes
- The \#207 Windows separator and CRLF batch, plus the retention_policy SyntaxWarning (#237)
- B3/B4 RED battery + the resolver module skeleton (#216)
- The side-table battery lands RED with its file (#216)
- B1/B2 writer battery + cross-constraint resolve arms, RED (#216)
- B6 raw-digest control battery, RED (#216)
- B5 agreement-lane battery, RED (#216)
- F1 version-ordered selection, RED (#216 fold)
- F2 retained-yanked-pin warning surface, RED (#216 fold)
- F3 stray-file allowlist arms, RED (#216 fold)
- F4 revision-scissors chain, RED (#216 fold)
- R1 authoring crash classes, RED (#216 fold wave 2)
- R2 list desync refusal, RED (#216 fold wave 2)
- R3 malformed requires refuse at load, RED (#216 fold wave 2)
- R5 leading-zero interval components refuse, RED (#216 fold wave 2)
- R6 malformed corpus rows, RED (#216 fold wave 2)
- R11 drift messages name the reflow cause, RED (#216 fold wave 2)
- R15a unbounded cross-constraints note, RED (#216 fold wave 2)
- R7 prior-yanked retention + the R8 refusal corners (#216 fold wave 2)
- R4 masking XOR arms, R9 caret precedent, R10 table rows (#216 fold wave 2)
- Pin retry discrimination -- legacy wording must not retry (#159)
- RED -- pin that block-ness, not cause-adjacency, gates the retry (#159)
- Pin priming starvation as retryable infrastructure (#241 slice 1)
- Census extends across the served set (#217)
- The dialect triangle goes within-range -- VR-45 (#217)
- Pin the carriage, the full VR-37 field set, and the classification edges (#217 review fold R1/R2/R9/R11a-b)
- \#172 continuity instrument tolerates CI-runner contention (#217 unblock)
- Classify the drain cap as retryable infrastructure (site="drain-cap")
- Row-17 clamp test joins the timing lane (marker only, no band change)
- Wave-1 fold -- exhaustion renders the retry composition (7 findings, one commit)
- V8 accompaniment -- the retention hole fixture counts eight rows (#219 slice 5)
- L1 fixture pins and L3 contract-CSS value equality
- L2 generated renderer pins for the 8 contract components
- Fold review rows 1-7 on the contract pins (#242 slice 1)
- Assert the G3a registered-disposition facts
- Re-shape the arbiter arm for the digest-verified resolution
- Pin the unstored-descriptor pre-check skip (Risk 2's other half)
- The verify_tree fixture tracks the derived runtime-schema path
- Remove the dead 'cells' binding (the vet's lint catch)
- Make the not_ready lease pin self-sufficient (order-independent)
- Make the not_ready lease pin self-sufficient (order-independent)
- The one-shot cell belt absorbs host-stall band breaches
- De-clock the retry pins; assert properties, not attempts
- Fold the refute - gen-1 X1-floor audit, site membership, claim fixes
- D4' folded by trigger - sequential ceilings relativize in-run
- Meta-acceptance suite - the pre-committed RED proof (issue \#297)
- The computed colour proofs port - instrument, ledger, verbatim arms (issue \#299 G1c)
- Tighten I5/I6/I8 pin tolerance to toBeCloseTo(1,5) exactly (issue \#299 G1c refute fold 3)
- The refute fold's cheap closes -- bidirectional pin + hardened capture
- G1b template-packaging guard (O4) -- pinned contents + full-environment load
- G1d -- the UR-11 boundary probe covers compositions and the export (issue \#300)
- G1d -- move the two pins the browser partition touches (issue \#300)
- \#207 fw5 guards the Unix-only tzset stressor, keeps the property everywhere
- \#207 dispose fsync expectations become capability-probed, with the every-platform typed-refusal arm
- \#207 row-B ceiling relativized to the recorded clamp (the \#241 D-rowB payload)
- \#207 the refute fold -- 7 code rows + the record erratum
- Post-sync sweep -- the 0.1.2 active row's motion through the pins
- Re-seed the drain-cap starvation pins under the no-trip policy
- Refute fold -- the poison path is DISPATCH-path, not poll-path
- Catalogue search fixture + hand-derived truth table (C1 discipline)
- RED arms for normative_path_escape refusal (issue \#238)
- The G3a browser lane -- arm L (#304)
- Issue \#380 pin the docs-site tag-namespace refusal
- M6 RED baseline -- published revocation does not reach run-build
- Signature-verification discriminating arms
- PR \#391 pin arms -- cached gates, digest half, boundaries, root
- Repair the vacuous-spy arms (kill rule: an assertion that cannot fail polices nothing)
- The G3b browser arms (#304)
- The SDK test motions for the 0.7.0 pin and the pins it enables (gateway \#308, pre-pointer)
- The remaining gateway dependents of the changed SDK surfaces at the 0.7.1 pin (gateway \#308)
- Review folds F4, F-A1, F-A2 on PR \#400 (gateway \#308)
- The G4 browser arms (#305)
- The \#407 REG-4 agreement row + the negotiation's real lane
- Tests/sdk presentation-cli cell catches up to 931fcff
- N4's bounded arm enforces through the mechanism (wave-2 F2, arm 1)


## Build

- Bundle versioned UI preview renderer
- Mount benchweave-sdk as a submodule at packages/sdk
- Pull \_validation_report into strict mypy scope; honest NoReturn (#102 D1, review R-F4)
- Dev-stage bytes never ship -- hook-owned contracts mapping (F1)
- Advance packages/sdk to the \#407 link-reconfigure branch tip
- Advance packages/sdk to the \#407 fold tip (22f9a1e)
- Pin the declared submodule sha alongside the pointer advance
- Advance the pointer and the declared pin to the wave-3 fold tip
- Advance the pointer and the declared pin to the v0.9.0 release tag


## Ci

- Fixture signing keys move to repo secrets; public halves stay; add gates workflow
- Gate the UI toolchain and vendored-renderer freshness
- Gate PRs and releases on standards sync
- Gate-only package lane; SDK distribution moves to PyPI
- Push CHANGELOG.md via changelog app token
- Add manual trigger
- Consistent action pinning, locked syncs, honest workflow behaviour
- Clean-venv ADC conformance control + the slice measurement postscript
- Dedicated timing lane for the real-paced set (#241 slice 1)
- Run the suite in parallel with pytest-xdist (#247)
- Device-plugins zero-gate lane + obligations enforcement pointers
- Prove the member wheel standalone in the package job (#302)
- Timeout-minutes 15 on the timing job
- Catalogue authority pin + browser wiring proof (issue \#224 slice 2)
- Windows evidence lane over the gates selection (#207, \#329 D2)
- Wheel resource census in the package lane (#302 first release)
- Publish workflow -- build, smoke, trusted publish, PyPI digest verify (#302 first release)


## Ci+docs

- Census runs on the OS matrix; coverage claims state it


## Dispose

- The audited delete-tier disposition executor + A1-A9 controls (#194)


## Faults

- SIGKILL mid-disposition leaves neither audit nor deletion (#194)


## Fold

- The two-lane refute wave -- 11 findings, all dispositioned (verdict DEFENDED)
- Teaser byte-pins (G2) + parent-design supersession (G1)
- Adversary lane 2 on the declared-pin lane -- observed-refs boundary, HEAD-blob pin, self-referential arm


## Merge

- Integrate main (#243 UI lane + pointer) -- all 21 main-changed paths carried, gitlink resolved to SDK main
- Integrate main (#221 zero-literal lane) -- gitlink resolved to SDK main d698b44 (contains both \#63 and \#65 lines)
- Main (#275's S1 landing) into feat/issue244-s2-renderer
- Main (#277's renderer landing) into feat/issue244-s3-decoders
- Fold origin/main (the \#223 publishing train) into the G1e cutover branch
- Origin/main into feat/issue352-ste-remediation -- union of \#351's which-checkout pointer and the STE rewrite
- Origin/main into feat/issue407-negotiated-lane (issue \#407)


## Refine

- Timestamping optional-but-recommended -- the advisory (issue \#223)


## Review

- WP11 whole-branch fix wave -- both verdicts clean, findings landed


## Rework

- The states-and-advertises posture in the guide; pointer to the rework SDK tip (issue \#223)
- Validate-and-record + the publisher-signature model (issue \#223)


## Standards

- OPEN the 0.2.0-dev head (issue \#176 increment 1)
- Author the capture family into the 0.2.0-dev head (#176)
- The compatibility.sdk ground-truth anchor -- \#187 class closure (#195)
- Promote 0.2.0-dev to released execution 0.2.0 (#176)


## Wip

- 0.2.2 stamp cascade -- INCOMPLETE, train-window-blocked
