Repository navigation
Conversation
Under --fasthenry-compat, a `contact decay_rect` / seven-value `contact rect` cell >= the rectangle width on an axis is clamped to 0.99 x width on that axis, with one line-numbered warning per clamped axis, in the clause's source order. Both axes use >= (FastHenry's y-only `>` is not reproduced), so the decay ratio never meets r0 = 1. A cell <= 0 stays an error, and native mode keeps its existing error. Closes #145 Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
|
Judge verdict: approved (code). Merge waits on CI. I checked each acceptance criterion in #145 against the diff:
CI: all checks were still pending when I reviewed (mergeStateStatus BLOCKED). I did not run cargo locally because disk space is tight. Do not merge until |
|
Verdict anchored to the current head — no marker had been recorded This PR carries This comment records the head SHA as of now, Anchoring bounds future exposure; it cannot reconstruct which tree was actually reviewed. If the head already moved before this comment, treat the verdict with corresponding suspicion. Automated by loom-daemon claim reconciliation (#6319) |
|
Landing order recorded — this PR overlaps other open work Planned by the merge-sequencing pass (#9686): this PR lands AFTER #149, because it changes files #149 also changes. Order within overlapping work is oldest-first; independent PRs are unaffected. While the Automated by loom-daemon claim reconciliation (#9686, plan seq-8c981698) |
|
Landing order recorded — this PR overlaps other open work Planned by the merge-sequencing pass (#9686): this PR lands AFTER #149, because it changes files #149 also changes. Order within overlapping work is oldest-first; independent PRs are unaffected. While the Automated by loom-daemon claim reconciliation (#9686, plan seq-1d039e6e) |
|
Landing order recorded — this PR overlaps other open work Planned by the merge-sequencing pass (#9686): this PR lands AFTER #149, because it changes files #149 also changes. Order within overlapping work is oldest-first; independent PRs are unaffected. While the Automated by loom-daemon claim reconciliation (#9686, plan seq-36cf2910) |
|
Landing order recorded — this PR overlaps other open work Planned by the merge-sequencing pass (#9686): this PR lands AFTER #149, because it changes files #149 also changes. Order within overlapping work is oldest-first; independent PRs are unaffected. While the Automated by loom-daemon claim reconciliation (#9686, plan seq-52da1383) |
|
Champion: Cannot Auto-Merge Cannot auto-merge:
Next steps:
Keeping Automated by Champion role |
Under --fasthenry-compat, a `contact decay_rect` / seven-value `contact rect` cell >= the rectangle width on an axis is clamped to 0.99 x width on that axis, with one line-numbered warning per clamped axis, in the clause's source order. Both axes use >= (FastHenry's y-only `>` is not reproduced), so the decay ratio never meets r0 = 1. A cell <= 0 stays an error, and native mode keeps its existing error. Closes #145 Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
64dade7 to
4933c10
Compare
|
🔧 Resolved merge conflicts with main branch (rebased onto origin/main). Changes:
No behavioural change beyond the merge. Verified locally: |
|
Stale review verdict cleared — head SHA moved This PR's
Judge will re-evaluate the tree that is actually here now. No judgment about the new tree is implied either way — the old verdict simply no longer describes it. Automated by verdict-staleness-guard.sh (#5686) |
|
✅ Approved! Reviewed the complete diff at Validation: local execution was attempted but
|
Resolve inp.rs conflicts with #148 (compat copper default) and #149 (relx/rely/relz): the contact-cell clamp reuses main's single compat flag (DeckBuilder.compat -> parse_plane_statement -> PlaneStatement.compat), and the clamped contact rect / decay_rect centres are shifted by the relx/rely/relz offset. Add a CHANGELOG entry for #145. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
|
Doctor: merged origin/main (#148, #149) and resolved the inp.rs conflicts. The clamp now uses main's single compat flag (no second field); clamped |
|
Judge review: no blocking code findings; approval gate unresolved. Reviewed head Test scoping: Live forge evidence:
No approval or changes-requested verdict is being applied. Releasing |
|
✅ Approved! Reviewed the complete three-file diff against issue #145 at Test Execution
|
|
Champion Auto-Merge Fresh Judge approval covers head dfdf389. Full diff inspection finds contact_rect_values normalization and warn_clamped_cells are confined to contact parsing. The specific Judge review and current-head CI cover the regression behavior. All four risk axes pass: enumerated changes, feature-local blast radius, specific review evidence, and full revertability with no external state effects. No prior merge-risk hold is present. PASS: No critical files modified (or only version-only carve-out files). Live mergeability is MERGEABLE, real activity is within 24 hours, and all executing CI checks pass. Proceeding through the guarded merge script. Automated by Champion role |
|
Champion: Merge Failed The guarded merge exited 1. The required-check freshness guard could not read classic branch protection: Resource not accessible by integration. The installed daemon also lacks merge-pr chain-lock. No guard was bypassed; loom:pr remains for a later retry. Automated by Champion role |
|
Champion Auto-Merge Current-head Judge approval is fresh; no prior merge-risk hold. Read the full diff: contact_rect_values clamps positive oversized cells under compat; both callers emit ordered warnings; native and nonpositive errors persist. Changes are confined to deck parsing or plane bars plus tests/docs, the specific Judge review is backed by current-head CI, and reverting the commit undoes the change. All four risk axes pass. PASS: No critical files modified (fresh paginated list inspected). MERGEABLE; last real activity 2h ago; all seven CI checks pass. Proceeding through the guarded merge script. Automated by Champion role |
|
Champion: Merge Failed Guarded merge exited 1. The required-check freshness lookup returned Automated by Champion role |
|
Champion Auto-Merge Fresh Judge approval covers head PASS: No critical files modified (fresh paginated file list inspected). Live mergeability is MERGEABLE, real activity is within 24 hours, and all required CI checks pass. Proceeding through the guarded merge script. Automated by Champion role |
|
Champion Auto-Merge Fresh approval covers the current head; no prior risk or critical-file hold. Full diff read: contact_rect_values clamps compat-only cell widths before ratio construction; warn_clamped_cells preserves clause lines and source order, with focused equality, geometry and native-error regressions. The specific Judge review cites code and test evidence. All four risk axes pass: enumerated feature-local changes, specific verification, and full revertability without external state effects. PASS: No critical files modified (or only version-only carve-out files). Fresh paginated loop passed; MERGEABLE, real activity within 24 hours, and all executing CI checks pass. Proceeding through the guarded merge script. Automated by Champion role |
|
Champion: Merge Failed Guarded merge exited 1: required-check freshness lookup failed with Automated by Champion role |
|
Champion: Merge Deferred Current-head approval is fresh, but the required-check freshness guard exited 2: branch-protection lookup returned Automated by Champion role |
|
Champion Auto-Merge Current-head approval is fresh; no sticky hold. Full diff read: contact_rect_values normalizes compat cells before validation and warn_clamped_cells preserves ordering; focused equality, axis and rejection regressions. All four risk axes pass: enumerated feature-local changes, specific Judge review backed by current-head CI, full revertability and no external state effects. PASS: No critical files modified (fresh paginated file loop). MERGEABLE; last real activity 8h ago; all executing CI checks pass. Proceeding through the guarded merge script. Automated by Champion role |
|
Champion Auto-Merge Fresh Judge approval covers the current head; no prior merge-risk hold. The complete diff is confined to contact-cell compatibility normalization, its focused regression tests, and docs. The Judge traced both call sites, per-axis clamping, warning order, and preserved error paths; current-head CI is green. All four risk axes pass: enumerated feature-local changes, specific verification, no external state effects, and full revertability. PASS: Fresh paginated file inspection found no critical files. Live mergeability is MERGEABLE, real activity is within 24 hours, and all executing CI checks pass. Proceeding through the guarded merge script. Automated by Champion role |
|
Champion: Merge Failed The guarded merge exited 1. Its required-check freshness guard could not read classic branch protection ( Automated by Champion role |
|
Champion: Merge Blocked The live required branch-protection check lookup returns HTTP 403: Resource not accessible by integration. Guarded merging cannot proceed with the active credential. Current approval matches the head and CI is green; merge-risk evaluation is deferred because this environment blocker prevents merging. Keeping loom:pr for a later pass. Restore branch-protection read access before retrying. Automated by Champion role |
|
Champion Auto-Merge Pass of 2026-10-08: Judge approval FRESH for head dfdf389 (staleness guard rc 0, no hold marker). Fresh paginated file list is CHANGELOG.md, docs/fasthenry-compat.md, fasterhenry-cli/src/inp.rs (no critical files). MERGEABLE; last real activity within 24h; all executing CI checks pass. Merge-risk: compat-only contact-cell clamp in the deck parser plus tests/docs, specific Judge review, fully revertable. First in the recorded landing order (#152 → #153 → #161 → #162/#164 → #151). Retrying the guarded merge once. Automated by Champion role |
|
Champion Auto-Merge Pass of 2026-10-08 08:3x UTC: Judge approval FRESH for head dfdf389 (staleness guard clean, no hold marker). Fresh paginated file list (CHANGELOG.md, docs/fasthenry-compat.md, fasterhenry-cli/src/inp.rs) has no critical files; MERGEABLE; active within 24h; all executing CI checks pass. Merge-risk: feature-local parser clamp plus tests/docs, revertable via Automated by Champion role |
|
Champion: PR Is Stale Last real activity was 2026-10-07T07:01:07Z (28 hours ago), outside the 24-hour recency window. Champion comments do not reset this clock. Routed out of the auto-merge queue for a rebase/refresh. Rebase onto the latest main, resolve any drift, and re-request Judge review. Automated by Champion role |
Summary
--fasthenry-compat, acontact decay_rect/ seven-valuecontact rectcell at or above its axis's width is now clamped to0.99 × widthon that axis (COMPAT_CELL_CLAMP). Each clamped axis gets one line-numberedParseWarning, on the clause's own continuation line and in source order (the(order, ParseWarning)mechanism).>=. FastHenry's y-only>is deliberately not copied, so the decay ratio1/(1 − r0)is never computed withr0 >= 1. A cell<= 0is still an error in both modes, and native mode keeps its existing error.DeckBuilder.compat→parse_plane_statement(…, compat, …)→PlaneStatement { compat, warnings }, set up the same way as Deck reader: support relx/rely/relz on ground planes (documented offset) #149 so the two PRs are easier to merge. Widths and cells are compared index-wise, in plane coordinates (Deck reader: contact cell sizes are applied along global x/y, but the public memo defines them in the plane's own p1->p2 coordinate system #118).contact rect/contact decay_rectrows indocs/fasthenry-compat.mdand the module doc now describe the compat clamp.Clean-room: written only from the issue spec and the public nonuniform ground-plane manual.
Test plan
compat_clamps_a_cell_at_or_above_the_width: covers both axes, a negative limit, cell == width (both axes), x-only and y-only clamps, and seven-valuecontact rect. Each case must give the same geometry as the deck with the 0.99×width cell written out, one warning per clamped axis, and the error in native mode. Also checks that a cell <= 0 is still an error under compat.compat_clamp_warnings_keep_source_order: clamp warnings sort into place among the hole-outside warnings.cargo fmt --check,cargo clippy --all-targets --workspace -- -D warnings,cargo test -p fasterhenry-cliCloses #145
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.