@gluecharm-lab/easyspecs-cli 0.0.3

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 (66) hide show
  1. package/dist/main.cjs +19663 -0
  2. package/dist/main.cjs.map +7 -0
  3. package/package.json +27 -0
  4. package/resources/opencode-agents/MERMAID.md +20 -0
  5. package/resources/opencode-agents/README.md +67 -0
  6. package/resources/opencode-agents/agent-ace-curator.md +31 -0
  7. package/resources/opencode-agents/agent-ace-reflector.md +16 -0
  8. package/resources/opencode-agents/agent-ace-trace-recorder.md +33 -0
  9. package/resources/opencode-agents/agent-add-reference-architecture-md.md +22 -0
  10. package/resources/opencode-agents/agent-add-reference-project-md.md +21 -0
  11. package/resources/opencode-agents/agent-classify-unreferenced-file.md +61 -0
  12. package/resources/opencode-agents/agent-list-data-model.md +243 -0
  13. package/resources/opencode-agents/agent-list-entity-fields.md +191 -0
  14. package/resources/opencode-agents/agent-list-experiences.md +252 -0
  15. package/resources/opencode-agents/agent-list-features.md +218 -0
  16. package/resources/opencode-agents/agent-list-scenarios.md +179 -0
  17. package/resources/opencode-agents/agent-list-services.md +208 -0
  18. package/resources/opencode-agents/agent-list-tech-stack.md +176 -0
  19. package/resources/opencode-agents/agent-list-use-cases.md +179 -0
  20. package/resources/opencode-agents/agent-md-architecture.md +139 -0
  21. package/resources/opencode-agents/agent-md-docs-project.md +172 -0
  22. package/resources/opencode-agents/agent-md-entity-detail.md +86 -0
  23. package/resources/opencode-agents/agent-md-feature-detail.md +95 -0
  24. package/resources/opencode-agents/agent-md-field-detail.md +80 -0
  25. package/resources/opencode-agents/agent-md-interaction-detail.md +84 -0
  26. package/resources/opencode-agents/agent-md-method-detail.md +86 -0
  27. package/resources/opencode-agents/agent-md-relationship-detail.md +80 -0
  28. package/resources/opencode-agents/agent-md-scenario-detail.md +92 -0
  29. package/resources/opencode-agents/agent-md-service-detail.md +88 -0
  30. package/resources/opencode-agents/agent-md-tool-detail.md +82 -0
  31. package/resources/opencode-agents/agent-md-use-case-detail.md +165 -0
  32. package/resources/opencode-agents/agent-md-view-detail.md +117 -0
  33. package/resources/opencode-agents/agent-reference-coverage-execution-report.md +28 -0
  34. package/resources/opencode-agents/agent-repo-surface-scan.md +136 -0
  35. package/resources/opencode-agents/agent-resolve-open-question.md +42 -0
  36. package/resources/opencode-agents/agent-review-data-model-list.md +26 -0
  37. package/resources/opencode-agents/agent-review-entity-fields-list.md +26 -0
  38. package/resources/opencode-agents/agent-review-experiences-list.md +72 -0
  39. package/resources/opencode-agents/agent-review-features-list.md +52 -0
  40. package/resources/opencode-agents/agent-review-scenarios-list.md +28 -0
  41. package/resources/opencode-agents/agent-review-services-list.md +26 -0
  42. package/resources/opencode-agents/agent-review-tech-stack-list.md +26 -0
  43. package/resources/opencode-agents/agent-review-use-cases-list.md +28 -0
  44. package/resources/opencode-agents/agent-triage-unreferenced-coordination.md +35 -0
  45. package/resources/schemas/ace/ace-agent-overlay.schema.json +29 -0
  46. package/resources/schemas/ace/ace-curator-delta.schema.json +51 -0
  47. package/resources/schemas/ace/ace-generator-trace.schema.json +134 -0
  48. package/resources/schemas/ace/ace-playbook.schema.json +36 -0
  49. package/resources/schemas/ace/ace-reflector-lessons.schema.json +77 -0
  50. package/resources/schemas/context-lists/coordination-duplicates-report.schema.json +97 -0
  51. package/resources/schemas/context-lists/coverage-reference-validation.schema.json +125 -0
  52. package/resources/schemas/context-lists/data-model-list.schema.json +157 -0
  53. package/resources/schemas/context-lists/entity-fields-list.schema.json +104 -0
  54. package/resources/schemas/context-lists/experiences-list.schema.json +132 -0
  55. package/resources/schemas/context-lists/features-list.schema.json +109 -0
  56. package/resources/schemas/context-lists/repo-surface-scan.schema.json +150 -0
  57. package/resources/schemas/context-lists/scenarios-list.schema.json +107 -0
  58. package/resources/schemas/context-lists/services-list.schema.json +132 -0
  59. package/resources/schemas/context-lists/tech-stack-list.schema.json +108 -0
  60. package/resources/schemas/context-lists/use-cases-list.schema.json +108 -0
  61. package/resources/schemas/context-lists/zero-reference-classifier-record.schema.json +61 -0
  62. package/resources/schemas/context-lists/zero-reference-routing.schema.json +98 -0
  63. package/resources/schemas/context-lists/zero-reference-triage-record.schema.json +57 -0
  64. package/resources/schemas/context-lists/zero-reference-triage.schema.json +69 -0
  65. package/resources/schemas/index-application-context.schema.json +202 -0
  66. package/resources/schemas/srs-impact.schema.json +187 -0
@@ -0,0 +1,187 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://easyspecs.ai/schemas/srs-impact.schema.json",
4
+ "title": "srs-impact",
5
+ "description": "Change-request `impact.json` under `.gluecharm/docs/srs/<CR-id>/`. Same five-scope tree and node shape as `index-application-context` (optional `detailMarkdownPaths` / `detailMarkdownFile` with paths relative to the CR folder). Do **not** store root `driftCount` — UI derives it from `drift` flags.",
6
+ "$defs": {
7
+ "srsRelativeMarkdownPath": {
8
+ "type": "string",
9
+ "minLength": 1,
10
+ "description": "Path relative to the directory containing `impact.json` (the CR folder). Forward slashes only; no backslashes; must end with `.md`. At most one `..` segment (e.g. `../CR-001-voice-input.md`); must not contain `../..` or more.",
11
+ "pattern": "^(?!/)(?!.*\\.\\./\\.\\./)[^\\\\\\u0000-\\u001f]+\\.md$"
12
+ },
13
+ "impactNodeType": {
14
+ "type": "string",
15
+ "enum": [
16
+ "Feature",
17
+ "UseCase",
18
+ "Scenario",
19
+ "View",
20
+ "Interaction",
21
+ "Service",
22
+ "Method",
23
+ "Entity",
24
+ "Field",
25
+ "Relationship",
26
+ "Tool"
27
+ ],
28
+ "description": "Node kind; must match the scope and the code prefix (see allOf rules on impactNode)."
29
+ },
30
+ "impactNode": {
31
+ "type": "object",
32
+ "additionalProperties": false,
33
+ "required": ["type", "name", "code"],
34
+ "properties": {
35
+ "type": { "$ref": "#/$defs/impactNodeType" },
36
+ "name": {
37
+ "type": "string",
38
+ "minLength": 1,
39
+ "description": "Human-readable label (do not duplicate the code token in name)."
40
+ },
41
+ "code": {
42
+ "type": "string",
43
+ "minLength": 1,
44
+ "description": "Stable id; prefix must match type (enforced below)."
45
+ },
46
+ "drift": {
47
+ "type": "boolean",
48
+ "description": "When true, UI shows a Drift tag and includes this node in the computed drift count."
49
+ },
50
+ "detailMarkdownPaths": {
51
+ "type": "array",
52
+ "description": "Optional pointers to detail markdown relative to the CR folder (same idea as srs-10 paths under context).",
53
+ "items": { "$ref": "#/$defs/srsRelativeMarkdownPath" }
54
+ },
55
+ "detailMarkdownFile": {
56
+ "description": "Single detail markdown reference. Legacy: `filename` + `path`. Aligned with index-application-context srs-26: `path` with optional `srsDiscoveryId`.",
57
+ "oneOf": [
58
+ {
59
+ "type": "object",
60
+ "additionalProperties": false,
61
+ "required": ["filename", "path"],
62
+ "properties": {
63
+ "filename": {
64
+ "type": "string",
65
+ "minLength": 1,
66
+ "description": "Markdown filename (typically basename of `path`)."
67
+ },
68
+ "path": {
69
+ "$ref": "#/$defs/srsRelativeMarkdownPath",
70
+ "description": "Path relative to the CR folder (directory of `impact.json`)."
71
+ }
72
+ }
73
+ },
74
+ {
75
+ "type": "object",
76
+ "additionalProperties": false,
77
+ "required": ["path"],
78
+ "properties": {
79
+ "path": {
80
+ "$ref": "#/$defs/srsRelativeMarkdownPath",
81
+ "description": "Path relative to the CR folder (directory of `impact.json`)."
82
+ },
83
+ "srsDiscoveryId": {
84
+ "type": "string",
85
+ "minLength": 1,
86
+ "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
87
+ }
88
+ }
89
+ }
90
+ ]
91
+ },
92
+ "children": {
93
+ "type": "array",
94
+ "items": { "$ref": "#/$defs/impactNode" }
95
+ }
96
+ },
97
+ "allOf": [
98
+ {
99
+ "if": { "properties": { "type": { "const": "Feature" } }, "required": ["type"] },
100
+ "then": { "properties": { "code": { "pattern": "^FE-\\d+$" } } }
101
+ },
102
+ {
103
+ "if": { "properties": { "type": { "const": "UseCase" } }, "required": ["type"] },
104
+ "then": { "properties": { "code": { "pattern": "^UC-\\d+$" } } }
105
+ },
106
+ {
107
+ "if": { "properties": { "type": { "const": "Scenario" } }, "required": ["type"] },
108
+ "then": { "properties": { "code": { "pattern": "^SC-\\d+$" } } }
109
+ },
110
+ {
111
+ "if": { "properties": { "type": { "const": "View" } }, "required": ["type"] },
112
+ "then": { "properties": { "code": { "pattern": "^XP-\\d+$" } } }
113
+ },
114
+ {
115
+ "if": { "properties": { "type": { "const": "Interaction" } }, "required": ["type"] },
116
+ "then": { "properties": { "code": { "pattern": "^BH-\\d+$" } } }
117
+ },
118
+ {
119
+ "if": { "properties": { "type": { "const": "Service" } }, "required": ["type"] },
120
+ "then": { "properties": { "code": { "pattern": "^SV-\\d+$" } } }
121
+ },
122
+ {
123
+ "if": { "properties": { "type": { "const": "Method" } }, "required": ["type"] },
124
+ "then": { "properties": { "code": { "pattern": "^ME-\\d+$" } } }
125
+ },
126
+ {
127
+ "if": { "properties": { "type": { "const": "Entity" } }, "required": ["type"] },
128
+ "then": { "properties": { "code": { "pattern": "^DM-\\d+$" } } }
129
+ },
130
+ {
131
+ "if": { "properties": { "type": { "const": "Field" } }, "required": ["type"] },
132
+ "then": { "properties": { "code": { "pattern": "^FD-\\d+$" } } }
133
+ },
134
+ {
135
+ "if": { "properties": { "type": { "const": "Relationship" } }, "required": ["type"] },
136
+ "then": { "properties": { "code": { "pattern": "^RL-\\d+$" } } }
137
+ },
138
+ {
139
+ "if": { "properties": { "type": { "const": "Tool" } }, "required": ["type"] },
140
+ "then": { "properties": { "code": { "pattern": "^TS-\\d+$" } } }
141
+ }
142
+ ]
143
+ },
144
+ "scopeBlock": {
145
+ "type": "object",
146
+ "additionalProperties": false,
147
+ "required": ["nodes"],
148
+ "properties": {
149
+ "nodes": {
150
+ "type": "array",
151
+ "items": { "$ref": "#/$defs/impactNode" }
152
+ }
153
+ }
154
+ }
155
+ },
156
+ "type": "object",
157
+ "additionalProperties": false,
158
+ "required": ["cr", "title"],
159
+ "properties": {
160
+ "cr": {
161
+ "type": "string",
162
+ "pattern": "^CR-[0-9]+$",
163
+ "description": "Change-request id matching the CR folder name (e.g. CR-001)."
164
+ },
165
+ "title": {
166
+ "type": "string",
167
+ "minLength": 1,
168
+ "description": "Human-readable change-request title."
169
+ },
170
+ "status": {
171
+ "type": "string",
172
+ "description": "Optional workflow status (e.g. draft, in_progress, review)."
173
+ },
174
+ "scopes": {
175
+ "type": "object",
176
+ "additionalProperties": false,
177
+ "description": "Optional scope buckets; each present block lists root impact nodes for that dimension.",
178
+ "properties": {
179
+ "Feature": { "$ref": "#/$defs/scopeBlock" },
180
+ "Experience": { "$ref": "#/$defs/scopeBlock" },
181
+ "Service": { "$ref": "#/$defs/scopeBlock" },
182
+ "DataModel": { "$ref": "#/$defs/scopeBlock" },
183
+ "TechStack": { "$ref": "#/$defs/scopeBlock" }
184
+ }
185
+ }
186
+ }
187
+ }