instar 1.3.1127 → 1.3.1129
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 +74 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/commands/setup-wizard/codex-driver.d.ts.map +1 -1
- package/dist/commands/setup-wizard/codex-driver.js +4 -3
- package/dist/commands/setup-wizard/codex-driver.js.map +1 -1
- package/dist/commands/setup-wizard/gemini-driver.d.ts.map +1 -1
- package/dist/commands/setup-wizard/gemini-driver.js +4 -3
- package/dist/commands/setup-wizard/gemini-driver.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +2 -1
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/test-as-self.d.ts.map +1 -1
- package/dist/commands/test-as-self.js +4 -3
- package/dist/commands/test-as-self.js.map +1 -1
- package/dist/core/MessageSentinel.d.ts +89 -3
- package/dist/core/MessageSentinel.d.ts.map +1 -1
- package/dist/core/MessageSentinel.js +125 -48
- package/dist/core/MessageSentinel.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +81 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/StandardsRegistryParser.d.ts +1 -1
- package/dist/core/StandardsRegistryParser.d.ts.map +1 -1
- package/dist/core/StandardsRegistryParser.js +9 -0
- package/dist/core/StandardsRegistryParser.js.map +1 -1
- package/dist/core/types.d.ts +31 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/data/standards-guard-index.json +190 -10
- package/dist/data/standards-guard-index.meta.json +3 -3
- package/dist/data/standards-registry.md +216 -114
- package/dist/data/standards-registry.meta.json +3 -3
- package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
- package/dist/lifeline/TelegramLifeline.js +33 -6
- package/dist/lifeline/TelegramLifeline.js.map +1 -1
- package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
- package/dist/messaging/TelegramAdapter.js +111 -4
- package/dist/messaging/TelegramAdapter.js.map +1 -1
- package/dist/messaging/invisible-payload.d.ts +157 -0
- package/dist/messaging/invisible-payload.d.ts.map +1 -0
- package/dist/messaging/invisible-payload.js +885 -0
- package/dist/messaging/invisible-payload.js.map +1 -0
- package/dist/messaging/telegram-egress.d.ts +27 -0
- package/dist/messaging/telegram-egress.d.ts.map +1 -0
- package/dist/messaging/telegram-egress.js +494 -0
- package/dist/messaging/telegram-egress.js.map +1 -0
- package/dist/monitoring/guardManifest.d.ts.map +1 -1
- package/dist/monitoring/guardManifest.js +19 -1
- package/dist/monitoring/guardManifest.js.map +1 -1
- package/dist/server/CapabilityIndex.js +2 -2
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +73 -1
- package/dist/server/routes.js.map +1 -1
- package/package.json +2 -2
- package/scripts/blocking-decision-surfaces-baseline.json +144 -0
- package/scripts/generate-standards-hierarchy.mjs +289 -0
- package/scripts/lint-blocking-decisions-declared.mjs +192 -0
- package/scripts/lint-dispatch-withholds-answer.mjs +143 -0
- package/scripts/lint-documented-only-countdown.mjs +284 -0
- package/scripts/lint-no-duplicate-definitions.mjs +162 -0
- package/scripts/lint-recall-surface-names-match-mechanism.mjs +188 -0
- package/scripts/lint-registry-tree-parentage.mjs +165 -0
- package/scripts/lint-single-governing-obligation.mjs +321 -0
- package/scripts/lint-telegram-egress-boundary.mjs +256 -0
- package/scripts/standards-coverage.mjs +91 -2
- package/skills/spec-converge/scripts/write-convergence-tag.mjs +22 -4
- package/skills/spec-converge/templates/reviewer-adversarial.md +6 -0
- package/skills/spec-converge/templates/reviewer-cross-model.md +6 -0
- package/skills/spec-converge/templates/reviewer-decision-completeness.md +6 -0
- package/skills/spec-converge/templates/reviewer-integration.md +6 -0
- package/skills/spec-converge/templates/reviewer-lessons-aware.md +6 -0
- package/skills/spec-converge/templates/reviewer-scalability.md +6 -0
- package/skills/spec-converge/templates/reviewer-security.md +6 -0
- package/src/data/builtin-manifest.json +64 -64
- package/src/data/standards-guard-index.json +190 -10
- package/src/data/standards-guard-index.meta.json +3 -3
- package/src/data/standards-registry.md +216 -114
- package/src/data/standards-registry.meta.json +3 -3
- package/upgrades/1.3.1128.md +106 -0
- package/upgrades/1.3.1129.md +70 -0
- package/upgrades/side-effects/standards-placement-verdicts-ratified.md +139 -0
- package/upgrades/side-effects/telegram-invisible-payload-guard.md +539 -0
- package/upgrades/side-effects/window8-ruling-settlement-guards.md +1134 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+EH,OAAO,EAAE,cAAc,EAAkC,MAAM,2BAA2B,CAAC;AAU3F,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA0BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAgI7D,OAAO,KAAK,EAAW,oBAAoB,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgFtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAuID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA+rDD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,oBAAoB,GAAG,IAAI,GACxC;IACD,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,EAQrD,oBAAoB,CAAC,EAAE,MAAM;IAC3B,YAAY,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,GACP,IAAI,CAwtBN;AAgmBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+EH,OAAO,EAAE,cAAc,EAAkC,MAAM,2BAA2B,CAAC;AAU3F,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA0BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAgI7D,OAAO,KAAK,EAAW,oBAAoB,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgFtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAuID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA+rDD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,oBAAoB,GAAG,IAAI,GACxC;IACD,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,EAQrD,oBAAoB,CAAC,EAAE,MAAM;IAC3B,YAAY,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,GACP,IAAI,CAwtBN;AAgmBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6/qBtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
|
package/dist/commands/server.js
CHANGED
|
@@ -6642,6 +6642,80 @@ export async function startServer(options) {
|
|
|
6642
6642
|
scheduler.setIntegrationGate(integrationGate);
|
|
6643
6643
|
scheduler.start();
|
|
6644
6644
|
console.log(pc.green(' Scheduler started'));
|
|
6645
|
+
// ── CrashLoopPauser (B3.1) — the construction that was missing ──────
|
|
6646
|
+
//
|
|
6647
|
+
// The class shipped written and unit-tested with EIGHT constructions in
|
|
6648
|
+
// its own test file and ZERO in production source, while a job failed 492
|
|
6649
|
+
// consecutive times and nothing paused it. The tests measured "this class
|
|
6650
|
+
// behaves correctly when constructed" and were read as "this guard works."
|
|
6651
|
+
// That gap is the whole finding; this block closes it.
|
|
6652
|
+
//
|
|
6653
|
+
// Ships DRY-RUN by default because pausing disables a job — real
|
|
6654
|
+
// authority. `dryRun: true` evaluates and logs the intended pause without
|
|
6655
|
+
// rewriting the jobs file, so the graduated-rollout ladder is walked
|
|
6656
|
+
// rather than skipped.
|
|
6657
|
+
const clpCfg = config.monitoring?.crashLoopPauser ?? {};
|
|
6658
|
+
if (clpCfg.enabled !== false) {
|
|
6659
|
+
const { CrashLoopPauser } = await import('../monitoring/CrashLoopPauser.js');
|
|
6660
|
+
const clpDryRun = clpCfg.dryRun !== false;
|
|
6661
|
+
const sched = scheduler;
|
|
6662
|
+
const pauser = new CrashLoopPauser(sched.getRunHistory(), {
|
|
6663
|
+
windowHours: clpCfg.windowHours,
|
|
6664
|
+
failureThreshold: clpCfg.failureThreshold,
|
|
6665
|
+
shortRunThreshold: clpCfg.shortRunThreshold,
|
|
6666
|
+
// Config slugs ADD to the built-in deny-list; they never replace it,
|
|
6667
|
+
// so an operator cannot accidentally make session-reaper pausable by
|
|
6668
|
+
// naming one unrelated job.
|
|
6669
|
+
neverPause: clpCfg.neverPause?.length
|
|
6670
|
+
? new Set([
|
|
6671
|
+
'infrastructure-auto-fixer', 'orphan-reaper', 'session-reaper',
|
|
6672
|
+
...clpCfg.neverPause,
|
|
6673
|
+
])
|
|
6674
|
+
: undefined,
|
|
6675
|
+
});
|
|
6676
|
+
let clpLastResult = null;
|
|
6677
|
+
let clpLastError = null;
|
|
6678
|
+
const runCrashLoopPass = () => {
|
|
6679
|
+
try {
|
|
6680
|
+
const result = pauser.run({
|
|
6681
|
+
jobs: sched.getJobs(),
|
|
6682
|
+
jobsFile: config.scheduler.jobsFile,
|
|
6683
|
+
dryRun: clpDryRun,
|
|
6684
|
+
});
|
|
6685
|
+
clpLastResult = {
|
|
6686
|
+
candidates: result.candidates.length,
|
|
6687
|
+
paused: result.paused,
|
|
6688
|
+
dryRun: result.dryRun,
|
|
6689
|
+
at: new Date().toISOString(),
|
|
6690
|
+
};
|
|
6691
|
+
clpLastError = null;
|
|
6692
|
+
if (result.candidates.length > 0) {
|
|
6693
|
+
const verb = result.dryRun ? 'WOULD pause' : 'paused';
|
|
6694
|
+
console.log(pc.yellow(` CrashLoopPauser: ${verb} ${result.candidates.length} job(s) — ` +
|
|
6695
|
+
result.candidates.map((c) => `${c.slug} (${c.reason}, ${c.failureCount} failures)`).join(', ')));
|
|
6696
|
+
}
|
|
6697
|
+
}
|
|
6698
|
+
catch (err) {
|
|
6699
|
+
// Never let a pauser fault take down the boot path or the interval.
|
|
6700
|
+
clpLastError = err instanceof Error ? err.message : String(err);
|
|
6701
|
+
console.error(pc.red(` CrashLoopPauser pass failed: ${clpLastError}`));
|
|
6702
|
+
}
|
|
6703
|
+
};
|
|
6704
|
+
const clpInitialDelay = clpCfg.initialPassDelayMs ?? 10 * 60_000;
|
|
6705
|
+
if (clpInitialDelay > 0)
|
|
6706
|
+
setTimeout(runCrashLoopPass, clpInitialDelay).unref?.();
|
|
6707
|
+
const clpInterval = setInterval(runCrashLoopPass, clpCfg.intervalMs ?? 60 * 60_000);
|
|
6708
|
+
clpInterval.unref?.();
|
|
6709
|
+
// Registered as a real guard: it is no longer scheduler-internal
|
|
6710
|
+
// mechanics once it is constructed and running on its own cadence.
|
|
6711
|
+
guardRegistry.register('monitoring.crashLoopPauser', () => ({
|
|
6712
|
+
enabled: true,
|
|
6713
|
+
dryRun: clpDryRun,
|
|
6714
|
+
lastResult: clpLastResult,
|
|
6715
|
+
lastError: clpLastError,
|
|
6716
|
+
}));
|
|
6717
|
+
console.log(pc.green(` CrashLoopPauser: wired at boot (${clpDryRun ? 'DRY-RUN — logs intended pauses only' : 'ARMED — will disable crash-looping jobs'})`));
|
|
6718
|
+
}
|
|
6645
6719
|
// Wire up Baseline TelemetryCollector now that scheduler is available
|
|
6646
6720
|
if (telemetryHeartbeat && scheduler) {
|
|
6647
6721
|
const sched = scheduler; // capture for closure narrowing
|