Skip to content

Cited package and vendor-land-pattern authorities for four mechanical candidates, plus DDR4 and M.2 pattern obligations - #8252

Merged
briansrls merged 8 commits into
mainfrom
session/sunny-ibex-888
Aug 14, 2026
Merged

briansrls merged 8 commits into
mainfrom
session/sunny-ibex-888

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

Cited package and vendor-land-pattern authorities for four mechanical candidates, plus DDR4 and M.2 family-pattern obligations and four unread-document part rows.

This PR does not select any part for any board role. An earlier revision of this branch claimed it did, and that claim is withdrawn. Selection is a functional-compatibility join over requirement, electrical interface, reference precedent, candidate part and package authority; it happens at the product layer (#8233). This PR supplies exactly one of those five inputs — the package authority — and nothing else. No row here asserts a frequency, a reset threshold, a regulator protocol or a host interface, and none of them says a part suits a role.

Reviewers of the previous head approved on the strength of MountablePart making bad states unwritable. It did not: the witness hand-built two malformed MountablePart values, which is the evidence the type was never admission-closed. That is fixed here.

What changed under the integration ruling

  1. MountablePart split into a candidate and an admission. PartMechanicalCandidate is freely constructible and carries no claim. admit_part_candidate returns AdmittedMountablePart or PartRefused with a nonempty cause set, and the admitted type is reachable only through it — so the malformed values the REDs build cannot inhabit it.
  2. PackageOutline → PackageBodyDimensions. The old name and its note called the body "how much volume the part occupies", which is false for any leaded package: the terminals project past the plastic, so a clearance check on the body admits boards that cannot be assembled. Body dimensions, overall terminal envelope, vendor land pattern and courtyard are now four named concepts, of which this module carries two and deliberately produces neither of the others.
  3. Terminal indexing is now a required obligation on every candidate. Matching designator, count and pitch do not establish a pin map, and a mirrored pattern passes all three. There is no established arm, because modelling one means modelling the pin map. Consequence, asserted by execution: no candidate in this repository is admissible for footprint realization today, and terminal indexing is the sole reason.
  4. Through-hole and surface mount no longer share an impossible success arm. The DDR4 solder-tail socket previously carried a standing whose only established arm held surface-mount land geometry — a success it could never reach whatever document arrived. Surface-mount parts keep SurfaceMountPatternStanding; parts needing a drill schedule carry MountingPatternObligation, a record with no success arm, until a plated-hole geometry carrier exists.
  5. Tool failures are no longer stored as vendor facts. The DDR4 and M.2 rows now state the vendor fact — the specification publishes the board layout as a figure, and the per-part customer drawing governs on conflict — so the pattern exists and is published and is simply not transcribed here. That a fetch on a given day did not yield text is this repository's observation and belongs downstream.
  6. 2308107 is a base product number, not orderable. The row is named ..._family and says so: orderable variants differ in tail length by board thickness and live on the customer drawing.

Reference-design precedent (Mt. Jade naming three of the unread parts) is a relation between a part and a particular board, so it is named in the notes as belonging at the product layer and is not carried as a property of any part here.

Evidence

dag/test/claim/board_part_land_pattern_witness_test.dag, green by execution, with discriminating REDs: a land pattern bound to the wrong package refuses on all three mechanical axes plus indexing (4 causes); an undercounted pattern refuses on the count axis alone (1 cause); and a positive control proves the surface-mount established arm is reachable, so the outstanding arms are not vacuous.

gunbc-ci-auto-heal and others added 2 commits August 14, 2026 03:32
…arts

Lands the extdeps half of the Altra board part selection: a land-pattern
authority that types the package outline, the vendor's recommended land
pattern and the board's own copper as three separate facts, and four parts
selected against documents that were actually read.

Every dimension traces to a Texas Instruments package drawing pulled and
read 2026-08-14 (4214840/G, 4220202/B, 4218795/B, 4215000/A). No board land
pattern is representable here and no function derives a pattern from an
outline: IPC-7351 is cited for the concept and its content is paywalled and
unread, so a derivation would be fabricated geometry.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…owe its pattern

Application specification 114-115012 Rev A establishes the 288-position
solder-tail socket, its 0.80 mm contact spacing and its through-hole
attachment; its pc board layout is a drawn figure that was not readable, so
the hole pattern is carried as a typed obligation rather than guessed.

A solder tail passes through a plated hole, and a hole pattern is a drill
schedule rather than a land pattern with different numbers in it - no
geometry here represents one, so the obligation is the only honest arm.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review August 14, 2026 03:38
gunbc-ci-auto-heal and others added 3 commits August 14, 2026 03:41
A MountablePart is by definition a part whose pattern is established, so a
part with an outstanding pattern has no constructor and cannot be built and
then explained; the standing is the only place the obligation is
expressible. Recorded at the carrier so a reviewer reads the construction
rather than inferring it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The operator's lane selected M.2 M-key 2280 for StorageEndpoint, so the
role stops being unattempted. Application specification 114-115006 Rev C
establishes 67 positions on 0.50 mm centres with surface-mount solder
tails; its recommended PCB layout is drawn callouts with no extractable
text, so the pattern is outstanding like the DDR4 socket's.

The row carries NO key field. The key is a per-part fact on the customer
drawing, every route to one failed, and filling it from the design intent
would make an intent indistinguishable from a document fact.

Two application specifications read the same day carry two different
issuing entities - Tyco Electronics Corporation of Harrisburg and Tyco
Electronics AMP K.K. of Kawasaki - so they get two vendor rows rather than
one brand.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…n expression

The compile-clean gate refused the witness with 'expected expression, found
Ne': && continues an expression across a newline and != does not, and the
single parse error aborted the whole-corpus parse rather than one file.
Caught by the second frontend, which claim_batch and both approving reviews
do not run.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@gunbai-bot gunbai-bot Bot changed the title ALTRA-PARTS-0: select real parts for the 13 unfilled Altra board roles and land their cited catalog rows and land patterns in extdeps ALTRA-PARTS-0: a cited land-pattern authority, four established board parts and two selected-with-outstanding-pattern connectors Aug 14, 2026
…er, cite the second source

The predicate over MountingPatternStanding was a parallel surface for a
question the coproduct already answers; callers and the witness now match
the arms, including the positive control.

LandPitchDiffersFromTerminalPitch carried pitch as bare Nat, stripped
through micrometer_count at the construction site. Pitch is a measured
quantity, so the carrier keeps Micrometer and only the comparison reads
counts.

The TPS53688 note claimed a second-source confirmation that the scope row
did not carry, which left the part-number-to-drawing join prose-backed. The
vendor's orderable part-details listing is now fetched, read as WQFN (RSB)
40, and declared as an ExternalAuthority in further_citations.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ites it

Operator directive: every component document gets its own extdeps module
carrying an anchor, and the anchor is consumed immediately rather than
landed as a standalone citation.

Four vendor rows and four part rows: Amphenol MDT420M01001, Microchip
AT24CM02, Macronix MX25L25673G, Samtec FTSH-105-01-L-DV. NONE of the four
documents has been read - Macronix was the untried vendor and its datasheet
is served but not text-extractable either - so every row carries
VendorPatternNotEstablished and no dimension, contact count, pitch or
package appears anywhere in them.

The authority exists and is citable whether or not anyone here has read it;
what is unestablished is the geometry. CatalogPartIdentity carries exactly
that and has no dimension field to fill.

Amphenol is ONE entity: ICC, FCI and Communications Solutions are
business-unit brands, which is the mirror of the Tyco split where two
documents named two entities. The Amphenol contact count stays unrecorded
while Mt. Jade says 75 and the listings say 67. The Macronix revision came
from the published filename rather than a cover page and the row says so.
The Samtec anchor names the sibling -DH print that was observed to exist,
because two reconstructed -DV paths returned 403 and guessing one would put
an unseen document into a citation.

Samtec is the only one of the four that is a candidate rather than a
reference-named selection, and its row records that nothing upstream
selects it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ot selected parts

An earlier revision of this branch presented four TI rows as parts selected for board
roles and a fifth as a selected socket. Nothing here derives a requirement for our board,
so no row could support that. The claim is withdrawn and the carriers are reshaped so it
cannot be reasserted by accident.

- MountablePart splits into PartMechanicalCandidate (freely constructible, no claim) and
  admit_part_candidate returning AdmittedMountablePart or PartRefused with a nonempty
  cause set. The admitted type is reachable only through the admission. The previous type
  was not admission-closed and its own RED controls proved it, by hand-building two
  malformed values of it.
- PackageOutline becomes PackageBodyDimensions. Its note claimed the body was how much
  volume the part occupies, which is false for any leaded package. Body dimensions,
  overall terminal envelope, vendor land pattern and courtyard are four named concepts;
  this module carries two and produces neither of the others.
- Terminal indexing becomes a required obligation on every candidate. Matching designator,
  count and pitch do not establish a pin map and a mirrored pattern passes all three.
  Consequence, asserted by execution: no candidate is admissible today, and terminal
  indexing is the sole cause.
- Through-hole and surface mount stop sharing an impossible success arm. A solder-tail
  socket carried a standing whose only established arm held surface-mount land geometry.
  Surface-mount parts keep SurfaceMountPatternStanding; parts needing a drill schedule
  carry MountingPatternObligation, a record with no success arm.
- The DDR4 and M.2 rows state the vendor fact (the specification publishes the board
  layout as a figure; the customer drawing governs on conflict) instead of storing this
  session's extraction failure as though it were a property of the vendor's document.
- 2308107 is named as a base product family, not an orderable part.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@gunbai-bot gunbai-bot Bot changed the title ALTRA-PARTS-0: a cited land-pattern authority, four established board parts and two selected-with-outstanding-pattern connectors Cited package and vendor-land-pattern authorities for four mechanical candidates, plus DDR4 and M.2 pattern obligations Aug 14, 2026
@briansrls
briansrls merged commit 4f8ebd5 into main Aug 14, 2026
5 checks passed
@briansrls
briansrls deleted the session/sunny-ibex-888 branch August 14, 2026 17:22
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.

1 participant