Skip to content

feat(opencode): rollout/migration gate code (#1083) - #356

Merged
jeonghun-jj-lee merged 1 commit into
amico/issue-972-session-lineage-ledgerfrom
amico/issue-1083-rollout-release
Sep 14, 2026
Merged

jeonghun-jj-lee merged 1 commit into
amico/issue-972-session-lineage-ledgerfrom
amico/issue-1083-rollout-release

Conversation

@jeonghun-jj-lee

Copy link
Copy Markdown
Contributor

Implements the testable code portion of harmoniqs/amicode#1083, part of #972.

HITL — READY FOR HUMAN REVIEW, not auto-merged.

Deterministic capability discovery, mixed-version matrix, migration boundary, in-flight reservation resolution, rollback safety, and the release-manifest readiness evaluator (default-enablement stays OFF).

HUMAN-ONLY, NOT done here: tagging the fork release, verified binary pin, extension publish, overlay sync, and the default-enablement flip. #1084 fills the matrix-case seam the evaluator reads.

Add the deterministic, unit-testable core of the gate-migration and
coordinated-release slice (amicode#1083):

- SessionRollout.Capability.discover — a versioned {protocol_version,
  mode, migration_boundary} object; full/partial/legacy resolved from
  engine support + the session root's persisted mode + epoch marker,
  without probing a mutation route. protocol_version reuses the #1077
  registry generation. A rollback gate (fullDiscoveryEnabled) caps full.
- SessionRollout.Matrix.resolve — the supported mixed-version matrix
  (old-engine+new-client -> legacy; new-engine+old-client -> pre_ledger
  view; new+new -> full only for a full root, else labelled partial/legacy).
- SessionRollout.Migration.startEpoch — legacy -> partial ONLY via an
  explicit epoch start (no infer/backfill path exists).
- SessionRollout.resolveReservation — in-flight v1 reservations resolve
  as legacy, never adopted into a ledger op.
- SessionRollout.Rollback — the disable-full-before-withdraw-routes
  ordering invariant, so no uncontextualized full-provenance mutation.
- SessionRollout.Release — manifest parse + all-required-passed readiness
  evaluator + fork->binary-pin->extension ordering evaluator. Reads a
  manifest and reports readiness only; default enablement stays off and
  NO release act is performed (those are human-only).

40 focused tests green; package tsgo typecheck clean. Release-execution
acts (tag/pin/publish/overlay-sync/enablement flip) are human-only and
intentionally out of this slice.

Refs harmoniqs/amicode#1083
@coderabbitai

coderabbitai Bot commented Sep 14, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: f34fed90-c12d-4ee0-ae5c-1cbb02db0053

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@jeonghun-jj-lee
jeonghun-jj-lee merged commit dddaf90 into amico/issue-972-session-lineage-ledger Sep 14, 2026
4 checks passed
@jeonghun-jj-lee
jeonghun-jj-lee deleted the amico/issue-1083-rollout-release branch September 14, 2026 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant