instar 1.3.497 → 1.3.499
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/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +68 -2
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +8 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +2 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +147 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/monitoring/CommitmentTracker.d.ts.map +1 -1
- package/dist/monitoring/CommitmentTracker.js +7 -1
- package/dist/monitoring/CommitmentTracker.js.map +1 -1
- package/dist/monitoring/PresenceProxy.d.ts +10 -0
- package/dist/monitoring/PresenceProxy.d.ts.map +1 -1
- package/dist/monitoring/PresenceProxy.js +11 -0
- package/dist/monitoring/PresenceProxy.js.map +1 -1
- package/dist/monitoring/PromiseBeacon.d.ts +8 -0
- package/dist/monitoring/PromiseBeacon.d.ts.map +1 -1
- package/dist/monitoring/PromiseBeacon.js +13 -2
- package/dist/monitoring/PromiseBeacon.js.map +1 -1
- package/dist/monitoring/SpeakerElection.d.ts +75 -0
- package/dist/monitoring/SpeakerElection.d.ts.map +1 -0
- package/dist/monitoring/SpeakerElection.js +132 -0
- package/dist/monitoring/SpeakerElection.js.map +1 -0
- package/package.json +1 -1
- package/skills/instar-dev/SKILL.md +2 -1
- package/skills/instar-dev/templates/side-effects-artifact.md +30 -1
- package/skills/spec-converge/SKILL.md +1 -1
- package/src/data/builtin-manifest.json +19 -19
- package/upgrades/1.3.498.md +51 -0
- package/upgrades/1.3.499.md +58 -0
- package/upgrades/side-effects/multi-machine-posture-review-dimension.md +76 -0
- package/upgrades/side-effects/multi-machine-seamlessness-ws3.md +125 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromiseBeacon.js","sourceRoot":"","sources":["../../src/monitoring/PromiseBeacon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PromiseBeacon.js","sourceRoot":"","sources":["../../src/monitoring/PromiseBeacon.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SpeakerElection — the WS3 "one voice" gate (MULTI-MACHINE-SEAMLESSNESS-SPEC).
|
|
3
|
+
*
|
|
4
|
+
* Decides whether THIS machine speaks for a topic's sentinel-class emissions
|
|
5
|
+
* (PresenceProxy standby notices, PromiseBeacon heartbeats). The invariant is
|
|
6
|
+
* exactly-one-speaks in BOTH directions:
|
|
7
|
+
*
|
|
8
|
+
* ≤1 — only the topic's owner machine speaks; a non-owner stays silent
|
|
9
|
+
* (kills the F18/F23 double-voice family).
|
|
10
|
+
* ≥1 — "unknown owner" NEVER maps to pool-wide silence: the gate fails
|
|
11
|
+
* toward speech-with-dedup via the lease-holder, then a deterministic
|
|
12
|
+
* lowest-machineId tiebreak (kills the silent-agent dual the round-1
|
|
13
|
+
* adversarial review proved was worse than double-voice).
|
|
14
|
+
*
|
|
15
|
+
* Lease-stability dwell: while the lease epoch is advancing/contested, the
|
|
16
|
+
* verdict is DEFER (the caller re-arms) rather than a speak decision on a
|
|
17
|
+
* transient lease read — and a chosen speaker identity is HELD for a dwell
|
|
18
|
+
* window so a mid-flap flip cannot hand the microphone back and forth.
|
|
19
|
+
* Deferral is bounded: once instability persists past the dwell window, the
|
|
20
|
+
* deterministic tiebreak speaks (fail toward speech, never unbounded silence).
|
|
21
|
+
*
|
|
22
|
+
* Signal-vs-authority: this gate constrains only WHO SPEAKS a duplicate-prone
|
|
23
|
+
* notice — never recovery actions, never message content, never user-initiated
|
|
24
|
+
* flows. It is deterministic over replicated state, fails open to "speak"
|
|
25
|
+
* whenever it cannot decide, and is dark behind multiMachine.seamlessness
|
|
26
|
+
* (ws3OneVoice). Flag off, no machine id, or single-machine pool → verdict is
|
|
27
|
+
* always "speak" with zero behavior delta (spec invariant 6).
|
|
28
|
+
*/
|
|
29
|
+
export interface SpeakerElectionDeps {
|
|
30
|
+
/** Dark flag: multiMachine.seamlessness.ws3OneVoice (read live per decision). */
|
|
31
|
+
enabled: () => boolean;
|
|
32
|
+
/** This machine's pool id; absent → legacy behavior (always speak). */
|
|
33
|
+
currentMachineId?: string;
|
|
34
|
+
/** Online pool machine ids INCLUDING self. Length < 2 → single-machine no-op. */
|
|
35
|
+
poolMachineIds: () => string[];
|
|
36
|
+
/**
|
|
37
|
+
* The topic's current owner from local replicated placement (never a mesh
|
|
38
|
+
* call — hot path). null = unknown/unowned.
|
|
39
|
+
*/
|
|
40
|
+
resolveTopicOwner: (topicId: number) => string | null;
|
|
41
|
+
/** The current lease-holder's machine id (null = no/unknown holder). */
|
|
42
|
+
leaseHolderId: () => string | null;
|
|
43
|
+
/** Is the lease epoch stable (not mid-flap/contested)? */
|
|
44
|
+
leaseStable: () => boolean;
|
|
45
|
+
/** Dwell window ms for both defer-bounding and speaker-identity hold. */
|
|
46
|
+
dwellMs?: number;
|
|
47
|
+
/** Observability hook (P7): every verdict is reported, never silent. */
|
|
48
|
+
onVerdict?: (topicId: number, verdict: SpeakerVerdict) => void;
|
|
49
|
+
now?: () => number;
|
|
50
|
+
}
|
|
51
|
+
export interface SpeakerVerdict {
|
|
52
|
+
speak: boolean;
|
|
53
|
+
/** When true the caller should re-arm and re-ask after a short backoff —
|
|
54
|
+
* the election could not safely decide yet (lease mid-flap). */
|
|
55
|
+
defer: boolean;
|
|
56
|
+
reason: 'legacy-disabled' | 'legacy-no-machine-id' | 'single-machine' | 'owner-self' | 'owner-other' | 'owner-stamp-self' | 'owner-stamp-other' | 'lease-holder-fallback' | 'tiebreak-lowest-id' | 'tiebreak-lost' | 'lease-unstable-defer' | 'dwell-hold';
|
|
57
|
+
}
|
|
58
|
+
export declare class SpeakerElection {
|
|
59
|
+
private readonly deps;
|
|
60
|
+
/** Per-topic held verdicts (speaker-identity dwell). */
|
|
61
|
+
private readonly held;
|
|
62
|
+
/** Per-topic first-seen instability timestamps (defer bounding). */
|
|
63
|
+
private readonly unstableSince;
|
|
64
|
+
constructor(deps: SpeakerElectionDeps);
|
|
65
|
+
/**
|
|
66
|
+
* Decide whether this machine speaks for `topicId`.
|
|
67
|
+
* `stampedOwner` is the durable fallback (e.g. a commitment's ownerMachineId)
|
|
68
|
+
* used when live placement has no owner for the topic.
|
|
69
|
+
*/
|
|
70
|
+
decide(topicId: number, stampedOwner?: string | null): SpeakerVerdict;
|
|
71
|
+
private decideInner;
|
|
72
|
+
private tiebreak;
|
|
73
|
+
private hold;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=SpeakerElection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpeakerElection.d.ts","sourceRoot":"","sources":["../../src/monitoring/SpeakerElection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,cAAc,EAAE,MAAM,MAAM,EAAE,CAAC;IAC/B;;;OAGG;IACH,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACtD,wEAAwE;IACxE,aAAa,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,0DAA0D;IAC1D,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC/D,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf;qEACiE;IACjE,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EACF,iBAAiB,GACjB,sBAAsB,GACtB,gBAAgB,GAChB,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,mBAAmB,GACnB,uBAAuB,GACvB,oBAAoB,GACpB,eAAe,GACf,sBAAsB,GACtB,YAAY,CAAC;CAClB;AASD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAC3C,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiC;IACtD,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;gBAE/C,IAAI,EAAE,mBAAmB;IAIrC;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc;IAMrE,OAAO,CAAC,WAAW;IAiEnB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,IAAI;CAWb"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SpeakerElection — the WS3 "one voice" gate (MULTI-MACHINE-SEAMLESSNESS-SPEC).
|
|
3
|
+
*
|
|
4
|
+
* Decides whether THIS machine speaks for a topic's sentinel-class emissions
|
|
5
|
+
* (PresenceProxy standby notices, PromiseBeacon heartbeats). The invariant is
|
|
6
|
+
* exactly-one-speaks in BOTH directions:
|
|
7
|
+
*
|
|
8
|
+
* ≤1 — only the topic's owner machine speaks; a non-owner stays silent
|
|
9
|
+
* (kills the F18/F23 double-voice family).
|
|
10
|
+
* ≥1 — "unknown owner" NEVER maps to pool-wide silence: the gate fails
|
|
11
|
+
* toward speech-with-dedup via the lease-holder, then a deterministic
|
|
12
|
+
* lowest-machineId tiebreak (kills the silent-agent dual the round-1
|
|
13
|
+
* adversarial review proved was worse than double-voice).
|
|
14
|
+
*
|
|
15
|
+
* Lease-stability dwell: while the lease epoch is advancing/contested, the
|
|
16
|
+
* verdict is DEFER (the caller re-arms) rather than a speak decision on a
|
|
17
|
+
* transient lease read — and a chosen speaker identity is HELD for a dwell
|
|
18
|
+
* window so a mid-flap flip cannot hand the microphone back and forth.
|
|
19
|
+
* Deferral is bounded: once instability persists past the dwell window, the
|
|
20
|
+
* deterministic tiebreak speaks (fail toward speech, never unbounded silence).
|
|
21
|
+
*
|
|
22
|
+
* Signal-vs-authority: this gate constrains only WHO SPEAKS a duplicate-prone
|
|
23
|
+
* notice — never recovery actions, never message content, never user-initiated
|
|
24
|
+
* flows. It is deterministic over replicated state, fails open to "speak"
|
|
25
|
+
* whenever it cannot decide, and is dark behind multiMachine.seamlessness
|
|
26
|
+
* (ws3OneVoice). Flag off, no machine id, or single-machine pool → verdict is
|
|
27
|
+
* always "speak" with zero behavior delta (spec invariant 6).
|
|
28
|
+
*/
|
|
29
|
+
const DEFAULT_DWELL_MS = 60_000;
|
|
30
|
+
export class SpeakerElection {
|
|
31
|
+
deps;
|
|
32
|
+
/** Per-topic held verdicts (speaker-identity dwell). */
|
|
33
|
+
held = new Map();
|
|
34
|
+
/** Per-topic first-seen instability timestamps (defer bounding). */
|
|
35
|
+
unstableSince = new Map();
|
|
36
|
+
constructor(deps) {
|
|
37
|
+
this.deps = deps;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Decide whether this machine speaks for `topicId`.
|
|
41
|
+
* `stampedOwner` is the durable fallback (e.g. a commitment's ownerMachineId)
|
|
42
|
+
* used when live placement has no owner for the topic.
|
|
43
|
+
*/
|
|
44
|
+
decide(topicId, stampedOwner) {
|
|
45
|
+
const v = this.decideInner(topicId, stampedOwner ?? null);
|
|
46
|
+
try {
|
|
47
|
+
this.deps.onVerdict?.(topicId, v);
|
|
48
|
+
}
|
|
49
|
+
catch { /* observability never gates */ }
|
|
50
|
+
return v;
|
|
51
|
+
}
|
|
52
|
+
decideInner(topicId, stampedOwner) {
|
|
53
|
+
const now = this.deps.now?.() ?? Date.now();
|
|
54
|
+
const dwellMs = this.deps.dwellMs ?? DEFAULT_DWELL_MS;
|
|
55
|
+
// Legacy / no-op guards FIRST — none of the election machinery is entered.
|
|
56
|
+
if (!this.deps.enabled())
|
|
57
|
+
return { speak: true, defer: false, reason: 'legacy-disabled' };
|
|
58
|
+
const self = this.deps.currentMachineId;
|
|
59
|
+
if (!self)
|
|
60
|
+
return { speak: true, defer: false, reason: 'legacy-no-machine-id' };
|
|
61
|
+
const pool = this.deps.poolMachineIds();
|
|
62
|
+
if (pool.length < 2)
|
|
63
|
+
return { speak: true, defer: false, reason: 'single-machine' };
|
|
64
|
+
// Speaker-identity dwell: a recent decisive verdict is HELD so a lease flap
|
|
65
|
+
// between two emissions cannot alternate the voice. Decisive = speak/silent
|
|
66
|
+
// chosen by election (not legacy/no-op shapes, which never reach here).
|
|
67
|
+
const heldEntry = this.held.get(topicId);
|
|
68
|
+
if (heldEntry && now - heldEntry.at < dwellMs) {
|
|
69
|
+
return { ...heldEntry.verdict, reason: 'dwell-hold' };
|
|
70
|
+
}
|
|
71
|
+
// 1) Live placement owner wins.
|
|
72
|
+
const liveOwner = this.deps.resolveTopicOwner(topicId);
|
|
73
|
+
if (liveOwner) {
|
|
74
|
+
this.unstableSince.delete(topicId);
|
|
75
|
+
return this.hold(topicId, now, liveOwner === self
|
|
76
|
+
? { speak: true, defer: false, reason: 'owner-self' }
|
|
77
|
+
: { speak: false, defer: false, reason: 'owner-other' });
|
|
78
|
+
}
|
|
79
|
+
// 2) Durable stamp fallback (a commitment's recorded owner).
|
|
80
|
+
if (stampedOwner) {
|
|
81
|
+
this.unstableSince.delete(topicId);
|
|
82
|
+
return this.hold(topicId, now, stampedOwner === self
|
|
83
|
+
? { speak: true, defer: false, reason: 'owner-stamp-self' }
|
|
84
|
+
: { speak: false, defer: false, reason: 'owner-stamp-other' });
|
|
85
|
+
}
|
|
86
|
+
// 3) Owner unknown → fail toward speech-with-dedup. While the lease is
|
|
87
|
+
// mid-flap, DEFER (bounded) instead of deciding on a transient read.
|
|
88
|
+
if (!this.deps.leaseStable()) {
|
|
89
|
+
const since = this.unstableSince.get(topicId) ?? now;
|
|
90
|
+
this.unstableSince.set(topicId, since);
|
|
91
|
+
if (now - since < dwellMs) {
|
|
92
|
+
return { speak: false, defer: true, reason: 'lease-unstable-defer' };
|
|
93
|
+
}
|
|
94
|
+
// Instability outlived the dwell bound → deterministic tiebreak speaks.
|
|
95
|
+
this.unstableSince.delete(topicId);
|
|
96
|
+
return this.hold(topicId, now, this.tiebreak(self, pool));
|
|
97
|
+
}
|
|
98
|
+
this.unstableSince.delete(topicId);
|
|
99
|
+
// 4) Stable lease, unknown owner → the lease-holder speaks. The ≥1 half of
|
|
100
|
+
// the invariant holds because every machine runs this same deterministic
|
|
101
|
+
// election over replicated inputs: exactly the holder reaches speak here.
|
|
102
|
+
const holder = this.deps.leaseHolderId();
|
|
103
|
+
if (holder && pool.includes(holder)) {
|
|
104
|
+
return this.hold(topicId, now, holder === self
|
|
105
|
+
? { speak: true, defer: false, reason: 'lease-holder-fallback' }
|
|
106
|
+
: { speak: false, defer: false, reason: 'tiebreak-lost' });
|
|
107
|
+
}
|
|
108
|
+
// No holder, or the holder is not among the ONLINE machines (holder dark —
|
|
109
|
+
// a "stable" lease pointing at a machine that can't speak): deterministic
|
|
110
|
+
// lowest-online-id tiebreak keeps ≥1 true instead of pool-wide silence.
|
|
111
|
+
return this.hold(topicId, now, this.tiebreak(self, pool));
|
|
112
|
+
}
|
|
113
|
+
tiebreak(self, pool) {
|
|
114
|
+
const lowest = [...pool].sort()[0];
|
|
115
|
+
return lowest === self
|
|
116
|
+
? { speak: true, defer: false, reason: 'tiebreak-lowest-id' }
|
|
117
|
+
: { speak: false, defer: false, reason: 'tiebreak-lost' };
|
|
118
|
+
}
|
|
119
|
+
hold(topicId, now, v) {
|
|
120
|
+
this.held.set(topicId, { verdict: v, at: now });
|
|
121
|
+
// Bounded memory: drop entries past the dwell window opportunistically.
|
|
122
|
+
if (this.held.size > 512) {
|
|
123
|
+
const dwellMs = this.deps.dwellMs ?? DEFAULT_DWELL_MS;
|
|
124
|
+
for (const [k, e] of this.held) {
|
|
125
|
+
if (now - e.at >= dwellMs)
|
|
126
|
+
this.held.delete(k);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return v;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=SpeakerElection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpeakerElection.js","sourceRoot":"","sources":["../../src/monitoring/SpeakerElection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AA6CH,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAOhC,MAAM,OAAO,eAAe;IACT,IAAI,CAAsB;IAC3C,wDAAwD;IACvC,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAC;IACtD,oEAAoE;IACnD,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3D,YAAY,IAAyB;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAe,EAAE,YAA4B;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;QACpF,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,WAAW,CAAC,OAAe,EAAE,YAA2B;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC;QAEtD,2EAA2E;QAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACxC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;QAChF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QAEpF,4EAA4E;QAC5E,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,SAAS,IAAI,GAAG,GAAG,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;YAC9C,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACxD,CAAC;QAED,gCAAgC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI;gBAC/C,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE;gBACrD,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,6DAA6D;QAC7D,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,KAAK,IAAI;gBAClD,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE;gBAC3D,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,uEAAuE;QACvE,qEAAqE;QACrE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;YACrD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACvC,IAAI,GAAG,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC;gBAC1B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;YACvE,CAAC;YACD,wEAAwE;YACxE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnC,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI;gBAC5C,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE;gBAChE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,2EAA2E;QAC3E,0EAA0E;QAC1E,wEAAwE;QACxE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEO,QAAQ,CAAC,IAAY,EAAE,IAAc;QAC3C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,MAAM,KAAK,IAAI;YACpB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE;YAC7D,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC9D,CAAC;IAEO,IAAI,CAAC,OAAe,EAAE,GAAW,EAAE,CAAiB;QAC1D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAChD,wEAAwE;QACxE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC;YACtD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC/B,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,OAAO;oBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -97,7 +97,8 @@ The review must answer each of the following in writing. "No issue identified" i
|
|
|
97
97
|
4. **Signal vs authority compliance** — does this hold blocking authority with brittle logic, or does it produce a signal that feeds a smart gate? (Required reference: `docs/signal-vs-authority.md`.)
|
|
98
98
|
5. **Interactions** — does it shadow another check, get shadowed by one, double-fire, race with adjacent cleanup?
|
|
99
99
|
6. **External surfaces** — does it change anything visible to other agents, other users, other systems? Does it depend on timing, conversation state, or runtime conditions we can't fully control?
|
|
100
|
-
7. **
|
|
100
|
+
7. **Multi-machine posture (Cross-Machine Coherence)** — when this agent runs on MORE than one machine, what is this feature's posture: replicated (name the replication path) / proxied-on-read (name the merged read) / machine-local BY DESIGN (with the reason)? A silent single-machine-only assumption is the defect this question exists to catch (~20 features shipped machine-blind before it was added — 2026-06-12 audit, topic 13481). Also: user-facing notices need one-voice gating; durable state must not strand on topic transfer; generated URLs must survive machine boundaries.
|
|
101
|
+
8. **Rollback cost** — if this turns out wrong in production, what's the back-out? Hot-fix release? Data migration? Agent state repair?
|
|
101
102
|
|
|
102
103
|
### Phase 4.5 — No-deferrals check (enforced in pre-commit)
|
|
103
104
|
|
|
@@ -101,7 +101,36 @@
|
|
|
101
101
|
|
|
102
102
|
---
|
|
103
103
|
|
|
104
|
-
## 7.
|
|
104
|
+
## 7. Multi-machine posture (Cross-Machine Coherence)
|
|
105
|
+
|
|
106
|
+
**When this agent runs on MORE THAN ONE machine, what is this feature's posture?**
|
|
107
|
+
Declare exactly one, with the reason. "I didn't think about multi-machine" is the
|
|
108
|
+
defect this section exists to catch — ~20 features shipped machine-blind before this
|
|
109
|
+
question was added (2026-06-12 audit, topic 13481; the converged
|
|
110
|
+
MULTI-MACHINE-SEAMLESSNESS-SPEC is the cleanup bill).
|
|
111
|
+
|
|
112
|
+
- **replicated** — the state/behavior follows the agent across machines (name the
|
|
113
|
+
replication path: coherence-journal kind, secret-sync, heartbeat field, …).
|
|
114
|
+
- **proxied-on-read** — machine-local state served pool-wide via a merged/scoped read
|
|
115
|
+
(name the read: `?scope=pool`, mesh relay, …).
|
|
116
|
+
- **machine-local BY DESIGN** — give the reason it SHOULD differ per machine
|
|
117
|
+
(machine-specific truths, security boundary, pure per-machine observability).
|
|
118
|
+
"By design" without a reason is not an answer.
|
|
119
|
+
- **single-machine-only assumption** — NOT a valid posture for new features. If the
|
|
120
|
+
feature breaks or duplicates when a second machine exists (double notices, stranded
|
|
121
|
+
state, dashboard blindness, broken links), that is a finding to resolve before
|
|
122
|
+
shipping, not a posture to declare.
|
|
123
|
+
|
|
124
|
+
Also answer explicitly: does it emit user-facing notices (one-voice gating needed?),
|
|
125
|
+
hold durable state (does it strand on topic transfer?), or generate URLs (do they
|
|
126
|
+
survive machine boundaries?).
|
|
127
|
+
|
|
128
|
+
[Specific. "Machine-local by design: the reap-log is a per-machine audit trail; the
|
|
129
|
+
pool-wide question is answered by a proxied-on-read merged view." Not abstractions.]
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 8. Rollback cost
|
|
105
134
|
|
|
106
135
|
**If this turns out wrong in production, what's the back-out?**
|
|
107
136
|
|
|
@@ -68,7 +68,7 @@ The skill spawns reviewers in parallel:
|
|
|
68
68
|
- **Security.** Attack surfaces, leaks, privilege escalation, auth on endpoints, prompt injection vectors, rotation races.
|
|
69
69
|
- **Scalability/performance.** Hot-path cost, concurrent writes, memory churn, fail-open semantics, hook latency.
|
|
70
70
|
- **Adversarial.** Misbehaving-session scenarios — bad-entry poisoning, self-reinforcing loops, stale claims, authority ambiguity, kind gaming.
|
|
71
|
-
- **Integration/deployment.** Migration, backup/restore, multi-machine, config knobs, dashboard surface, rollback.
|
|
71
|
+
- **Integration/deployment.** Migration, backup/restore, multi-machine, config knobs, dashboard surface, rollback. **Multi-machine posture (Cross-Machine Coherence — mandatory check):** every feature/state surface the spec introduces must declare its posture when the agent runs on more than one machine — replicated (named replication path) / proxied-on-read (named merged read) / machine-local BY DESIGN (with the reason). A spec whose features silently assume a single machine is a MATERIAL finding: ~20 features shipped machine-blind before this check existed (2026-06-12 audit, topic 13481; MULTI-MACHINE-SEAMLESSNESS-SPEC is the cleanup bill). Probe specifically: user-facing notices (one-voice gating?), durable state (strands on topic transfer?), generated URLs (survive machine boundaries?).
|
|
72
72
|
- **Decision-Completeness.** (Autonomy Principle 2 — `docs/specs/AUTONOMY-PRINCIPLES-ENFORCEMENT-SPEC.md` Piece 2.) Enumerates every point where the building agent would have to **stop mid-run and ask the user**. Each must be either **frontloaded** into a `## Frontloaded Decisions` section or explicitly tagged **cheap-to-change-after** because the work ships behind a named dark/dry-run/read-only phase. The reviewer **CONTESTS every cheap tag** — it independently asserts reversibility, and a closed non-cheap taxonomy overrides any tag: anything touching **durable external side-effects, money, identity, or a published/user-visible interface is NEVER cheap**, regardless of a "ships dark" label. A contested tag the reviewer rejects is a **material finding that blocks convergence**. Prompt: `templates/reviewer-decision-completeness.md`. Applies to ALL specs through this skill (D7) — no size gate, no per-spec override (D11; the rejected `disposition: override` escape hatch would reopen the exact skip-hatch Principle 2 closes).
|
|
73
73
|
- **Lessons-aware.** Loads the canonical Instar Design Principles + Lessons Learned index (`docs/INSTAR-DESIGN-PRINCIPLES-AND-LESSONS.md`) plus the running agent's local `.instar/memory/feedback_*.md` entries, then checks the spec for (a) direct contradictions of documented principles/lessons, (b) applicable lessons the spec fails to engage with, (c) behavioral lessons violated by agent-facing surfaces the spec proposes, and **(d) FOUNDATION/SUBSYSTEM AUDIT — the design the spec TESTS, EXTENDS, or BUILDS ON, not just the spec's own surface: does that foundation violate a known standard or repeat a known mistake?** The audit MUST reach one layer below the spec boundary. A spec can be internally clean while faithfully testing or extending a flawed foundation — e.g. a test-harness spec that correctly proves a permission gate which *itself* holds brittle blocking authority in violation of Signal-vs-Authority, or an extension spec built on a subsystem with an unaddressed gap. Taking the underlying subsystem "as given" is exactly how a standards violation survives review: the spec passes, the foundation's flaw is never weighed. When the foundation is flawed, the finding is "this spec is sound but the subsystem it depends on violates standard X / repeats mistake Y — surface it before building on/around it." Catches the "Phase 2" anti-pattern, the spec-converge-pre-auth-circular failure mode (see `feedback_spec_converge_pre_auth_circular`), and the foundation-not-audited gap (the Slack-permission-gate brittle-enum-as-authority that the harness convergence cleared because it audited only the harness, 2026-06-09).
|
|
74
74
|
|
|
@@ -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-12T22:38:17.006Z",
|
|
5
|
+
"instarVersion": "1.3.499",
|
|
6
6
|
"entryCount": 201,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"domain": "identity",
|
|
12
12
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
13
13
|
"installedPath": ".instar/hooks/instar/session-start.sh",
|
|
14
|
-
"contentHash": "
|
|
14
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
15
15
|
"since": "2025-01-01"
|
|
16
16
|
},
|
|
17
17
|
"hook:dangerous-command-guard": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"domain": "safety",
|
|
21
21
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
22
22
|
"installedPath": ".instar/hooks/instar/dangerous-command-guard.sh",
|
|
23
|
-
"contentHash": "
|
|
23
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
24
24
|
"since": "2025-01-01"
|
|
25
25
|
},
|
|
26
26
|
"hook:grounding-before-messaging": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"domain": "safety",
|
|
30
30
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
31
31
|
"installedPath": ".instar/hooks/instar/grounding-before-messaging.sh",
|
|
32
|
-
"contentHash": "
|
|
32
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
33
33
|
"since": "2025-01-01"
|
|
34
34
|
},
|
|
35
35
|
"hook:compaction-recovery": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"domain": "identity",
|
|
39
39
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
40
40
|
"installedPath": ".instar/hooks/instar/compaction-recovery.sh",
|
|
41
|
-
"contentHash": "
|
|
41
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
42
42
|
"since": "2025-01-01"
|
|
43
43
|
},
|
|
44
44
|
"hook:external-operation-gate": {
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"domain": "safety",
|
|
48
48
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
49
49
|
"installedPath": ".instar/hooks/instar/external-operation-gate.js",
|
|
50
|
-
"contentHash": "
|
|
50
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
51
51
|
"since": "2025-01-01"
|
|
52
52
|
},
|
|
53
53
|
"hook:deferral-detector": {
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"domain": "safety",
|
|
57
57
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
58
58
|
"installedPath": ".instar/hooks/instar/deferral-detector.js",
|
|
59
|
-
"contentHash": "
|
|
59
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
60
60
|
"since": "2025-01-01"
|
|
61
61
|
},
|
|
62
62
|
"hook:self-stop-guard": {
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"domain": "coherence",
|
|
66
66
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
67
67
|
"installedPath": ".instar/hooks/instar/self-stop-guard.js",
|
|
68
|
-
"contentHash": "
|
|
68
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
69
69
|
"since": "2025-01-01"
|
|
70
70
|
},
|
|
71
71
|
"hook:post-action-reflection": {
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"domain": "evolution",
|
|
75
75
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
76
76
|
"installedPath": ".instar/hooks/instar/post-action-reflection.js",
|
|
77
|
-
"contentHash": "
|
|
77
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
78
78
|
"since": "2025-01-01"
|
|
79
79
|
},
|
|
80
80
|
"hook:external-communication-guard": {
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"domain": "safety",
|
|
84
84
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
85
85
|
"installedPath": ".instar/hooks/instar/external-communication-guard.js",
|
|
86
|
-
"contentHash": "
|
|
86
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
87
87
|
"since": "2025-01-01"
|
|
88
88
|
},
|
|
89
89
|
"hook:scope-coherence-collector": {
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"domain": "coherence",
|
|
93
93
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
94
94
|
"installedPath": ".instar/hooks/instar/scope-coherence-collector.js",
|
|
95
|
-
"contentHash": "
|
|
95
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
96
96
|
"since": "2025-01-01"
|
|
97
97
|
},
|
|
98
98
|
"hook:scope-coherence-checkpoint": {
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"domain": "coherence",
|
|
102
102
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
103
103
|
"installedPath": ".instar/hooks/instar/scope-coherence-checkpoint.js",
|
|
104
|
-
"contentHash": "
|
|
104
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
105
105
|
"since": "2025-01-01"
|
|
106
106
|
},
|
|
107
107
|
"hook:free-text-guard": {
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"domain": "safety",
|
|
111
111
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
112
112
|
"installedPath": ".instar/hooks/instar/free-text-guard.sh",
|
|
113
|
-
"contentHash": "
|
|
113
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
114
114
|
"since": "2025-01-01"
|
|
115
115
|
},
|
|
116
116
|
"hook:claim-intercept": {
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
"domain": "coherence",
|
|
120
120
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
121
121
|
"installedPath": ".instar/hooks/instar/claim-intercept.js",
|
|
122
|
-
"contentHash": "
|
|
122
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
123
123
|
"since": "2025-01-01"
|
|
124
124
|
},
|
|
125
125
|
"hook:claim-intercept-response": {
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
"domain": "coherence",
|
|
129
129
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
130
130
|
"installedPath": ".instar/hooks/instar/claim-intercept-response.js",
|
|
131
|
-
"contentHash": "
|
|
131
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
132
132
|
"since": "2025-01-01"
|
|
133
133
|
},
|
|
134
134
|
"hook:stop-gate-router": {
|
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
"domain": "safety",
|
|
138
138
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
139
139
|
"installedPath": ".instar/hooks/instar/stop-gate-router.js",
|
|
140
|
-
"contentHash": "
|
|
140
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
141
141
|
"since": "2025-01-01"
|
|
142
142
|
},
|
|
143
143
|
"hook:auto-approve-permissions": {
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
"domain": "safety",
|
|
147
147
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
148
148
|
"installedPath": ".instar/hooks/instar/auto-approve-permissions.js",
|
|
149
|
-
"contentHash": "
|
|
149
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
150
150
|
"since": "2025-01-01"
|
|
151
151
|
},
|
|
152
152
|
"job:health-check": {
|
|
@@ -1554,7 +1554,7 @@
|
|
|
1554
1554
|
"type": "subsystem",
|
|
1555
1555
|
"domain": "updates",
|
|
1556
1556
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
1557
|
-
"contentHash": "
|
|
1557
|
+
"contentHash": "1c55628007e83a3bb8eb4ef113dd0811cdfb01086d46cba9d7ebf5f3707e5562",
|
|
1558
1558
|
"since": "2025-01-01"
|
|
1559
1559
|
},
|
|
1560
1560
|
"subsystem:scheduler": {
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Root-cause fix for "how did ~20 features ship incompatible with the seamless
|
|
9
|
+
multi-machine goal?" (operator question, 2026-06-12 topic 13481): no review surface
|
|
10
|
+
ever asked. Now three do —
|
|
11
|
+
|
|
12
|
+
1. The instar-dev side-effects template gains mandatory **§7 Multi-machine posture**:
|
|
13
|
+
every change declares replicated (named path) / proxied-on-read (named read) /
|
|
14
|
+
machine-local BY DESIGN (with the reason). A silent single-machine assumption is a
|
|
15
|
+
finding, not a posture. (Rollback cost renumbered §7→§8.)
|
|
16
|
+
2. spec-converge's integration/deployment reviewer charter makes the same check
|
|
17
|
+
mandatory at spec time — a machine-blind spec is a MATERIAL finding that blocks
|
|
18
|
+
convergence.
|
|
19
|
+
3. The Cross-Machine Coherence constitution article's "Applied through" is widened to
|
|
20
|
+
name these gates (per-feature posture rule), giving the Standards Enforcement
|
|
21
|
+
Coverage audit a verifiable surface.
|
|
22
|
+
|
|
23
|
+
Deployed agents receive the updated skill content via a new PostUpdateMigrator
|
|
24
|
+
migration (`migrateMultiMachinePostureReviewDimension`) — marker-sniffed,
|
|
25
|
+
fingerprint-guarded (operator-customized files left untouched + reported), idempotent,
|
|
26
|
+
following the migrateSpecConvergeFoundationAudit pattern.
|
|
27
|
+
|
|
28
|
+
## What to Tell Your User
|
|
29
|
+
|
|
30
|
+
- "The development process that builds my features now has a mandatory checkpoint: every new feature must declare, in writing, how it behaves when I run on more than one machine — it travels with me, it's readable from any machine, or it deliberately belongs to one machine for a stated reason. This is the structural fix for the batch of features that previously assumed a single machine."
|
|
31
|
+
|
|
32
|
+
## Summary of New Capabilities
|
|
33
|
+
|
|
34
|
+
| Capability | How to Use |
|
|
35
|
+
|-----------|-----------|
|
|
36
|
+
| Multi-machine posture is a mandatory review dimension | Automatic — enforced in the side-effects template + spec-converge reviews; deployed agents receive the updated review docs on their next update |
|
|
37
|
+
|
|
38
|
+
## Evidence
|
|
39
|
+
|
|
40
|
+
- `tests/unit/PostUpdateMigrator-mmPostureReviewDimension.test.ts` — 4 tests: bundled
|
|
41
|
+
sources really carry the marker; stock installed copies upgraded + idempotent;
|
|
42
|
+
customized copies untouched + reported; missing files skipped silently.
|
|
43
|
+
- `tsc --noEmit` clean; affected suites green.
|
|
44
|
+
- Side-effects artifact: `upgrades/side-effects/multi-machine-posture-review-dimension.md`.
|
|
45
|
+
- Plain-English overview: `docs/eli16/multi-machine-posture-review-dimension.md`.
|
|
46
|
+
|
|
47
|
+
## What Changed for the Review Process
|
|
48
|
+
|
|
49
|
+
This change's own side-effects artifact answers the new question about itself
|
|
50
|
+
(machine-local by design: per-machine installed skill content kept current by each
|
|
51
|
+
machine's update cycle) — the gate is dogfooded on the PR that introduces it.
|