@esneiderbravo/speclaw 0.3.12 → 0.4.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 (49) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/commands/lawbook.js +42 -1
  3. package/dist/cli/commands/query.js +20 -0
  4. package/dist/cli/commands/update.js +10 -0
  5. package/dist/cli/index.js +8 -0
  6. package/dist/modules/compass/diff-context.js +134 -0
  7. package/dist/modules/compass/explore-rich.js +129 -0
  8. package/dist/modules/compass/impact-summary.js +33 -0
  9. package/dist/modules/compass/register.js +164 -74
  10. package/dist/modules/foundation/context-budget.js +1 -14
  11. package/dist/modules/foundation/doctor.js +77 -0
  12. package/dist/modules/foundation/register-core.js +57 -88
  13. package/dist/modules/foundation/register.js +1 -21
  14. package/dist/modules/foundation/setup-tool.js +96 -0
  15. package/dist/modules/lawbook/assets/commands/archive.md +1 -1
  16. package/dist/modules/lawbook/assets/commands/draft.md +1 -1
  17. package/dist/modules/lawbook/assets/commands/explore.md +1 -1
  18. package/dist/modules/lawbook/assets/commands/investigate.md +7 -0
  19. package/dist/modules/lawbook/assets/commands/sync.md +2 -2
  20. package/dist/modules/lawbook/assets/rules/spec-reports-disciplines.md +8 -0
  21. package/dist/modules/lawbook/assets/skills/archive/SKILL.md +1 -1
  22. package/dist/modules/lawbook/assets/skills/archive/steps/03-validate-and-sync.md +3 -3
  23. package/dist/modules/lawbook/assets/skills/archive/steps/04-archive.md +1 -1
  24. package/dist/modules/lawbook/assets/skills/draft/steps/02-understand.md +1 -1
  25. package/dist/modules/lawbook/assets/skills/draft/steps/04-write-artifacts.md +1 -0
  26. package/dist/modules/lawbook/assets/skills/draft/steps/05-validate.md +1 -1
  27. package/dist/modules/lawbook/assets/skills/explore/steps/01-investigate.md +1 -1
  28. package/dist/modules/lawbook/assets/skills/investigate/SKILL.md +10 -0
  29. package/dist/modules/lawbook/assets/skills/investigate/steps/01-investigate.md +7 -0
  30. package/dist/modules/lawbook/assets/skills/investigate/steps/02-hand-off.md +6 -0
  31. package/dist/modules/lawbook/assets/skills/quick/steps/02-implement.md +1 -1
  32. package/dist/modules/lawbook/assets/skills/sync/SKILL.md +1 -1
  33. package/dist/modules/lawbook/assets/skills/sync/steps/03-validate.md +1 -1
  34. package/dist/modules/lawbook/assets/skills/sync/steps/04-promote.md +1 -1
  35. package/dist/modules/lawbook/bugfix.js +195 -0
  36. package/dist/modules/lawbook/change-tool.js +90 -0
  37. package/dist/modules/lawbook/engine.js +70 -7
  38. package/dist/modules/lawbook/investigate.js +358 -0
  39. package/dist/modules/lawbook/levels.js +49 -2
  40. package/dist/modules/lawbook/register.js +102 -52
  41. package/dist/modules/lawbook/stack-parse.js +135 -0
  42. package/dist/modules/tools/register.js +4 -26
  43. package/dist/shared/deprecation.js +99 -0
  44. package/dist/shared/exposure.js +5 -19
  45. package/dist/shared/git.js +25 -0
  46. package/dist/shared/mcp.js +29 -3
  47. package/dist/shared/output-budget.js +68 -0
  48. package/dist/shared/tool-catalog.js +49 -0
  49. package/package.json +1 -1
@@ -0,0 +1,49 @@
1
+ /** Canonical MCP tools counted toward the surface limit (aliases excluded). */
2
+ export const CANONICAL_TOOLS = [
3
+ "compass_explore",
4
+ "compass_find",
5
+ "compass_diff_context",
6
+ "compass_index",
7
+ "lawbook_change",
8
+ "lawbook_investigate",
9
+ "speclaw_setup",
10
+ "speclaw_check",
11
+ ];
12
+ export const MAX_CANONICAL_TOOLS = 8;
13
+ /** Retired MCP names → canonical replacement hint for deprecation notices. */
14
+ export const ALIAS_TARGETS = {
15
+ compass_search: "compass_find (mode: exact)",
16
+ compass_recall: "compass_find (mode: concept)",
17
+ compass_impact: 'compass_explore (include: ["blast_radius"])',
18
+ compass_trace: "compass_explore (to: <symbol>)",
19
+ compass_affected_tests: "compass_explore or compass_diff_context",
20
+ compass_hotspots: "compass_explore or compass_diff_context",
21
+ compass_coupling: "compass_diff_context",
22
+ compass_watch: "compass_index (action: start|stop|status)",
23
+ lawbook_init: 'lawbook_change (action: "init")',
24
+ lawbook_list: 'lawbook_change (action: "list")',
25
+ lawbook_validate: 'lawbook_change (action: "validate")',
26
+ lawbook_sync: 'lawbook_change (action: "sync")',
27
+ lawbook_archive: 'lawbook_change (action: "archive")',
28
+ lawbook_level: 'lawbook_change (action: "level")',
29
+ lawbook_coverage: 'lawbook_change (action: "coverage")',
30
+ lawbook_drift: 'lawbook_change (action: "drift")',
31
+ init_project: 'speclaw_setup (action: "init")',
32
+ configure_agent: 'speclaw_setup (action: "configure-agent")',
33
+ add_pack: 'speclaw_setup (action: "add-pack")',
34
+ list_packs: 'speclaw_setup (action: "list-packs")',
35
+ };
36
+ export const ALIAS_NAMES = Object.keys(ALIAS_TARGETS);
37
+ const ALIAS_SET = new Set(ALIAS_NAMES);
38
+ /** True when `name` is one of the eight canonical tools. */
39
+ export function isCanonicalTool(name) {
40
+ return CANONICAL_TOOLS.includes(name);
41
+ }
42
+ /** True when `name` is a deprecated alias (not counted in the canonical limit). */
43
+ export function isAliasTool(name) {
44
+ return ALIAS_SET.has(name);
45
+ }
46
+ /** Whether deprecated aliases should register for this process. */
47
+ export function aliasesEnabled() {
48
+ return process.env.SPECLAW_NO_ALIASES !== "1";
49
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esneiderbravo/speclaw",
3
- "version": "0.3.12",
3
+ "version": "0.4.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },