twining-mcp 1.16.0 → 1.18.0

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 (34) hide show
  1. package/README.md +35 -61
  2. package/dist/engine/decisions.d.ts.map +1 -1
  3. package/dist/engine/decisions.js +17 -10
  4. package/dist/engine/decisions.js.map +1 -1
  5. package/dist/engine/housekeeping.d.ts +60 -0
  6. package/dist/engine/housekeeping.d.ts.map +1 -0
  7. package/dist/engine/housekeeping.js +180 -0
  8. package/dist/engine/housekeeping.js.map +1 -0
  9. package/dist/engine/record-parser.d.ts +16 -0
  10. package/dist/engine/record-parser.d.ts.map +1 -0
  11. package/dist/engine/record-parser.js +136 -0
  12. package/dist/engine/record-parser.js.map +1 -0
  13. package/dist/instructions.d.ts +1 -1
  14. package/dist/instructions.d.ts.map +1 -1
  15. package/dist/instructions.js +9 -18
  16. package/dist/instructions.js.map +1 -1
  17. package/dist/server.d.ts.map +1 -1
  18. package/dist/server.js +10 -1
  19. package/dist/server.js.map +1 -1
  20. package/dist/tools/blackboard-tools.js +25 -24
  21. package/dist/tools/blackboard-tools.js.map +1 -1
  22. package/dist/tools/coordination-tools.js +69 -68
  23. package/dist/tools/coordination-tools.js.map +1 -1
  24. package/dist/tools/decision-tools.js +169 -165
  25. package/dist/tools/decision-tools.js.map +1 -1
  26. package/dist/tools/housekeeping-tools.d.ts +4 -0
  27. package/dist/tools/housekeeping-tools.d.ts.map +1 -0
  28. package/dist/tools/housekeeping-tools.js +46 -0
  29. package/dist/tools/housekeeping-tools.js.map +1 -0
  30. package/dist/tools/record-tools.d.ts +5 -0
  31. package/dist/tools/record-tools.d.ts.map +1 -0
  32. package/dist/tools/record-tools.js +292 -0
  33. package/dist/tools/record-tools.js.map +1 -0
  34. package/package.json +1 -1
package/README.md CHANGED
@@ -35,21 +35,26 @@ Twining is an MCP server that gives your AI agents persistent project memory. De
35
35
  /plugin install twining@twining-marketplace
36
36
  ```
37
37
 
38
- **Record a decision with rationale:**
38
+ **Record what you did — in natural language:**
39
39
  ```
40
- > Use twining_decide to record: chose PostgreSQL over MongoDB for ACID compliance
40
+ twining_record({
41
+ summary: "Added Redis caching to UserService",
42
+ decisions: ["Chose Redis over Memcached — need persistence across restarts"],
43
+ assumptions: ["Read-heavy workload (10:1 ratio)"],
44
+ scope: "src/services/"
45
+ })
41
46
  ```
42
- Twining captures the decision, rationale, alternatives considered, confidence level, and affected files as a structured record, not chat history.
47
+ Twining parses your decisions into structured records — extracting rationale, rejected alternatives, and domain automatically. One tool call, no forms.
43
48
 
44
49
  **Start a new session. Get caught up instantly:**
45
50
  ```
46
- > Use twining_assemble for the database module
51
+ twining_assemble({ task: "optimize the caching layer", scope: "src/services/" })
47
52
  ```
48
53
  Twining scores every decision, warning, and finding by relevance to your task, then fills a token budget in priority order. You get exactly the context you need — no firehose, no re-explaining.
49
54
 
50
55
  **Ask why things are the way they are:**
51
56
  ```
52
- > Use twining_why src/auth/middleware.ts
57
+ twining_why({ scope: "src/auth/middleware.ts" })
53
58
  ```
54
59
  Returns the full decision chain for any file: what was decided, when, why, what alternatives were rejected, and which commit implemented it.
55
60
 
@@ -80,7 +85,7 @@ Agents self-select into work by reading the blackboard. No central bottleneck. N
80
85
  /plugin install twining@twining-marketplace
81
86
  ```
82
87
 
83
- Includes the MCP server, 8 skills, lifecycle hooks, coordinator subagent, and commands. Skills teach Claude when and how to use Twining everything works automatically.
88
+ Includes the MCP server, skills, lifecycle hooks, and pre-commit enforcement. Two gates: `twining_assemble` before working, `twining_record` before committinghooks enforce both automatically.
84
89
 
85
90
  ### Team Auto-Install
86
91
 
@@ -157,69 +162,38 @@ A web dashboard starts automatically at `http://localhost:24282` — browse deci
157
162
 
158
163
  ## What's Inside
159
164
 
160
- ### Persistent Decisions
165
+ ### Core Tools (always available)
161
166
 
162
- | Tool | What It Does |
163
- |------|-------------|
164
- | `twining_decide` | Record a decision with rationale, alternatives, confidence, and traceability |
165
- | `twining_why` | Get the full decision chain for any file or scope |
166
- | `twining_trace` | Trace a decision's dependency chain upstream and downstream |
167
- | `twining_reconsider` | Flag a decision for reconsideration with impact analysis |
168
- | `twining_override` | Override a decision, optionally creating a replacement |
169
- | `twining_promote` | Promote provisional decisions to active after validation |
170
- | `twining_search_decisions` | Search decisions by keyword or semantic similarity |
171
- | `twining_link_commit` | Link a git commit to a decision |
172
- | `twining_commits` | Find decisions by git commit |
173
-
174
- ### Shared Blackboard
175
-
176
- | Tool | What It Does |
177
- |------|-------------|
178
- | `twining_post` | Share a finding, warning, need, or question with all agents |
179
- | `twining_read` | Read entries filtered by type, scope, or agent |
180
- | `twining_query` | Semantic search across all entries |
181
- | `twining_recent` | Get the latest entries |
182
- | `twining_dismiss` | Remove resolved or false-positive entries by ID |
183
-
184
- ### Context Assembly
185
-
186
- | Tool | What It Does |
187
- |------|-------------|
188
- | `twining_assemble` | Build tailored context for a task within a token budget |
189
- | `twining_summarize` | High-level summary of project state |
190
- | `twining_what_changed` | What changed since a given point in time |
191
-
192
- ### Knowledge Graph
167
+ These are the tools agents use in every session:
193
168
 
194
169
  | Tool | What It Does |
195
170
  |------|-------------|
196
- | `twining_add_entity` | Add or update an entity |
197
- | `twining_add_relation` | Add a relation between entities |
198
- | `twining_neighbors` | Traverse from an entity up to depth 3 |
199
- | `twining_graph_query` | Search by name or property |
200
- | `twining_prune_graph` | Remove orphaned entities with no relations |
171
+ | `twining_assemble` | **Gate 1:** Build tailored context for a task — decisions, warnings, handoffs, within a token budget |
172
+ | `twining_record` | **Gate 2:** Record what you did and any choices made — natural language in, structured decisions out |
173
+ | `twining_post` | Share findings, warnings, needs, or status during work |
174
+ | `twining_why` | Check what decisions constrain a file before modifying it |
175
+ | `twining_housekeeping` | Periodic maintenance archive, deduplicate, surface stale decisions (dry-run by default) |
201
176
 
202
- Decisions auto-populate the graph: `twining_decide` creates file and function entities with `decided_by` relations for every affected file.
177
+ `twining_record` accepts natural language decisions like `"Chose Redis over Memcached — need persistence"` and automatically parses them into structured records with rationale, rejected alternatives, and inferred domain. It also accepts assumptions, constraints, affected files, and dependency chains — everything the decision store needs for high-fidelity context assembly.
203
178
 
204
- ### Agent Coordination
179
+ ### Extended Tools (available with `full_surface: true`)
205
180
 
206
- | Tool | What It Does |
207
- |------|-------------|
208
- | `twining_register` | Register or update an agent in the coordination registry |
209
- | `twining_agents` | List agents with capabilities and liveness |
210
- | `twining_discover` | Find agents matching required capabilities |
211
- | `twining_delegate` | Post a delegation request with capability requirements |
212
- | `twining_handoff` | Hand off work with results and auto-assembled context |
213
- | `twining_acknowledge` | Acknowledge receipt of a handoff |
181
+ For advanced workflows deep decision management, graph exploration, multi-agent coordination:
214
182
 
215
- ### Verification & Lifecycle
183
+ | Category | Tools |
184
+ |----------|-------|
185
+ | **Decisions** | `twining_decide`, `twining_search_decisions`, `twining_reconsider`, `twining_link_commit`, `twining_trace`, `twining_override`, `twining_promote`, `twining_commits` |
186
+ | **Blackboard** | `twining_read`, `twining_query`, `twining_recent`, `twining_dismiss` |
187
+ | **Context** | `twining_summarize`, `twining_what_changed` |
188
+ | **Graph** | `twining_add_entity`, `twining_add_relation`, `twining_neighbors`, `twining_graph_query`, `twining_prune_graph` |
189
+ | **Coordination** | `twining_register`, `twining_agents`, `twining_discover`, `twining_delegate`, `twining_handoff`, `twining_acknowledge` |
190
+ | **Lifecycle** | `twining_verify`, `twining_status`, `twining_archive`, `twining_export` |
216
191
 
217
- | Tool | What It Does |
218
- |------|-------------|
219
- | `twining_verify` | Run verification checks — test coverage, warnings, assembly tracking |
220
- | `twining_status` | Health check — entry counts, warnings, agent status |
221
- | `twining_archive` | Move stale entries to archive |
222
- | `twining_export` | Export full state as markdown |
192
+ Enable with `.twining/config.yml`:
193
+ ```yaml
194
+ tools:
195
+ full_surface: true
196
+ ```
223
197
 
224
198
  ## How It Works
225
199
 
@@ -303,7 +277,7 @@ That's it — the PostHog project key is built into the source code. If you run
303
277
  ```bash
304
278
  npm install # Install dependencies
305
279
  npm run build # Build
306
- npm test # Run tests (600+ tests)
280
+ npm test # Run tests (800+ tests)
307
281
  npm run test:watch
308
282
  ```
309
283
 
@@ -1 +1 @@
1
- {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../src/engine/decisions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../src/engine/decisions.ts"],"names":[],"mappings":"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"}
@@ -160,16 +160,23 @@ export class DecisionEngine {
160
160
  agent_id: decision.agent_id,
161
161
  });
162
162
  }
163
- // Cross-post to blackboard (internal — bypasses decision rejection)
164
- await this.blackboardEngine.post({
165
- entry_type: "decision",
166
- summary: decision.summary,
167
- detail: decision.rationale,
168
- tags: [decision.domain],
169
- scope: decision.scope,
170
- agent_id: decision.agent_id,
171
- _internal: true,
172
- });
163
+ // Cross-post to blackboard (internal — bypasses decision rejection).
164
+ // Blackboard enforces a 200-char summary limit; decision summaries are
165
+ // unbounded, so slice for the cross-post and keep the full text in detail.
166
+ try {
167
+ await this.blackboardEngine.post({
168
+ entry_type: "decision",
169
+ summary: decision.summary.slice(0, 200),
170
+ detail: decision.rationale,
171
+ tags: [decision.domain],
172
+ scope: decision.scope,
173
+ agent_id: decision.agent_id,
174
+ _internal: true,
175
+ });
176
+ }
177
+ catch (error) {
178
+ console.error("[twining] Decision cross-post failed (non-fatal):", error);
179
+ }
173
180
  // Generate embedding (Phase 2) — never let embedding failure prevent the decide
174
181
  if (this.embedder && this.indexManager) {
175
182
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../src/engine/decisions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../src/engine/decisions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { BlackboardStore } from "../storage/blackboard-store.js";
2
+ import type { DecisionStore } from "../storage/decision-store.js";
3
+ import type { Archiver } from "./archiver.js";
4
+ import type { GraphEngine } from "./graph.js";
5
+ export interface StaleProvisional {
6
+ id: string;
7
+ summary: string;
8
+ scope: string;
9
+ age_days: number;
10
+ }
11
+ export interface DanglingWarning {
12
+ id: string;
13
+ summary: string;
14
+ scope: string;
15
+ age_days: number;
16
+ }
17
+ export interface HousekeepingResult {
18
+ archived: {
19
+ count: number;
20
+ file: string;
21
+ };
22
+ deduplicated: {
23
+ removed: number;
24
+ };
25
+ stale_provisionals: {
26
+ count: number;
27
+ items: StaleProvisional[];
28
+ };
29
+ promoted_provisionals: {
30
+ count: number;
31
+ ids: string[];
32
+ };
33
+ dangling_warnings: {
34
+ count: number;
35
+ items: DanglingWarning[];
36
+ };
37
+ graph_pruned: {
38
+ removed: number;
39
+ };
40
+ metrics_rotated: {
41
+ removed: number;
42
+ };
43
+ dry_run: boolean;
44
+ summary: string;
45
+ }
46
+ export declare class HousekeepingEngine {
47
+ private readonly twiningDir;
48
+ private readonly blackboardStore;
49
+ private readonly decisionStore;
50
+ private readonly archiver;
51
+ private readonly graphEngine;
52
+ constructor(twiningDir: string, blackboardStore: BlackboardStore, decisionStore: DecisionStore, archiver: Archiver, graphEngine: GraphEngine | null);
53
+ run(options?: {
54
+ stale_days?: number;
55
+ metrics_retention_days?: number;
56
+ execute?: boolean;
57
+ promote_provisionals?: boolean;
58
+ }): Promise<HousekeepingResult>;
59
+ }
60
+ //# sourceMappingURL=housekeeping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"housekeeping.d.ts","sourceRoot":"","sources":["../../src/engine/housekeeping.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAS9C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,YAAY,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,kBAAkB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;IACjE,qBAAqB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACxD,iBAAiB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;IAC/D,YAAY,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,eAAe,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAJX,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,GAAG,IAAI;IAG5C,GAAG,CAAC,OAAO,CAAC,EAAE;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAiKhC"}
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Housekeeping engine — periodic maintenance for Twining stores.
3
+ * Orchestrates archival, deduplication, stale decision surfacing,
4
+ * dangling warning detection, graph pruning, and metrics rotation.
5
+ *
6
+ * Dry-run by default — preview before executing.
7
+ */
8
+ import fs from "node:fs";
9
+ import path from "node:path";
10
+ /** Default: flag provisionals older than 7 days. */
11
+ const STALE_PROVISIONAL_DAYS = 7;
12
+ /** Default: keep metrics for 30 days. */
13
+ const METRICS_RETENTION_DAYS = 30;
14
+ export class HousekeepingEngine {
15
+ twiningDir;
16
+ blackboardStore;
17
+ decisionStore;
18
+ archiver;
19
+ graphEngine;
20
+ constructor(twiningDir, blackboardStore, decisionStore, archiver, graphEngine) {
21
+ this.twiningDir = twiningDir;
22
+ this.blackboardStore = blackboardStore;
23
+ this.decisionStore = decisionStore;
24
+ this.archiver = archiver;
25
+ this.graphEngine = graphEngine;
26
+ }
27
+ async run(options) {
28
+ const staleDays = options?.stale_days ?? STALE_PROVISIONAL_DAYS;
29
+ const metricsRetentionDays = options?.metrics_retention_days ?? METRICS_RETENTION_DAYS;
30
+ const execute = options?.execute ?? false;
31
+ const promoteProvisionals = options?.promote_provisionals ?? false;
32
+ const result = {
33
+ archived: { count: 0, file: "" },
34
+ deduplicated: { removed: 0 },
35
+ stale_provisionals: { count: 0, items: [] },
36
+ promoted_provisionals: { count: 0, ids: [] },
37
+ dangling_warnings: { count: 0, items: [] },
38
+ graph_pruned: { removed: 0 },
39
+ metrics_rotated: { removed: 0 },
40
+ dry_run: !execute,
41
+ summary: "",
42
+ };
43
+ const now = Date.now();
44
+ // 1. Archive old blackboard entries
45
+ if (execute) {
46
+ try {
47
+ const archiveResult = await this.archiver.archive({ summarize: false });
48
+ result.archived.count = archiveResult.archived_count;
49
+ result.archived.file = archiveResult.archive_file;
50
+ }
51
+ catch {
52
+ // Non-fatal
53
+ }
54
+ }
55
+ // 2. Deduplicate blackboard entries (same entry_type + summary + scope → keep newest)
56
+ try {
57
+ const { entries } = await this.blackboardStore.read();
58
+ const seen = new Map();
59
+ const duplicateIds = [];
60
+ // Walk newest-first so we keep the latest
61
+ const sorted = [...entries].sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
62
+ for (const entry of sorted) {
63
+ const key = `${entry.entry_type}|${entry.summary}|${entry.scope}`;
64
+ if (seen.has(key)) {
65
+ duplicateIds.push(entry.id);
66
+ }
67
+ else {
68
+ seen.set(key, entry);
69
+ }
70
+ }
71
+ if (duplicateIds.length > 0 && execute) {
72
+ await this.blackboardStore.dismiss(duplicateIds);
73
+ }
74
+ result.deduplicated.removed = duplicateIds.length;
75
+ // 6. Surface dangling warnings (never auto-removed, just reported)
76
+ const warnings = entries.filter((e) => e.entry_type === "warning");
77
+ result.dangling_warnings.items = warnings.map((w) => ({
78
+ id: w.id,
79
+ summary: w.summary,
80
+ scope: w.scope,
81
+ age_days: Math.floor((now - new Date(w.timestamp).getTime()) / (24 * 60 * 60 * 1000)),
82
+ }));
83
+ result.dangling_warnings.items.sort((a, b) => b.age_days - a.age_days);
84
+ result.dangling_warnings.count = result.dangling_warnings.items.length;
85
+ }
86
+ catch {
87
+ // Non-fatal
88
+ }
89
+ // 3. Surface stale provisional decisions (report always, promote only if opted in)
90
+ try {
91
+ const cutoff = new Date(now - staleDays * 24 * 60 * 60 * 1000).toISOString();
92
+ const index = await this.decisionStore.getIndex();
93
+ const staleProvisionals = index.filter((e) => e.status === "provisional" && e.timestamp < cutoff);
94
+ result.stale_provisionals.items = staleProvisionals.map((e) => ({
95
+ id: e.id,
96
+ summary: e.summary,
97
+ scope: e.scope,
98
+ age_days: Math.floor((now - new Date(e.timestamp).getTime()) / (24 * 60 * 60 * 1000)),
99
+ }));
100
+ result.stale_provisionals.items.sort((a, b) => b.age_days - a.age_days);
101
+ result.stale_provisionals.count = staleProvisionals.length;
102
+ // Only promote if explicitly requested
103
+ if (promoteProvisionals && execute && staleProvisionals.length > 0) {
104
+ for (const entry of staleProvisionals) {
105
+ await this.decisionStore.updateStatus(entry.id, "active");
106
+ }
107
+ result.promoted_provisionals.count = staleProvisionals.length;
108
+ result.promoted_provisionals.ids = staleProvisionals.map((e) => e.id);
109
+ }
110
+ }
111
+ catch {
112
+ // Non-fatal
113
+ }
114
+ // 4. Prune orphaned graph entities
115
+ if (this.graphEngine) {
116
+ try {
117
+ const pruneResult = await this.graphEngine.prune(undefined, !execute);
118
+ result.graph_pruned.removed = execute ? pruneResult.total_removed : pruneResult.total_orphans_found;
119
+ }
120
+ catch {
121
+ // Non-fatal
122
+ }
123
+ }
124
+ // 5. Rotate metrics — remove entries older than retention period
125
+ try {
126
+ const metricsPath = path.join(this.twiningDir, "metrics.jsonl");
127
+ if (fs.existsSync(metricsPath)) {
128
+ const cutoff = new Date(now - metricsRetentionDays * 24 * 60 * 60 * 1000).toISOString();
129
+ const content = fs.readFileSync(metricsPath, "utf-8");
130
+ const lines = content.split("\n").filter((l) => l.trim());
131
+ const kept = [];
132
+ let removed = 0;
133
+ for (const line of lines) {
134
+ try {
135
+ const entry = JSON.parse(line);
136
+ if (entry.timestamp && entry.timestamp < cutoff) {
137
+ removed++;
138
+ }
139
+ else {
140
+ kept.push(line);
141
+ }
142
+ }
143
+ catch {
144
+ kept.push(line); // Keep unparseable lines
145
+ }
146
+ }
147
+ if (removed > 0 && execute) {
148
+ fs.writeFileSync(metricsPath, kept.join("\n") + (kept.length > 0 ? "\n" : ""));
149
+ }
150
+ result.metrics_rotated.removed = removed;
151
+ }
152
+ }
153
+ catch {
154
+ // Non-fatal
155
+ }
156
+ // Build summary
157
+ const prefix = execute ? "" : "[preview] ";
158
+ const verb = execute ? "" : "would ";
159
+ const parts = [];
160
+ if (result.archived.count > 0)
161
+ parts.push(`${verb}archive ${result.archived.count} entries`);
162
+ if (result.deduplicated.removed > 0)
163
+ parts.push(`${verb}remove ${result.deduplicated.removed} duplicates`);
164
+ if (result.stale_provisionals.count > 0)
165
+ parts.push(`${result.stale_provisionals.count} stale provisionals need review`);
166
+ if (result.dangling_warnings.count > 0)
167
+ parts.push(`${result.dangling_warnings.count} unresolved warnings`);
168
+ if (result.promoted_provisionals.count > 0)
169
+ parts.push(`promoted ${result.promoted_provisionals.count} provisionals`);
170
+ if (result.graph_pruned.removed > 0)
171
+ parts.push(`${verb}prune ${result.graph_pruned.removed} orphaned entities`);
172
+ if (result.metrics_rotated.removed > 0)
173
+ parts.push(`${verb}rotate ${result.metrics_rotated.removed} old metrics`);
174
+ result.summary = parts.length > 0
175
+ ? prefix + parts.join(", ")
176
+ : "Nothing to clean up";
177
+ return result;
178
+ }
179
+ }
180
+ //# sourceMappingURL=housekeeping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"housekeeping.js","sourceRoot":"","sources":["../../src/engine/housekeeping.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,oDAAoD;AACpD,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,yCAAyC;AACzC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AA4BlC,MAAM,OAAO,kBAAkB;IAEV;IACA;IACA;IACA;IACA;IALnB,YACmB,UAAkB,EAClB,eAAgC,EAChC,aAA4B,EAC5B,QAAkB,EAClB,WAA+B;QAJ/B,eAAU,GAAV,UAAU,CAAQ;QAClB,oBAAe,GAAf,eAAe,CAAiB;QAChC,kBAAa,GAAb,aAAa,CAAe;QAC5B,aAAQ,GAAR,QAAQ,CAAU;QAClB,gBAAW,GAAX,WAAW,CAAoB;IAC/C,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,OAKT;QACC,MAAM,SAAS,GAAG,OAAO,EAAE,UAAU,IAAI,sBAAsB,CAAC;QAChE,MAAM,oBAAoB,GAAG,OAAO,EAAE,sBAAsB,IAAI,sBAAsB,CAAC;QACvF,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAC1C,MAAM,mBAAmB,GAAG,OAAO,EAAE,oBAAoB,IAAI,KAAK,CAAC;QAEnE,MAAM,MAAM,GAAuB;YACjC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAChC,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;YAC5B,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YAC3C,qBAAqB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;YAC5C,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YAC1C,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;YAC5B,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;YAC/B,OAAO,EAAE,CAAC,OAAO;YACjB,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,oCAAoC;QACpC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxE,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC;gBACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC;QAED,sFAAsF;QACtF,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,GAAG,EAA2B,CAAC;YAChD,MAAM,YAAY,GAAa,EAAE,CAAC;YAElC,0CAA0C;YAC1C,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAC5E,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAClE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,CAAC,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC;YAElD,mEAAmE;YACnE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;YACnE,MAAM,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpD,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;aACtF,CAAC,CAAC,CAAC;YACJ,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvE,MAAM,CAAC,iBAAiB,CAAC,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QAED,mFAAmF;QACnF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,IAAI,CACrB,GAAG,GAAG,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CACtC,CAAC,WAAW,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAClD,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,CAAC,SAAS,GAAG,MAAM,CAC1D,CAAC;YAEF,MAAM,CAAC,kBAAkB,CAAC,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9D,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;aACtF,CAAC,CAAC,CAAC;YACJ,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YACxE,MAAM,CAAC,kBAAkB,CAAC,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC;YAE3D,uCAAuC;YACvC,IAAI,mBAAmB,IAAI,OAAO,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnE,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;oBACtC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC5D,CAAC;gBACD,MAAM,CAAC,qBAAqB,CAAC,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC;gBAC9D,MAAM,CAAC,qBAAqB,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QAED,mCAAmC;QACnC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;gBACtE,MAAM,CAAC,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC;YACtG,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YAChE,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,IAAI,IAAI,CACrB,GAAG,GAAG,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CACjD,CAAC,WAAW,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1D,MAAM,IAAI,GAAa,EAAE,CAAC;gBAC1B,IAAI,OAAO,GAAG,CAAC,CAAC;gBAEhB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA2B,CAAC;wBACzD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC;4BAChD,OAAO,EAAE,CAAC;wBACZ,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClB,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB;oBAC5C,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;oBAC3B,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjF,CAAC;gBACD,MAAM,CAAC,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QAED,gBAAgB;QAChB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,WAAW,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,MAAM,CAAC,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;QAC3G,IAAI,MAAM,CAAC,kBAAkB,CAAC,KAAK,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,iCAAiC,CAAC,CAAC;QACzH,IAAI,MAAM,CAAC,iBAAiB,CAAC,KAAK,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,sBAAsB,CAAC,CAAC;QAC5G,IAAI,MAAM,CAAC,qBAAqB,CAAC,KAAK,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,qBAAqB,CAAC,KAAK,eAAe,CAAC,CAAC;QACtH,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,MAAM,CAAC,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC;QACjH,IAAI,MAAM,CAAC,eAAe,CAAC,OAAO,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,MAAM,CAAC,eAAe,CAAC,OAAO,cAAc,CAAC,CAAC;QAClH,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;YAC/B,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,CAAC,CAAC,qBAAqB,CAAC;QAE1B,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Parses natural language decision strings into structured decision input.
3
+ *
4
+ * Examples:
5
+ * "Chose Redis over Memcached — need persistence across restarts"
6
+ * "Used event-driven pattern instead of callbacks for notifications"
7
+ * "Reverted the workaround — root cause was fixed upstream"
8
+ */
9
+ export interface ParsedDecision {
10
+ summary: string;
11
+ rationale: string;
12
+ rejected_alternatives: string[];
13
+ domain: string;
14
+ }
15
+ export declare function parseDecision(text: string): ParsedDecision;
16
+ //# sourceMappingURL=record-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-parser.d.ts","sourceRoot":"","sources":["../../src/engine/record-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AA6HD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAe1D"}