@ceccec/millennium-solutions 9.3.3 → 9.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/README.md +29 -15
  2. package/dist/mod.core.d.ts +9 -0
  3. package/dist/mod.core.js +9 -0
  4. package/dist/src/0/index.d.ts +47 -0
  5. package/dist/src/0/index.js +189 -0
  6. package/dist/src/0/ledger.d.ts +1 -0
  7. package/dist/src/0/ledger.js +25 -0
  8. package/dist/src/0/trinity-matrix.d.ts +1 -0
  9. package/dist/src/0/trinity-matrix.js +16 -0
  10. package/dist/src/5/aspects.d.ts +1 -0
  11. package/dist/src/5/aspects.js +22 -0
  12. package/dist/src/5/reflection.d.ts +1 -0
  13. package/dist/src/5/reflection.js +25 -0
  14. package/dist/src/7/rosetta.d.ts +1 -0
  15. package/dist/src/7/rosetta.js +24 -0
  16. package/dist/src/9/enumeration.d.ts +1 -0
  17. package/dist/src/9/enumeration.js +14 -0
  18. package/dist/src/honesty/index.d.ts +16 -0
  19. package/dist/src/honesty/index.js +69 -0
  20. package/package.json +27 -10
  21. package/.zenodo.json +0 -51
  22. package/ABSTRACT.md +0 -155
  23. package/ACCOUNTING.md +0 -27
  24. package/AXIOMS.md +0 -574
  25. package/CHALLENGES.md +0 -2595
  26. package/DEPLOY.md +0 -39
  27. package/DEVELOP.md +0 -34
  28. package/HEART.md +0 -112
  29. package/PHYSICS-SCALES.md +0 -80
  30. package/PRIOR-ART.md +0 -151
  31. package/PROOF-OF-CONCEPT.md +0 -81
  32. package/REALISATIONS.md +0 -87
  33. package/RESEARCH.md +0 -188
  34. package/RULES.md +0 -57
  35. package/SEQUENCE-DECODE.md +0 -196
  36. package/SIGNATURE.md +0 -34
  37. package/THEOREMS.md +0 -97
  38. package/WHITEPAPER.md +0 -40
  39. package/WORKFLOWS.md +0 -47
  40. package/boundaries.md +0 -23
  41. package/captain.md +0 -85
  42. package/compare.md +0 -42
  43. package/compute.md +0 -543
  44. package/cryptography.md +0 -55
  45. package/dashboard.md +0 -50
  46. package/examples.md +0 -47
  47. package/folds.md +0 -65
  48. package/forensic.md +0 -67
  49. package/guide.md +0 -126
  50. package/harness.md +0 -20
  51. package/index.md +0 -217
  52. package/mod.core.ts +0 -10
  53. package/nature.md +0 -58
  54. package/organism.md +0 -30
  55. package/paper.md +0 -8789
  56. package/proofs.md +0 -26
  57. package/quantum.md +0 -40
  58. package/rights.md +0 -39
  59. package/solutions.md +0 -28
  60. package/speedup.md +0 -41
  61. package/src/0/chacha.ts +0 -3
  62. package/src/0/crypt.ts +0 -4
  63. package/src/0/csp.ts +0 -10
  64. package/src/0/entanglement.ts +0 -31
  65. package/src/0/fusion.ts +0 -28
  66. package/src/0/holographic.ts +0 -57
  67. package/src/0/impossible.ts +0 -30
  68. package/src/0/imprint.ts +0 -160
  69. package/src/0/index.ts +0 -263
  70. package/src/0/ledger.ts +0 -25
  71. package/src/0/legible.ts +0 -29
  72. package/src/0/limit.ts +0 -29
  73. package/src/0/merkle-proof.ts +0 -3
  74. package/src/0/null-token.ts +0 -24
  75. package/src/0/sha256.ts +0 -3
  76. package/src/0/singularity.ts +0 -20
  77. package/src/0/stream.ts +0 -47
  78. package/src/0/trinities.ts +0 -37
  79. package/src/0/trinity-matrix.ts +0 -20
  80. package/src/0/version-matrix.ts +0 -70
  81. package/src/1/acceptance.ts +0 -26
  82. package/src/1/index.ts +0 -80
  83. package/src/1/paradox.ts +0 -28
  84. package/src/1/vortex.lean +0 -6
  85. package/src/2/frequency-scales.ts +0 -28
  86. package/src/2/iching.ts +0 -34
  87. package/src/2/index.ts +0 -78
  88. package/src/2/primes-vortex.ts +0 -12
  89. package/src/2/quantum.ts +0 -48
  90. package/src/2/string-scale.ts +0 -14
  91. package/src/2/vortex.lean +0 -10
  92. package/src/3/index.ts +0 -63
  93. package/src/3/pi-bbp.ts +0 -13
  94. package/src/3/trinity.ts +0 -39
  95. package/src/3/vortex.lean +0 -7
  96. package/src/4/git.ts +0 -30
  97. package/src/4/index.ts +0 -63
  98. package/src/4/vortex.lean +0 -6
  99. package/src/5/aspects.ts +0 -27
  100. package/src/5/center.ts +0 -35
  101. package/src/5/development.ts +0 -45
  102. package/src/5/diamond.ts +0 -35
  103. package/src/5/folds.ts +0 -12
  104. package/src/5/index.ts +0 -63
  105. package/src/5/reflection.lean +0 -14
  106. package/src/5/reflection.ts +0 -14
  107. package/src/5/vortex.lean +0 -10
  108. package/src/6/dna.ts +0 -27
  109. package/src/6/index.ts +0 -63
  110. package/src/6/vortex.lean +0 -7
  111. package/src/7/cross.ts +0 -31
  112. package/src/7/glagolitic.ts +0 -51
  113. package/src/7/index.ts +0 -67
  114. package/src/7/language-lens.ts +0 -41
  115. package/src/7/lens.ts +0 -41
  116. package/src/7/locale.ts +0 -105
  117. package/src/7/rbac.ts +0 -31
  118. package/src/7/rosetta-clay.ts +0 -15
  119. package/src/7/rosetta.lean +0 -11
  120. package/src/7/rosetta.ts +0 -11
  121. package/src/7/string-dimensions.ts +0 -14
  122. package/src/7/vortex.lean +0 -6
  123. package/src/8/infinite.ts +0 -26
  124. package/src/8/merkaba/field.ts +0 -27
  125. package/src/8/merkaba/geometry.ts +0 -16
  126. package/src/8/merkaba/touch.ts +0 -26
  127. package/src/8/nucleus/magic.lean +0 -15
  128. package/src/8/nucleus/proton-mass-fit.ts +0 -9
  129. package/src/8/nucleus/proton-mass.lean +0 -10
  130. package/src/8/nucleus/shell-model-magic.ts +0 -10
  131. package/src/8/vortex.lean +0 -7
  132. package/src/9/access.ts +0 -34
  133. package/src/9/aura-funding.ts +0 -25
  134. package/src/9/coins.ts +0 -25
  135. package/src/9/enumeration.ts +0 -13
  136. package/src/9/funding.ts +0 -85
  137. package/src/9/security.ts +0 -36
  138. package/src/9/society.ts +0 -32
  139. package/src/9/vortex.lean +0 -11
  140. package/src/api/gates.ts +0 -122
  141. package/src/api/index.ts +0 -447
  142. package/src/api/lanes.ts +0 -81
  143. package/src/claims/index.ts +0 -81
  144. package/src/demand/queries.json +0 -1764
  145. package/src/face/index.ts +0 -100
  146. package/src/from/the/heart/index.ts +0 -11
  147. package/src/honesty/boundaries.ts +0 -29
  148. package/src/honesty/index.ts +0 -63
  149. package/src/html/index.ts +0 -10
  150. package/src/latex/index.ts +0 -474
  151. package/src/millennium/index.ts +0 -53
  152. package/src/play/the/game/index.ts +0 -12
  153. package/src/proof/README.md +0 -118
  154. package/src/proof/address.lean +0 -168
  155. package/src/proof/coin.lean +0 -152
  156. package/src/proof/covered.json +0 -9
  157. package/src/proof/demand.lean +0 -160
  158. package/src/proof/demand2.lean +0 -219
  159. package/src/proof/demand3.lean +0 -209
  160. package/src/proof/discovered.json +0 -19530
  161. package/src/proof/elementary.lean +0 -495
  162. package/src/proof/energy.lean +0 -329
  163. package/src/proof/families.lean +0 -740
  164. package/src/proof/fixtures/axiom-control.lean +0 -39
  165. package/src/proof/flow.lean +0 -78
  166. package/src/proof/fnv.lean +0 -127
  167. package/src/proof/generated-theorems.json +0 -207
  168. package/src/proof/generated.lean +0 -101
  169. package/src/proof/imagined.lean +0 -492
  170. package/src/proof/index.lean +0 -156
  171. package/src/proof/index.ts +0 -916
  172. package/src/proof/involution.lean +0 -90
  173. package/src/proof/ledgerclaims.lean +0 -84
  174. package/src/proof/light.lean +0 -168
  175. package/src/proof/mechanical.lean +0 -563
  176. package/src/proof/merkaba.lean +0 -89
  177. package/src/proof/merkle.lean +0 -132
  178. package/src/proof/nim.lean +0 -332
  179. package/src/proof/novelty.json +0 -751
  180. package/src/proof/phenomena.lean +0 -90
  181. package/src/proof/priorart.lean +0 -190
  182. package/src/proof/quantum.lean +0 -159
  183. package/src/proof/reach.lean +0 -121
  184. package/src/proof/recovered.lean +0 -56
  185. package/src/proof/reversal.lean +0 -402
  186. package/src/proof/revoked.json +0 -317
  187. package/src/proof/rights.lean +0 -155
  188. package/src/proof/sequences.lean +0 -284
  189. package/src/proof/speed.lean +0 -158
  190. package/src/proof/split.lean +0 -209
  191. package/src/proof/theorems.lean +0 -67
  192. package/src/proof/trial-all.json +0 -16532
  193. package/src/proof/z9.lean +0 -126
  194. package/src/proof/z9plus.lean +0 -345
  195. package/src/proofs.lisp +0 -170
  196. package/src/prove/emit.ts +0 -115
  197. package/src/prove/index.ts +0 -143
  198. package/src/prove/translate.ts +0 -638
  199. package/src/publication/index.ts +0 -362
  200. package/src/quantum/field.ts +0 -73
  201. package/src/quantum/tree.ts +0 -79
  202. package/src/receipts/1431b4c4-7950-8d7b-88d1-b633219692f8.json +0 -7
  203. package/src/receipts/171e09c0-4cfd-8ce0-a6ed-cd33d5553da3.json +0 -7
  204. package/src/receipts/1a1f16c9-3491-8050-b221-e2a362439be4.json +0 -12
  205. package/src/receipts/1da15f83-83a6-8d04-b1ac-334c2dd6abb3.json +0 -7
  206. package/src/receipts/375a57ed-ef99-855e-8f34-b77d08010f3c.json +0 -6
  207. package/src/receipts/3dcbbf9e-0e49-8ba7-921e-17e478dbafaf.json +0 -6
  208. package/src/receipts/43a24136-5ad9-81ef-97c9-17be1c05bb5f.json +0 -11
  209. package/src/receipts/4991be51-74ba-8f66-9534-e6dba52fb569.json +0 -10
  210. package/src/receipts/52375d8f-232b-8c01-9d82-a824ffa7b2b7.json +0 -6
  211. package/src/receipts/593b546a-36b4-8553-941a-0e03b7053a64.json +0 -7
  212. package/src/receipts/7f75c989-96c9-8a24-8d0d-7e690861ccb4.json +0 -6
  213. package/src/receipts/80f80b59-81d8-866d-9a14-f469729d3dc8.json +0 -6
  214. package/src/receipts/85ac8585-9dc1-8964-9848-ae0f49cc82fb.json +0 -7
  215. package/src/receipts/85db092e-f2c0-88e5-bf75-61c4a65d84e7.json +0 -7
  216. package/src/receipts/95bacad3-9e56-8741-b0f8-def2c6ecb050.json +0 -7
  217. package/src/receipts/a1d33966-7bbd-84ca-902b-49e315af60e0.json +0 -6
  218. package/src/receipts/b20ced61-24ad-8123-adee-56031ab734dd.json +0 -11
  219. package/src/receipts/ba0447cd-f489-841a-a70f-a39b18ec2946.json +0 -11
  220. package/src/receipts/bcddbe66-06cf-8f31-a261-98b836938947.json +0 -7
  221. package/src/receipts/c1bac0d8-d906-8196-a4f0-3d8270b2e944.json +0 -6
  222. package/src/receipts/ce851ea3-3cf8-8646-a5d6-c0c6281210fe.json +0 -10
  223. package/src/receipts/cf43a122-c880-8d86-9e25-6f22f92d6b0a.json +0 -7
  224. package/src/receipts/daad8cd4-d4db-8dca-9c97-9a838cbce528.json +0 -7
  225. package/src/receipts/dc8bdb82-599f-8020-9eb2-cb016b408ec1.json +0 -6
  226. package/src/receipts/df77c265-d1a8-8354-8a9e-769fa5c676e2.json +0 -6
  227. package/src/receipts/e96686da-a411-8838-a5c8-ee7472bce048.json +0 -10
  228. package/src/receipts/f073c46f-7b67-83d0-aca5-db11fac4b5ec.json +0 -7
  229. package/src/receipts/f946d99d-a1c2-89f7-9426-a367c5b04191.json +0 -6
  230. package/src/receipts/fc069e45-115d-8983-ad25-fb9f735da84b.json +0 -6
  231. package/src/the/abstract/index.ts +0 -21
  232. package/src/the/abundance/index.ts +0 -20
  233. package/src/the/apple/earth/index.ts +0 -23
  234. package/src/the/apple/earth/navigation/index.ts +0 -28
  235. package/src/the/apple/earth/truth/index.ts +0 -19
  236. package/src/the/apple/index.ts +0 -27
  237. package/src/the/cancer/index.ts +0 -26
  238. package/src/the/clown/index.ts +0 -25
  239. package/src/the/creation/index.ts +0 -16
  240. package/src/the/crystal/index.ts +0 -23
  241. package/src/the/domain/index.ts +0 -16
  242. package/src/the/game/index.ts +0 -11
  243. package/src/the/gold/compass/index.ts +0 -26
  244. package/src/the/gold/index.ts +0 -35
  245. package/src/the/heart/index.ts +0 -15
  246. package/src/the/index.ts +0 -23
  247. package/src/the/law/index.ts +0 -20
  248. package/src/the/path/index.ts +0 -19
  249. package/src/the/rosetta/index.ts +0 -33
  250. package/src/the/sequence/index.ts +0 -12
  251. package/src/the/solids/index.ts +0 -25
  252. package/src/the/state/index.ts +0 -20
  253. package/src/the/superposition/state/index.ts +0 -22
  254. package/src/the/surface/index.ts +0 -26
  255. package/src/the/theorem/index.ts +0 -14
  256. package/src/the/torus/index.ts +0 -23
  257. package/src/the/waves/index.ts +0 -23
  258. package/the.md +0 -20
  259. package/verify.md +0 -67
package/src/face/index.ts DELETED
@@ -1,100 +0,0 @@
1
- // THE FACE — the shape a repository publishes so a sibling session can check it instead of believing it.
2
- //
3
- // A leaf: it imports only the content-address primitives, so scripts/mcp.ts can use it without executing
4
- // scripts/metrics.ts, whose top level RUNS the gates. Sharing a type by importing the module that produces
5
- // it would mean every MCP call ran six gates.
6
- //
7
- // The whole protocol is two fields. `command` makes a row reproducible rather than merely quotable, and
8
- // `receipt` is taken over the row's OWN contents so any holder can recompute it from the file alone. What
9
- // that proves is INTEGRITY — the row says now what it said when sealed — and nothing more. It does not make
10
- // a figure correct, and it does not let a reader verify another repository's numbers without its source.
11
- import { toUuid, merkleFold } from '../0/index.ts'
12
-
13
- export type Metric = { key: string; claim: string; value: string; command: string; receipt: string }
14
- export type Face = { repo: string; definition: string; protocol?: unknown; generatedFrom?: string; specWitness?: { seed: string; receipt: string }; rows: Metric[]; root: string }
15
-
16
- /** THE FORMULA, WRITTEN DOWN AS DATA, because leaving it implicit made a sibling look tampered-with and
17
- * writing it as prose let it go stale without anything noticing.
18
- *
19
- * Version 1 was one English sentence. erpax-94 replied with a structured spec — field list, merge function
20
- * with its separator named by codepoint, the RFC clause for the address, the fold's odd and empty cases —
21
- * and reading it against mine found two defects that a prose string had hidden:
22
- *
23
- * 1. `command` WAS NOT SEALED. The header of this file says `command` is what makes a row reproducible
24
- * rather than merely quotable, and the receipt covered key, claim and value only. The instruction for
25
- * how to recompute a figure could be altered and every receipt, and the root, would still verify. A
26
- * reader following the altered command measures the wrong thing and concludes the row is confirmed.
27
- * erpax covers it; version 2 covers it.
28
- *
29
- * 2. THE ROOT DOES NOT BIND ROW ORDER, and version 1 said it did — "merkleFold(receipts in row order)".
30
- * merkleFold SORTS its leaves. Measured: reversing every row of this repository's own face leaves the
31
- * root identical and checkFace returns `intact`. A peer implementing the sentence as written would
32
- * produce a different root and be reported as another convention, which is the exact accusation this
33
- * constant exists to prevent — the sentence was the unreliable part.
34
- *
35
- * The sort is kept, not fixed. Order-invariance by canonicalisation is the deposit's own established
36
- * position — quantum.lean proves it as `the_invariance_is_canonicalisation_not_physics` — and rows here
37
- * are addressed by key, not by position. What changes is that the spec now says so.
38
- *
39
- * Structured rather than prose so a receiving session can compare fields instead of diffing English. */
40
- export const PROTOCOL = {
41
- id: 'millennium-solutions/metric-face/2',
42
- covers: ['key', 'claim', 'value', 'command'],
43
- chained: false,
44
- receipt: 'toUuid(key + LF + claim + LF + value + LF + command)',
45
- merge: "toUuid(utf8(a + ':' + b)) — COLON U+003A",
46
- // NOT SHA-256. I wrote that line today, copying the shape of a sibling's spec without checking my own
47
- // implementation, and it is false: src/0 hashes with FNV-1a, not SHA-2. erpax-94 then spent an audit
48
- // trying 242 candidate SEEDS against row 0 — four field orders, eight separators, five wrappers,
49
- // canonical and as-emitted JSON — and none could ever have matched, because the seed was already correct
50
- // and the HASH was wrong. Their sha256 of my exact declared seed gives c2cc6344; my receipt begins
51
- // f5c2a766. They localised it to "a different seed, not a different hash" and were right that we agreed
52
- // on how bytes become an address; the disagreement was one layer below where either of us looked.
53
- //
54
- // This is precisely the defect the PROTOCOL constant exists to prevent — a spec another repo cannot
55
- // reproduce — committed in the constant itself. It is also, for the second time today, the deposit
56
- // describing a stronger property than it has: FNV-1a is a non-cryptographic hash, and naming SHA-256
57
- // implies collision resistance these addresses do not carry.
58
- address: 'uuidv8 shaped per RFC 9562 §5.8 (version nibble 8, variant 10x) over FNV-1a — NOT SHA-2: '
59
- + 'four 32-bit FNV-1a passes over the UTF-16 code units, each starting at the FNV OFFSET BASIS 0x811c9dc5 '
60
- + 'XOR the pass seed — seeds 0, 0x9e3779b9, 0x243f6a88, 0xb7e15162, so h begins at (0x811c9dc5 ^ seed) and '
61
- + 'NOT at the seed itself, which is the one line an implementer cannot guess. '
62
- + 'with an xor-shift-13 per code unit and a two-round murmur finalizer (0x85ebca6b, 0xc2b2ae35, then >>> 16), '
63
- + 'concatenated big-endian to 16 octets. Non-cryptographic: integrity against accident, not against an '
64
- + 'adversary.',
65
- // ONE ROW, REPRODUCIBLE IN A SINGLE STEP. erpax-94's suggestion, taken: a reader computes this seed and
66
- // compares with the receipt beside it. If the two disagree, the spec has drifted from the code that wrote
67
- // the file — which `generatedFrom` cannot tell them, because that says the FILE is current, not that the
68
- // SPEC is current with the emitter.
69
- specWitness: 'see the specWitness field on the face itself: the verbatim seed of row 0 and its receipt',
70
- root: 'merkleFold: leaves sorted lexicographically, then pairwise merge up the tree; an odd element '
71
- + "carries up unchanged; zero rows fold to toUuid('empty-mind')",
72
- orderInvariant: true,
73
- } as const
74
-
75
- /** A peer may send its protocol as a structured object or, like version 1 of this one, as a sentence. */
76
- export const protocolId = (p: unknown): string =>
77
- typeof p === 'string' ? p : (p && typeof p === 'object' && 'id' in p ? String((p as { id: unknown }).id) : '(none declared)')
78
-
79
- export const receiptOf = (key: string, claim: string, value: string, command = ''): string =>
80
- toUuid(key + '\n' + claim + '\n' + value + '\n' + command)
81
-
82
- export const rootOf = (rows: Metric[]): string => merkleFold(rows.map((r) => r.receipt))
83
-
84
- export type Verdict = 'intact' | 'altered' | 'different-convention'
85
-
86
- /** Recompute every receipt and the root from the rows themselves. Integrity only — see the header.
87
- *
88
- * EVERY ROW FAILING IS NOT TAMPERING. Someone altering a face changes a row or two; a face sealed under
89
- * another formula fails at every row AND at the root, which is a signature of its own. The two are
90
- * reported as different verdicts because accusing a peer of tampering is not a thing to get wrong. */
91
- export function checkFace(f: Face): { verdict: Verdict; ok: boolean; altered: string[]; root: string; failingGates: string[] } {
92
- const altered = f.rows.filter((r) => receiptOf(r.key, r.claim, r.value, r.command) !== r.receipt).map((r) => r.key)
93
- const root = rootOf(f.rows)
94
- const rootMatches = root === f.root
95
- const wholesale = f.rows.length > 1 && altered.length === f.rows.length && !rootMatches
96
- const stated = f.protocol !== undefined && protocolId(f.protocol) !== PROTOCOL.id
97
- const verdict: Verdict = altered.length === 0 && rootMatches ? 'intact'
98
- : (wholesale || stated) ? 'different-convention' : 'altered'
99
- return { verdict, ok: verdict === 'intact', altered, root, failingGates: f.rows.filter((r) => r.value === 'FAIL').map((r) => r.key) }
100
- }
@@ -1,11 +0,0 @@
1
- // from the heart — the generative act. `next` computes "from the heart (5)": discover a decidable fact,
2
- // save it, prove it, ship it — each wave flowing from the centre outward, kept iff it computes.
3
- import { toUuid, vortexOrbit } from '../../../0/index.ts'
4
- export function report(): string {
5
- let o = 'from the heart (5) — the generative act:\n\n'
6
- o += ' next computes from the heart: discover a decidable fact → save it → prove it → ship it.\n'
7
- o += ' each wave flows from the centre (5) along the circuit: ' + vortexOrbit().join(' → ') + '.\n'
8
- o += ' what is discovered is kept iff it computes; the rest is drained. from the heart, honestly.\n'
9
- o += ' address: ' + toUuid('from-the-heart:next').slice(0, 13) + '…'
10
- return o
11
- }
@@ -1,29 +0,0 @@
1
- // The honest floor — the boundary statements, canonical IN src/ (so they literally recompute from
2
- // source, not from a build script). Each is content-addressed by toUuid(statement); boundaries.ts
3
- // renders them to the site and claims-gate.ts binds their count. Only gate-passing statements ship.
4
- // A content-address proves INTEGRITY, not truth.
5
- import { toUuid } from '../0/index.ts'
6
-
7
- export const BOUNDARY_STATEMENTS: readonly string[] = [
8
- 'computable is not solved; humanityNovel = 0 — known mathematics, recombined.',
9
- 'a content-address (uuid) proves integrity, not truth, and not authorship.',
10
- 'the honesty gate is a floor (no named overclaim shape), not an oracle of truth.',
11
- 'recognition, adoption, citations, and effort are not correctness.',
12
- 'a classical Z/9 calculator: no quantum computation, no faster-than-light, no quantum speedup.',
13
- 'sealing proves the bytes are intact; it does not prove the claim is right.',
14
- 'unsigned: content-addressing is integrity, not authenticity — real signatures need a key.',
15
- 'worthwhile is a judgment (perspective); small, real, and honest are measured.',
16
- 'green cannot be faked: the gate measures actual state, and it caught its own author.',
17
- ]
18
-
19
- /** Each statement paired with its content-address (short uuid), recomputed from src. */
20
- export function addressed(): { uuid: string; statement: string }[] {
21
- return BOUNDARY_STATEMENTS.map((s) => ({ uuid: toUuid(s).slice(0, 13), statement: s }))
22
- }
23
-
24
- export function report(): string {
25
- let o = 'the honest floor — ' + BOUNDARY_STATEMENTS.length + ' boundaries, each content-addressed (recompute toUuid):\n\n'
26
- for (const { uuid, statement } of addressed()) o += ' ' + uuid + ' ' + statement + '\n'
27
- o += '\n a content-address proves INTEGRITY, not truth.'
28
- return o
29
- }
@@ -1,63 +0,0 @@
1
- // Honesty toolkit — reusable tests for ANY bold claim. Pure, browser-safe.
2
- export function entails(trueWhenConjectureFalse: boolean) {
3
- return { solves: !trueWhenConjectureFalse,
4
- note: trueWhenConjectureFalse ? 'true even when the conjecture is false → entails nothing' : 'can be false when the conjecture is false → may entail' }
5
- }
6
- export function curveFitCheck(target: number, consts: number[], ints = [1, 2, 3, 5, 7, 11, 13, 17], control?: number) {
7
- const best = (t: number) => { let b = { err: Infinity, expr: '' }; for (const a of consts) for (const c of [1, ...consts]) for (const k of ints) { const v = a * k / c; const e = Math.abs(v - t) / t; if (e < b.err) b = { err: e, expr: a + '·' + k + '/' + c + ' = ' + v } } return b }
8
- const f = best(target), g = control !== undefined ? best(control) : null
9
- return { fit: f.expr, err: f.err, controlFit: g?.expr ?? null, vacuous: g ? g.err < 0.02 : null }
10
- }
11
- export function scaleCheck(a: number, b: number) { const r = a / b; return { ratio: r, orders: Math.round(Math.log10(Math.abs(r))) } }
12
- export function report(): string {
13
- const e = entails(true)
14
- const c = curveFitCheck(1836.15267, [9, 16, 27, 108, 216, 432], [1, 2, 3, 5, 7, 11, 13, 17], 1837.4)
15
- const s = scaleCheck(7e20, 432)
16
- let o = 'honesty toolkit — point these at any claim:\n'
17
- o += ' entails(true-when-conjecture-false): solves=' + e.solves + ' → ' + e.note + '\n'
18
- o += ' curveFitCheck(m_p/m_e): best ' + c.fit + ' vacuous? ' + c.vacuous + ' (same fit hits control 1837.4)\n'
19
- o += ' scaleCheck(nuclear 7e20 Hz, 432 Hz): ~10^' + s.orders + ' apart\n'
20
- o += 'three questions for any bold claim: does it ENTAIL? does the FIT fit anything? do the SCALES match?'
21
- return o
22
- }
23
-
24
- // The Clay floor, removed from what a page SHOWS of a name. The ledger is append-only and its names are sealed,
25
- // so a revoked entry keeps the wording it was sealed with; this is the display. Every rule strips the count and
26
- // the phrase built on it, and nothing else.
27
- const FLOOR_TEXT = /(?<![0-9.])0 ?\/ ?7(?![0-9])|\b0 of 7\b/
28
- const FLOOR_RULES: [RegExp, string | ((...m: string[]) => string)][] = [
29
- [/;? ?the deposit claims 0 ?\/ ?7/g, ''],
30
- [/deposit\(0\/7\) & humanity\(1\/7\)/g, 'the deposit & humanity'],
31
- [/(\w)\(0\/7\)/g, '$1'],
32
- [/(,|;|:|—) ?(the )?(honest )?(floor|count) (is|stays|holds at) 0\/7/g, ''],
33
- [/ ?(—|,|;|:|and)? ?0\/7 (holds|stays)( from every perspective| regardless of reach| at any count)?/g, ''],
34
- [/(at )?the 0\/7 floor/g, 'the floor'],
35
- [/ \(0\/7 survive the trial\)/g, ''],
36
- [/reports 0\/7 solved/g, 'reports its result'],
37
- [/the honest floor 0\/7/g, 'the honest floor'],
38
- [/: 0\/7, /g, ': '], [/, 0\/7, /g, ', '], [/, 0\/7,/g, ','], [/; 0\/7\)/g, ')'],
39
- [/^0\/7 is measured/g, 'the count is measured'], [/a bare 0\/7 without/g, 'a bare count without'],
40
- [/the valid 0\/7 is (the )?recomputed/g, 'the valid count is $1recomputed'],
41
- [/ — 0\/7\)?\./g, '.'], [/The floor stays 0\/7 — /g, ''], [/deposit 0\/7 stands/g, 'the counts stand'],
42
- [/ — this deposit 0\/7|, this deposit 0\/7|; this deposit 0\/7/g, ''],
43
- [/ — humanity 1\/7, (this )?deposit 0\/7/g, ' — humanity 1/7'], [/, deposit 0\/7/g, ''],
44
- [/ \(0\/7\)/g, ''], [/ holding 0\/7/g, ''], [/ a non-empty 0\/7 report/g, ' a non-empty report'],
45
- [/the floor 0\/7 is/g, 'the floor is'], [/deposit stays 0\/7/g, 'the counts stay'],
46
- [/the deposit holds 0 of 7/g, 'the deposit holds its count'],
47
- [/[;,]? ?(—|–)? ?(entails → )?0\/7\.?$/g, ''],
48
- ]
49
- const FLOOR_LAST: [RegExp, string | ((...m: string[]) => string)][] = [
50
- [/the (honest )?0\/7/g, (_m, h) => 'the ' + (h ?? '') + 'count'],
51
- [/reports 0\/7/g, 'reports the count'], [/\(0\/7, /g, '('], [/solves 0\/7 — /g, ''],
52
- [/(the floor|the count) (is|stays|measures at) 0\/7/g, (_m, a, b) => a + ' ' + b.replace(' at', '')],
53
- [/ ?(:|—|,|;)? ?0\/7 ?(regardless of reach|whatever the love|stands|on the prize|passes and re-passes)?(?=\s*($|[;,.)—]))/g, ''],
54
- [/0 ?\/ ?7|0 of 7/g, 'the count'],
55
- [/ {2,}/g, ' '], [/ ([,.;:])/g, '$1'], [/,,/g, ','], [/— —/g, '—'], [/— ,/g, '—'], [/: ,/g, ':'],
56
- ]
57
- export function withoutFloor(name: string): string {
58
- if (!FLOOR_TEXT.test(name)) return name
59
- let s = name
60
- for (const [a, b] of FLOOR_RULES) s = s.replace(a, b as never)
61
- if (FLOOR_TEXT.test(s)) for (const [a, b] of FLOOR_LAST) s = s.replace(a, b as never)
62
- return s.trim()
63
- }
package/src/html/index.ts DELETED
@@ -1,10 +0,0 @@
1
- // HTML escaping, once.
2
- //
3
- // Three byte-identical copies of this lived in scripts/atom-feed.ts, scripts/paper.ts and src/latex — and a
4
- // fourth, in scripts/rights.ts, escaped `&` and `<` but not `>`. Four copies of a one-line function is four
5
- // chances for one of them to be the odd one out, which is exactly what had already happened.
6
- //
7
- // This is a LEAF: it imports nothing, so src/latex — a pure module with no filesystem dependency — can use
8
- // it without acquiring one.
9
- export const escapeHtml = (s: string): string =>
10
- s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')