@ceccec/millennium-solutions 9.7.3 → 9.7.6
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.
- package/README.md +94 -52
- package/dist/src/0/index.d.ts +3 -0
- package/dist/src/0/index.js +9 -5
- package/package.json +32 -25
package/README.md
CHANGED
|
@@ -25,12 +25,14 @@ last because the orbit never reaches it.
|
|
|
25
25
|
|
|
26
26
|
## 1 · What is proved
|
|
27
27
|
|
|
28
|
-
- The
|
|
29
|
-
<sub>SEALED · `
|
|
30
|
-
-
|
|
31
|
-
<sub>SEALED · `
|
|
32
|
-
-
|
|
33
|
-
<sub>SEALED · `
|
|
28
|
+
- The seven windows are decided, not judged: 7 of 7 are settled by the Lean kernel over their whole finite domain, axiom-free, and sealed in the append-only ledger. The author's own formulation, deposited at [10.5281/zenodo.21781602](https://doi.org/10.5281/zenodo.21781602), is that a by-decide proof settles the statement it states and that a window is not the general conjecture — "a different statement, and the difference is which proposition is proven, never how strongly".
|
|
29
|
+
<sub>SEALED · `82e72d94-30b8-817c-beed-de7acd1584b8`</sub>
|
|
30
|
+
- The formal layer holds 1200 kernel-accepted declarations across 62 files, and no file uses sorry or native_decide outside a comment.
|
|
31
|
+
<sub>SEALED · `c5d8419a-ec67-8f8e-8a69-d0e4e097634c`</sub>
|
|
32
|
+
- 998 of those 1200 are THEOREMS by this deposit's own rule — they close by decide, which is to say the kernel evaluates the proposition over its whole finite domain rather than accepting a declaration; the remaining 202 close by rfl and are declarations.
|
|
33
|
+
<sub>SEALED · `a33f173c-a705-8df4-b720-b9d3e6c8bab0`</sub>
|
|
34
|
+
- 1440 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
|
|
35
|
+
<sub>SEALED · `31f6b86c-fdfb-86f5-b6a3-ad7a96ff1400`</sub>
|
|
34
36
|
|
|
35
37
|
## 2 · The ring
|
|
36
38
|
|
|
@@ -46,17 +48,17 @@ last because the orbit never reaches it.
|
|
|
46
48
|
|
|
47
49
|
## 8 · Addressing
|
|
48
50
|
|
|
49
|
-
- The content-address is ported to the formal layer in fnv.lean, address.lean, merkle.lean —
|
|
50
|
-
<sub>SEALED · `
|
|
51
|
+
- The content-address is ported to the formal layer in fnv.lean, address.lean, merkle.lean — 58 theorems covering FNV-1a, the four seeded passes, the version and variant nibbles, and the fold, each agreeing with the shipped implementation at published values.
|
|
52
|
+
<sub>SEALED · `1148fd57-01c2-8fab-b834-2712077e4ec4`</sub>
|
|
51
53
|
- The fold does not depend on the order its leaves arrive in, and that is not vacuous because merge itself is proved order-sensitive — the sort is what removes the dependence.
|
|
52
54
|
<sub>SEALED · `7ee1de7d-d218-88d4-8dc9-6eec451ced72`</sub>
|
|
53
55
|
|
|
54
56
|
## 7 · The ledger
|
|
55
57
|
|
|
56
|
-
- The ledger records
|
|
57
|
-
<sub>SEALED · `
|
|
58
|
-
- The count is
|
|
59
|
-
<sub>SEALED · `
|
|
58
|
+
- The ledger records 3304 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
|
|
59
|
+
<sub>SEALED · `6cedda22-d25b-8de1-8c19-4800ca4ac657`</sub>
|
|
60
|
+
- The count is an exact multiple of eight — 3304 is 413 octaves with no remainder.
|
|
61
|
+
<sub>SEALED · `94442e35-9ca7-8821-b3ab-75f0706597c1`</sub>
|
|
60
62
|
|
|
61
63
|
## 5 · What the gate does and does not do
|
|
62
64
|
|
|
@@ -64,10 +66,14 @@ last because the orbit never reaches it.
|
|
|
64
66
|
<sub>SEALED · `37ab7769-a1ac-8ef6-9809-e214d6285057`</sub>
|
|
65
67
|
- The gate does not decide whether a statement is true: "two plus two equals five" passes it, so holding means not drained, never correct.
|
|
66
68
|
<sub>SEALED · `f63cc6c5-44f9-8d92-afa7-ab9483573b28`</sub>
|
|
67
|
-
-
|
|
68
|
-
<sub>SEALED · `
|
|
69
|
-
-
|
|
70
|
-
<sub>SEALED · `
|
|
69
|
+
- 176 withdrawn entries are marked portable — the deposit's own judgement that the kernel could reach them — and 80 of those are now reached in reached.lean, each decided over its whole finite domain. The rest are a queue, not a floor: a claim this deposit says it could prove and has not is it understating what it holds.
|
|
70
|
+
<sub>SEALED · `09b4450b-3016-8368-89e2-74787fa214d9`</sub>
|
|
71
|
+
- How much of a machine a check may take is decided, not assumed: 8 theorems in lanes.lean exhaust the budget arithmetic, and the one that matters bounds the lanes granted by the memory measured — so more lanes are safe exactly when the arithmetic says so. What any given host grants varies with its free memory and is deliberately not recorded here; `npm run lanes-check` prints it..
|
|
72
|
+
<sub>SEALED · `85560e4e-7642-820b-aa1a-91f0e7e14c41`</sub>
|
|
73
|
+
- The tools are reachable from a program: 25 of them over 2 transport(s) — JSON-RPC on stdio for a model client, and the same surface over HTTP for a browser — of which 4 write to this tree and are refused unless the server is started with --allow-write.
|
|
74
|
+
<sub>SEALED · `321d23c3-801b-8f61-87f7-85eef9e0c91d`</sub>
|
|
75
|
+
- The stdio server advertises 2 of those 25 and reaches the rest through call_tool, because a model client pays for every tool description on every turn; the HTTP server lists them all, because a browser pays nothing for a list and cannot guess what it was not shown.
|
|
76
|
+
<sub>SEALED · `392aee0b-95c6-8943-8fcc-305b02156223`</sub>
|
|
71
77
|
|
|
72
78
|
## The floor
|
|
73
79
|
|
|
@@ -87,16 +93,16 @@ walked, computed from the statements themselves. Nothing is chosen for this tabl
|
|
|
87
93
|
|
|
88
94
|
| cases decided | theorem | file |
|
|
89
95
|
|---:|---|---|
|
|
90
|
-
|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
|
96
|
-
|
|
|
97
|
-
|
|
|
98
|
-
|
|
99
|
-
The largest domain settled here is **
|
|
96
|
+
| 82,089,011,515,213,380,000,000,000,000,000,000,000,000,000,000,000,000 | `the_coil_on_one_two_four_five_seven_eight_has_14_expressions` | `coils.lean` |
|
|
97
|
+
| 16,423,203,268,260,650,000,000,000,000,000,000,000 | `the_coil_on_zero_one_two_three_four_five_six_seven_eight_has_8_expressions` | `coils.lean` |
|
|
98
|
+
| 5,474,401,089,420,220,000,000,000,000,000,000,000 | `the_coil_on_zero_three_six_has_14_expressions` | `coils.lean` |
|
|
99
|
+
| 904,344,709,871,279,000,000,000,000,000 | `the_coil_on_one_four_seven_has_12_expressions` | `coils.lean` |
|
|
100
|
+
| 4,052,555,153,018,976,000 | `the_coil_on_two_five_eight_has_8_expressions` | `coils.lean` |
|
|
101
|
+
| 150,094,635,296,999,100 | `the_coil_on_zero_has_10_expressions` | `coils.lean` |
|
|
102
|
+
| 5,559,060,566,555,523 | `the_coil_on_zero_one_eight_has_6_expressions` | `coils.lean` |
|
|
103
|
+
| 3,206,175,906,594,816 | `the_coil_on_zero_one_four_seven_has_5_expressions` | `coils.lean` |
|
|
104
|
+
|
|
105
|
+
The largest domain settled here is **82,089,011,515,213,380,000,000,000,000,000,000,000,000,000,000,000,000 cases**, and it is finite — as every
|
|
100
106
|
entry in this ledger is, because `by decide` works by exhausting a domain and an infinite one cannot be
|
|
101
107
|
exhausted. Each of the seven Clay conjectures ranges over an infinite domain. So a proof of one could not
|
|
102
108
|
appear in this table however high it ranked, and none does. That is not a disclaimer added underneath the
|
|
@@ -104,7 +110,7 @@ results; it is the result, read off the same arithmetic that produced the table.
|
|
|
104
110
|
|
|
105
111
|
## 7 · The proofs, as they document themselves
|
|
106
112
|
|
|
107
|
-
|
|
113
|
+
62 Lean files in 7 wings, 1200 declarations of which 1185 are theorems. The prose in this section is read out of the
|
|
108
114
|
sources — their frontmatter, their header comments and the comment above each theorem. Editing a proof edits
|
|
109
115
|
this page; there is nowhere else to keep the description in step.
|
|
110
116
|
|
|
@@ -114,18 +120,22 @@ this page; there is nowhere else to keep the description in step.
|
|
|
114
120
|
|
|
115
121
|
**What a signature is for, and where it cannot go** — `asymmetric.lean`, 12 theorem(s). 2011; standardised as RFC 8032 (Josefsson and Liusvaara, 2017). SHA-512 is FIPS 180-4 (NIST). The curve, the signature scheme and the hash are all theirs and none is this deposit's. The implementation in src/0/ed25519.ts is checked against their published vectors by scripts/crypto-kat.ts, which is where the assurance for the PRIMITIVE lives — not here. Nothing below decides that Ed25519 is secure, and a file that appeared to would be claiming a result nobody has.
|
|
116
122
|
|
|
123
|
+
**The capacity a reserved bit costs, and the birthday bound that follows** — `capacity.lean`, 8 theorem(s). reservation is decided here rather than left to prose — the capacity and the collision exponent that follow from a count this tree already seals in imprint.lean. prior_art_search: not performed — both are named above. prior_art_pool: named prior_art_own: the capacity and birthday figures derived from the sealed bit count, and theorem 8
|
|
124
|
+
|
|
117
125
|
**FNV-1a, the address function** — `fnv.lean`, 15 theorem(s). FNV-1a, ported to Lean — the hash the whole deposit's addressing rests on.
|
|
118
126
|
|
|
119
127
|
**The imprint — a uuid that carries a message and gives it back** — `imprint.lean`, 10 theorem(s). 4122, 2005). A length-prefixed payload is ordinary practice with no single author and no priority is claimed for it. What is decided here is only that THIS deposit's codec is reversible where it says it is, and refuses where it says it refuses.
|
|
120
128
|
|
|
121
129
|
**What the ledger claims** — `ledgerclaims.lean`, 8 theorem(s). Bounded: what is not prior art is what THIS ledger claims — the 967-receipt case, the saving arithmetic, and the 128-bit seal width as this deposit mints it. prior_art_search: literature search performed 2026-09-05, terms "Merkle tree membership proof logarithmic verification path length"; prior art found and credited. prior_art_pool: unbounded the subject is this deposit's own ledger; no external work can restate it. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: claims about this deposit's own ledger Three claims the prose made in words and cited to entries that no longer stand. Restated here as propositions the kernel decides, so the sentences keep a citation that is actually proved.
|
|
122
130
|
|
|
123
|
-
**The fold** — `merkle.lean`,
|
|
131
|
+
**The fold** — `merkle.lean`, 17 theorem(s). The fold, ported to Lean — merge, merkleFold, and the order-independence the deposit calls its receipt.
|
|
124
132
|
|
|
125
133
|
**The uuid as a container — a checksum, a program, and a message** — `program.lean`, 22 theorem(s). 4122, 2005); FNV-1a, used here as the check function, is Glenn Fowler, Landon Curt Noll and Phong Vo, 1991, and is credited in fnv.lean where it is ported. A checksum placed in one field of an identifier over the remaining fields is ordinary practice and no priority is claimed for it. What is decided here is only that THIS deposit's layout is the partition it says it is.
|
|
126
134
|
|
|
127
135
|
**The rays, read forward and reverse, and the mark a life carries** — `rays.lean`, 14 theorem(s). is elementary number theory; the involution x ↦ ¬x on bit words is Boolean algebra. Neither is this deposit's. What is decided here is only that THIS deposit's ray order is that orbit and that its trace is that involution — the facts a reader would otherwise have to take from a comment.
|
|
128
136
|
|
|
137
|
+
**The byte constants and the bit constants are one fact, and neither file knew it** — `widths.lean`, 8 theorem(s). deposit's is neither: it is that its OWN two files state the same width in different units and had no theorem binding them, so either could have drifted while the other stayed green. prior_art_search: not performed — all three are named above. prior_art_pool: named prior_art_own: the binding below, and theorem 8
|
|
138
|
+
|
|
129
139
|
### the floor
|
|
130
140
|
|
|
131
141
|
**Who may speak, decided** — `authority.lean`, 8 theorem(s). because kind 2 asserts a search was performed and found nothing, and none was performed for these. What is this deposit's is not the arithmetic: it is that a rule about WHOSE STATEMENT MAY STAND is decided by the kernel instead of argued inside the gate that applies it. prior_art_own: the authority rule, decided rather than asserted
|
|
@@ -140,17 +150,19 @@ this page; there is nowhere else to keep the description in step.
|
|
|
140
150
|
|
|
141
151
|
**Four hex, exactly computed — and what the handle has to carry instead** — `handle.lean`, 8 theorem(s). argument on a model. No theorem here decides anything about cryptography. prior_art_search: not performed — the sources are named above rather than searched for. prior_art_pool: bounded prior_art_own: nothing; this file exists to put a bound under a construction, not to invent one
|
|
142
152
|
|
|
143
|
-
**
|
|
153
|
+
**Seven decidable windows over one finite structure** — `index.lean`, 11 theorem(s). and depends on no axiom beyond the kernel. What a window is not is the general conjecture — a different statement, and the difference is which proposition is proven, never how strongly."
|
|
144
154
|
|
|
145
155
|
**The instruments, and the three rules they are allowed to have** — `instruments.lean`, 29 theorem(s). occurrence of a substring — and each is standard enough that naming one author would be arbitrary. This row is kind 1 rather than kind 2 because kind 2 asserts that a search was performed and found nothing, and no such search was performed for these. What is this deposit's is not the rules: it is that three of its own instruments hold them by decision of the kernel, instead of by a block of reasoning written inside the instrument that needs them and checked by that same instrument.
|
|
146
156
|
|
|
157
|
+
**How many checkers may run at once, decided** — `lanes.lean`, 8 theorem(s). prior_art_search: not performed — the arithmetic is named above rather than searched for. prior_art_pool: bounded prior_art_own: the safety bound below, decided
|
|
158
|
+
|
|
147
159
|
**Light, space and time — arithmetic on numbers a standards body fixed** — `light.lean`, 17 theorem(s). Poids et Mesures, not results of this deposit: the metre from the speed of light (17th CGPM, 1983) and the seven defining constants fixed exactly in the 2019 revision of the SI, effective 20 May 2019 (BIPM, https://www.bipm.org/en/measurement-units/si-defining-constants). Nothing here measures anything.
|
|
148
160
|
|
|
149
161
|
**The three facts the unchecked files held alone** — `nucleus.lean`, 8 theorem(s). is decided here is ARITHMETIC over lists of small naturals and nothing else: that certain prefix sums of a typed capacity list take certain values, that a product of numerators equals a product of denominators, and that one integer is not another. No theorem below decides anything about a nucleus. prior_art_search: not performed for these rows — the sources are named above rather than searched for, which is kind 1 and not kind 2. Nothing here claims a search returned nothing. prior_art_pool: bounded prior_art_own: nothing; this file exists to bring three facts under the kernel, not to find them
|
|
150
162
|
|
|
151
163
|
**Every phenomenon this deposit touches, and the rule for the rest** — `phenomena.lean`, 4 theorem(s). Générale des Poids et Mesures (2019 revision, effective 20 May 2019); the electrochemical results are Michael Faraday's laws of electrolysis, 1834, and the standard enthalpy of combustion of hydrogen. Every physical result named here has an earlier author or a standards body, and none is this deposit's.
|
|
152
164
|
|
|
153
|
-
**The Planck length, and what a lattice may say about it** — `planck.lean`,
|
|
165
|
+
**The Planck length, and what a lattice may say about it** — `planck.lean`, 35 theorem(s). here and none is asserted. What is decided below is arithmetic on those digit sequences: a quotient, a list length, a residue, and an exhaustion over 2,197 products. prior_art_search: not performed — the source is named above rather than searched for. Nothing here claims a search of the literature returned nothing. prior_art_pool: bounded prior_art_own: nothing about nature; the one thing this file contributes is the REFUSAL below, decided
|
|
154
166
|
|
|
155
167
|
**Order-invariance** — `quantum.lean`, 12 theorem(s). form is invariant under permutation of its input, which is why `receipt_is_order_invariant` holds. What this file contributes is the Lean verification over a stated finite domain and the negative controls beside it — `naive_fold_is_not_order_invariant` shows the property is bought by the sort and not free, and `the_receipt_is_not_injective` and `the_invariance_is_canonicalisation_not_physics` state its limits. Verification and refusal, not discovery. prior_art_search: literature search performed 2026-09-05, terms "sorted Merkle tree order-invariant set commitment canonical ordering leaves"; prior art found and credited. This file was `unclassified` — no search had ever been run for it — and it is one of the 8 files whose 86 theorems are staged for DOIs. prior_art_pool: mixed canonicalisation before folding is a searchable technique; the receipt it folds is ours. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: order-invariance of this deposit's receipt The quantum receipt — order invariance, proved rather than asserted.
|
|
156
168
|
|
|
@@ -164,10 +176,26 @@ this page; there is nowhere else to keep the description in step.
|
|
|
164
176
|
|
|
165
177
|
### the ring
|
|
166
178
|
|
|
179
|
+
**The named properties of this ring are not closed under their own diagonal** — `closure.lean`, 8 theorem(s). ring, using the nine properties its own files name. A limit exhibited rather than conceded. prior_art_search: not performed — Cantor is named above. prior_art_pool: unbounded prior_art_own: the nine named properties, the exhibited witness, and the honesty clause in theorem 8
|
|
180
|
+
|
|
181
|
+
**Expressions that compute the same residues, clustered** — `coils.lean`, 27 theorem(s). it would be overwritten. prior_art_search: not performed — extensionality is named above. prior_art_pool: unbounded prior_art_own: the coils below, and that they are computed from the vocabulary rather than chosen
|
|
182
|
+
|
|
167
183
|
**The two-sided coin** — `coin.lean`, 12 theorem(s). One involution on ten digits, two sides, one fixed point, and one digit that leaves.
|
|
168
184
|
|
|
185
|
+
**No ring of labels addresses the subject built from its own diagonal** — `diagonal.lean`, 7 theorem(s). argument nor its finite case: it is that a specific published ring of labels, drawn three times around three different subjects and captioned "THE ALGEBRA OF EVERYTHING", is put to it by the kernel and the subject it misses is exhibited rather than described. prior_art_search: not performed — Cantor is named above. Searching would be theatre. prior_art_pool: unbounded prior_art_own: the exhibited witness, the spend bound in theorem 7, and the controls at 3 and 4
|
|
186
|
+
|
|
187
|
+
**The reflection lifts digitwise, and the constant it adds to is ten times a repunit** — `digits.lean`, 8 theorem(s). the ring's four reflection pairs, written as two-digit numbers, are all congruent to one mod nine, and that zero's exception reappears one place up as an excursion rather than a failure. prior_art_search: not performed — complement arithmetic is named above. prior_art_pool: unbounded prior_art_own: theorem 4 (the pairs mod nine) and theorem 6 (zero's excursion), and the controls
|
|
188
|
+
|
|
189
|
+
**The Planck exponents are the only ones the dimensions permit** — `dimensions.lean`, 8 theorem(s). 1899. What this deposit adds is the quantifier: the textbook SOLVES for the exponents, and this EXHAUSTS every alternative in range and finds exactly one, so "these exponents" becomes "no others". prior_art_search: not performed — Buckingham and Planck are named above. prior_art_pool: unbounded prior_art_own: the uniqueness by exhaustion, and theorem 8
|
|
190
|
+
|
|
191
|
+
**A coverage figure is worth what its control does not already explain** — `discount.lean`, 6 theorem(s). prior_art_pool: unbounded prior_art_own: the discount rule below, and the blindness bound in theorem 5
|
|
192
|
+
|
|
193
|
+
**The reach of the diagonal is the domain you read against, and nine folds past nine** — `domain.lean`, 8 theorem(s). prior_art_search: not performed — Cantor and modular arithmetic are named above. prior_art_pool: unbounded prior_art_own: the two-domain comparison, and theorem 8, which withdraws a claim made in closure.lean
|
|
194
|
+
|
|
169
195
|
**Elementary arithmetic** — `elementary.lean`, 41 theorem(s). the DECISION of each over a stated finite range, axiom-free, and the honest record of where the range stops short of what the older claim asserted. prior_art_search: the results are named in every undergraduate text; no search was needed to find them. prior_art_pool: named Elementary arithmetic, decided — the claims the ledger held in TypeScript, given a kernel.
|
|
170
196
|
|
|
197
|
+
**Substitution inside a coil is sound and across coils is not** — `equivalence.lean`, 8 theorem(s). is that ITS OWN substitution licence — scripts/coils.ts, which tells a reader two formulas may stand for one another — is put to those three properties instead of being assumed to have them. prior_art_search: not performed — all of it is named above. prior_art_pool: unbounded prior_art_own: the soundness and the separation below, and theorem 8
|
|
198
|
+
|
|
171
199
|
**Families over the ring** — `families.lean`, 64 theorem(s). The families, quantified. Proving at scale.
|
|
172
200
|
|
|
173
201
|
**The doubling flow, for every step** — `flow.lean`, 16 theorem(s). prior_art_search: literature search performed 2026-09-14, terms "powers of two modulo 9 period 6 order of 2 mod 9 Euler theorem"; prior art found and credited. prior_art_pool: bounded prior_art_own: the every-step bound of the doubling flow, stated for the Navier–Stokes theorem in index.lean
|
|
@@ -176,10 +204,16 @@ this page; there is nowhere else to keep the description in step.
|
|
|
176
204
|
|
|
177
205
|
**The merkaba** — `merkaba.lean`, 8 theorem(s). (Leonhard Euler, 1758). The file as a whole is this deposit's own construction, and this ONE declaration restates a named classical result: its third conjunct 4 + 4 - 6 = 2 IS the Euler characteristic of the tetrahedron. The comment above that theorem already named Euler; the register did not, because prior art was routed on the FILE and a file-level row cannot say "own work except theorem 7". No priority over Euler is claimed. What is this deposit's own here is the pairing of the two tetrahedra with the cube Q₃ and the vertex and edge counts around it, not the characteristic. The merkaba, as THIS deposit constructs it — ported to Lean so it stands on the kernel instead of on a TypeScript test. Six entries under this name were revoked as dirty; every one of them that states finite algebra is re-proved here, and the two that do not (a cosine field, a bond angle in degrees) are absent on purpose — they are real trigonometry, not decidable arithmetic over ℤ/9, and padding them in would be the exact dishonesty the revocation was for.
|
|
178
206
|
|
|
207
|
+
**The reflection is four pairs and one centre, and zero is the one that folds instead** — `mirror.lean`, 8 theorem(s). reflection carries out of the ring so that it must fold instead. prior_art_search: not performed — both are named above. prior_art_pool: unbounded prior_art_own: the decomposition on {1…9}, and theorem 4, which isolates zero as the exception
|
|
208
|
+
|
|
209
|
+
**A reading that does not vary with what it reads separates nothing** — `separation.lean`, 8 theorem(s). by the kernel, on a specific ring of labels published on a specific day, with a control that fires. prior_art_search: not performed — both notions are named above rather than searched for. prior_art_pool: unbounded prior_art_own: the two decisions below, and the control that proves they are not vacuous
|
|
210
|
+
|
|
179
211
|
**Sequences** — `sequences.lean`, 28 theorem(s). The ledger held these as TypeScript tests. Each is a classical identity with a real proof; what is done here is to DECIDE each over a stated finite range, which is what `decide` can honestly deliver — the range is named in every theorem rather than implied, and no theorem claims the general case.
|
|
180
212
|
|
|
181
213
|
**The digit split** — `split.lean`, 22 theorem(s). mathematics and claim nothing. Stated precisely so the credit does not run past the earlier work: what is NOT claimed as prior art is the tokenisation itself — reading the digits as 0|12|3|45|6|78|9 by concatenating consecutive units into two-digit tokens, and the arithmetic that follows from it (every token a multiple of three, closure of the tokens under addition and multiplication). That arrangement is this deposit's presentation of a standard fact, and its verification is by exhaustion here. Crediting an earlier author for a presentation they did not make is the same defect as claiming their result, pointed the other way. prior_art_search: literature search performed 2026-09-05, terms "units and non-units of Z/9 multiplicative inverses group of units modulo 9"; prior art found and credited. prior_art_pool: mixed the digit grouping is generic arithmetic; the coin accounting it feeds is this deposit's. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: the digit grouping 0|12|3|45|6|78|9 as this deposit reads it The ten digits read in order and grouped 0 | 12 | 3 | 45 | 6 | 78 | 9 — and what that grouping is.
|
|
182
214
|
|
|
215
|
+
**Doubling is two loops and both close at three hundred and sixty degrees** — `turns.lean`, 8 theorem(s). the accounting: that doubling leaves exactly TWO non-trivial loops on this ring, that their step angles are 60° and 180°, and that both close at 360° — and theorem 8, which says plainly that the surface is an interpretation of the cycle structure and not a theorem about it. prior_art_search: not performed — all three are named above. prior_art_pool: unbounded prior_art_own: the two-loop accounting, the step angles, and the honesty clause in theorem 8
|
|
216
|
+
|
|
183
217
|
**The ring ℤ/9** — `z9.lean`, 25 theorem(s). The ℤ/9 families — mechanically generated theorems, proved by decide rather than tested in TypeScript.
|
|
184
218
|
|
|
185
219
|
**Entanglement in the ring** — `z9plus.lean`, 48 theorem(s). z9.lean settled the families exhaustively. This settles the claims the ledger stated individually and never generalised: which residues squares and cubes can be, which residues are primitive roots, the period of the doubling orbit's digital root, and the identity behind digit-reversal invariance. Each is stated as an EQUIVALENCE or an exact set where the ledger stated instances, so the negative half is proved too.
|
|
@@ -192,25 +226,33 @@ this page; there is nowhere else to keep the description in step.
|
|
|
192
226
|
|
|
193
227
|
**Nim** — `nim.lean`, 28 theorem(s). Nim — Bouton's theorem and Sprague–Grundy, decided.
|
|
194
228
|
|
|
195
|
-
**
|
|
229
|
+
**A fold that returns a lone leaf unchanged admits a second preimage** — `preimage.lean`, 8 theorem(s). this deposit's is the finding: that ITS OWN fold has the weakness, in a specific shape, and that the shape is decided here rather than asserted. prior_art_search: not performed — RFC 6962 is named above. prior_art_pool: named prior_art_own: the two collisions below, modelled from src/0/index.ts as written
|
|
196
230
|
|
|
197
|
-
**
|
|
231
|
+
**The universal reflection, and where it stops being one** — `reflection.lean`, 8 theorem(s). wing: the machine prior_art: named prior_art_domain: the method of complements prior_art_note: the universal reflection here is the same ten's complement d ↦ 10 − d as coin.lean, with its centre and its pairs summing to ten. Method of complements, long prior to this deposit. Searched 2026-09-04 prior_art_search: literature search performed 2026-09-04 — see the note for the terms and the result The universal property — honestly, and COMPUTED from the sequence.
|
|
232
|
+
|
|
233
|
+
**Digit reversal** — `reversal.lean`, 30 theorem(s). Digit reversal — arithmetic, not string handling.
|
|
198
234
|
|
|
199
235
|
### the imagined
|
|
200
236
|
|
|
201
|
-
**What enumeration proposed and the kernel kept** — `imagined.lean`,
|
|
237
|
+
**What enumeration proposed and the kernel kept** — `imagined.lean`, 91 theorem(s). IMAGINED — proposed by scripts/imagine.ts, which enumerated every map-against-subset and map-between-subsets statement its primitives can express, kept the ones true by exhaustion, and then discarded every one that also holds for all its siblings. A property true of everything names nothing. What is left is what the kernel accepted; whatever it refused is reported by the generator and is not in this file.
|
|
202
238
|
|
|
203
239
|
### the record
|
|
204
240
|
|
|
205
241
|
**Prior art, and what novelty is claimed** — `priorart.lean`, 9 theorem(s). artefact is long established and formalised: W3C PROV-O, the DataCite metadata schema, Dublin Core Metadata Terms, PREMIS for archived digital objects, the Open Provenance Model, and the software citation principles' credit-and-attribution requirement. Nothing about keeping an attribution table is new, and this deposit does not suggest otherwise.
|
|
206
242
|
|
|
243
|
+
**The discovery ranking is monotone, and it is far coarser than it looks** — `ranking.lean`, 8 theorem(s). queue — which decides where the next prior-art search goes — is put to both, and that the second answer is unflattering and recorded anyway. prior_art_search: not performed — both are named above. prior_art_pool: unbounded prior_art_own: the coarseness count in theorem 4, and theorem 8
|
|
244
|
+
|
|
207
245
|
**Rights** — `rights.lean`, 9 theorem(s). Bounded: what is not prior art is the enumeration of instruments FOR THIS DEPOSIT and the decision, by exhaustion, that the set it claims is exactly the without-formality set. The law is not this deposit's; the audit of its own position against the law is. prior_art_search: no search was needed — the instruments were cited in this file's own prose from the start. Recorded 2026-09-05, when the table was found to disagree with the file. prior_art_pool: unbounded the subject is this deposit's own rights table. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: this deposit's own rights table What this deposit claims under international law — and, in the same table, what it does not.
|
|
208
246
|
|
|
247
|
+
**The prior-art verdict is total, exclusive, and never improved by silence** — `verdict.lean`, 8 theorem(s). is this deposit's is that ITS OWN verdict rule — the one standing behind every novelty claim it makes — is decided by the kernel rather than left as a line of TypeScript nobody checks. prior_art_search: not performed — both notions are named above. prior_art_pool: unbounded prior_art_own: the four properties below, and theorem 8
|
|
248
|
+
|
|
209
249
|
### the returned
|
|
210
250
|
|
|
251
|
+
**What the ledger marked reachable, reached by the kernel** — `reached.lean`, 80 theorem(s). 180° apart on the wheel. What is NOT prior art is that these particular statements sat WITHDRAWN in this deposit's ledger, each marked `portable` — its own judgement that a Lean proof was reachable — and each recorded as "not backed by a Lean proof. Its evidence is a TypeScript test" while nobody wrote one. prior_art_search: not performed — the results are named above rather than searched for. prior_art_pool: bounded prior_art_own: nothing mathematical; only that the deposit now proves what it had already claimed was provable
|
|
252
|
+
|
|
211
253
|
**Recovered — claims that computed and were withdrawn for want of a proof** — `recovered.lean`, 15 theorem(s). material, credited. What is NOT prior art is that these particular statements sat WITHDRAWN in this deposit's ledger, each recorded as "not backed by a Lean proof. Its evidence is a TypeScript test", while every one is decidable in a line. prior_art_search: literature search performed 2026-09-05, terms "units and non-units of Z/9 multiplicative inverses group of units modulo 9"; prior art found and credited.
|
|
212
254
|
|
|
213
|
-
31 of
|
|
255
|
+
31 of 1200 declarations carry no comment of their own and are shown here as the gap they are, not
|
|
214
256
|
filled with a template.
|
|
215
257
|
|
|
216
258
|
## 8 · What this build measured about itself
|
|
@@ -219,20 +261,20 @@ Read from the artefacts at build time, never carried between runs.
|
|
|
219
261
|
|
|
220
262
|
| measure | value |
|
|
221
263
|
|---|---|
|
|
222
|
-
| ledger entries |
|
|
223
|
-
| standing — carries its own proof | **
|
|
224
|
-
| carried — withdrawn on its own evidence, proved by a live theorem | **
|
|
225
|
-
| withdrawn — nothing proves it | 1,
|
|
226
|
-
| proved in total | **
|
|
227
|
-
| standing keys → distinct theorems |
|
|
228
|
-
| Lean files · theorems |
|
|
229
|
-
| proved `by decide` |
|
|
264
|
+
| ledger entries | 3,304 — 413 octaves exactly |
|
|
265
|
+
| standing — carries its own proof | **1185** |
|
|
266
|
+
| carried — withdrawn on its own evidence, proved by a live theorem | **526** |
|
|
267
|
+
| withdrawn — nothing proves it | 1,593 |
|
|
268
|
+
| proved in total | **1711** of 3,304 |
|
|
269
|
+
| standing keys → distinct theorems | 1185 sealed, 0 of them keyed twice, 0 unresolvable |
|
|
270
|
+
| Lean files · theorems | 62 · 1185 theorems (998 closed by exhaustion, axiom-free · 187 proved for every value on propext and Quot.sound) + 15 rfl declarations |
|
|
271
|
+
| proved `by decide` | 998 of 1200 |
|
|
230
272
|
| claims a machine can render | 103 of 1,555 |
|
|
231
273
|
| claims needing an author | 1,452 — reported, never faked |
|
|
232
274
|
|
|
233
|
-
**On `carried`.**
|
|
275
|
+
**On `carried`.** 526 entries were withdrawn for want of a Lean proof and have since been given one, at a new key. Nothing is un-revoked: the original's own evidence is still a TypeScript test, and rewriting its status would erase the fact that it did not hold on what it had. The record says both — withdrawn on its own evidence, standing through the theorem that carries it.
|
|
234
276
|
|
|
235
|
-
**Why the withdrawn were withdrawn.** 1,386 no Lean proof · 457 tested the removed lexical gate ·
|
|
277
|
+
**Why the withdrawn were withdrawn.** 1,386 no Lean proof · 457 tested the removed lexical gate · 158 other · 108 its Lean source was deleted or renamed · 10 circular by construction. Nothing is deleted: the ledger is append-only, so an entry that stopped holding is marked in place with its reason and keeps its receipt.
|
|
236
278
|
|
|
237
279
|
**What verification costs.** Proving the set touches all 16,384 leaves; verifying membership afterwards touches 14 — one sibling per level. That is **1,170× less work**, exactly, and the factor grows with the set because N/log N grows. Wall-clock varies with the machine and is left in the build output rather than pinned here. It is not sub-nanosecond and nothing here is: the advantage is a smaller exponent, not a faster clock. The counting is proved in `speed.lean`.
|
|
238
280
|
|
|
@@ -244,13 +286,13 @@ Each Clay problem has **one** theorem here, in `src/proof/index.lean`, and the t
|
|
|
244
286
|
|
|
245
287
|
| problem | the theorem, and what it decides | cases | proof |
|
|
246
288
|
|---|---|---|---|
|
|
247
|
-
| Riemann Hypothesis | `the_tens_complement_is_an_involution_with_one_fixed_point`<br/>`(List.range 10).all (fun d => refl (refl d) == d) ∧ ((List.range 10).filter (fun d => refl d == ` | 100 | [
|
|
248
|
-
| P versus NP | `each_unit_has_exactly_one_inverse_and_each_non_unit_none`<br/>`(List.range 9).all (fun d => ((List.range 9).filter (fun e => (d * e) % 9 == 1)).length == (if i` | 81 | [
|
|
249
|
-
| Navier–Stokes Existence & Smoothness | `the_doubling_orbit_stays_in_the_ring_for_forty_eight_steps`<br/>`((List.range 48).map orbit).all (fun v => v < 9) ∧ (List.range 48).all (fun k => span.contains (` | 2,304 | [
|
|
250
|
-
| Yang–Mills Existence & Mass Gap | `the_doubling_orbit_first_returns_to_one_at_six`<br/>`(List.range 6).all (fun k => k == 0 \|\| orbit k != 1) ∧ orbit 6 == 1` | 6 | [
|
|
251
|
-
| Hodge Conjecture | `the_span_is_exactly_the_units_of_the_ring`<br/>`(List.range 9).all (fun d => span.contains d == isUnit d) ∧ (List.range 9).all (fun d => isUnit ` | 81 | [
|
|
252
|
-
| Birch and Swinnerton-Dyer Conjecture | `the_span_and_the_units_both_sum_to_zero_mod_nine`<br/>`(span.foldr (· + ·) 0) % 9 == 0 ∧ ((List.range 9).filter isUnit).foldr (· + ·) 0 % 9 == 0` | 9 | [
|
|
253
|
-
| Poincaré Conjecture (resolved) | `the_orbit_is_one_closed_loop_of_six_distinct_points`<br/>`orbit 6 == orbit 0 ∧ (List.range 6).all (fun i => (List.range 6).all (fun j => (orbit i == orbit` | 36 | [
|
|
289
|
+
| Riemann Hypothesis | `the_tens_complement_is_an_involution_with_one_fixed_point`<br/>`(List.range 10).all (fun d => refl (refl d) == d) ∧ ((List.range 10).filter (fun d => refl d == ` | 100 | [lean_windows_the_tens_comple…](/theorem/lean_windows_the_tens_complement_is_an_involution_with_one_fixed_point) |
|
|
290
|
+
| P versus NP | `each_unit_has_exactly_one_inverse_and_each_non_unit_none`<br/>`(List.range 9).all (fun d => ((List.range 9).filter (fun e => (d * e) % 9 == 1)).length == (if i` | 81 | [lean_windows_each_unit_has_e…](/theorem/lean_windows_each_unit_has_exactly_one_inverse_and_each_non_unit_none) |
|
|
291
|
+
| Navier–Stokes Existence & Smoothness | `the_doubling_orbit_stays_in_the_ring_for_forty_eight_steps`<br/>`((List.range 48).map orbit).all (fun v => v < 9) ∧ (List.range 48).all (fun k => span.contains (` | 2,304 | [lean_windows_the_doubling_or…](/theorem/lean_windows_the_doubling_orbit_stays_in_the_ring_for_forty_eight_steps) |
|
|
292
|
+
| Yang–Mills Existence & Mass Gap | `the_doubling_orbit_first_returns_to_one_at_six`<br/>`(List.range 6).all (fun k => k == 0 \|\| orbit k != 1) ∧ orbit 6 == 1` | 6 | [lean_windows_the_doubling_or…](/theorem/lean_windows_the_doubling_orbit_first_returns_to_one_at_six) |
|
|
293
|
+
| Hodge Conjecture | `the_span_is_exactly_the_units_of_the_ring`<br/>`(List.range 9).all (fun d => span.contains d == isUnit d) ∧ (List.range 9).all (fun d => isUnit ` | 81 | [lean_windows_the_span_is_exa…](/theorem/lean_windows_the_span_is_exactly_the_units_of_the_ring) |
|
|
294
|
+
| Birch and Swinnerton-Dyer Conjecture | `the_span_and_the_units_both_sum_to_zero_mod_nine`<br/>`(span.foldr (· + ·) 0) % 9 == 0 ∧ ((List.range 9).filter isUnit).foldr (· + ·) 0 % 9 == 0` | 9 | [lean_windows_the_span_and_th…](/theorem/lean_windows_the_span_and_the_units_both_sum_to_zero_mod_nine) |
|
|
295
|
+
| Poincaré Conjecture (resolved) | `the_orbit_is_one_closed_loop_of_six_distinct_points`<br/>`orbit 6 == orbit 0 ∧ (List.range 6).all (fun i => (List.range 6).all (fun j => (orbit i == orbit` | 36 | [lean_windows_the_orbit_is_on…](/theorem/lean_windows_the_orbit_is_one_closed_loop_of_six_distinct_points) |
|
|
254
296
|
|
|
255
297
|
## The author's claim
|
|
256
298
|
|
|
@@ -281,4 +323,4 @@ whether the work restates someone earlier. [The paper](/paper) typesets every st
|
|
|
281
323
|
|
|
282
324
|
---
|
|
283
325
|
|
|
284
|
-
*
|
|
326
|
+
*20 claims, all verified · 1185 Lean theorems · 3304 ledger entries · trial root `eebffda3-8d9a-8842-a2c7-7cf5c48e6daa` · integrity, not truth*
|
package/dist/src/0/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export declare function toUuid(seed: string): string;
|
|
2
2
|
export declare function strictUuidna(value: unknown): string;
|
|
3
3
|
export declare function merge(a: string, b: string): string;
|
|
4
|
+
export declare const merkleLeaf: (x: string) => string;
|
|
5
|
+
export declare const merkleNode: (a: string, b: string) => string;
|
|
4
6
|
export declare function gcdBigInt(a: bigint, b: bigint): bigint;
|
|
5
7
|
export declare function foldPair(a: string, b: string): {
|
|
6
8
|
forward: string;
|
|
@@ -31,3 +33,4 @@ export declare function units(): number[];
|
|
|
31
33
|
export declare function triad(): number[];
|
|
32
34
|
export declare function vortexOrbit(): number[];
|
|
33
35
|
export declare const A432_STEP: number;
|
|
36
|
+
export declare const hue: (d: number) => number;
|
package/dist/src/0/index.js
CHANGED
|
@@ -48,9 +48,12 @@ export function toUuid(seed) {
|
|
|
48
48
|
export function strictUuidna(value) {
|
|
49
49
|
return toUuid('uuidna:' + String(value).normalize('NFC').trim());
|
|
50
50
|
}
|
|
51
|
+
const part = (s) => `${s.length}:${s}`;
|
|
51
52
|
export function merge(a, b) {
|
|
52
|
-
return toUuid(
|
|
53
|
+
return toUuid(`pair:${part(a)}${part(b)}`);
|
|
53
54
|
}
|
|
55
|
+
export const merkleLeaf = (x) => toUuid(`merkle:leaf:${part(x)}`);
|
|
56
|
+
export const merkleNode = (a, b) => toUuid(`merkle:node:${part(a)}${part(b)}`);
|
|
54
57
|
export function gcdBigInt(a, b) {
|
|
55
58
|
return b === 0n ? a : gcdBigInt(b, a % b);
|
|
56
59
|
}
|
|
@@ -60,15 +63,15 @@ export function foldPair(a, b) {
|
|
|
60
63
|
return { forward, reverse, bidirectional: forward !== reverse, merged: merge(forward, reverse) };
|
|
61
64
|
}
|
|
62
65
|
export function merkleFold(leaves) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
if (leaves.length === 0)
|
|
67
|
+
return toUuid('merkle:empty');
|
|
68
|
+
let layer = [...leaves].sort().map(merkleLeaf);
|
|
66
69
|
while (layer.length > 1) {
|
|
67
70
|
const next = [];
|
|
68
71
|
for (let i = 0; i < layer.length; i += 2) {
|
|
69
72
|
const a = layer[i];
|
|
70
73
|
const b = layer[i + 1];
|
|
71
|
-
next.push(b === undefined ? a :
|
|
74
|
+
next.push(b === undefined ? a : merkleNode(a, b));
|
|
72
75
|
}
|
|
73
76
|
layer = next;
|
|
74
77
|
}
|
|
@@ -135,3 +138,4 @@ export function vortexOrbit() {
|
|
|
135
138
|
return orbit;
|
|
136
139
|
}
|
|
137
140
|
export const A432_STEP = 360 / BASE;
|
|
141
|
+
export const hue = (d) => (d * A432_STEP) % 360;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ceccec/millennium-solutions",
|
|
3
|
-
"version": "9.7.
|
|
3
|
+
"version": "9.7.6",
|
|
4
4
|
"description": "Verifiable, recomputable ℤ/9 vortex framework in ONE package — content-addressing, audit ledger, exact arithmetic, and the honesty toolkit. Facts only.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Tsvetan Rouschev",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"scripts": {
|
|
31
31
|
"docs:dev": "vitepress dev",
|
|
32
32
|
"predocs:build": "node scripts/analytics.ts && node scripts/pages.ts && node scripts/dashboard.ts && node scripts/boundaries.ts && node scripts/rights.ts && node scripts/priorart.ts && node scripts/challenges.ts && node scripts/heart.ts && node scripts/accounting.ts && node scripts/speedup.ts && node scripts/greeting.ts && node scripts/solutions.ts && node scripts/contradictions.ts && node scripts/latex-gate.ts && node scripts/paper.ts",
|
|
33
|
-
"docs:build": "vitepress build",
|
|
33
|
+
"docs:build": "vitepress build && node scripts/e2e.ts",
|
|
34
34
|
"docs:preview": "vitepress preview",
|
|
35
35
|
"crypto-kat": "node scripts/crypto-kat.ts",
|
|
36
36
|
"prose-trial": "node scripts/prose-trial.ts",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"latex-gate": "node scripts/latex-gate.ts",
|
|
100
100
|
"contradictions": "node scripts/contradictions.ts",
|
|
101
101
|
"prior-art": "node scripts/priorart.ts",
|
|
102
|
-
"gates": "node scripts/prose-trial.ts && node scripts/crypto-kat.ts && node scripts/attribution-gate.ts && node scripts/hardcode-gate.ts && node scripts/import-gate.ts && node scripts/one-author-gate.ts && node scripts/orphan-gate.ts && node scripts/security-gate.ts && node scripts/translate-gate.ts && node scripts/lean-agree.ts && node scripts/trial-all.ts && node scripts/readme.ts && node scripts/gaps.ts && node scripts/constants-gate.ts && node scripts/fixture-addresses.ts && node scripts/forensic-audit.ts && node scripts/notice.ts && node scripts/recover.ts && node scripts/independent.ts && node scripts/covered-gate.ts && node scripts/vacuity.ts && node scripts/citations-gate.ts && node scripts/cite-audit.ts && node scripts/lanes-check.ts",
|
|
102
|
+
"gates": "node scripts/prose-trial.ts && node scripts/crypto-kat.ts && node scripts/attribution-gate.ts && node scripts/hardcode-gate.ts && node scripts/import-gate.ts && node scripts/one-author-gate.ts && node scripts/orphan-gate.ts && node scripts/security-gate.ts && node scripts/translate-gate.ts && node scripts/lean-agree.ts && node scripts/trial-all.ts && node scripts/readme.ts && node scripts/gaps.ts && node scripts/constants-gate.ts && node scripts/fixture-addresses.ts && node scripts/forensic-audit.ts && node scripts/notice.ts && node scripts/recover.ts && node scripts/independent.ts && node scripts/covered-gate.ts && node scripts/vacuity.ts && node scripts/citations-gate.ts && node scripts/cite-audit.ts && node scripts/lanes-check.ts && node scripts/runnable-gate.ts && node scripts/formulas.ts && node scripts/coils.ts",
|
|
103
103
|
"gates:fire": "node scripts/gates-fire.ts",
|
|
104
104
|
"ci:local": "node scripts/ci-local.ts",
|
|
105
105
|
"metrics": "node scripts/metrics.ts",
|
|
@@ -127,28 +127,28 @@
|
|
|
127
127
|
"retire:duplicate-keys": "node scripts/retire-duplicate-keys.ts",
|
|
128
128
|
"bench:hexbit": "node scripts/bench-hexbit.ts",
|
|
129
129
|
"stale-figures": "node scripts/stale-figures.ts",
|
|
130
|
-
"cern": "
|
|
131
|
-
"cern:oai": "
|
|
132
|
-
"xrepo": "
|
|
133
|
-
"fixture:addresses": "
|
|
134
|
-
"constants": "
|
|
135
|
-
"leads": "
|
|
136
|
-
"control-probe": "
|
|
137
|
-
"deployed": "
|
|
138
|
-
"forensic": "
|
|
139
|
-
"notice": "
|
|
140
|
-
"candidates": "
|
|
141
|
-
"probe": "
|
|
142
|
-
"vacuity": "
|
|
143
|
-
"vacuity:deep": "
|
|
144
|
-
"blind": "
|
|
145
|
-
"citations-gate": "
|
|
146
|
-
"cite-audit": "
|
|
147
|
-
"lanes-check": "
|
|
148
|
-
"covered-gate": "
|
|
130
|
+
"cern": "node scripts/cern.ts",
|
|
131
|
+
"cern:oai": "node scripts/cern-oai.ts",
|
|
132
|
+
"xrepo": "node scripts/xrepo.ts",
|
|
133
|
+
"fixture:addresses": "node scripts/fixture-addresses.ts",
|
|
134
|
+
"constants": "node scripts/constants-gate.ts",
|
|
135
|
+
"leads": "node scripts/leads.ts",
|
|
136
|
+
"control-probe": "node scripts/control-probe.ts",
|
|
137
|
+
"deployed": "node scripts/deployed.ts",
|
|
138
|
+
"forensic": "node scripts/forensic-audit.ts",
|
|
139
|
+
"notice": "node scripts/notice.ts",
|
|
140
|
+
"candidates": "node scripts/candidates.ts",
|
|
141
|
+
"probe": "node scripts/probe.ts",
|
|
142
|
+
"vacuity": "node scripts/vacuity.ts",
|
|
143
|
+
"vacuity:deep": "node scripts/vacuity.ts --sensitivity",
|
|
144
|
+
"blind": "node scripts/blind.ts",
|
|
145
|
+
"citations-gate": "node scripts/citations-gate.ts",
|
|
146
|
+
"cite-audit": "node scripts/cite-audit.ts",
|
|
147
|
+
"lanes-check": "node scripts/lanes-check.ts",
|
|
148
|
+
"covered-gate": "node scripts/covered-gate.ts",
|
|
149
149
|
"independent": "node scripts/independent.ts",
|
|
150
|
-
"recover": "
|
|
151
|
-
"recover:gen": "
|
|
150
|
+
"recover": "node scripts/recover.ts",
|
|
151
|
+
"recover:gen": "node scripts/recover-gen.ts",
|
|
152
152
|
"uses": "node scripts/uses.ts",
|
|
153
153
|
"build:dist": "node scripts/build-dist.ts",
|
|
154
154
|
"prepack": "node scripts/build-dist.ts",
|
|
@@ -164,7 +164,14 @@
|
|
|
164
164
|
"mcp-http": "node scripts/mcp-http.ts",
|
|
165
165
|
"handle-gate": "node scripts/handle-gate.ts",
|
|
166
166
|
"affected": "node scripts/affected.ts",
|
|
167
|
-
"verify-clone": "node scripts/verify-clone.ts"
|
|
167
|
+
"verify-clone": "node scripts/verify-clone.ts",
|
|
168
|
+
"perturb": "node scripts/perturb-gate.ts",
|
|
169
|
+
"coils": "node scripts/coils.ts",
|
|
170
|
+
"coils:emit": "node scripts/coils.ts --emit",
|
|
171
|
+
"formulas": "node scripts/formulas.ts",
|
|
172
|
+
"discoveries": "node scripts/discoveries.ts",
|
|
173
|
+
"e2e": "node scripts/e2e.ts",
|
|
174
|
+
"release:live": "node scripts/release-live.ts"
|
|
168
175
|
},
|
|
169
176
|
"devDependencies": {
|
|
170
177
|
"@types/node": "^26.2.0",
|