Add repository external reference pin guard#425
Conversation
|
@algora-pbc /claim #10 #425 Claim indexing follow-up: PR #425 is open, non-draft, CLEAN, and has a top-level /claim #10 line in the PR body. It adds the distinct repository external reference pinning guard for submodules, linked datasets, API sources, model weights, and external code/data references before DOI/citation publication or export bundle release. |
|
Hardening update pushed in 0445f37: floating version aliases such as latest, main, stable, and nightly no longer satisfy durable identifier requirements unless the reference also has checksum or DOI evidence. I added a regression that failed before the fix with release_repository_references == hold_repository_release and now passes. Validation refreshed locally: npm test (4 tests), npm run demo, npm run video, npm run check, ffprobe on demo.mp4, git diff --check, and sensitive-term scan returned no matches. |
|
Follow-up competitive hardening pass for the repository external reference pin guard. What changed:
Why this matters:
Validation:
|
|
Follow-up competitive hardening pass for the repository external reference pin guard. What changed in 0026dde:
Validation:
|
|
Follow-up competitive hardening pass for the repository external reference pin guard. What changed in
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the repository external reference pin guard. What changed in
Why this matters:
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the repository external reference pin guard. What changed in
Why this matters:
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the repository external reference pin guard. What changed in
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the repository external reference pin guard. What changed in
Why this matters:
Validation refreshed locally:
|
|
Hardening update pushed in This closes a release-gate gap where malformed checksum or DOI fields could be ignored when another durable identifier was valid. The guard now emits explicit Fresh validation from
This remains non-overlapping with #407: #425 focuses on immutable external reference/citation evidence for release and export bundles, while #407 covers component-owner approval quorum. |
|
Pushed an additional hardening commit: What changed:
Fresh verification:
|
|
Pushed a focused hardening commit for the reference manifest edge case: Fresh verification from |
|
Hardening update pushed in Validation refreshed locally:
|
|
Pushed #425 hardening commit Fresh verified gap closed:
Verification: red test reproduced |
/claim #10
Summary
Adds
repository-external-reference-pin-guard/, a focused issue #10 Project Repository & Version Control slice.The guard validates repository releases and export bundles that depend on Git submodules, linked datasets, API snapshots, model weights, or external code/data references. It blocks DOI publication/export when external references are floating, authenticated-only, stale, future-dated, missing verification evidence, malformed, or missing durable checksum/DOI/version evidence. It also stages metadata-only revision when immutable references still lack license or attribution metadata.
Hardening Updates
MALFORMED_REPOSITORY_PACKET, stableunidentified-repositoryevidence, andrepair_repository_packet:*remediation instead of crashing before reviewer packets are generated.referencesmanifests withMALFORMED_REFERENCE_MANIFESTandrepair_reference_manifest:*instead of treating them as clean empty audits.MALFORMED_REFERENCE_ENTRYandrepair_reference_entry:*instead of crashing or dropping them from reviewer packets.MISSING_REFERENCE_ID, assigns stableunidentified-reference-*packet IDs, and emitsassign_reference_id:*remediation instead of releasing ambiguous evidence.pending, truncated checksums such assha256:abcdef, invalid DOI placeholders, all-zero Git commit placeholders, floating version aliases, future-dated verification timestamps, and future-dated API snapshots.Non-overlap
This is scoped to immutable external reference pins and exportable citation evidence for submodules, linked datasets, API sources, model weights, and external code/data pointers. It does not duplicate broad repository ledgers, release engines, structured diffs, provenance attestations, release embargo controls, notebook replay, schema migration, citation impact, API/export contract verification, merge queue governance, environment drift, access review, DOI tombstone handling, metadata readiness, branch hypothesis lineage, sensitive-artifact scanning, dependency-license checks, legal hold, component-owner approval, restore rehearsal, compute sandbox policy, or semantic version-tag governance.
Validation
TypeError: Cannot read properties of null (reading 'policy')forassessExternalReferences(null).npm testfromrepository-external-reference-pin-guardpassed: 17 tests.npm run demoregenerated 7 deterministic JSON packets plus Markdown/SVG evidence, includingmalformed-repository-packet.json.npm run videoregeneratedreports/demo.mp4.npm run checkpassed: JS syntax checks and Python compile check.ffprobeverifiedreports/demo.mp4as H.264, 1280x720, 24 fps, 7.5s, 180 frames, 82,218 bytes.git diff --checkandgit diff --cached --checkpassed; only Windows line-ending normalization warnings appeared.repository-external-reference-pin-guard/.Demo Artifacts
repository-external-reference-pin-guard/reports/blocked-packet.jsonrepository-external-reference-pin-guard/reports/malformed-repository-packet.jsonrepository-external-reference-pin-guard/reports/malformed-manifest-packet.jsonrepository-external-reference-pin-guard/reports/malformed-packet.jsonrepository-external-reference-pin-guard/reports/missing-reference-id-packet.jsonrepository-external-reference-pin-guard/reports/clean-packet.jsonrepository-external-reference-pin-guard/reports/warning-packet.jsonrepository-external-reference-pin-guard/reports/external-reference-report.mdrepository-external-reference-pin-guard/reports/summary.svgrepository-external-reference-pin-guard/reports/demo.mp4Synthetic data only. No external repositories, live APIs, DOI registries, object stores, credentials, private research data, identity providers, payment systems, or private services are contacted.
AI-assisted with OpenAI Codex; I reviewed and locally verified the diff before submitting.