A source-to-lesson matrix is a table with sources down the side and lessons across the top, and in each cell the claims that source carries to that lesson. It is the least glamorous document in a course pack and the one that decides the pack’s shape, because it makes a single fact visible that prose cannot: which lessons have nothing under them.
That fact is uncomfortable in a way that a reading list is designed to hide. A reading list sits at the front of a course like a claim of authority — twenty titles, none of them attached to anything in particular — and the reader of the list assumes the sources are distributed across the material because nobody has said otherwise. The matrix says otherwise. It puts a column against each lesson and shows, without argument, that lesson five has no source at all, that lesson three rests on one document, and that one source in the register has never been used for anything. A lesson with no source is not a lesson waiting for material. It is a lesson to cut, to write, or to fold into one that is already built, and the matrix is where that choice becomes unavoidable.
This piece is the matrix as an artefact: what the rows, columns and cells hold, how to read one, a ten-source by six-lesson example worked through to the decision, and the arithmetic of checking it. It makes no claim about whether a lesson built this way teaches anything. Coverage is a property of the document; whether the material works in a room is a different question, with different evidence, and this piece does not hold any of it.
What the rows, columns and cells hold
Rows are sources, one document each, with the format and the date that make it a document rather than a reference: the procedure note at revision 4, the contract at clause level, the guidance at its section. Columns are lessons, one module each, named by the objective it carries — not by a topic, because a topic column can be filled by anything adjacent and an objective column cannot.
Cells hold claim identifiers, and this is where most matrices stop being matrices. A tick says a source was consulted; a cell full of claim ids says which sentences in the lesson that source is responsible for, and those ids resolve to the claim list, and the claim list resolves to a passage. The matrix is link three of the citation chain, which is the reason it carries ids rather than marks: a coverage table of ticks is a diagram of effort, and the first person to audit it will find that no tick can be followed anywhere.
Two rules follow, and they cost nothing to apply.
One source per row, never two. “Procedure note and contract” is not a source; it is two sources in a row, and when one of them changes, the row cannot be updated without splitting it. The matrix is only auditable if each row is one document with one date.
One lesson per column, never a section. A column called “compliance” will absorb every source that mentions it. A column called “state what the supplier is entitled to be told, and when, from clause 11” absorbs only sources that speak to notification, and the empty cells in it mean something.
The matrix for one reader
Table 1 is the artefact. Ten sources, six lessons, and the number in each cell is the count of claims that source carries to that lesson in the constructed reader on supplier invoice matching. The row and column totals are the two numbers worth reading first, and neither is a target: they are a map of where the material’s weight sits and where it is missing.
Table 1. Source-to-lesson matrix for a six-lesson reader: ten sources, six lessons, claims carried per pair. Source ids resolve to the register; claim ids behind each count resolve to the claim list. Constructed for this piece; no real register, course or document is described.
| Source | L1 documents | L2 price variance | L3 quantity and timing | L4 holds and releases | L5 supplier view | L6 monthly pack | Claims |
|---|---|---|---|---|---|---|---|
| S1 procedure note, rev. 4, Apr 2026 | 2 | 2 | – | 1 | – | 2 | 7 |
| S2 accounting standard, extract ¶7–14 | 1 | 1 | – | 1 | – | 2 | 5 |
| S3 framework contract, clause 7 | 1 | 1 | – | 1 | – | 1 | 4 |
| S4 supplier’s terms, schedule 2 | 1 | 1 | – | 1 | – | 1 | 4 |
| S5 accounting textbook, ch. 6 | 1 | – | – | 1 | – | 1 | 3 |
| S6 regulator guidance, §3–4 | – | – | – | 2 | – | 1 | 3 |
| S7 internal memo, 2025-06 | – | 1 | – | 1 | – | – | 2 |
| S8 month-end checklist, 2026 | 1 | – | – | – | – | 1 | 2 |
| S9 ledger extract, September 2026 | – | – | 1 | – | – | – | 1 |
| S10 training slide set, 2024 | – | – | – | – | – | – | 0 |
| Claims | 7 | 6 | 1 | 8 | 0 | 9 | 31 |
Read the bottom row first. Six lessons carry thirty-one claims between them, and the distribution is not even: lesson six carries nine, lesson four eight, lesson three one, and lesson five none. Read the right-hand column next. S1 carries seven claims — more than twice the next source — while S10 carries nothing at all, which means a document was read, registered, and then played no part in the material.
Now count the pairs, not the claims. Of sixty source-lesson pairs, twenty-six carry at least one claim: 43.3 per cent. That number looks low and is not a problem in itself, because a matrix does not need to be dense — most sources are relevant to a few lessons and silent on the rest, and a dense matrix usually means the lessons are topics broad enough to absorb anything. What matters is where the empty pairs sit. Thirty-four are empty in total, and most of those are normal silence. Nineteen of them belong to two lessons: lesson five has no source at all, and lesson three has one.
Reading a row and a column
Four patterns do the diagnostic work, and each one has a single action attached. Table 2 sets them out. The right-hand column is not a suggestion: a matrix that produces a diagnosis and no action is a report, and the point of building it before the material is that there is still time to act.
Table 2. The four patterns in a source-to-lesson matrix, what each means, and the action. Constructed for this piece.
| Pattern | What it means | Action |
|---|---|---|
| Empty column — a lesson with no claims under it | No claim in the list is mapped to the lesson, though the register may hold documents that touch it | Cut the lesson, write it from documents read for it, or merge it into the lesson that already owns its material; do not draft it and hope the reading arrives |
| Column with one source | The lesson rests on a single document, and the first amendment breaks it | Add a second independent source, or state in the reader that the lesson is single-source |
| Empty row — a source used nowhere | A document was read and contributed nothing | Remove it from the register, or find the lesson it belongs under; an unused row is a reading list entry wearing a row |
| A source carrying a large share of claims | One document is doing structural work across the pack | Check that the claims are genuinely its own, and that the lessons survive its revision; S1 at seven claims is the exposure here |
The empty column is the one that decides the pack. In Table 1 that is L5, the lesson on what the supplier is entitled to be told and when, and the matrix has just said something a draft would have concealed: no claim in the list is mapped to it. The register does hold documents that touch the question — the contract’s clause 11, the textbook’s chapter on disclosure, the internal memo — but they were extracted for other lessons, and a source read for one lesson does not automatically carry the next. That is the difference between a register and a matrix, and it is why an empty column cannot be filled by moving ticks around.
There are three honest responses and one common one. Cut the lesson, and the reader is five modules with reading under every one. Write it, which means going back to those documents for the claims the lesson needs before a word of material is drafted. Merge it into lesson four, which already owns the hold and release procedure and could carry the notification rule as a subsection — at the cost of a lesson that is now doing two jobs. The common response is the fourth: draft L5 from what everybody knows about supplier notification, which produces a lesson whose every sentence is unsupported and whose column is still empty after it is written.
The single-source column is the quiet one. L3 rests on S9, the September ledger extract, and one document is a thin base for a lesson that asks learners to distinguish a quantity variance from a timing difference. The source carries the example but not the distinction; the distinction is carried by S1 §5 and S5, which are already in the register and are one cell away. Filling that cell is not decoration. It is the difference between a lesson that survives an audit and one whose single source, when the ledger format changes in January, takes the lesson with it.
Building it
The matrix is built from the register, not from the prose, and it is built before the material rather than after it. Five steps, and the order matters because each produces the input for the next.
- Fix the columns from the objectives. One column per module, named with the objective as it will appear in the reader. If the objective is still a topic, the column cannot be filled honestly, which is the first useful thing the matrix tells you.
- Fix the rows from the register. One row per document, with its format and its date. Sources that arrived as links and were never opened do not get a row; they go on the flagged list, because an unread source cannot carry a claim.
- Populate one claim at a time. For every claim in the claim list, mark the lesson it serves and the source that carries it, and put the claim id in the cell. A claim that fits no column is a lesson nobody has written yet or a claim nobody needs; a claim that fits two columns is a lesson boundary that has not been decided.
- Read the totals, then the gaps. Column totals show the weight; empty columns show the holes; a row total of zero shows an unused source; one row carrying a large share shows an exposure. None of these is visible in the prose.
- Re-run it after every revision. A matrix is a snapshot of a draft. When the material changes, cells change, and a matrix that was true in June is a document about a pack that no longer exists.
The fifth step is the one that turns the matrix from an artefact into a control. It is cheap to re-run — the claim list has not changed, only the cells — and it is the only step that catches the drift that happens when a module is rewritten and its citations are carried over rather than rebuilt.
The arithmetic
The matrix is built by the document parts, which carry no published per-call price. What is priced is the check: walking each cell to the passage that justifies it, one call a claim, at the measured Base rate of $0.00700 read from the live 402 challenge on 31 October 2026.
Table 3 sets out the cost of taking this matrix from thirty-one claims to a matrix with no empty column and no empty row.
Table 3. Checking and closing a ten-source, six-lesson matrix: one call a claim to verify the cell, five calls to write the missing lesson from documents already registered, one to add the second source to the single-source lesson.
| Call | Unit price | Calls | Cost |
|---|---|---|---|
| Walk each carried claim to its passage — one call a claim | $0.00700 | 31 | $0.21700 |
| Write L5: re-read two registered documents for the claims it needs, then material and notes | $0.00700 | 5 | $0.03500 |
| Add S2’s claims to L3, from the passage already read | $0.00700 | 1 | $0.00700 |
| Total | 37 | $0.25900 |
The arithmetic is short. Thirty-one claims at $0.00700 is $0.21700; five calls to write the missing lesson is $0.03500 — two to re-read the registered documents for the claims the lesson needs, three for the material and the notes — and one call to add the second source to L3 is $0.00700. Thirty-seven calls is $0.25900, and the audit alone is 41.9 per cent of the 74-call, $0.51800 build of the six-module pack — the check is not an afterthought to the build, it is a substantial fraction of it.
The comparison that makes the figure mean something is the one between the audit and the lesson it saves. Checking the matrix costs $0.21700. Writing the missing lesson costs $0.03500. The check is 6.2 times the price of the repair, which sounds like the wrong way round until you notice what is being compared: thirty-one claims against five calls. One call a claim is the cost of not trusting a document, and at seven-tenths of a cent it is cheaper than the meeting in which somebody would otherwise argue about whether the pack is covered.
What the closing buys is visible in the matrix rather than in the bank balance. After the six calls, S10 has been removed as unused, L5 carries three sources, L3 carries two, and the matrix is thirty populated pairs out of fifty-four — nine sources by six lessons — which is 55.6 per cent. The claim count rises from thirty-one to thirty-six because the missing lesson adds claims rather than absorbing them. The coverage percentage moved by twelve points; the number that actually matters moved from two lessons short of a second source to none.
What the matrix cannot show
The limitation is precise, and it is the one a buyer is most likely to mistake. A filled cell says a source carries a claim to a lesson. It does not say the source is strong enough for the lesson the claim serves.
The difference is not academic. A lesson on release thresholds can be carried by a procedure note that states the threshold and says nothing about who may vary it, and the cell will be filled, the chain will verify, and the lesson will still be thin in exactly the place the exercise tests. The matrix measures coverage, which is a count of connections. It does not measure sufficiency, which is a judgement about whether the connection bears the weight the lesson puts on it. Two sources can fill a column and both be weak; one source can fill a column and be exactly right.
Three smaller limits follow. The matrix cannot tell you whether a lesson’s objective is worth teaching, because it maps sources to lessons rather than lessons to needs. It cannot tell you whether a source is accurate, because it records what each document was used for and not whether the document is right — a register of secondary accounts produces a beautifully covered matrix of claims corroborated at one remove. And it cannot be built from a reading list: where the sources arrived as links and nobody opened them, every cell is empty for a reason that has nothing to do with the material, and the matrix will say the pack has no reading when what it has is no register.
One further limit belongs to this piece rather than to the method. The reader, its ten sources, six lessons and thirty-one claims are constructed, and the numbers in Table 1 were built to make the patterns visible rather than observed in a real pack. The arithmetic adds up because it was computed, not because a build was watched.
The decision
Build the matrix before drafting a single lesson, and treat every empty column as a decision with three permitted answers: cut the lesson, write it from documents read for it, or fold it into the lesson that already owns its material. The one answer that is not permitted is to draft it and fill the column later, because the later column is filled by whatever the draft already says, and a matrix built from prose confirms the prose.
Then use the column totals, not the coverage percentage, as the working number. A reader that is forty per cent covered and has two sources under every lesson is a reader that can be audited; one that is seventy per cent covered with an empty column and a single-source lesson is a reader with two holes that the percentage hides. The percentage is for the report. The column totals are for the decision.
The agent’s part in this is the mechanical one, and it is worth being precise about where it stops. It reads the register, populates the cells with claim ids, produces the matrix and the totals, and flags the empty column rather than filling it with the nearest source. It cannot decide that a lesson is worth writing, cannot judge whether a source is strong enough for the claim it carries, and cannot approve a lesson that has no reading under it. Those are the course team’s decisions, and the matrix exists to put them in front of somebody who can make them while there is still time to cut.
Where this goes
- The pillar: content and knowledge: from a source you hold to a sentence you can defend — the register, the claim list and the verdict
- The role that builds the matrix: studio.x402.press/roles/curator_editor — a titled coverage-and-citation table per section
- The register the rows come from: studio.x402.press/roles/researcher — every document read, dated and accounted for
- Where the drafting is priced: studio.x402.press/roles/writer — the lesson written from the claims rather than around them
- The services: DeepSeek and Qwen — prices per call on seven chains
- The reviews: DeepSeek and Qwen — the measured handshakes and their limits
- The price ladder: inference endpoints compared — what a ceiling authorises and what it costs
Method note
The price was read from the live 402 challenge on Base on 31 October 2026: 7000 atomic units under exact ($0.00700), 9550 under upto at the max_tokens tested ($0.00955). Qwen flash’s $0.00875 was read from its own challenge in the same way. The call counts are planning assumptions — one call a claim to verify a cell, five calls to write a missing lesson from documents already registered (two re-reads and three for material and notes), one to extend an existing lesson — and the counts will be wrong for any particular register, since a dense matrix costs more to check than a sparse one in proportion to its claims.
The reader, its ten sources, six lessons and thirty-one claims are constructed for this piece. S1 to S10 are described by type and date rather than by title, and S9’s ledger extract is September 2026 because the example needed a period, not because a ledger was read. No course, client or learner is described, and no completion, pass or retention figure appears anywhere here, because none has been measured.
x402.review is written and edited by N.P. Vincent. The publication is connected to x402.press, which sells the services reviewed here; that interest is disclosed on every piece that touches a service, and it is stated here rather than left to inference.
Filed under Jobs · Tags: curriculum, sources, matrix, coverage