fix(hourly): stream bounded proposal path counting - #643
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough시간별 product-development 워크플로가 NUL 구분 경로를 스트리밍 방식으로 계산합니다. 게시 단계는 경로를 하나씩 Base64로 인코딩합니다. 문서와 Vitest 테스트가 새 처리 방식을 반영하고 검증합니다. Changes시간별 product-development 워크플로
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The workflow changes preserve file-count limits and path-isolation behavior without introducing an actionable merge risk. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
seonghobae
left a comment
There was a problem hiding this comment.
Current-head review on b13903e3208232086871d7f117f8f20e753eb583: no additional valid source, DDD/owner-boundary, documentation, or regression finding. The proposer, verifier, and publisher now count NUL-delimited Git path records incrementally without retaining the full pathname stream; publication path isolation emits one base64 pathname record at a time into the file-backed set. The 40-file/500,000-byte admission contract, immutable proposal identity checks, open-PR path isolation, credentials, publication authority, and fail-closed behavior remain unchanged. Operations documentation and the regression cover the new invariant. This is COMMENT-only review, not self-approval. Merge remains contingent on terminal success of all required exact-head hosted gates and a fresh pre-merge base/head/thread check.
Finding
After #642 merged, the next independent buyer/security gap was in Noema's autonomous product-development proposal boundary. The proposer, verifier, and publisher counted
git diff --cached --name-only -zrecords by retaining every stdin chunk and concatenating the complete untrusted pathname stream before applying or re-checking the declared 40-file bound. The publisher's path-isolation preparation repeated the same full-stream retention before base64 set comparison. A model-generated working tree could therefore make retained heap/object count scale with pathname-stream fragmentation before the proposal admission contract took effect.RED
Test-only exact
a8953edc3c0f098636184bfdd9f5cb92fe6f42f8required the workflow to stop retaining/concatenating pathname chunks and to count NUL-delimited paths incrementally. Hosted application CI run34628909983checked out that exact head, passed live-base/lockfile/install/typecheck, and failed atrelease tests, providing the expected RED.Repair
Workflow repair
c102fcec224eb0dd510a3406b79c5daccb8ddf90counts each NUL delimiter directly as stdin chunks arrive in the proposer, uncredentialed verifier, and non-executing publisher. It never materializes a pathname list for file-count admission. Publisher path-isolation preparation now consumes the same NUL-delimited Git stream one pathname at a time and writes each base64 record directly to the file-backed comparison set instead of retaining all proposal paths first. Existing 40-file/500,000-byte bounds, exact base/digest evidence, open-PR path isolation, publication authority, and fail-closed behavior are unchanged.docs/operations/hourly-product-development.mdrecords the streaming file-count and one-path-at-a-time isolation contract. The regression requires all three file-count admission points plus the publication path-isolation stream to remain non-retaining. Final exact isb13903e3208232086871d7f117f8f20e753eb583.GREEN / review
On that unchanged exact, application CI
34629820648, reviewer-ci34629820588, required Security Scan34629820564, and patch-validator-image34629820791are terminal SUCCESS. Application release tests/security/KPI/license/acquisition gates passed; reviewer-ci retained 100% line+branch/docstring gates and the real no-network CodeGraph sandbox smoke; patch-validator retained exact-source/image, no-network smoke, SBOM, vulnerability, and stale-head evidence. A current-head COMMENT-only review found no additional valid source, DDD/owner-boundary, documentation, or regression finding. Fresh unresolved inline threads are 0. Protectedmainremained GitHub-verified36c786a070550225b4352aabb2a56196095b3245, matching this PR's base immediately before Ready.Scope
No LLM provider routing, quarantine/security product authority, outbound authority, foreign domain truth, branch-protection weakening, release, or deployment authority moves into Noema. This is bounded proposal-workflow resource hardening only.
Summary by CodeRabbit
개선 사항
문서
테스트