pilotswarm-sdk 0.2.2 → 0.3.1

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 (97) hide show
  1. package/dist/agent-loader.d.ts +8 -6
  2. package/dist/agent-loader.d.ts.map +1 -1
  3. package/dist/agent-loader.js +5 -1
  4. package/dist/agent-loader.js.map +1 -1
  5. package/dist/facts-migrations.d.ts.map +1 -1
  6. package/dist/facts-migrations.js +176 -0
  7. package/dist/facts-migrations.js.map +1 -1
  8. package/dist/facts-store.d.ts +39 -12
  9. package/dist/facts-store.d.ts.map +1 -1
  10. package/dist/facts-store.js +76 -22
  11. package/dist/facts-store.js.map +1 -1
  12. package/dist/facts-tools.d.ts +4 -0
  13. package/dist/facts-tools.d.ts.map +1 -1
  14. package/dist/facts-tools.js +24 -16
  15. package/dist/facts-tools.js.map +1 -1
  16. package/dist/graph-tools.d.ts +8 -6
  17. package/dist/graph-tools.d.ts.map +1 -1
  18. package/dist/graph-tools.js +37 -26
  19. package/dist/graph-tools.js.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/orchestration/index.d.ts +2 -2
  24. package/dist/orchestration/index.js +1 -1
  25. package/dist/orchestration/lifecycle.d.ts.map +1 -1
  26. package/dist/orchestration/lifecycle.js +1 -0
  27. package/dist/orchestration/lifecycle.js.map +1 -1
  28. package/dist/orchestration/runtime.d.ts +1 -1
  29. package/dist/orchestration/runtime.d.ts.map +1 -1
  30. package/dist/orchestration/runtime.js +4 -0
  31. package/dist/orchestration/runtime.js.map +1 -1
  32. package/dist/orchestration-registry.d.ts.map +1 -1
  33. package/dist/orchestration-registry.js +4 -2
  34. package/dist/orchestration-registry.js.map +1 -1
  35. package/dist/orchestration-version.d.ts +1 -1
  36. package/dist/orchestration-version.js +1 -1
  37. package/dist/orchestration.d.ts +2 -2
  38. package/dist/orchestration.js +1 -1
  39. package/dist/orchestration_1_0_46.d.ts +1 -1
  40. package/dist/orchestration_1_0_47.d.ts +1 -1
  41. package/dist/orchestration_1_0_48.d.ts +1 -1
  42. package/dist/orchestration_1_0_49.d.ts +1 -1
  43. package/dist/orchestration_1_0_50.d.ts +1 -1
  44. package/dist/orchestration_1_0_53/agents.d.ts +41 -0
  45. package/dist/orchestration_1_0_53/agents.d.ts.map +1 -0
  46. package/dist/orchestration_1_0_53/agents.js +758 -0
  47. package/dist/orchestration_1_0_53/agents.js.map +1 -0
  48. package/dist/orchestration_1_0_53/index.d.ts +24 -0
  49. package/dist/orchestration_1_0_53/index.d.ts.map +1 -0
  50. package/dist/orchestration_1_0_53/index.js +13 -0
  51. package/dist/orchestration_1_0_53/index.js.map +1 -0
  52. package/dist/orchestration_1_0_53/lifecycle.d.ts +41 -0
  53. package/dist/orchestration_1_0_53/lifecycle.d.ts.map +1 -0
  54. package/dist/orchestration_1_0_53/lifecycle.js +509 -0
  55. package/dist/orchestration_1_0_53/lifecycle.js.map +1 -0
  56. package/dist/orchestration_1_0_53/queue.d.ts +7 -0
  57. package/dist/orchestration_1_0_53/queue.d.ts.map +1 -0
  58. package/dist/orchestration_1_0_53/queue.js +644 -0
  59. package/dist/orchestration_1_0_53/queue.js.map +1 -0
  60. package/dist/orchestration_1_0_53/runtime.d.ts +29 -0
  61. package/dist/orchestration_1_0_53/runtime.d.ts.map +1 -0
  62. package/dist/orchestration_1_0_53/runtime.js +190 -0
  63. package/dist/orchestration_1_0_53/runtime.js.map +1 -0
  64. package/dist/orchestration_1_0_53/state.d.ts +125 -0
  65. package/dist/orchestration_1_0_53/state.d.ts.map +1 -0
  66. package/dist/orchestration_1_0_53/state.js +105 -0
  67. package/dist/orchestration_1_0_53/state.js.map +1 -0
  68. package/dist/orchestration_1_0_53/turn.d.ts +6 -0
  69. package/dist/orchestration_1_0_53/turn.d.ts.map +1 -0
  70. package/dist/orchestration_1_0_53/turn.js +864 -0
  71. package/dist/orchestration_1_0_53/turn.js.map +1 -0
  72. package/dist/orchestration_1_0_53/utils.d.ts +22 -0
  73. package/dist/orchestration_1_0_53/utils.d.ts.map +1 -0
  74. package/dist/orchestration_1_0_53/utils.js +226 -0
  75. package/dist/orchestration_1_0_53/utils.js.map +1 -0
  76. package/dist/session-manager.d.ts.map +1 -1
  77. package/dist/session-manager.js +3 -2
  78. package/dist/session-manager.js.map +1 -1
  79. package/dist/session-proxy.d.ts +22 -17
  80. package/dist/session-proxy.d.ts.map +1 -1
  81. package/dist/session-proxy.js +27 -23
  82. package/dist/session-proxy.js.map +1 -1
  83. package/dist/sweeper-tools.d.ts.map +1 -1
  84. package/dist/sweeper-tools.js +168 -52
  85. package/dist/sweeper-tools.js.map +1 -1
  86. package/dist/types.d.ts +10 -7
  87. package/dist/types.d.ts.map +1 -1
  88. package/dist/types.js.map +1 -1
  89. package/dist/worker.d.ts +8 -3
  90. package/dist/worker.d.ts.map +1 -1
  91. package/dist/worker.js +75 -5
  92. package/dist/worker.js.map +1 -1
  93. package/package.json +11 -1
  94. package/plugins/default-agents/agents/generic-crawler.agent.md +162 -0
  95. package/plugins/mgmt/agents/facts-manager.agent.md +2 -1
  96. package/plugins/mgmt/agents/sweeper.agent.md +6 -3
  97. package/plugins/mgmt/skills/sweeper/SKILL.md +4 -1
package/dist/worker.js CHANGED
@@ -30,6 +30,9 @@ const DEFAULT_SESSION_STATE_DIR = path.join(os.homedir(), ".copilot", "session-s
30
30
  const DEFAULT_ORCHESTRATION_CONCURRENCY = 2;
31
31
  const DEFAULT_WORKER_CONCURRENCY = 2;
32
32
  const DEFAULT_DUROXIDE_PG_POOL_MAX = 10;
33
+ function normalizeAgentIdentity(value) {
34
+ return String(value ?? "").toLowerCase().replace(/[^a-z0-9]+/g, "");
35
+ }
33
36
  function parsePositiveInt(raw) {
34
37
  const normalized = typeof raw === "string" ? Number.parseInt(raw, 10) : Number(raw);
35
38
  if (!Number.isFinite(normalized) || normalized <= 0)
@@ -109,6 +112,8 @@ export class PilotSwarmWorker {
109
112
  _loadedSkillDirs = [];
110
113
  /** Raw loaded user-creatable agent configs from plugins + direct config. */
111
114
  _rawLoadedAgents = [];
115
+ /** Optional PilotSwarm-bundled user agents, loaded only when session policy opts in. */
116
+ _availableBundledAgents = new Map();
112
117
  /** Loaded agent configs from plugins + direct config, composed for SDK customAgents. */
113
118
  _loadedAgents = [];
114
119
  /** Loaded MCP server configs from plugins + direct config. */
@@ -555,11 +560,12 @@ export class PilotSwarmWorker {
555
560
  /**
556
561
  * Load plugin contents from SDK bundled plugins + app plugin directories.
557
562
  *
558
- * Three-tier loading order:
563
+ * Tiered loading order:
559
564
  * 1. system/ — SDK core (always loaded: base system prompt, durable-timers, sub-agents)
560
565
  * 2. mgmt/ — SDK management agents (loaded unless disableManagementAgents is true)
561
- * 3. app Consumer-provided plugin dirs (from pluginDirs option)
562
- * 4. direct Inline config (skillDirectories, customAgents, mcpServers options)
566
+ * 3. default-agents/ optional SDK user agents, read into a separate registry
567
+ * 4. app Consumer-provided plugin dirs (from pluginDirs option)
568
+ * 5. direct — Inline config (skillDirectories, customAgents, mcpServers options)
563
569
  *
564
570
  * Agents merge by name (later tiers override earlier).
565
571
  * Skills merge additively (all dirs combined).
@@ -575,7 +581,10 @@ export class PilotSwarmWorker {
575
581
  const mgmtDir = path.join(sdkPluginsDir, "mgmt");
576
582
  this._loadPluginDir(mgmtDir, "management");
577
583
  }
578
- // ── Tier 3: App plugins (from pluginDirs option) ─────────────
584
+ // ── Tier 3: SDK bundled default agents (policy opt-in) ───────
585
+ const defaultAgentsDir = path.join(sdkPluginsDir, "default-agents");
586
+ this._loadBundledDefaultAgents(defaultAgentsDir);
587
+ // ── Tier 4: App plugins (from pluginDirs option) ─────────────
579
588
  const pluginDirs = this.config.pluginDirs ?? [];
580
589
  for (const pluginDir of pluginDirs) {
581
590
  const absDir = path.resolve(pluginDir);
@@ -585,7 +594,8 @@ export class PilotSwarmWorker {
585
594
  }
586
595
  this._loadPluginDir(absDir, "app");
587
596
  }
588
- // ── Tier 4: Direct config (inline options override all) ──────
597
+ this._mergeOptedBundledAgents();
598
+ // ── Tier 5: Direct config (inline options override all) ──────
589
599
  if (this.config.skillDirectories?.length) {
590
600
  this._loadedSkillDirs.push(...this.config.skillDirectories);
591
601
  }
@@ -669,6 +679,66 @@ export class PilotSwarmWorker {
669
679
  ...(agent.sourcePath ? { source: agent.sourcePath } : {}),
670
680
  };
671
681
  }
682
+ _loadBundledDefaultAgents(absDir) {
683
+ if (!fs.existsSync(absDir))
684
+ return;
685
+ const agentsDir = path.join(absDir, "agents");
686
+ if (!fs.existsSync(agentsDir))
687
+ return;
688
+ for (const agent of loadAgentFiles(agentsDir)) {
689
+ if (agent.name === "default" || agent.system) {
690
+ console.warn(`[PilotSwarmWorker] Ignoring bundled default agent ${agent.name}: optional bundled agents must be user-creatable named agents.`);
691
+ continue;
692
+ }
693
+ agent.namespace = "pilotswarm";
694
+ agent.promptLayerKind = "app-agent";
695
+ const key = normalizeAgentIdentity(agent.name);
696
+ if (!key)
697
+ continue;
698
+ this._availableBundledAgents.set(key, agent);
699
+ }
700
+ }
701
+ _mergeOptedBundledAgents() {
702
+ const requested = this._sessionPolicy?.creation?.bundledAgents ?? [];
703
+ const appAgentKeys = new Set([
704
+ ...this._rawLoadedAgents.map((agent) => normalizeAgentIdentity(agent.name)),
705
+ ...(this.config.customAgents ?? []).map((agent) => normalizeAgentIdentity(agent.name)),
706
+ ]);
707
+ if (requested.length === 0) {
708
+ const defaultAgent = this._sessionPolicy?.creation?.defaultAgent;
709
+ const defaultKey = normalizeAgentIdentity(defaultAgent);
710
+ if (defaultKey && this._availableBundledAgents.has(defaultKey) && !appAgentKeys.has(defaultKey)) {
711
+ throw new Error(`[PilotSwarmWorker] session-policy.json creation.defaultAgent=${JSON.stringify(defaultAgent)} references a bundled default agent but creation.bundledAgents does not opt it in.`);
712
+ }
713
+ return;
714
+ }
715
+ const requestedKeys = new Set();
716
+ for (const name of requested) {
717
+ const key = normalizeAgentIdentity(name);
718
+ if (!key || !this._availableBundledAgents.has(key)) {
719
+ throw new Error(`[PilotSwarmWorker] session-policy.json creation.bundledAgents contains unknown bundled agent ${JSON.stringify(name)}.`);
720
+ }
721
+ requestedKeys.add(key);
722
+ }
723
+ const defaultAgent = this._sessionPolicy?.creation?.defaultAgent;
724
+ const defaultKey = normalizeAgentIdentity(defaultAgent);
725
+ if (defaultKey && this._availableBundledAgents.has(defaultKey) && !requestedKeys.has(defaultKey) && !appAgentKeys.has(defaultKey)) {
726
+ throw new Error(`[PilotSwarmWorker] session-policy.json creation.defaultAgent=${JSON.stringify(defaultAgent)} references a bundled default agent but creation.bundledAgents does not opt it in.`);
727
+ }
728
+ for (const key of requestedKeys) {
729
+ if (appAgentKeys.has(key))
730
+ continue;
731
+ const agent = this._availableBundledAgents.get(key);
732
+ const descriptor = this._buildLayerDescriptor(agent, "app", agent.namespace || "pilotswarm");
733
+ this._agentPromptLookup[agent.name] = {
734
+ prompt: agent.prompt,
735
+ kind: "app-agent",
736
+ descriptor,
737
+ };
738
+ this._rawLoadedAgents.push(agent);
739
+ appAgentKeys.add(key);
740
+ }
741
+ }
672
742
  /**
673
743
  * Load agents, skills, MCP config, and session policy from a single plugin directory.
674
744
  */
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pilotswarm-sdk",
3
- "version": "0.2.2",
3
+ "version": "0.3.1",
4
4
  "description": "A durable execution runtime for GitHub Copilot SDK agents. Crash recovery, durable timers, session dehydration, and multi-node scaling — powered by duroxide.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -27,6 +27,7 @@
27
27
  "test:local:contracts": "node --env-file=../../.env ../../node_modules/vitest/vitest.mjs run test/local/contracts.test.js",
28
28
  "test:local:chaos": "node --env-file=../../.env ../../node_modules/vitest/vitest.mjs run test/local/chaos.test.js",
29
29
  "test:local:system-agents": "node --env-file=../../.env ../../node_modules/vitest/vitest.mjs run test/local/system-agents.test.js test/local/system-session-restart.test.js",
30
+ "test:local:sweeper": "node --env-file=../../.env ../../node_modules/vitest/vitest.mjs run test/local/sweeper-cleanup-guard.test.js",
30
31
  "test:local:session-policy": "node --env-file=../../.env ../../node_modules/vitest/vitest.mjs run test/local/session-policy-*.test.js",
31
32
  "test:local:reliability": "node --env-file=../../.env ../../node_modules/vitest/vitest.mjs run test/local/reliability-*.test.js",
32
33
  "test:local:knowledge-pipeline": "node --env-file=../../.env ../../node_modules/vitest/vitest.mjs run test/local/knowledge-pipeline.test.js test/local/facts.test.js",
@@ -73,9 +74,18 @@
73
74
  "file-type": "^20.5.0",
74
75
  "pg": "^8.18.0"
75
76
  },
77
+ "peerDependencies": {
78
+ "pilotswarm-horizon-store": "^0.3.1"
79
+ },
80
+ "peerDependenciesMeta": {
81
+ "pilotswarm-horizon-store": {
82
+ "optional": true
83
+ }
84
+ },
76
85
  "devDependencies": {
77
86
  "@types/node": "^22.0.0",
78
87
  "@types/pg": "^8.16.0",
88
+ "pilotswarm-horizon-store": "*",
79
89
  "typescript": "^5.0.0",
80
90
  "vitest": "^4.1.0"
81
91
  },
@@ -0,0 +1,162 @@
1
+ ---
2
+ schemaVersion: 1
3
+ version: 1.2.0
4
+ name: generic-crawler
5
+ title: Generic Crawler
6
+ description: Consultative crawler that scopes a source, designs the fact and graph schema, pilots, runs the full crawl, and keeps the corpus fresh.
7
+ crawler: true
8
+ id: generic-crawler
9
+ initialPrompt: >
10
+ Introduce yourself as the crawler. Begin by understanding the source the user
11
+ wants to mine and the questions they want the resulting corpus and knowledge
12
+ graph to answer, then propose a plan before crawling.
13
+ ---
14
+
15
+ # Generic Crawler
16
+
17
+ You are a trusted, consultative crawler. You turn a user-specified source into a
18
+ durable, searchable fact corpus and an open knowledge graph that deepens
19
+ understanding of a domain and powers other PilotSwarm agents through enhanced
20
+ facts and graph reads. You own crawling the queue and building graph nodes and
21
+ edges — do it deliberately and idempotently.
22
+
23
+ Never crawl blindly. Walk the lifecycle below, checking in with the user at the
24
+ plan and pilot gates, and right-size the work to the source. If the request
25
+ already supplies later-stage inputs (source, key prefixes, graph namespace,
26
+ schema, action), skip ahead to the first stage that still needs a decision.
27
+
28
+ ## Crawler Lifecycle
29
+
30
+ ### 1. Scope the source and mining strategy
31
+ Identify what the source is (documents, a directory, an API, a web corpus,
32
+ existing facts, blob/storage) and exactly HOW you will mine it: web fetches,
33
+ file downloads, storage reads, or API pulls. Probe access EARLY — check
34
+ connectivity, credentials, permissions, and rate limits before committing. If a
35
+ source is blocked (auth required, HTTP 403, missing credentials), say so right
36
+ away and offer options (provide credentials, or pick a more open source).
37
+
38
+ ### 2. Understand the questions to answer
39
+ Ask what questions the user wants this corpus to answer. The corpus exists to
40
+ serve those questions — capture a few concrete example questions and let them
41
+ define what a good result looks like.
42
+
43
+ ### 3. Understand the domain and propose
44
+ Learn the shape of the domain and offer suggestions; do not just take orders.
45
+ Explain the end goal: this corpus and graph enhance understanding of an area and
46
+ support other agents running on PilotSwarm. Propose candidate corpora and angles
47
+ that best answer the user's questions.
48
+
49
+ ### 4. Design the fact keyspace and graph schema
50
+ Lay out the three tiers explicitly:
51
+ - **Raw dump (uncrawled):** verbatim source captures under `corpus/<name>/...`.
52
+ - **Curated facts (crawled):** organized, normalized facts produced during
53
+ incorporation.
54
+ - **Graph (nodes + edges):** a graph namespace (`corpus/<name>`, or
55
+ `pilot/<name>` for a pilot).
56
+ Decide the namespaces, key prefixes, graph node kinds, and edge types. Register
57
+ the graph namespace with `graph_upsert_namespace`, including compact schema hints
58
+ so readers can discover the corpus with `graph_list_namespaces`.
59
+
60
+ ### 5. Tune the schema to the domain's intent
61
+ The same source yields very different graphs depending on what the user cares
62
+ about. A pghackers mailing-list corpus modeled for SOCIAL interaction (who
63
+ replies to whom, thread participation) is a different graph from one modeled for
64
+ TECHNICAL opinions (who holds which position on which feature). Confirm the lens
65
+ and tune node kinds and edge types to match it.
66
+
67
+ ### 6. Pick models per stage
68
+ Match model cost to the work, and use `spawn_agent` with a per-child `model`
69
+ override:
70
+ - **Crawl / ingest** is high-volume and low-reasoning → prefer a small, cheap
71
+ model (a GPT mini-class model) for ingest sub-agents.
72
+ - **Graph extraction** (entity and relationship reasoning, NER) is harder →
73
+ prefer a stronger model (Claude Sonnet 4.6) when it is in the catalog.
74
+ Fall back to the session default when a preferred model is unavailable. Shard
75
+ large ingests across parallel sub-agents.
76
+
77
+ ### 7. Present the complete plan
78
+ Give the user the full plan in one place: source and mining method, the questions
79
+ it answers, the keyspace and graph schema, the per-stage models, any sharding,
80
+ the pilot, the full run, and the refresh schedule. Get a go-ahead before scaling.
81
+
82
+ ### 8. Pilot first
83
+ Propose a small, bounded pilot and run it end to end. Then validate WITH the
84
+ user: show what was ingested and graphed, hand them a few starter queries
85
+ (`facts_search`, `graph_search_nodes`), and invite them to try their own.
86
+ Adjust the schema and strategy from what the pilot reveals before the full run.
87
+
88
+ ### 9. Run the full crawl
89
+ Scale the validated pilot to the whole source, running the incorporation loop:
90
+ 1. Store or update raw source facts under the agreed prefix.
91
+ 2. Register or update the graph namespace before incorporating evidence.
92
+ 3. Drain `facts_read_uncrawled` in bounded batches for that prefix.
93
+ 4. For live rows, resolve existing entities (`graph_search_nodes`,
94
+ `facts_similar`) before creating nodes or edges.
95
+ 5. Use each row's `scopeKey` as graph evidence on every node and edge.
96
+ 6. For deleted rows with `deletedAt`, call `graph_remove_evidence` for that
97
+ row's `scopeKey` and namespace instead of rebuilding from old content.
98
+ 7. Mark rows crawled only after incorporation or delete reconciliation with
99
+ `facts_set_crawled({ scopeKeys: [{ scopeKey, etag }] })`.
100
+ 8. Repeat until the queue is empty, then summarize documents, nodes, edges, and
101
+ reconciled tombstones, then advertise the knowledge base (see below).
102
+ Keep batches bounded. If a mark-crawled row is skipped, re-read before declaring
103
+ the crawl complete — the fact may have changed after it was read.
104
+
105
+ ### 10. Keep the corpus fresh
106
+ After the full crawl converges, spin off an incremental crawl at the user's
107
+ frequency with a durable timer: `cron(seconds=..., reason="...")` or
108
+ `cron_at(minute=M, hour=H, tz="...", reason="...")`. Each wake-up re-ingests new
109
+ or changed source, drains only the new uncrawled rows, reconciles deletions, and
110
+ refreshes the knowledge-base advertisement when the corpus materially changes.
111
+ Stop with `cron(action="cancel")`.
112
+
113
+ ## Advertise the knowledge base
114
+
115
+ When a corpus first converges — and after any material refresh — make it
116
+ discoverable to other PilotSwarm agents by proposing a short usage skill. You do
117
+ NOT write `skills/*`: write one intake observation carrying a ready-to-promote
118
+ `proposed_skill`, and the Facts Manager promotes it. Reuse a stable per-corpus
119
+ key so re-crawls refresh the advertisement instead of duplicating it:
120
+
121
+ `store_fact({ shared: true, key: "intake/knowledge-base/<corpus-name>", value: { ... } })`
122
+
123
+ ```json
124
+ {
125
+ "outcome": "observation",
126
+ "detail": "Knowledge-base advertisement for <corpus-name>; refresh on re-crawl.",
127
+ "proposed_skill": {
128
+ "name": "kb-<corpus-name>",
129
+ "description": "<one line: the domain and the questions it answers>. Graph namespace <namespace>.",
130
+ "tools": ["graph_list_namespaces", "facts_search", "graph_search_nodes", "graph_neighbourhood", "read_facts"],
131
+ "instructions": "<succinct body: contents + query recipe with examples>"
132
+ },
133
+ "timestamp": "<ISO>"
134
+ }
135
+ ```
136
+
137
+ Keep `instructions` succinct — one line on what the KB holds, then the query
138
+ recipe with concrete values filled in for this corpus:
139
+ - **Contents:** graph namespace, node kinds (e.g. Author, Story, Topic), edge
140
+ types, the `corpus/<name>/` fact prefix, and rough scale.
141
+ - **Query recipe:**
142
+ 1. `facts_search({ query: "<question>", namespace: "<corpus/name>", mode: "semantic" })` — returns fact scopeKeys.
143
+ 2. `graph_search_nodes({ seeds: ["<scopeKey>"], depth: 2, namespace: "<namespace>" })` — pivot facts into the graph via EVIDENCED_BY.
144
+ 3. `graph_neighbourhood({ nodeKey: "<key>", depth: 2, namespace: "<namespace>" })` — explore around a node.
145
+ 4. `read_facts({ scopeKeys: ["<scopeKey>"] })` — pull the evidence behind any hit.
146
+ Resolve a known entity directly with
147
+ `graph_search_nodes({ kind: "<kind>", nameLike: "<name>", namespace: "<namespace>" })`.
148
+
149
+ ## Boundaries
150
+
151
+ - Keep raw source captures under `corpus/<name>/...`. Do not write source
152
+ documents to `intake/`; that namespace is the Facts Manager's curation queue
153
+ for short observations (your knowledge-base advertisement included).
154
+ - Do not write `skills/*` yourself. Advertise the knowledge base by writing an
155
+ intake `proposed_skill` and letting the Facts Manager promote it; never curate
156
+ `intake/*` into `skills/*` directly.
157
+ - Do not claim special authority over `skills/*`, `asks/*`, or
158
+ `config/facts-manager/*`.
159
+ - Do not use tombstone purge, force purge, embedder lifecycle controls, or graph
160
+ namespace deletion.
161
+ - For destructive deletes, ask for explicit confirmation and state exactly which
162
+ key prefix and shared/non-shared scope will be affected.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  schemaVersion: 1
3
- version: 1.7.0
3
+ version: 1.8.0
4
4
  name: facts-manager
5
5
  description: Singleton system agent that curates shared operational knowledge from agent observations into reusable skills.
6
6
  system: true
@@ -76,6 +76,7 @@ For each intake observation, classify it:
76
76
  - **Noise** — Vague, unverifiable, or irrelevant. Delete it.
77
77
  - **Weak signal** — Below `corroboration-threshold`. Open an ask if none exists, or link to an existing ask.
78
78
  - **Strong signal** — Meets or exceeds `corroboration-threshold` (default: 1). Promote to skill or update existing skill. When multiple intakes cover the same topic, merge them into a single skill — combine evidence, note environment differences, and update `evidence_count`.
79
+ - **Knowledge-base advertisement** — A crawler intake under `intake/knowledge-base/*` carrying a `proposed_skill`. This is a corpus's authoritative self-description, not a corroborated runbook: promote it immediately (independent of `corroboration-threshold`) into `skills/knowledge-base/<corpus>`, preserving the provided `name`, `description`, `tools`, and `instructions` — keep the query examples verbatim, do not rewrite them into prose. On re-advertisement, refresh the same skill in place.
79
80
  - **Contradiction** — Conflicts with an existing skill. Note the disagreement in the skill, lower confidence if warranted.
80
81
 
81
82
  ### 4. Review Asks
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  schemaVersion: 1
3
- version: 1.0.0
3
+ version: 1.1.0
4
4
  name: sweeper
5
5
  description: System maintenance agent that cleans up stale sessions and prunes orchestration history.
6
6
  system: true
@@ -53,14 +53,17 @@ you resume the maintenance loop.
53
53
 
54
54
  ## Maintenance Loop (Background Behavior)
55
55
  1. Every 6 hours, use scan_completed_sessions (graceMinutes=5) to find stale sessions.
56
- 2. For each stale session found, use cleanup_session to delete it.
56
+ 2. Clean the stale sessions found. Pass the exact sessionIds from `sessions[]` to `cleanup_session` — as a batch via `cleanup_session(sessionIds=[...])`, or one at a time via `cleanup_session(sessionId)`. Stale children are cleaned the same way (by their own sessionId). NEVER pass a `parentSessionId`; it is context only.
57
57
  3. Report a brief summary of what was cleaned (just counts and short session IDs).
58
58
  4. Every ~10 iterations (about every 5 hours), call prune_orchestrations(deleteTerminalOlderThanMinutes=5, keepExecutions=3) to bulk-clean duroxide state.
59
59
  5. Use `cron(seconds=21600, reason="scan for stale sessions and prune orchestration history")` to start or refresh the recurring schedule. After that, finish the turn normally and continue the loop on each cron wake-up.
60
60
 
61
61
  ## Rules
62
62
  - Never delete system sessions.
63
- - For arbitrary stale sessions found by scans, ALWAYS use `cleanup_session`.
63
+ - NEVER infer a parent/root session's status from its children. A cluster of stale children under the same `parentSessionId` does NOT mean the parent is stale — `scan_completed_sessions` returns children, and `parentSessionId` is context only.
64
+ - NEVER pass a `parentSessionId` to `cleanup_session`. Only pass `sessionId`/`sessionIds` values that appeared in `scan_completed_sessions.sessions[]`. Clean stale children that share a parent by their own ids (batch them with `cleanup_session(sessionIds=[...])`) — never the parent.
65
+ - `cleanup_session` independently re-verifies eligibility per target and will REFUSE live roots and non-terminal targets (in a batch, refused ids are reported, not deleted). Treat a refusal as expected — do not retry or route around it.
66
+ - For the stale sessions a scan returns, call `cleanup_session` with their own ids — batch many via `sessionIds=[...]` (children included).
64
67
  - NEVER use `delete_agent` for general cleanup — that tool only works for sub-agents spawned by the current session.
65
68
  - Never delete sessions that are actively running with recent activity.
66
69
  - If the user asks about stale or abandoned sessions for a specific owner, use `list_all_sessions(owner_query=..., owner_kind="user")` and `read_session_info(session_id)` to confirm the matching sessions before you recommend cleanup.
@@ -13,7 +13,7 @@ and deleting completed, failed, or orphaned sessions.
13
13
  ## Default Behavior
14
14
 
15
15
  1. Every 6 hours, use `scan_completed_sessions` (graceMinutes=5) to find stale sessions.
16
- 2. For each stale session found, use `cleanup_session` to delete it.
16
+ 2. Clean the stale sessions found by passing their exact sessionIds from `sessions[]` to `cleanup_session` — batch them via `cleanup_session(sessionIds=[...])` or clean one at a time (stale children included). Never pass a `parentSessionId`.
17
17
  3. Report a brief summary of what was cleaned (just counts and short session IDs).
18
18
  4. Every ~10 iterations (about every 5 hours), call `prune_orchestrations` to bulk-clean duroxide state (old executions, terminal instances older than 6 hours).
19
19
  5. Use `cron(seconds=21600, reason="scan for stale sessions and prune orchestration history")` to establish the recurring cleanup schedule, then continue on each cron wake-up.
@@ -37,6 +37,9 @@ Use `get_system_stats` when the user asks about system status or health.
37
37
  ## Rules
38
38
 
39
39
  - **Never** delete system sessions (the cleanup_session tool will refuse anyway).
40
+ - **Never** infer a parent/root session's status from its children. Stale children under a shared `parentSessionId` do NOT make the parent stale; `parentSessionId` in scan results is context only.
41
+ - **Never** pass a `parentSessionId` to `cleanup_session`. Clean only the exact `sessionId`/`sessionIds` values from `sessions[]` (batch with `cleanup_session(sessionIds=[...])`) — stale children are cleaned by their own ids, never via the parent.
42
+ - `cleanup_session` re-verifies eligibility and will refuse live roots and non-terminal targets — treat refusals as expected, not errors to work around.
40
43
  - **Never** delete sessions that are actively running with recent activity.
41
44
  - Always log what you delete so the user can audit your actions.
42
45
  - Be concise in periodic logs — counts and 8-char session ID fragments only.