instar 1.3.370 → 1.3.372

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.
@@ -0,0 +1,54 @@
1
+ # Side-Effects Review — Pool-Wide Parallel-Work Awareness build (P4.1)
2
+
3
+ **Version / slug:** `pool-activity-view-p4`
4
+ **Date:** `2026-06-06`
5
+ **Author:** `echo`
6
+ **Second-pass reviewer:** `not required (implements the 2-round-converged P4 spec; a read-only fold over already-replicated journal streams; zero new stores/verbs/loops)`
7
+
8
+ ## Summary of the change
9
+
10
+ POOL-WIDE-PARALLEL-WORK-SPEC (converged 2026-06-06; spec + report + eli16
11
+ ride this PR): `GET /parallel-work/activities?scope=pool` answers "what is
12
+ every machine of mine working on, and is anything overlapping?" by
13
+ composing the LOCAL parallel-work index with the journal replicas P1
14
+ already ships.
15
+
16
+ 1. `src/core/PoolActivityView.ts` — NET-NEW fold on the reader's raw
17
+ query() path (round-1: readOwnAutonomousRuns is own-only; no lifecycle
18
+ helper exists). Discriminated union rows (`kind: 'local'|'remote'`)
19
+ with NAMED null absences; remote `running` derived PER INSTANCE
20
+ (sessionId/runId) then any-active aggregated — a later terminal for
21
+ session B never masks still-running session A; `lowConfidence` rides
22
+ the bound-hit flag; `possibleOverlap` pairs EVERY machine combination
23
+ (local↔remote and remote↔remote) and is annotated `recentMove` from
24
+ the answer-complete placement stream within the post-transfer closeout
25
+ window — the settling transient is distinguished, never a wolf-cry.
26
+ 2. The route: `?scope=pool` composes local + remote under the
27
+ `pool: { selfMachineId, replicasRead, boundHit }` honesty header —
28
+ LOCAL replica files, no peer fan-out (an offline peer's last-replicated
29
+ streams still answer). Default scope byte-identical; a dark replica
30
+ layer degrades pool scope to local rows (200); the pre-existing
31
+ no-index 503 unchanged.
32
+
33
+ ## 1-2. Over/Under-block
34
+
35
+ Over: none — read-only, never gates. Under: remote intent TEXT
36
+ (focus/tags) is machine-local by design (named absence; the P4.2 deferral
37
+ is registered in the project plan); the gapped-stream qualifier gains
38
+ teeth with the P1.3 reader states (named dependency — lowConfidence is
39
+ today's honest signal).
40
+
41
+ ## 3. Fit / 4. Blast radius
42
+
43
+ A pure module + a query-param branch on the existing route. Provenance
44
+ asymmetry (live local truth vs replica-derived remote) is structural in
45
+ the row shape. Worst case = a mislabeled advisory row; nothing actuates
46
+ off this view (Signal vs Authority).
47
+
48
+ ## Evidence
49
+
50
+ - tests/unit/PoolActivityView.test.ts — 5 passing: the union shape +
51
+ named absences + honesty header; per-instance aggregation
52
+ (B-terminal-never-masks-A); both kinds feeding one topic +
53
+ artifactsKnown; overlap pairs incl. remote↔remote + the recentMove
54
+ annotation; local-only degradation. Typecheck clean.
@@ -0,0 +1,57 @@
1
+ # Side-Effects Review — reflex journal-placement fallback (#930)
2
+
3
+ **Version / slug:** `reflex-placement-fallback`
4
+ **Date:** `2026-06-06`
5
+ **Author:** `echo`
6
+ **Second-pass reviewer:** `not required (third live-proof finding; ~20-line fallback with a wiring-shape regression test; admits only a read-only/jailed/verified pull)`
7
+
8
+ ## Summary of the change
9
+
10
+ #927's quiet-topic pin fallback (#926) is router-local-blind: the pin
11
+ written by a transfer lives on the LEASE HOLDER, so the pinned-TO machine
12
+ still answered not-owner (live, v1.3.369). Second fallback in wsOwnerOf:
13
+ the newest topic-placement JOURNAL entry (own + replica) — `owner ===
14
+ self` ⇒ self-owned at that entry's epoch. The placement entry is emitted
15
+ at the router's CAS chokepoint (the strongest placement evidence
16
+ reachable from the target machine).
17
+
18
+ ## Signal-vs-Authority justification (the load-bearing call)
19
+
20
+ The journal-actuation ban guards kill/spawn/move decisions. What this
21
+ fallback admits is a working-set PULL: read-only on the source,
22
+ hash-verified, jailed, never-clobber on the destination, idempotent, and
23
+ still guarded by the per-write stillCurrent recheck (any REAL claim
24
+ supersedes the in-flight pull). Nomination has run on replica evidence
25
+ since P2 §3.3 by design — this extends the same trust class to the
26
+ ownership precondition for the same operation, nothing else. The
27
+ coordinator module is deliberately NOT in the actuation-ban set (it
28
+ already imports the reader for nomination).
29
+
30
+ ## 1-2. Over/Under-block
31
+
32
+ Over: none new — the fallback only ever yields SELF. Under: a topic
33
+ whose placement was never journaled (pre-P1 history) still answers
34
+ not-owner honestly.
35
+
36
+ ## 3. Fit / 4. Blast radius
37
+
38
+ ~20 lines in the existing wsOwnerOf seam (the spec-named home), spec
39
+ §3.3 delta + eli16 amendment ride along. Active only where replication
40
+ is explicitly enabled. Worst case = an unnecessary pull that verifies
41
+ and lands nothing new.
42
+
43
+ ## Evidence
44
+
45
+ - tests/unit/working-set-ownerof-wiring.test.ts — wiring-shape assertion
46
+ for BOTH fallback steps + the honest default.
47
+ - Typecheck clean. The live proof completes on the echo pair after this
48
+ ships (the staged 77901 artifact + recorded hashes).
49
+
50
+ ## Addendum — the dropped commitments advert (same branch)
51
+
52
+ While verifying P1.5a live, found that fetchPeerCapacity's narrowing
53
+ return discarded the peer's commitmentsAdvert — driveCommitmentsSync
54
+ never fired; zero commitment replicas ever landed in either direction.
55
+ Pass-through (one spread line) + a source-shape regression test. The
56
+ integration suite drove the engine directly and missed this seam — the
57
+ wiring-integrity gap class.