Skip to content

Finalize 373 starred repositories with guarded retention and source coverage - #1016

Merged
seathatflowsinourveins merged 5 commits into
mainfrom
codex/ns2604-stars-finalization-20261011
Oct 12, 2026
Merged

seathatflowsinourveins merged 5 commits into
mainfrom
codex/ns2604-stars-finalization-20261011

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

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.

  • Base commit: 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).
  • Head: d40cdc7c605d100dd66c8392ea338d87ad650208 (one fast-forward wording correction after the reviewed dated advisory append).
  • Lane: lane:foundation.
  • Owned paths: stars manifest/validator, public signal/protection/mirror-pin captures, associated tests, maintenance README, dated decision record and native-derived decision/evidence registries, the exact local-pages producer inventory grant and the dated advisory snapshot/delta/index append.

SOTA sources

Evidence-class table

Claim Evidence class Command / receipt
373 public maintenance observations native_proven acquisition Installed gh projection at 16:53:38Z..16:55:56Z; allowlisted values only
Classified identity set matches current native refresh local_integration build_ecosystem --refresh-stars at 17:10:59Z, 373 rows, zero additions
Categories, retention and mirror roles source_review Existing scope/seed links, recorded component pins and protected mirror witnesses; no comparative runtime claim
Three assigned validator corrections synthetic / local_integration Four tests fail before (five assertions), pass after; builder also refuses a canonical snapshot without its manifest
README absent-unit preflight and manager refusal native_proven Actual installed systemctl under set -eu; fails before and passes after, no unit installation
WS1 schema, protected rows and strict 18-month cutoff synthetic Four policy selectors fail on the parent implementation and pass after extension
Registry integrity and input binding local_integration Native builder, FULL validation and current-source monitoring comparison

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 retained docs/decisions/memory-adoption-835/g5-grand-catalog-ae6cc228.json attachment 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-stack 86fa384421b1ca50134bd56d89cc72e0f7547816, us-equities-trading 56e174a20d115996ed2c791e14391c8ea820bb8b. 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

python3 scripts/catalog_decisions.py --write
exit 0: 901 union records, 373 current stars, 528 beyond current stars

python3 scripts/validate.py
exit 0: 70 components, 11,797 hashed files, 239 receipts, 4 profiles

python3 scripts/build_ecosystem.py --check
exit 0; inherited architecture pin-drift advisories remain

python3 scripts/evidence_manifest.py --check
exit 0: 11,797 sorted unique registered files

git diff --cached --check
exit 0

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.md records 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

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.

  • F1: finalization.unstar_count must equal the number of UNSTAR rows (thread on a49273a, :63).
  • F2: the canonical manifest must carry finalization; legacy manifests are distinguished explicitly rather than by an early return (thread on 6aca7f0, :61).
  • F3: supersession evidence must be a typed record that names both repositories and the relationship, not any resolvable pointer (thread on 6aca7f0, :131).

@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Oct 11, 2026
@seathatflowsinourveins
seathatflowsinourveins force-pushed the codex/ns2604-stars-finalization-20261011 branch 2 times, most recently from 72e4c17 to 2b88907 Compare October 12, 2026 03:58
seathatflowsinourveins added a commit that referenced this pull request Oct 12, 2026
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.
@seathatflowsinourveins
seathatflowsinourveins force-pushed the codex/ns2604-stars-finalization-20261011 branch from 2b88907 to d022729 Compare October 12, 2026 14:06
@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 12, 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-10-12T19:31:43.010733Z 6aca7f0 Manual request
ℹ️ 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: 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".

Comment thread tests/test_starred_maintenance.py
Comment thread scripts/starred_protected.py
seathatflowsinourveins added a commit that referenced this pull request Oct 12, 2026
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.
@seathatflowsinourveins
seathatflowsinourveins force-pushed the codex/ns2604-stars-finalization-20261011 branch from d40cdc7 to a49273a Compare October 12, 2026 17:12
@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator Author

@codex review

@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: 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".

Comment thread scripts/starred_convergence.py
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.
@seathatflowsinourveins
seathatflowsinourveins force-pushed the codex/ns2604-stars-finalization-20261011 branch from a49273a to 6aca7f0 Compare October 12, 2026 19:17
@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator Author

@codex review

@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: 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".

Comment thread scripts/starred_convergence.py
Comment thread scripts/starred_convergence.py
seathatflowsinourveins added a commit that referenced this pull request Oct 13, 2026
…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>
seathatflowsinourveins added a commit that referenced this pull request Oct 13, 2026
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant