A record from the Factory repository, docs/reference-copy-receipt.json, shown as committed except that its local paths appear as placeholders in angle brackets, such as <local evidence archive>, standing for files that are not published. Every hash, date and count is as recorded. The build review says what the Factory's receipts support.
{
"recordedAt": "2026-09-29T23:40:08.000000+00:00",
"reworkedAt": "2026-09-30T01:14:00.000000+01:00",
"reworkedAgainAt": "2026-09-30T04:03:00.000000+01:00",
"base": "cc8d5b7",
"mergedWith": "c044d5b",
"disposition": "accepted-local",
"scope": "Packet P2: apply style-rules.md to docs/design.md, docs/values.md and docs/lifecycle.md, fixing the coordinator review's FAIL (no implementation existed). Reworked once to fix Astra r1 and Fable r1 findings, then again to fix coordinator review round 2 findings; see review below and ledger.md.",
"implementer": {
"model": "claude-sonnet-5",
"effort": "not recorded by the dispatch",
"tool": "Claude Code"
},
"changedFiles": {
"docs/design.md": {
"sha256": "3da8dcde51285843a6c3504be2fdc230bc8ccbfcae4e1c8529550c8c9124bb9c",
"change": "r0: line 179 only, \"value loop\" -> \"value lifecycle\" (style-rules.md B1). r2 rework (coordinator review r2 finding 2): line 14, \"...retired deliberately when it no longer earns its cost\" -> \"...retired deliberately when its value no longer covers its cost\" (part C, the figurative-verb pattern). Line count (179), headings, and lines 9, 101 and 115 unchanged throughout; numstat against cc8d5b7 is now 2/2 (check-design.mjs)."
},
"docs/lifecycle.md": {
"sha256": "c5debf860a390ed53d3a1b1636d151440e5f38e594f8be18dc9b2b5fcc659567",
"change": "r0: heading \"## 3. The loop\" -> \"## 3. The flow\" (B1); one 67-word sentence and one 64-word sentence split on existing punctuation (B15); a provenance sentence added citing this edit and the change table. r1 rework (Astra r1, Fable r1 finding 1): the six numbered Principles items (lines 9, 10, 11, 12, 14, 15) had their bold labels removed; four (10, 11, 14, 15) kept a bare label-and-colon opening, while line 12 (item 4)'s mid-sentence colon, which had joined two halves of one sentence, was also made a full stop. r2 rework (coordinator review r2 finding 1): lines 10, 11, 14 and 15 rewritten as plain sentences (no label, no leading colon); line 14 spells out \"at most 5\" for \"\u2264 5\" (part C); line 13's bold lead-in now ends in a full stop, for consistency. Line 9 unchanged (its colon introduces a following list, which part C allows). Section 4, every path:line anchor, every table row and the one fenced code block unchanged throughout."
},
"docs/values.md": {
"sha256": "435b3ecb2042e861df605bffe12bb9613ba44c823fa81ac028ade9e70bc0b5d5",
"change": "r0: no change. r1 rework: branch merged with main (c044d5b, \"Make personality and fun a Factory core value\"), inheriting main's new intro sentence and value 7; the merge introduced one B10 finding (a curly apostrophe in \"Factory's\", line 3) fixed as the single-character change style-rules.md allows for wording-only fixes. No fact, value or claim altered beyond what the merge itself carried."
}
},
"unchangedFiles": {},
"verification": {
"checkDesignScript": "PASS (<local evidence archive>, check-design.log)",
"checkLifecycleScript": "PASS (<local evidence archive>, check-lifecycle.log)",
"checkStyleScript": "PASS after the r1 rework extended it (<local evidence archive>): B14 now matches numbered list items as well as hyphen bullets; B8 now flags a spaced em dash used as punctuation; B15 and B16 are wired into the checked rule set, not merely defined. Re-run against the r2 state: still PASS, no finding outside docs/design.md line 115, docs/lifecycle.md section 4 and table cells. Note: check-style.mjs's mechanical B14 pattern does not itself catch a bold-label-and-colon opening once the bold is removed (part C, the rule this round's coordinator review found); that is a human/independent-review finding, not a lint gap.",
"docsBuildExit": 0,
"docsBuildWarnings": 0,
"focusedTests": {
"files": [
"test/docs-site.test.ts",
"test/website.test.ts",
"test/intelligence-lifecycle.test.ts",
"test/intelligence-lifecycle-adversarial.test.ts",
"test/public-build.test.ts",
"test/design-tokens.test.ts"
],
"pass": 118,
"fail": 0,
"testFileChanged": false
},
"npmRunCheck": {
"typecheckPassed": true,
"tests": 1236,
"pass": 1236,
"fail": 0,
"cancelled": 0,
"log": "<local evidence archive>",
"note": "P2-A7 (Astra r1 finding, Fable r1 finding 1): independent review (Fable 5.1) re-ran `npm run check` in this lane at be63dff on a quiet host, 30 September 2026, 04:58 to 05:05 BST: typecheck passed, 1236 tests, 1236 pass, 0 fail, 0 cancelled, exit 0 (fable-r1-be63dff-npm-check-2.log). The lane's two earlier runs and the reviewer's own first, contended run failed only three short-deadline process tests: test/repository-integration.test.ts:295, test/repository-nlink-adversarial.test.ts:454 and test/claude-producer-boundaries.test.ts:164, while other churn-wave-1 lanes' full suites loaded the host at the same time (11 to 39 concurrent node --test processes observed); this stays the suspected cause, not a confirmed one. None of these tests touch this packet's docs-only scope. See ledger.md's r2 close-out."
}
},
"review": [
{
"reviewer": "Fable 5.1",
"verdict": "PASS",
"commit": "be63dff",
"scope": "Document, generated-site and test bytes unchanged through 370b675; requested metadata corrections independently checked by Astra."
},
{
"reviewer": "Astra",
"verdict": "PASS",
"commit": "370b675",
"report": "<local evidence archive>"
},
{
"reviewer": "Independent Codex reviewer",
"verdict": "PASS",
"commit": "370b675",
"report": "<local evidence archive>"
}
],
"limits": [
"This receipt covers only P2's own scope (design.md, values.md, lifecycle.md prose). It establishes no customer value and closes no epic.",
"main advanced to c044d5b (\"Make personality and fun a Factory core value\") during this packet's lifetime; the r1 rework merged it in (see mergedWith and ledger.md) rather than leaving the receipt pinned to a drifted base.",
"docs/lifecycle.md's provenance sentence cites P2/changes.md, an archive path outside the repository and not covered by any receipt hash.",
"The packet named Sonnet 5.5 (high); the dispatch ran claude-sonnet-5 with no effort recorded; the coordinator accepted this as the owner's 'Claude Sonnet only' instruction (coordinator review r2, item 7)."
]
}
