@caddis/cli 0.4.18 → 0.4.19

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.
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: lld
3
+ description: Generates Lower-Level Design (LLD) Markdown documentation and converts to Confluence Storage Format XHTML with inline PlantUML macros.
4
+ ---
5
+
6
+ # Lower-Level Design (LLD) Authoring Skill
7
+
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 with inline PlantUML (`<ac:structured-macro ac:name="plantuml">`) diagrams.
10
+
11
+ ## Scope and Core Responsibilities (Detailed Engineering)
12
+ 1. **Internal Architecture & Services:**
13
+ - Host allocations, services, ports, execution threads, background loop intervals, and memory management.
14
+ - Internal API route specifications, request/response models, middleware, and dependency injection.
15
+ 2. **Database Engine & Physical Data Model:**
16
+ - Database server names, schemas, physical table structures, columns, data types, primary keys, and indexes.
17
+ - Comprehensive stored procedure inventory: input parameters, output datasets, business logic flows, and return codes.
18
+ 3. **ETL & Batch Processing Pipelines:**
19
+ - Staging scripts, pre-flight checks, batch orchestration commands (e.g., Windows Task Scheduler, cron, Airflow).
20
+ - Validation pillars/rules breakdown with exact execution parameters, thresholds, and exception output structures.
21
+ 4. **Diagram Rendering and Orthogonal Connectors:**
22
+ - Diagrams are converted to native Confluence PlantUML macros (`<ac:structured-macro ac:name="plantuml">`) using `skinparam linetype ortho`.
23
+ - `skinparam linetype ortho` ensures that all arrows connecting boxes are strictly orthogonal (90-degree right angles).
24
+ - PlantUML renders inline upon copy-paste into Confluence with zero attachment access errors.
25
+ 5. **Technical Metadata:**
26
+ - Technical metadata (system name, engineering lead, target audience, version) is preserved in LLD documents.
27
+
28
+ ## Standard LLD Document Structure (Markdown)
29
+ Every LLD document must follow this standardized structure:
30
+
31
+ ```markdown
32
+ ---
33
+ type: design
34
+ status: current
35
+ feature: <app>-lld
36
+ creation-agent: caddis
37
+ Original Author: Platform Engineering
38
+ Creation Date: <YYYY-MM-DDTHH:MM:SSZ>
39
+ Creating Model: gemini-3.5-flash
40
+ ---
41
+
42
+ # Lower-Level Design: <Application Name>
43
+
44
+ ## Technical Metadata
45
+ - **System Name:** <Application Name> (Internal Engineering Specification)
46
+ - **Document Version:** 1.0.0
47
+ - **Document Status:** Draft for Review
48
+ - **Engineering Lead:** Development & Platform Engineering Team
49
+ - **Target Audience:** Software Engineers, Database Administrators, Platform Reliability Engineers
50
+
51
+ ---
52
+
53
+ ## 1. System Components and Service Topology
54
+ - 1.1 Physical Hosting and Runtime Environment (Hostnames, IPs, OS, service manager like NSSM/systemd, ports)
55
+ - 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
+
58
+ ## 2. API Specifications and Internal Contracts
59
+ - 2.1 Backend Router Structure and Endpoint Inventory (Paths, HTTP methods, route handlers, middleware)
60
+ - 2.2 Data Transfer Objects (DTOs) and Validation Schemas (Pydantic models, JSON contracts)
61
+ - 2.3 Error Handling, HTTP Status Codes, and Logging Protocols
62
+
63
+ ## 3. Physical Database Architecture
64
+ - 3.1 Host and Database Instances (Connection pools, drivers, timeouts, read/write segregation)
65
+ - 3.2 Schema and Table Definitions (Full physical tables, primary keys, indexes, foreign keys, partition strategy)
66
+ - 3.3 Database Views and Materialized Query Structures
67
+
68
+ ## 4. Stored Procedures and Analytical Logic Engine
69
+ - 4.1 Stored Procedure Catalog (Full list of procedures, executing hosts, input/output parameters)
70
+ - 4.2 Analytical Rules and Exception Detection Logic (Pillars / Rules mapping, rating formulas, tolerances)
71
+ - 4.3 Stored Procedure Execution Workflow (Mermaid execution flowchart)
72
+
73
+ ## 5. ETL, Batch Jobs, and Refresher Pipeline
74
+ - 5.1 Batch Ingestion and Staging Scripts (Command-line triggers, script paths, pre-flight checks)
75
+ - 5.2 Background Refresher Service Loop (Watermark polling logic, cadence, transaction locks)
76
+ - 5.3 Exception Logging, State Registers, and KPI Calculation
77
+
78
+ ## 6. Integration Endpoints and External Services
79
+ - 6.1 Downstream Systems and Gateways (OAuth2 tokens, headers, payload structures)
80
+ - 6.2 External Data Feeds and Clearing House File Formats
81
+
82
+ ## 7. Reliability, Operational Runbooks, and Recovery
83
+ - 7.1 Health Checks, Heartbeat Probes, and Diagnostic Endpoints
84
+ - 7.2 Failure Modes, Recovery Procedures, and Re-run Idempotency
85
+ - 7.3 Operational Runbooks and Diagnostic Commands
86
+ ```
87
+
88
+ ## Conversion Workflow
89
+ 1. Write the canonical LLD Markdown file to `docs/<app>/<app>-lld.md`.
90
+ 2. Run the conversion script:
91
+ ```bash
92
+ python scripts/convert_doc_to_confluence.py docs/<app>/<app>-lld.md --output docs/<app>/<app>-lld.html
93
+ ```
94
+ 3. Verify that the output validates as well-formed XML and contains `<ac:structured-macro ac:name="plantuml">` blocks with `skinparam linetype ortho`.