@fro.bot/systematic 3.13.0 → 3.13.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fro.bot/systematic",
3
- "version": "3.13.0",
3
+ "version": "3.13.2",
4
4
  "description": "Compound-engineering loops for OpenCode, Pi, and Claude Code",
5
5
  "type": "module",
6
6
  "homepage": "https://fro.bot/systematic",
@@ -16,7 +16,14 @@ The `problem_type` determines which **track** applies. Each track has different
16
16
  | Track | problem_types | Description |
17
17
  |-------|--------------|-------------|
18
18
  | **Bug** | `build_error`, `test_failure`, `runtime_error`, `performance_issue`, `database_issue`, `security_issue`, `ui_bug`, `integration_issue`, `logic_error` | Defects and failures that were diagnosed and fixed |
19
- | **Knowledge** | `best_practice`, `documentation_gap`, `workflow_issue`, `developer_experience` | Practices, patterns, workflow improvements, and documentation |
19
+ | **Knowledge** | `best_practice`, `documentation_gap`, `workflow_issue`, `developer_experience`, `architecture_pattern`, `design_pattern`, `tooling_decision`, `convention` | Practices, patterns, workflow improvements, and documentation |
20
+
21
+ Prefer the narrowest applicable value. `best_practice` is the fallback when no narrower knowledge-track value fits.
22
+
23
+ - `architecture_pattern` — structural decisions about how components relate
24
+ - `design_pattern` — reusable solutions to recurring design problems
25
+ - `tooling_decision` — choices about tools, libraries, or build infrastructure
26
+ - `convention` — agreed-upon naming, formatting, or style rules
20
27
 
21
28
  ## Required Fields (both tracks)
22
29
 
@@ -35,6 +42,8 @@ Required:
35
42
 
36
43
  ## Knowledge Track Fields
37
44
 
45
+ Applies to every knowledge-track `problem_type` listed in the Tracks table above.
46
+
38
47
  No additional required fields beyond the shared ones. All fields below are optional:
39
48
 
40
49
  - **applies_when**: Conditions or situations where this guidance applies
@@ -73,6 +82,14 @@ Docs created before the track system may have `symptoms`/`root_cause`/`resolutio
73
82
  - `workflow_issue` -> `docs/solutions/workflow-issues/`
74
83
  - `best_practice` -> `docs/solutions/best-practices/`
75
84
  - `documentation_gap` -> `docs/solutions/documentation-gaps/`
85
+ - `architecture_pattern` -> `docs/solutions/best-practices/`
86
+ - `design_pattern` -> `docs/solutions/best-practices/`
87
+ - `tooling_decision` -> `docs/solutions/best-practices/`
88
+ - `convention` -> `docs/solutions/best-practices/`
89
+
90
+ The four narrower knowledge-track types share the `best-practices/` directory rather than each
91
+ getting their own. That matches where such docs are already filed, and avoids single-document
92
+ directories that fragment search.
76
93
 
77
94
  ## Validation Rules
78
95
 
@@ -23,12 +23,16 @@ tracks:
23
23
  - integration_issue
24
24
  - logic_error
25
25
  knowledge:
26
- description: "Best practices, workflow improvements, patterns, and documentation"
26
+ description: "Best practices, workflow improvements, patterns, conventions, and documentation"
27
27
  problem_types:
28
28
  - best_practice
29
29
  - documentation_gap
30
30
  - workflow_issue
31
31
  - developer_experience
32
+ - architecture_pattern
33
+ - design_pattern
34
+ - tooling_decision
35
+ - convention
32
36
 
33
37
  # --- Fields required by BOTH tracks -----------------------------------------
34
38
  required_fields:
@@ -57,7 +61,18 @@ required_fields:
57
61
  - workflow_issue
58
62
  - best_practice
59
63
  - documentation_gap
60
- description: "Primary category — determines track (bug vs knowledge)"
64
+ - architecture_pattern
65
+ - design_pattern
66
+ - tooling_decision
67
+ - convention
68
+ description: >-
69
+ Primary category — determines track (bug vs knowledge).
70
+ Prefer the narrowest applicable value; best_practice is the fallback
71
+ when no narrower knowledge-track value fits.
72
+ architecture_pattern: structural decisions about how components relate.
73
+ design_pattern: reusable solutions to recurring design problems.
74
+ tooling_decision: choices about tools, libraries, or build infrastructure.
75
+ convention: agreed-upon naming, formatting, or style rules.
61
76
 
62
77
  component:
63
78
  type: enum
@@ -220,3 +235,13 @@ validation_rules:
220
235
  - "date must match YYYY-MM-DD format"
221
236
  - "rails_version, if provided, must match X.Y.Z format and only applies to bug-track docs"
222
237
  - "tags should be lowercase and hyphen-separated"
238
+ - |-
239
+ YAML quoting: scalar values that contain ' #' (space-hash) must be
240
+ double-quoted to prevent silent YAML comment truncation (the YAML parser
241
+ treats ' #' as an inline comment, silently dropping the rest of the value
242
+ with parseError: false). Example: problem: "cache miss # under load".
243
+ - |-
244
+ YAML quoting: array-of-strings frontmatter items must be double-quoted when
245
+ the value starts with a YAML reserved indicator (e.g., '{', '[', '|', '>',
246
+ '!', '&', '*', '?', ':', '-') or contains ': ' (colon-space). Example:
247
+ symptoms: - "[mdx-js/rollup] Could not parse expression"
@@ -16,7 +16,14 @@ The `problem_type` determines which **track** applies. Each track has different
16
16
  | Track | problem_types | Description |
17
17
  |-------|--------------|-------------|
18
18
  | **Bug** | `build_error`, `test_failure`, `runtime_error`, `performance_issue`, `database_issue`, `security_issue`, `ui_bug`, `integration_issue`, `logic_error` | Defects and failures that were diagnosed and fixed |
19
- | **Knowledge** | `best_practice`, `documentation_gap`, `workflow_issue`, `developer_experience` | Practices, patterns, workflow improvements, and documentation |
19
+ | **Knowledge** | `best_practice`, `documentation_gap`, `workflow_issue`, `developer_experience`, `architecture_pattern`, `design_pattern`, `tooling_decision`, `convention` | Practices, patterns, workflow improvements, and documentation |
20
+
21
+ Prefer the narrowest applicable value. `best_practice` is the fallback when no narrower knowledge-track value fits.
22
+
23
+ - `architecture_pattern` — structural decisions about how components relate
24
+ - `design_pattern` — reusable solutions to recurring design problems
25
+ - `tooling_decision` — choices about tools, libraries, or build infrastructure
26
+ - `convention` — agreed-upon naming, formatting, or style rules
20
27
 
21
28
  ## Required Fields (both tracks)
22
29
 
@@ -35,6 +42,8 @@ Required:
35
42
 
36
43
  ## Knowledge Track Fields
37
44
 
45
+ Applies to every knowledge-track `problem_type` listed in the Tracks table above.
46
+
38
47
  No additional required fields beyond the shared ones. All fields below are optional:
39
48
 
40
49
  - **applies_when**: Conditions or situations where this guidance applies
@@ -73,6 +82,14 @@ Docs created before the track system may have `symptoms`/`root_cause`/`resolutio
73
82
  - `workflow_issue` -> `docs/solutions/workflow-issues/`
74
83
  - `best_practice` -> `docs/solutions/best-practices/`
75
84
  - `documentation_gap` -> `docs/solutions/documentation-gaps/`
85
+ - `architecture_pattern` -> `docs/solutions/best-practices/`
86
+ - `design_pattern` -> `docs/solutions/best-practices/`
87
+ - `tooling_decision` -> `docs/solutions/best-practices/`
88
+ - `convention` -> `docs/solutions/best-practices/`
89
+
90
+ The four narrower knowledge-track types share the `best-practices/` directory rather than each
91
+ getting their own. That matches where such docs are already filed, and avoids single-document
92
+ directories that fragment search.
76
93
 
77
94
  ## Validation Rules
78
95