Conversation
Contributor
Author
How I verified this5 commands recorded - as recorded (shortened, folded onto one line), grouped by kind. No entry asserts a pass or a fail: read the output. Not necessarily everything the session ran. test
excerpt - 1,726 characters of output in total
Not verified: everything below is a limit of this section, listed whether or not it bit this attempt.
See the PR body's Evidence table for the orchestrator's own test run. |
Contributor
Author
Independent review — PASSED (1 round) on
|
| Severity | Finding | Where | Note |
|---|---|---|---|
| ✅ | missing-file lists reuse extra-named dict keys | scripts/history_gate_hit_report.py:700 |
Reusing attribute_extra_files for the missing-file split means run_range_scan pulls range_missing out of a dict key literally named range_extra, which reads wro |
# Conflicts: # RELEASE_MANIFEST.txt
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Evidence
Verifiers (1)
Merge-ready policy (6 rules, source: default)
Acceptance criteria
Changes
All evidence gathered. Final report below.
Final Report
Context: This is a resumed task. Prior sessions implemented the range-attribution fix for the history gate (
gatesubcommand,RangeVerdict,attribute_hits/attribute_extra_files, thepre-pushhook) and, per the last attempt's[WIP-BLOCKED]commit, also fixed the reviewer-flagged brand-new-ref/empty-tree bug (_is_commit_ish,merge_basereturningbase_kind,range_commits/range_paths/first_touching_commitacceptingbase=None). The tests-gate rejection cited wastests/test_codex_oversized_jsonl_line.py::test_boundary_sizes_all_round_trip_byte_exact[1048576]— a file our diff never touches.Rest of the coder's report (4 more paragraphs)
Investigation this session (no code edits made — see below):
git statuswas clean at HEAD4c2bdd7c0, diff vsorigin/maintouches exactly the planned 6 files.uv run pytest -q "tests/test_codex_oversized_jsonl_line.py::test_boundary_sizes_all_round_trip_byte_exact[1048576]") — it has internal 30s subprocess-drain timeouts (lines 107/110/213), consistent with a load-sensitive flake under an-n 4full-suite run on a loaded box, not a regression from this diff.merge_base/range_commits/range_paths/first_touching_commit/run_range_scan(scripts/history_gate_hit_report.py:613-820) andscripts/hooks/pre-push(lines 71-89): confirmed the empty-tree/no-common-history edge case is handled correctly —base_kinddistinguishes"no-common-history"andrange_basebecomesNone, so the whole ref is walked instead of ever putting a tree object on the excluded side of arev-list/logrange.uv run pytest -q -n 4 tests/test_history_gate_range_attribution.py tests/test_history_gate_hit_report.py→ 33 passed, including both brand-new-ref regression tests.RELEASE_MANIFEST.txtis in sync:python3 scripts/check_release_manifest.py→OK: 1714 file(s) match RELEASE_MANIFEST.txt.run_scannerarming interface), including a genuine RED-test run: temporarily swappedscripts/history_gate_hit_report.pyfor its pre-fix (4ea03f774) version, ran the new acceptance test, gotAttributeError: module ... has no attribute 'cmd_gate', then restored the file byte-for-byte (diff -qconfirmed identical,git status --porcelainempty afterward — zero net change).Real
gateCLI output (FAILED case, C over since=B; direct evidence for the summary-line split):Range D over since=C (introduces nothing):
RANGE VERDICT: PASSED - 0 ... introduced by this range ..., exit 0,TIP-WIDE total ... 2 blob— same 2-blob tip count as the FAILED run above, confirming the tip-wide number is preserved and unchanged by which range is scanned.Real pre-push hook run (same C/B scratch repo, piped through
scripts/hooks/pre-pushexactly as git invokes it, withNH_HISTORY_GATE_SCANNER/`NH_HISTORY_GATE_SOUR(summary truncated at 4000 characters — full report:
nh task show <task-id>).nh-local/nh-guardpre-push hook script itself, or only toverify_public_history.py? A: Onlyverify_public_history.pyneeds modification; the.nh-local/nh-guardhook script should not require changes if it simply invokes the Python script and relays output. (assumption)verify_public_history.py's output format must change to show separate range and pre-existing counts, will this break existing tools or scripts that parse its current output? If so, should we maintain backward compatibility through flags/versioning, or accept breaking changes? A: The output format must change to report separate range and pre-existing counts; no backward compatibility requirement is stated in the task, so accept the breaking change and communicate it clearly in release notes. (assumption)Superseded PRs
Earlier attempts on this task opened these drafts and did not finish them:
How I verified this
Tests (5 runs, last shown) —
uv run pytest -q -n 4 tests/test_history_gate_range_attribution.py tests/test_history_gate_hit_report.py 2>&1 | tail -20· full log5 commands recorded while working. Full verification log: ~/.no_human/artifacts/b42eed4306d540c3a505b8226bdaa3b4/verification-attempt-7.md —
nh logs b42eed43; the same log, every command with its captured output, is posted as this PR's How I verified this comment when posting succeeds. Whether it passed is in the Evidence table above: no entry here asserts a pass or a fail.Opened by no_human (attempt 7,
no-human/b42eed43-7→main). It never merges: review and merge this yourself, or runnh approve b42eed43.