@monoes/monomindcli 2.7.13 → 2.7.14

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 (140) hide show
  1. package/.claude/commands/mastermind/createorg.md +2 -0
  2. package/.claude/commands/mastermind/okf-import.md +6 -1
  3. package/.claude/helpers/handlers/route-handler.cjs +40 -7
  4. package/.claude/helpers/handlers/session-restore-handler.cjs +24 -6
  5. package/.claude/skills/mastermind-createorg/SKILL.md +11 -4
  6. package/README.md +12 -6
  7. package/dist/src/capabilities/index.d.ts.map +1 -1
  8. package/dist/src/capabilities/index.js +17 -0
  9. package/dist/src/capabilities/index.js.map +1 -1
  10. package/dist/src/capabilities/types.d.ts +0 -11
  11. package/dist/src/capabilities/types.d.ts.map +1 -1
  12. package/dist/src/commands/doc.d.ts.map +1 -1
  13. package/dist/src/commands/doc.js +251 -8
  14. package/dist/src/commands/doc.js.map +1 -1
  15. package/dist/src/commands/doctor-project-checks.d.ts +25 -3
  16. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  17. package/dist/src/commands/doctor-project-checks.js +111 -8
  18. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  19. package/dist/src/commands/doctor.d.ts.map +1 -1
  20. package/dist/src/commands/doctor.js +18 -2
  21. package/dist/src/commands/doctor.js.map +1 -1
  22. package/dist/src/commands/init.d.ts.map +1 -1
  23. package/dist/src/commands/init.js +32 -3
  24. package/dist/src/commands/init.js.map +1 -1
  25. package/dist/src/commands/monograph.d.ts.map +1 -1
  26. package/dist/src/commands/monograph.js +26 -3
  27. package/dist/src/commands/monograph.js.map +1 -1
  28. package/dist/src/commands/org.d.ts +15 -0
  29. package/dist/src/commands/org.d.ts.map +1 -1
  30. package/dist/src/commands/org.js +251 -6
  31. package/dist/src/commands/org.js.map +1 -1
  32. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  33. package/dist/src/init/claudemd-generator.js +4 -1
  34. package/dist/src/init/claudemd-generator.js.map +1 -1
  35. package/dist/src/knowledge/document-pipeline.d.ts +77 -4
  36. package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
  37. package/dist/src/knowledge/document-pipeline.js +261 -15
  38. package/dist/src/knowledge/document-pipeline.js.map +1 -1
  39. package/dist/src/knowledge/eval/corpus.d.ts +56 -0
  40. package/dist/src/knowledge/eval/corpus.d.ts.map +1 -0
  41. package/dist/src/knowledge/eval/corpus.js +126 -0
  42. package/dist/src/knowledge/eval/corpus.js.map +1 -0
  43. package/dist/src/knowledge/eval/golden-set.d.ts +62 -0
  44. package/dist/src/knowledge/eval/golden-set.d.ts.map +1 -0
  45. package/dist/src/knowledge/eval/golden-set.js +331 -0
  46. package/dist/src/knowledge/eval/golden-set.js.map +1 -0
  47. package/dist/src/knowledge/eval/harness.d.ts +221 -0
  48. package/dist/src/knowledge/eval/harness.d.ts.map +1 -0
  49. package/dist/src/knowledge/eval/harness.js +610 -0
  50. package/dist/src/knowledge/eval/harness.js.map +1 -0
  51. package/dist/src/knowledge/eval/metrics.d.ts +120 -0
  52. package/dist/src/knowledge/eval/metrics.d.ts.map +1 -0
  53. package/dist/src/knowledge/eval/metrics.js +243 -0
  54. package/dist/src/knowledge/eval/metrics.js.map +1 -0
  55. package/dist/src/knowledge/eval/model-presence.d.ts +48 -0
  56. package/dist/src/knowledge/eval/model-presence.d.ts.map +1 -0
  57. package/dist/src/knowledge/eval/model-presence.js +128 -0
  58. package/dist/src/knowledge/eval/model-presence.js.map +1 -0
  59. package/dist/src/knowledge/eval/network-guard.d.ts +46 -0
  60. package/dist/src/knowledge/eval/network-guard.d.ts.map +1 -0
  61. package/dist/src/knowledge/eval/network-guard.js +112 -0
  62. package/dist/src/knowledge/eval/network-guard.js.map +1 -0
  63. package/dist/src/knowledge/eval/retrievers.d.ts +65 -0
  64. package/dist/src/knowledge/eval/retrievers.d.ts.map +1 -0
  65. package/dist/src/knowledge/eval/retrievers.js +180 -0
  66. package/dist/src/knowledge/eval/retrievers.js.map +1 -0
  67. package/dist/src/knowledge/eval/signals.d.ts +111 -0
  68. package/dist/src/knowledge/eval/signals.d.ts.map +1 -0
  69. package/dist/src/knowledge/eval/signals.js +232 -0
  70. package/dist/src/knowledge/eval/signals.js.map +1 -0
  71. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  72. package/dist/src/mcp-tools/agent-tools.js +7 -34
  73. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  74. package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
  75. package/dist/src/mcp-tools/knowledge-tools.js +88 -6
  76. package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
  77. package/dist/src/mcp-tools/task-tools.d.ts +1 -0
  78. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  79. package/dist/src/mcp-tools/task-tools.js +76 -111
  80. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  81. package/dist/src/mcp-tools/terminal-tools.d.ts.map +1 -1
  82. package/dist/src/mcp-tools/terminal-tools.js +3 -28
  83. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  84. package/dist/src/memory/bm25-index.d.ts +137 -0
  85. package/dist/src/memory/bm25-index.d.ts.map +1 -0
  86. package/dist/src/memory/bm25-index.js +219 -0
  87. package/dist/src/memory/bm25-index.js.map +1 -0
  88. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  89. package/dist/src/memory/embedding-operations.js +8 -7
  90. package/dist/src/memory/embedding-operations.js.map +1 -1
  91. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -1
  92. package/dist/src/memory/ewc-consolidation.js +2 -1
  93. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  94. package/dist/src/memory/hnsw-operations.d.ts.map +1 -1
  95. package/dist/src/memory/hnsw-operations.js +4 -3
  96. package/dist/src/memory/hnsw-operations.js.map +1 -1
  97. package/dist/src/memory/intelligence.d.ts.map +1 -1
  98. package/dist/src/memory/intelligence.js +2 -1
  99. package/dist/src/memory/intelligence.js.map +1 -1
  100. package/dist/src/memory/memory-bridge.d.ts +34 -0
  101. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  102. package/dist/src/memory/memory-bridge.js +184 -26
  103. package/dist/src/memory/memory-bridge.js.map +1 -1
  104. package/dist/src/memory/memory-initializer.d.ts.map +1 -1
  105. package/dist/src/memory/memory-initializer.js +4 -3
  106. package/dist/src/memory/memory-initializer.js.map +1 -1
  107. package/dist/src/memory/memory-schema.d.ts +1 -1
  108. package/dist/src/memory/memory-schema.js +1 -1
  109. package/dist/src/memory/text-tokens.d.ts +10 -0
  110. package/dist/src/memory/text-tokens.d.ts.map +1 -0
  111. package/dist/src/memory/text-tokens.js +37 -0
  112. package/dist/src/memory/text-tokens.js.map +1 -0
  113. package/dist/src/orgrt/daemon.d.ts +16 -1
  114. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  115. package/dist/src/orgrt/daemon.js +65 -9
  116. package/dist/src/orgrt/daemon.js.map +1 -1
  117. package/dist/src/orgrt/scheduler.d.ts +14 -1
  118. package/dist/src/orgrt/scheduler.d.ts.map +1 -1
  119. package/dist/src/orgrt/scheduler.js +51 -5
  120. package/dist/src/orgrt/scheduler.js.map +1 -1
  121. package/dist/src/orgrt/session.js +12 -0
  122. package/dist/src/orgrt/session.js.map +1 -1
  123. package/dist/src/orgrt/types.d.ts +3 -0
  124. package/dist/src/orgrt/types.d.ts.map +1 -1
  125. package/dist/src/orgrt/types.js +7 -1
  126. package/dist/src/orgrt/types.js.map +1 -1
  127. package/dist/src/services/crash-reporter.d.ts.map +1 -1
  128. package/dist/src/services/crash-reporter.js +7 -0
  129. package/dist/src/services/crash-reporter.js.map +1 -1
  130. package/dist/src/ui/dashboard.html +13 -10
  131. package/dist/src/ui/orgs.html +30 -13
  132. package/dist/src/ui/routes-monograph.mjs +929 -0
  133. package/dist/src/ui/routes-org.mjs +2513 -0
  134. package/dist/src/ui/server.mjs +726 -4117
  135. package/dist/src/utils/json-file.d.ts +11 -0
  136. package/dist/src/utils/json-file.d.ts.map +1 -1
  137. package/dist/src/utils/json-file.js +27 -0
  138. package/dist/src/utils/json-file.js.map +1 -1
  139. package/dist/tsconfig.tsbuildinfo +1 -1
  140. package/package.json +4 -4
@@ -150,7 +150,7 @@ CREATE TABLE IF NOT EXISTS sessions (
150
150
  CREATE TABLE IF NOT EXISTS vector_indexes (
151
151
  id TEXT PRIMARY KEY,
152
152
  name TEXT NOT NULL,
153
- dimensions INTEGER NOT NULL DEFAULT 384,
153
+ dimensions INTEGER NOT NULL DEFAULT 768,
154
154
  hnsw_m INTEGER DEFAULT 16,
155
155
  hnsw_ef_construction INTEGER DEFAULT 200,
156
156
  entry_count INTEGER DEFAULT 0,
@@ -0,0 +1,10 @@
1
+ export declare const STOPWORDS: Set<string>;
2
+ /**
3
+ * Lowercase, strip non-alphanumeric, drop single-char tokens and stopwords.
4
+ *
5
+ * This is the tokeniser whose output the 0.697 BM25 baseline was measured on.
6
+ * Any change here changes both the eval scorer AND the production scorer in
7
+ * lockstep — which is the invariant that motivated extracting it.
8
+ */
9
+ export declare function contentTokens(text: string): string[];
10
+ //# sourceMappingURL=text-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-tokens.d.ts","sourceRoot":"","sources":["../../../src/memory/text-tokens.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,SAAS,aAQpB,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAMpD"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Shared BM25 tokeniser — the single definition both production retrieval
3
+ * (`bm25-index.ts`) and the eval harness (`knowledge/eval/metrics.ts`) import.
4
+ *
5
+ * Lives here rather than in `knowledge/eval/` because `eval/` reads as dev-only
6
+ * tooling and a future `!dist/**/ eval; /**` exclusion in `package.json` would
7
+ * silently break every installed user's memory search. A module under `memory/`
8
+ * is unambiguously production code.
9
+ *
10
+ * Dependency-free: no imports, no side effects.
11
+ *
12
+ * @module v1/cli/memory/text-tokens
13
+ */
14
+ export const STOPWORDS = new Set([
15
+ 'a', 'an', 'the', 'and', 'or', 'but', 'if', 'of', 'to', 'in', 'on', 'at', 'by',
16
+ 'for', 'with', 'from', 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'do',
17
+ 'does', 'did', 'doing', 'have', 'has', 'had', 'i', 'we', 'you', 'it', 'its',
18
+ 'that', 'this', 'these', 'those', 'what', 'which', 'who', 'how', 'when', 'where',
19
+ 'why', 'can', 'could', 'should', 'would', 'will', 'my', 'our', 'me', 'us', 'as',
20
+ 'so', 'than', 'then', 'there', 'here', 'not', 'no', 'all', 'any', 'some', 'get',
21
+ 'got', 'about', 'into', 'over', 'out', 'up', 'down', 'again', 'am', 'they',
22
+ ]);
23
+ /**
24
+ * Lowercase, strip non-alphanumeric, drop single-char tokens and stopwords.
25
+ *
26
+ * This is the tokeniser whose output the 0.697 BM25 baseline was measured on.
27
+ * Any change here changes both the eval scorer AND the production scorer in
28
+ * lockstep — which is the invariant that motivated extracting it.
29
+ */
30
+ export function contentTokens(text) {
31
+ return text
32
+ .toLowerCase()
33
+ .replace(/[^a-z0-9]+/g, ' ')
34
+ .split(' ')
35
+ .filter(t => t.length > 1 && !STOPWORDS.has(t));
36
+ }
37
+ //# sourceMappingURL=text-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-tokens.js","sourceRoot":"","sources":["../../../src/memory/text-tokens.ts"],"names":[],"mappings":"AAAA;;;;;kCAKkC,CAAA,IAAI,CAAA,CAAA;;;;;;;EAOnC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IAC/B,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9E,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI;IAC9E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;IAC3E,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;IAChF,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC/E,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;IAC/E,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM;CAC3E,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
@@ -56,6 +56,11 @@ export declare class OrgDaemon {
56
56
  /** Names of the orgs this daemon currently has running. Snapshot — safe to
57
57
  * iterate while stopOrg() mutates the underlying map. */
58
58
  listRunning(): string[];
59
+ /** Resolve run_config.workspace to 'repo' | 'isolated' | an absolute path.
60
+ * A relative path is resolved against the project root rather than the
61
+ * daemon's cwd, which is not the same directory when `org serve` is started
62
+ * from a subdirectory. */
63
+ private workspaceSetting;
59
64
  startOrg(name: string, taskOverride?: string): Promise<RunningOrg>;
60
65
  /** A role that failed its resource gate at boot isn't abandoned — keep polling
61
66
  * for capacity in the background (bounded) and spawn it the moment resources
@@ -118,7 +123,12 @@ export declare class OrgDaemon {
118
123
  /** Start an offline org in the background so queued messages get drained.
119
124
  * Fire-and-forget — errors are logged but don't propagate to the sender. */
120
125
  private autoWake;
121
- stopOrg(name: string): Promise<void>;
126
+ /** @param opts.drainMs how long to let in-flight agent sessions finish before
127
+ * reaping. Defaults to the short abort bound; the planned-completion path
128
+ * passes a far longer window (see COMPLETE_DRAIN_MS). */
129
+ stopOrg(name: string, opts?: {
130
+ drainMs?: number;
131
+ }): Promise<void>;
122
132
  private finishStop;
123
133
  stopAll(): Promise<void>;
124
134
  private orgMemoryNamespace;
@@ -161,6 +171,11 @@ export declare class OrgDaemon {
161
171
  /** Persist the run's outcome into cross-run org memory so org_recall (and
162
172
  * future runs) can find it by meaning, not just recency. Best-effort. */
163
173
  private storeRunMemory;
174
+ /** Roles that never spawned, per org. An org missing a role is still reported
175
+ * `running` by every status path, so the absence was visible only as one
176
+ * audit line in the log — a run went 40 minutes with no tester and nothing
177
+ * said so. Persisted to runtime.json so `org status` can say it out loud. */
178
+ private abandoned;
164
179
  private persistState;
165
180
  /** Mark every currently-running org as crashed in runtime.json.
166
181
  * Called from process-level crash handlers — must be synchronous and best-effort. */
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/orgrt/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/orgrt/daemon.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  // packages/@monomind/cli/src/orgrt/daemon.ts
2
2
  // monolean: single-process inter-org — upgrade path = daemon-to-daemon HTTP when multi-host is real
3
3
  import { readFileSync, mkdirSync, writeFileSync, existsSync, renameSync, unlinkSync } from 'node:fs';
4
- import { join } from 'node:path';
4
+ import { join, isAbsolute } from 'node:path';
5
5
  import { reapOrphanedSdkProcesses } from '../utils/resource-governor.js';
6
6
  import { OrgBus } from './bus.js';
7
7
  import { PolicyEngine } from './policy.js';
@@ -12,7 +12,11 @@ import { BrokerLease, lookupOrg } from './broker.js';
12
12
  import { queueMessage, drainInbox } from './inbox.js';
13
13
  import { OrgDefSchema, ORG_DIR } from './types.js';
14
14
  import { summarizeRun, readRunEvents, readHistory, historyFile } from './reporting.js';
15
- import { checkResources, waitForCapacity, getResourceLimits } from '../utils/resource-governor.js';
15
+ import { checkResources, waitForCapacity, getResourceLimits, configureResourceLimits } from '../utils/resource-governor.js';
16
+ /** Drain window for a PLANNED stop (the boss called org_complete). Long enough
17
+ * for a sibling mid-build or mid-test to finish and flush its work. A hard
18
+ * stop keeps the short bound — see finishStop. */
19
+ const COMPLETE_DRAIN_MS = 5 * 60_000;
16
20
  export class OrgDaemon {
17
21
  root;
18
22
  opts;
@@ -39,6 +43,16 @@ export class OrgDaemon {
39
43
  /** Names of the orgs this daemon currently has running. Snapshot — safe to
40
44
  * iterate while stopOrg() mutates the underlying map. */
41
45
  listRunning() { return [...this.orgs.keys()]; }
46
+ /** Resolve run_config.workspace to 'repo' | 'isolated' | an absolute path.
47
+ * A relative path is resolved against the project root rather than the
48
+ * daemon's cwd, which is not the same directory when `org serve` is started
49
+ * from a subdirectory. */
50
+ workspaceSetting(def) {
51
+ const ws = def.run_config.workspace ?? 'repo';
52
+ if (ws === 'repo' || ws === 'isolated')
53
+ return ws;
54
+ return isAbsolute(ws) ? ws : join(this.root, ws);
55
+ }
42
56
  async startOrg(name, taskOverride) {
43
57
  if (this.orgs.has(name))
44
58
  throw new Error(`org ${name} already running`);
@@ -49,8 +63,29 @@ export class OrgDaemon {
49
63
  const run = `run-${new Date().toISOString().replace(/[-:T]/g, '').slice(0, 14)}-${Math.random().toString(36).slice(2, 6)}`;
50
64
  const dir = join(this.root, ORG_DIR, name, run);
51
65
  mkdirSync(dir, { recursive: true });
52
- const cwd = join(this.root, ORG_DIR, name, 'workspace');
66
+ // Role sessions run at the project root by default. They used to run in an
67
+ // empty scratch dir under .monomind/orgs/<name>/workspace, which the policy
68
+ // engine's workdir check ("path escapes org workdir") then confined every
69
+ // path to — so a development org could not Read or Edit a single file of
70
+ // the project it was created to work on. Roles fell back to Bash, which is
71
+ // not path-scoped, meaning the sandbox blocked the safe tools and let the
72
+ // unrestricted one through. Opt back in with run_config.workspace:
73
+ // 'isolated', or pin an absolute path.
74
+ this.abandoned.delete(name); // a previous run's missing roles say nothing about this one
75
+ const ws = this.workspaceSetting(def);
76
+ const cwd = ws === 'repo' ? this.root
77
+ : ws === 'isolated' ? join(this.root, ORG_DIR, name, 'workspace')
78
+ : ws;
53
79
  mkdirSync(cwd, { recursive: true });
80
+ // An org must be able to seat its whole roster. maxSdkProcesses is sized for
81
+ // the machine (cpus - 2), so any org with more roles than that had its tail
82
+ // roles deferred forever — a 7-role org on an 8-core box permanently lost
83
+ // its 7th, and the work that role owned simply never happened. Raise the
84
+ // ceiling to the role count. An explicit MONOMIND_MAX_SDK_PROCS still wins:
85
+ // if the operator named a number, that number is the answer.
86
+ if (!process.env.MONOMIND_MAX_SDK_PROCS && getResourceLimits().maxSdkProcesses < def.roles.length) {
87
+ configureResourceLimits({ maxSdkProcesses: def.roles.length });
88
+ }
54
89
  const bus = new OrgBus(name, run, dir);
55
90
  // Lightweight in-memory tail for busEvents() (test-loop, /api/history).
56
91
  // Full events (including Write content snapshots) live on disk in bus.jsonl;
@@ -76,7 +111,7 @@ export class OrgDaemon {
76
111
  // against a concurrent manual stop.
77
112
  if (e.type === 'status' && e.reason === 'org-complete') {
78
113
  const t = setTimeout(() => {
79
- this.stopOrg(name).catch(err => console.error(`org ${name}: auto-stop after org_complete failed:`, err instanceof Error ? err.message : err));
114
+ this.stopOrg(name, { drainMs: COMPLETE_DRAIN_MS }).catch(err => console.error(`org ${name}: auto-stop after org_complete failed:`, err instanceof Error ? err.message : err));
80
115
  }, 1000);
81
116
  t.unref?.();
82
117
  }
@@ -348,6 +383,10 @@ export class OrgDaemon {
348
383
  running.bus.emit({ type: 'audit', from: role.id, reason: 'resource-pressure',
349
384
  msg: `still under pressure (attempt ${attempt}/${MAX_ATTEMPTS}) — retrying "${role.id}" spawn: ${waited.reason}` });
350
385
  }
386
+ const missing = this.abandoned.get(name) ?? new Set();
387
+ missing.add(role.id);
388
+ this.abandoned.set(name, missing);
389
+ this.persistState(name, 'running', running.run);
351
390
  running.bus.emit({ type: 'audit', from: role.id, reason: 'resource-abandoned',
352
391
  msg: `giving up spawning "${role.id}" after ${MAX_ATTEMPTS} retries — org will run without this role until manually restarted` });
353
392
  })().catch(err => console.error(`org ${name}: deferred spawn of "${role.id}" failed:`, err instanceof Error ? err.message : err));
@@ -585,7 +624,10 @@ export class OrgDaemon {
585
624
  .catch(err => { console.error(`auto-wake org "${name}" failed:`, err instanceof Error ? err.message : err); })
586
625
  .finally(() => { this.waking.delete(name); });
587
626
  }
588
- async stopOrg(name) {
627
+ /** @param opts.drainMs how long to let in-flight agent sessions finish before
628
+ * reaping. Defaults to the short abort bound; the planned-completion path
629
+ * passes a far longer window (see COMPLETE_DRAIN_MS). */
630
+ async stopOrg(name, opts) {
589
631
  // Join an in-flight stop instead of no-oping: the self-stop paths
590
632
  // (org_complete, idle watchdog) run detached, and a caller like
591
633
  // `org run`'s final stopAll() must not resolve — letting the process
@@ -602,7 +644,7 @@ export class OrgDaemon {
602
644
  // shutdown via `stopping` instead of re-running the whole sequence and
603
645
  // double-emitting 'org stopped' (duplicate org:complete/session:complete).
604
646
  this.orgs.delete(name);
605
- const p = this.finishStop(name, org);
647
+ const p = this.finishStop(name, org, opts?.drainMs);
606
648
  this.stopping.set(name, p);
607
649
  try {
608
650
  await p;
@@ -611,7 +653,7 @@ export class OrgDaemon {
611
653
  this.stopping.delete(name);
612
654
  }
613
655
  }
614
- async finishStop(name, org) {
656
+ async finishStop(name, org, drainMs) {
615
657
  // Capture THIS run's forwarder now: an autoWake-restart of the same org
616
658
  // during the long tail below (agent wait, flush, history write) would
617
659
  // register a NEW forwarder under the same name — settling/unsubscribing
@@ -634,7 +676,12 @@ export class OrgDaemon {
634
676
  // idle) must not make stopOrg() hang forever — callers like the scheduler
635
677
  // already race their own timeout around a run, and this wait re-blocking
636
678
  // unboundedly on the same never-resolving promises defeated that bound.
637
- const stopWaitMs = this.opts.stopWaitMs ?? 15_000;
679
+ // A planned completion is not an abort. The boss declaring the cycle done
680
+ // says nothing about its siblings: they are routinely mid-build or mid-edit
681
+ // when it fires, and a 15s window SIGTERM'd them (exit 143, reported as
682
+ // "crashed") and threw the work away. allSettled resolves as soon as every
683
+ // session ends, so a long drain is a ceiling, not a delay.
684
+ const stopWaitMs = drainMs ?? this.opts.stopWaitMs ?? 15_000;
638
685
  const allDone = Promise.allSettled([...org.agents.values()].map(a => a.done)).then(() => false);
639
686
  const timedOut = await Promise.race([allDone, new Promise(r => setTimeout(() => r(true), stopWaitMs))]);
640
687
  if (timedOut) {
@@ -921,9 +968,18 @@ export class OrgDaemon {
921
968
  console.error(`org ${name}: run memory store failed:`, err instanceof Error ? err.message : err);
922
969
  }
923
970
  }
971
+ /** Roles that never spawned, per org. An org missing a role is still reported
972
+ * `running` by every status path, so the absence was visible only as one
973
+ * audit line in the log — a run went 40 minutes with no tester and nothing
974
+ * said so. Persisted to runtime.json so `org status` can say it out loud. */
975
+ abandoned = new Map();
924
976
  persistState(name, status, run) {
925
977
  const p = join(this.root, ORG_DIR, name, 'runtime.json');
926
- writeFileSync(p, JSON.stringify({ status, run, pid: process.pid, updated: new Date().toISOString() }, null, 2));
978
+ const missing = [...(this.abandoned.get(name) ?? [])];
979
+ writeFileSync(p, JSON.stringify({
980
+ status, run, pid: process.pid, updated: new Date().toISOString(),
981
+ ...(missing.length ? { abandonedRoles: missing } : {}),
982
+ }, null, 2));
927
983
  }
928
984
  /** Mark every currently-running org as crashed in runtime.json.
929
985
  * Called from process-level crash handlers — must be synchronous and best-effort. */
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/orgrt/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/orgrt/daemon.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,21 @@ export declare class OrgScheduler {
5
5
  private runFn;
6
6
  private timers;
7
7
  private running;
8
+ /** Orgs whose tick arrived mid-run. A dropped tick meant an org that overruns
9
+ * its interval — a 200m cycle on a 2h schedule — idled until the *next*
10
+ * boundary, so a run longer than the period produced a sawtooth of work then
11
+ * dead time. Recorded here instead and fired the moment the run ends.
12
+ * A Set, so N missed ticks coalesce into one catch-up run, never a backlog. */
13
+ private pending;
8
14
  constructor(runFn: (name: string, intervalMs: number) => Promise<void>);
9
- add(name: string, intervalMs: number): void;
15
+ /** @param runNow fire one iteration immediately instead of waiting a full
16
+ * interval. Callers pass true only when the org is actually due (never run,
17
+ * or last run older than the interval) — `serve` used to register a bare
18
+ * setInterval, so a freshly-started daemon sat idle for the whole period
19
+ * before its first tick, and an org on a 2h schedule looked broken for two
20
+ * hours. Gating on due-ness keeps a daemon restart from re-running
21
+ * everything at once. */
22
+ add(name: string, intervalMs: number, runNow?: boolean, sinceLastRunMs?: number): void;
10
23
  remove(name: string): void;
11
24
  stop(): void;
12
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/orgrt/scheduler.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAOlF;AAED,+GAA+G;AAC/G,qBAAa,YAAY;IAIX,OAAO,CAAC,KAAK;IAHzB,OAAO,CAAC,MAAM,CAAqD;IACnE,OAAO,CAAC,OAAO,CAAqB;IAEpC,YAAoB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAAI;IAElF,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAS1C;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAIzB;IAED,IAAI,IAAI,IAAI,CAAmE;CAChF"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/orgrt/scheduler.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAOlF;AAED,+GAA+G;AAC/G,qBAAa,YAAY;IAUX,OAAO,CAAC,KAAK;IATzB,OAAO,CAAC,MAAM,CAAqD;IACnE,OAAO,CAAC,OAAO,CAAqB;IACpC;;;;oFAIgF;IAChF,OAAO,CAAC,OAAO,CAAqB;IAEpC,YAAoB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAAI;IAElF;;;;;;8BAM0B;IAC1B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAQ,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAwCnF;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKzB;IAED,IAAI,IAAI,IAAI,CAAmE;CAChF"}
@@ -16,14 +16,29 @@ export class OrgScheduler {
16
16
  runFn;
17
17
  timers = new Map();
18
18
  running = new Set();
19
+ /** Orgs whose tick arrived mid-run. A dropped tick meant an org that overruns
20
+ * its interval — a 200m cycle on a 2h schedule — idled until the *next*
21
+ * boundary, so a run longer than the period produced a sawtooth of work then
22
+ * dead time. Recorded here instead and fired the moment the run ends.
23
+ * A Set, so N missed ticks coalesce into one catch-up run, never a backlog. */
24
+ pending = new Set();
19
25
  constructor(runFn) {
20
26
  this.runFn = runFn;
21
27
  }
22
- add(name, intervalMs) {
28
+ /** @param runNow fire one iteration immediately instead of waiting a full
29
+ * interval. Callers pass true only when the org is actually due (never run,
30
+ * or last run older than the interval) — `serve` used to register a bare
31
+ * setInterval, so a freshly-started daemon sat idle for the whole period
32
+ * before its first tick, and an org on a 2h schedule looked broken for two
33
+ * hours. Gating on due-ness keeps a daemon restart from re-running
34
+ * everything at once. */
35
+ add(name, intervalMs, runNow = false, sinceLastRunMs) {
23
36
  this.remove(name);
24
- this.timers.set(name, setInterval(async () => {
25
- if (this.running.has(name))
26
- return; // skip if previous iteration still running
37
+ const fire = async () => {
38
+ if (this.running.has(name)) {
39
+ this.pending.add(name);
40
+ return;
41
+ } // catch up when it ends
27
42
  this.running.add(name);
28
43
  try {
29
44
  await this.runFn(name, intervalMs);
@@ -33,14 +48,45 @@ export class OrgScheduler {
33
48
  }
34
49
  finally {
35
50
  this.running.delete(name);
51
+ // Only chase a missed tick if this org is still scheduled — remove()/stop()
52
+ // during a run must not resurrect it. Deferred through the event loop so
53
+ // back-to-back catch-ups unwind the stack instead of recursing.
54
+ if (this.pending.delete(name) && this.timers.has(name)) {
55
+ const t = setTimeout(() => { void fire(); }, 0);
56
+ t.unref?.();
57
+ }
36
58
  }
37
- }, intervalMs));
59
+ };
60
+ // Phase the first tick to the org's own clock, not the daemon's. A restart
61
+ // used to reset the period wholesale: an org that ran 24 minutes ago on a
62
+ // 2h schedule then waited a further 2h instead of the 1h36m it was owed,
63
+ // so every restart silently stole up to a full interval. Resume the
64
+ // remainder, then settle into the steady cadence.
65
+ const remaining = sinceLastRunMs != null ? Math.max(0, intervalMs - sinceLastRunMs) : intervalMs;
66
+ if (!runNow && remaining < intervalMs) {
67
+ // Deliberately NOT unref'd, matching the setInterval it stands in for.
68
+ // `org serve --cross-process false` starts no HTTP server, so during the
69
+ // lead window the scheduler's timer is the only ref'd handle; unref'ing
70
+ // it let the event loop drain and the daemon exit on startup instead of
71
+ // waiting for the org's turn. (Signal listeners do not hold the loop
72
+ // open — verified, not assumed.)
73
+ const lead = setTimeout(() => {
74
+ this.timers.set(name, setInterval(fire, intervalMs));
75
+ void fire();
76
+ }, remaining);
77
+ this.timers.set(name, lead);
78
+ return;
79
+ }
80
+ this.timers.set(name, setInterval(fire, intervalMs));
81
+ if (runNow)
82
+ void fire();
38
83
  }
39
84
  remove(name) {
40
85
  const t = this.timers.get(name);
41
86
  if (t)
42
87
  clearInterval(t);
43
88
  this.timers.delete(name);
89
+ this.pending.delete(name); // an unscheduled org has no tick to catch up on
44
90
  }
45
91
  stop() { for (const name of [...this.timers.keys()])
46
92
  this.remove(name); }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/orgrt/scheduler.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAAC,CAAqC;IACjE,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAC7C,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAC7E,CAAC;AAED,+GAA+G;AAC/G,MAAM,OAAO,YAAY;IAIH,KAAK;IAHjB,MAAM,GAAG,IAAI,GAAG,EAA0C,CAAC;IAC3D,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,YAAoB,KAA0D;qBAA1D,KAAK;IAAwD,CAAC;IAElF,GAAG,CAAC,IAAY,EAAE,UAAkB;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,2CAA2C;YAC/E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC;gBAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAAC,CAAC;YAC3C,OAAO,GAAG,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,yBAAyB,EAAE,GAAG,CAAC,CAAC;YAAC,CAAC;oBAC7E,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;QACxC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC;YAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,KAAW,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CAChF"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/orgrt/scheduler.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAAC,CAAqC;IACjE,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAC7C,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAC7E,CAAC;AAED,+GAA+G;AAC/G,MAAM,OAAO,YAAY;IAUH,KAAK;IATjB,MAAM,GAAG,IAAI,GAAG,EAA0C,CAAC;IAC3D,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC;;;;oFAIgF;IACxE,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,YAAoB,KAA0D;qBAA1D,KAAK;IAAwD,CAAC;IAElF;;;;;;8BAM0B;IAC1B,GAAG,CAAC,IAAY,EAAE,UAAkB,EAAE,MAAM,GAAG,KAAK,EAAE,cAAuB;QAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;YACrC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC,CAAC,wBAAwB;YACxF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC;gBAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAAC,CAAC;YAC3C,OAAO,GAAG,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,yBAAyB,EAAE,GAAG,CAAC,CAAC;YAAC,CAAC;oBAC7E,CAAC;gBACP,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1B,4EAA4E;gBAC5E,yEAAyE;gBACzE,gEAAgE;gBAChE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvD,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC/C,CAA4B,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,oEAAoE;QACpE,kDAAkD;QAClD,MAAM,SAAS,GAAG,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACjG,IAAI,CAAC,MAAM,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;YACtC,uEAAuE;YACvE,yEAAyE;YACzE,wEAAwE;YACxE,wEAAwE;YACxE,qEAAqE;YACrE,iCAAiC;YACjC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACrD,KAAK,IAAI,EAAE,CAAC;YACd,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAiD,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QACrD,IAAI,MAAM;YAAE,KAAK,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC;YAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gDAAgD;IAC7E,CAAC;IAED,IAAI,KAAW,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CAChF"}