Repository navigation
Finalize 373 starred repositories with guarded retention and source coverage - #1016
Conversation
72e4c17 to
2b88907
Compare
Add the exact repository grant derived by scripts/local_pages_policy_grants.py at 72e4c17 and build the fixture no-reply identity at run time. The fail-first checks reproduce two missing-grant assertions and one fixture-identity assertion; both owning modules pass after correction. Verify the fixture author with native Git %ae: git/git@67ad421, Documentation/pretty-formats.adoc:195 (Git 2.53.0). Restate the pinned g5 attachment coverage as 368 of 373, with independent witnesses for the other five. Registry rebase onto landed #1030 (6658473) preserves the original historical advisory baseline and skill-use delta bytes. Record the new #1016 monitoring observation through a separate dated append rather than rebinding those historical records. Raw protected-source hashes and retention decisions remain unchanged.
2b88907 to
d022729
Compare
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d40cdc7c60
ℹ️ 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".
Add the exact repository grant derived by scripts/local_pages_policy_grants.py at 72e4c17 and build the fixture no-reply identity at run time. The fail-first checks reproduce two missing-grant assertions and one fixture-identity assertion; both owning modules pass after correction. Verify the fixture author with native Git %ae: git/git@67ad421, Documentation/pretty-formats.adoc:195 (Git 2.53.0). Restate the pinned g5 attachment coverage as 368 of 373, with independent witnesses for the other five. Registry rebase onto landed #1030 (6658473) preserves the original historical advisory baseline and skill-use delta bytes. Record the new #1016 monitoring observation through a separate dated append rather than rebinding those historical records. Raw protected-source hashes and retention decisions remain unchanged.
d40cdc7 to
a49273a
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a49273a805
ℹ️ 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".
Add the exact repository grant derived by scripts/local_pages_policy_grants.py at 72e4c17 and build the fixture no-reply identity at run time. The fail-first checks reproduce two missing-grant assertions and one fixture-identity assertion; both owning modules pass after correction. Verify the fixture author with native Git %ae: git/git@67ad421, Documentation/pretty-formats.adoc:195 (Git 2.53.0). Restate the pinned g5 attachment coverage as 368 of 373, with independent witnesses for the other five. Registry rebase onto landed #1030 (6658473) preserves the original historical advisory baseline and skill-use delta bytes. Record the new #1016 monitoring observation through a separate dated append rather than rebinding those historical records. Raw protected-source hashes and retention decisions remain unchanged.
Use the landed #1030 append contract at 6658473, blueprints/runtime-workers/openhands/evidence/advisory-gate-deltas.md. Native GitTree/derive_ci_protected at the recorded source commit supplies the complete 344-read baseline; the relative delta is empty because that baseline contains every observed read and shape. Preserve the historical 2026-10-04 baseline and 2026-10-11 skill-use delta bytes from landed main. Append one own 2026-10-12 index entry and register its new snapshot/delta through the native evidence writer. Monitoring only; no worker permission or execution authority changes.
Restate the finalization record for the preserved 332-read historical baseline and the own 344-read, 100-shape dated snapshot at d5e4d4a. Cite the landed #1030 append contract at 6658473, advisory-gate-deltas.md; add no label to historical source_files_sha256 fields. Re-register only the changed record through the native evidence writer. Advisory bytes, source commit, classifications and policy remain unchanged.
a49273a to
6aca7f0
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6aca7f0833
ℹ️ 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".
…ecord the custody reads Fix round 1 of #1057, after Astra's first read at d9a7199 (findings 1-3) and the command center's tests-only check. - Finding 1: --from-file refuses a source the operator does not own or that has another hard link, before anything moves, and removes the source only if it still has one link. Mode bits stay unchecked (WSL reports invented ones); the one link is removed once the stored copy passes its check. - Finding 2: a failed file operation never shows its text or a path. Before the key is stored it is a refusal with fixed text and nothing moves; after it, the tool reports the key stored and the source cleanup incomplete (exit 3). The CLI's file mode gains the value-free handler --from-env already has. run_from_file looks up input and stdout per call. Six FileCustodyTests regressions fail on d9a7199's set_credential.py and pass here. - Finding 3: a dated advisory gate-read delta, appended to the index, records the four custody reads from the native derivation at d9a7199 (348 reads against the #1016 baseline's 344); earlier deltas are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…stody mode (#1057) * Credential inventory: github-review-app key file and a --from-file custody mode The command center's request of 2026-10-12 (22:06Z): the owner is creating the review GitHub App, and its .pem private key needs custody that no agent reads. - adoption/credential-inventory.json: github-review-app, class github_app_private_key (new in scripts/credential_status.py), store a private_file at <store>/github-review-app.pem, no variable in the file, GITHUB_REVIEW_APP_ID (the App's ID, not secret) as an optional public variable kept beside its future loader, pointer GITHUB_REVIEW_APP_KEY_PATH, no loader yet. - tools/credentials/set_credential.py --from-file (separate strict load_file_entry; the hidden prompt and --from-env still refuse the entry): - in the owner's terminal it asks for the downloaded file's path at a visible prompt; - it opens the file without following a symlink and refuses anything but a regular file of 1 byte to 64 KiB; - it copies the file unread and unprinted into a new 0600 temporary file through the checked store handle; - it checks that copy with `openssl pkey -noout -passin pass:` on standard input (exit status only); - only then does it give the copy its final name (replace needs the hidden word) and remove the downloaded file, if the typed path still names the copied inode. A failed check removes the copy and keeps the original. - tools/credentials/open_credential_terminal.sh --from-file: the window's session runs the --from-file mode; the path is typed there, never written into the script. - scripts/hooks/secret_path_guard.py: the new pointer joins POINTER_VARIABLE (a reader, copy or key tool on it is credential_file_read). Literal store paths were already refused. - docs/secret-storage.md: the table row, the terminal usage and the custody paragraph, and the pointer line. - Tests use RSA keys generated per test with openssl genpkey, never embedded: - custody: success, a non-key file, a passphrase-protected key, a symlink, a missing, empty or oversized source, replace, and no openssl; - the entry refused by the other modes, the launcher's dry run, the inventory row, and guard rows for the pointer. With main's files they give 5 failures and 13 errors. The guard pin, five dispositions locators and the manifest are re-derived. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Refuse a linked or foreign key source, name no path on failure, and record the custody reads Fix round 1 of #1057, after Astra's first read at d9a7199 (findings 1-3) and the command center's tests-only check. - Finding 1: --from-file refuses a source the operator does not own or that has another hard link, before anything moves, and removes the source only if it still has one link. Mode bits stay unchecked (WSL reports invented ones); the one link is removed once the stored copy passes its check. - Finding 2: a failed file operation never shows its text or a path. Before the key is stored it is a refusal with fixed text and nothing moves; after it, the tool reports the key stored and the source cleanup incomplete (exit 3). The CLI's file mode gains the value-free handler --from-env already has. run_from_file looks up input and stdout per call. Six FileCustodyTests regressions fail on d9a7199's set_credential.py and pass here. - Finding 3: a dated advisory gate-read delta, appended to the index, records the four custody reads from the native derivation at d9a7199 (348 reads against the #1016 baseline's 344); earlier deltas are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Refuse interpreter lookups of the App key pointer and close the custody link race Fix round 2 of #1057, after Astra's delta read at 60fbe1c (two P1s and P3s; the command center's ruling of 05:31Z). - Finding 1: interpreter code that looks the review App's key-file pointer up from its environment (os.environ, os.getenv, process.env, ENV) is refused as credential_file_read, as a whole-text rule after B(T)'s. stat, ls and test -f on the pointer stay allowed. Rows join BLOCKED and ALLOWED; a hook-protocol test runs the read's three forms. All fail on 60fbe1c's guard and pass here. - Finding 2: after removing the source, the still-open descriptor must show no link left; otherwise custody reports the source cleanup incomplete (exit 3) and removes no unknown name. - P3s: an interrupt after the key is stored reports that state; the stored key given as its own source changes nothing; the custody steps cite CPython v3.13.16 (os.rst replace, fsync, lstat, st_nlink). - The guard pin, the evidence manifest and five catalog locators follow the new bytes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Drop the interpreter-reader guard rule from this change; keep the key-file custody Scope reduction of #1057 (the command center's ruling of 2026-10-13, 06:24Z, after Astra's delta read at 74cd74c). - The interpreter-reader protection family leaves this change: scripts/hooks/secret_path_guard.py and tests/test_secret_path_guard.py return to their 60fbe1c bytes, and the docs drop their sentences on it. Main's guard is unchanged for that family, so nothing is weaker than main; the family moves to the guard's owner under route B (native sandbox read denial, cc-native-practice). - Kept: the --from-file custody mode with finding 2's post-removal link check and the round-2 custody P3s, the github-review-app inventory entry, the pointer row and their tests. - The guard pin returns to round 1's value; the evidence manifest and five catalog locators follow the new bytes. Net scope (CC adjudication df663230..., the #1048 precedent): the interpreter-reader refusal added by the third commit is removed again by the fourth, so main's text guard is unchanged for that family, which moves to the native sandbox route. What lands is the github-review-app key file, the --from-file custody mode, the linked or foreign source refusals and the custody records. Follow-ups: the 4 in Astra's fix3 delta at f3619df (verdict sha256 b9f6db68...); after landing, the CC reinstalls the host guard copy (tools/adoption/install_claude_profile.py --only guard). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Scope
Classify the 373 starred repositories in the existing convergence manifest across the 13 WS1 categories, with public maintenance signals and explicit retention decisions: 45 KEEP-MIRROR, 328 KEEP and zero UNSTAR. All observed rows are non-archived and pushed within 18 months; no evidenced same-category supersession is invented. The mirror rows preserve registered references and recorded selected component sources, without a new comparative runtime claim.
This also closes the four CC-assigned #978 follow-ups: source-review URLs must belong to their seed repository, canonical snapshots missing convergence_manifest fail closed, every seed row must be referenced by a disposition, and an absent timer no longer stops the README's first-install preflight. Each correction has a failing-before check.
9cfe3a964f416080cef914351ddff0502c8bd000(Apply verified event scopes to CI secret scans #949 landed after Validate dated grant counts and the newest advisory delta #1030; CC-released append order).d40cdc7c605d100dd66c8392ea338d87ad650208(one fast-forward wording correction after the reviewed dated advisory append).lane:foundation.SOTA sources
Landed dated advisory append contract at #1030/66584736 supplies the immutable historical-file and append-only index mechanism. The new Finalize 373 starred repositories with guarded retention and source coverage #1016 snapshot is measured with native GitTree/derive_ci_protected at recorded source commit d5e4d4a; no new producer, runtime or permission is introduced.
Git author formatting at 67ad4214, pretty-formats.adoc:195 documents
%ae, used by the fail-first fixture identity check. The inventory grant uses the existing native proposal at 72e4c171.cli/cli 2.102.0 at fc4b137c, pkg/cmd/api/api.go: installed
gh api graphqlprojection and the existing builder's--refresh-starsacquisition interface. No new collector or dependency.Existing validator at main 333ec47b: pinned-source resolution, seed links and canonical compatibility. catalog_decisions.py supplies normalized repository identity and canonical JSON pointers.
CPython v3.13.16 at cbc944f4, calendar.rst:401 and datetime.rst: calendar-month bounds and aware UTC comparisons, verified from the pinned local mirror.
systemd/systemd at b3d8fc43, systemctl-list-unit-files.c:289-290: no-match returns -ENOENT. Installed systemd 259.5 reproduces it. The historical pin was unavailable in the configured local mirror; exact pinned public source bytes were retained separately.
Existing component selections and mirror registrations, plus
catalogs/landscape/candidate-quality-review.json, supply bounded role evidence.sources/starred-mirror-pins-20261011.jsonresolves eight new mirror nominations to their recorded selected source versions. Package version skills-ref 0.1.0 is distinguished from its verified source_pin.Native monitoring producer at main 333ec47b, push_gate.py:665-773: existing GitTree/derive_ci_protected re-derives the monitoring record for the final source; policy remains monitoring_only.
Git immutable tree/blob interfaces at 67ad4214 and revision/path syntax, verified with installed Git 2.53.0; PyPA name normalization supplies the conservative dependency-name normalization.
Evidence-class table
Dependents are unavailable/null, not zero. Histories truncated at 100 releases remain incomplete and cannot authorize inactivity removal. The corrected protected projection covers all 373 listed repositories across 349 tracked sources (319 native-agent-stack, 30 us-equities-trading), plus the public projection of 220 mirror entries (55 matching listed repositories). The committed producer scans URL and bare-slug citations in Markdown decision records and JSON attachments, workflow
uses:pins, and dependency manifests/lockfiles in both repositories. All 373 are conservatively protected by the union of recorded witnesses. The retaineddocs/decisions/memory-adoption-835/g5-grand-catalog-ae6cc228.jsonattachment cites 368 of the 373. The other five—astral-sh/ty, HKUDS/nanobot, languagetool-org/languagetool, microsoft/playwright and microsoft/pyright—have separate Markdown, mirror or dependency witnesses, documented in the decision record. Across the full union, 141 have a mirror, Markdown decision, workflow or dependency witness. The decisions stay 45 KEEP-MIRROR, 328 KEEP and zero UNSTAR.Capture heads, obtained with
git rev-parse: native-agent-stack86fa384421b1ca50134bd56d89cc72e0f7547816, us-equities-trading56e174a20d115996ed2c791e14391c8ea820bb8b. Witnesses bind the first matching line in each source to its Git head and SHA-256. The producer replays those trees and its embedded public mirror projection. Dependency basename matches deliberately overprotect and are labelled as candidates; different package/repository aliases and missing historical inputs remain unresolved. B1 was a direct extraction defect (bare citations, workflow pins and trading package pins), not merely a transitive mapping gap. All 32 CC reproductions are now protected, including actions/checkout and pytest-dev/pytest. Absence from a bounded capture never authorizes removal.Local commands run
Module commands use
PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=. timeout 600 python3 -B -m unittest <module>; longer runs use nice/ionice. Exact-parent fail-before logs, pinned source captures and final test/scan receipts are retained in the external WS1 review packet. No runtime acceptance, strategy return, live timer installation or unstar execution is claimed.The initial WS1 eight-module run reported 421 tests and exit 1 because one monitoring assertion compared the new working record (334 entries) to the old HEAD (332 entries); the other 420 passed. The owning assertion passed after the original commit. B1 at 72e4c17 had 36 convergence tests, three producer tests and deterministic capture replay passing. Those historical results remain distinct from this correction's exact-head checks.
The correction reviewed at 2b88907 fixed the missing inventory grant, the fixture identity and the 368-of-373 claim. Fail-first proof at 72e4c17: the two policy-grants selectors failed (exit 1, two assertions, zero errors), and the fixture identity regression failed before the identity change (exit 1, one assertion, zero errors). After correction and rebase, the complete owning modules pass: policy grants 23 tests, producer three tests, each exit 0. The native grant proposal supplies exactly the new starred_protected.py entry. The fixture no-reply identity is assembled at run time and checked through Git's actual author identity.
Current advisory accounting follows landed #1030's append contract after #949's dated entry. The 2026-10-11 entry and #949's entry remain an unchanged index prefix; all three prior snapshot/delta files remain byte-identical to main. #1016 appends its own 2026-10-12 complete snapshot and monitoring-only delta. Native GitTree/derive_ci_protected at source commit d5e4d4a measures 344 reads and 100 shape-bearing locations. The relative delta is empty because its new complete baseline already contains every observed read and shape. This replaces the earlier baseline rebind through a dated append while preserving the published historical snapshot/delta bytes. The decision record now describes this current 344-read observation and introduces no label for the old baseline's hash fields.
On this final head, the complete owning gate module passes 127 tests with no failures/errors/skips, the grant module passes 23, and the dated-count module passes five. The owning module and offline builder ran under T2 CPUWeight=idle, with scratch in /var/tmp. FULL integrity validation passes (70 components, 11,797 hashed files, 239 receipts, four profiles); evidence ordering, native decision-index check, offline builder and whitespace pass. The wording-correction head's git merge-tree against current main d8f7e20 returns exit 0 (tree 8f5431318f466462fe539f3d8094ee73b63164f3). Range-only redacted gitleaks scans the four PR commits and reports no leaks.
B1 fail-first proof: the planted actions/checkout UNSTAR test failed against the unchanged c8e7071 capture/validator (exit 1, one assertion failure, zero errors: removal accepted), then passed after regeneration (exit 0: removal refused as protected). The committed producer fixtures cover bare/URL boundaries, a SHA-pinned action subpath, a Python package pin and immutable-tree replay despite a changed working file. Reproduce the capture with
python3 scripts/starred_protected.py --uet-root ../us-equities-trading; it checks the embedded named heads and mirror projection without using later working-tree contents.The final wording commit changes only the decision paragraph and its native evidence registration (+11/-7), preserving all advisory bytes. Validation, evidence ordering and whitespace pass; one-commit redacted gitleaks reports no leaks. No rebase or squash was performed. The complete owning-module results above are the carried d022729 results.
Decision record
docs/decisions/2026-10-11-starred-finalization.mdrecords the taxonomy, measured zero-removal result, evidence boundaries, source mechanisms and CC execution ownership. REOPEN only on a new star, a KEEP-MIRROR release/archive event or new WS2 primary evidence.Follow-ups
Astra fix3 P3 Fix native worker timeout cleanup on macOS #1 at d022729: current monitoring wording is corrected by this commit under the CC's false-claim adjudication, identifying the unchanged 332-read baseline and the current 344-read/100-shape observation; retain the suggested source/count-binding regression as a follow-up. Historical snapshot/delta bytes remain unchanged.
Astra fix3 P3 Integrate native tool evidence with explicit source-host scope #7 at d022729: keep the existing architecture-edition currency review in its owning lane for the 23 inherited pin-drift advisories, preserving dated selections and recording supersession; no candidate or version change belongs in this correction.
Claude DELTA P3-1 at d022729, research queue: decide whether the supported refresh shape should also record Finalize 373 starred repositories with guarded retention and source coverage #1016's two-read/one-shape increment against Apply verified event scopes to CI secret scans #949's observation in a machine-readable delta with permission_change=false classifications. The current full-snapshot/zero-relative-delta shape is accepted by the landed contract.
Claude DELTA P3-2 at d022729: the first three commits fail the owning advisory checker without the fourth dated append; land the complete PR by squash only, as the CC requires. Do not land the intermediate commits separately.
CC-adjudicated Astra DELTA P3 at 2b88907, reaffirmed as Astra fix3 P3 Publish evidence-led convergence practice and retrieval comparisons #2 at d022729: build tests/test_ecosystem_manifest.py:358's inherited
mailto:fixture (reserved.invaliddomain) at run time; Refuse email addresses in the publication scan #1002's tracked-file email scan and api-actions row 43 cover the class, so no separate sweep is needed. The CC ruled this inherited, non-identity-bearing fixture a follow-up under RFC 6761 §6.4 and RFC 2606 §2.Astra DELTA P3 Publish evidence-led convergence practice and retrieval comparisons #2 at 2b88907, addressed upstream by Validate dated grant counts and the newest advisory delta #1030 at 6658473: historical counts are checked at each record's own pinned revision, with the added-path regression and analogous-test sweep; this PR's dated record remains unchanged. Its owning dated-count module passes after this rebase.
Astra DELTA P3 Adopt native upstream tools and preserve token-efficiency evidence #4 at 2b88907, reaffirmed as Astra fix3 P3 Adopt native upstream tools and preserve token-efficiency evidence #4 at d022729: retain a regression for the corrected 368/373 claim against its named source revision 86fa384 and verify independent witnesses for the other five.
Astra DELTA P3 Qualify native recovery and a pinned local GPU workflow #6 at 2b88907, reaffirmed as Astra fix3 P3 Qualify native recovery and a pinned local GPU workflow #6 at d022729: inherited hostname hygiene has 26 occurrences across complete evidence.json/source_policy.json and zero patch hits; retain the count-only classification and normalize historical receipt paths with their evidence registrations together if addressed.
Claude DELTA P3-N1 at 72e4c17: extend capture completeness for
.gitURL suffixes, non-uses:workflow references and nested workflows; zero current protected rows are affected.Claude DELTA P3-N2 at 72e4c17: label the 27 unpublished-preimage bindings as private-repository/mirror provenance or publish an approved projection; the CC's audit found no P1 value in those preimages.
Claude DELTA P3-N3 at 72e4c17: preserve category/activity rationale alongside the generic protection reason for KEEP rows; current decisions remain unchanged.
Claude DELTA P3-N4 at 72e4c17, research queue: clarify whether a catalog-wide listing counts as a decision citation for future removals and establish a supported producer replay in CI with its required inputs; 232 rows currently have only the attachment witness.
CC-adjudicated Astra DELTA P3 (b) at 72e4c17: after Refuse email addresses in the publication scan #1002's email rule lands, add reviewed-address entries for the three already-published source files (docs/decisions/2026-10-01-new-wsl-distro-recipe.md, docs/decisions/2026-10-09-claude-code-floor.md, evidence/artifacts/harbor-0240-currency-20261009/upstream/pyproject.toml). Preserve raw-blob provenance; under digest-audit rule 2026-09-24 community sweep: effort-guard SessionStart notice, working plugin-install commands, dated dispositions #161 these published preimages are not an unpublished-preimage oracle.
Astra DELTA P3 at 72e4c17, reaffirmed as Astra DELTA P3 Add searchable ecosystem manifest and token-efficiency guide #3 at 2b88907 and Astra fix3 P3 Add searchable ecosystem manifest and token-efficiency guide #3 at d022729: producer check mode compares only the capture after a split write; validate the manifest's derived protection fields and add an interrupted-write recovery regression. Preserve downstream validation's refusal of a stale manifest.
Astra DELTA P3 at 72e4c17, reaffirmed as Astra DELTA P3 Qualify native engineering convergence with evidence checks and a Claude child repair #5 at 2b88907 and Astra fix3 P3 Qualify native engineering convergence with evidence checks and a Claude child repair #5 at d022729: retain original allowlisted acquisition, pin-resolution and primary-source captures in the review packet with publication-safe bindings, including the PyPA page and separately cited systemd historical bytes; the existing mirror/acquisition follow-ups remain open.
Astra FIRST P3 at c8e7071: retain the primary resolution captures for the eight new mirror pins in catalogs/convergence-practice/sources/starred-mirror-pins-20261011.json.
Astra FIRST P3 at c8e7071: acquisition and protection completeness remain bounded by missing historical inputs to the starred-signals sources; retain those inputs before expanding the completeness claim.
Astra FIRST P3 at c8e7071: inherited hostname hygiene remains in the touched manifests/evidence.json; carry this as a count-only follow-up under the CC's P3 ruling.
The CC registers the eight additional pinned KEEP-MIRROR sources on landing day and retains the single unstar-pass/re-star receipt; this wave's UNSTAR list is empty.
Hand off 42 Claude-practice and nine Codex-practice rows to their existing owned slot catalogs; create no parallel list.
Resolve package/repository aliases and missing historical protection inputs before any future removal proposal; a bounded capture's unprotected flag never authorizes removal.
Keep Converge 373 public stars and schedule weekly review intake #978's separately adjudicated registry-binding/privacy, evidence-row joins, review-level validation and nonempty-queue recurrence in their follow-up queue.
The unchanged 2026-10-04 baseline retains its source_files_sha256 values; this PR adds no label to them. Verification or correction of those bindings remains a separate follow-up.
Host evidence
No evidence/hosts receipt or host-unit installation. No credential or Codex configuration was accessed. The CC alone executes the landed action list and changes MIRRORS.json. Licence and popularity never authorize removal.
Checklist
Follow-ups added at landing (command center, 2026-10-12)
Three Codex P2 validator gaps in scripts/starred_convergence.py were ruled follow-ups under the terminal rule. Hard trigger: no UNSTAR from this manifest is executed until the follow-up PR lands, with a fail-before test for each gap.
finalization.unstar_countmust equal the number of UNSTAR rows (thread on a49273a, :63).finalization; legacy manifests are distinguished explicitly rather than by an early return (thread on 6aca7f0, :61).