instar 1.3.1619 → 1.3.1621
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 +6 -0
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +115 -9
- package/dist/commands/server.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +6 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +24 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/TopicProfileOrchestrator.d.ts +4 -0
- package/dist/core/TopicProfileOrchestrator.d.ts.map +1 -1
- package/dist/core/TopicProfileOrchestrator.js +14 -1
- package/dist/core/TopicProfileOrchestrator.js.map +1 -1
- package/dist/core/TopicSpawnBriefStore.d.ts +48 -0
- package/dist/core/TopicSpawnBriefStore.d.ts.map +1 -0
- package/dist/core/TopicSpawnBriefStore.js +107 -0
- package/dist/core/TopicSpawnBriefStore.js.map +1 -0
- package/dist/core/componentCategories.d.ts.map +1 -1
- package/dist/core/componentCategories.js +1 -0
- package/dist/core/componentCategories.js.map +1 -1
- package/dist/core/devGatedFeatures.js +1 -1
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/data/llmBenchCoverage.d.ts.map +1 -1
- package/dist/data/llmBenchCoverage.js +5 -0
- package/dist/data/llmBenchCoverage.js.map +1 -1
- package/dist/data/provenanceCoverage.d.ts +2 -0
- package/dist/data/provenanceCoverage.d.ts.map +1 -1
- package/dist/data/provenanceCoverage.js +15 -0
- package/dist/data/provenanceCoverage.js.map +1 -1
- package/dist/data/standards-guard-index.json +1 -1
- package/dist/data/standards-guard-index.meta.json +2 -2
- package/dist/data/standards-registry.meta.json +1 -1
- package/dist/monitoring/MachineWedgeJudge.d.ts +28 -0
- package/dist/monitoring/MachineWedgeJudge.d.ts.map +1 -0
- package/dist/monitoring/MachineWedgeJudge.js +114 -0
- package/dist/monitoring/MachineWedgeJudge.js.map +1 -0
- package/dist/monitoring/MachineWedgeNotice.d.ts +38 -0
- package/dist/monitoring/MachineWedgeNotice.d.ts.map +1 -0
- package/dist/monitoring/MachineWedgeNotice.js +71 -0
- package/dist/monitoring/MachineWedgeNotice.js.map +1 -0
- package/dist/monitoring/guardManifest.d.ts.map +1 -1
- package/dist/monitoring/guardManifest.js +1 -0
- package/dist/monitoring/guardManifest.js.map +1 -1
- package/dist/monitoring/machineMaintenance/DrainRehearsal.d.ts +6 -0
- package/dist/monitoring/machineMaintenance/DrainRehearsal.d.ts.map +1 -1
- package/dist/monitoring/machineMaintenance/DrainRehearsal.js +7 -2
- package/dist/monitoring/machineMaintenance/DrainRehearsal.js.map +1 -1
- package/dist/monitoring/machineMaintenance/HostMaintenanceStore.d.ts +36 -0
- package/dist/monitoring/machineMaintenance/HostMaintenanceStore.d.ts.map +1 -1
- package/dist/monitoring/machineMaintenance/HostMaintenanceStore.js +54 -0
- package/dist/monitoring/machineMaintenance/HostMaintenanceStore.js.map +1 -1
- package/dist/monitoring/machineMaintenance/WedgeMonitor.d.ts +191 -0
- package/dist/monitoring/machineMaintenance/WedgeMonitor.d.ts.map +1 -0
- package/dist/monitoring/machineMaintenance/WedgeMonitor.js +489 -0
- package/dist/monitoring/machineMaintenance/WedgeMonitor.js.map +1 -0
- package/dist/monitoring/machineMaintenance/readings.d.ts +46 -0
- package/dist/monitoring/machineMaintenance/readings.d.ts.map +1 -1
- package/dist/monitoring/machineMaintenance/readings.js +71 -8
- package/dist/monitoring/machineMaintenance/readings.js.map +1 -1
- package/dist/monitoring/machineMaintenance/wedgeEvidence.d.ts +73 -0
- package/dist/monitoring/machineMaintenance/wedgeEvidence.d.ts.map +1 -0
- package/dist/monitoring/machineMaintenance/wedgeEvidence.js +111 -0
- package/dist/monitoring/machineMaintenance/wedgeEvidence.js.map +1 -0
- package/dist/monitoring/machineMaintenance/wedgeWindow.d.ts +94 -0
- package/dist/monitoring/machineMaintenance/wedgeWindow.d.ts.map +1 -0
- package/dist/monitoring/machineMaintenance/wedgeWindow.js +126 -0
- package/dist/monitoring/machineMaintenance/wedgeWindow.js.map +1 -0
- package/dist/monitoring/selfaction/policies.d.ts.map +1 -1
- package/dist/monitoring/selfaction/policies.js +15 -0
- package/dist/monitoring/selfaction/policies.js.map +1 -1
- package/dist/native/instar-desktop-host +0 -0
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +2 -1
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -1
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts +3 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +56 -12
- package/dist/server/routes.js.map +1 -1
- package/dist/server/sessionSpawnTopicBinding.d.ts +26 -0
- package/dist/server/sessionSpawnTopicBinding.d.ts.map +1 -1
- package/dist/server/sessionSpawnTopicBinding.js +50 -0
- package/dist/server/sessionSpawnTopicBinding.js.map +1 -1
- package/dist/testing/selfActionRegistry.d.ts.map +1 -1
- package/dist/testing/selfActionRegistry.js +63 -0
- package/dist/testing/selfActionRegistry.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +63 -63
- package/src/data/llmBenchCoverage.ts +7 -0
- package/src/data/provenanceCoverage.ts +18 -0
- package/src/data/standards-guard-index.json +1 -1
- package/src/data/standards-guard-index.meta.json +2 -2
- package/src/data/standards-registry.meta.json +1 -1
- package/src/scaffold/templates.ts +2 -1
- package/upgrades/1.3.1620.md +26 -0
- package/upgrades/1.3.1621.md +27 -0
- package/upgrades/eli16/profile-restart-keeps-spawn-brief.md +24 -0
- package/upgrades/side-effects/machine-wedge-dryrun.eli16.md +15 -0
- package/upgrades/side-effects/machine-wedge-dryrun.md +146 -0
- package/upgrades/side-effects/profile-restart-keeps-spawn-brief.md +91 -0
|
@@ -22,4 +22,30 @@ export declare function persistDiskTopicSessionBinding(opts: {
|
|
|
22
22
|
tmuxSession: string;
|
|
23
23
|
topicName?: string;
|
|
24
24
|
}): void;
|
|
25
|
+
/**
|
|
26
|
+
* Topic-profile resolution for a topic-bound direct spawn (POST /sessions/spawn).
|
|
27
|
+
*
|
|
28
|
+
* Mirrors spawnSessionForTopic's single resolution point: the topic's resolved
|
|
29
|
+
* profile supplies framework + model for every axis the request leaves unset
|
|
30
|
+
* (an explicit request value always wins). Returns `applied` — what the launch
|
|
31
|
+
* will actually carry, in the orchestrator's AppliedProfile shape — so the
|
|
32
|
+
* route can record it and the profile orchestrator never mistakes a freshly
|
|
33
|
+
* spawned session for one whose pin "wasn't applied".
|
|
34
|
+
*
|
|
35
|
+
* thinkingMode/effort are recorded as null: the direct spawn path has no
|
|
36
|
+
* launch control for them, and recording a value it did not apply would hide
|
|
37
|
+
* a real divergence.
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveTopicSpawnProfile(input: {
|
|
40
|
+
resolver?: {
|
|
41
|
+
resolve(topicId: number): import('../core/TopicProfileResolver.js').ResolvedTopicProfile;
|
|
42
|
+
} | null;
|
|
43
|
+
topicId?: number;
|
|
44
|
+
requestedFramework?: import('../core/intelligenceProviderFactory.js').IntelligenceFramework;
|
|
45
|
+
requestedModel?: string;
|
|
46
|
+
}): {
|
|
47
|
+
framework?: import('../core/intelligenceProviderFactory.js').IntelligenceFramework;
|
|
48
|
+
model?: string;
|
|
49
|
+
applied: import('../core/TopicProfileOrchestrator.js').AppliedProfile | null;
|
|
50
|
+
};
|
|
25
51
|
//# sourceMappingURL=sessionSpawnTopicBinding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionSpawnTopicBinding.d.ts","sourceRoot":"","sources":["../../src/server/sessionSpawnTopicBinding.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,wBAAwB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA4BjF;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAoBP"}
|
|
1
|
+
{"version":3,"file":"sessionSpawnTopicBinding.d.ts","sourceRoot":"","sources":["../../src/server/sessionSpawnTopicBinding.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,wBAAwB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA4BjF;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAoBP;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,iCAAiC,EAAE,oBAAoB,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,wCAAwC,EAAE,qBAAqB,CAAC;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG;IACF,SAAS,CAAC,EAAE,OAAO,wCAAwC,EAAE,qBAAqB,CAAC;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,qCAAqC,EAAE,cAAc,GAAG,IAAI,CAAC;CAC9E,CAiCA"}
|
|
@@ -47,4 +47,54 @@ export function persistDiskTopicSessionBinding(opts) {
|
|
|
47
47
|
fs.writeFileSync(tmpPath, JSON.stringify(registry, null, 2));
|
|
48
48
|
fs.renameSync(tmpPath, registryPath);
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Topic-profile resolution for a topic-bound direct spawn (POST /sessions/spawn).
|
|
52
|
+
*
|
|
53
|
+
* Mirrors spawnSessionForTopic's single resolution point: the topic's resolved
|
|
54
|
+
* profile supplies framework + model for every axis the request leaves unset
|
|
55
|
+
* (an explicit request value always wins). Returns `applied` — what the launch
|
|
56
|
+
* will actually carry, in the orchestrator's AppliedProfile shape — so the
|
|
57
|
+
* route can record it and the profile orchestrator never mistakes a freshly
|
|
58
|
+
* spawned session for one whose pin "wasn't applied".
|
|
59
|
+
*
|
|
60
|
+
* thinkingMode/effort are recorded as null: the direct spawn path has no
|
|
61
|
+
* launch control for them, and recording a value it did not apply would hide
|
|
62
|
+
* a real divergence.
|
|
63
|
+
*/
|
|
64
|
+
export function resolveTopicSpawnProfile(input) {
|
|
65
|
+
const passthrough = { framework: input.requestedFramework, model: input.requestedModel, applied: null };
|
|
66
|
+
if (!input.resolver || input.topicId === undefined)
|
|
67
|
+
return passthrough;
|
|
68
|
+
let resolved;
|
|
69
|
+
try {
|
|
70
|
+
resolved = input.resolver.resolve(input.topicId);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// @silent-fallback-ok: an unresolvable profile degrades to the request's
|
|
74
|
+
// own values (today's behaviour) and records nothing.
|
|
75
|
+
return passthrough;
|
|
76
|
+
}
|
|
77
|
+
const framework = input.requestedFramework ?? resolved.framework;
|
|
78
|
+
// The profile's model only rides a launch on the framework it was resolved
|
|
79
|
+
// for; a local-model binding is applied by the topic spawn path, not here.
|
|
80
|
+
const profileModelUsable = framework === resolved.framework
|
|
81
|
+
&& resolved.sources?.model !== 'local-model-binding';
|
|
82
|
+
const useProfileModel = input.requestedModel === undefined && profileModelUsable;
|
|
83
|
+
const model = input.requestedModel ?? (useProfileModel ? resolved.model : undefined);
|
|
84
|
+
return {
|
|
85
|
+
framework,
|
|
86
|
+
model,
|
|
87
|
+
applied: {
|
|
88
|
+
framework,
|
|
89
|
+
model: input.requestedModel !== undefined
|
|
90
|
+
? input.requestedModel
|
|
91
|
+
: useProfileModel
|
|
92
|
+
? (resolved.modelTier ? null : (resolved.model ?? null))
|
|
93
|
+
: null,
|
|
94
|
+
modelTier: useProfileModel ? (resolved.modelTier ?? null) : null,
|
|
95
|
+
thinkingMode: null,
|
|
96
|
+
effort: null,
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
}
|
|
50
100
|
//# sourceMappingURL=sessionSpawnTopicBinding.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionSpawnTopicBinding.js","sourceRoot":"","sources":["../../src/server/sessionSpawnTopicBinding.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessionSpawnTopicBinding.js","sourceRoot":"","sources":["../../src/server/sessionSpawnTopicBinding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selfActionRegistry.d.ts","sourceRoot":"","sources":["../../src/testing/selfActionRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA+BH,uFAAuF;AACvF,MAAM,WAAW,YAAY;IAC3B,KAAK,IAAI,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,gGAAgG;IAChG,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,wEAAwE;IACxE,eAAe,IAAI,OAAO,CAAC;IAC3B,8EAA8E;IAC9E,gBAAgB,IAAI,OAAO,CAAC;IAC5B,qFAAqF;IACrF,mBAAmB,IAAI,OAAO,CAAC;IAC/B,uGAAuG;IACvG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9C;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,4FAA4F;IAC5F,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,2BAA2B;AAC3B,wBAAgB,cAAc,IAAI,UAAU,CAY3C;AAED,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,iBAAiB,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,GAAG;QAAE,IAAI,IAAI,IAAI,CAAA;KAAE,CAAC;IAC1E,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,sGAAsG;IACtG,eAAe,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,0FAA0F;IAC1F,cAAc,EACV;QAAE,gBAAgB,EAAE,KAAK,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GACpD;QAAE,gBAAgB,EAAE,IAAI,CAAC;QAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,KAAK;YAAE,IAAI,IAAI,IAAI,CAAA;SAAE,CAAA;KAAE,CAAC;CAClH;
|
|
1
|
+
{"version":3,"file":"selfActionRegistry.d.ts","sourceRoot":"","sources":["../../src/testing/selfActionRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA+BH,uFAAuF;AACvF,MAAM,WAAW,YAAY;IAC3B,KAAK,IAAI,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,gGAAgG;IAChG,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,wEAAwE;IACxE,eAAe,IAAI,OAAO,CAAC;IAC3B,8EAA8E;IAC9E,gBAAgB,IAAI,OAAO,CAAC;IAC5B,qFAAqF;IACrF,mBAAmB,IAAI,OAAO,CAAC;IAC/B,uGAAuG;IACvG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9C;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,4FAA4F;IAC5F,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,2BAA2B;AAC3B,wBAAgB,cAAc,IAAI,UAAU,CAY3C;AAED,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,iBAAiB,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,GAAG;QAAE,IAAI,IAAI,IAAI,CAAA;KAAE,CAAC;IAC1E,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,sGAAsG;IACtG,eAAe,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,0FAA0F;IAC1F,cAAc,EACV;QAAE,gBAAgB,EAAE,KAAK,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GACpD;QAAE,gBAAgB,EAAE,IAAI,CAAC;QAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,KAAK;YAAE,IAAI,IAAI,IAAI,CAAA;SAAE,CAAA;KAAE,CAAC;CAClH;AAi5GD,eAAO,MAAM,uBAAuB,EAAE,oBAAoB,EAgFzD,CAAC"}
|
|
@@ -3530,6 +3530,68 @@ function preparingRunWatchdogModel(f, sink) {
|
|
|
3530
3530
|
f.durableState.delete('preparing-notice-at');
|
|
3531
3531
|
} };
|
|
3532
3532
|
}
|
|
3533
|
+
/**
|
|
3534
|
+
* machine-wedge-notice — the wedge dry-run operator notice (machine-self-maintenance
|
|
3535
|
+
* Part E rung 7; WedgeMonitor + MachineWedgeNotice). Off by default (its own flag);
|
|
3536
|
+
* modelled here with the flag ON, the worst case. The pressure: two evidence families
|
|
3537
|
+
* positive at every 2-minute sample, forever. Convergence shape: the judge and the
|
|
3538
|
+
* notice are keyed on a durable wedge CONDITION held in the host store, which closes
|
|
3539
|
+
* only on a real negative observation of one of its families or a new boot. A server
|
|
3540
|
+
* restart starts a fresh in-memory window, so the candidate re-forms 20 minutes later
|
|
3541
|
+
* as a new episode, but it is the same condition: no second notice. Across conditions
|
|
3542
|
+
* (a flapping machine, not this fixture) it is also capped at one ordinary and one
|
|
3543
|
+
* breaker notice per 24 hours.
|
|
3544
|
+
*/
|
|
3545
|
+
const machineWedgeNotice = {
|
|
3546
|
+
id: 'machine-wedge-notice',
|
|
3547
|
+
actionVerb: 'wedge-notify',
|
|
3548
|
+
models: 'src/monitoring/machineMaintenance/WedgeMonitor.ts (considerCandidate + sendNotice: durable condition latch, 24 h notice cap) via src/monitoring/MachineWedgeNotice.ts',
|
|
3549
|
+
modelsPath: 'src/monitoring/MachineWedgeNotice.ts',
|
|
3550
|
+
boundK: 1,
|
|
3551
|
+
perTargetBoundK: 1,
|
|
3552
|
+
ticks: 720,
|
|
3553
|
+
tickMs: 2 * 60_000, // 2-minute sampling while evidence is positive — 24 h of a wedge that never clears
|
|
3554
|
+
restartPosture: {
|
|
3555
|
+
pressureSurvives: true,
|
|
3556
|
+
restartUnderPressure: (f, sink) => makeMachineWedgeNotice(f, sink),
|
|
3557
|
+
},
|
|
3558
|
+
makeUnderPressure(f, sink) {
|
|
3559
|
+
return makeMachineWedgeNotice(f, sink);
|
|
3560
|
+
},
|
|
3561
|
+
};
|
|
3562
|
+
function makeMachineWedgeNotice(f, sink) {
|
|
3563
|
+
const WINDOW_MS = 20 * 60_000;
|
|
3564
|
+
const MIN_OBS = 3;
|
|
3565
|
+
const DAY_MS = 24 * 60 * 60_000;
|
|
3566
|
+
// In-memory: the evidence window (lost on restart, as in the real monitor).
|
|
3567
|
+
let run = null;
|
|
3568
|
+
return {
|
|
3569
|
+
tick() {
|
|
3570
|
+
sink.considered += 1;
|
|
3571
|
+
const now = f.clock.nowMs();
|
|
3572
|
+
// The pressure: both families positive at every sample (targetAlwaysRejects — the wedge never clears).
|
|
3573
|
+
const bothPositive = f.targetAlwaysRejects();
|
|
3574
|
+
if (!bothPositive) {
|
|
3575
|
+
// A real negative closes the durable condition (never reached under this fixture).
|
|
3576
|
+
f.durableState.delete('machine-wedge:condition');
|
|
3577
|
+
run = null;
|
|
3578
|
+
return;
|
|
3579
|
+
}
|
|
3580
|
+
run = run ? { startAt: run.startAt, observations: run.observations + 1 } : { startAt: now, observations: 1 };
|
|
3581
|
+
if (run.observations < MIN_OBS || now - run.startAt < WINDOW_MS)
|
|
3582
|
+
return;
|
|
3583
|
+
const condition = f.durableState.get('machine-wedge:condition');
|
|
3584
|
+
if (condition?.judged)
|
|
3585
|
+
return; // the same condition after a restart: no second notice
|
|
3586
|
+
f.durableState.set('machine-wedge:condition', { judged: true });
|
|
3587
|
+
const sent = (f.durableState.get('machine-wedge:notices') ?? []).filter((t) => now - t < DAY_MS);
|
|
3588
|
+
if (sent.length > 0)
|
|
3589
|
+
return;
|
|
3590
|
+
sink.emit({ verb: 'wedge-notify', target: 'machine:self' });
|
|
3591
|
+
f.durableState.set('machine-wedge:notices', [...sent, now]);
|
|
3592
|
+
},
|
|
3593
|
+
};
|
|
3594
|
+
}
|
|
3533
3595
|
export const SELF_ACTION_CONTROLLERS = [
|
|
3534
3596
|
desktopRelockGuardReplacement,
|
|
3535
3597
|
desktopLockedHelperRespawn,
|
|
@@ -3609,5 +3671,6 @@ export const SELF_ACTION_CONTROLLERS = [
|
|
|
3609
3671
|
deviceLimitSessionMove,
|
|
3610
3672
|
replicatedStoreReconcilerRetry,
|
|
3611
3673
|
preparingRunWatchdog,
|
|
3674
|
+
machineWedgeNotice,
|
|
3612
3675
|
];
|
|
3613
3676
|
//# sourceMappingURL=selfActionRegistry.js.map
|