feat(cloud): publish archives with explicit admission evidence - #180
feat(cloud): publish archives with explicit admission evidence#180vincentkoc wants to merge 1 commit into
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs maintainer review before merge. Reviewed September 9, 2026, 1:40 PM ET / 17:40 UTC (Revision 2). ClawSweeper reviewWhat this changesAdds opt-in cloud archive publication with frozen integrity, source-observation, and enrichment evidence, carrying immutable warnings through staging, replay, and reader verification. Merge readiness✅ Ready for maintainer review This remains a useful, distinct contribution absent from current main and v0.9.5. No blocking introduced defect was found; the earlier review’s empty findings remain appropriate. Priority: P2 Review scores
Verification
How this fits togetherGitcrawl’s cloud publisher turns a local SQLite archive into a sanitized snapshot and sends it to a separately deployed Worker service. The new admission mode records archive limitations before publication while preserving existing authentication and strict defaults. flowchart TD
A[Local SQLite archive] --> B[Freeze archive]
B --> C[Assess source and enrichment]
C --> D[Sanitize and validate integrity]
D --> E[Store evidence and hash snapshot]
E --> F[Check remote capabilities and roles]
F --> G[Upload and stage]
G --> H[Optional cutover and reader verification]
Before mergeNone. Agent review detailsSecurityNone. Review metrics
Technical reviewBest possible solution: Retain explicit admission opt-in, truthful frozen evidence, and capability-gated publication while preserving the existing strict path. Do we have a high-confidence way to reproduce the issue? Not applicable: this adds an explicit publication mode rather than repairing a reported failure; its behavior is covered by inspected source and focused test cases. Is this the best way to solve the issue? Yes: extending the existing snapshot pipeline avoids a parallel publisher and binds evidence to sanitized bytes while retaining strict defaults. AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning medium; reviewed against dab4d849f956. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (1 earlier review cycle)
|
Additional instructions
This is a same-repository branch; maintainers retain normal push access.
The fork-only "Allow edits from maintainers" checkbox does not apply.
What Problem This Solves
Operators need to distinguish an intact archive with incomplete or unknown
source/enrichment evidence from a fully enriched archive before publication.
The existing strict default remains unchanged.
Why This Change Was Made
Add explicit
cloud publish --admission-policy=archive-v1 --observation-order.The frozen SQLite snapshot records deterministic source, integrity, and
enrichment evidence. Its canonical warnings travel with the snapshot and must
match during publication, reader verification, and replay.
Archive admission retains schema, required-data, referential-closure, full-body,
privacy, and size checks. Lossy portable exports are rejected before upload.
The remote must explicitly advertise both archive-admission and
observation-order support; this PR does not deploy or activate remote support.
Use the normally released Crawlkit v0.15.1 optional warning fields, without
local replacements or schema/wire-version changes.
User Impact
of silently presenting it as complete.
are preserved.
rewritten or repaired.
Evidence
three fixture defects; its failure is retained.
13 subtests, with no skips. Tests used isolated local caches, readonly modules,
denied external networking, and loopback fixtures.
store-observation, and portable-export checks retain their prior passing
evidence.
smoke, and snapshot checks remain gated on this PR's native CI.
invoking a reviewer because its secret scanner misclassifies the unchanged
Go expression
"mutation_token": mutationTokenin diff context. It producedno native review verdict. Publication has an explicit maintainer exception
for that false positive; exact-head hosted ClawSweeper, CI, and code-owner
clearance remain required before merge. The scanner was not disabled or
modified, and the review input was not filtered.
immutable archive-admission contract. Tests: +757/-9. The final dependency
and fixture continuation adds no production code.
No production export, live archive publication, binary installation, or
historical-data repair was performed.
Named follow-up: teach the canonical
openclaw/agent-skillsautoreview secretscanner to recognize ordinary Go variable references without weakening
credential detection. That shared-tool repair is outside this PR.