Skip to content

Commit f12248c

Browse files
author
Zac
committed
Standardize release build matrix
1 parent f5759f5 commit f12248c

5 files changed

Lines changed: 289 additions & 109 deletions

File tree

.beads/issues.jsonl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
{"id":"bd-3uj","title":"Render canon_entry and escalation records from decision outputs","description":"Context:\nDecision records from the resolver should be rendered to wire artifacts by a dedicated layer rather than by the resolver or CLI. This issue owns canonical-entry and escalation rendering only.\n\nDeliverables:\n- render canonical decisions into `canon_entry.v0` records\n- render escalation decisions into `escalation.v0` records\n- deterministic ordering of claim IDs and candidate values in rendered output\n- focused renderer tests for stable JSON/JSONL output","acceptance_criteria":"1. Rendered `canon_entry.v0` and `escalation.v0` records conform to the frozen wire contracts.\n2. Repeated renders of identical decision inputs produce byte-stable JSON/JSONL outputs.\n3. Claim IDs and candidate values are sorted deterministically in rendered records.\n4. Rendering does not introduce new policy or state-transition logic.","notes":"Target files:\n- src/render.rs\n- tests/render.rs\n\nReservation guidance: own canon/escalation rendering only; do not generate convergence reports or alter resolver behavior here.","status":"closed","priority":1,"issue_type":"task","created_at":"2026-03-28T23:32:26.527615Z","created_by":"zac","updated_at":"2026-03-30T14:06:48.570294Z","closed_at":"2026-03-30T14:06:48.570126Z","close_reason":"Completed","compaction_level":0,"original_size":0,"labels":["archaeology","area:render","decoding","phase:1"],"dependencies":[{"issue_id":"bd-3uj","depends_on_id":"bd-1xs","type":"parent-child","created_at":"2026-03-28T23:32:26.532357Z","created_by":"zac"},{"issue_id":"bd-3uj","depends_on_id":"bd-24y","type":"blocks","created_at":"2026-03-28T23:32:27.817131Z","created_by":"zac"},{"issue_id":"bd-3uj","depends_on_id":"bd-34p","type":"blocks","created_at":"2026-03-28T23:32:27.864020Z","created_by":"zac"}]}
2626
{"id":"bd-5um","title":"Make policy validation deterministic","description":"Policy validation iterates HashMap-backed keyed sections in randomized order. For invalid policies with multiple bad entries, the refusal reason can vary across runs, breaking deterministic Phase 1 refusal behavior. Fix by using deterministic keyed collections and add coverage.","status":"closed","priority":1,"issue_type":"bug","created_at":"2026-03-30T13:44:37.588597Z","created_by":"zac","updated_at":"2026-03-30T13:46:54.846901Z","closed_at":"2026-03-30T13:46:54.846776Z","close_reason":"Completed","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"bd-5um","depends_on_id":"bd-1xs","type":"parent-child","created_at":"2026-03-30T13:44:37.591712Z","created_by":"zac"}]}
2727
{"id":"bd-9be","title":"Fix global duplicate claim_id collapse across buckets","status":"closed","priority":1,"issue_type":"bug","created_at":"2026-03-30T13:43:36.702692Z","created_by":"zac","updated_at":"2026-03-30T13:45:37.886179Z","closed_at":"2026-03-30T13:45:37.886059Z","close_reason":"Completed","compaction_level":0,"original_size":0,"labels":["archaeology","area:bucket","decoding","phase:1"],"dependencies":[{"issue_id":"bd-9be","depends_on_id":"bd-1xs","type":"parent-child","created_at":"2026-03-30T13:43:36.710147Z","created_by":"zac"}]}
28-
{"id":"bd-t7v","title":"Standardize decoding release matrix for Homebrew tap","description":"decoding currently uses a non-standard release workflow that publishes generic macOS/Linux/Windows binaries. The doctor-mode campaign exposed that this blocks normal cmdrvl/tap coverage: v0.2.1 has macOS arm64 and Linux x86_64 assets only, no per-target tarballs/zips, no signed SHA256SUMS, no SBOM/provenance, and no tap formula can honestly cover the standard macOS arm/intel + Linux arm/intel matrix. Bring decoding up to the spine release standard used by rvl/shape/assess/etc.: release workflow triggered by Cargo.toml version bump, x86_64/aarch64 Linux, x86_64/aarch64 macOS, x86_64 Windows artifacts, immutable tag guard, SHA256SUMS plus signature/cert, SBOM, provenance, and Homebrew tap update path. Acceptance: new decoding patch release with standard assets, tap formula added/updated, CI/release green, main and master synced.","status":"open","priority":2,"issue_type":"task","created_at":"2026-05-09T11:30:52.298437Z","created_by":"zac","updated_at":"2026-05-09T11:30:52.307004Z","compaction_level":0,"original_size":0,"labels":["distribution","release","spine","tap"]}
28+
{"id":"bd-i4i","title":"Add decoding Homebrew tap formula after standard release validation","description":"decoding now has a Homebrew-ready per-target release matrix, but the tap formula should remain deferred until a release proves the new assets and checksums in GitHub Actions. Acceptance: after a successful standard decoding release with macOS arm64/x86_64 and Linux arm64/x86_64 archives plus SHA256SUMS, add/update Formula/decoding.rb in cmdrvl/homebrew-tap and verify brew fetch/audit.","status":"open","priority":3,"issue_type":"task","created_at":"2026-05-09T21:57:08.763900Z","created_by":"zac","updated_at":"2026-05-09T21:57:08.771255Z","compaction_level":0,"original_size":0,"labels":["distribution","release","spine","tap"]}
29+
{"id":"bd-t7v","title":"Standardize decoding release matrix for Homebrew tap","description":"decoding currently uses a non-standard release workflow that publishes generic macOS/Linux/Windows binaries. The doctor-mode campaign exposed that this blocks normal cmdrvl/tap coverage: v0.2.1 has macOS arm64 and Linux x86_64 assets only, no per-target tarballs/zips, no signed SHA256SUMS, no SBOM/provenance, and no tap formula can honestly cover the standard macOS arm/intel + Linux arm/intel matrix. Bring decoding up to the spine release standard used by rvl/shape/assess/etc.: release workflow triggered by Cargo.toml version bump, x86_64/aarch64 Linux, x86_64/aarch64 macOS, x86_64 Windows artifacts, immutable tag guard, SHA256SUMS plus signature/cert, SBOM, provenance, and Homebrew tap update path. Acceptance: new decoding patch release with standard assets, tap formula added/updated, CI/release green, main and master synced.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-05-09T11:30:52.298437Z","created_by":"zac","updated_at":"2026-05-09T21:57:14.913776Z","closed_at":"2026-05-09T21:57:14.913602Z","close_reason":"Standardized decoding release matrix/assets for v0.2.2; Homebrew formula intentionally deferred until the new standard release assets are validated, tracked by bd-i4i.","compaction_level":0,"original_size":0,"labels":["distribution","release","spine","tap"]}
2930
{"id":"bd-x22","title":"Run doctor-mode audit and add read-only decoding doctor","description":"Run world-class-doctor-mode-for-cli-tools against decoding in audit-first mode, then implement the first safe read-only doctor surface. Expected surface: decoding doctor health, decoding doctor capabilities --json, decoding doctor robot-docs, and decoding doctor --robot-triage or equivalent. Scope first slice to detection, scoring, robot docs, and tests. Do not add fix mode until the decoding-specific failure-mode inventory has detector, backup, inverse, and fixture coverage. Acceptance: skill workspace artifacts or databook attached, repo-specific failure modes captured as follow-up beads, quality gate green, ubs on changed files, and br sync --flush-only.","notes":"Release gate: after the doctor slice is implemented, cut the repo's normal release only if the implementation is tested, CLI smoke checks pass, and behavior is clearly non-breaking. If tests are weak, behavior is ambiguous, or operator judgment/open questions are required, hold the release and file/update a follow-up bead documenting the blocker.","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-05-08T20:26:11.124276Z","created_by":"zac","updated_at":"2026-05-09T03:51:37.967120Z","closed_at":"2026-05-09T03:51:37.966997Z","close_reason":"Implemented read-only decoding doctor surface, local quality gates passed, DataBook emitted","compaction_level":0,"original_size":0,"labels":["agent-ux","doctor","release-gated","spine"]}
3031
{"id":"bd-x5j","title":"Wire archaeology CLI file loading, execution, and exit codes","description":"Context:\nAfter the runtime can produce rendered records and convergence reports, the binary needs to load multiple claim files, apply one policy file, invoke the runtime, write output artifacts, and map outcomes to the Phase 1 exit codes.\n\nDeliverables:\n- CLI file-loading orchestration for multiple claim JSONL inputs\n- runtime invocation over one policy file plus the loaded claims\n- writing canon-entry, escalation, and convergence outputs to requested files\n- exit-code mapping (`0` no escalations, `1` escalations emitted, `2` refusal)\n- machine-readable `--json` status/error output","acceptance_criteria":"1. The CLI accepts multiple claim JSONL files plus one policy file and writes all declared output artifacts.\n2. Exit code `0` means no escalations, `1` means escalations were emitted, and `2` means refusal/invalid input.\n3. Re-running the CLI on identical inputs produces byte-for-byte identical output files.\n4. The CLI uses the runtime/render/report layers rather than re-serializing outputs ad hoc.","notes":"Target files:\n- src/cli.rs\n- src/main.rs\n- tests/cli.rs\n\nReservation guidance: own top-level orchestration and exit-code behavior only; do not re-implement contracts, resolver logic, or report math here.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-03-28T21:19:57.718582Z","created_by":"zac","updated_at":"2026-03-30T14:24:39.934620Z","closed_at":"2026-03-30T14:24:39.934431Z","close_reason":"Completed","compaction_level":0,"original_size":0,"labels":["archaeology","area:cli","decoding","phase:1"],"dependencies":[{"issue_id":"bd-x5j","depends_on_id":"bd-1xs","type":"parent-child","created_at":"2026-03-28T21:19:57.722561Z","created_by":"zac"},{"issue_id":"bd-x5j","depends_on_id":"bd-23p","type":"blocks","created_at":"2026-03-29T00:08:40.876716Z","created_by":"zac"},{"issue_id":"bd-x5j","depends_on_id":"bd-2cb","type":"blocks","created_at":"2026-03-29T00:08:40.891991Z","created_by":"zac"},{"issue_id":"bd-x5j","depends_on_id":"bd-2ok","type":"blocks","created_at":"2026-03-28T23:32:28.057742Z","created_by":"zac"},{"issue_id":"bd-x5j","depends_on_id":"bd-37j","type":"blocks","created_at":"2026-03-28T21:19:58.348972Z","created_by":"zac"},{"issue_id":"bd-x5j","depends_on_id":"bd-3uj","type":"blocks","created_at":"2026-03-28T23:32:28.010992Z","created_by":"zac"}]}
3132
{"id":"bd-y31","title":"Add tagged release workflow for decoding binaries","description":"Context:\nRelease publication should be separate from the fast CI workflow. This issue owns the tagged workflow that builds release binaries once the CLI surface is in place.\n\nDeliverables:\n- tagged release workflow building binaries for the declared supported platforms\n- workflow wiring that publishes only on tags or explicit release triggers\n- release artifact naming consistent with other spine primitives","acceptance_criteria":"1. Tagged releases build binaries for the supported platforms declared for v0.\n2. The release workflow is separate from the fast CI workflow.\n3. Release artifacts use stable, documented names.\n4. The workflow does not publish on every push or pull request.","notes":"Target files:\n- .github/workflows/release.yml\n\nReservation guidance: own tagged release automation only; do not change the fast quality gate here.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-03-28T23:32:26.822751Z","created_by":"zac","updated_at":"2026-03-30T14:28:17.600492Z","closed_at":"2026-03-30T14:28:17.600380Z","close_reason":"Completed","compaction_level":0,"original_size":0,"labels":["archaeology","area:release","decoding","phase:1"],"dependencies":[{"issue_id":"bd-y31","depends_on_id":"bd-1xs","type":"parent-child","created_at":"2026-03-28T23:32:26.826743Z","created_by":"zac"},{"issue_id":"bd-y31","depends_on_id":"bd-3p5","type":"blocks","created_at":"2026-03-28T23:32:28.376060Z","created_by":"zac"},{"issue_id":"bd-y31","depends_on_id":"bd-x5j","type":"blocks","created_at":"2026-03-28T23:32:28.425776Z","created_by":"zac"}]}

0 commit comments

Comments
 (0)