@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,179 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: SRS-8 coordination JSON — writes per-feature use-cases list JSON under .gluecharm/context using file tools.
|
|
3
|
+
mode: primary
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Agent: Use cases list (per feature, coordination JSON)
|
|
7
|
+
|
|
8
|
+
| Field | Value |
|
|
9
|
+
| ----- | ----- |
|
|
10
|
+
| **AGENT_ID** | `ctx-list-use-cases` |
|
|
11
|
+
| **Display name** | Use cases list |
|
|
12
|
+
| **SRS-8** | §4.6 `FE-<nn>-use-cases-list.json`; §6.2; **AC5**, **R6**, **R22** |
|
|
13
|
+
| **Output** | `<worktree>/.gluecharm/context/FE-<nn>-use-cases-list.json` (one run per feature) |
|
|
14
|
+
| **Pattern** | §3.5.2 — JSON list + **`{{PARENT_CONTEXT_BLOCK}}`** with **`FE_CODE`** |
|
|
15
|
+
|
|
16
|
+
## Responsibility
|
|
17
|
+
|
|
18
|
+
**`.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.
|
|
19
|
+
|
|
20
|
+
For a **single feature** already fixed in `features-list.json`, emit all **use cases** (`UC-*`) with stable codes and names. Barrier for use-case detail markdown and **`FE-<nn>_UC-<uu>-scenarios-list.json`** (§6.2).
|
|
21
|
+
|
|
22
|
+
**Cardinality:** For any non-trivial feature, **one use case is usually too few**. Real capabilities almost always decompose into **several** distinct goals or journeys (different actors, entrypoints, commands, APIs, or outcomes). Treat a single-UC list as a **red flag**: look again for separate flows you collapsed into one umbrella. Reserve a lone UC for **genuinely atomic** features (one narrow operation with no meaningful variants).
|
|
23
|
+
|
|
24
|
+
## Revision
|
|
25
|
+
|
|
26
|
+
Coordination output is **JSON** (no markdown `##` headings in the artifact). Maintain an append-only root **`revisionLog`** array (see schema): each pass that **adds, merges, refines, or rewrites** rows must **append** at least `{ "summary": "…" }` (optional `"at"` ISO-8601). **Never delete** prior `revisionLog` entries. Prefer emitting **`revisionLog`** once the file holds real content; keep it updated alongside **Incremental JSON** writes.
|
|
27
|
+
|
|
28
|
+
## Task (for `{{LIST_TASK_DESCRIPTION}}`)
|
|
29
|
+
|
|
30
|
+
Enumerate goals or user journeys that belong to **feature {{FE_CODE}}** only. Do not change the feature code. Aim for **multiple** use cases whenever the codebase exposes more than one coherent goal or path under this feature (see **Cardinality** under Responsibility). Each use case row **must** include **`sourceReferences`** with **`minItems: 1`** (`path`, `startLine`, `endLine`, optional `note`). **`path`** must be a **single file** (never a directory); use multiple objects for multiple files under a folder.
|
|
31
|
+
|
|
32
|
+
## JSON Schema (Draft 2020-12)
|
|
33
|
+
|
|
34
|
+
**Bundled file:** `resources/schemas/context-lists/use-cases-list.schema.json`
|
|
35
|
+
**Materialized (`{{LIST_SCHEMA_REF}}` example):** `<worktree>/.opencode/schemas/context-lists/use-cases-list.schema.json`
|
|
36
|
+
|
|
37
|
+
**Output filename:** `FE-<nn>-use-cases-list.json` must match **`featureCode`** (e.g. `FE-01` → `FE-01-use-cases-list.json`).
|
|
38
|
+
|
|
39
|
+
Emit **only** JSON that validates against this schema:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
44
|
+
"$id": "https://easyspecs.ai/schemas/context-lists/use-cases-list.schema.json",
|
|
45
|
+
"title": "FE-nn-use-cases-list",
|
|
46
|
+
"$defs": {
|
|
47
|
+
"sourceReference": {
|
|
48
|
+
"type": "object",
|
|
49
|
+
"additionalProperties": false,
|
|
50
|
+
"required": ["path", "startLine", "endLine"],
|
|
51
|
+
"properties": {
|
|
52
|
+
"path": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"minLength": 1,
|
|
55
|
+
"pattern": "^[^/]+(/[^/]+)*$",
|
|
56
|
+
"description": "Repo-relative path to a single file (forward slashes). Not a directory: no trailing slash; list each file in a folder as its own sourceReferences entry."
|
|
57
|
+
},
|
|
58
|
+
"startLine": {
|
|
59
|
+
"type": "integer",
|
|
60
|
+
"minimum": 1,
|
|
61
|
+
"description": "1-based inclusive start line."
|
|
62
|
+
},
|
|
63
|
+
"endLine": {
|
|
64
|
+
"type": "integer",
|
|
65
|
+
"minimum": 1,
|
|
66
|
+
"description": "1-based inclusive end line; should be >= startLine."
|
|
67
|
+
},
|
|
68
|
+
"note": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "Optional short label for this evidence span."
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"sourceReferenceList": {
|
|
75
|
+
"type": "array",
|
|
76
|
+
"description": "Evidence spans: each item references one file + line range, never a folder path.",
|
|
77
|
+
"items": { "$ref": "#/$defs/sourceReference" }
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"type": "object",
|
|
81
|
+
"additionalProperties": false,
|
|
82
|
+
"required": ["featureCode", "useCases"],
|
|
83
|
+
"properties": {
|
|
84
|
+
"kind": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"const": "easyspecs.use-cases-list",
|
|
87
|
+
"description": "Optional coordination document id; when present must be this value."
|
|
88
|
+
},
|
|
89
|
+
"version": {
|
|
90
|
+
"type": "integer",
|
|
91
|
+
"minimum": 1,
|
|
92
|
+
"description": "Optional coordination format version when present."
|
|
93
|
+
},
|
|
94
|
+
"featureCode": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"pattern": "^FE-[0-9]+$",
|
|
97
|
+
"description": "Feature code from features-list.json."
|
|
98
|
+
},
|
|
99
|
+
"useCases": {
|
|
100
|
+
"type": "array",
|
|
101
|
+
"items": {
|
|
102
|
+
"type": "object",
|
|
103
|
+
"additionalProperties": true,
|
|
104
|
+
"required": ["code", "name", "sourceReferences"],
|
|
105
|
+
"properties": {
|
|
106
|
+
"code": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"pattern": "^UC-[0-9]+$"
|
|
109
|
+
},
|
|
110
|
+
"name": { "type": "string", "minLength": 1 },
|
|
111
|
+
"slug": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
|
|
114
|
+
"description": "Optional; for FE-nn_UC-uu-<slug>.md if PLAN uses slugs on use cases."
|
|
115
|
+
},
|
|
116
|
+
"description": { "type": "string" },
|
|
117
|
+
"order": { "type": "integer" },
|
|
118
|
+
"sourceReferences": {
|
|
119
|
+
"type": "array",
|
|
120
|
+
"minItems": 1,
|
|
121
|
+
"description": "Required: at least one file + line range per use case row.",
|
|
122
|
+
"items": { "$ref": "#/$defs/sourceReference" }
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
"revisionLog": {
|
|
128
|
+
"type": "array",
|
|
129
|
+
"description": "Append-only log of substantive edits; add an entry whenever this pass changes rows, merges, or refines the coordination file.",
|
|
130
|
+
"items": {
|
|
131
|
+
"type": "object",
|
|
132
|
+
"additionalProperties": false,
|
|
133
|
+
"required": ["summary"],
|
|
134
|
+
"properties": {
|
|
135
|
+
"at": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"description": "ISO-8601 timestamp when known."
|
|
138
|
+
},
|
|
139
|
+
"summary": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"minLength": 1,
|
|
142
|
+
"maxLength": 2000,
|
|
143
|
+
"description": "What was added, changed, or refined in this write."
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Example instance:**
|
|
153
|
+
|
|
154
|
+
```json
|
|
155
|
+
{
|
|
156
|
+
"featureCode": "FE-01",
|
|
157
|
+
"useCases": [
|
|
158
|
+
{
|
|
159
|
+
"code": "UC-01",
|
|
160
|
+
"name": "Sign in with password",
|
|
161
|
+
"order": 1,
|
|
162
|
+
"sourceReferences": [
|
|
163
|
+
{ "path": "src/auth/handlers.ts", "startLine": 40, "endLine": 90, "note": "password sign-in" }
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
"revisionLog": [
|
|
168
|
+
{ "summary": "Initial use-case list for feature; extend this array on every substantive merge or refinement pass." }
|
|
169
|
+
]
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Prerequisites
|
|
174
|
+
|
|
175
|
+
Valid **`features-list.json`**; orchestration passes **`{{FE_CODE}}`** in the parent context block.
|
|
176
|
+
|
|
177
|
+
## OpenCode wiring
|
|
178
|
+
|
|
179
|
+
One JSON file per feature invocation. §3.5.2 with **`{{PARENT_CONTEXT_BLOCK}}`**.
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Agent: Architecture (markdown detail)
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
| ----- | ----- |
|
|
5
|
+
| **AGENT_ID** | `ctx-md-architecture` |
|
|
6
|
+
| **Display name** | Architecture narrative |
|
|
7
|
+
| **SRS-8** | §4.2 `architecture.md`; §6.1 (parallel with global lists); **R7**, **R21** |
|
|
8
|
+
| **Output** | `<worktree>/.gluecharm/context/architecture.md` |
|
|
9
|
+
| **Pattern** | §3.5.1 — Markdown detail |
|
|
10
|
+
|
|
11
|
+
## Responsibility
|
|
12
|
+
|
|
13
|
+
**`.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.
|
|
14
|
+
|
|
15
|
+
Produce **application-wide** architecture narrative: components, boundaries, data flow, integrations, deployment view as appropriate. This is **not** the canonical feature list (that is `features-list.json`, §4.6).
|
|
16
|
+
|
|
17
|
+
**Mermaid is mandatory:** **`architecture.md` must contain at least one** fenced **Mermaid** diagram that reflects the real structure or behaviour of this codebase (not placeholder boxes). You **should** add **further** Mermaid diagrams wherever they improve clarity—e.g. separate views for **context vs internal components**, **request/sequence** paths, **state**, or **deployment**—without duplicating the same graph verbatim. **Target runtime:** **[MERMAID.md](./MERMAID.md)** — **Mermaid 11.13**, **neutral** theme (first line inside each fence: `%%{init: {'theme':'neutral'}}%%`).
|
|
18
|
+
|
|
19
|
+
## Task (for `{{TASK_DESCRIPTION}}`)
|
|
20
|
+
|
|
21
|
+
Document how the system is structured and how major parts interact, grounded in the repository under **`{{WORKTREE_ROOT}}`**.
|
|
22
|
+
|
|
23
|
+
1. **Survey** entrypoints, packages, `src/` layout, configs, and integration boundaries so diagrams and prose match reality.
|
|
24
|
+
2. **Include `## Architecture diagrams (Mermaid)`** (see template) with **at least one** valid `mermaid` fenced block—typically a **component** or **system-context** view as **`flowchart`** / **`graph`** (layered boxes and edges that *read* like C4 are fine; **do not** use Mermaid **`C4Component`** or any other **`C4*`** diagram declaration—see **[MERMAID.md](./MERMAID.md)**). Prefer **node labels** that map to real modules, services, or deployable units.
|
|
25
|
+
3. **Add more diagrams** in that section or next to relevant headings (**Data flow**, **Context and boundaries**, etc.) when useful: e.g. `sequenceDiagram` for a critical path, `flowchart` for pipeline/steps, second graph for external dependencies. Each diagram should earn its place (no decorative noise).
|
|
26
|
+
4. Give each diagram a **short title** (heading or bold line above the fence) so readers can scan the doc.
|
|
27
|
+
5. **R21:** support diagram claims with **Evidence index** cites to the files that justify nodes and edges.
|
|
28
|
+
6. When applicable, fill **`## What kind of UI this is`** per **What kind of UI this is (when applicable)** below (table + non-UI callouts); otherwise omit or one line — never leave that heading empty without explanation.
|
|
29
|
+
|
|
30
|
+
## What kind of UI this is (when applicable)
|
|
31
|
+
|
|
32
|
+
When the codebase has an **operator or end-user UI** (not API-only or headless-only), add **`## What kind of UI this is`** to the generated `architecture.md`. Use a **compact table** so readers immediately see platform, framework, visual language, whether the product is one surface or many apps, and how UI ties to data if that matters. **Ground every row in Evidence index** cites (forms, project files, framework imports). If there is **no** meaningful UI, **omit** this section or use a single honest line under the heading (e.g. no operator UI; CLI/service only).
|
|
33
|
+
|
|
34
|
+
**Example** (shape and level of detail — **replace** with what the repo actually is; the rows below illustrate a classic Windows desktop / Delphi VCL operations suite):
|
|
35
|
+
|
|
36
|
+
| Aspect | Description |
|
|
37
|
+
|--------|-------------|
|
|
38
|
+
| **Platform** | Windows desktop (native Win32-style controls) |
|
|
39
|
+
| **Framework** | Embarcadero **Delphi VCL** (`TForm`, `TPanel`, `TTabSheet`, `TMainMenu`, etc.) |
|
|
40
|
+
| **Visual style** | Classic “business / operations” look: **MS Sans Serif** / **Microsoft Sans Serif**, `clBtnFace` backgrounds, raised/lowered panel bevels, **tabbed notebooks** and **data grids** |
|
|
41
|
+
| **Architecture** | Several **separate executables** (`.dpr`), each with its own windows — not a single web SPA |
|
|
42
|
+
| **Data binding** | Grids such as `TOrderDBGrid` tie to **data sources** (`TDataSource`) backed by the SQL Server database |
|
|
43
|
+
|
|
44
|
+
**Non-UI components:** Call out things that are **not** operator screens when they share the same repo — e.g. Windows **services** (`ReceptorSvc`, `ExportadorSvc`) that ship `.dfm` files for **service data modules**, not forms for users; **“No Service”** variants as small **program** windows that often **minimize to the system tray**. Adapt names and patterns to the actual codebase.
|
|
45
|
+
|
|
46
|
+
## Non-empty chapters and Evidence index (mandatory)
|
|
47
|
+
|
|
48
|
+
- **`## 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.
|
|
49
|
+
- **Preferred:** at least one concrete `path:line` or `path:start-end` cite from the worktree (implementation, config, tests, schemas—not README-style narrative files).
|
|
50
|
+
- **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.
|
|
51
|
+
- **Other `##` sections:** do not leave them empty; if unknown, add a short note under that heading explaining why.
|
|
52
|
+
- **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).
|
|
53
|
+
|
|
54
|
+
### Revision log (mandatory)
|
|
55
|
+
|
|
56
|
+
- **`## 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**).
|
|
57
|
+
|
|
58
|
+
## Output template
|
|
59
|
+
|
|
60
|
+
Write **exactly** the content for **`{{OUTPUT_FILE_ABSOLUTE}}`** using this skeleton. Replace prose; keep headings unless PLAN overrides. **R21:** every substantive statement in the body sections must appear again in **Evidence index** with `path:line` or `path:start-end`, or as *(inference)* with the strongest supporting cite (`{{CITATION_FORMAT_EXAMPLE}}`).
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
# Application architecture
|
|
64
|
+
|
|
65
|
+
**Repository root (analysis):** {{WORKTREE_ROOT}}
|
|
66
|
+
|
|
67
|
+
## Summary
|
|
68
|
+
|
|
69
|
+
<!-- One short paragraph; cite high-level entry points. -->
|
|
70
|
+
|
|
71
|
+
## What kind of UI this is
|
|
72
|
+
|
|
73
|
+
<!--
|
|
74
|
+
When applicable only: table (Platform, Framework, Visual style, Architecture, Data binding, etc.).
|
|
75
|
+
Note non-UI pieces (services, data-module .dfm, tray/minimize behaviour) vs operator screens.
|
|
76
|
+
Omit this section or one honest line if there is no UI. Evidence index must support each row.
|
|
77
|
+
-->
|
|
78
|
+
|
|
79
|
+
## Architecture diagrams (Mermaid)
|
|
80
|
+
|
|
81
|
+
<!--
|
|
82
|
+
MANDATORY: at least one fenced code block with language "mermaid" below this heading.
|
|
83
|
+
First line inside each fence: %%{init: {'theme':'neutral'}}%% (see MERMAID.md — Mermaid 11.13, neutral theme).
|
|
84
|
+
Recommended coverage (use what fits the repo — add more blocks in this section or under other ## headings as needed):
|
|
85
|
+
- System / context: major actors, external systems, this app boundary (flowchart or graph).
|
|
86
|
+
- Components: internal subsystems and dependencies (graph or flowchart).
|
|
87
|
+
- Data or control flow: sequenceDiagram or flowchart for a representative request, job, or event path.
|
|
88
|
+
Each diagram: short title (### or bold line), then the fence, then optional one-line caption.
|
|
89
|
+
Add extra diagrams when they clarify; avoid redundant copies of the same structure.
|
|
90
|
+
-->
|
|
91
|
+
|
|
92
|
+
### <!-- e.g. System context -->
|
|
93
|
+
|
|
94
|
+
<!-- Open fence with language tag mermaid; first line %%{init: {'theme':'neutral'}}%% then diagram body; close fence. -->
|
|
95
|
+
|
|
96
|
+
### <!-- Optional: further diagrams — e.g. Internal components, Request sequence, Deployment -->
|
|
97
|
+
|
|
98
|
+
## Context and boundaries
|
|
99
|
+
|
|
100
|
+
<!-- Runtime, deployment units, external systems; cite configs and docs. You may add another Mermaid block here if it fits better than the main diagrams section. -->
|
|
101
|
+
|
|
102
|
+
## Major components
|
|
103
|
+
|
|
104
|
+
<!-- Subsystems, apps, packages; cite module layout. -->
|
|
105
|
+
|
|
106
|
+
## Data flow
|
|
107
|
+
|
|
108
|
+
<!-- Request/response, events, persistence; cite pipelines. A sequenceDiagram or flowchart here is encouraged when non-trivial. -->
|
|
109
|
+
|
|
110
|
+
## Cross-cutting concerns
|
|
111
|
+
|
|
112
|
+
<!-- Auth, logging, i18n, etc.; cite shared modules. -->
|
|
113
|
+
|
|
114
|
+
## Risks and gaps
|
|
115
|
+
|
|
116
|
+
<!-- Explicit unknowns; still cite whatever partial evidence exists or mark inference. -->
|
|
117
|
+
|
|
118
|
+
## Revision
|
|
119
|
+
|
|
120
|
+
<!--
|
|
121
|
+
Append-only: after each substantive edit, add one bullet (newest at bottom, or consistent ISO-8601 date prefixes).
|
|
122
|
+
-->
|
|
123
|
+
|
|
124
|
+
- <!-- e.g. Initial draft: diagrams and narrative from src/ and configs. -->
|
|
125
|
+
|
|
126
|
+
## Evidence index
|
|
127
|
+
|
|
128
|
+
- <!-- claim → `src/...:42` -->
|
|
129
|
+
- <!-- diagram edge "A→B" grounded → `src/...:10-18` -->
|
|
130
|
+
- <!-- *(inference)* … → `src/...:10-18` -->
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Evidence (**R21**)
|
|
134
|
+
|
|
135
|
+
Follow **Non-empty chapters and Evidence index** above. Every substantive claim must cite **`path:line`** or **`path:start-end`** per **`{{CITATION_FORMAT_EXAMPLE}}`**. Label inference explicitly. **Architecture diagrams:** tie major nodes and relationships to **Evidence index** entries (same file may support multiple diagram elements).
|
|
136
|
+
|
|
137
|
+
## OpenCode wiring
|
|
138
|
+
|
|
139
|
+
§3.5.1. Exactly **one** output file at **`{{OUTPUT_FILE_ABSOLUTE}}`**. Do not write coordination list JSON or `index-application-context.json`.
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Agent: Repository project overview (`project.md` in context)
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
| ----- | ----- |
|
|
5
|
+
| **AGENT_ID** | `ctx-md-docs-project` |
|
|
6
|
+
| **Display name** | Docs — project overview |
|
|
7
|
+
| **SRS-8** | Markdown detail under **`.gluecharm/context/`** (same folder as `architecture.md`); **R7** / **R21** apply. |
|
|
8
|
+
| **Output** | `<worktree>/.gluecharm/context/project.md` |
|
|
9
|
+
| **Pattern** | §3.5.1 — Markdown detail |
|
|
10
|
+
|
|
11
|
+
## Responsibility
|
|
12
|
+
|
|
13
|
+
**`.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.
|
|
14
|
+
|
|
15
|
+
Produce or refresh **`project.md`**: a **single entry-point document** for humans that explains **what this repository is for**, its **overall goal**, a **concise upfront summary**, **illustrative** capabilities and use cases (not exhaustive), how it behaves at a high level, how to run and build it, and where deeper docs live. It complements **`architecture.md`** in the same directory (architecture = structure and flows; **project** = product/repo handbook).
|
|
16
|
+
|
|
17
|
+
**Incremental delivery:** Treat **`{{OUTPUT_FILE_ABSOLUTE}}`** as a **living document**. **Survey the whole worktree** (top-level folders and important subtrees: `src/`, `resources/`, `test(s)/`, `docs/`, `.github/`, config roots, etc.) and **open representative files** until you have a grounded picture; on **each** pass that changes the file, **append** to **`## Revision`** (see template) **at least one** new line stating **what** you added or changed. Do not drop prior revision lines when you rewrite the file.
|
|
18
|
+
|
|
19
|
+
**Clarity over rigidity:** You **may** add **extra `##` or `###` chapters** anywhere in the body (before **`## Revision`**) when they help explain the repository—e.g. key workflows, CLI vs UI surfaces, analysis pipeline, deployment path, domain concepts. You **may** embed **Mermaid** diagrams in standard fenced **` ```mermaid `** blocks to illustrate flows, component relationships, or state; follow **[MERMAID.md](./MERMAID.md)** (**Mermaid 11.13**, **neutral** theme). Keep diagrams **grounded in the codebase**, **legible** (avoid huge graphs), and mention new diagrams or sections in **`## Revision`**.
|
|
20
|
+
|
|
21
|
+
Target audience: contributors, release engineers, and context consumers that read the analysis worktree.
|
|
22
|
+
|
|
23
|
+
## Task (for `{{TASK_DESCRIPTION}}`)
|
|
24
|
+
|
|
25
|
+
Analyse **`{{WORKTREE_ROOT}}`** systematically: **map directories and files** (list roots, then drill into areas that define behaviour), and read **`README`**, **`package.json`** / manifests, **`src/`** entrypoints, **`docs/`**, SRS under **`.gluecharm/docs/`** when present, plus any other paths that clarify product intent. **If `project.md` already exists**, read it first; **preserve and extend** **`## Revision`** (append new entries; never delete history). Improve content **incrementally**—you may do multiple read→edit→write cycles in one run: after **each** write, the on-disk file must include **all** previous revision bullets **plus** new line(s) for that step.
|
|
26
|
+
|
|
27
|
+
Write **`{{OUTPUT_FILE_ABSOLUTE}}`** = `<worktree>/.gluecharm/context/project.md`.
|
|
28
|
+
|
|
29
|
+
**Required narrative shape (in order):**
|
|
30
|
+
|
|
31
|
+
1. **Summary** — Place **first** after the title: a short block (roughly **3–6 sentences** or a tight bullet list) answering: what this repo is, who it serves, and the main outcomes or problems it addresses. No deep implementation detail here.
|
|
32
|
+
2. **Overall goal** — A dedicated section stating the **north star**: why the repository exists, the problem space or product mission, and what “success” means at repo level (still high level; cite sources in the Evidence index).
|
|
33
|
+
3. **Illustrative capabilities and use cases** — A **non-exhaustive** section with two sub-parts:
|
|
34
|
+
- **Capabilities / functionalities** — Bullet list of **representative** features or subsystems (from commands, UI, APIs, CLIs, pipelines—whatever the repo actually exposes). Label explicitly that the list is **illustrative, not complete**.
|
|
35
|
+
- **Example use cases** — Short **user- or operator-oriented** scenarios (e.g. “As a developer, I …”) that **illustrate** how the product is used; these are **examples**, not a formal requirements catalogue.
|
|
36
|
+
4. Then cover **purpose** (product behaviour in slightly more detail), **repository role** (shipping/CI), **tech stack**, **scripts**, **source layout**, **configuration**, **related documentation**, **out of scope** as in the template below—**unless** you reorder slightly to group related ideas; the **Summary** must stay **first** after the title, and **`## Revision`** / **`## Evidence index`** stay **last** in that relative order.
|
|
37
|
+
5. **Optional sections** — Insert **additional chapters** (with clear headings) when needed for a faithful overview. Prefer handbook-level depth; defer deep system design to **`architecture.md`** unless a short diagram here prevents confusion.
|
|
38
|
+
6. **Mermaid** — Use **` ```mermaid `** … **` ``` `** blocks for flowcharts, sequence diagrams, or graphs when they clarify **how the product works** (activation, command routing, worktree/analysis flow, etc.); first line inside each fence **`%%{init: {'theme':'neutral'}}%%`** per **MERMAID.md**. Add a one-line caption before or after the block if helpful. Log “Added Mermaid …” (or similar) in **`## Revision`**.
|
|
39
|
+
|
|
40
|
+
Cross-link **`architecture.md`** in the same folder and repo **`README.md`** / **`docs/`** when they exist. Align filenames and claims with the actual tree.
|
|
41
|
+
|
|
42
|
+
## Non-empty chapters and Evidence index (mandatory)
|
|
43
|
+
|
|
44
|
+
- **`## 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.
|
|
45
|
+
- **Preferred:** at least one concrete `path:line` or `path:start-end` cite from the worktree (implementation, config, tests, schemas—not README-style narrative files).
|
|
46
|
+
- **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.
|
|
47
|
+
- **Other `##` sections:** do not leave them empty; if unknown, add a short note under that heading explaining why.
|
|
48
|
+
- **Banned:** never list any path whose **basename** is `readme.md` in **any** casing (`README.md`, `readme.md`, etc.) in the Evidence index. (You may still *mention* `README.md` in prose or **Related documentation**; do not use it as a code-grounding cite.) **Never** list paths under **`.opencode/`** either (tooling copy, not product source).
|
|
49
|
+
|
|
50
|
+
### Revision log (mandatory)
|
|
51
|
+
|
|
52
|
+
- Maintain a **`## Revision`** section (**append-only** list: `- …` bullets or dated lines).
|
|
53
|
+
- **Every** time you write an updated `project.md`, add **at least one** new bullet describing what this edit introduced or changed (e.g. “Added scripts table from `package.json`”, “Expanded illustrative use cases after reviewing `src/extension.ts`”, “Fixed tech stack from `tsconfig`”).
|
|
54
|
+
- **First creation** (no prior file): start the section with a line such as **Initial draft** and what was covered in that pass.
|
|
55
|
+
- **Later passes:** keep **all** earlier bullets; append **new** bullets at the **bottom** of the list (newest last), unless you adopt ISO date prefixes for sorting—then be consistent.
|
|
56
|
+
|
|
57
|
+
## Output template
|
|
58
|
+
|
|
59
|
+
Write **exactly** the content for **`{{OUTPUT_FILE_ABSOLUTE}}`**. **R21:** substantive claims carry **Evidence index** entries with `path:line` or `path:start-end`, or *(inference)* with best cite.
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
# <Product or repo name> — project
|
|
63
|
+
|
|
64
|
+
## Summary
|
|
65
|
+
|
|
66
|
+
<!--
|
|
67
|
+
First thing a reader sees after the title. 3–6 sentences (or a few bullets):
|
|
68
|
+
what this repository is, primary audience, main value or outcomes.
|
|
69
|
+
No long lists here — those go below.
|
|
70
|
+
-->
|
|
71
|
+
|
|
72
|
+
## Overall goal
|
|
73
|
+
|
|
74
|
+
<!--
|
|
75
|
+
North star: mission, problem space, why this codebase exists.
|
|
76
|
+
What success looks like for this repo/product at a high level.
|
|
77
|
+
-->
|
|
78
|
+
|
|
79
|
+
## Illustrative capabilities and use cases
|
|
80
|
+
|
|
81
|
+
> **Note:** The lists below are **illustrative only**, not an exhaustive inventory of every feature or workflow.
|
|
82
|
+
|
|
83
|
+
### Representative functionalities
|
|
84
|
+
|
|
85
|
+
- <!-- capability 1 — e.g. VS Code command, web surface, CLI subcommand, background job -->
|
|
86
|
+
- <!-- capability 2 -->
|
|
87
|
+
- <!-- add more as needed; stop when coverage feels representative, not encyclopedic -->
|
|
88
|
+
|
|
89
|
+
### Example use cases
|
|
90
|
+
|
|
91
|
+
- <!-- UC-style vignette: actor + goal + short outcome, e.g. “Contributor runs tests locally before opening a PR.” -->
|
|
92
|
+
- <!-- another example -->
|
|
93
|
+
- <!-- optional: link to formal use-case docs if the repo defines them -->
|
|
94
|
+
|
|
95
|
+
<!--
|
|
96
|
+
Optional: insert one or more additional ## (or ###) sections anywhere among the body (before ## Revision) when they clarify the repository — e.g. "Key workflows", "Analysis pipeline", "CLI vs extension host".
|
|
97
|
+
You may use Mermaid: open a fenced code block with language tag "mermaid"; first line %%{init: {'theme':'neutral'}}%%; then flowchart / sequenceDiagram / graph syntax grounded in the real codebase (Mermaid 11.13, neutral — MERMAID.md). Close the fence. Avoid oversized diagrams. Record diagram/chapter changes in ## Revision.
|
|
98
|
+
-->
|
|
99
|
+
|
|
100
|
+
## Purpose
|
|
101
|
+
|
|
102
|
+
<!-- What users get; client vs server; data persistence; main user journeys in one paragraph (can elaborate beyond Summary/Goal). -->
|
|
103
|
+
|
|
104
|
+
## Repository role
|
|
105
|
+
|
|
106
|
+
<!-- Deployable artefact (e.g. static SPA), how it ships, notable CI/release hooks. -->
|
|
107
|
+
|
|
108
|
+
## Tech stack
|
|
109
|
+
|
|
110
|
+
| Area | Choice |
|
|
111
|
+
| ---- | ------ |
|
|
112
|
+
| … | … |
|
|
113
|
+
|
|
114
|
+
## Scripts
|
|
115
|
+
|
|
116
|
+
| Command | Description |
|
|
117
|
+
| ------- | ----------- |
|
|
118
|
+
| … | … |
|
|
119
|
+
|
|
120
|
+
## Source layout (high level)
|
|
121
|
+
|
|
122
|
+
| Path | Role |
|
|
123
|
+
| ---- | ---- |
|
|
124
|
+
| … | … |
|
|
125
|
+
|
|
126
|
+
## Configuration and environment
|
|
127
|
+
|
|
128
|
+
<!-- Key env vars, `.env.example`, feature flags. -->
|
|
129
|
+
|
|
130
|
+
## Related documentation
|
|
131
|
+
|
|
132
|
+
<!-- e.g. architecture.md (same context folder), README.md, docs/, .gluecharm/docs/srs/ -->
|
|
133
|
+
|
|
134
|
+
## Out of scope (current phase)
|
|
135
|
+
|
|
136
|
+
<!-- Explicit non-goals. -->
|
|
137
|
+
|
|
138
|
+
## Revision
|
|
139
|
+
|
|
140
|
+
<!--
|
|
141
|
+
Append-only changelog of edits to this file. Newest entry at the bottom (or use consistent ISO-8601 date prefixes).
|
|
142
|
+
Each time you save an improved version, add at least one new bullet describing what was added or updated.
|
|
143
|
+
-->
|
|
144
|
+
|
|
145
|
+
- <!-- e.g. Initial draft: summary, goal, and tech stack from README + package.json. -->
|
|
146
|
+
- <!-- e.g. Added illustrative use cases after reviewing src/commands. -->
|
|
147
|
+
- <!-- e.g. Populated source layout table from repository tree. -->
|
|
148
|
+
|
|
149
|
+
## Evidence index
|
|
150
|
+
|
|
151
|
+
- <!-- At least one substantive bullet with `path:line` or explanation per Non-empty chapters and Evidence index — never empty. -->
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Evidence (**R21**)
|
|
155
|
+
|
|
156
|
+
Follow **Non-empty chapters and Evidence index** above. Substantive claims carry Evidence index entries with `path:line` or `path:start-end`, or *(inference)* with best cite.
|
|
157
|
+
|
|
158
|
+
## Prerequisites
|
|
159
|
+
|
|
160
|
+
Ensure **`<worktree>/.gluecharm/context/`** exists (or create it). Do **not** write `index-application-context.json`.
|
|
161
|
+
|
|
162
|
+
## OpenCode wiring
|
|
163
|
+
|
|
164
|
+
§3.5.1. Set **`{{OUTPUT_FILE_ABSOLUTE}}`** to `join({{WORKTREE_ROOT}}, '.gluecharm', 'context', 'project.md')`. One file per run.
|
|
165
|
+
|
|
166
|
+
## Distinction from other agents
|
|
167
|
+
|
|
168
|
+
| Output | Role |
|
|
169
|
+
| ------ | ---- |
|
|
170
|
+
| **`project.md`** (this agent) | Repo handbook: **summary**, **overall goal**, **illustrative** capabilities & use cases, purpose, stack, scripts, layout, links; **optional** extra chapters + **Mermaid**; **incremental** updates; **`## Revision`** append-only log. |
|
|
171
|
+
| **`architecture.md`** (`ctx-md-architecture`) | Application architecture for context assembly / SRS-8 pipeline. |
|
|
172
|
+
| **`README.md`** (repo root) | Install quick start; may point readers to deeper docs. |
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Agent: Entity detail (markdown)
|
|
2
|
+
|
|
3
|
+
| Field | Value |
|
|
4
|
+
| ----- | ----- |
|
|
5
|
+
| **AGENT_ID** | `ctx-md-entity-detail` |
|
|
6
|
+
| **Display name** | Entity detail |
|
|
7
|
+
| **SRS-8** | §4.5 **`DM-<nn>-<slug>.md`**; §6.5 (parallel after `data-model-list.json`); **R7**, **R21** |
|
|
8
|
+
| **Output** | `<worktree>/.gluecharm/context/DM-<nn>-<slug>.md` |
|
|
9
|
+
| **Input (coordination)** | `<worktree>/.gluecharm/context/data-model-list.json` (repo-relative: `.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 aggregate or persistent entity** (`DM-*`): lifecycle, invariants, storage, mapping to schema or ORM models.
|
|
17
|
+
|
|
18
|
+
**Coordination JSON** lives **only** under **`.gluecharm/context/`**, not the worktree root. Read **`.gluecharm/context/data-model-list.json`** first; if missing, **glob** `.gluecharm/context/**/data-model-list.json` before failing.
|
|
19
|
+
|
|
20
|
+
## Task (for `{{TASK_DESCRIPTION}}`)
|
|
21
|
+
|
|
22
|
+
Describe **entity {{DM_CODE}}** per **`.gluecharm/context/data-model-list.json`**. The entity row **must** include **`sourceReferences`** (`minItems: 1`); seed the **Evidence index** with them (file paths only, not directories).
|
|
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>-<slug>.md`**.
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
# Entity {{DM_CODE}} — <name>
|
|
42
|
+
|
|
43
|
+
**Slug:** <slug> · **File:** {{OUTPUT_BASENAME}}
|
|
44
|
+
|
|
45
|
+
## Summary
|
|
46
|
+
|
|
47
|
+
## Purpose and lifecycle
|
|
48
|
+
|
|
49
|
+
## Invariants
|
|
50
|
+
|
|
51
|
+
## Storage mapping
|
|
52
|
+
|
|
53
|
+
<!-- Table/collection, ORM model; cite schema/migrations. -->
|
|
54
|
+
|
|
55
|
+
## Fields overview
|
|
56
|
+
|
|
57
|
+
<!-- Pointer to FD-* detail files when generated. -->
|
|
58
|
+
|
|
59
|
+
## Relationships overview
|
|
60
|
+
|
|
61
|
+
<!-- Pointer to RL-* detail files. -->
|
|
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: entity lifecycle from models/schema. -->
|
|
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 migrations, models, and repository code.
|
|
79
|
+
|
|
80
|
+
## Prerequisites
|
|
81
|
+
|
|
82
|
+
**`.gluecharm/context/data-model-list.json`** lists this entity.
|
|
83
|
+
|
|
84
|
+
## OpenCode wiring
|
|
85
|
+
|
|
86
|
+
§3.5.1. Parallel per entity (§6.5).
|