@jaggerxtrm/specialists 3.18.0 → 3.18.2

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 (55) hide show
  1. package/config/mandatory-rules/code-quality-defaults.md +58 -1
  2. package/config/mandatory-rules/executor-delivery.md +4 -0
  3. package/config/mandatory-rules/test-runner-execution-scope.md +4 -0
  4. package/config/skills/setup-specialists/SKILL.md +1 -1
  5. package/config/skills/using-script-specialists/SKILL.md +5 -5
  6. package/config/skills/using-specialists/SKILL.md +1135 -879
  7. package/config/skills/using-specialists-auto/SKILL.md +21 -21
  8. package/config/specialists/chain-coordinator.specialist.json +63 -0
  9. package/config/specialists/reviewer.specialist.json +1 -1
  10. package/config/specialists/seconder.specialist.json +1 -1
  11. package/dist/asset-contract.json +8 -13
  12. package/dist/index.js +1070 -81
  13. package/dist/lib.js +185 -9
  14. package/dist/types/cli/clean.d.ts.map +1 -1
  15. package/dist/types/cli/doctor.d.ts.map +1 -1
  16. package/dist/types/cli/feed.d.ts.map +1 -1
  17. package/dist/types/cli/format-helpers.d.ts.map +1 -1
  18. package/dist/types/cli/init.d.ts.map +1 -1
  19. package/dist/types/cli/merge.d.ts.map +1 -1
  20. package/dist/types/cli/ps.d.ts.map +1 -1
  21. package/dist/types/cli/run.d.ts +19 -0
  22. package/dist/types/cli/run.d.ts.map +1 -1
  23. package/dist/types/cli/status.d.ts.map +1 -1
  24. package/dist/types/cli/view.d.ts.map +1 -1
  25. package/dist/types/pi/session.d.ts +1 -0
  26. package/dist/types/pi/session.d.ts.map +1 -1
  27. package/dist/types/specialist/control.d.ts.map +1 -1
  28. package/dist/types/specialist/dead-job-audit.d.ts +20 -0
  29. package/dist/types/specialist/dead-job-audit.d.ts.map +1 -0
  30. package/dist/types/specialist/launch.d.ts +8 -0
  31. package/dist/types/specialist/launch.d.ts.map +1 -1
  32. package/dist/types/specialist/loader.d.ts +12 -0
  33. package/dist/types/specialist/loader.d.ts.map +1 -1
  34. package/dist/types/specialist/observability-db.d.ts +1 -1
  35. package/dist/types/specialist/observability-sqlite.d.ts +76 -0
  36. package/dist/types/specialist/observability-sqlite.d.ts.map +1 -1
  37. package/dist/types/specialist/pr-drift-refresh.d.ts +17 -0
  38. package/dist/types/specialist/pr-drift-refresh.d.ts.map +1 -0
  39. package/dist/types/specialist/process-health.d.ts +16 -1
  40. package/dist/types/specialist/process-health.d.ts.map +1 -1
  41. package/dist/types/specialist/runner.d.ts +3 -0
  42. package/dist/types/specialist/runner.d.ts.map +1 -1
  43. package/dist/types/specialist/status-load.d.ts.map +1 -1
  44. package/dist/types/specialist/supervisor.d.ts +10 -0
  45. package/dist/types/specialist/supervisor.d.ts.map +1 -1
  46. package/dist/types/specialist/timeline-events.d.ts +2 -0
  47. package/dist/types/specialist/timeline-events.d.ts.map +1 -1
  48. package/docs/design/roadmap/chain-templates/README.md +1 -1
  49. package/docs/design/roadmap/chains-prompt-evals.md +3054 -0
  50. package/docs/design/roadmap/specialists-roadmap.md +75 -7
  51. package/docs/design/xt-pi-role-pi-flag-passthrough.md +174 -0
  52. package/docs/skills.md +4 -13
  53. package/package.json +2 -2
  54. package/config/skills/using-specialists-v2/SKILL.md +0 -766
  55. package/config/skills/using-specialists-v3/SKILL.md +0 -1267
@@ -2,4 +2,61 @@
2
2
  name: code-quality-defaults
3
3
  kind: mandatory-rule
4
4
  ---
5
- SRP, DRY, KISS, YAGNI. No premature abstraction. No speculative features. Don't add comments to explain what well-named code already says. Match existing project conventions; never invent a new style mid-file.
5
+ The lazy senior lens. Best code = code never written.
6
+
7
+ ## The ladder (stop at the first rung that holds)
8
+
9
+ 1. Does this need to exist at all? Speculative need = skip it, say so in one line. (YAGNI)
10
+ 2. Already in this codebase? A helper, util, type, or pattern that already lives here — reuse it. Look before you write.
11
+ 3. Stdlib does it? Use it. Name the function.
12
+ 4. Native platform feature covers it? DB constraint over app code, CSS over JS, `<input type="date">` over a picker lib.
13
+ 5. Already-installed dependency solves it? Use it. Never add a new one for what a few lines can do.
14
+ 6. One line? Prefer one line.
15
+ 7. Only then: the minimum code that works.
16
+
17
+ ## Rules
18
+
19
+ - No unrequested abstractions: no interface with one implementation, no factory for one product, no config for a value that never changes.
20
+ - No boilerplate scaffolding "for later".
21
+ - Deletion over addition. Boring over clever.
22
+ - Fewest files possible. Shortest working diff wins — but only once you understand the problem. The smallest change in the wrong place is a second bug.
23
+ - SRP, DRY, KISS, YAGNI. No premature abstraction. No speculative features.
24
+ - Match existing project conventions; never invent a new style mid-file.
25
+ - Don't add comments to explain what well-named code already says.
26
+
27
+ ## Never simplify away
28
+
29
+ - Input validation at trust boundaries.
30
+ - Error handling that prevents data loss.
31
+ - Security, accessibility, explicitly requested behavior.
32
+ - Understanding the problem — the ladder shortens solutions, not reading.
33
+
34
+ ## Deliberate shortcuts
35
+
36
+ When a lazy choice has a known ceiling, mark it in code:
37
+
38
+ ```
39
+ // SIMPLIFIED: <ceiling>. upgrade when <trigger>.
40
+ ```
41
+
42
+ Example: `// SIMPLIFIED: O(n²) scan. upgrade when list > 1k items.`
43
+ Unmarked shortcuts silently rot; marked ones stay tracked.
44
+
45
+ ## Finding-report format (for review/audit modes)
46
+
47
+ One line per finding, tag-prefixed:
48
+
49
+ ```
50
+ <file>:L<line>: <tag> <what>. <replacement>.
51
+ ```
52
+
53
+ Tags:
54
+
55
+ - `delete:` dead code, unused flexibility, speculative feature. Nothing replaces it.
56
+ - `stdlib:` hand-rolled thing the stdlib ships. Name the function.
57
+ - `native:` code doing what the platform already does. Name the feature.
58
+ - `yagni:` abstraction with one implementation, config nobody sets, layer with one caller.
59
+ - `shrink:` same logic, fewer lines. Show the shorter form.
60
+ - `keep:` explicitly defended keep — used when refuting a proposed shrink; state the load-bearing reason.
61
+
62
+ End quality passes with `net: -<N> lines possible.` or `Lean already. Ship.`
@@ -3,3 +3,7 @@ name: executor-delivery
3
3
  kind: mandatory-rule
4
4
  ---
5
5
  Make smallest correct change. Keep scope tight, update only needed files, then verify scope.
6
+
7
+ Scope allowlist (EVAL-13, mercury-market-data-i2kb): parse the bead's SCOPE section into an explicit path allowlist BEFORE the first edit. Before any commit or push, run `git diff --cached --name-only` and refuse to proceed if any staged path is outside the allowlist — do not silently drag in `.serena/project.yml`, `AGENTS.md`, `CLAUDE.md`, `CHANGELOG.md`, or an unrelated "chore added agent .md" commit from a dirty tree. If a needed change is outside allowlist, stop, ask the orchestrator to widen SCOPE, and do not proceed on assumption.
8
+
9
+ Never close the anchor bead (EVAL-10, mercury-market-data-i2kb): the anchor bead's closure is a post-verification concern — judge PASS + deploy-monitor window clean must land first. You may append notes ("code complete", "tests pass locally") and mark subtask nodes. `bd close <anchor>` is reserved for the orchestrator on evidence.
@@ -3,3 +3,7 @@ name: test-runner-execution-scope
3
3
  kind: mandatory-rule
4
4
  ---
5
5
  Run only requested tests. Exact command input wins over manifest fallback. If fallback is used, label it clearly as fallback. Report failures with root cause, owner classification, and next-recipient hints; do not expand scope.
6
+
7
+ Bash-pytest fallback on tool-call-parse failure (EVAL-11): if the underlying model returns a tool-call parse error (observed against Kimi during mmd-sprint 2026-07-03), do NOT fail the run. Fall back to invoking the same command directly via bash (`pytest <args>`, `npm test <args>`, etc.), label the result `fallback:bash` in the final envelope, and record the parse-error signature in notes so the orchestrator can steer subsequent runs off the failing backend. A tool-call-parse error is a model-runtime bug, not a test failure.
8
+
9
+ Pyright must match the CI invocation (EVAL-15, mercury-market-data-3ele): for Python repos, run pyright the way CI runs it (`npx pyright@<version>` matching the pinned version and the venv activation state the CI job uses). If CI activates `venv/` before pyright, activate it here too; if CI does not, do not activate it here. A local pyright pass under a different environment is not evidence — it hides `NaTType | Unknown` and similar stub-visibility drift that only shows up when the environments diverge.
@@ -552,5 +552,5 @@ KAN-91 global setup result:
552
552
  not allowlisted at the global layer. The global override layer reuses the
553
553
  same per-spec field semantics; see its §"Global User Override Layer
554
554
  (KAN-90/91)" section for the dot-path syntax mapping.
555
- - `using-specialists-v3` — orchestration discipline once specialists are
555
+ - `using-specialists` — orchestration discipline once specialists are
556
556
  configured.
@@ -8,7 +8,7 @@ description: >
8
8
  specialist into a service, script, or library, when the caller needs the
9
9
  output immediately, or when the work is a single LLM call with structured
10
10
  input/output. Do NOT use for tracked agent work — that belongs to
11
- `using-specialists-v2`.
11
+ `using-specialists`.
12
12
  version: 1.1.0
13
13
  updated: 2026-05-06
14
14
  synced_at: a0e54d0c
@@ -17,7 +17,7 @@ synced_at: a0e54d0c
17
17
  # Script-Class Specialists
18
18
 
19
19
  `sp script` and `sp serve` are a separate runtime from the bead-first
20
- orchestration covered by `using-specialists-v2`. They exist for service and
20
+ orchestration covered by `using-specialists`. They exist for service and
21
21
  library integration, not for agent chains.
22
22
 
23
23
  | Aspect | `sp run` (orchestration) | `sp script` / `sp serve` |
@@ -47,7 +47,7 @@ Trigger when:
47
47
 
48
48
  Do NOT trigger for: code review, debugging, implementation, multi-turn work,
49
49
  keep-alive sessions, anything that should write files. Those belong to
50
- `using-specialists-v2`.
50
+ `using-specialists`.
51
51
 
52
52
  ## Specialist Compatibility (compatGuard)
53
53
 
@@ -183,7 +183,7 @@ saturated past `queue-timeout-ms`.
183
183
  - For container deployments, see `docs/specialists-service-install.md`. Image
184
184
  runs as non-root UID 10001; bind-mount `~/.pi` and `.specialists/`.
185
185
 
186
- ## When To Switch Back To `using-specialists-v2`
186
+ ## When To Switch Back To `using-specialists`
187
187
 
188
188
  If any of these become true mid-design, drop script-class and use the
189
189
  orchestration runtime:
@@ -198,7 +198,7 @@ orchestration runtime:
198
198
  ## What Not To Put Here
199
199
 
200
200
  - Bead workflow, chains, epics, reviewers, worktrees — those live in
201
- `using-specialists-v2`.
201
+ `using-specialists`.
202
202
  - Orchestration MCP tooling (`use_specialist`).
203
203
  - Long-running multi-turn examples.
204
204