Repository navigation
fix(stats,governance,security): complete PR #217 follow-ups, K9/DEED conformance, and input-boundary hardening - #245
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 7 minutes. View limit details
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 |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Fork governance
🟣 critical · commit
Hypatia scan: 128 finding(s)
panic-attack assail: 8 finding(s)
rhodibot (RSR compliance): not_run — enrolled, but no report-back was received
panicbot (panic recovery, error handling): not_run — enrolled, but no report-back was received
echidnabot (formal verification: proofs/): not_run — enrolled, but no report-back was received
seambot (integration health: API routes): not_run — enrolled, but no report-back was received
finishingbot (release readiness): not_run — enrolled, but no report-back was received
accessibilitybot (WCAG on the React UI): not_run — enrolled, but no report-back was received
glambot (presentation quality): not_run — enrolled, but no report-back was received
cipherbot: not_applicable — no cryptography is implemented in this repository
sustainabot: not_applicable — fleet adapter slot reserved; no adapter exists yet (gitbot-fleet README)
Scope: static findings reported by each row's tool at the named commit. Purple, red, yellow and blue grade the worst finding present; orange is evidence missing, malformed or a scanner that did not run; grey is an explicit scope exclusion with its reason. No row is a security certification. report.json, badge.json and the raw findings are in the verdict-grid artifact on the linked run. 🟢 conformant · commit
Scope: K9 components L0–L2 against contract v1.0.0 at the named standards commit. L3 signature verification and routed coordination-dialect files are not certified. Green is limited to this scope. Orange is missing evidence; yellow is grandfathered debt or warnings; grey is an explicit scope exclusion. report.json, badge.json and the validator logs are in the k9-grid artifact on the linked run. |
|
Add Carrot credits or activate Agent usage billing to use Autofix |
…I workflow - Read req.body non-destructively in _statistics_body via copy(req.body), enforce MAX_STATISTICS_REQUEST_BYTES using UTF-8 byte length (ncodeunits) when req.body is already an AbstractString, and accept generic AbstractString payloads (e.g. SubString). - Add regression tests in test_validated_statistics.jl covering repeated reads of the same HTTP.Request, multibyte UTF-8 size limits, and SubString payloads. - Remove the duplicate timeout-minutes key in .github/workflows/ci.yml introduced by the PR #242/#243 merge, run validated_statistics first within the fast pre-flight CI step, and SHA-pin actions/checkout in .github/workflows/doi.yml. Signed-off-by: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
…formance - Author Yard-tier K9 contracts under .machine_readable/contractiles/ (must.k9.ncl, trust.k9.ncl, intend.k9.ncl) declaring fork invariants, trust boundaries, and architectural commitments. - Enable require-files: true on the fork-local K9 conformance lane so an emptied K9 corpus fails closed, and publish k9-grid.json / k9-grid.report.json to governance-badges alongside deed.json and hypatia-grid.json. - Extend scripts/check-governance-contract.sh and its mutation test suite to enforce require-files: true and K9 badge publication, and update MetaManifold-WebUI_chora.deed, 0-AI-MANIFEST.a2ml, SECURITY.md, and README.md. Signed-off-by: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
…ons-asinorum debt - Add _parse_json_object_body in src/server/server.jl and route HTTP JSON POST/PUT endpoints through it so malformed JSON, non-object JSON, and oversized payloads (>16 MiB) return HTTP 400 cleanly instead of HTTP 500, preserving non-destructive reads on req.body; add route regression tests in test/unit/test_server_security.jl. - Guard frontend JSON.parse sites in charts.ts, PublicationTablesPanel.tsx, and alphaMetrics.tsx with explicit catch recovery. - Replace the 8 tracked TODO placeholders in bench/advanced_zero_handling/benchmark.jl with deterministic timing and provenance summary emission, and rewrite comment wording in test_occupancy_grade.jl and test_evidence.jl that triggered false-positive ProofDrift keyword matches. Signed-off-by: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
8f35556 to
c72aca7
Compare
|



Summary
Reconciles PR #217 (
fix(stats): aggregate DuckDB counts exactly, whose core DuckDB exact-count aggregation already landed onmainvia PR #226), repairs the broken duplicatetimeout-minuteskey onmain's.github/workflows/ci.yml, populates and enforces L0–L2 K9 contracts in the fork governance lane, and hardens remaining server/frontend/benchmark security & quality boundaries.1. PR #217 Reconciliation & CI Workflow Repair
src/server/routes/validated_statistics.jl,test/unit/test_validated_statistics.jl): Carry forward and refine PR fix(stats): aggregate DuckDB counts exactly #217's CodeRabbit review fix (1268cb0) on top of currentmain— copyVector{UInt8}before callingString(...)soreq.bodyis never mutated/emptied across repeated reads, checkncodeunits(req.body)(UTF-8 byte count rather than codepoint count) whenreq.bodyis already anAbstractString, and accept genericAbstractString(SubString) payloads, with unit regression tests covering all three paths..github/workflows/ci.yml,.github/workflows/doi.yml): Remove the duplicatetimeout-minuteskey introduced in.github/workflows/ci.ymlwhen PRs fix: complete PR #219 reconciliation and governance hardening #242 and Harden security checks and separate K9/DEED governance evidence #243 merged, runvalidated_statisticsfirst inside the pre-flight step, and SHA-pinactions/checkoutin.github/workflows/doi.yml(WH006).2. K9 (L0–L2) & DEED Conformance
.machine_readable/contractiles/{must,trust,intend}/*.k9.ncl,.gitignore): Add Yard-tier (contract-eval-only) K9 contracts (must.k9.ncl,trust.k9.ncl,intend.k9.ncl) declaring fork invariants, security boundaries, and architectural commitments, turning the K9 conformance lane from grey (empty corpus) to🟢 green..github/workflows/governance.yml,scripts/check-governance-contract.sh,scripts/tests/test-governance-contract.sh,MetaManifold-WebUI_chora.deed,0-AI-MANIFEST.a2ml,SECURITY.md,README.md): Enablerequire-files: trueonk9-conformance-reusable.ymlnow that contracts are committed, publishk9-grid.json/k9-grid.report.jsontogovernance-badges, and enforce both invariants incheck-governance-contract.sh+ mutation tests.3. Security, Input-Boundary & Debt Hardening
src/server/server.jl,src/server/routes/*.jl,test/unit/test_server_security.jl): Introduce_parse_json_object_body(req)with a 16 MiB byte limit, non-destructivecopy(req.body)decoding, and clean HTTP400responses for malformed or non-object JSON payloads across POST/PUT endpoints (runs,studies,composition,analysis,results,publication_tables,config), backed by route regression tests.JSON.parsehardening (frontend/src/figure/charts.ts,frontend/src/components/PublicationTablesPanel.tsx,frontend/src/components/alphaMetrics.tsx): Guard unguardedJSON.parsesites with explicitcatchrecovery (panic-attackInputBoundary->0).pons asinorumdebt & false-positiveProofDriftcleanup (bench/advanced_zero_handling/benchmark.jl,test/unit/test_occupancy_grade.jl,test/unit/test_evidence.jl): Replace the 8 trackedTODOplaceholders inbenchmark.jlwith deterministic timing and provenance summary emission (pons asinorum->🟢 clean,0findings) and clarify comment wording in unit tests (ProofDrift->0).Verification
CIworkflow (Julia testsincludingtest_validated_statistics.jl+test_server_security.jl,Agda proofs,Occupancy typed peak,Occupancy disagreement test),Governance (fork),CodeQL,SonarCloud, andSemgrepverified passing; rebased cleanly ontomain(a9fb609).bash scripts/check-governance-contract.sh(41/41 passed) + allscripts/tests/*.sh+scripts/ci/check-shell-secrets.shpassed.bun audit --audit-level high,bun run typecheck,bun test src(72 pass, 0 fail), andbun run buildpassed.