@fro.bot/systematic 3.14.4 → 3.14.5

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fro.bot/systematic",
3
- "version": "3.14.4",
3
+ "version": "3.14.5",
4
4
  "description": "Compound-engineering loops for OpenCode, Pi, and Claude Code",
5
5
  "type": "module",
6
6
  "homepage": "https://fro.bot/systematic",
@@ -127,20 +127,22 @@ Launch research subagents. Each returns text data to the orchestrator.
127
127
  - Identifies cross-references and links
128
128
  - Finds related GitHub issues
129
129
  - Flags any related learning or pattern docs that may now be stale, contradicted, or overly broad
130
- - **Assesses overlap** with the new doc being created across five dimensions: problem statement, root cause, solution approach, referenced files, and prevention rules. Score as:
130
+ - **Assesses overlap** with the new doc being created across five dimensions: problem statement, root cause, solution approach, referenced files, and prevention rules. Judge each dimension as match or no-match first, then count the matches, then read the score off the count:
131
131
  - **High**: 4-5 dimensions match — essentially the same problem solved again
132
132
  - **Moderate**: 2-3 dimensions match — same area but different angle or solution
133
133
  - **Low**: 0-1 dimensions match — related but distinct
134
- - Returns: Links, relationships, refresh candidates, and overlap assessment (score + which dimensions matched)
134
+
135
+ The score is a function of the count, not a separate judgment about how related the docs feel. Two docs on the same topic that match on one dimension score Low. When the score you are inclined to write disagrees with the count, the count wins.
136
+ - Returns: Links, relationships, refresh candidates, and overlap assessment. State the per-dimension verdicts, then the resulting count, then the score, in that order. Two consistency checks apply in sequence and both must hold: the score follows the count, and the recommendation follows the score. High overlap means update the existing doc, so an assessment that scores High while recommending a new doc has broken the second check even if the first one held. Either break is a defect to re-derive, not a nuance to note.
135
137
 
136
138
  **Search strategy (grep-first filtering for efficiency):**
137
139
 
138
- 1. Extract keywords from the problem context: module names, technical terms, error messages, component types
140
+ 1. Extract keywords from the problem context: technical terms, error messages, component types. Separately, enumerate the `module:` values already in use across `docs/solutions/` and pick the one or two closest to this problem, rather than inferring a module name from the problem text. Module values are curated identifiers that often do not appear in a problem description at all, so keyword search alone will not find docs clustered under one — and docs sharing a module are among the highest-value candidates.
139
141
  2. If the problem category is clear, narrow search to the matching `docs/solutions/<category>/` directory
140
142
  3. Use the native content-search tool (e.g., Grep in OpenCode) to pre-filter candidate files BEFORE reading any content. Run multiple searches in parallel, case-insensitive, targeting frontmatter fields. These are template patterns -- substitute actual keywords:
141
143
  - `title:.*<keyword>`
142
144
  - `tags:.*(<keyword1>|<keyword2>)`
143
- - `module:.*<module name>`
145
+ - `module:.*<module name>` — fill from the values enumerated in step 1, not from free-text keywords
144
146
  - `component:.*<component>`
145
147
  4. If search returns >25 candidates, re-run with more specific patterns. If <3, broaden to full content search
146
148
  5. Read only frontmatter (first 30 lines) of candidate files to score relevance
@@ -422,6 +424,7 @@ What's next?
422
424
 
423
425
  Overlap detected: docs/solutions/performance-issues/n-plus-one-queries.md
424
426
  Matched dimensions: problem statement, root cause, solution, referenced files
427
+ Count: 4 of 5 -> High
425
428
  Action: Updated existing doc with fresher code examples and prevention tips
426
429
 
427
430
  File updated: