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.
Files changed (86) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +74 -0
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/commands/setup-wizard/codex-driver.d.ts.map +1 -1
  5. package/dist/commands/setup-wizard/codex-driver.js +4 -3
  6. package/dist/commands/setup-wizard/codex-driver.js.map +1 -1
  7. package/dist/commands/setup-wizard/gemini-driver.d.ts.map +1 -1
  8. package/dist/commands/setup-wizard/gemini-driver.js +4 -3
  9. package/dist/commands/setup-wizard/gemini-driver.js.map +1 -1
  10. package/dist/commands/setup.d.ts.map +1 -1
  11. package/dist/commands/setup.js +2 -1
  12. package/dist/commands/setup.js.map +1 -1
  13. package/dist/commands/test-as-self.d.ts.map +1 -1
  14. package/dist/commands/test-as-self.js +4 -3
  15. package/dist/commands/test-as-self.js.map +1 -1
  16. package/dist/core/MessageSentinel.d.ts +89 -3
  17. package/dist/core/MessageSentinel.d.ts.map +1 -1
  18. package/dist/core/MessageSentinel.js +125 -48
  19. package/dist/core/MessageSentinel.js.map +1 -1
  20. package/dist/core/PostUpdateMigrator.d.ts +1 -0
  21. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  22. package/dist/core/PostUpdateMigrator.js +81 -0
  23. package/dist/core/PostUpdateMigrator.js.map +1 -1
  24. package/dist/core/StandardsRegistryParser.d.ts +1 -1
  25. package/dist/core/StandardsRegistryParser.d.ts.map +1 -1
  26. package/dist/core/StandardsRegistryParser.js +9 -0
  27. package/dist/core/StandardsRegistryParser.js.map +1 -1
  28. package/dist/core/types.d.ts +31 -0
  29. package/dist/core/types.d.ts.map +1 -1
  30. package/dist/core/types.js.map +1 -1
  31. package/dist/data/standards-guard-index.json +190 -10
  32. package/dist/data/standards-guard-index.meta.json +3 -3
  33. package/dist/data/standards-registry.md +216 -114
  34. package/dist/data/standards-registry.meta.json +3 -3
  35. package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
  36. package/dist/lifeline/TelegramLifeline.js +33 -6
  37. package/dist/lifeline/TelegramLifeline.js.map +1 -1
  38. package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
  39. package/dist/messaging/TelegramAdapter.js +111 -4
  40. package/dist/messaging/TelegramAdapter.js.map +1 -1
  41. package/dist/messaging/invisible-payload.d.ts +157 -0
  42. package/dist/messaging/invisible-payload.d.ts.map +1 -0
  43. package/dist/messaging/invisible-payload.js +885 -0
  44. package/dist/messaging/invisible-payload.js.map +1 -0
  45. package/dist/messaging/telegram-egress.d.ts +27 -0
  46. package/dist/messaging/telegram-egress.d.ts.map +1 -0
  47. package/dist/messaging/telegram-egress.js +494 -0
  48. package/dist/messaging/telegram-egress.js.map +1 -0
  49. package/dist/monitoring/guardManifest.d.ts.map +1 -1
  50. package/dist/monitoring/guardManifest.js +19 -1
  51. package/dist/monitoring/guardManifest.js.map +1 -1
  52. package/dist/server/CapabilityIndex.js +2 -2
  53. package/dist/server/CapabilityIndex.js.map +1 -1
  54. package/dist/server/routes.d.ts.map +1 -1
  55. package/dist/server/routes.js +73 -1
  56. package/dist/server/routes.js.map +1 -1
  57. package/package.json +2 -2
  58. package/scripts/blocking-decision-surfaces-baseline.json +144 -0
  59. package/scripts/generate-standards-hierarchy.mjs +289 -0
  60. package/scripts/lint-blocking-decisions-declared.mjs +192 -0
  61. package/scripts/lint-dispatch-withholds-answer.mjs +143 -0
  62. package/scripts/lint-documented-only-countdown.mjs +284 -0
  63. package/scripts/lint-no-duplicate-definitions.mjs +162 -0
  64. package/scripts/lint-recall-surface-names-match-mechanism.mjs +188 -0
  65. package/scripts/lint-registry-tree-parentage.mjs +165 -0
  66. package/scripts/lint-single-governing-obligation.mjs +321 -0
  67. package/scripts/lint-telegram-egress-boundary.mjs +256 -0
  68. package/scripts/standards-coverage.mjs +91 -2
  69. package/skills/spec-converge/scripts/write-convergence-tag.mjs +22 -4
  70. package/skills/spec-converge/templates/reviewer-adversarial.md +6 -0
  71. package/skills/spec-converge/templates/reviewer-cross-model.md +6 -0
  72. package/skills/spec-converge/templates/reviewer-decision-completeness.md +6 -0
  73. package/skills/spec-converge/templates/reviewer-integration.md +6 -0
  74. package/skills/spec-converge/templates/reviewer-lessons-aware.md +6 -0
  75. package/skills/spec-converge/templates/reviewer-scalability.md +6 -0
  76. package/skills/spec-converge/templates/reviewer-security.md +6 -0
  77. package/src/data/builtin-manifest.json +64 -64
  78. package/src/data/standards-guard-index.json +190 -10
  79. package/src/data/standards-guard-index.meta.json +3 -3
  80. package/src/data/standards-registry.md +216 -114
  81. package/src/data/standards-registry.meta.json +3 -3
  82. package/upgrades/1.3.1128.md +106 -0
  83. package/upgrades/1.3.1129.md +70 -0
  84. package/upgrades/side-effects/standards-placement-verdicts-ratified.md +139 -0
  85. package/upgrades/side-effects/telegram-invisible-payload-guard.md +539 -0
  86. 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,CAg7qBtE;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"}
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"}
@@ -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