Repository navigation
Include the complete engine runtime harness - #154
Conversation
Sync the missing runtime helpers from engine v1.10.0 and include them in the image COPY inventory and strict hash check. Keep the harness tests aligned with the complete fifteen-file runtime, inherited by the HPO image.
Sync the supervisor's remaining runtime dependency from engine v1.10.0. Keep all sixteen files in the image inventory and strict hash checks, with the import-closure detector and negative controls unchanged.
There was a problem hiding this comment.
Graphify reviewed this change.
No issues found by static checks — no coupling regressions or blocking issues in the code graph. That is not the same as safe to merge: see what was not checked.
Not checked: tests were not run; no formal proof of the changed code.
Graphify review — findings
Adds four more engine harness files to the Docker image (pineforge_report_deadlines.py, pineforge_report_supervise.py, quota_columns.py, run_quota.py) and raises the pinned harness set from twelve to sixteen. The build still recomputes HARNESS-SHA256SUMS on the installed files and fails if bin/ or the sums file differs from the exact sorted list of sixteen. The new deadlines module is opt-in, so importing it installs no handlers, threads or descriptors. It gives bounded socket and pipe reads and writes with wall and stall deadlines, and reports expiry or peer-close as typed errors. The other new modules add a supervisor that reports failures as a document, plus a run-quota client and ledger with tickets, limit parsing, commit and refusal paths. The release-workflow tests are also extended; the diff was truncated before I could read their changes.
Review partial — this diff was larger than one review pass covers, so later files were not reviewed; some findings may be missing.
Analysis details — impact, health, verification
Impact & health
Graphify review
Impact — 652 functions depend on the 645 functions this change touches.
Health — this change adds coupling hotspots:
- new:
read()— 4 callers, 3 callees - new:
validate_candidate()— 1 callers, 9 callees - worse:
_convert()— 1 callers, 7 callees - worse:
main()— 1 callers, 7 callees - new:
serve()— 0 callers, 12 callees - new:
relay()— 0 callers, 7 callees
Verification — 652 functions in the blast radius were not formally verified this run (proofs are advisory here).
Gate & verification
graphify gate
PASS — objectively clean (no health regressions, tests not run — proofs not run this pass (advisory)). Grounded, not self-assessed.
Advisory (not blocking):
- verification_scope: 652 function(s) in the blast radius were not formally verified this run
Risky patterns (advisory)
- medium
no-unbounded-fetchindocker/run_quota.py:554: unbounded read (no limit/bound): record = source.read() - medium
no-unbounded-fetchindocker/run_quota.py:565: unbounded read (no limit/bound): boot_id = str(UUID(source.read().strip()))
Docs that may be stale (advisory)
README.md§ pineforge-release (lines 1-43): references changed symbolsclose,release,runREADME.md§ Knobs, modes and exit codes (lines 44-75): references changed symbolserror,release,requestREADME.md§ Other symbols' bars (PINEFORGE_SYMBOL_FEEDS) (lines 76-128): references changed symbolserror,read,release,request,runREADME.md§ Why this repo exists (lines 129-156): references changed symbolspublishREADME.md§ Automated release flow (lines 157-214): references changed symbolsmeasured,publish,release,runREADME.md§ Debian source packages (lines 278-317): references changed symbolsreleaseREADME.md§ Harness / engine ABI (lines 354-405): references changed symbolsrunREADME.md§ HPO command and bundled licences (lines 406-494): references changed symbolsencode,make,release,run,spacedocs/release-chain.md§ Release runner isolation (lines 9-56): references changed symbolspublish,release,validatedocs/release-chain.md§ Receive, verify and replay (lines 57-94): references changed symbolspublish,release,run
…and 10 more.
· 2 grounded finding(s) anchored inline below; 4 more finding(s) on lines outside this diff (see the check run).
| return data, not data | ||
|
|
||
|
|
||
| def relay(src_fd, dst_fd, allowance_bytes, deadline, stage_hint, chunk=65536): |
There was a problem hiding this comment.
relay()
fans out to 7 callees (efferent coupling).
Grounded coupling-delta finding (deterministic), not an LLM guess.
| return _CREDENTIALS.unpack(raw) == (owner.pid, owner.uid, owner.gid) | ||
|
|
||
|
|
||
| def serve(ledger, channel, owner): |
There was a problem hiding this comment.
serve()
fans out to 12 callees (efferent coupling).
Grounded coupling-delta finding (deterministic), not an LLM guess.
Pin the sixteen synced harness files and their exact COPY instructions. Keep the historical runtime digest and strict normalization checks intact, and exercise missing, duplicate and altered copies of all added helpers.
The synced harness imports quota and report-supervision helpers that were missing from the image inventory, causing the runtime and sink paths to fail on import.
Sync all sixteen runtime files from engine v1.10.0, include them in the image COPY and strict manifest checks, and keep the import-closure and negative-control tests aligned. The HPO image inherits the same checked harness.
Validation: all 10 HarnessSyncTest tests passed on the committed head, including the unchanged import-closure test. The full PR suite remains required before merge.
🤖 Generated with Claude Code