Skip to content

Retain check results and carry repository notes - #28

Merged
kikashy merged 2 commits into
mainfrom
rows-8-27
Oct 22, 2026
Merged

kikashy merged 2 commits into
mainfrom
rows-8-27

Conversation

@kikashy

@kikashy kikashy commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Closes #8. Closes #27.

What it adds

  • Preflights the configured check-log directory before any check starts.
  • Preserves completed results, reports persistence failures as infrastructure errors, and leaves later checks not run.
  • Adds validated repository notes to dev.json, includes them in the build brief template, and requires their heading in checked build briefs.
  • Documents repository notes and covers the storage, failure, validation, template, and refusal paths with hand-authored tests.

Checks

== check summary (dev.json) ==
PASS diff-check 0s
PASS local-paths 0s
PASS agent-docs 0s
sync-agent-docs: CLAUDE.md matches AGENTS.md
sync-agent-docs: CLAUDE.md matches AGENTS.md
PASS bash-n 0s
bash -n: every script parses
PASS json 0s, python [configured interpreter] (Python 3.8.20)
parsed 6 JSON documents
PASS shellcheck 4s
shellcheck: clean
PASS tests 45s
405 passed, 0 failed
== 7 passed, 0 failed, 0 skipped, 0 not run ==

Not in this PR

This does not change the kit version or release notes; maintainers handle releases separately.

A Codex session wrote this change.

Preflight the check log destination and preserve completed results when
log persistence fails so infrastructure errors do not erase the summary.

Admit repository notes in the manifest, print them in build brief
templates, and require their heading when checking a build brief.

Co-Authored-By: Codex <noreply@openai.com>
Signed-off-by: kikashy <kikashy@hotmail.com>
@kikashy

kikashy commented Oct 22, 2026

Copy link
Copy Markdown
Contributor Author

Review round 1 (OpenAI gpt-5.6-sol, effort medium, 2026-10-23), reviewed SHA 81a96f9

Clean-room clone at the head, probes under .review/; CI green before the round. The report verbatim:

Findings

  • HIGH — templates/check.sh:21: an unwritable log destination exits 2 before the check runs, so no result is retained or reported. Probe produced only the infrastructure error. Remove the early fatal preflight; run the check, retain its output in memory, then report any persistence failure alongside the result. Update the contrary expectation at tests/run.sh:55.

  • MEDIUM — templates/check.sh:135: a persistence failure is added to the check-failure count. A single failed check plus failed persistence returned 2 instead of the check result 1. Report infrastructure failure separately without altering the check-derived exit status.

  • MEDIUM — docs/adopting.md:68: documentation does not describe the new log path, filename/content, or persistence-failure behavior. Document the contract when fixing the behavior above.

Verified

  • Successful log: $JPDEV_SCRATCH/logs/<repository>-<timestamp>/<step>.log, containing the complete step output.
  • Post-check persistence failure retains and reports the completed result, names the target log, and stops later checks.
  • Two notes print verbatim and in order. $(), $HOME, and a backtick remained literal; nothing executed, and brief filtering passed.
  • Build briefs with notes require the named heading and identify dev.json; manifests without notes do not.
  • Non-string notes are rejected by both validator paths.
  • Two scratch mutations were caught: omitted log content and omitted note rendering.
  • tests/run.sh: 403 passed, 2 unrelated environment-sensitive Python-selection assertions failed; CI was already green.

merge: after fixes — 81a96f9

Disposition (the coordinator's)

# Finding Severity Disposition
1 An unwritable log destination exits before the check runs, so nothing is retained or reported HIGH Fix in this pull request by the same builder: no fatal preflight; the check runs, its output is retained in memory, the persistence failure is reported beside the result; the contrary test expectation updated
2 A persistence failure is added to the check-failure count and changes the exit status MEDIUM Fixed in the same push: the infrastructure failure reported separately, the exit status check-derived
3 The docs do not describe the log path, content or the persistence-failure behaviour MEDIUM Fixed in the same push

The same reviewer re-reads the fixed head. Same vendor as the builder, not a cross-vendor claim.

Let checks run after a log-directory probe fails and retain their summary
when the completed output cannot be persisted.

Keep infrastructure failures separate from check-derived exit statuses and
document the log location, contents, and persistence-failure behavior.

Co-Authored-By: Codex <noreply@openai.com>
Signed-off-by: kikashy <kikashy@hotmail.com>
@kikashy

kikashy commented Oct 22, 2026

Copy link
Copy Markdown
Contributor Author

Re-read after the fix (OpenAI gpt-5.6-sol, effort medium, 2026-10-23), reviewed SHA d71c9cd

The same reviewer, clean-room clone at the fixed head, probes under .review/; CI green. The report verbatim:

No findings.

Verified

  • Unwritable logging still runs and reports the check result plus persistence failure.
  • Check failure status remains unchanged by persistence failure.
  • Runner copies are byte-identical.
  • Documentation matches path, content, and failure behavior.
  • Focused probes reject each reverted fix.

merge: yes
Reviewed SHA: d71c9cdfbbbb1bfb548f5ef971fdf2c10ef08635

Disposition: the round-1 HIGH and both MEDIUMs are fixed; no further round. Merged on the standing rule. Same vendor as the builder, not a cross-vendor claim.

@kikashy
kikashy merged commit a09b7a3 into main Oct 22, 2026
3 checks passed
@kikashy
kikashy deleted the rows-8-27 branch October 22, 2026 19:43
@github-actions

Copy link
Copy Markdown

🎉 Thank you for your contribution to Judgment Pack!

If you’d like another task, choose a path that interests you:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant