docs: audit 20260818-r2 GO catalog repair - #58
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 14cdf04d17
ℹ️ 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".
| "old_artifact_deleted": false, | ||
| "catalog_current_sha_precondition_enforced": true, | ||
| "candidate_files_fsynced_and_parsed": true, | ||
| "replacement": "manifest.toml and catalog.toml were installed by consecutive same-directory os.replace calls followed by release-directory fsync", |
There was a problem hiding this comment.
Publish the manifest/catalog pair atomically
When a reader resolves 20260818-r2 between these two os.replace calls, it can observe one new file paired with the other old file; the directory fsync after the second call only makes the eventual state durable and does not make the pair replacement atomic. Consequently, the later SHA/admission checks cannot establish that the release was consistently readable throughout publication, so the pair should be reinstalled through one staged release-generation switch before recording it as verified_ready.
AGENTS.md reference: AGENTS.md:L47-L48
Useful? React with 👍 / 👎.
| "snapshot_count": 30, | ||
| "file_count": 1364339, | ||
| "total_bytes": 369412700369, | ||
| "native_builder": "/home/fqzhang/project/biofetch/dist/biofetch manifest build RESOURCE_ROOT --output STAGE_DIR --formats toml --workers 1", |
There was a problem hiding this comment.
Pin the builders that produced the repaired metadata
When this repair must be reproduced or independently audited, native_builder resolves only to a mutable local binary without a biofetch revision or executable hash, and the record identifies no builder revision or command at all for the repaired catalog.toml. The recorded output digests prove what was installed but not which generator semantics produced it, so pin both builder revisions and record the catalog-generation command as the earlier formal-release evidence does.
Useful? React with 👍 / 👎.
| @@ -0,0 +1,124 @@ | |||
| { | |||
| "schema": "bioextract-20260818-r2-go-catalog-repair-readback-v1", | |||
There was a problem hiding this comment.
Register the repair readback in the authority map
This new readback has no references outside itself, so readers following docs/README.md as the authority map for formal metadata-v2 publications cannot discover the final r2 manifest/catalog hashes or the repair verdict. Add this artifact to the formal-publication or GO entry in that map so the newly recorded release state is reachable through the repository's documented authority path.
AGENTS.md reference: AGENTS.md:L5-L7
Useful? React with 👍 / 👎.
Summary
20260818-r2aggregate-manifest and GO catalog repair73571441f2f2dd56d5196f3865c4bf19fc3c31a5Validation
BIOEXTRACT_TEST_THREADS=1 pdm run pytest tests/integration/publication/test_inspection.py tests/contract/resources/go tests/integration/go(45 passed)BIOEXTRACT_TEST_THREADS=1 pdm run check(848 passed; format, lint, execution integrity, Pyright green)bioextract==0.6.0inspect_publication(..., verify_table_counts=True)against the formal GO DuckDBbioinfo_resource_tools.manifest.load_manifestagainst the rebuilt 30-snapshot manifestRelease note
This is compatibility/release evidence. Auto-merge is intentionally not enabled. The scientific GO publication was not rebuilt or modified; the old release metadata remains recoverable from the recorded backups and hidden rollback directory.