provident-storeroom 1.2.0 → 1.3.0
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.guide.md +122 -3
- package/README.md +24 -8
- package/RELEASE-NOTES.md +584 -0
- package/index.d.ts +38 -2
- package/index.mjs +11 -3
- package/package.json +7 -6
- package/src/entry/constraints.mjs +402 -69
- package/src/entry/delivery.mjs +8 -2
- package/src/entry/kernel-attempt.mjs +136 -19
- package/src/entry/kernel-commit.mjs +26 -2
- package/src/entry/kernel-foundations.mjs +100 -8
- package/src/entry/kernel-registration.mjs +63 -22
- package/src/entry/kernel-terminal.mjs +18 -5
- package/src/entry/state.mjs +47 -4
package/index.d.ts
CHANGED
|
@@ -346,6 +346,33 @@ export type StoreStatus =
|
|
|
346
346
|
*
|
|
347
347
|
* `kind` is the kernel's closed four-member `LogKind` set, and `state` is the kernel's own `KC` token on the
|
|
348
348
|
* one `outcome` entry and `null` on the three non-`outcome` kinds.
|
|
349
|
+
*
|
|
350
|
+
* **⟶ AND THE LIST IT STANDS IN IS THE COMMIT'S, NOT THE ATTEMPT'S — 2026-10-28 (`D-53`).** **THE ARCHITECT,
|
|
351
|
+
* VERBATIM: *"If it's part of the same commit, then it uses the same message log. If it opens a new commit, it
|
|
352
|
+
* uses the new commit's message log. Constraints/Repairs should always use the same commit. Listeners should open
|
|
353
|
+
* a new commit, because the triggering commit already passed constraints"*** (`strata/decisions.md` · `D-53`).
|
|
354
|
+
* **SO ONE COMMIT'S WORK IS ONE LIST**: a write, the constraint passes that judged it, a repair's own write and
|
|
355
|
+
* the re-run after it all append to the same array, `seq` is *"the ordinal of the list it stands in"* and it runs
|
|
356
|
+
* `1..n` CONTINUOUSLY across those attempts, and **the `log` a refusal crosses with IS that array** — which is what
|
|
357
|
+
* `DEF-AK`'s *"one inner refusal, two hosts"* measures and what `D-52`'s merge question dissolved into. **A
|
|
358
|
+
* LISTENER'S WRITE IS THE ONE THAT STARTS A FRESH LIST**, because the commit that triggered it has already passed
|
|
359
|
+
* its constraints and what the listener does is a new question.
|
|
360
|
+
*
|
|
361
|
+
* **⟶ AND WHAT `seq` IS TRUE OF IS SAID PLAINLY HERE, 2026-10-28 — `DEF-AI`, MEASURED.** **`seq` is the position
|
|
362
|
+
* of the entry in the commit's own message log; it is not the store's journal ordinal, and the two differ by
|
|
363
|
+
* design.** The kernel mints it as `log.length + 1` on the one list its commit appends to
|
|
364
|
+
* (`bindings/js/src/entry/kernel-foundations.mjs`), so a refusal's entry can carry `seq` `1` while the store's
|
|
365
|
+
* own journal counter reads `41`. **READ THE TWO AS TWO ORDINALS WITH TWO HOMES**: `JournalOp.seq` is the
|
|
366
|
+
* STORE's append ordinal and orders the store's record; this `seq` orders the COMMIT's message log and nothing
|
|
367
|
+
* else. **A consumer that compares them compares two different subjects, and no reading of this declaration
|
|
368
|
+
* says the first equals the second.**
|
|
369
|
+
*
|
|
370
|
+
* **AND `state`'S DOMAIN IS `KC-1`…`KC-9`, NOT `KC-1`…`KC-8`.** **`D-53`'s THIRD RULING — *"Open the token
|
|
371
|
+
* set"* — gives the SAVE ARM a token of its own (`KC-9`)**, so that a `file`-tier save that fails at the terminal
|
|
372
|
+
* arm and a constraint that refuses a pass cross with DIFFERENT `status` values (`FileCommitFailed` and
|
|
373
|
+
* `ConstraintPassRefused`) **each derivable from the log's terminal state** — the contradiction `D-52` measured
|
|
374
|
+
* when `KC-8` crossed as both. **NO MEMBER OF THIS DECLARATION'S `StoreStatus` MOVES**: `KC-9` rides `state` and
|
|
375
|
+
* never `status`, exactly as every `KC` token does, so the closed status set keeps its `20` members and its ranks.
|
|
349
376
|
*/
|
|
350
377
|
export interface LogEntry {
|
|
351
378
|
readonly seq: number;
|
|
@@ -372,6 +399,14 @@ export interface LogEntry {
|
|
|
372
399
|
* failure's cause has no attempt at all** (item 4: the empty array, never an absent member and never a
|
|
373
400
|
* placeholder entry) — **while every failure whose attempt exists carries that attempt's own entries, taken
|
|
374
401
|
* BEFORE the attempt is disposed of** (item 10 (iii)).
|
|
402
|
+
*
|
|
403
|
+
* **⟶ AND FROM 2026-10-28 THOSE ENTRIES ARE THE COMMIT'S (`D-53`).** *"That attempt's own entries"* is read
|
|
404
|
+
* through **the one list the whole commit appends to**: an attempt holds a REFERENCE to its commit's log, so a
|
|
405
|
+
* failure crossing from ANY arm of that commit — a pass's refusal, a repair's, a `file`-tier save's at the
|
|
406
|
+
* terminal arm — carries the same array, and **a save failure's `log` is no longer `[]`**: `D-52`'s measured
|
|
407
|
+
* sentence (*"a save failure crosses as `FileCommitFailed` with `log: []`, and its verdict stands only in the
|
|
408
|
+
* attempt's log, which the crossed value does not carry"*) is the defect `D-53` closes, and the save arm's own
|
|
409
|
+
* `outcome` entry — carrying `KC-9` — is the entry that ends that list.
|
|
375
410
|
*/
|
|
376
411
|
export interface StoreRefusal {
|
|
377
412
|
readonly status: StoreStatus;
|
|
@@ -918,8 +953,9 @@ export interface StoreInstance {
|
|
|
918
953
|
* **AND IT MOVES NO OTHER FIGURE**: the module namespace keeps its ONE name `storeCreate` (`§2.9` item 1's
|
|
919
954
|
* `A127` clause, `11 → 1` ✓), the kernel's extent stays FIVE with no `K-6` proposed (`§2.4` item 9 (f),
|
|
920
955
|
* item 8 — the pairs are read from the entry's OWN registry, which is keyed exactly as the kernel's is), the
|
|
921
|
-
* store's closed `17`-member set is not reached, the kernel's `KC` set stands closed at `8
|
|
922
|
-
*
|
|
956
|
+
* store's closed `17`-member set is not reached, the kernel's `KC` set stands closed at `8` (**⟶ MOVED `8 → 9`
|
|
957
|
+
* on 2026-10-28 by `D-53`'s third ruling — *"Open the token set"* — the appended member being the SAVE ARM's
|
|
958
|
+
* `KC-9`; see `LogEntry`'s clause above), and the register keeps its `8` rows.
|
|
923
959
|
*
|
|
924
960
|
* **It is NOT a named export of this entry** (`package.md §1.3` item 3): it is reached through
|
|
925
961
|
* `storeCreate`'s own product alone.
|
package/index.mjs
CHANGED
|
@@ -410,7 +410,13 @@ export function storeCreate(cfg) {
|
|
|
410
410
|
// (`docs/specs/storeroom-js/surface.md §2.4` item 9's adoption-machinery clause; the three architect's rulings of that date), so the store's
|
|
411
411
|
// own refusal crosses back UNCHANGED AND UNCONVERTED and this frame adds nothing to it.
|
|
412
412
|
// **AND THE ONE DECLARED EXCEPTION IS TAKEN HERE** — the `writeCall` arm, moved not dropped.
|
|
413
|
-
|
|
413
|
+
// **⟶ AND THE COMMIT'S OWN LOG TRAVELS WITH IT — `D-53`, 2026-10-28.** The record at the method's FOURTH
|
|
414
|
+
// position is the commit's record when the kernel's own store leg made this call, and the kernel defines
|
|
415
|
+
// the commit's list on it under a symbol key; **so a store verb refusing this write tells the caller what
|
|
416
|
+
// the commit's log already carries** instead of the declared `[]`. A caller's own five-position write (or
|
|
417
|
+
// any record this package did not build) carries no such key and answers `undefined`, which is `fail`'s
|
|
418
|
+
// declared `[]` arm — unchanged on every one of those paths.
|
|
419
|
+
writeRefusal(refusal, fault, arguments.length >= 4 ? commit : undefined);
|
|
414
420
|
throw refusal;
|
|
415
421
|
}
|
|
416
422
|
const watched = [];
|
|
@@ -494,8 +500,10 @@ export function storeCreate(cfg) {
|
|
|
494
500
|
/// but is not declarable as a member of `DeleteRecord`, and `D-49` asks for the member to be declared.
|
|
495
501
|
///
|
|
496
502
|
/// **THE VALUE IS `[]` WHERE NOTHING WAS DISCARDED AND ONE `{ opId, addresses }` ENTRY WHERE A REQUEST WAS**
|
|
497
|
-
/// — the id the reversal named (the store's own echo) and the addresses the
|
|
498
|
-
///
|
|
503
|
+
/// — the id the reversal named (the store's own echo) and **the addresses the refused act MOVED**, measured
|
|
504
|
+
/// at the reversal's own instant (`constraints.mjs`'s `movedStanding`), not the whole watched registry:
|
|
505
|
+
/// **a witness names what moved, because what did not move was not the act's** (`DEF-AM`, 2026-10-28).
|
|
506
|
+
/// **NO PASS RUNS, NO BODY IS INVOKED, NO JUDGEMENT IS TAKEN AND THE BEHAVIOUR OF THE WINDOW IS
|
|
499
507
|
/// UNMOVED**: the request is consumed (reported) and its effect still stands.
|
|
500
508
|
delete(address, tier) {
|
|
501
509
|
// **⟶ `§4.1`: `delete` OPENS ONE.**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "provident-storeroom",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "U-STOREROOM-PUBLISH: the published Node ESM binding for the native Rust store of Provident-Storeroom — the entry resolves the scoped per-target platform package first, the checkout's own module-relative addon second, and answers the store's single declared absent-addon form when neither loads",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
@@ -35,16 +35,17 @@
|
|
|
35
35
|
"index.mjs",
|
|
36
36
|
"README.md",
|
|
37
37
|
"README.guide.md",
|
|
38
|
+
"RELEASE-NOTES.md",
|
|
38
39
|
"index.d.ts",
|
|
39
40
|
"src/entry/",
|
|
40
41
|
"src/constraint-kernel.mjs"
|
|
41
42
|
],
|
|
42
43
|
"optionalDependencies": {
|
|
43
|
-
"@auspicion/provident-storeroom-js-linux-x64-gnu": "1.
|
|
44
|
-
"@auspicion/provident-storeroom-js-linux-arm64-gnu": "1.
|
|
45
|
-
"@auspicion/provident-storeroom-js-darwin-x64": "1.
|
|
46
|
-
"@auspicion/provident-storeroom-js-darwin-arm64": "1.
|
|
47
|
-
"@auspicion/provident-storeroom-js-win32-x64-msvc": "1.
|
|
44
|
+
"@auspicion/provident-storeroom-js-linux-x64-gnu": "1.3.0",
|
|
45
|
+
"@auspicion/provident-storeroom-js-linux-arm64-gnu": "1.3.0",
|
|
46
|
+
"@auspicion/provident-storeroom-js-darwin-x64": "1.3.0",
|
|
47
|
+
"@auspicion/provident-storeroom-js-darwin-arm64": "1.3.0",
|
|
48
|
+
"@auspicion/provident-storeroom-js-win32-x64-msvc": "1.3.0"
|
|
48
49
|
},
|
|
49
50
|
"publishConfig": {
|
|
50
51
|
"access": "public"
|