feat(art): verify exact Submission input for post-submit checking - #451
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (6)
🚧 Files skipped from review as they are similar to previous changes (2)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThis change adds a TASK read port for submitted-bundle facts and an ART materializer for verified post-submit files. An asynchronous consumer receives bounded reads from a scoped view. Selection is checked again after provider I/O. Default production authority denies materialization. ChangesPost-submit materialization
Priority: ⬇️ Low Estimated code review effort: 4 (Complex) | ~60 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant Materializer as PostSubmissionMaterializer
participant Reader as SubmittedBundleReader
participant Store as Artifact store
participant Consumer as Async consumer
Materializer->>Reader: Read submitted-bundle facts
Reader-->>Materializer: Return detached facts
Materializer->>Store: Open and verify selected artifact
Store-->>Materializer: Return artifact bytes
Materializer->>Consumer: Provide scoped bounded reads
Consumer-->>Materializer: Return evaluation result
Materializer->>Reader: Recheck selected submission
Reader-->>Materializer: Return facts for comparison
Merge Risk: ⚪ Minimal · up to The hidden input path remains unavailable to production callers, and no merge-blocking issue is established in these changes. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The new input path is security-sensitive, but its default production configuration rejects access before files are read. Future activation still needs to establish how authorization changes and repeated evaluations are handled. Retained concerns Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 50.70% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 71 functions across 19 files. (3 skipped: 3 unsupported.)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
🛠️ Fix failing CI checks 💡
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Change
ARCH-04B — Exact verified post-submit input.
Goal
Give the post-submit checker boundary scoped access to the exact ZIP consumed by an immutable Submission. Production access remains explicitly unavailable until live service authorization is implemented.
Intent And Planning Context
Bounded change record records the reviewed design, allowed files, acceptance criteria and remaining dependencies.
What Changed
Design Chosen
Short owner reads surround provider/consumer I/O; no row lock or transaction spans it. The public port returns closed evaluation values and material custody, not a provider handle or live file view. This does not persist checker runs/results, activate AUTH, add routes, or change acceptance policy.
The change exceeds the preferred L1 size guideline because the exact TASK read, ART byte lifetime and real integration proof must agree in one change. It adds no schema or separate storage/extraction subsystem.
Evidence
Current head:
833c1f79.da001893225b7bab04ba5ddfac67f9cc143a58achas tree0603e037d2a9068539fbf64dd464a2f42e220621, identical to head833c1f79. Backend evidence combines eight first-attempt lanes with the successful retry of the lane blocked by PostgreSQL registry quota. No gate or workflow was changed.External Findings Addressed
The security proof gap is closed using two real stored project/submission chains rather than nonexistent IDs. The shared test helper selects the admission by its exact put attempt; production code is unchanged by this repair. AUTH-003 index navigation now agrees with its overview, and authorization activation custody explicitly includes ARCH-04B2 before ARCH-04C/04D. The roadmap already describes that sequence accurately.
Test Delta
New tests cover exact source selection, deny-before-access composition, async view revocation, cancellation during projection/consumption, deadlines, quota, byte/manifest drift and independent-session state changes. Existing pre-submit safety tests remain. Static expectations for the removed dead interface were replaced with the current explicit owner registration; no tests are skipped.
Impact-Routed Reviewer Results
Fresh security, QA, test-delta, reuse, documentation and product-operations reviews pass on
833c1f79. Prior architecture/CI-source review covered the unchanged production and gate configuration; this repair changes tests and documentation only. All reviewer sessions are complete.External Review
CodeRabbit substantively reviewed the changed head with no actionable comments and no unresolved threads. Its advisory touched-function docstring warning remains nonblocking; the required repository check passes. Human approval is still required.
CI And Gate Integrity
No workflow, dependency, skip, or percentage-gate changes. Ownership and lane registration adds the exact affected paths and preserves existing tests. Coverage remains diagnostic.
Remaining Risks / Follow-Up Work
Live service admission, generation/replay/revocation custody and final publication remain ARCH-04D/04C responsibilities. The current authority is deny-only; controlled test authority is not production authorization proof. ARCH-04B2 output custody and durable execution remain separate work. No real public-intake or worker execution is claimed.
Human Review Focus
Inspect exact material ownership, transaction-free I/O, async capability lifetime, and the distinction between a returned phase value and a durable current checker result.
Human Merge Ownership