Skip to content

feat(ci): add strict admission and anchored revocation ledger - #2869

Open
Chris0Jeky wants to merge 4 commits into
mainfrom
ci/continuation-06-admission
Open

feat(ci): add strict admission and anchored revocation ledger#2869
Chris0Jeky wants to merge 4 commits into
mainfrom
ci/continuation-06-admission

Conversation

@Chris0Jeky

Copy link
Copy Markdown
Owner

Stack and authority

Depends on #2868. Merge parents first, then retarget and requalify. R4: park for maintainer plus independent fresh-context review under SC-10; no auto-merge.

Adds auxiliary admission that recomputes the entire protected plan, accounts for each task exactly once and rejects missing/duplicate/unknown, failed/skipped/cancelled, wrong-SHA/tree/policy, empty or retry-erased execution. Input-based omission additionally requires explicit qualified selection and a reviewed contract. A protected verifyFresh callback is mandatory for fresh execution; default denies. REST metadata flags cannot substitute for provenance. Output has authority:none; no canonical gate/schema/status or Taskdeck reuse activation is changed.

Adds a bounded single-host JSONL ledger with canonical hash chaining, exclusive writer lock, expected-anchor CAS, file fsync, semantic validation before append, irreversible input revocations, task circuits and explicit recovery from a newer complete covering baseline. Full qualification decisions include both baseline age and landed-merge exposure.

Hash chains are not authentication. An external protected anchor/store is required. This does not provision keys, storage, a multi-host database, an event broker or production GitHub execution-provenance verification. Unanchored crash tails/stale locks fail closed and require reconciliation; no auto-truncation or expiry-based lock breaking.

Validation

Local combined continuation + placement suite: 352 passed, 0 failed/skipped/cancelled, Node 22.16.0/Linux. New cases exercise recomputation, stale/incomplete outcomes, absent verifier and exception redaction, unqualified omission, contention, corruption/rollback/partial writes, backward clocks, invalid recovery/duplicate baselines and age/exposure circuits.

Fixture callbacks simulate a trusted verifier; they do not prove production provenance. Hosted configured-Node/full CI and independent review remain required. No product-suite or distributed-durability claim.

Documentation / rollback / outstanding

docs/ci/continuation/ADMISSION_AND_LEDGER.md describes the protocol, APIs, trust boundaries, crash/CAS recovery, activation requirements and explicit remaining integrations. Taskdeck's existing policy stays shadow, every adapter contract unreviewed, and human settings/runner/signing decisions unchanged. No permissive placeholder is wired into the canonical gate.

Rollback auxiliary code without deleting any independently stored historical revocations. Existing umbrella issues stay open.

Refs #2327, #2336, #2339.

Recompute protected decisions, reject incomplete/stale execution and
require an independent fresh-provenance verifier. Add bounded single-host
append/CAS reference ledger, revocation/circuit recovery and full-baseline
age/merge-exposure checks. No canonical gate or reuse activation.

Refs #2327, #2336, #2339
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 10, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-10T08:07:20.772975Z cb7ae41 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7a7c07ad65

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/ci/smart-ci/continuation/core/ledger.mjs
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Independent review and single fix-round checkpoint

Reviewed this slice with an independent Terra reader, then reviewed only the blocking fix diff. Current head: e1c8116. The integrated final tree is byte-identical to independently reviewed 636a17329e5a480d702fcf1a9585cf279bbf60fb after preserving each original stack branch and propagating fixes with merge commits.

Blocking changes: prohibit Git lazy fetch/protocol execution in immutable readers; use independently trusted self-contained export verification; repair Windows CRLF and privilege-free symlink fixtures. Slice-specific changes remain visible in this PR diff. No result-reuse activation or settings changes.

Validation: cumulative Windows control command node --test scripts/ci/smart-ci/*.test.mjs passed 509/509, no failures/skips/cancellations. Independent fix checks: core/repository 110/110; export/workflow 11/11. node scripts/check-doc-links.mjs passed, 683 Markdown files and zero broken relative links. These are additive; hosted CI at the current head/base is still required.

Nonblocking findings are tracked once on #2336: #2336 (comment) . Review budget: one original pass and one scoped fix verification, complete. Original E2E/nightly-map findings were already corrected in the previous authored heads and remain covered by the green control tests.

The maintainer's current local request explicitly includes finishing and merging this CI work. Parent-first merge order remains #2863, #2864, #2865, #2867, #2868, #2869, #2871; children are retargeted only after parents land, with moved-base requalification. No branch deletion while it is a stack base.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e1c8116a3e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/ci/smart-ci/continuation/core/ledger.mjs
@Chris0Jeky Chris0Jeky moved this from Pending to Review in Taskdeck Execution Sep 10, 2026
Base automatically changed from ci/continuation-05-observer to main September 10, 2026 05:37
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Parent #2868 merged as f0d4ebf at 05:37:52 UTC after exact-head required CI run 34439637559 succeeded, with no pending/failed checks or unresolved review threads.

This PR now targets main, confirmed through the API. Updating the branch refreshed its head to 73c98e8. A complete tree comparison against reviewed head e1c8116 found no source changes. The code review remains applicable; fresh full hosted qualification is running before merge. Admission still has no production required-check authority.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Base changed before merge

The required run 34441867071 passed at head 73c98e8, but pre-merge validation found main had advanced through product PR #2866 to 384d8df. No merge was attempted on stale qualification.

The branch is refreshed to cb7ae41. Comparing the complete old-base/old-head and new-base/new-head diffs shows the five-file admission PR patch is byte-identical. A bounded independent integration check is reviewing the changed-base boundary; fresh full hosted qualification is running. The product changes are preserved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Review

Development

Successfully merging this pull request may close these issues.

1 participant