@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.
- package/.claude/commands/mastermind/createorg.md +2 -0
- package/.claude/commands/mastermind/okf-import.md +6 -1
- package/.claude/helpers/handlers/route-handler.cjs +40 -7
- package/.claude/helpers/handlers/session-restore-handler.cjs +24 -6
- package/.claude/skills/mastermind-createorg/SKILL.md +11 -4
- package/README.md +12 -6
- package/dist/src/capabilities/index.d.ts.map +1 -1
- package/dist/src/capabilities/index.js +17 -0
- package/dist/src/capabilities/index.js.map +1 -1
- package/dist/src/capabilities/types.d.ts +0 -11
- package/dist/src/capabilities/types.d.ts.map +1 -1
- package/dist/src/commands/doc.d.ts.map +1 -1
- package/dist/src/commands/doc.js +251 -8
- package/dist/src/commands/doc.js.map +1 -1
- package/dist/src/commands/doctor-project-checks.d.ts +25 -3
- package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.js +111 -8
- package/dist/src/commands/doctor-project-checks.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +18 -2
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +32 -3
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/monograph.d.ts.map +1 -1
- package/dist/src/commands/monograph.js +26 -3
- package/dist/src/commands/monograph.js.map +1 -1
- package/dist/src/commands/org.d.ts +15 -0
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +251 -6
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts.map +1 -1
- package/dist/src/init/claudemd-generator.js +4 -1
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/knowledge/document-pipeline.d.ts +77 -4
- package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
- package/dist/src/knowledge/document-pipeline.js +261 -15
- package/dist/src/knowledge/document-pipeline.js.map +1 -1
- package/dist/src/knowledge/eval/corpus.d.ts +56 -0
- package/dist/src/knowledge/eval/corpus.d.ts.map +1 -0
- package/dist/src/knowledge/eval/corpus.js +126 -0
- package/dist/src/knowledge/eval/corpus.js.map +1 -0
- package/dist/src/knowledge/eval/golden-set.d.ts +62 -0
- package/dist/src/knowledge/eval/golden-set.d.ts.map +1 -0
- package/dist/src/knowledge/eval/golden-set.js +331 -0
- package/dist/src/knowledge/eval/golden-set.js.map +1 -0
- package/dist/src/knowledge/eval/harness.d.ts +221 -0
- package/dist/src/knowledge/eval/harness.d.ts.map +1 -0
- package/dist/src/knowledge/eval/harness.js +610 -0
- package/dist/src/knowledge/eval/harness.js.map +1 -0
- package/dist/src/knowledge/eval/metrics.d.ts +120 -0
- package/dist/src/knowledge/eval/metrics.d.ts.map +1 -0
- package/dist/src/knowledge/eval/metrics.js +243 -0
- package/dist/src/knowledge/eval/metrics.js.map +1 -0
- package/dist/src/knowledge/eval/model-presence.d.ts +48 -0
- package/dist/src/knowledge/eval/model-presence.d.ts.map +1 -0
- package/dist/src/knowledge/eval/model-presence.js +128 -0
- package/dist/src/knowledge/eval/model-presence.js.map +1 -0
- package/dist/src/knowledge/eval/network-guard.d.ts +46 -0
- package/dist/src/knowledge/eval/network-guard.d.ts.map +1 -0
- package/dist/src/knowledge/eval/network-guard.js +112 -0
- package/dist/src/knowledge/eval/network-guard.js.map +1 -0
- package/dist/src/knowledge/eval/retrievers.d.ts +65 -0
- package/dist/src/knowledge/eval/retrievers.d.ts.map +1 -0
- package/dist/src/knowledge/eval/retrievers.js +180 -0
- package/dist/src/knowledge/eval/retrievers.js.map +1 -0
- package/dist/src/knowledge/eval/signals.d.ts +111 -0
- package/dist/src/knowledge/eval/signals.d.ts.map +1 -0
- package/dist/src/knowledge/eval/signals.js +232 -0
- package/dist/src/knowledge/eval/signals.js.map +1 -0
- package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +7 -34
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/knowledge-tools.js +88 -6
- package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
- package/dist/src/mcp-tools/task-tools.d.ts +1 -0
- package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/task-tools.js +76 -111
- package/dist/src/mcp-tools/task-tools.js.map +1 -1
- package/dist/src/mcp-tools/terminal-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/terminal-tools.js +3 -28
- package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
- package/dist/src/memory/bm25-index.d.ts +137 -0
- package/dist/src/memory/bm25-index.d.ts.map +1 -0
- package/dist/src/memory/bm25-index.js +219 -0
- package/dist/src/memory/bm25-index.js.map +1 -0
- package/dist/src/memory/embedding-operations.d.ts.map +1 -1
- package/dist/src/memory/embedding-operations.js +8 -7
- package/dist/src/memory/embedding-operations.js.map +1 -1
- package/dist/src/memory/ewc-consolidation.d.ts.map +1 -1
- package/dist/src/memory/ewc-consolidation.js +2 -1
- package/dist/src/memory/ewc-consolidation.js.map +1 -1
- package/dist/src/memory/hnsw-operations.d.ts.map +1 -1
- package/dist/src/memory/hnsw-operations.js +4 -3
- package/dist/src/memory/hnsw-operations.js.map +1 -1
- package/dist/src/memory/intelligence.d.ts.map +1 -1
- package/dist/src/memory/intelligence.js +2 -1
- package/dist/src/memory/intelligence.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +34 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +184 -26
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-initializer.d.ts.map +1 -1
- package/dist/src/memory/memory-initializer.js +4 -3
- package/dist/src/memory/memory-initializer.js.map +1 -1
- package/dist/src/memory/memory-schema.d.ts +1 -1
- package/dist/src/memory/memory-schema.js +1 -1
- package/dist/src/memory/text-tokens.d.ts +10 -0
- package/dist/src/memory/text-tokens.d.ts.map +1 -0
- package/dist/src/memory/text-tokens.js +37 -0
- package/dist/src/memory/text-tokens.js.map +1 -0
- package/dist/src/orgrt/daemon.d.ts +16 -1
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +65 -9
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/scheduler.d.ts +14 -1
- package/dist/src/orgrt/scheduler.d.ts.map +1 -1
- package/dist/src/orgrt/scheduler.js +51 -5
- package/dist/src/orgrt/scheduler.js.map +1 -1
- package/dist/src/orgrt/session.js +12 -0
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/orgrt/types.d.ts +3 -0
- package/dist/src/orgrt/types.d.ts.map +1 -1
- package/dist/src/orgrt/types.js +7 -1
- package/dist/src/orgrt/types.js.map +1 -1
- package/dist/src/services/crash-reporter.d.ts.map +1 -1
- package/dist/src/services/crash-reporter.js +7 -0
- package/dist/src/services/crash-reporter.js.map +1 -1
- package/dist/src/ui/dashboard.html +13 -10
- package/dist/src/ui/orgs.html +30 -13
- package/dist/src/ui/routes-monograph.mjs +929 -0
- package/dist/src/ui/routes-org.mjs +2513 -0
- package/dist/src/ui/server.mjs +726 -4117
- package/dist/src/utils/json-file.d.ts +11 -0
- package/dist/src/utils/json-file.d.ts.map +1 -1
- package/dist/src/utils/json-file.js +27 -0
- package/dist/src/utils/json-file.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- 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
|
|
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
|
-
|
|
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":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAKvC,OAAO,EAAgB,KAAK,MAAM,EAAgB,KAAK,QAAQ,EAAW,MAAM,YAAY,CAAC;AAG7F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/orgrt/daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/src/orgrt/daemon.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
25
|
-
if (this.running.has(name))
|
|
26
|
-
|
|
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
|
-
}
|
|
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;
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/orgrt/scheduler.ts"],"names":[],"mappings":"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"}
|