Repository navigation
Cited package and vendor-land-pattern authorities for four mechanical candidates, plus DDR4 and M.2 pattern obligations - #8252
Merged
Conversation
…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>
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>
…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>
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.
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
MountablePartmaking bad states unwritable. It did not: the witness hand-built two malformedMountablePartvalues, which is the evidence the type was never admission-closed. That is fixed here.What changed under the integration ruling
MountablePartsplit into a candidate and an admission.PartMechanicalCandidateis freely constructible and carries no claim.admit_part_candidatereturnsAdmittedMountablePartorPartRefusedwith a nonempty cause set, and the admitted type is reachable only through it — so the malformed values the REDs build cannot inhabit it.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.SurfaceMountPatternStanding; parts needing a drill schedule carryMountingPatternObligation, a record with no success arm, until a plated-hole geometry carrier exists...._familyand 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.