Repository navigation
Code Tribunal 2.0.1
Code Tribunal 2.0.1
Release identity
- Release:
2.0.1 - Tag:
v2.0.1 - Release inputs:
release/release-inputs.json,status: active - Runtime source
R:c525ccff5e90beab8f498410dd4e3fe36ce10031 - CI run:
36982113841 - Image publication run:
36982113862 - Base image:
ghcr.io/seanleecoder/code-tribunal/ai-review-base:2.0-c525ccff5e90beab8f498410dd4e3fe36ce10031@sha256:6f2715a62bbdfe19a228848644ddef2fedcef17c4e769ac9b3c3775a16ecfe47 - Reviewer image:
ghcr.io/seanleecoder/code-tribunal/ai-review-reviewer:2.0-c525ccff5e90beab8f498410dd4e3fe36ce10031@sha256:1ee0b432fcedfc0e8bba11269f8cb2f410cfbe912ece808b54949dcff38cf8aa
Scope
- Release preparation is now one evidence-and-pin PR. The canary owns image identity, selectable zero-token lifecycle and hostile campaigns generate their own records, and release commands produce active inputs, final notes, CHANGELOG, and certificate assets through the existing validators.
- Pushing the locally signed tag publishes final notes and manifest assets after signature, main-history, and checksum verification. CI has no signing key.
- Failed accepted resolve/reopen commands fail
postwithpartial_failed, preserve the prior disposition, and allow a later retry. Findings remain informational. - Current documentation checks catch missing concrete repository paths and test definitions during ordinary PRs.
- The obsolete
ai_review_gatereservation is removed (COMPAT-005).
Migration
No configuration schema, artifact schema, posted-body format, model default, or supported platform changes. Consumers should adopt the synchronized template and image pair together. Automation that ignored accepted command failures now receives a failing post exit and should retry after fixing the platform error. The existing 1.x-to-2.0 migration still applies; see operations.
Live campaign
| Record | Result |
|---|---|
| record-candidate-canary.md | Passed |
| record-github-current-image.md | Passed |
| record-gitlab-current-image.md | Passed |
| record-gitlab-hostile-mr.md | Passed |
| record-gitlab-body-refresh.md | Passed |
| record-model-effort-routes.md | Registered waiver; reason in release inputs |
| record-github-revision-failures.md | Registered waiver; reason in release inputs |
Release gates
The required generated records and manual GitLab body-refresh record bind to the same runtime source and digest pair. The full canary proves the four-seat panel, both lifecycle surfaces, hostile credential withholding, and image provenance. Unchanged effort-route and GitHub prepare-race paths use explicit registered waivers; reasons appear only in release inputs.
Tagging
The locally signed tag targets the final merged release commit P. Its certificate contains Release-manifest-sha256, and the tag-push workflow rebuilds and validates the external manifest before publishing.
Carried known limitations
- GitLab does not enforce trusted images or composition inside the consumer pipeline. Containment rests on protected credential withholding and the out-of-band auditor; SPEC-43 remains open.
- Network egress is unenforced at the container and runner boundary.
- Credential isolation is established only for the recorded hardened-child, unprotected-ref topology. GitLab forks remain untested.
- Cursor is off in the default roster, and nothing proves that the pinned CLI honors its deny policy at runtime.
- The four-seat canary does not certify a real run of the shipped three-seat default roster.
- FYI-only posting, inline-unmappable summary fallback, and visible moved-comment re-anchoring retain their documented evidence gaps.
Operator sign-off items
- Both demos passed read-only preflight before the campaign.
- Full canary
36988314788exercised real four-seat review and critique on both platforms. The first attempt36978347766failed on a GitLab polling timeout and a malformed Cursor critique ID; its records were rejected. #154 fixed bounded GET polling before freezing the final source. - Image publication
36982113862retried its failed GHCR push using the same preflighted artifact; the successful attempt supplied the exact certified subjects. - The configured SSH public key matches the repository trusted signer and is registered as a GitHub signing key. GitHub reports
v2.0.0as verified after registration. - The preserved GitLab note refreshed in place with one update, zero creates, and unchanged identity; demo cleanup and read-only preflight passed.
- Signing remains a local operator action; no private key is supplied to CI.
- Demo consumer repinning is post-release hygiene and outside the promotion path.
Finalization
The activated inputs are retained at v2.0.1:release/release-inputs.json. The published external manifest and checksum bind the release commit to its runtime source, image pair, run IDs, evidence, and waivers.