instar 1.3.702 → 1.3.703
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/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-06-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-06-30T10:53:21.745Z",
|
|
5
|
+
"instarVersion": "1.3.703",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Adds the missing Tier-3 "feature is alive" E2E test for the WS1.3 OwnershipReconciler (the
|
|
9
|
+
cross-machine stuck-move fix): `tests/e2e/pool-reconciler-alive-lifecycle.test.ts`. It
|
|
10
|
+
starts a real `AgentServer` with the reconciler wired and asserts over HTTP that
|
|
11
|
+
`GET /pool/reconciler` is alive (200, not 503), reports both machines, and that one
|
|
12
|
+
reconciler tick CONVERGES a pinned topic (owner != pin → transferring toward the pin
|
|
13
|
+
target), with the live status route reflecting the transfer. Test-only; no runtime change.
|
|
14
|
+
This completes the unit + integration + e2e three-tier coverage the Testing Integrity
|
|
15
|
+
Standard requires — the reconciler previously had unit + integration but no tests/e2e/
|
|
16
|
+
feature-alive test (the tier that catches "the dependency wasn't wired" defects, the class
|
|
17
|
+
the boot-ordering bugs belonged to).
|
|
18
|
+
|
|
19
|
+
## What to Tell Your User
|
|
20
|
+
|
|
21
|
+
None — internal change (no user-facing surface).
|
|
22
|
+
|
|
23
|
+
## Summary of New Capabilities
|
|
24
|
+
|
|
25
|
+
None — internal change (no user-facing surface).
|
|
26
|
+
|
|
27
|
+
## Evidence
|
|
28
|
+
|
|
29
|
+
- `tests/e2e/pool-reconciler-alive-lifecycle.test.ts` — 4 tests, all pass locally
|
|
30
|
+
(`vitest run --config vitest.e2e.config.ts`): route alive (200), decision explanation
|
|
31
|
+
(transfer), the tick converges (status `transferring`, transferTo = peer, lastReport
|
|
32
|
+
transfers = 1), and auth (401/403 without a Bearer token).
|
|
33
|
+
- No source files changed (test-only); `tsc --noEmit` clean.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Side-Effects Review — Tier-3 feature-alive E2E for the ownership reconciler
|
|
2
|
+
|
|
3
|
+
**Slug:** reconciler-alive-e2e
|
|
4
|
+
**Change:** Add `tests/e2e/pool-reconciler-alive-lifecycle.test.ts` (4 tests). Test-only;
|
|
5
|
+
no runtime/source changes. Completes the unit + integration + **e2e** three-tier coverage
|
|
6
|
+
required by the Testing Integrity Standard for the reconciler stuck-move fix.
|
|
7
|
+
|
|
8
|
+
## 1. Over-block — what legitimate inputs does this reject that it shouldn't?
|
|
9
|
+
N/A — it's a test, not a gate. It asserts the real behavior (200 not 503, decision=transfer,
|
|
10
|
+
a tick converges). It cannot reject any production input.
|
|
11
|
+
|
|
12
|
+
## 2. Under-block — what failure modes does this still miss?
|
|
13
|
+
It does not re-run `server.ts`'s exact boot ordering (it wires AgentServer directly, like
|
|
14
|
+
the sibling pool-placement-transfer-alive E2E), so the specific boot-construction ordering
|
|
15
|
+
is NOT asserted here — that is covered by OwnershipReconciler.test.ts's late-bound-dep
|
|
16
|
+
regression tests. The comment states this honestly so the test isn't over-trusted. It also
|
|
17
|
+
exercises a single ownership registry (the route + the owner-side transfer), not the
|
|
18
|
+
cross-machine journal replication (covered by JournalSyncApplier + topic-pin-replication).
|
|
19
|
+
|
|
20
|
+
## 3. Level-of-abstraction fit — right layer?
|
|
21
|
+
Yes. Tier-3 "feature is alive" is exactly the missing tier for a feature with an API route.
|
|
22
|
+
It belongs in tests/e2e/ and mirrors the established pattern.
|
|
23
|
+
|
|
24
|
+
## 4. Signal vs authority compliance
|
|
25
|
+
N/A — a test holds no production authority. It only constrains CI.
|
|
26
|
+
|
|
27
|
+
## 5. Interactions — shadow / double-fire / race?
|
|
28
|
+
None. It binds an ephemeral port (47261) + a tmpdir, starts/stops its own AgentServer in
|
|
29
|
+
before/afterAll, and cleans up. No shared state with other tests.
|
|
30
|
+
|
|
31
|
+
## 6. External surfaces — visible to other agents/users/systems?
|
|
32
|
+
No. Test-only; no endpoint, config, or user surface. Marked internal-only in the release
|
|
33
|
+
notes (no runtime src change).
|
|
34
|
+
|
|
35
|
+
## 7. Multi-machine posture (Cross-Machine Coherence)
|
|
36
|
+
The test simulates the multi-machine reconciler decision (two machines in machines(), a
|
|
37
|
+
topic owned by SELF pinned to PEER) within one process — the standard way the e2e tier
|
|
38
|
+
proves a multi-machine feature is alive. It does not itself run on multiple machines (a
|
|
39
|
+
test never does); it asserts the convergence LOGIC the real multi-machine path relies on.
|
|
40
|
+
|
|
41
|
+
## 8. Rollback cost
|
|
42
|
+
Trivial — delete one test file. No migration, no state, no behavior change.
|