@caddis/cli 0.4.19 → 0.4.20
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/bundles/antigravity-plugin/plugin.json +1 -1
- package/bundles/antigravity-plugin/skills/_registry.md +4 -2
- package/bundles/antigravity-plugin/skills/data-lineage/SKILL.md +32 -0
- package/bundles/antigravity-plugin/skills/hld/SKILL.md +20 -8
- package/bundles/antigravity-plugin/skills/lld/SKILL.md +27 -12
- package/bundles/antigravity-plugin/skills/port-to-github/SKILL.md +231 -0
- package/bundles/antigravity-plugin/skills/port-to-github/references/ci-and-credentials.md +66 -0
- package/bundles/antigravity-plugin/skills/port-to-github/references/config.example.json +18 -0
- package/bundles/antigravity-plugin/skills/port-to-github/references/old-host.md +61 -0
- package/bundles/antigravity-plugin/skills/port-to-github/scripts/Compare-PortRefs.ps1 +68 -0
- package/bundles/antigravity-plugin/skills/port-to-github/scripts/Convert-PortWorkflow.ps1 +92 -0
- package/bundles/antigravity-plugin/skills/port-to-github/scripts/Get-PortSource.ps1 +459 -0
- package/bundles/antigravity-plugin/skills/port-to-github/scripts/PortCommon.ps1 +130 -0
- package/bundles/antigravity-plugin/skills/port-to-github/scripts/Publish-PortToGitHub.ps1 +156 -0
- package/bundles/antigravity-plugin/skills/port-to-github/scripts/Switch-CheckoutOrigin.ps1 +182 -0
- package/bundles/antigravity-plugin/skills/port-to-github/scripts/Test-PortReadiness.ps1 +218 -0
- package/bundles/antigravity-plugin/skills/port-to-github/scripts/Test-PortWorkflowParses.ps1 +62 -0
- package/bundles/antigravity-plugin-extras/plugin.json +1 -1
- package/bundles/antigravity-plugin-extras/skills/_registry.md +3 -2
- package/bundles/antigravity-plugin-extras/skills/data-lineage/SKILL.md +158 -0
- package/bundles/antigravity-plugin-extras/skills/data-lineage/scripts/convert_doc_to_confluence.py +1430 -0
- package/bundles/antigravity-plugin-extras/skills/hld/SKILL.md +155 -35
- package/bundles/antigravity-plugin-extras/skills/hld/references/gold-standard-hld.md +428 -0
- package/bundles/antigravity-plugin-extras/skills/hld/scripts/convert_doc_to_confluence.py +900 -184
- package/bundles/antigravity-plugin-extras/skills/lld/SKILL.md +145 -41
- package/bundles/antigravity-plugin-extras/skills/lld/scripts/convert_doc_to_confluence.py +900 -184
- package/bundles/codex/.codex/skills/devops/port-to-github/SKILL.md +231 -0
- package/bundles/codex/.codex/skills/devops/port-to-github/references/ci-and-credentials.md +66 -0
- package/bundles/codex/.codex/skills/devops/port-to-github/references/config.example.json +18 -0
- package/bundles/codex/.codex/skills/devops/port-to-github/references/old-host.md +61 -0
- package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Compare-PortRefs.ps1 +68 -0
- package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Convert-PortWorkflow.ps1 +92 -0
- package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Get-PortSource.ps1 +459 -0
- package/bundles/codex/.codex/skills/devops/port-to-github/scripts/PortCommon.ps1 +130 -0
- package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Publish-PortToGitHub.ps1 +156 -0
- package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Switch-CheckoutOrigin.ps1 +182 -0
- package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Test-PortReadiness.ps1 +218 -0
- package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Test-PortWorkflowParses.ps1 +62 -0
- package/bundles/manifest.json +3 -3
- package/package.json +1 -1
|
@@ -1,29 +1,134 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lld
|
|
3
|
-
description: Generates Lower-Level Design (LLD) Markdown documentation and converts to Confluence Storage Format XHTML with
|
|
3
|
+
description: Generates Lower-Level Design (LLD) Markdown documentation and converts to Confluence Storage Format XHTML with native PlantUML diagrams and auto-generated legends.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Lower-Level Design (LLD) Authoring Skill
|
|
7
7
|
|
|
8
8
|
## Overview
|
|
9
|
-
This skill generates Lower-Level Design (LLD) documents for enterprise application fleet systems. It documents the complete internal engineering workings: hosts, services, internal API endpoints, database schemas, stored procedures, ETL batches, background worker threads, data contracts, and failure recovery modes. It converts documents to Confluence Storage Format XHTML
|
|
9
|
+
This skill generates Lower-Level Design (LLD) documents for enterprise application fleet systems. It documents the complete internal engineering workings: hosts, services, internal API endpoints, physical database schemas, stored procedures, ETL batches, background worker threads, data contracts, and failure recovery modes. It converts documents to Confluence Storage Format XHTML using native PlantUML (`<ac:structured-macro ac:name="plantuml">`) diagrams with high contrast, crisp 200 DPI vector rendering, dynamic orientation, auto-wrapped labels, and clean embedded Creole legends.
|
|
10
|
+
|
|
11
|
+
## Mandatory Workflow Steps
|
|
12
|
+
|
|
13
|
+
### Step 1: Deep Codebase and Schema Dissection
|
|
14
|
+
Analyze the target codebase and underlying database environment to dissect:
|
|
15
|
+
- Physical hosting, processes, service managers (NSSM, systemd), ports, and thread loops.
|
|
16
|
+
- All ETL scripts, batch commands, cron/scheduler configurations, source/target tables, row volumes, and idempotency logic.
|
|
17
|
+
- Stored procedures: signatures, parameters, join logic, analytical thresholds, and exception outputs.
|
|
18
|
+
- Background workers, polling loops, watermark synchronization, and caching tiers.
|
|
19
|
+
- UI-to-SQL query lineage: map UI screens and routes to stable query identifiers (`QRY-*`) and database objects.
|
|
20
|
+
|
|
21
|
+
### Step 2: Component & Interface Classification Interview (Grill-Me)
|
|
22
|
+
**MANDATORY GATE:** Before generating architecture diagrams or drafting the LLD, the agent **MUST** present the discovered internal components (`SYS_Lxx`) and internal interfaces (`INT_Lxx`) to the user and interview them to confirm classifications:
|
|
23
|
+
1. **Internal Component Classification:**
|
|
24
|
+
- Which internal components are **New / Impacted** (`Impacted = Yes`, red styling)?
|
|
25
|
+
- Which components represent pre-existing external fleet databases or services (`Impacted = No`, blue styling)?
|
|
26
|
+
2. **Internal Interface Classification:**
|
|
27
|
+
- Confirm which internal connections represent **New Connectivity** (`#DC2626` Red) vs **Existing Connectivity** (`#16A34A` Green).
|
|
28
|
+
3. Present clear recommendations based on codebase findings, allowing the user to confirm or adjust classifications in a single interactive turn.
|
|
29
|
+
|
|
30
|
+
### Step 3: Markdown Document Authoring
|
|
31
|
+
Draft the canonical LLD Markdown file following the standard 7-section structure. Adhere strictly to the engineering depth requirements below.
|
|
32
|
+
|
|
33
|
+
### Step 4: Confluence XHTML Conversion & Verification
|
|
34
|
+
Convert the Markdown to Confluence Storage Format XHTML using `scripts/convert_doc_to_confluence.py`. Verify well-formed XML and correct PlantUML macro rendering.
|
|
35
|
+
|
|
36
|
+
---
|
|
10
37
|
|
|
11
38
|
## Scope and Core Responsibilities (Detailed Engineering)
|
|
39
|
+
|
|
12
40
|
1. **Internal Architecture & Services:**
|
|
13
41
|
- Host allocations, services, ports, execution threads, background loop intervals, and memory management.
|
|
14
42
|
- Internal API route specifications, request/response models, middleware, and dependency injection.
|
|
15
|
-
2. **
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
|
|
43
|
+
2. **Exhaustive ETL & Ingestion Pipeline Dissection:**
|
|
44
|
+
- Document every data pipeline script, source tables, destination staging tables, execution schedules (e.g. daily 06:00, monthly 20th), record volumes, idempotency patterns (e.g. delete-insert), and shared audit tables (e.g. `ETL_AUDIT_LOG`).
|
|
45
|
+
3. **Exhaustive Stored Procedure & Analytical Engine Dissection:**
|
|
46
|
+
- Catalog all validation procedures / calculation engines.
|
|
47
|
+
- For every stored procedure, specify: exact signature, input parameters, join/comparison logic, analytical tolerances/thresholds, discrepancy codes, and target tables written to.
|
|
48
|
+
4. **Continuous Summary Refresher & Watermark Synchronization:**
|
|
49
|
+
- Document background polling workers, polling intervals (e.g. 300s), watermark queries (`SELECT MAX(run_id)...`), atomic summary rollups, watermark commits, and cache invalidation mechanisms.
|
|
50
|
+
5. **UI-to-SQL Query Lineage Specification:**
|
|
51
|
+
- Exhaustive query lineage matrix mapping UI screens to stable query identifiers (`QRY-*`), API endpoints, repository methods, and source database tables.
|
|
52
|
+
6. **Mandatory Detailed Technical Sections (Non-Negotiable):**
|
|
53
|
+
- **Operational Process Flow:** Multi-stage batch, validation, refresh, and serving pipeline with colorful Mermaid flowchart.
|
|
54
|
+
- **End-to-End Operational Sequence Diagram:** Comprehensive technical sequence between Schedulers, Batch Runners, Databases, Secondary Systems, Background Refreshers, API Routers, and Frontends.
|
|
55
|
+
- **Detailed Solution Architecture Landscape:** Internal subsystem architecture diagram with `SYS_Lxx` component IDs and `INT_Lxx` interface sequences, supported by Internal Applications Table and Internal Interfaces Table.
|
|
56
|
+
- **End-to-End Database and Data Processing Pipeline:** Staging, validation, mart rollup, and API extraction data flow stages.
|
|
57
|
+
- **End-to-End Database Lineage Specification:** Complete lineage matrix tracing Functional Domain -> Source Feeds -> Staging Tables -> Transformation Stored Procedures -> Destination Summary Tables -> API Endpoint Routes -> Primary UI Surfaces.
|
|
58
|
+
7. **Mermaid Diagram Standards (Expert Systems Architect & Mermaid Designer):**
|
|
59
|
+
Render highly professional, visually balanced, and easily readable system architecture diagrams using Mermaid.js markdown blocks. Avoid cluttered, sprawling layouts by enforcing structural constraints and optimized styles.
|
|
60
|
+
|
|
61
|
+
**🎨 Design & Styling Principles:**
|
|
62
|
+
- **Color Palette & Semantic Styling (Standard/Impact/Existing):**
|
|
63
|
+
- Use desaturated, modern executive colors. Do not use highly saturated primary colors.
|
|
64
|
+
- Define exactly 3-4 standard semantic class styles at the top of every diagram:
|
|
65
|
+
- `existingStyle`: Clean Blue (`fill:#EFF6FF,stroke:#2563EB,stroke-width:2px,color:#1E40AF`) for legacy/established components.
|
|
66
|
+
- `newStyle`: Warm Red/Crimson (`fill:#FEF2F2,stroke:#DC2626,stroke-width:2px,color:#991B1B`) for greenfield/new components.
|
|
67
|
+
- `impactedStyle`: Amber/Gold (`fill:#FFFBEB,stroke:#D97706,stroke-width:2px,color:#92400E`) for modified/impacted systems.
|
|
68
|
+
- Apply classes consistently to the nodes using the triple colon notation (e.g., `NodeName:::newStyle`).
|
|
69
|
+
- **Diagram Scalability Settings (Initialization Block):**
|
|
70
|
+
- Always prepend diagrams with a configuration initialization block to control sizing and font scales:
|
|
71
|
+
```mermaid
|
|
72
|
+
%%{init: {
|
|
73
|
+
'theme': 'default',
|
|
74
|
+
'themeVariables': { 'fontSize': '14px', 'subgraphTitleSize': '16px' },
|
|
75
|
+
'flowchart': { 'useMaxWidth': false, 'htmlLabels': true, 'curve': 'basis' }
|
|
76
|
+
} }%%
|
|
77
|
+
```
|
|
78
|
+
- **Readable Text Wrapping:**
|
|
79
|
+
- Never let a single node have a long horizontal text block. Use `<br/>` tags to stack text vertically.
|
|
80
|
+
- Format nodes with clear visual hierarchy: Use bolding for titles, bracket notation for IDs, and italics for status:
|
|
81
|
+
`NodeName["📅 <b>Windows Scheduler</b><br/>[SYS_03]<br/><i>New Component</i>"]`
|
|
82
|
+
|
|
83
|
+
**📐 Layout & Real Estate Rules:**
|
|
84
|
+
- **The 3-Column Kanban Layout (Side-by-Side):**
|
|
85
|
+
- When sequential phases are required (e.g., Phase 1 | Phase 2 | Phase 3) but need to prevent horizontal text compression, utilize a "Hybrid Columnar Layout".
|
|
86
|
+
- **Rule:** Set the top-level flow to Left-to-Right (`flowchart LR`) to align parent containers horizontally, but enforce vertical stacking (`direction TB`) *inside* each subgraph container.
|
|
87
|
+
- **Example Structure:**
|
|
88
|
+
```mermaid
|
|
89
|
+
flowchart LR
|
|
90
|
+
subgraph Phase1["Phase 1"]
|
|
91
|
+
direction TB
|
|
92
|
+
A --> B --> C
|
|
93
|
+
end
|
|
94
|
+
subgraph Phase2["Phase 2"]
|
|
95
|
+
direction TB
|
|
96
|
+
D --> E --> F
|
|
97
|
+
end
|
|
98
|
+
Phase1 --> Phase2
|
|
99
|
+
```
|
|
100
|
+
- **The Two-Line Grid Layout (Row Stacking):**
|
|
101
|
+
- When a 3-pillar horizontal layout spans too wide, stack them into rows by setting the top-level structure to Top-to-Bottom (`flowchart TD`).
|
|
102
|
+
- Group the lower pillars (Phase 2 and Phase 3) side-by-side inside a helper subgraph container that uses `direction LR`. This forces Phase 2 to wrap onto a new line directly below Phase 1.
|
|
103
|
+
- **Component Types:**
|
|
104
|
+
- Use standard flowchart shapes to represent structural entities:
|
|
105
|
+
- `[(Database Node)]` for persistent storage, tables, or file outputs.
|
|
106
|
+
- `["Application Node"]` for processing scripts, APIs, or services.
|
|
107
|
+
- `["🖥️ UI Node"]` for user interfaces.
|
|
108
|
+
8. **Diagram Rendering and Styling (PlantUML Native Engine in Confluence):**
|
|
109
|
+
- Confluence rendering uses native `<ac:structured-macro ac:name="plantuml">` blocks requiring zero page attachments.
|
|
110
|
+
- Standard parameters: `scale 1.2` for flowcharts, `scale max 2000 width` for sequence diagrams, and `skinparam defaultFontSize 11` (no `skinparam dpi 200` to prevent image blowout) to guarantee crisp rendering, neat proportioning, and sharp text without oversized canvas stretching.
|
|
111
|
+
- Spacing: `skinparam ranksep 28` and `skinparam nodesep 24`, package `Padding 10` for tight, balanced whitespace without excessive canvas stretching.
|
|
112
|
+
- Natural curved splines: Do not force `skinparam linetype ortho` or `polyline` which distort canvases. Natural curved spline arrows route cleanly without box stretching.
|
|
113
|
+
- Zero label clutter: Omit stereotypes (`<<impacted>>`, `<<service>>`, etc.) and verbose status annotations (`(New Component)`, `(Existing Platform)`, `[New]`, `[Existing]`) inside component boxes or on connection labels. Component status is communicated cleanly through color coding and the bottom legend.
|
|
114
|
+
- Automatic edge label wrapping: Labels are wrapped at ~24 characters to prevent horizontal text collision with component bounding boxes.
|
|
115
|
+
- Bold container headers: Package and cluster titles are rendered in bold font (`package "<b>Title</b>"`).
|
|
116
|
+
- Component styling: Colored backgrounds and distinct borders with `skinparam rectangle { BorderThickness 1.5 }` and `skinparam database { BorderThickness 1.5 }`:
|
|
117
|
+
- New / Impacted Components: `rectangle "<b>Title</b>\n[SYS_xx]" as Alias #FEF2F2;line:DC2626` (or `database ... #FEF2F2;line:DC2626`) for a crimson red border.
|
|
118
|
+
- Existing Components: `rectangle "<b>Title</b>\n[SYS_xx]" as Alias #EFF6FF;line:2563EB` (or `database ... #EFF6FF;line:2563EB`) for a deep blue border.
|
|
119
|
+
- Dynamic orientation: Let the model and skill decide whether Left-to-Right (`flowchart LR`) or Top-to-Bottom (`flowchart TD`) or mixed layout is best based on component count, layer depth, and readability. Avoid stretching wide multi-layer pipelines horizontally across thin ribbons.
|
|
120
|
+
- Connectivity color coding:
|
|
121
|
+
- New / Impacted connectivity: Solid Red (`#DC2626` / `━━━━▶`).
|
|
122
|
+
- Existing connectivity: Solid Blue (`#2563EB` / `━━━━▶`).
|
|
123
|
+
- Cross-package and feedback connectors: Append `norank` (`-[color,norank]right->`, `-[color,norank]up->`) to prevent vertical rank collapse in horizontal flows and tier scrambling in layered architectures.
|
|
124
|
+
- Arrow sequence numbering: Place sequence numbers and interface IDs clearly on arrow labels (e.g. `SYS_L01 -->|"INT_L01 [1]: Pre-Flight Audit Query"| SYS_L02`).
|
|
125
|
+
- Clean embedded Creole legend: Flowchart and architecture diagrams automatically include an embedded PlantUML Creole table legend explaining connection and component markers. Omit legend on sequence diagrams.
|
|
126
|
+
9. **Technical Metadata:**
|
|
26
127
|
- Technical metadata (system name, engineering lead, target audience, version) is preserved in LLD documents.
|
|
128
|
+
10. **Dynamic Frontmatter Model:**
|
|
129
|
+
- The Markdown frontmatter `Creating Model:` must dynamically capture whatever model is executing the task (e.g. `gemini-3.8-flash`), never hardcoded.
|
|
130
|
+
|
|
131
|
+
---
|
|
27
132
|
|
|
28
133
|
## Standard LLD Document Structure (Markdown)
|
|
29
134
|
Every LLD document must follow this standardized structure:
|
|
@@ -36,7 +141,7 @@ feature: <app>-lld
|
|
|
36
141
|
creation-agent: caddis
|
|
37
142
|
Original Author: Platform Engineering
|
|
38
143
|
Creation Date: <YYYY-MM-DDTHH:MM:SSZ>
|
|
39
|
-
Creating Model: gemini-3.
|
|
144
|
+
Creating Model: <active model ID, e.g. gemini-3.8-flash>
|
|
40
145
|
---
|
|
41
146
|
|
|
42
147
|
# Lower-Level Design: <Application Name>
|
|
@@ -44,7 +149,7 @@ Creating Model: gemini-3.5-flash
|
|
|
44
149
|
## Technical Metadata
|
|
45
150
|
- **System Name:** <Application Name> (Internal Engineering Specification)
|
|
46
151
|
- **Document Version:** 1.0.0
|
|
47
|
-
- **Document Status:**
|
|
152
|
+
- **Document Status:** Current Engineering Specification
|
|
48
153
|
- **Engineering Lead:** Development & Platform Engineering Team
|
|
49
154
|
- **Target Audience:** Software Engineers, Database Administrators, Platform Reliability Engineers
|
|
50
155
|
|
|
@@ -53,42 +158,41 @@ Creating Model: gemini-3.5-flash
|
|
|
53
158
|
## 1. System Components and Service Topology
|
|
54
159
|
- 1.1 Physical Hosting and Runtime Environment (Hostnames, IPs, OS, service manager like NSSM/systemd, ports)
|
|
55
160
|
- 1.2 Component Architecture and Process Model (Web server, async workers, refresher services, thread loops)
|
|
56
|
-
- 1.3 Detailed Service Interaction Diagram (Mermaid component flow)
|
|
57
161
|
|
|
58
|
-
## 2.
|
|
59
|
-
- 2.1
|
|
60
|
-
- 2.2
|
|
61
|
-
- 2.3 Error Handling, HTTP Status Codes, and Logging Protocols
|
|
162
|
+
## 2. Operational Process Flow and Sequence Architecture
|
|
163
|
+
- 2.1 Operational Process Flow (Mermaid flowchart with classDef styling showing batch ingestion, validation, refresh, and serving stages)
|
|
164
|
+
- 2.2 End-to-End Operational Sequence Diagram (Mermaid sequence diagram detailing technical participants)
|
|
62
165
|
|
|
63
|
-
## 3.
|
|
64
|
-
- 3.1
|
|
65
|
-
- 3.2
|
|
66
|
-
- 3.3
|
|
166
|
+
## 3. Detailed Solution Architecture Landscape
|
|
167
|
+
- 3.1 Solution Architecture Landscape (Mermaid topology diagram with internal SYS_Lxx nodes and INT_Lxx arrows)
|
|
168
|
+
- 3.2 Internal Applications and Subsystems Overview (Table: ID [SYS_Lxx], Application / Component, Application Type, Description, Impacted [Yes/No])
|
|
169
|
+
- 3.3 Internal Interfaces (Table: ID [INT_Lxx], Type / Protocol, From, To, Connectivity [Connectivity Exists / New Connectivity])
|
|
67
170
|
|
|
68
|
-
## 4.
|
|
69
|
-
- 4.1
|
|
70
|
-
- 4.2
|
|
71
|
-
- 4.3 Stored
|
|
171
|
+
## 4. End-to-End Database and Data Processing Pipeline
|
|
172
|
+
- 4.1 Database Pipeline Architecture (Mermaid flowchart with classDef styling)
|
|
173
|
+
- 4.2 Ingestion & ETL Pipelines (Detailed breakdown of all ETL scripts, schedules, sources, staging tables, volumes, idempotency)
|
|
174
|
+
- 4.3 Stored Procedures and Analytical Logic Engine (Exhaustive catalog with parameters, join logic, tolerances, output tables)
|
|
175
|
+
- 4.4 Continuous Summary Refresher (Background loop, watermark polling, atomic rollups, cache invalidation)
|
|
176
|
+
- 4.5 End-to-End Database Lineage Specification (UI-to-SQL Query Matrix: Query ID [QRY-*], UI Screen, Route, Repo, Tables, Scope)
|
|
72
177
|
|
|
73
|
-
## 5.
|
|
74
|
-
- 5.1
|
|
75
|
-
- 5.2
|
|
76
|
-
- 5.3 Exception Logging, State Registers, and KPI Calculation
|
|
178
|
+
## 5. Physical Database Architecture
|
|
179
|
+
- 5.1 Host and Database Instances (Connection pools, drivers, timeouts, read/write segregation)
|
|
180
|
+
- 5.2 Schema and Table Definitions (Full physical tables, primary keys, indexes, foreign keys, partition strategy)
|
|
77
181
|
|
|
78
|
-
## 6.
|
|
79
|
-
- 6.1
|
|
80
|
-
- 6.2
|
|
182
|
+
## 6. API Specifications and Internal Contracts
|
|
183
|
+
- 6.1 Backend Router Structure and Endpoint Inventory (Paths, HTTP methods, route handlers, middleware)
|
|
184
|
+
- 6.2 Data Transfer Objects (DTOs) and Validation Schemas (Pydantic models, request/response payloads)
|
|
185
|
+
- 6.3 Error Handling and Database Session Management
|
|
81
186
|
|
|
82
187
|
## 7. Reliability, Operational Runbooks, and Recovery
|
|
83
|
-
- 7.1 Health Checks
|
|
84
|
-
- 7.2 Failure
|
|
85
|
-
- 7.3 Operational Runbooks and Diagnostic Commands
|
|
188
|
+
- 7.1 Health Checks and Diagnostic Endpoints
|
|
189
|
+
- 7.2 Failure Recovery and Re-run Idempotency
|
|
86
190
|
```
|
|
87
191
|
|
|
88
192
|
## Conversion Workflow
|
|
89
193
|
1. Write the canonical LLD Markdown file to `docs/<app>/<app>-lld.md`.
|
|
90
194
|
2. Run the conversion script:
|
|
91
|
-
```
|
|
92
|
-
python scripts/convert_doc_to_confluence.py docs/<app>/<app>-lld.md --output docs/<app>/<app>-lld.html
|
|
195
|
+
```powershell
|
|
196
|
+
python scripts/convert_doc_to_confluence.py docs/<app>/<app>-lld.md --output docs/<app>/<app>-lld.html --diagram-type plantuml
|
|
93
197
|
```
|
|
94
|
-
3. Verify that the output validates as well-formed XML and contains `<ac:structured-macro ac:name="plantuml">` blocks with
|
|
198
|
+
3. Verify that the output validates as well-formed XML and contains `<ac:structured-macro ac:name="plantuml">` blocks with crisp 200 DPI styling, 880px max width, centered alignment, wrapped edge labels, and embedded Creole legend.
|