@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.
- package/dist/main.cjs +19663 -0
- package/dist/main.cjs.map +7 -0
- package/package.json +27 -0
- package/resources/opencode-agents/MERMAID.md +20 -0
- package/resources/opencode-agents/README.md +67 -0
- package/resources/opencode-agents/agent-ace-curator.md +31 -0
- package/resources/opencode-agents/agent-ace-reflector.md +16 -0
- package/resources/opencode-agents/agent-ace-trace-recorder.md +33 -0
- package/resources/opencode-agents/agent-add-reference-architecture-md.md +22 -0
- package/resources/opencode-agents/agent-add-reference-project-md.md +21 -0
- package/resources/opencode-agents/agent-classify-unreferenced-file.md +61 -0
- package/resources/opencode-agents/agent-list-data-model.md +243 -0
- package/resources/opencode-agents/agent-list-entity-fields.md +191 -0
- package/resources/opencode-agents/agent-list-experiences.md +252 -0
- package/resources/opencode-agents/agent-list-features.md +218 -0
- package/resources/opencode-agents/agent-list-scenarios.md +179 -0
- package/resources/opencode-agents/agent-list-services.md +208 -0
- package/resources/opencode-agents/agent-list-tech-stack.md +176 -0
- package/resources/opencode-agents/agent-list-use-cases.md +179 -0
- package/resources/opencode-agents/agent-md-architecture.md +139 -0
- package/resources/opencode-agents/agent-md-docs-project.md +172 -0
- package/resources/opencode-agents/agent-md-entity-detail.md +86 -0
- package/resources/opencode-agents/agent-md-feature-detail.md +95 -0
- package/resources/opencode-agents/agent-md-field-detail.md +80 -0
- package/resources/opencode-agents/agent-md-interaction-detail.md +84 -0
- package/resources/opencode-agents/agent-md-method-detail.md +86 -0
- package/resources/opencode-agents/agent-md-relationship-detail.md +80 -0
- package/resources/opencode-agents/agent-md-scenario-detail.md +92 -0
- package/resources/opencode-agents/agent-md-service-detail.md +88 -0
- package/resources/opencode-agents/agent-md-tool-detail.md +82 -0
- package/resources/opencode-agents/agent-md-use-case-detail.md +165 -0
- package/resources/opencode-agents/agent-md-view-detail.md +117 -0
- package/resources/opencode-agents/agent-reference-coverage-execution-report.md +28 -0
- package/resources/opencode-agents/agent-repo-surface-scan.md +136 -0
- package/resources/opencode-agents/agent-resolve-open-question.md +42 -0
- package/resources/opencode-agents/agent-review-data-model-list.md +26 -0
- package/resources/opencode-agents/agent-review-entity-fields-list.md +26 -0
- package/resources/opencode-agents/agent-review-experiences-list.md +72 -0
- package/resources/opencode-agents/agent-review-features-list.md +52 -0
- package/resources/opencode-agents/agent-review-scenarios-list.md +28 -0
- package/resources/opencode-agents/agent-review-services-list.md +26 -0
- package/resources/opencode-agents/agent-review-tech-stack-list.md +26 -0
- package/resources/opencode-agents/agent-review-use-cases-list.md +28 -0
- package/resources/opencode-agents/agent-triage-unreferenced-coordination.md +35 -0
- package/resources/schemas/ace/ace-agent-overlay.schema.json +29 -0
- package/resources/schemas/ace/ace-curator-delta.schema.json +51 -0
- package/resources/schemas/ace/ace-generator-trace.schema.json +134 -0
- package/resources/schemas/ace/ace-playbook.schema.json +36 -0
- package/resources/schemas/ace/ace-reflector-lessons.schema.json +77 -0
- package/resources/schemas/context-lists/coordination-duplicates-report.schema.json +97 -0
- package/resources/schemas/context-lists/coverage-reference-validation.schema.json +125 -0
- package/resources/schemas/context-lists/data-model-list.schema.json +157 -0
- package/resources/schemas/context-lists/entity-fields-list.schema.json +104 -0
- package/resources/schemas/context-lists/experiences-list.schema.json +132 -0
- package/resources/schemas/context-lists/features-list.schema.json +109 -0
- package/resources/schemas/context-lists/repo-surface-scan.schema.json +150 -0
- package/resources/schemas/context-lists/scenarios-list.schema.json +107 -0
- package/resources/schemas/context-lists/services-list.schema.json +132 -0
- package/resources/schemas/context-lists/tech-stack-list.schema.json +108 -0
- package/resources/schemas/context-lists/use-cases-list.schema.json +108 -0
- package/resources/schemas/context-lists/zero-reference-classifier-record.schema.json +61 -0
- package/resources/schemas/context-lists/zero-reference-routing.schema.json +98 -0
- package/resources/schemas/context-lists/zero-reference-triage-record.schema.json +57 -0
- package/resources/schemas/context-lists/zero-reference-triage.schema.json +69 -0
- package/resources/schemas/index-application-context.schema.json +202 -0
- package/resources/schemas/srs-impact.schema.json +187 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Agent: Feature detail (markdown)
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
| ----- | ----- |
|
|
5
|
+
| **AGENT_ID** | `ctx-md-feature-detail` |
|
|
6
|
+
| **Display name** | Feature detail |
|
|
7
|
+
| **SRS-8** | §4.3 `FE-<nn>-<slug>.md`; §6.2 (parallel after `features-list.json`); **R7**, **AC5**, **R21** |
|
|
8
|
+
| **Output** | `<worktree>/.gluecharm/context/FE-<nn>-<slug>.md` |
|
|
9
|
+
| **Input (coordination)** | `<worktree>/.gluecharm/context/features-list.json` (repo-relative: `.gluecharm/context/features-list.json`) |
|
|
10
|
+
| **Pattern** | §3.5.1 — Markdown detail |
|
|
11
|
+
|
|
12
|
+
## Responsibility
|
|
13
|
+
|
|
14
|
+
**`.opencode/` exclusion:** The worktree may contain **`.opencode/`** (materialized OpenCode agents, schemas, and tooling). It is **not** part of the analyzed product codebase. **Do not** use it to infer application behavior. **Never** cite paths under **`.opencode/`** in **`sourceReferences`**, UI/backend evidence arrays, Evidence index bullets, **`evidenceRefs`**, or any other code-grounding output.
|
|
15
|
+
|
|
16
|
+
**Functional and technical** documentation for **one feature** whose **`code`** and **`slug`** come from **`.gluecharm/context/features-list.json`**. Feeds human-readable depth; structure for the index comes from JSON lists. That row **must** include **`sourceReferences`** (`minItems: 1`); seed the **Evidence index** with those path+line ranges (then add more from deeper reading). In list JSON, **`sourceReferences[].path`** is always a **file**, never a folder.
|
|
17
|
+
|
|
18
|
+
**Spine context:** Non-trivial features **typically** map to **multiple** use cases in **`FE-<nn>-use-cases-list.json`**. In **Summary** or **Scope**, avoid implying this feature is a single monolithic journey when the codebase supports several; you may briefly point readers at sibling UCs by code/name when helpful.
|
|
19
|
+
|
|
20
|
+
**Coordination JSON** lives **only** under **`.gluecharm/context/`**, not the worktree root. Read that path first; if missing, **glob** `.gluecharm/context/**/features-list.json` before failing.
|
|
21
|
+
|
|
22
|
+
## Task (for `{{TASK_DESCRIPTION}}`)
|
|
23
|
+
|
|
24
|
+
Document feature **{{FE_CODE}}** (name/slug from list): scope, behaviour, main dependencies, entry points, and links to code. Ground all claims in the worktree.
|
|
25
|
+
|
|
26
|
+
## Non-empty chapters and Evidence index (mandatory)
|
|
27
|
+
|
|
28
|
+
- **`## Evidence index`** is the **references / code-grounding** chapter. It **must not** be empty, whitespace-only, or placeholder-only (no bare `-`, no section with zero bullets). A generated `.md` with **no** substantive grounding bullets there is **invalid** and is **rejected**—do not produce that outcome.
|
|
29
|
+
- **Preferred:** at least one concrete `path:line` or `path:start-end` cite from the worktree (implementation, config, tests, schemas—not README-style narrative files).
|
|
30
|
+
- **If grounding is impossible** after reasonable search: set **`Status: hallucination?`** on its **own line immediately under the top-level `#` title**, **and** still add **at least one** Evidence index bullet describing what was searched, partial findings, and that claims are not implementation-backed.
|
|
31
|
+
- **Other `##` sections:** do not leave them empty; if unknown, add a short note under that heading explaining why.
|
|
32
|
+
- **Banned:** never list any path whose **basename** is `readme.md` in **any** casing (`README.md`, `readme.md`, etc.) in the Evidence index. **Never** list paths under **`.opencode/`** either (tooling copy, not product source).
|
|
33
|
+
|
|
34
|
+
### Revision log (mandatory)
|
|
35
|
+
|
|
36
|
+
- **`## Revision`** sits **immediately before** **`## Evidence index`**. **Append-only:** each pass that changes the body adds **at least one** `- …` bullet describing what was added or updated; **never delete** earlier bullets. **First write:** include an initial bullet (e.g. **Initial draft**).
|
|
37
|
+
|
|
38
|
+
## Output template
|
|
39
|
+
|
|
40
|
+
Write **exactly** the content for **`{{OUTPUT_FILE_ABSOLUTE}}`**. Basename **must** be **`{{OUTPUT_BASENAME}}`** (e.g. `FE-01-user-auth.md`). **R21:** mirror substantive claims under **Evidence index** with file+line cites or labelled inference.
|
|
41
|
+
|
|
42
|
+
```markdown
|
|
43
|
+
# Feature {{FE_CODE}} — <name from features-list>
|
|
44
|
+
|
|
45
|
+
**Slug:** <slug>
|
|
46
|
+
**Output file:** {{OUTPUT_BASENAME}}
|
|
47
|
+
|
|
48
|
+
## Summary
|
|
49
|
+
|
|
50
|
+
## Scope
|
|
51
|
+
|
|
52
|
+
<!-- In / out of scope for this feature. -->
|
|
53
|
+
|
|
54
|
+
## Functional behaviour
|
|
55
|
+
|
|
56
|
+
<!-- User-visible capabilities; cite UI/routes/handlers. -->
|
|
57
|
+
|
|
58
|
+
## Technical design
|
|
59
|
+
|
|
60
|
+
<!-- Modules, services, data touched; cite implementation. -->
|
|
61
|
+
|
|
62
|
+
## Entry points
|
|
63
|
+
|
|
64
|
+
<!-- Routes, CLI, jobs, public APIs; cite definitions. -->
|
|
65
|
+
|
|
66
|
+
## Dependencies
|
|
67
|
+
|
|
68
|
+
<!-- Other features, libs, external APIs; cite manifests and imports. -->
|
|
69
|
+
|
|
70
|
+
## Open questions
|
|
71
|
+
|
|
72
|
+
## Revision
|
|
73
|
+
|
|
74
|
+
<!--
|
|
75
|
+
Append-only: after each substantive edit, add one bullet (newest at bottom, or consistent ISO-8601 date prefixes).
|
|
76
|
+
-->
|
|
77
|
+
|
|
78
|
+
- <!-- e.g. Initial draft: scope and behaviour from implementation reads. -->
|
|
79
|
+
|
|
80
|
+
## Evidence index
|
|
81
|
+
|
|
82
|
+
- <!-- At least one substantive bullet: `path:line` or honest grounding note per Non-empty chapters — never empty; never `readme.md` basenames. -->
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Evidence (**R21**)
|
|
86
|
+
|
|
87
|
+
Follow **Non-empty chapters and Evidence index** above. File + line citations for substantive statements; **`{{OUTPUT_BASENAME}}`** must match §4.3.
|
|
88
|
+
|
|
89
|
+
## Prerequisites
|
|
90
|
+
|
|
91
|
+
Valid **`.gluecharm/context/features-list.json`** with this feature row.
|
|
92
|
+
|
|
93
|
+
## OpenCode wiring
|
|
94
|
+
|
|
95
|
+
§3.5.1. One markdown file per invocation; orchestration sets output path from FE code and slug.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Agent: Field detail (markdown)
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
| ----- | ----- |
|
|
5
|
+
| **AGENT_ID** | `ctx-md-field-detail` |
|
|
6
|
+
| **Display name** | Field detail |
|
|
7
|
+
| **SRS-8** | §4.5 **`DM-<nn>_FD-<ff>-<slug>.md`**; §6.5 (parallel after FD children fixed per entity); **R7**, **R21** |
|
|
8
|
+
| **Output** | `<worktree>/.gluecharm/context/DM-<nn>_FD-<ff>-<slug>.md` |
|
|
9
|
+
| **Input (coordination)** | **`.gluecharm/context/DM-<nn>-fields-list.json`** (per entity); registry: **`.gluecharm/context/data-model-list.json`** |
|
|
10
|
+
| **Pattern** | §3.5.1 — Markdown detail |
|
|
11
|
+
|
|
12
|
+
## Responsibility
|
|
13
|
+
|
|
14
|
+
**`.opencode/` exclusion:** The worktree may contain **`.opencode/`** (materialized OpenCode agents, schemas, and tooling). It is **not** part of the analyzed product codebase. **Do not** use it to infer application behavior. **Never** cite paths under **`.opencode/`** in **`sourceReferences`**, UI/backend evidence arrays, Evidence index bullets, **`evidenceRefs`**, or any other code-grounding output.
|
|
15
|
+
|
|
16
|
+
Document **one field or attribute** (`FD-*`): type, constraints, defaults, PII/sensitivity, validation, representation in API/UI.
|
|
17
|
+
|
|
18
|
+
**Coordination JSON** lives **only** under **`.gluecharm/context/`**, not the worktree root. Read **`.gluecharm/context/DM-<nn>-fields-list.json`** (and **`.gluecharm/context/data-model-list.json`** for entity registry) first; if missing, **glob** under `.gluecharm/context/` before failing.
|
|
19
|
+
|
|
20
|
+
## Task (for `{{TASK_DESCRIPTION}}`)
|
|
21
|
+
|
|
22
|
+
Document **field {{FD_CODE}}** on **entity {{DM_CODE}}** per **`DM-<nn>-<slug>.md`** and **`.gluecharm/context/DM-<nn>-fields-list.json`** when present (the global **`.gluecharm/context/data-model-list.json`** lists **entities only**, not fields). Fields-list rows include mandatory **`sourceReferences`** — carry them into the **Evidence index** and extend with deeper reads as needed.
|
|
23
|
+
|
|
24
|
+
## Non-empty chapters and Evidence index (mandatory)
|
|
25
|
+
|
|
26
|
+
- **`## Evidence index`** is the **references / code-grounding** chapter. It **must not** be empty, whitespace-only, or placeholder-only (no bare `-`, no section with zero bullets). A generated `.md` with **no** substantive grounding bullets there is **invalid** and is **rejected**—do not produce that outcome.
|
|
27
|
+
- **Preferred:** at least one concrete `path:line` or `path:start-end` cite from the worktree (implementation, config, tests, schemas—not README-style narrative files).
|
|
28
|
+
- **If grounding is impossible** after reasonable search: set **`Status: hallucination?`** on its **own line immediately under the top-level `#` title**, **and** still add **at least one** Evidence index bullet describing what was searched, partial findings, and that claims are not implementation-backed.
|
|
29
|
+
- **Other `##` sections:** do not leave them empty; if unknown, add a short note under that heading explaining why.
|
|
30
|
+
- **Banned:** never list any path whose **basename** is `readme.md` in **any** casing (`README.md`, `readme.md`, etc.) in the Evidence index. **Never** list paths under **`.opencode/`** either (tooling copy, not product source).
|
|
31
|
+
|
|
32
|
+
### Revision log (mandatory)
|
|
33
|
+
|
|
34
|
+
- **`## Revision`** sits **immediately before** **`## Evidence index`**. **Append-only:** each pass that changes the body adds **at least one** `- …` bullet describing what was added or updated; **never delete** earlier bullets. **First write:** include an initial bullet (e.g. **Initial draft**).
|
|
35
|
+
|
|
36
|
+
## Output template
|
|
37
|
+
|
|
38
|
+
Basename **`DM-<nn>_FD-<ff>-<slug>.md`**.
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
# Field {{FD_CODE}} — <name>
|
|
42
|
+
|
|
43
|
+
**Entity:** {{DM_CODE}} · **File:** {{OUTPUT_BASENAME}}
|
|
44
|
+
|
|
45
|
+
## Summary
|
|
46
|
+
|
|
47
|
+
## Type and constraints
|
|
48
|
+
|
|
49
|
+
## Default and nullability
|
|
50
|
+
|
|
51
|
+
## Validation
|
|
52
|
+
|
|
53
|
+
## Privacy / sensitivity
|
|
54
|
+
|
|
55
|
+
## Representation in API and UI
|
|
56
|
+
|
|
57
|
+
## Revision
|
|
58
|
+
|
|
59
|
+
<!--
|
|
60
|
+
Append-only: after each substantive edit, add one bullet (newest at bottom, or consistent ISO-8601 date prefixes).
|
|
61
|
+
-->
|
|
62
|
+
|
|
63
|
+
- <!-- e.g. Initial draft: field mapping from schema/types. -->
|
|
64
|
+
|
|
65
|
+
## Evidence index
|
|
66
|
+
|
|
67
|
+
- <!-- At least one substantive bullet: `path:line` or honest grounding note per Non-empty chapters — never empty; never `readme.md` basenames. -->
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Evidence (**R21**)
|
|
71
|
+
|
|
72
|
+
Follow **Non-empty chapters and Evidence index** above. Cite schema, DTOs, and validation logic.
|
|
73
|
+
|
|
74
|
+
## Prerequisites
|
|
75
|
+
|
|
76
|
+
Entity in **`.gluecharm/context/data-model-list.json`**; field definition in entity detail and/or **`.gluecharm/context/DM-<nn>-fields-list.json`** per PLAN.
|
|
77
|
+
|
|
78
|
+
## OpenCode wiring
|
|
79
|
+
|
|
80
|
+
§3.5.1. One file per field; parallel (§6.5).
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Agent: Interaction detail (markdown)
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
| ----- | ----- |
|
|
5
|
+
| **AGENT_ID** | `ctx-md-interaction-detail` |
|
|
6
|
+
| **Display name** | Interaction detail |
|
|
7
|
+
| **SRS-8** | §4.5 **`XP-<nn>_BH-<ii>-<slug>.md`**; §6.3 (parallel after BH codes fixed per view); **R7**, **R21** |
|
|
8
|
+
| **Output** | `<worktree>/.gluecharm/context/XP-<nn>_BH-<ii>-<slug>.md` |
|
|
9
|
+
| **Input (coordination)** | `<worktree>/.gluecharm/context/experiences-list.json` (repo-relative: `.gluecharm/context/experiences-list.json`) |
|
|
10
|
+
| **Pattern** | §3.5.1 — Markdown detail |
|
|
11
|
+
|
|
12
|
+
## Responsibility
|
|
13
|
+
|
|
14
|
+
**`.opencode/` exclusion:** The worktree may contain **`.opencode/`** (materialized OpenCode agents, schemas, and tooling). It is **not** part of the analyzed product codebase. **Do not** use it to infer application behavior. **Never** cite paths under **`.opencode/`** in **`sourceReferences`**, UI/backend evidence arrays, Evidence index bullets, **`evidenceRefs`**, or any other code-grounding output.
|
|
15
|
+
|
|
16
|
+
Document **one interaction** (behaviour `BH-*`) within a view: user action, system response, validation, side effects, and code hooks.
|
|
17
|
+
|
|
18
|
+
**Coordination JSON** lives **only** under **`.gluecharm/context/`**, not the worktree root. Read **`.gluecharm/context/experiences-list.json`** first; if missing, **glob** `.gluecharm/context/**/experiences-list.json` before failing.
|
|
19
|
+
|
|
20
|
+
## Task (for `{{TASK_DESCRIPTION}}`)
|
|
21
|
+
|
|
22
|
+
Document **interaction {{BH_CODE}}** on **view {{XP_CODE}}** as listed in **`.gluecharm/context/experiences-list.json`**. Do not change stable codes. The interaction row **must** include **`sourceReferences`** (`minItems: 1`); carry them into the **Evidence index** (file paths only in JSON).
|
|
23
|
+
|
|
24
|
+
## Non-empty chapters and Evidence index (mandatory)
|
|
25
|
+
|
|
26
|
+
- **`## Evidence index`** is the **references / code-grounding** chapter. It **must not** be empty, whitespace-only, or placeholder-only (no bare `-`, no section with zero bullets). A generated `.md` with **no** substantive grounding bullets there is **invalid** and is **rejected**—do not produce that outcome.
|
|
27
|
+
- **Preferred:** at least one concrete `path:line` or `path:start-end` cite from the worktree (implementation, config, tests, schemas—not README-style narrative files).
|
|
28
|
+
- **If grounding is impossible** after reasonable search: set **`Status: hallucination?`** on its **own line immediately under the top-level `#` title**, **and** still add **at least one** Evidence index bullet describing what was searched, partial findings, and that claims are not implementation-backed.
|
|
29
|
+
- **Other `##` sections:** do not leave them empty; if unknown, add a short note under that heading explaining why.
|
|
30
|
+
- **Banned:** never list any path whose **basename** is `readme.md` in **any** casing (`README.md`, `readme.md`, etc.) in the Evidence index. **Never** list paths under **`.opencode/`** either (tooling copy, not product source).
|
|
31
|
+
|
|
32
|
+
### Revision log (mandatory)
|
|
33
|
+
|
|
34
|
+
- **`## Revision`** sits **immediately before** **`## Evidence index`**. **Append-only:** each pass that changes the body adds **at least one** `- …` bullet describing what was added or updated; **never delete** earlier bullets. **First write:** include an initial bullet (e.g. **Initial draft**).
|
|
35
|
+
|
|
36
|
+
## Output template
|
|
37
|
+
|
|
38
|
+
Basename **`XP-<nn>_BH-<ii>-<slug>.md`** per §4.5.
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
# Interaction {{BH_CODE}} — <name>
|
|
42
|
+
|
|
43
|
+
**View:** {{XP_CODE}} · **File:** {{OUTPUT_BASENAME}}
|
|
44
|
+
|
|
45
|
+
## Summary
|
|
46
|
+
|
|
47
|
+
## Trigger
|
|
48
|
+
|
|
49
|
+
<!-- Click, submit, keyboard; cite event bindings. -->
|
|
50
|
+
|
|
51
|
+
## Validation rules
|
|
52
|
+
|
|
53
|
+
## System response
|
|
54
|
+
|
|
55
|
+
<!-- State updates, API calls, navigation; cite handlers. -->
|
|
56
|
+
|
|
57
|
+
## Side effects
|
|
58
|
+
|
|
59
|
+
## Error handling
|
|
60
|
+
|
|
61
|
+
## Revision
|
|
62
|
+
|
|
63
|
+
<!--
|
|
64
|
+
Append-only: after each substantive edit, add one bullet (newest at bottom, or consistent ISO-8601 date prefixes).
|
|
65
|
+
-->
|
|
66
|
+
|
|
67
|
+
- <!-- e.g. Initial draft: behaviour and events from UI code. -->
|
|
68
|
+
|
|
69
|
+
## Evidence index
|
|
70
|
+
|
|
71
|
+
- <!-- At least one substantive bullet: `path:line` or honest grounding note per Non-empty chapters — never empty; never `readme.md` basenames. -->
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Evidence (**R21**)
|
|
75
|
+
|
|
76
|
+
Follow **Non-empty chapters and Evidence index** above. Path+line citations for handlers, stores, and API calls.
|
|
77
|
+
|
|
78
|
+
## Prerequisites
|
|
79
|
+
|
|
80
|
+
Parent view and interaction row exist in **`.gluecharm/context/experiences-list.json`** (or equivalent child list per PLAN).
|
|
81
|
+
|
|
82
|
+
## OpenCode wiring
|
|
83
|
+
|
|
84
|
+
§3.5.1. One file per interaction; many may run in parallel (§6.3).
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Agent: Method / operation detail (markdown)
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
| ----- | ----- |
|
|
5
|
+
| **AGENT_ID** | `ctx-md-method-detail` |
|
|
6
|
+
| **Display name** | Method detail |
|
|
7
|
+
| **SRS-8** | §4.5 **`SV-<nn>_ME-<mm>-<slug>.md`**; §6.4 (parallel after ME codes fixed per service); **R7**, **R21** |
|
|
8
|
+
| **Output** | `<worktree>/.gluecharm/context/SV-<nn>_ME-<mm>-<slug>.md` |
|
|
9
|
+
| **Input (coordination)** | `<worktree>/.gluecharm/context/services-list.json` (repo-relative: `.gluecharm/context/services-list.json`) |
|
|
10
|
+
| **Pattern** | §3.5.1 — Markdown detail |
|
|
11
|
+
|
|
12
|
+
## Responsibility
|
|
13
|
+
|
|
14
|
+
**`.opencode/` exclusion:** The worktree may contain **`.opencode/`** (materialized OpenCode agents, schemas, and tooling). It is **not** part of the analyzed product codebase. **Do not** use it to infer application behavior. **Never** cite paths under **`.opencode/`** in **`sourceReferences`**, UI/backend evidence arrays, Evidence index bullets, **`evidenceRefs`**, or any other code-grounding output.
|
|
15
|
+
|
|
16
|
+
Document **one operation** (`ME-*`): HTTP handler, RPC, or use-case function — signature, inputs/outputs, auth, idempotency, errors, implementation location.
|
|
17
|
+
|
|
18
|
+
**Coordination JSON** lives **only** under **`.gluecharm/context/`**, not the worktree root. Read **`.gluecharm/context/services-list.json`** first; if missing, **glob** `.gluecharm/context/**/services-list.json` before failing.
|
|
19
|
+
|
|
20
|
+
## Task (for `{{TASK_DESCRIPTION}}`)
|
|
21
|
+
|
|
22
|
+
Document **method {{ME_CODE}}** on **service {{SV_CODE}}** as listed in **`.gluecharm/context/services-list.json`**. The method row **must** include **`sourceReferences`** (`minItems: 1`); carry them into the **Evidence index** (file paths only in JSON).
|
|
23
|
+
|
|
24
|
+
## Non-empty chapters and Evidence index (mandatory)
|
|
25
|
+
|
|
26
|
+
- **`## Evidence index`** is the **references / code-grounding** chapter. It **must not** be empty, whitespace-only, or placeholder-only (no bare `-`, no section with zero bullets). A generated `.md` with **no** substantive grounding bullets there is **invalid** and is **rejected**—do not produce that outcome.
|
|
27
|
+
- **Preferred:** at least one concrete `path:line` or `path:start-end` cite from the worktree (implementation, config, tests, schemas—not README-style narrative files).
|
|
28
|
+
- **If grounding is impossible** after reasonable search: set **`Status: hallucination?`** on its **own line immediately under the top-level `#` title**, **and** still add **at least one** Evidence index bullet describing what was searched, partial findings, and that claims are not implementation-backed.
|
|
29
|
+
- **Other `##` sections:** do not leave them empty; if unknown, add a short note under that heading explaining why.
|
|
30
|
+
- **Banned:** never list any path whose **basename** is `readme.md` in **any** casing (`README.md`, `readme.md`, etc.) in the Evidence index. **Never** list paths under **`.opencode/`** either (tooling copy, not product source).
|
|
31
|
+
|
|
32
|
+
### Revision log (mandatory)
|
|
33
|
+
|
|
34
|
+
- **`## Revision`** sits **immediately before** **`## Evidence index`**. **Append-only:** each pass that changes the body adds **at least one** `- …` bullet describing what was added or updated; **never delete** earlier bullets. **First write:** include an initial bullet (e.g. **Initial draft**).
|
|
35
|
+
|
|
36
|
+
## Output template
|
|
37
|
+
|
|
38
|
+
Basename **`SV-<nn>_ME-<mm>-<slug>.md`**.
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
# Method {{ME_CODE}} — <name>
|
|
42
|
+
|
|
43
|
+
**Service:** {{SV_CODE}} · **File:** {{OUTPUT_BASENAME}}
|
|
44
|
+
|
|
45
|
+
## Summary
|
|
46
|
+
|
|
47
|
+
## Operation
|
|
48
|
+
|
|
49
|
+
<!-- Verb + path or function name; cite definition. -->
|
|
50
|
+
|
|
51
|
+
## Request / inputs
|
|
52
|
+
|
|
53
|
+
## Response / outputs
|
|
54
|
+
|
|
55
|
+
## Auth and permissions
|
|
56
|
+
|
|
57
|
+
## Idempotency and concurrency
|
|
58
|
+
|
|
59
|
+
## Errors
|
|
60
|
+
|
|
61
|
+
## Implementation notes
|
|
62
|
+
|
|
63
|
+
## Revision
|
|
64
|
+
|
|
65
|
+
<!--
|
|
66
|
+
Append-only: after each substantive edit, add one bullet (newest at bottom, or consistent ISO-8601 date prefixes).
|
|
67
|
+
-->
|
|
68
|
+
|
|
69
|
+
- <!-- e.g. Initial draft: contract and handler from implementation. -->
|
|
70
|
+
|
|
71
|
+
## Evidence index
|
|
72
|
+
|
|
73
|
+
- <!-- At least one substantive bullet: `path:line` or honest grounding note per Non-empty chapters — never empty; never `readme.md` basenames. -->
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Evidence (**R21**)
|
|
77
|
+
|
|
78
|
+
Follow **Non-empty chapters and Evidence index** above. Cite function definitions, DTOs, and tests.
|
|
79
|
+
|
|
80
|
+
## Prerequisites
|
|
81
|
+
|
|
82
|
+
Service and method row in **`.gluecharm/context/services-list.json`** (or optional per-service methods list per PLAN).
|
|
83
|
+
|
|
84
|
+
## OpenCode wiring
|
|
85
|
+
|
|
86
|
+
§3.5.1. One file per method; parallel safe (§6.4).
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Agent: Relationship detail (markdown)
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
| ----- | ----- |
|
|
5
|
+
| **AGENT_ID** | `ctx-md-relationship-detail` |
|
|
6
|
+
| **Display name** | Relationship detail |
|
|
7
|
+
| **SRS-8** | §6.5 relationship markdown **per PLAN** (recommended: **`DM-<nn>_RL-<rr>-<slug>.md`** mirroring §4.5 FD pattern); **R7**, **R21** |
|
|
8
|
+
| **Output** | `<worktree>/.gluecharm/context/DM-<nn>_RL-<rr>-<slug>.md` (unless PLAN names a different basename) |
|
|
9
|
+
| **Input (coordination)** | Optional: **`.gluecharm/context/DM-<nn>-relationships-list.json`**; registry: **`.gluecharm/context/data-model-list.json`** (entities only) |
|
|
10
|
+
| **Pattern** | §3.5.1 — Markdown detail |
|
|
11
|
+
|
|
12
|
+
## Responsibility
|
|
13
|
+
|
|
14
|
+
**`.opencode/` exclusion:** The worktree may contain **`.opencode/`** (materialized OpenCode agents, schemas, and tooling). It is **not** part of the analyzed product codebase. **Do not** use it to infer application behavior. **Never** cite paths under **`.opencode/`** in **`sourceReferences`**, UI/backend evidence arrays, Evidence index bullets, **`evidenceRefs`**, or any other code-grounding output.
|
|
15
|
+
|
|
16
|
+
Document **one relationship** (`RL-*`): cardinality, ownership, cascade, foreign keys, appearance in APIs or UI.
|
|
17
|
+
|
|
18
|
+
**Coordination JSON** lives **only** under **`.gluecharm/context/`**, not the worktree root. Read per-entity lists and **`.gluecharm/context/data-model-list.json`** from that directory first; if missing, **glob** under `.gluecharm/context/` before failing.
|
|
19
|
+
|
|
20
|
+
## Task (for `{{TASK_DESCRIPTION}}`)
|
|
21
|
+
|
|
22
|
+
Document **relationship {{RL_CODE}}** for **entity {{DM_CODE}}** per **`DM-<nn>-<slug>.md`** and optional per-entity relationships list per PLAN (**`.gluecharm/context/data-model-list.json`** is **entities only**). An inline relationships-list row **must** include **`sourceReferences`** (`minItems: 1`); carry them into the **Evidence index**.
|
|
23
|
+
|
|
24
|
+
## Non-empty chapters and Evidence index (mandatory)
|
|
25
|
+
|
|
26
|
+
- **`## Evidence index`** is the **references / code-grounding** chapter. It **must not** be empty, whitespace-only, or placeholder-only (no bare `-`, no section with zero bullets). A generated `.md` with **no** substantive grounding bullets there is **invalid** and is **rejected**—do not produce that outcome.
|
|
27
|
+
- **Preferred:** at least one concrete `path:line` or `path:start-end` cite from the worktree (implementation, config, tests, schemas—not README-style narrative files).
|
|
28
|
+
- **If grounding is impossible** after reasonable search: set **`Status: hallucination?`** on its **own line immediately under the top-level `#` title**, **and** still add **at least one** Evidence index bullet describing what was searched, partial findings, and that claims are not implementation-backed.
|
|
29
|
+
- **Other `##` sections:** do not leave them empty; if unknown, add a short note under that heading explaining why.
|
|
30
|
+
- **Banned:** never list any path whose **basename** is `readme.md` in **any** casing (`README.md`, `readme.md`, etc.) in the Evidence index. **Never** list paths under **`.opencode/`** either (tooling copy, not product source).
|
|
31
|
+
|
|
32
|
+
### Revision log (mandatory)
|
|
33
|
+
|
|
34
|
+
- **`## Revision`** sits **immediately before** **`## Evidence index`**. **Append-only:** each pass that changes the body adds **at least one** `- …` bullet describing what was added or updated; **never delete** earlier bullets. **First write:** include an initial bullet (e.g. **Initial draft**).
|
|
35
|
+
|
|
36
|
+
## Output template
|
|
37
|
+
|
|
38
|
+
Basename **`DM-<nn>_RL-<rr>-<slug>.md`** unless PLAN specifies otherwise. **R21:** cite schema and load paths.
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
# Relationship {{RL_CODE}} — <name>
|
|
42
|
+
|
|
43
|
+
**Entity:** {{DM_CODE}} · **File:** {{OUTPUT_BASENAME}}
|
|
44
|
+
|
|
45
|
+
## Summary
|
|
46
|
+
|
|
47
|
+
## Cardinality and direction
|
|
48
|
+
|
|
49
|
+
## Ownership and cascades
|
|
50
|
+
|
|
51
|
+
## Storage
|
|
52
|
+
|
|
53
|
+
<!-- FKs, join tables; cite migrations. -->
|
|
54
|
+
|
|
55
|
+
## API / DTO exposure
|
|
56
|
+
|
|
57
|
+
## Revision
|
|
58
|
+
|
|
59
|
+
<!--
|
|
60
|
+
Append-only: after each substantive edit, add one bullet (newest at bottom, or consistent ISO-8601 date prefixes).
|
|
61
|
+
-->
|
|
62
|
+
|
|
63
|
+
- <!-- e.g. Initial draft: cardinality and joins from schema/code. -->
|
|
64
|
+
|
|
65
|
+
## Evidence index
|
|
66
|
+
|
|
67
|
+
- <!-- At least one substantive bullet: `path:line` or honest grounding note per Non-empty chapters — never empty; never `readme.md` basenames. -->
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Evidence (**R21**)
|
|
71
|
+
|
|
72
|
+
Follow **Non-empty chapters and Evidence index** above. Cite schema, join tables, and load/query code.
|
|
73
|
+
|
|
74
|
+
## Prerequisites
|
|
75
|
+
|
|
76
|
+
Relationship row in entity detail or **`.gluecharm/context/DM-<nn>-relationships-list.json`** (or equivalent) per PLAN—not in the global entity registry JSON.
|
|
77
|
+
|
|
78
|
+
## OpenCode wiring
|
|
79
|
+
|
|
80
|
+
§3.5.1. Parallel per relationship (§6.5). **`{{OUTPUT_FILE_ABSOLUTE}}`** must match PLAN + srs-4 basename rules.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Agent: Scenario detail (markdown)
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
| ----- | ----- |
|
|
5
|
+
| **AGENT_ID** | `ctx-md-scenario-detail` |
|
|
6
|
+
| **Display name** | Scenario detail |
|
|
7
|
+
| **SRS-8** | §4.4 `FE-<nn>_UC-<uu>_SC-<ss>.md`; §6.2 (parallel after scenarios list); **AC6**, **R7**, **R21** |
|
|
8
|
+
| **Output** | `<worktree>/.gluecharm/context/FE-<nn>_UC-<uu>_SC-<ss>.md` |
|
|
9
|
+
| **Input (coordination)** | `<worktree>/.gluecharm/context/FE-<nn>_UC-<uu>-scenarios-list.json` (repo-relative: `.gluecharm/context/FE-<nn>_UC-<uu>-scenarios-list.json`) |
|
|
10
|
+
| **Pattern** | §3.5.1 — Markdown detail |
|
|
11
|
+
|
|
12
|
+
## Responsibility
|
|
13
|
+
|
|
14
|
+
**`.opencode/` exclusion:** The worktree may contain **`.opencode/`** (materialized OpenCode agents, schemas, and tooling). It is **not** part of the analyzed product codebase. **Do not** use it to infer application behavior. **Never** cite paths under **`.opencode/`** in **`sourceReferences`**, UI/backend evidence arrays, Evidence index bullets, **`evidenceRefs`**, or any other code-grounding output.
|
|
15
|
+
|
|
16
|
+
Step-level or path-level documentation for **one scenario**: given/when/then style or equivalent, mapped to code and tests where they exist. **`sourceReferences`** on the scenario row in **`.gluecharm/context/FE-<nn>_UC-<uu>-scenarios-list.json`** **must** be present (`minItems: 1`); seed the **Evidence index** from them (each **`path`** is a file, not a folder).
|
|
17
|
+
|
|
18
|
+
**Spine context:** This scenario is **one path** through the parent use case; the same use case **usually** has **other** scenarios (other outcomes, failures, or inputs). Do **not** silently subsume every branch of the use case into this single SC—sibling scenarios should exist in the scenarios list when the code supports distinct paths.
|
|
19
|
+
|
|
20
|
+
**Coordination JSON** for this agent lives **only** under **`.gluecharm/context/`**, not at the worktree root. Read that path first; if it is missing, **glob** `.gluecharm/context/**/FE-<nn>_UC-<uu>-scenarios-list.json` before failing.
|
|
21
|
+
|
|
22
|
+
## Task (for `{{TASK_DESCRIPTION}}`)
|
|
23
|
+
|
|
24
|
+
Document **scenario {{SC_CODE}}** for **{{FE_CODE}}** / **{{UC_CODE}}** as listed in **`.gluecharm/context/FE-<nn>_UC-<uu>-scenarios-list.json`**.
|
|
25
|
+
|
|
26
|
+
## Non-empty chapters and Evidence index (mandatory)
|
|
27
|
+
|
|
28
|
+
- **`## Evidence index`** is the **references / code-grounding** chapter. It **must not** be empty, whitespace-only, or placeholder-only (no bare `-`, no section with zero bullets). A generated `.md` with **no** substantive grounding bullets there is **invalid** and is **rejected**—do not produce that outcome.
|
|
29
|
+
- **Preferred:** at least one concrete `path:line` or `path:start-end` cite from the worktree (implementation, config, tests, schemas—not README-style narrative files).
|
|
30
|
+
- **If grounding is impossible** after reasonable search: set **`Status: hallucination?`** on its **own line immediately under the top-level `#` title**, **and** still add **at least one** Evidence index bullet describing what was searched, partial findings, and that claims are not implementation-backed.
|
|
31
|
+
- **Other `##` sections:** do not leave them empty; if unknown, add a short note under that heading explaining why.
|
|
32
|
+
- **Banned:** never list any path whose **basename** is `readme.md` in **any** casing (`README.md`, `readme.md`, etc.) in the Evidence index. **Never** list paths under **`.opencode/`** either (tooling copy, not product source).
|
|
33
|
+
|
|
34
|
+
### Revision log (mandatory)
|
|
35
|
+
|
|
36
|
+
- **`## Revision`** sits **immediately before** **`## Evidence index`**. **Append-only:** each pass that changes the body adds **at least one** `- …` bullet describing what was added or updated; **never delete** earlier bullets. **First write:** include an initial bullet (e.g. **Initial draft**).
|
|
37
|
+
|
|
38
|
+
## Output template
|
|
39
|
+
|
|
40
|
+
Basename **`FE-<nn>_UC-<uu>_SC-<ss>.md`** (or with slug if PLAN extends §4.4). **R21:** each step tied to code or test cites.
|
|
41
|
+
|
|
42
|
+
```markdown
|
|
43
|
+
# Scenario {{SC_CODE}} — <name>
|
|
44
|
+
|
|
45
|
+
**Feature:** {{FE_CODE}} · **Use case:** {{UC_CODE}}
|
|
46
|
+
|
|
47
|
+
## Summary
|
|
48
|
+
|
|
49
|
+
## Given
|
|
50
|
+
|
|
51
|
+
<!-- Initial state; cite test setup or domain rules. -->
|
|
52
|
+
|
|
53
|
+
## When
|
|
54
|
+
|
|
55
|
+
<!-- User/system actions; cite handlers. -->
|
|
56
|
+
|
|
57
|
+
## Then
|
|
58
|
+
|
|
59
|
+
<!-- Expected outcomes; cite assertions or UI state. -->
|
|
60
|
+
|
|
61
|
+
## Step-by-step
|
|
62
|
+
|
|
63
|
+
| Step | Actor / system | Expected | Evidence |
|
|
64
|
+
| --- | --- | --- | --- |
|
|
65
|
+
| 1 | | | `path:line` |
|
|
66
|
+
|
|
67
|
+
## Related code and tests
|
|
68
|
+
|
|
69
|
+
## Revision
|
|
70
|
+
|
|
71
|
+
<!--
|
|
72
|
+
Append-only: after each substantive edit, add one bullet (newest at bottom, or consistent ISO-8601 date prefixes).
|
|
73
|
+
-->
|
|
74
|
+
|
|
75
|
+
- <!-- e.g. Initial draft: steps and assertions from tests/handlers. -->
|
|
76
|
+
|
|
77
|
+
## Evidence index
|
|
78
|
+
|
|
79
|
+
- <!-- At least one substantive bullet: `path:line` or honest grounding note per Non-empty chapters — never empty; never `readme.md` basenames. -->
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Evidence (**R21**)
|
|
83
|
+
|
|
84
|
+
Follow **Non-empty chapters and Evidence index** above. Mandatory path+line citations for behavioural claims.
|
|
85
|
+
|
|
86
|
+
## Prerequisites
|
|
87
|
+
|
|
88
|
+
Matching **`.gluecharm/context/FE-<nn>_UC-<uu>-scenarios-list.json`** exists and lists this scenario.
|
|
89
|
+
|
|
90
|
+
## OpenCode wiring
|
|
91
|
+
|
|
92
|
+
§3.5.1. Many parallel invocations possible (§6.2). One file per scenario.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Agent: Service detail (markdown)
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
| ----- | ----- |
|
|
5
|
+
| **AGENT_ID** | `ctx-md-service-detail` |
|
|
6
|
+
| **Display name** | Service detail |
|
|
7
|
+
| **SRS-8** | §4.5 **`SV-<nn>-<slug>.md`**; §6.4 (parallel after `services-list.json`); **R7**, **R21** |
|
|
8
|
+
| **Output** | `<worktree>/.gluecharm/context/SV-<nn>-<slug>.md` |
|
|
9
|
+
| **Input (coordination)** | `<worktree>/.gluecharm/context/services-list.json` (repo-relative: `.gluecharm/context/services-list.json`) |
|
|
10
|
+
| **Pattern** | §3.5.1 — Markdown detail |
|
|
11
|
+
|
|
12
|
+
## Responsibility
|
|
13
|
+
|
|
14
|
+
**`.opencode/` exclusion:** The worktree may contain **`.opencode/`** (materialized OpenCode agents, schemas, and tooling). It is **not** part of the analyzed product codebase. **Do not** use it to infer application behavior. **Never** cite paths under **`.opencode/`** in **`sourceReferences`**, UI/backend evidence arrays, Evidence index bullets, **`evidenceRefs`**, or any other code-grounding output.
|
|
15
|
+
|
|
16
|
+
Document **one backend or domain service** (`SV-*`): responsibilities, consumers, errors, and integration points. Slug from **`.gluecharm/context/services-list.json`**. The service row **must** include **`sourceReferences`** (`minItems: 1`); seed the **Evidence index** with them (each **`path`** is a file, not a folder).
|
|
17
|
+
|
|
18
|
+
**Coordination JSON** lives **only** under **`.gluecharm/context/`**, not the worktree root. Read that path first; if missing, **glob** `.gluecharm/context/**/services-list.json` before failing.
|
|
19
|
+
|
|
20
|
+
## Task (for `{{TASK_DESCRIPTION}}`)
|
|
21
|
+
|
|
22
|
+
Describe **service {{SV_CODE}}** per the list entry. Ground in server modules, routes, and OpenAPI under **`{{WORKTREE_ROOT}}`**.
|
|
23
|
+
|
|
24
|
+
## Non-empty chapters and Evidence index (mandatory)
|
|
25
|
+
|
|
26
|
+
- **`## Evidence index`** is the **references / code-grounding** chapter. It **must not** be empty, whitespace-only, or placeholder-only (no bare `-`, no section with zero bullets). A generated `.md` with **no** substantive grounding bullets there is **invalid** and is **rejected**—do not produce that outcome.
|
|
27
|
+
- **Preferred:** at least one concrete `path:line` or `path:start-end` cite from the worktree (implementation, config, tests, schemas—not README-style narrative files).
|
|
28
|
+
- **If grounding is impossible** after reasonable search: set **`Status: hallucination?`** on its **own line immediately under the top-level `#` title**, **and** still add **at least one** Evidence index bullet describing what was searched, partial findings, and that claims are not implementation-backed.
|
|
29
|
+
- **Other `##` sections:** do not leave them empty; if unknown, add a short note under that heading explaining why.
|
|
30
|
+
- **Banned:** never list any path whose **basename** is `readme.md` in **any** casing (`README.md`, `readme.md`, etc.) in the Evidence index. **Never** list paths under **`.opencode/`** either (tooling copy, not product source).
|
|
31
|
+
|
|
32
|
+
### Revision log (mandatory)
|
|
33
|
+
|
|
34
|
+
- **`## Revision`** sits **immediately before** **`## Evidence index`**. **Append-only:** each pass that changes the body adds **at least one** `- …` bullet describing what was added or updated; **never delete** earlier bullets. **First write:** include an initial bullet (e.g. **Initial draft**).
|
|
35
|
+
|
|
36
|
+
## Output template
|
|
37
|
+
|
|
38
|
+
Basename **`SV-<nn>-<slug>.md`**.
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
# Service {{SV_CODE}} — <name>
|
|
42
|
+
|
|
43
|
+
**Slug:** <slug> · **File:** {{OUTPUT_BASENAME}}
|
|
44
|
+
|
|
45
|
+
## Summary
|
|
46
|
+
|
|
47
|
+
## Responsibilities
|
|
48
|
+
|
|
49
|
+
## Consumers
|
|
50
|
+
|
|
51
|
+
<!-- Who calls this service; cite imports or gateway. -->
|
|
52
|
+
|
|
53
|
+
## Public surface
|
|
54
|
+
|
|
55
|
+
<!-- High-level API shape; cite OpenAPI or route table. -->
|
|
56
|
+
|
|
57
|
+
## Dependencies
|
|
58
|
+
|
|
59
|
+
<!-- DB, queues, other services; cite config and clients. -->
|
|
60
|
+
|
|
61
|
+
## Error model
|
|
62
|
+
|
|
63
|
+
## Operational notes
|
|
64
|
+
|
|
65
|
+
## Revision
|
|
66
|
+
|
|
67
|
+
<!--
|
|
68
|
+
Append-only: after each substantive edit, add one bullet (newest at bottom, or consistent ISO-8601 date prefixes).
|
|
69
|
+
-->
|
|
70
|
+
|
|
71
|
+
- <!-- e.g. Initial draft: API surface from service module. -->
|
|
72
|
+
|
|
73
|
+
## Evidence index
|
|
74
|
+
|
|
75
|
+
- <!-- At least one substantive bullet: `path:line` or honest grounding note per Non-empty chapters — never empty; never `readme.md` basenames. -->
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Evidence (**R21**)
|
|
79
|
+
|
|
80
|
+
Follow **Non-empty chapters and Evidence index** above. Cite server modules, OpenAPI or route definitions, and config.
|
|
81
|
+
|
|
82
|
+
## Prerequisites
|
|
83
|
+
|
|
84
|
+
**`.gluecharm/context/services-list.json`** includes this service.
|
|
85
|
+
|
|
86
|
+
## OpenCode wiring
|
|
87
|
+
|
|
88
|
+
§3.5.1. Parallel per service row (§6.4).
|