Keep GRM-03 PMI clear and complete on A4 - #2181
Merged
Merged
Conversation
Try up to twelve normal-aligned positions before the whole-view strip, through the existing corridor and exact-ink postsolve. Interior candidates must clear projected material and visible view edges. Finished-drawing lint reports remote placed datum shafts by measured page-space glyph size. GRM03 AP242 through build_drawing: on explicit A4 2:1, A shortens from 38.96 mm to 7.13 mm while B remains 59.08 mm and is reported; on explicit A4 5:1, A/B are 7.13/14.58 mm. In-memory combination with the separate 5:1 layout worktree yielded A4 5:1, both datums local, and no warning/error lint. Architecture: consumes the one IR datum and placed projected material field (ADRs 1, 3); uses the shared bounded corridor solve and preserves the source normal (ADR 2); changes no declaration semantics or ADR text (ADR 4); critic measures placed geometry independently of producer intent, with a named producer mutation (ADR 5). Checks: all 28 test_gdt_placement tests; four focused public-path/critic/mutation tests after final edits; scripts/pr-check --static. The broader quality-code audit has six preexisting unclassified STEP title codes on origin/main and is outside this change.
8 of 39 tasks
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.
Fixes #2177.
Change
Evidence
Public GRM-03 AP242
build_drawing(path, pmi="annotate")selects A4 5:1, places all 17 required annotations, keeps the side-hole callout, and has no non-info lint from these placements. The rendered automatic A4 PDF was inspected at sheet and detail scale.Explicit A4 2:1 keeps the required side-hole callout and reports its remaining narrow C0.5 and remote B-datum conditions as warnings. It does not present that forced arrangement as clean.
Deliberately disabling the measured source-drop repack makes the public build drop the source-owned side-hole callout. Disconnected-strip and broad-plate regressions distinguish a truly narrow shaft from legal labels on wide material.
The supplied
GRM-03-specify-pmi.stepreproduces⌀1.6 ↧ 3.8 SEE MFG 1only 0.234 mm fromDETAIL Aon explicit A4 2:1 in rc5 and the pre-fix branch, with no lint warning. With this patch, the caption stays inside its planned region, clears the required callout by 1.063 mm, and the scale remains honored. Moving it back through the public drawing edit verb producesdetail_caption_clearancenaming both marks. Sheet and 300 dpi detail PDF renders were inspected.The topical patch passed 124 focused/guard tests and independent review. On the local branch rebased onto merged Render source-scoped AP242 edge and face finish PMI #2180 at
97248b09, 279 adjacent layout/lint/safety tests and seven source-shape tests passed;scripts/pr-check --staticpassed. The rebase was clean.The supplied-file caption slice passed 176 layout/lint tests, 118 detail/page tests, 125 architecture/classification tests, and static checks. Independent reviews of the complete rebased diff at
047c3bf3and initial PR head2e367c51found no actionable issue. The patch ID stayed identical across the squash rebase; reviewer-targeted tests passed 262 cases (one skipped), and 279 adjacent layout/lint tests passed on initial PR head. The supplied STEP remains byte-exact, including its producer whitespace, under a SHA256 guard.Initial PR CI found five failures in repack doubles, GRM-03 advisory expectations, diameter leader routing, and GRM-04 detail caption clearance. Commit
8edb563dfixes those cases. The six-file remediation passed 59 adjacent tests (one skipped), 24 advisory/source-shape tests, 279 broad layout/lint tests, private-test-read guards, and static checks. The existing advisory regression now also checks cached critique retraction. Fresh independent review found the private-read issue and confirmed the correction; deliberate disabling of the caption stroke check reproduces GRM-04 failure. That exact-head CI passed its previously failing Python 3.13 and 3.14 shard 1 jobs, but Python 3.13 shard 2 found two thin-plate tests still expecting the redundant plan view. Commit456f0fadmakes the coverage diagnostics retain all three views explicitly and updates the automatic case study to its measured A2 1:1 result with required outcomes intact. An adjacent ADR 0018 Phase 6: automatically select the smallest complete semantic view set #1262 test also failed on unchanged main because it assumed no section view; its principal-view assertion now allows the required section. All 45 adjacent view-planning tests passed (one deselected), with static and source-shape checks; fresh independent review found no blocker. The failed matrix was canceled to save runners. Fresh exact-head CI remains the merge gate.CI on
456f0fadpassed every completed assertion job but hit the global 300-second limit twice while setting up the shared CTC-01 AP242 PMI fixture on Python 3.11. The same fixture took 292.87 seconds on the green Render source-scoped AP242 edge and face finish PMI #2180 PR head and 287.51 seconds on this PR's Python 3.10 job. A same-machine comparison of main and this PR measured 51.28 and 51.67 seconds, both with seven repacks; the new table trigger did not fire on CTC-01. Commitbbd88f2agives only the CTC-01 PMI test class a bounded 360-second limit and removes a stale fixture timing claim. The targeted test, static checks, and marker-scope collection check passed locally. Fresh independent review verified that the marker covers module fixture setup and found no blocker. Fresh exact-head CI remains the merge gate.Review and architecture
Fresh independent review of the complete rebased diff found no remaining actionable issue. ADR 1 keeps the one compiler pipeline; ADR 2 owns scale, views, corridor placement, and bounded measured repack; ADR 3 recognition stays unchanged; ADR 4 preserves authored/source requirements; ADR 5 judges placed ink independently and reports unresolved placement. ADR 2 has a preexisting internal contradiction: invariant 13 and the guard summary still say automatic principal-view removal is unbuilt, while the Open section describes the A2 thin-plate result and existing #1262 code/tests already remove redundant principals. This PR lets the thin-plate case reach that existing reduction path. The contradiction needs a separate maintainer-approved ADR correction; this PR changes no ADR text.
Required exact-head CI is the merge gate.