Repository navigation
Mt. Collins: per-socket channel-to-connector mapping from Tables 12-13 - #9873
gunbai-bot[bot] wants to merge 7 commits into
Conversation
…STEP beside the vendor route, and the outstanding AZIF0222 retention-assembly request The socket-body drawing GAP-AZIFA072 rev 2 and its STEP were delivered by Lotes on 2026-08-22 and are held by the operator; the module cited only the vendor route, so a later reader had to repeat the correspondence to resolve the citation. Two typed HeldDocumentCopy rows now carry the held-copy locators beside the citation (a convenience beside the symbol, never the citation itself) without changing carriage: the bytes stay uncommitted. The delivery was socket-body-only across all five sheets, so the loading-mechanism and mounting layers stay FactUnresolved; the ask for the AZIF0222 ILM/backplate drawing went out on 2026-08-30 and is recorded as a VendorDocumentRequest so an outstanding request is distinguishable from one never sent. Both carriers land with executing consumers in the ilm4926 designation witness (20 witnesses green via claim_batch on BuildBuddy). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NkrXDxcXQ5rwpgicYt9x7Y
…rs (review 57622)
The Table 11 population sequences say WHICH connectors a configuration fills; they do not say which channel any connector is on, so no consumer could derive an active-channel count or a DIMMs-per-channel figure from them. Tables 12-13 carry that mapping and it is transcribed rather than inferred, because the printed MCU column order is not monotonic (MCU0..MCU3 then MCU7..MCU4) and reading it left-to-right as MCU0..MCU7 names four of the eight channels wrong. The two facts in a row are not equally attested, so mt_collins_channel_naming_basis separates them: the PAIRING is stated twice (Table 10 and Tables 12-13) and now checked a third way - under this pairing the Table 11 sequences touch 1, 2, 4 and 8 distinct channels per socket, which are exactly Table 10's supported channel counts; the CONTROLLER NUMBER rests on a header-to-row alignment read from the PDF text stream, and its unresolved field records the one thing this document does not settle. That unresolved question also corrects a claim already in this file: the header asserted that the odd connector of each pair is the first-DIMM-per-channel position. Under the pairing above the odd set does hit all eight channels one apiece - which is why 1DPC is the odd connectors - but which member of a pair upstream calls the first-DIMM position is not attested, so the header now states only the attested half and cites the unresolved field for the rest. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TcDddekju59A4jxouNif8J
…eview 58030) 163a146 integrated origin/main and left the held-copies paragraph written twice. main carries it once; this file is not part of this PR's subject at all, so it is restored to main's bytes exactly. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TcDddekju59A4jxouNif8J
|
Both items from review 58030 checked. One was real and is fixed; the other I'm declining, with the check I ran. Duplicated README paragraph — real, fixed in 83e51faConfirmed and worse than reported: it was not stale unrelated content, it was content my own merge commit manufactured. I also swept for the same failure elsewhere in the merge: the branch diff against main touches only two files, and the
|
briansrls
left a comment
There was a problem hiding this comment.
REJECT / REQUEST_CHANGES — exact head 83e51fa04cea0861f86325ce21291cc98b6605ba.
The Nat review finding is wrong. A connector number is a board-position identifier, not a dimensional measurement. std.measure would model the wrong concept; the existing processor_socket, first_connector, last_connector, and connectors: List<Nat> vocabulary is internally consistent. I do not require a measure conversion or a new ordinal type here.
The exact-head CI receipt is accepted. The blocker is the transcription itself.
P0 — Tables 12–13 were linearized in the wrong direction
The PR treats the connector text as two eight-item rows and zips them vertically:
- MCU0 = {1,16}
- MCU1 = {2,15}
- MCU2 = {3,14}
- ...
But the table has eight MCU headers over sixteen DIMM-slot columns: each MCU header spans the adjacent connector pair. Socket 0 therefore reads:
- MCU0 = {1,2}
- MCU1 = {3,4}
- MCU2 = {5,6}
- MCU3 = {7,8}
- MCU7 = {16,15}
- MCU6 = {14,13}
- MCU5 = {12,11}
- MCU4 = {10,9}
Socket 1 is the analogous {17,18}, {19,20}, {21,22}, {23,24}, {32,31}, {30,29}, {28,27}, {26,25}.
The document's own other tables discriminate the two readings. Table 10's four-channel configuration is MCU0/MCU1/MCU4/MCU5. Table 11's corresponding per-socket population is J1/J3/J9/J11. The adjacent-pair reading maps those connectors to exactly MCU0/1/4/5. This PR's rows map them to MCU0/2/4/6. The current rows therefore cannot be merged as an upstream transcription.
The claimed independent check is not independent and did not catch the error
Counting only distinct channels for Table 11's 1/2/4/8-DIMM-per-socket populations cannot identify the pairing. For example, the alternative pairing {1,2}, {3,4}, {5,6}, {7,8}, {9,10}, {11,12}, {13,14}, {15,16} also yields 1, 2, 4, and 8 distinct channels for the same sequences. So the statement that “a different pairing would ... miss the count” is false. At most, the count proves compatibility with an odd/even pairing; it does not corroborate the exact pairs.
Replace that prose with the actually discriminating check: derive the exact MCU set, not just its cardinality, and compare Table 11's J1/J3/J9/J11 against Table 10's MCU0/1/4/5.
The purported unresolved conflict is an artifact of the same misread
Tables 12–13 do not establish #1..#8 as the one-DIMM-per-channel population. Those are connector-column labels. The actual eight-channel/one-DIMM-per-channel row selects the odd connectors, agreeing with Table 11. Therefore:
first_dimm_connector/second_dimm_connectorcurrently encode an interpretation the body says is unresolved;- the
unresolvedfield describes a conflict that the table rows do not contain; - the prior header correction should not be retained on this basis.
Use neutral pair-member field names unless you separately derive population priority from the population rows. Also correct the pairing citation: Table 10 is the supported-channel-set table; the topology/pairing authority is Figure 8 plus Tables 12–13.
Re-review bar
- Re-transcribe both sockets with the adjacent connector pairs.
- Remove the false independent-count claim and the fabricated
#1..#8conflict. - Use neutral pair-member names, or separately and correctly derive first-populated/second-populated status.
- Refresh the body and produce green CI on the resulting exact head.
The controller numbers are not inherently too weak to land. They are landable once the rendered table geometry—or an equivalent exact-set cross-check—binds each MCU header to the correct adjacent pair. The PDF text stream alone lost that geometry and caused this head's wrong answer.
… is wrong
Side-chat review 5073904617 refuted the reading these rows encode. Tables 12-13
print eight MCU headers spanning SIXTEEN connector columns, so each header covers
an ADJACENT pair (MCU0={1,2}, MCU1={3,4}, ... MCU7={16,15}). I linearized the
extracted text as two eight-item rows and zipped them vertically, which yields
{1,16}, {2,15}, ... - the wrong physical topology.
The in-document falsifier is decisive: Table 10's four-channel configuration
names MCU0/MCU1/MCU4/MCU5, and Table 11's matching population J1/J3/J9/J11 maps
to exactly that set under adjacent pairs, versus MCU0/2/4/6 under mine.
Two further defects of my own reasoning, both self-verifiable and both confirmed:
the "third independent check" I added to pairing_basis is non-discriminating.
The pairing {1,2},{3,4},...,{15,16} also makes the Table 11 populations touch
1, 2, 4 and 8 distinct channels, so cardinality establishes compatibility with
many pairings, never the exact one. The sentence claiming a different pairing
would miss the count is false.
the "unresolved" conflict between Table 11's odd connectors and a #1..#8
first-DIMM row was manufactured by the same misread, so the header sentence I
removed on that basis was correct as it stood and is restored here.
I am not substituting the reviewer's mapping, because I cannot read the source:
the guide arrived through a signed Customer Connect URL and is on no disk I can
reach, so adopting it would replace one unattested reading with another. The
mapping lands when the rendered table geometry can be read, not before.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TcDddekju59A4jxouNif8J
|
Closing this — the transcription it lands is wrong, and I'd rather withdraw it than repair it on a reading I can't verify. Branch head 518904d reverts the rows; the PR now has no content against its merge base. What was wrongSide-chat review 5073904617 caught it. Tables 12-13 print eight MCU headers spanning sixteen connector columns, so each header covers an adjacent pair — The in-document falsifier is decisive: Table 10's four-channel configuration names MCU0/MCU1/MCU4/MCU5, and Table 11's matching population J1/J3/J9/J11 maps to exactly that set under adjacent pairs, versus MCU0/2/4/6 under mine. Two defects in my own reasoning, which I verified independentlyThe "third independent check" I added was non-discriminating. I claimed that under my pairing the Table 11 sequences touch 1/2/4/8 distinct channels and that "a different pairing would put two of a row's connectors on one channel and miss the count." That sentence is false, and it needs no document to refute: the pairing The Worth stating plainly: Why I'm not just applying the correctionThe corrected mapping is specific and self-consistent, but I cannot read the source. The guide arrived through a signed Customer Connect URL and is on no disk I can reach, so adopting the reviewer's rows would replace one unattested reading with another — the same failure at one remove. The mapping lands when the rendered table geometry can actually be read, not before. For whoever picks this up: the flattened PDF text stream is not a safe input for a merged-header table. Recover the rendered geometry, and cross-check against the exact MCU set (J1/J3/J9/J11 → MCU0/1/4/5), never against a channel count. The — sent from snappy-crab-469 |
What
dag/extdeps/ampere/mt_collins_product_brief/memory_population.dagalready carried Table 11's population sequences — which connectors each supported DIMM count fills. It did not carry the channel mapping, so nothing downstream could say how many channels a configuration activates or how many DIMMs sit on one. Tables 12-13 hold that mapping; this transcribes it asmt_collins_channel_connector_rows(16 rows, one per channel per socket).It is transcribed rather than derived because the printed MCU column order is not monotonic —
MCU0 MCU1 MCU2 MCU3 MCU7 MCU6 MCU5 MCU4over connectors #1..#8. Reading the row left-to-right as MCU0..MCU7 gives the right pairs and the wrong names for four of the eight channels.Attestation, kept separate from the rows
The two facts in a row are not equally attested, so
mt_collins_channel_naming_basisstates each basis rather than presenting one confidence:A consumer that only needs "which connectors share a channel" is on the doubly-attested fact; one that means the vendor's controller number is on the alignment.
Correction to a claim already in the file
The header comment asserted that the odd connector of each pair is the first-DIMM-per-channel position. Under the pairing above the odd set does hit all eight channels one apiece — which is why 1DPC is the odd connectors — but which member of a pair upstream calls the first-DIMM position is not attested by this document. The header now states only the attested half and cites
mt_collins_channel_naming_basis's unresolved field for the rest, so the file no longer answers one question two ways.Verification
gunbc compile --source-root dag --source-root src/v2 --entry dag/extdeps/ampere/mt_collins_product_brief/memory_population.dag --target dag— 0 blocking errors, advisory count unchanged from before the change.🤖 Generated with Claude Code
https://claude.ai/code/session_01TcDddekju59A4jxouNif8J