{
  "version": "lattice-extension-marking-adaptation-v1",
  "date": "2026-10-12",
  "master": "../../docs/basic-tiling-algorithm.md",
  "status": "Declared finite graph-path adaptation; not reference tiling/corona conformance.",
  "pointModel": {
    "path": "Each complete state domain has one choice point, t=1 per candidate, integer opaque state seams.",
    "capacity": "Existing internal-vertex guards remain separate.",
    "extension": "Local profiles have edge discrepancy obligations. A face projects to a subset of these bit points. The unmarked probe exhausts set covers of the obligations within each finite budget. Overlap is allowed and only uncovered points are removed; this is an explicitly relaxed cover formulation, not exact tiling.",
    "markings": "Learned prototypes assign 1 at proved failed residual-budget points; the fixed boundary assigns 0. Positive and unknown budgets are absent. Independent components compose by addition of their proved minimum resource requirements; this supplemental resource bound compiles an extension-budget stencil. Generic path search removes candidates only by assigned m-value mismatch."
  },
  "proof": [
    "A real unit-face sweep toggles exactly its four boundary edges. Every edge that differs from the target must be touched by at least one future sweep.",
    "The local candidate alphabet includes every unit square incident to each discrepancy edge, including faces crossing the window boundary. Outside-only faces project to holds. Geometry, projection labels, self-avoidance, cancellation, and exterior occupancy are relaxed.",
    "A real continuation therefore induces a cover of every discrepancy obligation. Failure of the relaxed finite cover search at budget h proves the real continuation needs more than h sweeps. A positive cover is not a real continuation witness.",
    "Components are joined whenever one projected face touches obligations in both. Thus each face touches at most one component. The sum of independently proved lower bounds is a necessary resource requirement.",
    "Profiles and complete alphabets are normalized by translation only. A rule transfers only to the exact same normalized profile, face alphabet, target-discrepancy semantics, and remaining-budget channel. No cropping of a failed whole-knot search, reflection quotient, invariant, or label inference is used."
  ],
  "learning": {
    "initial": "Empty model in cold lanes; no saved benchmark assignments imported.",
    "labels": "Unmarked finite cover probes for budgets 0 through the first witnessed positive or unresolved result. All resolved labels are used; node-limit and time-interrupted results remain unresolved.",
    "scheduler": "Probe obligations are generation zero, complete forward/reverse mask incidence, dead first, then singleton, minimum degree only ties at generation zero. Exact immutable uncovered bit sets and failed memo contexts. A generic capacity bound supplements the finite proof search. This is relaxed cover search, not pair-corona exact tiling.",
    "synthesis": "One assigned failed-budget stencil value per negative label, with absent entries for positive/unknown labels. The resource composition is an additional proved constraint, not an RL policy or generic universal GCTS theorem.",
    "gate": "Before native rule insertion, verify the complete incident-face alphabet, replay every resolved label, verify positive witnesses and the exact failed-budget stencil, then recursively freeze the rule. Immutable native rules require no repeated per-query proof replay. Explicit full-audit replay remains available. The standard neighboring-pair catalog gate is not claimed.",
    "limits": "Default 10000 probe nodes, maximum 48 discrepancy edges per component. Oversize or unresolved profiles add no unproved exclusion. Previously proved smaller-budget negatives remain valid."
  },
  "search": {
    "baseline": "Same lazy bidirectional BFS, move grammar, seeds, edge/node/state/depth bounds and point data, without extra markings. Capacity-only lane is a separate control.",
    "enumeration": "All occupied edges, all incident unit squares in all coordinate planes and both directions, throughout the knot. No move support patch.",
    "opaque": "Generic engine receives only keys, candidate identifiers, t/m maps and complete domains. Lattice/projection/cover alphabets belong to the author adapter.",
    "versions": "Capacity changes replay retained graphs as before. Extension profiles are immutable after their first local probe catalog, including unresolved outcomes. Every candidate component is learned before its context graph is constructed. Later new profiles cannot affect earlier frozen contexts; no mutable failure trail or previously compiled context is reused at another target/budget. Native proof catalogs are private and read-only. Each new proof is validated before insertion and recursively frozen. Normal transfer checks are constant-time; a forceReplay audit checks every full alphabet and resolved proof label.",
    "budgets": "Finite exhaustion, state/node/time/probe limits and restricted grammar never prove knot inequivalence. Interrupted enumeration remains incomplete and cannot justify dead/forced decisions. Only independently verified movies identify a reference.",
    "memory": "Provider retains compact verified edge records, reconstructing endpoint vertices from opaque keys only for the certificate; unneeded raw sweeps and projection contexts are released."
  },
  "verification": {
    "test": "../../tests/test_knot_lattice_extensions.mjs",
    "checks": [
      "Independent union-BFS oracle versus cover probes",
      "Independent complete incident-face alphabet comparison",
      "Known one/two-sweep paths never rejected",
      "Translation transfer and malicious rule/alphabet rejection",
      "Unknown probe produces no guard",
      "JS certificate replay plus independent Python spatial and signed-projection replay",
      "Per-lane branch, candidate, total-time, learning-time and memory comparison"
    ],
    "benchmark": "lattice-extension-benchmark.json",
    "independentProofVerifier": "verify_extension_proofs.py",
    "costAccounting": "Per-lane total includes model construction, local probes, transfer replay, all geometry, search and JavaScript certificate verification. Independent Python artifact verification is recorded separately after the timed runs. Four-move exploratory marked-only trials have no equal-success unmarked timing comparison.",
    "multiSeedBenchmark": "lattice-through8-benchmark.json",
    "immutableBenchmark": "lattice-escalation-benchmark.json"
  },
  "remainingGaps": [
    "Full reference neighboring-pair/one-corona GCTS learner",
    "RL cluster proposals",
    "Deep scrambles independent of a short common construction path",
    "Continuous projected event analysis and complete lattice-isotopy grammar",
    "Recognition coverage, mirrors, composites and broad scaling to 12 crossings"
  ]
}
