Skip to content

Preserve source knurl maximum diameter in manufacturing output - #2179

Merged
pzfreo merged 5 commits into
mainfrom
fix/knurl-max-diameter-2175
Oct 4, 2026
Merged

pzfreo merged 5 commits into
mainfrom
fix/knurl-max-diameter-2175

Conversation

@pzfreo

@pzfreo pzfreo commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Fixes #2175.

Change

  • Preserve the STEP-stated maximum diameter in the knurl manufacturing row and its linked diameter leader, even when the recognized solid differs slightly within the accepted source/owner tolerance or an authored display policy asks for fewer decimals.
  • Make independent lint compare the finished row and linked diameter ink with the source maximum. It rejects a lost maximum, a conflicting number, or a missing linked diameter.
  • Route the source owners to their public regression tests in PR CI.

Evidence

  • Public GRM-03 build_drawing(path, pmi="annotate") prints ø10 MAX AFTER KNURL in MFG 3 and ø10 SEE MFG 3 on the linked leader, without non-info manufacturing lint.
  • A source maximum of 10.05 with either a 10.05 or a valid 10.043 solid owner prints ø10.05 in both places. A named public-path guard mutates the leader to ø10.04, deletes its diameter, and removes the row maximum while mutating the row formatter; each mutation must produce manufacturing_reference_unresolved.
  • 162 focused tests passed; scripts/pr-check --static passed on the final head.
  • Fresh independent Google-style review found and reproduced two numeric-consistency gaps and a missing-diameter bypass. All were fixed; the reviewer cleared exact final head bfb21a3c against main 30ee9c11 with no remaining actionable issue.

Architecture

The source maximum enters the ADR 1 model waist, flows through the ADR 4 compiled plan, and is checked on finished annotations by ADR 5 lint. The ADR 3 STEP evidence and ADR 2 placement policy remain at their existing boundaries. No ADR text or invariant changes.

Required CI on the exact final PR head is the merge gate.

pzfreo added 5 commits October 4, 2026 05:14
Render the full source-owned knurl requirement in schedule rows while keeping the compact suffix for direct diameter callouts. Compare placed rows against that complete text in lint. Preserve source pitch, chamfer, and diameter precision.
A 10.05 mm source knurl previously produced a schedule row with ø10.05 and a referring diameter leader with ø10.1. Compile source knurl diameters with the source magnitude precision as a floor, including when a caller requests one decimal place. Keep the ordinary formatting path for other dimensions.

A public drawing guard covers automatic and one-decimal requests; restoring the old formatting rule makes both named cases fail. The compiled source tier selects that guard. Focused tests and scripts/pr-check --static pass.
@pzfreo
pzfreo merged commit 86f49df into main Oct 4, 2026
19 checks passed
@pzfreo
pzfreo deleted the fix/knurl-max-diameter-2175 branch October 4, 2026 05:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

rc5: knurl requirement row drops its diameter ("MAX AFTER KNURL")

1 participant