Factory docs, home

A record from the Factory repository, docs/module-graph-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; a placeholder that stands in for a key keeps the file's name, as in <local evidence file: report.md>. Every hash, date and count is as recorded. The build review says what the Factory's receipts support.

{
  "schema": "factory-module-graph/1",
  "recordedAt": "2026-09-30T15:55:30.902367+00:00",
  "base": "3122534f60e30d13cd57c062f800d9ad36998f28",
  "component": "R2 structural import-graph checks",
  "disposition": "accepted-local-awaiting-required-CI",
  "reviewAuthority": "Separate Astra coordinator review under the owner-authorised Astra-only reviews for 30 September 2026.",
  "verification": {
    "focused": {
      "passed": 23,
      "failed": 0,
      "cancelled": 0,
      "skipped": 0,
      "scope": "Eight new graph checks and fifteen unchanged delivery/dashboard boundary checks."
    },
    "typecheck": "Passed.",
    "independent": "PASS: nine checks, comprising the eight candidate checks plus independent unresolved-import, computed-import, pure-leaf filesystem and namespace-overlap probes. Counts overlap and are not summed.",
    "negativeMutations": "Re-export, side-effect import and nested guidance importer rejected; positive type-only controls retained.",
    "preservation": {
      "unchangedRuntimeSources": 46,
      "unchangedExistingTestsAndFixtures": 213
    },
    "fullCheck": {
      "passed": 1601,
      "failed": 0,
      "cancelled": 0,
      "skipped": 0
    },
    "requiredCI": "Pending after push; canonical status records exact commit and run."
  },
  "limits": [
    "Test-only structural guards and one reference paragraph; no runtime behaviour, authority or recipe-pin changes.",
    "Compiler-based static coupling checks do not sandbox hostile code or detect every arbitrary runtime loader.",
    "Assurance and dashboard value imports of I/O-bearing modules remain narrow documented exceptions, not pure dependency chains.",
    "Owned journal prefix checks do not prohibit collisions in legacy caller-chosen IDs.",
    "Existing tests and historical receipts remain byte-identical to the base.",
    "Local acceptance only; required CI and public documentation publication are recorded separately after push.",
    "Knowledge remains a separate design draft awaiting Fable/Opus."
  ],
  "files": {
    "test/helpers/import-graph.ts": "8e88f7466dd31e96e7d8986d606e3db574af4717ffa23f4196f02c3d4af55029",
    "test/module-graph.test.ts": "d9c7f4c01b89715a1bc8fb958f450a8efbe73a45c1e385b187fcae070ab3ae15",
    "docs/agents/factory-model.md": "436cacda876b45690026c1adfa482c82667b4b85bf79445a42623ded5e2965ca",
    "docs/build-review.md": "5698036223bb84369cf0cd0759e9ef44396cb47b31e43edd8bf1d0edd59a189b",
    "handover.md": "80edf9c1dbec1d3818132a1c2ec23f84a7b11a661d0cc279f446a89ac1e6c80f"
  },
  "evidenceSha256": {
    "<local evidence archive: r2-candidate-files.json>": "9f858bdba93f64c9b87423872bb51880f44e9dd47a123a48a7cddb579f2a8537",
    "<local evidence archive: r2-candidate-review-handoff.md>": "cac3c45650b4a5e1e8086b4c8400dfe3370ed8e390fd574d7248393e1fadea04",
    "<local evidence archive: r2-focused-final.log>": "e01aa9a894f74e7982b5041437379f536acae3a0c9d7fb932210617017303f16",
    "<local evidence archive: r2-typecheck-final.log>": "615ef81717fb84b2ce2f41550f52e4c1afb8c2659845fe9451220b5cf1773504",
    "<local evidence archive: r2-legacy-gap-proof.log>": "7f8b9441326ad2055fff8d9eed3c5bf1c26927c09ce525f28051804328eb3181",
    "<local evidence archive: r2-independent-review.md>": "b341c3389832f43721b8a043abb58bdd132de54d39f673539ff1991faa559fa3",
    "<local evidence archive: r2-independent.test.ts>": "98ddeb3252810a6ffef2f2418daad0ef14c542d0297b4348ceb1cd3a16bd19ed",
    "<local evidence archive: r2-independent.log>": "bdc2b54097a45e1a13fba0ce85bca1e8c93350dac0d7465a3e052751a4a6e071",
    "<local evidence archive: r2-full-r1.log>": "ab92bdf53e5525e2f277e1a406a8385179a4574ac6765014f0de2ff85edc0f2a",
    "<local evidence archive: r2-acceptance-preparation.json>": "564cc471b4d5b1d67d63f88f75051b7eae48528d4aaf2535c8b1bab61621c983"
  }
}

Source: docs/module-graph-receipt.json