ROADMAP: section 7 is binding. PRECISION: prismatic-only is a limit
ROADMAP opened by saying nothing in it is a promise. Section 7 holds eighteen standing principles cited by number as settled law from commit messages and from other documents - 4 governs what is hashed, 13 defines what a standard is, 17 governs what may write to a record, 18 governs how a contribution is admitted. A reader taking the header at its word would conclude Principle 17 is optional. The disclaimer now says what it always meant: it covers section 4 sequence and section 5 assumptions, not section 7.
Principle 5 gets the same qualification PROCESS section 8 got. A permanent deviation is the specification is right about facts on a host and would be licence to lower a REQ if read without limit.
PRECISION section 10 requires every section 7 entry to say whether it is a limit that work may lift or a boundary that was chosen. The prismatic-only entry said neither, which is the single most consequential ambiguity in the document. It is a limit, and the reason is now recorded: the oracle is a two-dimensional oracle with a scalar length multiplier - every recorded value is a property of the cross-section except LENGTH_MM, VOLUME_MM3 and MASS_G, and volume equals rounded section area times length to within 3.6e-12 across all 113 accepted cases. Lift it carelessly and that relation stops holding; nothing fails, it just stops meaning what it means. Anything keeping each station two-dimensional preserves it.
Also in PRECISION: STL export landed and is no longer planned. An absent export format is a limit; the refusal to emit toolpaths is a boundary.
ROADMAP section 4a corrected to match STAGING-STATE section 3a: nothing here is implemented on Kane Fabric, and SASE was used and never defined. The port is recorded done. The seed commit and test count are removed as derivable.
IDENTITY-CONTRACT: the rewrap owed from a76879f.
Applied by anchored patcher. Suite 643 passed, oracle intact. Documentation only.
This commit is contained in:
+38
-14
@@ -7,15 +7,24 @@ project aims at and why; it does not schedule work and nothing here is a promise
|
||||
that something will be built. `HANDOFF.md` §4 holds the actual order. Where the
|
||||
two disagree, §4 wins on sequence and this document wins on purpose.
|
||||
|
||||
**§7 is the exception, and it is binding.** The eighteen standing principles are
|
||||
cited by number as settled law from commit messages and from other documents —
|
||||
Principle 4 governs what is hashed, 13 defines what a standard is, 17 governs
|
||||
what may write to a record, 18 governs how a contribution is admitted. A reader
|
||||
taking the paragraph above at its word would conclude Principle 17 is optional.
|
||||
It is not. The disclaimer covers §4's sequence and §5's assumptions; it has never
|
||||
covered §7, and said so nowhere until 2026-09-13.
|
||||
|
||||
§§1, 2, 3 and 7 are the durable parts and are still correct. §4's sequence and
|
||||
§5's production assumptions have both drifted since 18 AUG; the divergences are
|
||||
recorded as open questions in `HANDOFF.md` §11 rather than patched here, because
|
||||
resolving them needs the whole repository in view at once.
|
||||
§5's production assumptions had both drifted since 18 AUG. The documentation
|
||||
audit of 2026-09-13 corrected what was factually wrong here and in the companion
|
||||
documents; questions that remain genuinely open are in `HANDOFF.md` §11, and
|
||||
requirements that stand and are not met are in `DIVERGENCES.md`.
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| Updated | 2026-08-18 |
|
||||
| Companions | `PROCESS.md`, `ENVIRONMENT.md`, `STAGING-STATE.md`, `FAILURES.md` |
|
||||
| Updated | 2026-09-13 |
|
||||
| Companions | `PROCESS.md`, `ENVIRONMENT.md`, `STAGING-STATE.md`, `FAILURES.md`, `DIVERGENCES.md` |
|
||||
|
||||
---
|
||||
|
||||
@@ -144,15 +153,20 @@ a new call into the same machinery, not a new machine.
|
||||
- **Container SMTP egress blocked, 2026-08-17.** The project-local half of F-025
|
||||
is corrected; the estate question about `wg-pk` client trust remains open.
|
||||
- **Repository seeded, 2026-08-18.** Reference implementation, frozen oracle,
|
||||
pinned toolchain and test harness at `c7e32d8`. Dependencies installed, oracle
|
||||
verified in-container, `3 passed, 236 skipped`.
|
||||
pinned toolchain and test harness. Dependencies installed and the oracle
|
||||
verified in-container. The commit and the test count are not recorded here —
|
||||
`git log` and `make test` report them, and the figures that used to sit on
|
||||
this line described the repository for two days.
|
||||
- **Container baseline established, 2026-08-18.** All three containers on
|
||||
`srv-b` conform, asserted by an executable check rather than by inspection.
|
||||
|
||||
### Next — the port
|
||||
### The port — done, 2026-08-20
|
||||
|
||||
Port `sb-geom` to Shapely; `pytest -n auto` green against all 123 cases. A port
|
||||
that accepts the ten rejections is wrong.
|
||||
`sb-geom` is ported to Shapely and the suite is green against all 123 cases. A
|
||||
port that accepted the ten rejections would have been wrong; this one does not.
|
||||
|
||||
The reasoning below is kept because it explains a choice that is now
|
||||
load-bearing rather than prospective.
|
||||
|
||||
Why this rather than more OpenSCAD: exceptions can be caught. Roughly half the
|
||||
defensive complexity in the current library exists because an OpenSCAD assert
|
||||
@@ -189,9 +203,15 @@ getting their own generators.
|
||||
|
||||
## 4a. Parallel project
|
||||
|
||||
**Kane Fabric** — a separate project on the same host, and the platform on
|
||||
which SASE, HOA Diagnostics, the Mechanical Compiler and other SASE-consuming
|
||||
projects are implemented.
|
||||
**Kane Fabric** — a separate project on the same host. Each project has its own
|
||||
FQDN and its own container; they share the service bridge, the WireGuard hub and
|
||||
the proxy.
|
||||
|
||||
An earlier version of this paragraph called Kane Fabric the platform on which
|
||||
SASE, HOA Diagnostics, the Mechanical Compiler and other SASE-consuming projects
|
||||
are implemented. Nothing here is implemented on Kane Fabric, and `SASE` was used
|
||||
without being defined anywhere in this repository. Corrected 2026-09-13 on the
|
||||
operator's statement of the topology.
|
||||
|
||||
It is recorded here so its existence is known, not because it creates work.
|
||||
Kane Fabric owns geographic state; the Mechanical Compiler owns member
|
||||
@@ -275,7 +295,11 @@ on whether it makes distributed manufacturing capacity legible.
|
||||
toolchain versions. Hashing parameters plus generator revision keeps a
|
||||
qualification valid across an upgrade that did not change the geometry.
|
||||
5. **A permanent deviation is not a deviation — it is the specification.**
|
||||
Promote it and delete the exception.
|
||||
Promote it and delete the exception. **This governs facts about a host, not a
|
||||
requirement the code has not met.** A REQ is never lowered to match what was
|
||||
built: it stands, the gap is recorded in `DIVERGENCES.md`, and the correction
|
||||
is owed by the code. A specification that agrees with whatever exists
|
||||
specifies nothing.
|
||||
6. **Record the failure before correcting it.** Then apply the smallest
|
||||
corrective change, not the one that also fixes three things you were
|
||||
worried about.
|
||||
|
||||
Reference in New Issue
Block a user