Repository navigation
Prepare staged JSON/KYAML migration with pinned readiness evidence - #256
Conversation
…orpus Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
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 56 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 |
Fork governance
🟣 critical · commit
Hypatia scan: 134 finding(s)
panic-attack assail: 9 finding(s)
pons asinorum: 4 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. |
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f0a00cc491
ℹ️ 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".
| if suffix not in CODE: | ||
| continue |
There was a problem hiding this comment.
Scan workflow YAML for embedded format operations
Workflow files are emitted as generic documents and then skipped because .yml/.yaml are absent from CODE, so embedded shell operations are never inventoried. For example, the checked repository contains numerous jq calls in .github/workflows/hypatia-scan-reusable.yml, but the inventory reports only that workflow's path rather than those JSON boundaries. Since this output is intended to drive boundary-by-boundary migration review, scan workflow YAML—or at least its run bodies—for the configured operation patterns.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Addressed: inventory now scans YAML/KYAML text for operation candidates as well as reporting document rows. Regression checks the exact embedded jq workflow location, and the real inventory now reports the hypatia-scan-reusable.yml jq boundaries. Still explicitly lexical candidate discovery, not structural YAML validation.
| try: | ||
| os.killpg(child.pid, signal.SIGKILL) | ||
| except ProcessLookupError: |
There was a problem hiding this comment.
Terminate descendants that leave the process group
When a probed tool starts a descendant that calls setsid() or otherwise moves to another process group, killpg(child.pid, ...) reaches only the original group; a detached process therefore survives a timeout even though this runner promises bounded descendant cleanup. This can leave runaway compiler or adapter processes consuming resources on the developer or CI host, so cleanup needs to track the full process tree or use an isolation mechanism that detached descendants cannot escape.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Addressed: added single-threaded Linux subreaper supervision, so setsid/double-fork orphans are adopted, killed, and reaped rather than escaping group-only cleanup. Added a real detached double-fork regression that verifies the descendant PID no longer exists after timeout. Cleanup has a bounded grace period; unsupported hosts or existing-child/threaded contexts fail closed. Prior subreaper state is restored. This supervises trusted tools and is not advertised as an adversarial sandbox.
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2e57cae83b
ℹ️ 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".
| "Python JSON IO": r"\bjson\.(?:load|loads|dump|dumps)\s*\(", | ||
| "Oxygen JSON candidate": r"(?<![\w.])json\s*\(", | ||
| "R JSON IO": r"\b(?:jsonlite::)?(?:fromJSON|toJSON|read_json|write_json)\s*\(", | ||
| "shell jq/yq candidate": r"(?m)(?<![\w/-])(?:jq|yq)\s+(?:-[A-Za-z]|['\"])", |
There was a problem hiding this comment.
Match long-option and bare jq invocations
The new YAML scan still misses valid jq boundaries unless the first argument is a short option or a quoted filter. In the current workflows, .github/workflows/hypatia-scan-reusable.yml:245, :347, and :469 use jq --arg ..., while .github/workflows/k9-conformance-reusable.yml:291 uses jq length ...; none appears in the generated inventory. This is valid syntax—jq --help documents jq [options] <jq filter> and lists --arg—so the migration census remains incomplete. Fresh evidence in the current tree is that adding YAML to CODE exposes the files but this new argument-shape restriction silently drops these operations.
Useful? React with 👍 / 👎.
|



Scope — first stage only, no premature migration
Start the requested sequence: working kyq → conformance corpus → shared adapters/structural gates → application migration → workflow conversion.
kyq is blocked, not certified. At pinned
d448abd, its build/wasm/test/install recipes all exit 1 with “not implemented”. Compiler execution could not be reproduced locally: no OCaml/opam/dune, and the release-asset host is inaccessible. This is evidence about recipe fencing, not an independent compiler result. Upstream work is tracked in metadatastician/kyq#11 . Application and workflow conversion remain paused.Changes
Validation
Local Python 3.11.2:
PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s scripts/tests -p 'test_format*.py' -v: 21 tests pass.git diff --checkpasses.No Julia/R/Rust runtime result is claimed locally. At final head
2e57cae, the hosted pinned reference and Sonar gate both pass; broader CI still has running/queued checks. No application, scientific results, persisted IDs, lockfiles or licensing files are changed. No build artifacts/vendor source are committed. New documentation is explicitly unignored.Follow-ups / limitations
The initial corpus characterizes one-pass compatibility, not complete RFC coverage or closure under all numeric policies. Julia/JS acceptance differences, KYAML comment/profile proofs, isolated install, real WASM IO, fuzz/large-data tests and runtime integration remain explicit obligations in
docs/format-migration.md. These are not waived by a green preparation job.Hosted reference and review update
The initial real Rust reference run 39999978128 built the pinned CLI and passed all 34 cases. The rerun 40000917320 also passed at
0b970ab, whose Sonar security gate passed.Sonar findings were addressed by removing arbitrary corpus-path/program-argument CLI selection and complexity refactors: subprocess commands now come only from a closed table of complete literal protocols. Executables must be installed on trusted PATH; this is not an adversarial sandbox.
Both Codex findings are addressed: inventory scans embedded workflow YAML operations, and single-threaded Linux subreaper supervision adopts/kills/reaps setsid/double-fork descendants. Regression tests verify the detached PID disappears and unsupported supervision fails closed. The local suite now has 21 passing tests. The final-head proof is now complete for the preparation lane: run 40001674612, job 120579062625, passed all harness/build/corpus steps at
2e57cae; Sonar check 120579331209 also passed. Broader CI is still running/queued, and the PR is not merged. No application/runtime dialect migration or kyq readiness claim.