@jaggerxtrm/specialists 3.18.1 → 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.
@@ -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.`
@@ -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