causantic 0.8.2 → 0.9.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 (39) hide show
  1. package/config.schema.json +18 -0
  2. package/dist/cli/commands/init/hooks.d.ts.map +1 -1
  3. package/dist/cli/commands/init/hooks.js +4 -7
  4. package/dist/cli/commands/init/hooks.js.map +1 -1
  5. package/dist/cli/commands/init/skills.d.ts.map +1 -1
  6. package/dist/cli/commands/init/skills.js +8 -1
  7. package/dist/cli/commands/init/skills.js.map +1 -1
  8. package/dist/cli/skill-templates.d.ts.map +1 -1
  9. package/dist/cli/skill-templates.js +74 -454
  10. package/dist/cli/skill-templates.js.map +1 -1
  11. package/dist/config/loader.d.ts +6 -0
  12. package/dist/config/loader.d.ts.map +1 -1
  13. package/dist/config/loader.js +15 -0
  14. package/dist/config/loader.js.map +1 -1
  15. package/dist/config/memory-config.d.ts +7 -0
  16. package/dist/config/memory-config.d.ts.map +1 -1
  17. package/dist/config/memory-config.js +5 -0
  18. package/dist/config/memory-config.js.map +1 -1
  19. package/dist/dashboard/client/assets/index-Bl3e0s_w.css +1 -0
  20. package/dist/dashboard/client/assets/index-Dk4QtcXv.js +17 -0
  21. package/dist/dashboard/client/index.html +2 -2
  22. package/dist/dashboard/routes/projects.d.ts.map +1 -1
  23. package/dist/dashboard/routes/projects.js +18 -1
  24. package/dist/dashboard/routes/projects.js.map +1 -1
  25. package/dist/dashboard/routes/stats.d.ts.map +1 -1
  26. package/dist/dashboard/routes/stats.js +47 -0
  27. package/dist/dashboard/routes/stats.js.map +1 -1
  28. package/dist/hooks/session-start.js +1 -1
  29. package/dist/mcp/tools.d.ts.map +1 -1
  30. package/dist/mcp/tools.js +24 -4
  31. package/dist/mcp/tools.js.map +1 -1
  32. package/dist/retrieval/formatting.js +1 -1
  33. package/dist/retrieval/formatting.js.map +1 -1
  34. package/dist/retrieval/search-assembler.d.ts.map +1 -1
  35. package/dist/retrieval/search-assembler.js +17 -1
  36. package/dist/retrieval/search-assembler.js.map +1 -1
  37. package/package.json +1 -1
  38. package/dist/dashboard/client/assets/index-D1oEM16n.js +0 -17
  39. package/dist/dashboard/client/assets/index-DTriNsi9.css +0 -1
@@ -135,129 +135,6 @@ Pass these to the \`predict\` MCP tool:
135
135
  - Always provide a concise summary of the current task as the \`context\` parameter
136
136
  - Use early in a task to front-load relevant context
137
137
  - Especially useful when starting unfamiliar work — past sessions may have covered it
138
- `,
139
- },
140
- {
141
- dirName: 'causantic-explain',
142
- content: `---
143
- name: causantic-explain
144
- description: "Answer 'why' questions and explore codebase areas using memory. Handles both focused decision questions and comprehensive area briefings."
145
- argument-hint: [question or area]
146
- ---
147
-
148
- # Explain & Explore
149
-
150
- Answer "why" questions about code and architecture, or build comprehensive context about a codebase area — both by reconstructing narratives from memory.
151
-
152
- ## Usage
153
-
154
- \`\`\`
155
- /causantic-explain why does the chunker split on tool boundaries?
156
- /causantic-explain what led to the RRF fusion approach?
157
- /causantic-explain the authentication module
158
- /causantic-explain src/storage/chunk-store.ts
159
- \`\`\`
160
-
161
- ## Intent Detection
162
-
163
- | User asks | Mode | Output format |
164
- |-----------|------|---------------|
165
- | "Why does X..." / "What led to..." | Focused decision | Decision narrative |
166
- | "Tell me about X" / area name / file path | Area briefing | Comprehensive briefing |
167
-
168
- ## Workflow
169
-
170
- 1. **Reconstruct the narrative**: Use \`recall\` with the topic to walk causal chains — problem, alternatives, what was chosen and why
171
- 2. **Gather broad context**: Use \`search\` with the topic for semantically related past context, evolution, and related discussions
172
-
173
- ## Output Format: Focused Decision
174
-
175
- Use when the query is a specific "why" or "what led to" question:
176
-
177
- - **Decision**: What was decided
178
- - **Context**: The problem or need that prompted it
179
- - **Alternatives Considered**: Other approaches that were evaluated
180
- - **Rationale**: Why this approach was chosen
181
- - **Trade-offs**: Known downsides or limitations accepted
182
-
183
- ## Output Format: Area Briefing
184
-
185
- Use when the query names an area, module, file, or broad topic:
186
-
187
- - **Purpose**: What this area does (from memory's perspective)
188
- - **Key Decisions**: Decisions that shaped this area, with rationale
189
- - **Evolution**: Major changes over time
190
- - **Constraints & Tech Debt**: Known limitations or workarounds
191
- - **Recent Activity**: What was recently changed or discussed
192
-
193
- ## When to Use
194
-
195
- - User asks "why does X work this way?"
196
- - User asks "what led to this decision?"
197
- - User asks "tell me about X" or names a codebase area
198
- - Before changing existing architecture — understand the reasoning first
199
- - When code seems surprising or non-obvious
200
- - When starting work in an unfamiliar area
201
-
202
- ## Guidelines
203
-
204
- - Present the narrative as a story: what was the problem, what was tried, what stuck
205
- - If memory shows the decision evolved over time, show the progression
206
- - For area briefings, focus on the "why" — the user can read the code for the "what"
207
- - If memory has conflicting information across time, present the most recent and note the evolution
208
- - If memory has no context, say so — do not fabricate rationale
209
- `,
210
- },
211
- {
212
- dirName: 'causantic-debug',
213
- content: `---
214
- name: causantic-debug
215
- description: "Search past sessions for prior encounters with the current error, bug pattern, or issue. Use when stuck on an error or debugging a recurring problem."
216
- argument-hint: [error message or description]
217
- ---
218
-
219
- # Debug with Memory
220
-
221
- Search past sessions for prior encounters with the current error, bug pattern, or issue.
222
-
223
- ## Usage
224
-
225
- \`\`\`
226
- /causantic-debug
227
- /causantic-debug SQLITE_BUSY database is locked
228
- /causantic-debug the embedder crashes on large files
229
- \`\`\`
230
-
231
- ## Workflow
232
-
233
- 1. **Extract the error**: If no argument provided, extract the most recent error message or stack trace from the current conversation. If an argument is provided, use that as the search query.
234
- 2. **Search for the error/issue**: Use \`recall\` with the error text to search broadly across sessions
235
- 3. **Check for related patterns**: Use \`predict\` with the same context to surface tangentially related issues
236
- 4. **Present findings**:
237
- - Prior occurrences of this or similar errors
238
- - What was tried (including failed approaches)
239
- - What ultimately resolved it
240
-
241
- ## Parameters
242
-
243
- - **recall**: query = error text (from argument or extracted from conversation), project = current project
244
- - **predict**: context = same error text, project = current project
245
-
246
- ## Output Format
247
-
248
- - **Prior Occurrences**: matching past encounters with dates
249
- - **What Was Tried**: approaches attempted, including failures
250
- - **Resolution**: what ultimately worked
251
- - **Related Issues**: other potentially connected problems
252
-
253
- If no matches found, say so clearly — do not fabricate matches.
254
-
255
- ## Guidelines
256
-
257
- - When invoked with no arguments, scan the current conversation for the most recent error, stack trace, or failing test output and use that automatically
258
- - Include failed approaches — knowing what didn't work is as valuable as what did
259
- - Quote relevant snippets from past sessions rather than paraphrasing
260
- - If memory shows a recurring pattern, flag it: "This error has appeared N times"
261
138
  `,
262
139
  },
263
140
  {
@@ -457,175 +334,13 @@ Check Causantic system health by combining hook status and memory statistics.
457
334
  - If hooks show errors, suggest common fixes (re-run init, check permissions)
458
335
  - If memory stats are empty, suggest running batch-ingest
459
336
  - Present the report concisely — this is a diagnostic tool
460
- `,
461
- },
462
- {
463
- dirName: 'causantic-summary',
464
- content: `---
465
- name: causantic-summary
466
- description: "Summarize recent work across sessions for a project. Use to review accomplishments, track in-progress work, and identify patterns over a time period."
467
- argument-hint: [time range]
468
- ---
469
-
470
- # Work Summary
471
-
472
- Summarize recent work across sessions by combining session browsing with context reconstruction.
473
-
474
- ## Usage
475
-
476
- \`\`\`
477
- /causantic-summary
478
- /causantic-summary today
479
- /causantic-summary this week
480
- /causantic-summary past 3 days
481
- \`\`\`
482
-
483
- ## Workflow
484
-
485
- 1. **Identify the project**: Derive from the current working directory (use \`list-projects\` if ambiguous)
486
- 2. **Determine time range**: Map the user's intent to a \`days_back\` value
487
- 3. **Browse sessions**: Use \`list-sessions\` with the project and time range to see all sessions
488
- 4. **Reconstruct context**: Use \`reconstruct\` with the project and time range to get the raw session content
489
- 5. **Synthesize**: Analyze the reconstructed context and produce a structured summary
490
-
491
- ## Interpreting User Intent
492
-
493
- | User says | days_back |
494
- |-----------|-----------|
495
- | (nothing) / "recently" | 3 |
496
- | "today" | 1 |
497
- | "yesterday" | 2 |
498
- | "this week" | 7 |
499
- | "past N days" | N |
500
- | "this month" | 30 |
501
- | "this sprint" | 14 |
502
-
503
- ## Output Format
504
-
505
- - **Period**: Date range and number of sessions
506
- - **Accomplishments**: Completed work, merged PRs, resolved issues
507
- - **In Progress**: Work that was started but not finished
508
- - **Patterns**: Recurring themes, frequently touched areas, common decisions
509
- - **Blockers / Open Issues**: Problems that came up and may still need attention
510
- - **Next Steps**: Explicit TODOs or natural continuations
511
-
512
- ## Guidelines
513
-
514
- - Synthesize across sessions — don't just list each session separately
515
- - Focus on outcomes and decisions, not individual tool calls or file edits
516
- - Group related work across sessions (e.g., "Authentication refactor" spanning 3 sessions)
517
- - Highlight work that was started but not completed — this is the most actionable info
518
- - If the time range has many sessions, prioritize breadth over depth
519
- - If no sessions found for the time range, suggest widening the range
520
- - For team sessions: attribute work to specific agents (e.g., "researcher explored X, tester validated Y") when agent boundaries are visible in the reconstructed context
521
- `,
522
- },
523
- {
524
- dirName: 'causantic-crossref',
525
- content: `---
526
- name: causantic-crossref
527
- description: "Search memory across all projects to find relevant patterns, solutions, or approaches. Use for cross-project knowledge transfer and finding reusable solutions."
528
- argument-hint: [pattern or topic]
529
- ---
530
-
531
- # Cross-Project Reference
532
-
533
- Search memory across all projects to find relevant patterns, solutions, or approaches. Explicitly queries each project to ensure comprehensive coverage.
534
-
535
- ## Usage
536
-
537
- \`\`\`
538
- /causantic-crossref rate limiting implementation
539
- /causantic-crossref how we handle database migrations
540
- /causantic-crossref error retry patterns
541
- \`\`\`
542
-
543
- ## Workflow
544
-
545
- 1. **Discover projects**: Call \`list-projects\` to get all available projects
546
- 2. **Search each project**: For each relevant project (up to 5), call \`search\` with the query and that project's slug as the \`project\` filter
547
- 3. **Deepen promising hits**: For projects with strong search results, call \`recall\` with the query and project filter to reconstruct the narrative
548
- 4. **Compare across projects**: Analyze findings across projects, highlighting shared patterns, differences, and transferable solutions
549
-
550
- ## Output Format
551
-
552
- For each project with relevant findings:
553
- - **[Project Name]** (N chunks matched)
554
- - Key findings and context
555
- - Relevant decisions or patterns
556
-
557
- Then synthesize:
558
- - **Shared Patterns**: approaches used across multiple projects
559
- - **Transferable Solutions**: what can be reused or adapted
560
- - **Project-Specific Details**: approaches that are context-dependent
561
-
562
- ## When to Use
563
-
564
- - Looking for how something was solved in other projects
565
- - Checking if a pattern or approach has been used before
566
- - Cross-project knowledge transfer
567
- - Finding reusable code or design patterns
568
-
569
- ## Guidelines
570
-
571
- - Always start with \`list-projects\` — don't assume which projects exist
572
- - Use project-filtered searches for precision (avoid noise from unfiltered broad search)
573
- - Limit to 5 most relevant projects to keep response focused
574
- - Always attribute findings to their source project
575
- - Highlight patterns that transfer well vs project-specific details
576
- - If no projects have relevant context, say so clearly
577
- `,
578
- },
579
- {
580
- dirName: 'causantic-retro',
581
- content: `---
582
- name: causantic-retro
583
- description: "Analyze patterns across past sessions to surface recurring themes, problems, and decisions. Use for retrospectives, sprint reviews, or understanding work patterns."
584
- argument-hint: [time range or topic]
585
- ---
586
-
587
- # Retrospective Analysis
588
-
589
- Analyze patterns across past sessions to surface recurring themes, problems, and decisions.
590
-
591
- ## Usage
592
-
593
- \`\`\`
594
- /causantic-retro
595
- /causantic-retro past month
596
- /causantic-retro deployment issues
597
- \`\`\`
598
-
599
- ## Workflow
600
-
601
- 1. **Determine scope**:
602
- - Time range specified → use \`list-sessions\` with that window
603
- - Topic specified → use \`recall\` with the topic
604
- - Neither → default to \`days_back: 30\`
605
- 2. **Gather context**: Use \`recall\` across the scope
606
- 3. **Synthesize patterns**: Analyze for recurring themes
607
-
608
- ## Output Format
609
-
610
- - **Sessions Analyzed**: count and date range
611
- - **Recurring Patterns**: themes across multiple sessions
612
- - **Decisions Made**: key decisions with dates and context
613
- - **Recurring Issues**: problems that came up more than once
614
- - **Observations**: notable patterns in how work was done
615
-
616
- ## Guidelines
617
-
618
- - Synthesize, don't just dump raw memory
619
- - Look for patterns across sessions, not just within them
620
- - Be honest about gaps: if memory is sparse for a period, note it
621
- - Works best with 5+ sessions of history
622
337
  `,
623
338
  },
624
339
  {
625
340
  dirName: 'causantic-cleanup',
626
341
  content: `---
627
342
  name: causantic-cleanup
628
- description: "Multi-agent codebase review and cleanup plan. Spawns specialist agents for infrastructure, design, documentation, and memory analysis, then synthesizes findings into a prioritised CLEANUP_PLAN.md."
343
+ description: "Multi-agent codebase review and cleanup plan. Spawns specialist agents for infrastructure, design, and documentation analysis, then synthesizes findings into a prioritised CLEANUP_PLAN.md."
629
344
  ---
630
345
 
631
346
  # Multi-Agent Codebase Cleanup & Architecture Review
@@ -683,13 +398,55 @@ LOC Estimate: [approximate lines of code]
683
398
 
684
399
  ---
685
400
 
401
+ ## Phase 1.5: Memory Gathering (Lead Agent)
402
+
403
+ The lead agent has MCP access to Causantic tools — subagents do not. Gather all historical context now and pass it as text to the specialists.
404
+
405
+ ### 1.5.1 Query Memory
406
+
407
+ Run these queries directly (do NOT delegate to subagents):
408
+
409
+ - \`search\` with query: "architecture decisions", \`max_tokens: 8000\`
410
+ - \`search\` with query: "tech debt", \`max_tokens: 8000\`
411
+ - \`search\` with query: "past cleanup findings", \`max_tokens: 8000\`
412
+ - \`recall\` with query: "why was this designed this way", \`max_tokens: 8000\`
413
+
414
+ ### 1.5.2 Assemble Memory Context
415
+
416
+ Combine the results into a single \`memoryContext\` text block, capped at ~15K tokens total. Structure it as:
417
+
418
+ \`\`\`
419
+ ## Memory Context (from Causantic)
420
+
421
+ ### Architecture Decisions
422
+ [results from search "architecture decisions"]
423
+
424
+ ### Known Tech Debt
425
+ [results from search "tech debt"]
426
+
427
+ ### Past Cleanup Findings
428
+ [results from search "past cleanup findings"]
429
+
430
+ ### Design Rationale
431
+ [results from recall "why was this designed this way"]
432
+ \`\`\`
433
+
434
+ If Causantic MCP tools are unavailable, skip this phase and note the gap.
435
+
436
+ \`\`\`
437
+ ✓ CHECKPOINT: Phase 1.5 complete - Memory Gathered
438
+ \`\`\`
439
+
440
+ ---
441
+
686
442
  ## Phase 2: Spawn Specialist Agents
687
443
 
688
- Spawn 4 specialist agents **in parallel** using the Task tool. Each agent is \`subagent_type: "general-purpose"\` (full tool access). Task subagents inherit the session's MCP connections, so the Memory specialist will have access to causantic MCP tools.
444
+ Spawn 3 specialist agents **in parallel** using the Task tool. Each agent is \`subagent_type: "general-purpose"\` (full tool access).
689
445
 
690
446
  Pass each agent:
691
447
  1. The reconnaissance context from Phase 1
692
- 2. Their domain-specific prompt (copied from the Specialist Prompts section below)
448
+ 2. The memory context from Phase 1.5 (as text agents do not have MCP access to Causantic)
449
+ 3. Their domain-specific prompt (copied from the Specialist Prompts section below)
693
450
 
694
451
  \`\`\`
695
452
  ✓ CHECKPOINT: Phase 2 complete - Specialists Spawned
@@ -699,13 +456,13 @@ Pass each agent:
699
456
 
700
457
  ## Phase 3: Synthesis (Lead Agent)
701
458
 
702
- Collect the 4 specialist reports and synthesize into the final plan.
459
+ Collect the 3 specialist reports and synthesize into the final plan.
703
460
 
704
461
  ### 3.1 Map Specialist Outputs
705
462
  Map each specialist's output sections into the CLEANUP_PLAN.md template structure.
706
463
 
707
464
  ### 3.2 Memory Cross-Referencing
708
- For each infrastructure/design/docs finding, check if the memory report provides historical context that modifies the recommendation:
465
+ For each infrastructure/design/docs finding, check if the memory context from Phase 1.5 provides historical context that modifies the recommendation:
709
466
  - Dependency pinned for a compatibility reason → note in Version Bumps table
710
467
  - Suppression added deliberately for an edge case → mark as "valid" in Suppression Audit
711
468
  - Architecture chosen for a specific reason → note in Architecture Assessment
@@ -1178,123 +935,6 @@ New Documents Needed:
1178
935
 
1179
936
  **Cap each table at 30 items.** If more exist, note the total count and say "N additional items not shown."
1180
937
 
1181
- ### Specialist: Memory
1182
-
1183
- You are the Memory Specialist for a codebase cleanup review. Your job is to query Causantic long-term memory to surface historical context that informs the cleanup plan — decisions, tech debt, past attempts, and dependency history.
1184
-
1185
- **Project Context:**
1186
- [INSERT RECONNAISSANCE CONTEXT HERE]
1187
-
1188
- **Your Scope:**
1189
- Use the causantic MCP tools (\`recall\`, \`search\`, \`predict\`) to gather historical context. All queries should be scoped to the current project.
1190
-
1191
- #### 1. Decision History
1192
-
1193
- Query memory for architectural decisions and design choices:
1194
- - \`recall\` query: "architectural decisions"
1195
- - \`recall\` query: "design choices"
1196
- - \`recall\` query: "why did we choose" (for rationale behind key choices)
1197
- - \`search\` query: "decision" and "chose" and "alternative"
1198
-
1199
- For each decision found, note:
1200
- - What was decided
1201
- - When (approximate)
1202
- - Why (rationale)
1203
- - What alternatives were considered
1204
- - Whether circumstances have changed since
1205
-
1206
- #### 2. Known Tech Debt
1207
-
1208
- Query memory for acknowledged tech debt:
1209
- - \`recall\` query: "tech debt"
1210
- - \`search\` query: "TODO"
1211
- - \`search\` query: "workaround"
1212
- - \`search\` query: "hack"
1213
- - \`search\` query: "temporary"
1214
- - \`search\` query: "FIXME"
1215
-
1216
- For each item found, note:
1217
- - What the debt is
1218
- - When it was introduced
1219
- - Why (was it intentional? a time constraint?)
1220
- - Whether it's been addressed since
1221
-
1222
- #### 3. Past Cleanup Attempts
1223
-
1224
- Query memory for previous refactoring or cleanup work:
1225
- - \`recall\` query: "refactoring"
1226
- - \`recall\` query: "cleanup"
1227
- - \`recall\` query: "code review"
1228
- - \`search\` query: "refactor"
1229
-
1230
- For each attempt found, note:
1231
- - What was attempted
1232
- - What was completed vs abandoned
1233
- - Why it was abandoned (if applicable)
1234
- - Lessons learned
1235
-
1236
- #### 4. Dependency History
1237
-
1238
- Query memory for past dependency-related work:
1239
- - \`recall\` query: "dependency upgrade"
1240
- - \`recall\` query: "dependency pinned"
1241
- - \`recall\` query: "migration"
1242
- - \`search\` query: "compatibility issue"
1243
- - \`search\` query: "breaking change"
1244
-
1245
- For each item found, note:
1246
- - Which dependency
1247
- - What happened (upgrade attempt, pin, compatibility issue)
1248
- - Outcome (success, failure, workaround)
1249
- - Any ongoing constraints
1250
-
1251
- #### 5. Lint & Suppression History
1252
-
1253
- Query memory for deliberate lint decisions:
1254
- - \`recall\` query: "lint suppression"
1255
- - \`recall\` query: "eslint-disable"
1256
- - \`recall\` query: "ts-ignore"
1257
- - \`search\` query: "warning suppressed"
1258
- - \`search\` query: "lint exception"
1259
-
1260
- For each item found, note:
1261
- - What was suppressed and where
1262
- - Why it was suppressed
1263
- - Whether the underlying issue has been resolved
1264
-
1265
- #### Output Format
1266
-
1267
- Return your findings as a structured markdown report with these sections:
1268
-
1269
- **Decision History**
1270
-
1271
- | Decision | When | Rationale | Alternatives | Current Relevance |
1272
- |----------|------|-----------|-------------|-------------------|
1273
-
1274
- **Known Tech Debt**
1275
-
1276
- | Item | Introduced | Reason | Status | Source |
1277
- |------|-----------|--------|--------|--------|
1278
-
1279
- **Past Cleanup Attempts**
1280
-
1281
- | Attempt | Scope | Outcome | Lessons |
1282
- |---------|-------|---------|---------|
1283
-
1284
- **Dependency History**
1285
-
1286
- | Dependency | Event | Outcome | Constraints |
1287
- |-----------|-------|---------|-------------|
1288
-
1289
- **Lint/Suppression History**
1290
-
1291
- | Suppression | Location | Reason | Resolved? |
1292
- |------------|----------|--------|-----------|
1293
-
1294
- **Cap each table at 30 items.** If more exist, note the total count and say "N additional items not shown."
1295
-
1296
- If memory returns no results for a category, say "No memory found for [category]" — do not fabricate results.
1297
-
1298
938
  ---
1299
939
 
1300
940
  ## Output Format
@@ -1410,8 +1050,8 @@ Write the plan to \`CLEANUP_PLAN.md\` in the project root with:
1410
1050
  ## Synthesis Rules
1411
1051
 
1412
1052
  1. Map each specialist's output sections into the CLEANUP_PLAN.md template
1413
- 2. **Memory cross-referencing**: For each infrastructure/design/docs finding, check if the memory report provides historical context that modifies the recommendation (e.g., dependency pinned for compatibility, suppression added deliberately, architecture chosen for specific reason)
1414
- 3. **Contradiction resolution**: When memory contradicts a specialist, include both perspectives with a "⚠️ Requires human decision" flag. Default to the safer option.
1053
+ 2. **Memory cross-referencing**: For each infrastructure/design/docs finding, check if the memory context from Phase 1.5 provides historical context that modifies the recommendation (e.g., dependency pinned for compatibility, suppression added deliberately, architecture chosen for specific reason)
1054
+ 3. **Contradiction resolution**: When memory context contradicts a specialist, include both perspectives with a "⚠️ Requires human decision" flag. Default to the safer option.
1415
1055
  4. **Deduplication**: Dead code findings from infrastructure + unused code from design — merge into single Dead Code section. When the same item appears from multiple specialists with different severity assessments, take the highest severity and annotate with the contributing perspectives.
1416
1056
  5. **Prioritised backlog**: Merge all findings into the 13-tier priority ordering defined in Phase 3.
1417
1057
 
@@ -1420,7 +1060,7 @@ Write the plan to \`CLEANUP_PLAN.md\` in the project root with:
1420
1060
  ## Error Handling
1421
1061
 
1422
1062
  - If a specialist returns no findings or fails: note the gap in Executive Summary, proceed with available data
1423
- - If memory specialist fails: graceful degradation — omit Memory Context section, note gap
1063
+ - If memory gathering (Phase 1.5) fails: graceful degradation — omit Memory Context section, note gap
1424
1064
  - If all specialists fail: fall back to single-agent analysis of highest-priority areas (security, lint errors)
1425
1065
  - If the Task tool is unavailable or spawning fails: fall back to single-agent sequential analysis (Phase 1 areas first, then most critical from each specialist domain)
1426
1066
 
@@ -1527,17 +1167,20 @@ If \`ROADMAP.md\` exists in the project root (updating an existing roadmap):
1527
1167
  - Tag each with source: "existing-roadmap"
1528
1168
 
1529
1169
  ### 1.3 Query Causantic Memory
1170
+
1171
+ Run all memory queries directly in the lead agent context. Do not delegate memory queries to subagents — they cannot access MCP tools.
1172
+
1530
1173
  Use the causantic MCP tools to surface deferred and aspirational work:
1531
- - \`search\` query: "deferred"
1532
- - \`search\` query: "aspirational"
1533
- - \`search\` query: "someday"
1534
- - \`search\` query: "future work"
1535
- - \`search\` query: "TODO"
1536
- - \`search\` query: "roadmap"
1537
- - \`search\` query: "milestone"
1538
- - \`search\` query: "release plan"
1539
- - \`recall\` query: "features we want to build"
1540
- - \`predict\` context: "project roadmap and future work"
1174
+ - \`search\` query: "deferred", \`max_tokens: 8000\`
1175
+ - \`search\` query: "aspirational", \`max_tokens: 8000\`
1176
+ - \`search\` query: "someday", \`max_tokens: 8000\`
1177
+ - \`search\` query: "future work", \`max_tokens: 8000\`
1178
+ - \`search\` query: "TODO", \`max_tokens: 8000\`
1179
+ - \`search\` query: "roadmap", \`max_tokens: 8000\`
1180
+ - \`search\` query: "milestone", \`max_tokens: 8000\`
1181
+ - \`search\` query: "release plan", \`max_tokens: 8000\`
1182
+ - \`recall\` query: "features we want to build", \`max_tokens: 8000\`
1183
+ - \`predict\` context: "project roadmap and future work", \`max_tokens: 8000\`
1541
1184
  - Tag each with source: "memory"
1542
1185
 
1543
1186
  If causantic MCP tools are unavailable or return nothing, note the gap and proceed with other sources.
@@ -1825,27 +1468,20 @@ Long-term memory is available via the \`causantic\` MCP server.
1825
1468
 
1826
1469
  ### Skills
1827
1470
 
1828
- **Core retrieval:**
1471
+ **Retrieval:**
1829
1472
  - \`/causantic-recall [query]\` — Reconstruct how something happened — walks backward through causal chains (how did we solve X?)
1830
1473
  - \`/causantic-search [query]\` — Broad discovery — find everything memory knows about a topic (what do I know about X?)
1831
1474
  - \`/causantic-predict <context>\` — Surface what came after similar past situations — walks forward through causal chains (what's likely relevant next?)
1832
1475
 
1833
- **Understanding & analysis:**
1834
- - \`/causantic-explain [question]\` — Answer "why" questions using memory + codebase (why does X work this way?)
1835
- - \`/causantic-debug [error]\` — Search for prior encounters with an error (auto-extracts from conversation if no argument)
1836
-
1837
- **Session & project navigation:**
1476
+ **Session navigation:**
1838
1477
  - \`/causantic-resume\` — Resume interrupted work — start-of-session briefing
1839
1478
  - \`/causantic-reconstruct [time range]\` — Replay a past session chronologically, or get recent history
1840
- - \`/causantic-summary [time range]\` — Factual recap of what was done across recent sessions
1841
1479
  - \`/causantic-list-projects\` — Discover available projects
1842
- - \`/causantic-status\` — Check system health and memory statistics
1843
1480
 
1844
- **Cross-cutting analysis:**
1845
- - \`/causantic-crossref [pattern]\` — Search across all projects for reusable patterns
1846
- - \`/causantic-retro [scope]\` — Surface recurring patterns, problems, and decisions across sessions
1481
+ **Planning:**
1847
1482
  - \`/causantic-cleanup\` — Memory-informed codebase review and cleanup plan
1848
1483
  - \`/causantic-roadmap [goal]\` — Gather deferred work and goals into a phased roadmap
1484
+ - \`/causantic-status\` — Check system health and memory statistics
1849
1485
 
1850
1486
  **Memory management:**
1851
1487
  - \`/causantic-forget [query or filters]\` — Delete memory by topic, time range, or session (always previews first)
@@ -1856,15 +1492,12 @@ Long-term memory is available via the \`causantic\` MCP server.
1856
1492
  |-------------|-------|
1857
1493
  | "What do I know about X?" | \`search\` |
1858
1494
  | "How did we solve X?" / "What led to this decision?" | \`recall\` |
1859
- | "Why does X work this way?" | \`explain\` |
1495
+ | "Why does X work this way?" | \`recall\` |
1860
1496
  | "What might be relevant?" | \`predict\` |
1861
1497
  | "What happened recently?" / "Show me recent work" | \`reconstruct\` |
1862
- | "Show me exactly what happened" / "Replay the session" | \`reconstruct\` |
1863
1498
  | "Where did I leave off?" / "Briefing to continue" | \`resume\` |
1864
- | "I keep hitting this error" | \`debug\` |
1865
- | "What did we accomplish this week?" | \`summary\` |
1866
- | "Is there a pattern across projects?" | \`crossref\` |
1867
- | "What patterns keep coming up?" | \`retro\` |
1499
+ | "I keep hitting this error" | \`search\` |
1500
+ | "What did we accomplish?" | \`reconstruct\` |
1868
1501
  | "Review the codebase" | \`cleanup\` |
1869
1502
  | "What should we work on next?" / "Build a roadmap" | \`roadmap\` |
1870
1503
  | "What projects are in memory?" | \`list-projects\` |
@@ -1879,23 +1512,10 @@ Long-term memory is available via the \`causantic\` MCP server.
1879
1512
 
1880
1513
  ### Proactive Memory Usage
1881
1514
 
1882
- **Check memory automatically (no skill needed) when:**
1883
- - Before saying "I don't have context from previous sessions" always try \`recall\` first
1884
- - User references past work ("remember when...", "like we did before", "that bug from last week")
1885
- - When stuck on an error after 2 failed attempts use \`debug\` with the error text before trying a 3rd approach
1886
- - User asks "why" about existing code or architecture — use \`explain\` before guessing
1887
- - Starting work in an unfamiliar area — use \`search\` for broad discovery
1888
- - Before making significant architectural decisions — use \`recall\` to check for prior discussions
1889
- - Sprint summary or retrospective — use \`summary\` or \`retro\`
1890
- - Patterns across projects — use \`crossref\`
1891
- - When the user asks about recent work or session history — use \`reconstruct\` with just \`project\` for timeline mode
1892
-
1893
- **Skip memory (avoid latency) when:**
1894
- - The full context is already in the conversation
1895
- - Simple file operations where memory adds no value
1896
- - Git operations handled by /commit, /pr, /merge, /qa
1897
- - The user explicitly provides all needed context
1898
- - First attempt at resolving a new error (try solving it first, check memory if stuck)
1515
+ **Check memory** before saying "I don't have context" or when the user references past work.
1516
+ Use \`search\` for discovery, \`recall\` for specific decisions, \`reconstruct\` for recent history.
1517
+
1518
+ **Skip memory** when context is already in the conversation, for simple operations, or for git workflows.
1899
1519
 
1900
1520
  ### CLI Commands
1901
1521
 
@@ -1 +1 @@
1
- {"version":3,"file":"skill-templates.js","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-templates.js","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,12 @@ export interface ExternalConfig {
68
68
  /** Half-life in hours for the decay function. Default: 48 */
69
69
  halfLifeHours?: number;
70
70
  };
71
+ lengthPenalty?: {
72
+ /** Enable length penalty. Default: true */
73
+ enabled?: boolean;
74
+ /** Reference token count for penalty calculation. Must be > 0. Default: 500 */
75
+ referenceTokens?: number;
76
+ };
71
77
  }
72
78
  /** Default external config values */
73
79
  declare const EXTERNAL_DEFAULTS: Required<ExternalConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMpF,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,mFAAmF;QACnF,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,qFAAqF;QACrF,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;QAClC,SAAS,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;QAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,yFAAyF;QACzF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,wGAAwG;QACxG,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,oGAAoG;QACpG,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,qEAAqE;QACrE,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,0DAA0D;QAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,uEAAuE;QACvE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kEAAkE;QAClE,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,gFAAgF;QAChF,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,6DAA6D;QAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,aAAa,CAAC,EAAE;QACd,2CAA2C;QAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,+EAA+E;QAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,qCAAqC;AACrC,QAAA,MAAM,iBAAiB,EAAE,QAAQ,CAAC,cAAc,CAmD/C,CAAC;AAmMF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAuEvE;AAED,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACvC,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oCAAoC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,QAAQ,CAAC,cAAc,CAAC,CAoCpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAQA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,YAAY,CAkDhF;AAGD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}