instar 1.3.1018 → 1.3.1020

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 (56) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +81 -0
  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 +12 -0
  6. package/dist/config/ConfigDefaults.js.map +1 -1
  7. package/dist/core/componentCategories.d.ts.map +1 -1
  8. package/dist/core/componentCategories.js +2 -0
  9. package/dist/core/componentCategories.js.map +1 -1
  10. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  11. package/dist/core/devGatedFeatures.js +6 -0
  12. package/dist/core/devGatedFeatures.js.map +1 -1
  13. package/dist/core/types.d.ts +16 -0
  14. package/dist/core/types.d.ts.map +1 -1
  15. package/dist/core/types.js.map +1 -1
  16. package/dist/data/llmBenchCoverage.d.ts.map +1 -1
  17. package/dist/data/llmBenchCoverage.js +10 -0
  18. package/dist/data/llmBenchCoverage.js.map +1 -1
  19. package/dist/data/provenanceCoverage.d.ts +4 -0
  20. package/dist/data/provenanceCoverage.d.ts.map +1 -1
  21. package/dist/data/provenanceCoverage.js +24 -0
  22. package/dist/data/provenanceCoverage.js.map +1 -1
  23. package/dist/memory/TopicMemory.d.ts +12 -0
  24. package/dist/memory/TopicMemory.d.ts.map +1 -1
  25. package/dist/memory/TopicMemory.js +49 -14
  26. package/dist/memory/TopicMemory.js.map +1 -1
  27. package/dist/messaging/TelegramAdapter.d.ts +1 -0
  28. package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
  29. package/dist/messaging/TelegramAdapter.js +1 -0
  30. package/dist/messaging/TelegramAdapter.js.map +1 -1
  31. package/dist/messaging/shared/MessageLogger.d.ts +3 -0
  32. package/dist/messaging/shared/MessageLogger.d.ts.map +1 -1
  33. package/dist/messaging/shared/MessageLogger.js.map +1 -1
  34. package/dist/messaging/slack/SlackApiClient.d.ts.map +1 -1
  35. package/dist/messaging/slack/SlackApiClient.js.map +1 -1
  36. package/dist/monitoring/GoalRealignment.d.ts +404 -0
  37. package/dist/monitoring/GoalRealignment.d.ts.map +1 -0
  38. package/dist/monitoring/GoalRealignment.js +1293 -0
  39. package/dist/monitoring/GoalRealignment.js.map +1 -0
  40. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  41. package/dist/server/CapabilityIndex.js +9 -0
  42. package/dist/server/CapabilityIndex.js.map +1 -1
  43. package/dist/server/routes.d.ts.map +1 -1
  44. package/dist/server/routes.js +26 -0
  45. package/dist/server/routes.js.map +1 -1
  46. package/package.json +2 -1
  47. package/skills/spec-converge/scripts/write-convergence-tag.mjs +39 -3
  48. package/src/data/builtin-manifest.json +46 -46
  49. package/src/data/llmBenchCoverage.ts +10 -0
  50. package/src/data/provenanceCoverage.ts +30 -0
  51. package/src/data/state-coherence-registry.json +55 -0
  52. package/upgrades/1.3.1019.md +49 -0
  53. package/upgrades/1.3.1020.md +54 -0
  54. package/upgrades/periodic-goal-realignment-phase1.eli16.md +56 -0
  55. package/upgrades/side-effects/openq-gate-numbered-headings.md +47 -0
  56. package/upgrades/side-effects/periodic-goal-realignment-phase1.md +222 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA4EH,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;AA8H7D,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,CAigqBtE;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;AA4EH,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;AA8H7D,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,CA0mqBtE;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"}
@@ -7230,6 +7230,7 @@ export async function startServer(options) {
7230
7230
  senderName: entry.senderName,
7231
7231
  senderUsername: entry.senderUsername,
7232
7232
  telegramUserId: entry.telegramUserId,
7233
+ forwarded: entry.forwarded,
7233
7234
  });
7234
7235
  }
7235
7236
  };
@@ -12957,6 +12958,86 @@ export async function startServer(options) {
12957
12958
  console.log(`[SpeakerElection.ownerLiveness] would-fall-through topic=${o.topicId} owner=${o.owner} self=${o.self} rule=${o.rule} online=${o.onlinePool.length}`);
12958
12959
  },
12959
12960
  });
12961
+ // ── Periodic Goal Re-Alignment Phase 1 ("see it") ───────────────
12962
+ // This boot path is intentionally independent of PresenceProxy and of LLM
12963
+ // availability. Intake evidence still enters the durable candidate inbox
12964
+ // when the provider is unavailable; failures stay pull-visible.
12965
+ const goalRealignmentCfg = config.monitoring?.goalRealignment;
12966
+ if (telegram && resolveDevAgentGate(goalRealignmentCfg?.enabled, config)) {
12967
+ try {
12968
+ const { AlignmentReviewer, GoalRealignmentCoordinator, GoalRealignmentIntake, PriorityLedger, ALIGNMENT_REVIEW_PROMPT_ID, GOAL_PRIORITY_PROMPT_ID, createAlignmentReviewFn, createPriorityExtractionFn, } = await import('../monitoring/GoalRealignment.js');
12969
+ const { AutonomousRunStore } = await import('../core/AutonomousRunStore.js');
12970
+ const { TopicOperatorStore } = await import('../users/TopicOperatorStore.js');
12971
+ const ledger = new PriorityLedger({ stateDir: config.stateDir });
12972
+ const unavailable = {
12973
+ evaluate: async () => { throw new Error('goal-realignment-intelligence-unavailable'); },
12974
+ };
12975
+ const queued = sharedIntelligence
12976
+ ? {
12977
+ evaluate: (prompt, options) => sharedLlmQueue.enqueue('background', () => sharedIntelligence.evaluate(prompt, {
12978
+ ...options,
12979
+ // The two registered callers always supply their own exact
12980
+ // component. This literal fallback also keeps the shared
12981
+ // queue boundary legible to the static attribution ratchet.
12982
+ attribution: options.attribution ?? { component: 'GoalPriorityExtractor' },
12983
+ }), 0.25),
12984
+ }
12985
+ : unavailable;
12986
+ const intake = new GoalRealignmentIntake({
12987
+ ledger,
12988
+ extract: createPriorityExtractionFn(queued),
12989
+ promptId: GOAL_PRIORITY_PROMPT_ID,
12990
+ model: 'fast',
12991
+ });
12992
+ const reviewer = new AlignmentReviewer({
12993
+ stateDir: config.stateDir,
12994
+ ledger,
12995
+ // Phase 1 is structurally dry-run. An accidental config false
12996
+ // cannot create injection because no such dependency exists.
12997
+ dryRun: true,
12998
+ review: createAlignmentReviewFn(queued),
12999
+ promptId: ALIGNMENT_REVIEW_PROMPT_ID,
13000
+ model: 'fast',
13001
+ maxPriorities: goalRealignmentCfg?.maxPriorities ?? 40,
13002
+ });
13003
+ const runStore = new AutonomousRunStore(config.stateDir);
13004
+ const coordinator = new GoalRealignmentCoordinator({
13005
+ stateDir: config.stateDir,
13006
+ intake,
13007
+ reviewer,
13008
+ listActiveRuns: () => runStore.listActive().map((run) => ({
13009
+ topicId: run.topicId,
13010
+ runId: run.runId,
13011
+ condition: run.condition,
13012
+ })),
13013
+ // Fresh instance per read avoids a stale cache beside AgentServer's
13014
+ // single authoritative writer instance.
13015
+ getOperatorUid: (topicId) => new TopicOperatorStore(path.join(config.stateDir, 'state'))
13016
+ .getOperator(topicId)?.uid ?? null,
13017
+ getRecentVerifiedRows: topicMemory
13018
+ ? (topicId, sinceIso, limit) => topicMemory.getMessagesSince(topicId, sinceIso, limit)
13019
+ : undefined,
13020
+ cadenceMinutes: goalRealignmentCfg?.cadenceMinutes ?? 60,
13021
+ recencyDays: goalRealignmentCfg?.recencyDays ?? 7,
13022
+ onError: (stage, error, topicId) => {
13023
+ console.warn(`[GoalRealignment] ${stage} failed${topicId == null ? '' : ` for topic ${topicId}`}: `
13024
+ + `${error instanceof Error ? error.message : String(error)}`);
13025
+ },
13026
+ });
13027
+ const beforeGoalRealignmentCb = telegram.onMessageLogged;
13028
+ telegram.onMessageLogged = (entry) => {
13029
+ if (beforeGoalRealignmentCb)
13030
+ beforeGoalRealignmentCb(entry);
13031
+ coordinator.ingestLogged(entry);
13032
+ };
13033
+ coordinator.start();
13034
+ globalThis.__instarGoalRealignmentWired = true;
13035
+ console.log(pc.green(' Goal realignment Phase 1 wired (durable ledger + dry-run reviewer)'));
13036
+ }
13037
+ catch (error) {
13038
+ console.warn('[GoalRealignment] init failed:', error instanceof Error ? error.message : String(error));
13039
+ }
13040
+ }
12960
13041
  let presenceProxy;
12961
13042
  if (sharedIntelligence && telegram) {
12962
13043
  try {