instar 1.3.1109 → 1.3.1111

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 (58) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +42 -27
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  5. package/dist/config/ConfigDefaults.js +15 -0
  6. package/dist/config/ConfigDefaults.js.map +1 -1
  7. package/dist/core/CartographerSweepEngine.d.ts +0 -4
  8. package/dist/core/CartographerSweepEngine.d.ts.map +1 -1
  9. package/dist/core/CartographerSweepEngine.js +14 -127
  10. package/dist/core/CartographerSweepEngine.js.map +1 -1
  11. package/dist/core/PostUpdateMigrator.js +1 -1
  12. package/dist/core/PostUpdateMigrator.js.map +1 -1
  13. package/dist/core/cartographerDetect.d.ts +12 -0
  14. package/dist/core/cartographerDetect.d.ts.map +1 -1
  15. package/dist/core/cartographerDetect.js +82 -27
  16. package/dist/core/cartographerDetect.js.map +1 -1
  17. package/dist/core/cartographerDetectWorker.d.ts +17 -0
  18. package/dist/core/cartographerDetectWorker.d.ts.map +1 -0
  19. package/dist/core/cartographerDetectWorker.js +99 -0
  20. package/dist/core/cartographerDetectWorker.js.map +1 -0
  21. package/dist/core/cartographerPopulation.d.ts +39 -0
  22. package/dist/core/cartographerPopulation.d.ts.map +1 -0
  23. package/dist/core/cartographerPopulation.js +78 -0
  24. package/dist/core/cartographerPopulation.js.map +1 -0
  25. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  26. package/dist/core/devGatedFeatures.js +6 -0
  27. package/dist/core/devGatedFeatures.js.map +1 -1
  28. package/dist/core/types.d.ts +27 -1
  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 +1 -1
  32. package/dist/data/standards-guard-index.meta.json +2 -2
  33. package/dist/data/standards-registry.meta.json +1 -1
  34. package/dist/monitoring/UndatedActionResurfacer.d.ts +278 -0
  35. package/dist/monitoring/UndatedActionResurfacer.d.ts.map +1 -0
  36. package/dist/monitoring/UndatedActionResurfacer.js +799 -0
  37. package/dist/monitoring/UndatedActionResurfacer.js.map +1 -0
  38. package/dist/server/AgentServer.d.ts +1 -0
  39. package/dist/server/AgentServer.d.ts.map +1 -1
  40. package/dist/server/AgentServer.js +60 -0
  41. package/dist/server/AgentServer.js.map +1 -1
  42. package/dist/server/routes.d.ts +2 -0
  43. package/dist/server/routes.d.ts.map +1 -1
  44. package/dist/server/routes.js +25 -2
  45. package/dist/server/routes.js.map +1 -1
  46. package/dist/testing/selfActionRegistry.d.ts.map +1 -1
  47. package/dist/testing/selfActionRegistry.js +48 -0
  48. package/dist/testing/selfActionRegistry.js.map +1 -1
  49. package/package.json +1 -1
  50. package/src/data/builtin-manifest.json +64 -64
  51. package/src/data/standards-guard-index.json +1 -1
  52. package/src/data/standards-guard-index.meta.json +2 -2
  53. package/src/data/standards-registry.meta.json +1 -1
  54. package/src/data/state-coherence-registry.json +19 -0
  55. package/upgrades/1.3.1110.md +25 -0
  56. package/upgrades/1.3.1111.md +57 -0
  57. package/upgrades/side-effects/cartographer-structural-population.md +139 -0
  58. package/upgrades/side-effects/undated-action-resurfacer.md +257 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8EH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA0BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA+H7D,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,CAqzqBtE;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;AA8EH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,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,CAk0qBtE;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"}
@@ -170,6 +170,7 @@ import { createPrivateKey, createPublicKey, createHash, randomBytes, randomInt }
170
170
  import { sign as signEd25519, verify as verifyEd25519 } from '../core/MachineIdentity.js';
171
171
  import { ProjectMapper } from '../core/ProjectMapper.js';
172
172
  import { CartographerTree } from '../core/CartographerTree.js';
173
+ import { populateCartographer } from '../core/cartographerPopulation.js';
173
174
  import { CapabilityMapper } from '../core/CapabilityMapper.js';
174
175
  import { ScopeVerifier } from '../core/ScopeVerifier.js';
175
176
  import { ContextHierarchy, checkDeclaredIdentityDirectory } from '../core/ContextHierarchy.js';
@@ -14313,30 +14314,40 @@ export async function startServer(options) {
14313
14314
  : null;
14314
14315
  if (cartographer)
14315
14316
  console.log(pc.green(' Cartographer doc-tree enabled'));
14316
- // fix instar#1069: build the structural index ONCE at boot, OFF the request path,
14317
- // in chunks that yield the event loop replacing the per-request lazy scaffold()
14318
- // that froze /health. Fire-and-forget (boot is not blocked); P19 time ceiling so a
14319
- // pathological tree can't run forever (next boot retries; routes serve not-built
14320
- // meanwhile). Skipped when an index already exists.
14321
- if (cartographer && !fs.existsSync(cartographer.indexFilePath())) {
14322
- const scCfg = config.cartographer?.freshnessSweep;
14323
- const chunkNodes = typeof scCfg?.scaffoldChunkNodes === 'number' ? scCfg.scaffoldChunkNodes : 500;
14324
- const scaffoldStartedAt = Date.now();
14325
- void cartographer.scaffoldChunked({
14326
- chunkNodes,
14327
- onYield: () => new Promise((r) => setImmediate(r)),
14328
- shouldAbort: () => Date.now() - scaffoldStartedAt > 10 * 60_000, // P19: 10-min ceiling, retry next boot
14329
- }).then(() => {
14330
- console.log(pc.gray(' Cartographer index built (boot scaffold)'));
14331
- }).catch((err) => {
14332
- // @silent-fallback-ok — the boot scaffold is best-effort by design (fix
14333
- // instar#1069 P19): a partial run never produces a readable index (atomic
14334
- // tmp+rename), routes serve indexState:'not-built' honestly, and the next
14335
- // boot retries. The yellow log line is the operator surface; failing the
14336
- // boot over a map-build would invert the feature's priority.
14337
- console.log(pc.yellow(` Cartographer boot scaffold incomplete (retries next boot): ${err instanceof Error ? err.message : String(err)}`));
14338
- });
14339
- }
14317
+ // Zero-cost structural population is independent of the optional summary
14318
+ // author sweep. Refresh at every boot so newly-added/removed paths join the
14319
+ // hierarchy, then run aggregate-only detect in a worker and publish the
14320
+ // snapshot that /tree?format=compact + /health serve. No router, LLM, egress,
14321
+ // or freshnessSweep.enabled mutation occurs on this path.
14322
+ const cartographerPopulationReady = cartographer
14323
+ ? (() => {
14324
+ const fsCfg = config.cartographer?.freshnessSweep;
14325
+ const num = (v, d) => (typeof v === 'number' && Number.isFinite(v) ? v : d);
14326
+ return populateCartographer({
14327
+ tree: cartographer,
14328
+ config: {
14329
+ scaffoldChunkNodes: num(fsCfg?.scaffoldChunkNodes, 500),
14330
+ detectTimeoutMs: num(fsCfg?.detectTimeoutMs, 120000),
14331
+ detectWorkerHeapMb: num(fsCfg?.detectWorkerHeapMb, 1536),
14332
+ maxIndexBytes: num(fsCfg?.maxIndexBytes, 200 * 1024 * 1024),
14333
+ snapshotSampleMax: num(fsCfg?.snapshotSampleMax, 500),
14334
+ gitMaxBuffer: num(fsCfg?.gitMaxBuffer, 64 * 1024 * 1024),
14335
+ graceMs: num(fsCfg?.cadenceMs, 600000) * 2,
14336
+ },
14337
+ }).then((r) => {
14338
+ if (r.refused) {
14339
+ console.log(pc.yellow(` Cartographer population snapshot refused (${r.detectStatus}); retries next boot`));
14340
+ }
14341
+ else {
14342
+ console.log(pc.gray(` Cartographer hierarchy populated (${r.nodeCount} nodes)`));
14343
+ }
14344
+ }).catch((err) => {
14345
+ // @silent-fallback-ok — scaffold is atomic and boot remains available;
14346
+ // prior snapshot/index stay readable and the next boot retries.
14347
+ console.log(pc.yellow(` Cartographer population incomplete (retries next boot): ${err instanceof Error ? err.message : String(err)}`));
14348
+ });
14349
+ })()
14350
+ : null;
14340
14351
  // Cartographer doc-freshness sweep (spec #2). In-process poller that authors
14341
14352
  // stale/never-authored node summaries on a LIGHT model routed OFF Claude.
14342
14353
  // Ships dark behind freshnessSweep.enabled ONLY — the redundant egressAcknowledged
@@ -14432,8 +14443,12 @@ export async function startServer(options) {
14432
14443
  }
14433
14444
  catch { /* never break boot on a report */ } },
14434
14445
  });
14435
- cartographerSweepPoller.start();
14436
- console.log(pc.green(' Cartographer doc-freshness sweep enabled (off-Claude, lease-gated)'));
14446
+ // Structural refresh owns the index first; only then may the optional
14447
+ // author loop mutate it. This closes the boot scaffold/sweep write race.
14448
+ void (cartographerPopulationReady ?? Promise.resolve()).then(() => {
14449
+ cartographerSweepPoller?.start();
14450
+ console.log(pc.green(' Cartographer doc-freshness sweep enabled (off-Claude, lease-gated)'));
14451
+ });
14437
14452
  }
14438
14453
  }
14439
14454
  }
@@ -18709,7 +18724,7 @@ export async function startServer(options) {
18709
18724
  // WS1.1 capability advertisement (spec invariant 5): a bounded
18710
18725
  // fixed-size summary, never an inventory. Reported live each
18711
18726
  // heartbeat so a queue going dark withdraws the capability.
18712
- seamlessnessFlags: { ws11DeliverReceive: !!_inboundQueue, ws12DrainReceive: !!_drainRunner, ws44PoolLinks: !!_poolLink, ws44PoolCache: !!_poolPollCache, ws43JournalLease: resolveDevAgentGate(config.multiMachine?.seamlessness?.ws43JournalLease, config) && (config.multiMachine?.seamlessness?.ws43JournalLeaseDryRun ?? !resolveDevAgentGate(undefined, config)) !== true, stateSyncReceive: selfStateSyncReceive() },
18727
+ seamlessnessFlags: { ws11DeliverReceive: !!_inboundQueue, ws12DrainReceive: !!_drainRunner, ws44PoolLinks: !!_poolLink, ws44PoolCache: !!_poolPollCache, ws43JournalLease: resolveDevAgentGate(config.multiMachine?.seamlessness?.ws43JournalLease, config) && (config.multiMachine?.seamlessness?.ws43JournalLeaseDryRun ?? !resolveDevAgentGate(undefined, config)) !== true, stateSyncReceive: selfStateSyncReceive(), undatedActionStateOwnerMachineId: config.evolutionActions?.undatedResurfacer?.stateOwnerMachineId?.trim() || null },
18713
18728
  // Machine-coherence advert (machine-coherence-guard §3.2).
18714
18729
  // Emission is UNCONDITIONAL (M3, normative): it ships live with
18715
18730
  // the code, regardless of the sentinel's dev-gate/enabled/dryRun