Commit Graph
2 Commits
Author SHA1 Message Date
Robert Allan JamesandClaude Opus 5 85f59fca2e FABRIC.md §19 — mass, density, and what K actually is
Supplies the concrete definition §4 was missing. §4's claim that ranking is
read rather than decided is empty until the thing being read is a number.

Three quantities, not one:
  Heat    conserved share moved by traffic, sum = 1.0 always (already built)
  Mass    cells a patron occupies -- its footprint (new)
  Density heat / mass -- heat per cell (new, derived)

K is left untouched. vm_physics_conserved() already defines it as a normalised
heat share summing to Q48_ONE, not an occupancy ratio; defining it as
mass/capacity would have contradicted implemented, tested code.

Ranking, admission-when-full, and migration hysteresis all read off density
with no policy and no damping constant.

Two corrections to §4:
  - The self-limiting claim keeps its conclusion but loses its mechanism. A hot
    entry is easier to reach, not harder; the real governor is conservation,
    since heat is zero-sum and capped at 1.0.
  - "Density generates heat" reverses the causality. Traffic confers heat;
    density is heat per cell, derived downstream.

Open: mass depends on payload threshold and header size (§12 Q1, Q2), which are
now prerequisites rather than sizing details; and vm_physics_touch scales heat
transfer by wall-clock time, which §18.5 forbids and which must be restated on
tick count before L0 can use it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 09:57:59 -04:00
Robert Allan JamesandClaude Opus 5 8af19a545b Add FABRIC.md — Stadium design, sections 1-18
Captures the 2026-08-03 design session: collapsing the four independent
heat/TTL/pin implementations (blocks, messages, console cells, ACLs) into
one bounded Stadium of fixed-size entries, driven by an engine below every VM.

Sections 1-15 are the original design argument. Sections 16-18 add:

- 16  Substrate findings. No IRQ return path exists on aarch64 or riscv64;
      riscv64's time base is a hardcoded 1 GHz guess; the dictionary already
      carries six of the seven entry wires; the engine must stay deterministic.
- 17  Patrons. TTL, heat decay and pin are three distinct mechanisms on one
      tick, not a type field. Reap means leaves the floor, not destroyed. The
      framebuffer is a utility, not a patron. Dynamic in capacity, static in
      structure.
- 18  The engine (L0). L0 and L8 bookend the gated loops L1-L7, both ungated.
      Jacquard stays 7-bit/128 states, accounting for L0 by its absence.
      Dispatch enumerates behaviours, never patron kinds.

Determinism traced end to end and confirmed intact: TIME-TRUST is measured
and never fed back, inference inputs are wholly execution-derived, decay is
tick-based, and the parity hash covers only word name and execution_heat.
One pre-existing exception recorded — vm_physics_touch scales fleet heat by
wall-clock elapsed time, outside the parity path.

Draft. Sections marked DECIDED / LEANING / OPEN throughout.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 09:45:05 -04:00