instar 1.3.702 → 1.3.704

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,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.3.702",
3
+ "version": "1.3.704",
4
4
  "description": "Coherence infrastructure for self-evolving AI agents — on the Claude Code or Codex subscription you already have.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-06-30T08:25:23.427Z",
5
- "instarVersion": "1.3.702",
4
+ "generatedAt": "2026-07-02T01:48:54.107Z",
5
+ "instarVersion": "1.3.704",
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,48 @@
1
+ # Upgrade Guide — vNEXT
2
+
3
+ <!-- assembled-by: assemble-next-md -->
4
+ <!-- bump: patch -->
5
+
6
+ ## What Changed
7
+
8
+ Ratifies six constitutional standards into `docs/STANDARDS-REGISTRY.md`, earned from the
9
+ 2026-07-01 silent-Telegram-message-loss postmortem (operator-ratified, topic 29836):
10
+
11
+ - **A Refusal Stays a Refusal — conservation of negative outcomes** (Building): a terminal
12
+ refusal/rejection/drop must stay distinguishable from success at every boundary; ack
13
+ vocabularies name what was actually promised; a refusal affecting the verified operator
14
+ is always loud.
15
+ - **Cross-Store Coherence Is an Invariant** (Building): any two stores answering the same
16
+ question carry a declared, machine-checked agreement invariant.
17
+ - **Test Identity Never Enters Production State** (Building): live tests run in throwaway
18
+ agent homes; fixture writes into real stores are refused structurally; durable-state
19
+ touches open teardown obligations at write time.
20
+ - **A Dark Feature Guards Nothing** (Shipping): a load-bearing path depending on a
21
+ dark/disabled feature forces a decision — graduate it or record accepted manual fallback;
22
+ postmortems must ask which dark features would have prevented the incident.
23
+ - **Runtime End-to-End Proof — the canary standard** (Building): every critical
24
+ user-visible outcome gets a synthetic full-path probe on a cadence; component liveness is
25
+ never accepted as proof of outcome.
26
+ - **Session Input Is a Principal** (Substrate): extends Know Your Principal to session
27
+ input channels — synthetic typers must be structurally distinguishable from the driver.
28
+
29
+ Also adds the postmortem the entries cite:
30
+ `docs/postmortems/2026-07-01-silent-telegram-message-loss.md`. Docs-only; no runtime change.
31
+
32
+ ## What to Tell Your User
33
+
34
+ None — internal change (no user-facing surface).
35
+
36
+ ## Summary of New Capabilities
37
+
38
+ None — internal change (no user-facing surface).
39
+
40
+ ## Evidence
41
+
42
+ - Registry amendment follows the documented amendment loop (agent proposes with the story,
43
+ operator ratifies — ratification 2026-07-01, topic 29836, decisions recorded per entry).
44
+ - Each entry names its enforcement arms honestly: live guards on the originating fleet
45
+ (coherence audit, delivery canary, fixture-write guard) plus tracked upstream filings
46
+ (fb-1e751537-655, fb-b15ac10b-85c, fb-dd043916-28f) for the structural layers; the
47
+ conformance-coverage audit will classify the not-yet-landed guards as gaps by design.
48
+ - Side-effects artifact: `upgrades/side-effects/postmortem-standards-s1-s6.md`.
@@ -0,0 +1,46 @@
1
+ # Side-Effects Review — Six constitutional standards from the 2026-07-01 silent-message-loss postmortem
2
+
3
+ **Version / slug:** `postmortem-standards-s1-s6`
4
+ **Date:** `2026-07-01`
5
+ **Author:** `Echo (agent), operator-ratified by Justin (topic 29836)`
6
+ **Second-pass reviewer:** `not required (docs-only constitutional amendment; each entry operator-ratified verbatim by decision scope)`
7
+
8
+ ## Summary of the change
9
+
10
+ Docs-only. Adds six operator-ratified standards to `docs/STANDARDS-REGISTRY.md`, each with its earned-from story per the registry's amendment loop ("proposed by the agent with its story, ratified by the operator" — ratification recorded 2026-07-01, topic 29836): **A Refusal Stays a Refusal** (Building), **Cross-Store Coherence Is an Invariant** (Building), **Test Identity Never Enters Production State** (Building), **A Dark Feature Guards Nothing** (Shipping), **Runtime End-to-End Proof** (Building), **Session Input Is a Principal** (Substrate, extends Know Your Principal). Also adds the in-repo postmortem the entries cite (`docs/postmortems/2026-07-01-silent-telegram-message-loss.md`). No source, config, template, hook, or test files are touched.
11
+
12
+ ## Decision-point inventory
13
+
14
+ No runtime decision point is added, modified, removed, or passed through. The change is constitutional text. Two READ consumers gain input: the Standards-Conformance Gate and the conformance-coverage audit read this registry — both are signal-only surfaces (findings feed reviewers; nothing blocks). The new entries will be classified by the coverage audit as `spec-only`/`documented-only` until their named guards land upstream (the U1/U2/G3 tracked filings) — that classification is the honest, intended state and is exactly the gap-surfacing that audit exists to do.
15
+
16
+ ---
17
+
18
+ ## 1. Over-block
19
+
20
+ No block/allow surface — over-block not applicable. (The conformance gate that reads this registry is signal-only by the Signal vs. Authority standard; a new standard cannot block a spec.)
21
+
22
+ ---
23
+
24
+ ## 2. Under-block
25
+
26
+ No block/allow surface — under-block not applicable. The standards' enforcement arms (test ratchet on ack-mappings, registry-level fixture validation, dark-but-load-bearing classification, canary coverage tracking) land in tracked upstream work (fb-1e751537-655, fb-b15ac10b-85c, fb-dd043916-28f); until then the entries are deliberately prose-with-named-guards, and the coverage audit will report them as gaps rather than silently claiming enforcement.
27
+
28
+ ---
29
+
30
+ ## 3. Level of abstraction
31
+
32
+ Correct level: these are constitutional standards (family-level rules with earned-from stories), not operational runbooks. Each entry names its operational machinery in **Applied through** rather than embedding procedure. S6 extends an existing standard (Know Your Principal) rather than duplicating it; S2/S5 cross-reference their sibling standards (Verify the State Not Its Symbol; The User Experience Is the Product) rather than restating them.
33
+
34
+ ## 4. Signal vs. authority
35
+
36
+ Compliant. The registry is read by signal-only surfaces (spec-converge conformance check, coverage audit). Nothing in this change grants any gate blocking authority.
37
+
38
+ ## 5. Interactions with adjacent systems
39
+
40
+ - The Standards-Conformance Gate will start checking future specs against six more rules — intended effect; signal-only.
41
+ - The conformance-coverage audit (`/conformance/coverage`) will list six new standards, initially as documented-only gaps — intended gap-surfacing.
42
+ - The registry's own "Two layers" and amendment-loop sections are untouched; the entries follow the existing family structure (Substrate / Building / Shipping).
43
+
44
+ ## 6. Rollback cost
45
+
46
+ Trivial: `git revert` of one commit removes both files cleanly. No config, no state, no migration, no deployed-agent impact.
@@ -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.