@caddis/cli 0.4.15 → 0.4.16

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.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "caddis",
3
- "version": "1.3.108",
3
+ "version": "1.3.109",
4
4
  "description": "caddis — agent-agnostic dev harness as an Antigravity (agy) plugin: TDD skills + commands, single-sourced with the Claude Code plugin."
5
5
  }
@@ -89,6 +89,12 @@ When authoring an HLA, strictly adhere to the following 7-section structure:
89
89
  [Note: 7.2 References is kept in working Markdown but STRICTLY OMITTED from Confluence HTML]
90
90
  ```
91
91
 
92
+ ### Key Section Authoring Guidelines:
93
+ - **Section 3.1 Operational Process Flow:** Document the flow using clean, continuous numbered text steps (`1. **Step Name:** ...`). Completely omit ASCII, unicode, or plain-text drawing boxes, which break formatting in Confluence. The accompanying sequence diagram in 3.2 provides the visual workflow.
94
+ - **Section 3.2 End-to-End Sequence Diagram:** Autonumber all interactions. Apply corporate palette classes (`clientStyle`, `serverStyle`, `appStyle`, `dataStyle`, `extStyle`). Wrap all participant names, notes, and message labels under 45 characters using `<br/>`.
95
+ - **Section 4.1 Solution Design and Architecture:** The standardized title is `4.1 Solution Design and Architecture` (do NOT use "System Topology and Network Boundaries"). Provides the compact component topology and network boundary diagram.
96
+ - **Tables:** All tables must be authored cleanly and converted into `<table class="wrapped">` with wrapped headers (`<th><p>Header</p></th>`) and wrapped table cells (`<td><p>Value</p></td>`).
97
+
92
98
  ---
93
99
 
94
100
  ## 3. High-Level Database and Data Processing Pipeline Discovery
@@ -272,7 +278,7 @@ Never use default bright or garish PlantUML colors. Use muted corporate Material
272
278
  - **Stage 2 (Middle):** Language Model Synthesis Engine (`LLMEngine`), receiving 90-degree orthogonal connections from each track's summary node (`NSum -right-> LLMEngine`, etc.).
273
279
  - **Stage 3 (Right):** Action Recommendation & Justification (`RecOutput`), receiving a horizontal connection from `LLMEngine`.
274
280
 
275
- 4. **Component-to-Component Connections in System Topology:**
281
+ 4. **Component-to-Component Connections in Solution Design & Architecture:**
276
282
  - Connect internal component nodes directly (e.g., `Worker -down-> SQL`, `Worker -down-> Apigee`, `Worker -right-> LLM`).
277
283
  - Do NOT connect package boundaries (e.g., `HostLayer -down-> MidLayer`), which inflates diagram bounding boxes and distorts routing.
278
284
  - Use `skinparam nodesep 60` and `skinparam ranksep 50` for comfortable whitespace.
@@ -337,7 +343,7 @@ Inspect the target codebase across five dimensions:
337
343
  - Write using the 7-section canonical structure in Simplified Technical English.
338
344
  - Author PlantUML (or Mermaid) diagram blocks for:
339
345
  1. Sequence diagram
340
- 2. System topology diagram
346
+ 2. Solution Design and Architecture diagram (compact topology)
341
347
  3. Multi-track summarization pipeline
342
348
  4. End-to-end database and processing pipeline (Section 4.5)
343
349
  - Document the Screener Feedback Service and RLHF loop (Section 4.6).
@@ -180,7 +180,13 @@ def _parse_mermaid_flowchart(code: str) -> Optional[str]:
180
180
 
181
181
  subgraph_start_re = re.compile(r'^\s*subgraph\s+([A-Za-z0-9_]+)(?:\["([^"]+)"\]|\[([^\]]+)\])?', re.IGNORECASE)
182
182
  direction_re = re.compile(r'^\s*direction\s+(LR|RL|TB|TD)', re.IGNORECASE)
183
- node_def_re = re.compile(r'([A-Za-z0-9_]+)\["([^"]+)"\](?::::([A-Za-z0-9_]+))?|([A-Za-z0-9_]+)\[([^\]]+)\](?::::([A-Za-z0-9_]+))?')
183
+ node_def_re = re.compile(
184
+ r'([A-Za-z0-9_]+)(?:'
185
+ r'\["([^"]+)"\]|\[([^\]]+)\]|'
186
+ r'\{"([^"]+)"\}|\{([^\}]+)\}|'
187
+ r'\("([^"]+)"\)|\(([^\)]+)\)'
188
+ r')(?::::([A-Za-z0-9_]+))?'
189
+ )
184
190
 
185
191
  has_flowchart = False
186
192
  for line in lines:
@@ -222,9 +228,9 @@ def _parse_mermaid_flowchart(code: str) -> Optional[str]:
222
228
 
223
229
  # 1. Extract node definitions
224
230
  for match in node_def_re.finditer(stripped):
225
- n_id = match.group(1) or match.group(4)
226
- n_lbl = match.group(2) or match.group(5)
227
- n_cls = match.group(3) or match.group(6) or ""
231
+ n_id = match.group(1)
232
+ n_lbl = next(g for g in match.groups()[1:7] if g is not None)
233
+ n_cls = match.group(8) or ""
228
234
  node_info = {"id": n_id, "label": n_lbl, "class": n_cls}
229
235
  if sg_stack:
230
236
  sg_stack[-1]["nodes"][n_id] = node_info
@@ -233,7 +239,7 @@ def _parse_mermaid_flowchart(code: str) -> Optional[str]:
233
239
 
234
240
  # 2. Clean line for edge extraction
235
241
  def repl_node(m):
236
- return m.group(1) or m.group(4)
242
+ return m.group(1)
237
243
  clean_edge_line = node_def_re.sub(repl_node, stripped)
238
244
 
239
245
  # 3. Extract edges
@@ -89,6 +89,12 @@ When authoring an HLA, strictly adhere to the following 7-section structure:
89
89
  [Note: 7.2 References is kept in working Markdown but STRICTLY OMITTED from Confluence HTML]
90
90
  ```
91
91
 
92
+ ### Key Section Authoring Guidelines:
93
+ - **Section 3.1 Operational Process Flow:** Document the flow using clean, continuous numbered text steps (`1. **Step Name:** ...`). Completely omit ASCII, unicode, or plain-text drawing boxes, which break formatting in Confluence. The accompanying sequence diagram in 3.2 provides the visual workflow.
94
+ - **Section 3.2 End-to-End Sequence Diagram:** Autonumber all interactions. Apply corporate palette classes (`clientStyle`, `serverStyle`, `appStyle`, `dataStyle`, `extStyle`). Wrap all participant names, notes, and message labels under 45 characters using `<br/>`.
95
+ - **Section 4.1 Solution Design and Architecture:** The standardized title is `4.1 Solution Design and Architecture` (do NOT use "System Topology and Network Boundaries"). Provides the compact component topology and network boundary diagram.
96
+ - **Tables:** All tables must be authored cleanly and converted into `<table class="wrapped">` with wrapped headers (`<th><p>Header</p></th>`) and wrapped table cells (`<td><p>Value</p></td>`).
97
+
92
98
  ---
93
99
 
94
100
  ## 3. High-Level Database and Data Processing Pipeline Discovery
@@ -272,7 +278,7 @@ Never use default bright or garish PlantUML colors. Use muted corporate Material
272
278
  - **Stage 2 (Middle):** Language Model Synthesis Engine (`LLMEngine`), receiving 90-degree orthogonal connections from each track's summary node (`NSum -right-> LLMEngine`, etc.).
273
279
  - **Stage 3 (Right):** Action Recommendation & Justification (`RecOutput`), receiving a horizontal connection from `LLMEngine`.
274
280
 
275
- 4. **Component-to-Component Connections in System Topology:**
281
+ 4. **Component-to-Component Connections in Solution Design & Architecture:**
276
282
  - Connect internal component nodes directly (e.g., `Worker -down-> SQL`, `Worker -down-> Apigee`, `Worker -right-> LLM`).
277
283
  - Do NOT connect package boundaries (e.g., `HostLayer -down-> MidLayer`), which inflates diagram bounding boxes and distorts routing.
278
284
  - Use `skinparam nodesep 60` and `skinparam ranksep 50` for comfortable whitespace.
@@ -337,7 +343,7 @@ Inspect the target codebase across five dimensions:
337
343
  - Write using the 7-section canonical structure in Simplified Technical English.
338
344
  - Author PlantUML (or Mermaid) diagram blocks for:
339
345
  1. Sequence diagram
340
- 2. System topology diagram
346
+ 2. Solution Design and Architecture diagram (compact topology)
341
347
  3. Multi-track summarization pipeline
342
348
  4. End-to-end database and processing pipeline (Section 4.5)
343
349
  - Document the Screener Feedback Service and RLHF loop (Section 4.6).
@@ -180,7 +180,13 @@ def _parse_mermaid_flowchart(code: str) -> Optional[str]:
180
180
 
181
181
  subgraph_start_re = re.compile(r'^\s*subgraph\s+([A-Za-z0-9_]+)(?:\["([^"]+)"\]|\[([^\]]+)\])?', re.IGNORECASE)
182
182
  direction_re = re.compile(r'^\s*direction\s+(LR|RL|TB|TD)', re.IGNORECASE)
183
- node_def_re = re.compile(r'([A-Za-z0-9_]+)\["([^"]+)"\](?::::([A-Za-z0-9_]+))?|([A-Za-z0-9_]+)\[([^\]]+)\](?::::([A-Za-z0-9_]+))?')
183
+ node_def_re = re.compile(
184
+ r'([A-Za-z0-9_]+)(?:'
185
+ r'\["([^"]+)"\]|\[([^\]]+)\]|'
186
+ r'\{"([^"]+)"\}|\{([^\}]+)\}|'
187
+ r'\("([^"]+)"\)|\(([^\)]+)\)'
188
+ r')(?::::([A-Za-z0-9_]+))?'
189
+ )
184
190
 
185
191
  has_flowchart = False
186
192
  for line in lines:
@@ -222,9 +228,9 @@ def _parse_mermaid_flowchart(code: str) -> Optional[str]:
222
228
 
223
229
  # 1. Extract node definitions
224
230
  for match in node_def_re.finditer(stripped):
225
- n_id = match.group(1) or match.group(4)
226
- n_lbl = match.group(2) or match.group(5)
227
- n_cls = match.group(3) or match.group(6) or ""
231
+ n_id = match.group(1)
232
+ n_lbl = next(g for g in match.groups()[1:7] if g is not None)
233
+ n_cls = match.group(8) or ""
228
234
  node_info = {"id": n_id, "label": n_lbl, "class": n_cls}
229
235
  if sg_stack:
230
236
  sg_stack[-1]["nodes"][n_id] = node_info
@@ -233,7 +239,7 @@ def _parse_mermaid_flowchart(code: str) -> Optional[str]:
233
239
 
234
240
  # 2. Clean line for edge extraction
235
241
  def repl_node(m):
236
- return m.group(1) or m.group(4)
242
+ return m.group(1)
237
243
  clean_edge_line = node_def_re.sub(repl_node, stripped)
238
244
 
239
245
  # 3. Extract edges
@@ -1,7 +1,7 @@
1
1
  {
2
- "poolVersion": "1.3.108",
2
+ "poolVersion": "1.3.109",
3
3
  "bundles": {
4
- "antigravity-plugin": "1.3.108",
4
+ "antigravity-plugin": "1.3.109",
5
5
  "antigravity-plugin-extras": "1.3.29",
6
6
  "codex": "unknown"
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@caddis/cli",
3
- "version": "0.4.15",
3
+ "version": "0.4.16",
4
4
  "description": "Install, update and diagnose the caddis dev harness across every coding agent you use (Claude Code, agy/Antigravity, and more).",
5
5
  "keywords": [
6
6
  "caddis",