§34c: five encoding contracts - no headcount on truth, forks as citizens

This commit is contained in:
2026-08-23 13:13:04 -05:00
parent fc9d9ebd05
commit 74f2cc9cd7
+64
View File
@@ -1155,3 +1155,67 @@ So the boundary protects the dissenter structurally:
"the world would think we're crazy" is not an argument
against a chain of receipts. Crazy is a headcount word.
The chain does not count heads.
## 34c. ENCODING THE BOUNDARY — design contracts, not sentiments
Translating §34b and its coda into mechanisms the storage and
retrieval layers must enforce:
### C1 — evidential weight has NO headcount term
weight(claim) = f(tier, chain_match, grip, decay)
# strictly NO count(holders)
Invariant test (must hold in code): duplicating a claim across N
parties without new evidence changes NOTHING about its weight.
Ten copies of a rumor weigh exactly one rumor. Confidence is a
function of VERIFICATION DEPTH, never POPULATION.
### C2 — forks are first-class citizens
FORK {
versions: [all sides, retained],
opened_at, state: open | resolved(evidence_ref),
resolution_by: arithmetic | still-open
}
Unresolved forks are entities: retrievable, dated, NEVER garbage-
collected for being old or alone. A fork may only close by
evidence reference (chain math, re-derivation). There is no
code path that closes a fork by counting.
### C3 — agreement outputs are stamped as INTENT
Any record whose status derives from signatures carries:
by_agreement: true # this is a decision, not a discovery
Downstream reasoning must treat by_agreement records as plans
and commitments — queryable, honorable, binding on ACTION —
but they can never be cited as evidence inside C1's weight.
The schema makes "we all agreed therefore it's true"
UNREPRESENTABLE: intent records lack the evidence field,
structurally.
### C4 — the minority surface
Retrieval must be able to answer:
"what does ONE party believe against everyone?"
as a first-class query (minority views), because stagnation
hides exactly there. A lone position linked to an open fork
is surfaced with its fork, its dates, and its verification
tier — visible forever, weighted honestly by R1-R2 alone.
### C5 — the alarm is not a verdict
Fork alarms trigger investigation workflows, never automatic
resolution. The system's loudest event produces its most
careful state: everything held, nothing elected, evidence
sought. If evidence cannot decide, the fork stays open —
"we do not know yet" is a representable, respectable,
permanent answer.
These five contracts are binding on semantic.ts and the storage
layer whenever they ripen (§29). They are the difference between
a system that TOLERATES dissent and one that cannot even
represent majority-coerced truth.