Skip to content

fix: keep A3 identity stable across workload migration - #503

Draft
4444J99 wants to merge 2 commits into
wave/correction-serialized-admission-20261009-afrom
fix/workload-membership-20261012-9f3cdabe
Draft

4444J99 wants to merge 2 commits into
wave/correction-serialized-admission-20261009-afrom
fix/workload-membership-20261012-9f3cdabe

Conversation

@4444J99

@4444J99 4444J99 commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner

Cloud continuation — 2026-10-12 20:34 UTC

The complete fresh cloud provenance replay has now passed for 61,941 claims in 655 documents, with authenticated pinned-source inputs and an independent audit. The complete nonissued 2,174-decision replacement draft also passed independent carryforward and ten-disposition review. The exact execution and review evidence is staged separately in draft PR #506, dependent on this PR.

Mac admission governs work executed on the Mac. The successful Linux cloud replay used its own bounded resources. Original-cache/rendered-cache restoration remains a separate open recovery item. No replacement envelopes or current-role grant have been issued; the final validated reconciliation totals remain pending.

The observations and CI receipts below are preserved at their recorded times; #506 supplies the later cloud result. This PR's implementation scope remains the A3 continuity repair.


Status

Staged. This dependent draft targets #497, which depends on #496.

  • Published head: 6c37fe5eb98039341cb49444305703dc43048685
  • Published tree: eebbe36eb5c72a7458f80839e06d2c3832b7cc6b
  • Observed target head: 25affa78bcbf16e89667cbe3cbcfbc3a7fa05006
  • Final delta: six files, 440 additions; 13 production lines, 44 test lines, and four evidence files.
  • All four final-head workflow runs succeeded. Full authenticated claim replay and v0.2 acceptance remain open.

Problem and change

The historical-to-current workload repair is already present in #497 at 25affa78bcbf16e89667cbe3cbcfbc3a7fa05006. Its combined transition check validated the independent A3 source-identity reference during preserved-history reproduction but did not retain that reference's integrity through the entire historical/current transaction. A changed reference, or a symlink replacing it with identical bytes after either replay, could still produce MATCH.

This PR retains the trusted reference's canonical path and bytes immediately after preserved replay, compares its digest with frozen provenance, and rechecks its path and bytes before returning a successful transition. The immediate digest check also closes the interval between the preserved replay's return and the new snapshot.

Two regression tests cover four cases: changed bytes and identical-byte symlink replacement, each after historical replay and after current replay. All four cases failed before the production fix (ValueError not raised) and pass with the fix. The guard detects the tested changes between reads; it does not claim an atomic filesystem snapshot.

Preserved migration and inventory

A concurrent repair advanced #497 while the earlier approved implementation was being published. Independent comparison found that both implementations generated byte-identical current inventories. This integration retains #497's implementation, CLI, workflow, reports, transition contract, provenance and existing evidence, then adds the missing A3 continuity guard.

The current tree has one active migration implementation and one canonical current inventory. No workflow, inventory, transition contract or historical provenance file changes in this PR's six-file delta.

Workload metadata Preserved historical report Current inventory
Recorded claims 61,936 61,941
Claim documents 654 655
Families 4,651 4,651
Frozen workload receipt subjects 474 474
New review/reconciliation credit 0 0

The transition proves exactly the five approved successors: WA-APPSEC-{005,009,011,017,018}-CORRECTION-01, with no unrelated membership change. The 474 workload receipt subjects are a frozen workload input and are distinct from the later 2,164 validated reconciliation dispositions.

Canonical current inventory SHA-256:
ed4ee7e8be9a5369d4651769dc8717456473063d2db21010544349a9848b8a00

Transition contract SHA-256:
f92cbe31c618e793b9bdc07f51b609d0b464fa5f8698fe715efc6bb542089dd8

Both workload commands return MATCH. Their recorded scope remains METADATA_WORKLOAD_TRANSITION_ONLY, with full_source_provenance_replayed: false, replacement_receipt_envelopes_issued: false, and zero new review/reconciliation credit.

Independent review

The current automated reviewer /root/migration_review independently inspected the change, preserved files, and complete before/after test logs, and checked their recorded hashes. Its result is PASS_WITHIN_SCOPE, with the A3 continuity finding resolved and no open finding. It did not independently execute the before/after tests.

Committed independent review SHA-256:
a7dc57ab86e6e705787f5bcf7b904011014bdb236afa3ff8db8c878192f2a2a3

This review is software review by the actual current helper. It is not semantic-envelope authority, human approval or release acceptance.

Verification at the published revision

Local execution at exactly 6c37fe5eb98039341cb49444305703dc43048685 passed 707 tests, with zero failures, errors or skips. Historical reproduction and the current transition both matched; ges validate passed 95 controls; compilation succeeded; generated views were unchanged; git diff --check passed. HEAD remained unchanged and the working tree was clean.

The committed precommit verification records the earlier candidate execution. The separate execution recorded below was performed after checking out and verifying the exact published head and tree.

All four final workflow runs succeeded; final independent CI/PR observation was 2026-10-12 19:55:21 UTC, with supporting commit/workflow reads completed at 19:55:54 UTC.

Workflow Event Run Result
Toolkit validation push 38300450347 success
Source acquisition and coverage push 38300450596 success
Source acquisition and coverage pull_request 38300455853 success
Toolkit validation pull_request 38300455911 success

All four Toolkit matrix jobs (Python 3.11 and 3.13, push and pull request) ran 707 tests successfully, including both new regressions. Each job also passed historical reproduction, current transition, 95-control validation, compilation and generated-view checks.

Push jobs checked out 6c37fe5eb98039341cb49444305703dc43048685. Pull-request jobs checked out GitHub's synthetic merge 1b91ddee1ae13e91b5b9476116b598938d45d402; its tree was independently read and equals the published tree eebbe36eb5c72a7458f80839e06d2c3832b7cc6b.

Both source jobs checked six pinned snapshots, retrieved 40 rendered article bodies and validated 24 charter citations. They explicitly report rendered_complete: false, semantic review incomplete, charter scope PROVENANCE_REPLAY_ONLY, and owner approval false. Their success does not authenticate every retained body or every current claim.

Exact published-head local commands, observation times and log hashes

Execution directory: the isolated retained GES checkout. All timestamps are UTC. Durations are wall-clock command durations.

unit

/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python -m unittest discover -s tests -v

Started 2026-10-12T19:53:43.584710+00:00; duration 14.307 seconds; exit 0.
Log SHA-256: ffb9d1135a09772b3e856a15b612191d5a9f604a8069e62088870a18ce2a0240.

historical-workload

/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python -m ges.claim_workload --reviews evidence/source-reviews --artifacts evidence/claim-workload-inputs/artifacts.jsonl.gz --reconciliation evidence/provider-oidc-reconciliation.json --check evidence/claim-workload-current-inventory.json --historical evidence/claim-workload-inventory.json --provenance evidence/claim-workload-current-provenance.json --recorded-membership

Started 2026-10-12T19:53:57.891691+00:00; duration 2.019 seconds; exit 0.
Log SHA-256: a28ed993d93829b7635e063421e5a1bd03a88460e227014823e9f6374f71415e.

current-transition

/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python -m ges.claim_workload_migration --reviews evidence/source-reviews --artifacts evidence/claim-workload-inputs/artifacts.jsonl.gz --reconciliation evidence/provider-oidc-reconciliation.json --baseline evidence/claim-workload-current-inventory.json --historical evidence/claim-workload-inventory.json --provenance evidence/claim-workload-current-provenance.json --transition evidence/claim-workload-v02-transition.json --check evidence/claim-workload-v02-inventory.json

Started 2026-10-12T19:53:59.910609+00:00; duration 3.726 seconds; exit 0.
Log SHA-256: a78a7f73953afbaa804900c81059d77b3c84be65b6b69cc8702ad6771464a8d3.

validate

/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python -m ges validate

Started 2026-10-12T19:54:03.636366+00:00; duration 0.064 seconds; exit 0.
Log SHA-256: 74bb4525b9b900006126e2c8ea295e29f1e8b454357085d3458009791496a535.

compile

/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python -m ges compile

Started 2026-10-12T19:54:03.700381+00:00; duration 0.064 seconds; exit 0.
Log SHA-256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.

generated

git diff --exit-code -- generated/functional-checklist.md generated/source-crosswalk.md generated/bindings.json

Started 2026-10-12T19:54:03.764371+00:00; duration 0.008 seconds; exit 0.
Log SHA-256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.

whitespace

git diff --check

Started 2026-10-12T19:54:03.772115+00:00; duration 0.008 seconds; exit 0.
Log SHA-256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.

Latest native admission and remaining gates

A fresh read-only native status observation at 2026-10-12 19:51:29.654603 UTC returned allowed=false, denial reason swap-fraction: 8,814,455,685 bytes of swap (approximately 8.21 GiB) on a 16 GiB host, fraction 0.5130688476492651. Vitals reported throttle. The empty registered lease list does not establish admission or exclusive checkout custody.

The native tracked checkout was at 25affa78bcbf16e89667cbe3cbcfbc3a7fa05006 and its tracked status was clean. Untracked/ignored payloads and process ownership were not inspected. The observation acquired no lease, changed no native file or policy, stopped no process and launched no full replay.

Read-only native admission command and actual controller response
/opt/homebrew/bin/python3 /Users/4jp/.local/share/limen/current/source/scripts/host-work-admission.py status

Exit code 0; process duration 2.15 seconds. Observer: current /root/receipt_authority.

{
  "allowed": false,
  "inherited": false,
  "lease": null,
  "leases": [],
  "operation": "status",
  "pressure": {
    "backblaze_cpu_percent": 0,
    "backblaze_rss_bytes": 0,
    "disk_mib_per_second_samples": [
      20.38,
      51.58
    ],
    "memory_bytes": 17179869184,
    "observed_at": "2026-10-12T19:51:29.654603+00:00",
    "observed_epoch": 1791834689.654603,
    "sensor_errors": [],
    "swap_fraction": 0.5130688476492651,
    "swap_growth_bytes_per_minute": null,
    "swap_used_bytes": 8814455685,
    "vitals_action": "throttle"
  },
  "reaped": [],
  "reasons": [
    "swap-fraction"
  ],
  "schema": "limen.host_admission_decision.v1"
}

Limen's deployed finite-workspace-recovery.md remains controlling: actual heavy-work admission is required before the native authenticated replay. Bounded isolated metadata verification above supplies no native admission.

No replacement envelope was issued. The existing owner authorization names the original reconciler and finishline_gates identities and prohibits substitution/backdating. The current actors have not been represented as those actors. Replacement issuance still requires those actual actors or an authentic renewed scoped grant, together with fresh input binding and independent comparison of all carried decisions plus ten new dispositions.

The expected 2,174 validated dispositions and 59,767 unresolved claims remain conditional on successful full replay and receipt review. They are not fresh results of this metadata repair.

Authenticated full provenance replay, retained-body authentication, current reconciliation/recovery accounting, remaining adapters/synthesis, complete public disposable pilot evidence, final publication clearance, human review, owner acceptance and merged-main checks remain open. Private support remains unverified.

Publication and history record

The user explicitly approved publication and the dependent draft PR at 2026-10-12 19:34:20 UTC, replying “yes to all approval granted” to the concrete review package. This resolved the earlier publication approval block; historical preapproval checkpoints remain historical.

The CLI push then failed for unavailable HTTPS credentials. The authenticated GitHub connector published the exact approved tree 28e707ffb971c5a6f3f25d0730e5ac742ed0589d as f266c4d8fa3a1d81292c57556bfdd3f968552423. Its commit metadata differs from the original local 0e8f5f6da00221e2c5759118373902394d537f8e; approved file bytes were unchanged.

After observing and reviewing the concurrent target repair, the final integration retained that target tree plus this narrow guard. The final commit's ordered parents are f266c4d8fa3a1d81292c57556bfdd3f968552423 and 25affa78bcbf16e89667cbe3cbcfbc3a7fa05006, preserving both published histories. The branch update was a fast-forward with force=false.

Publication approval does not change the receipt actor constraint or constitute v0.2 release acceptance. This PR remains a dependent draft.

Publish the exact file tree approved from local head 0e8f5f6da00221e2c5759118373902394d537f8e.
Approved tree: 28e707f.

The authenticated GitHub connector creates fresh commit metadata; all 14 changed file blobs match the reviewed payload. Historical evidence and reconciliation actor authority remain unchanged.
@coderabbitai

coderabbitai Bot commented Oct 12, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@sourcery-ai

sourcery-ai Bot commented Oct 12, 2026

Copy link
Copy Markdown

Reviewer's Guide

Repairs the workload migration gate by preserving strict historical 654-document accounting, independently reproducing the complete 655-document current inventory, and enforcing the exact five-claim successor transition with pinned evidence, tamper-resistant checks, comprehensive regressions, and CI integration; the PR remains staged and does not claim source replay or release acceptance.

Sequence diagram for exact workload successor migration verification

sequenceDiagram
    participant CI
    participant Migration as claim_workload_migration
    participant Inputs as PinnedInputs
    participant Inventory as claim_workload
    participant Reviews as ClaimDocuments

    CI->>Migration: check_migration(reviews, artifacts, reconciliation, baseline, current, historical, provenance, approval)
    Migration->>Inputs: read_bytes and verify pinned SHA256 values
    Migration->>Inputs: verify compressed artifact fingerprint before decompression
    Migration->>Reviews: enumerate complete current claim documents
    Migration->>Inputs: verify baseline plus approved successor document
    Migration->>Inventory: check_inventory(..., preserved_membership=True)
    Inventory-->>Migration: frozen 654-document report
    Migration->>Inventory: check_inventory(... current report)
    Inventory-->>Migration: current 655-document report
    Migration->>Migration: verify five approved predecessor/successor pairs
    Migration->>Migration: verify unchanged historical claims, families and inputs
    Migration-->>CI: MATCH or nonzero failure
Loading

Entity relationship diagram for frozen and current workload inventories

erDiagram
    HISTORICAL_INVENTORY ||--o{ CLAIM_DOCUMENT : contains
    CURRENT_INVENTORY ||--o{ CLAIM_DOCUMENT : contains
    CLAIM_DOCUMENT ||--o{ CLAIM : records
    CLAIM ||--o| CLAIM : supersedes
    HISTORICAL_INVENTORY {
        int recorded_claims_61936
        int document_count_654
        int advisory_families_4651
    }
    CURRENT_INVENTORY {
        int recorded_claims_61941
        int document_count_655
        int added_claims_5
    }
    CLAIM_DOCUMENT {
        string path
        string sha256
    }
    CLAIM {
        string claim_id
        string predecessor_id
    }
Loading

Flow diagram for frozen and current workload migration verification

flowchart LR
    Inputs["Pinned artifacts, receipts, reports, provenance, approval"] --> Integrity["Authenticate compressed bytes and verify input stability"]
    Integrity --> Frozen["Reproduce frozen 654-document inventory"]
    Integrity --> Current["Reproduce complete current 655-document inventory"]
    Frozen --> Transition["Check exact approved transition"]
    Current --> Transition
    Transition --> Result["MATCH: five successor claims, unchanged historical claims"]
    Result --> CI["CI tests, validation, compilation and generated-view checks"]
Loading

File-Level Changes

Change Details Files
Preserve reproducibility of the frozen 654-document workload while adding an independently verified 655-document successor state.
  • Add a migration checker that pins historical reports, provenance, approval evidence, and compressed artifact bytes before replay.
  • Reproduce the frozen report from its exact recorded document membership with existing historical-equivalence and provenance checks.
  • Reproduce the complete current document glob separately and require exactly one approved successor document containing five approved predecessor/successor pairs.
  • Verify unchanged historical claims, families, artifact inputs, reconciliation inputs, and zero new accounting credit.
  • Add fail-closed checks for symlinks, malformed membership, rebinding, input mutation during execution, and artifact authentication before decompression.
ges/claim_workload.py
ges/claim_workload_migration.py
Make CI enforce both workload states and the exact approved transition.
  • Replace the single current-inventory CI command with the migration command and all required evidence inputs.
  • Run historical reproduction, current reproduction, transition validation, and input-stability checks on the existing Python matrix.
  • Preserve validation, compilation, generated-view, and whitespace checks.
.github/workflows/ci.yml
Add regression coverage for preservation, successor validation, and tamper resistance.
  • Expand historical integrity coverage to use explicit preserved membership.
  • Test omitted, renamed, changed, extra, rebound, malformed, and symlinked inputs.
  • Test successor mutations, forged reports or approvals, changed compressed artifacts, and mutations between replay phases.
  • Add a real-repository CLI test asserting 61,936 frozen claims, 61,941 current claims, 654/655 documents, five additions, and zero credit.
tests/test_claim_workload_integrity.py
tests/test_claim_workload_migration.py
Document the staged migration model, evidence boundaries, and verification results.
  • Clarify the distinction between historical accounting, current inventory, and successor migration.
  • Record current and frozen counts, hashes, exact reproduction commands, independent reconstruction, and remaining acceptance gates.
  • Add the migration plan and committed evidence bundle, including current inventory, independent review, verification, and native prerequisite observations.
docs/claim-workload-audit.md
.codex/plans/2026-10-12-workload-migration.md
evidence/v02-workload-migration-20261012/README.md
evidence/v02-workload-migration-20261012/current-inventory.json
evidence/v02-workload-migration-20261012/independent-reconstruction.py
evidence/v02-workload-migration-20261012/independent-review.json
evidence/v02-workload-migration-20261012/independent-tests.json
evidence/v02-workload-migration-20261012/native-prerequisites.json
evidence/v02-workload-migration-20261012/verification.json

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Retain PR #497's independently published migration implementation and identical current inventory. Preserve the initial approved PR #503 payload in the first-parent history while integrating 25affa7.

Narrow the delta to the independently reviewed A3 reference stability guard, two regression tests covering four observed failure cases, and supporting review/verification evidence. Both full workload states and all 707 tests pass locally; source and receipt acceptance remain pending.
@4444J99 4444J99 changed the title fix: preserve historical workload and verify successor migration fix: keep A3 identity stable across workload migration Oct 12, 2026
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