@caddis/cli 0.4.20 → 0.4.21

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-extras",
3
- "version": "1.3.31",
3
+ "version": "1.3.32",
4
4
  "description": "caddis-extras — the long-tail skills for the Antigravity (agy) caddis plugin; install alongside caddis for the full set."
5
5
  }
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  type: design
3
3
  status: current
4
- feature: invoice-composition-replacement
4
+ feature: britebill-replacement
5
5
  creation-agent: caddis
6
6
  Original Author: Antigravity
7
7
  Creation Date: 2026-09-19T13:35:00Z
@@ -11,32 +11,23 @@ Last Updated: 2026-09-19T14:05:00Z
11
11
  Last Model Used: gemini-3.8-flash
12
12
  ---
13
13
 
14
- <!--
15
- GOLD STANDARD REFERENCE for the hld skill.
16
- This is a real HLD whose organisation-specific facts (company, vendors, hosts, paths, customer
17
- volumes) were replaced with neutral ones so it can ship publicly. Everything the skill copies
18
- from it is unchanged: the 8-section structure, heading numbering, the diagram types and their
19
- styling, the ID schemes (SYS_nn, INT_nn, REQ-nn), and every table's columns. Match THAT, not
20
- the domain.
21
- -->
22
-
23
- # High-Level Architecture (HLA): Invoice Composition Replacement Platform
14
+ # High-Level Architecture (HLA): BriteBill Replacement Platform
24
15
 
25
16
  ## 1. Executive Summary
26
17
 
27
18
  ### 1.1 Initiative Goal
28
- The Invoice Composition Replacement Platform replaces the proprietary third-party invoice composition system that a telecommunications operator uses for fixed-line billing.
19
+ The BriteBill Replacement Platform replaces the proprietary third-party BriteBill invoice composition system used for Virgin Media Ireland fixed billing.
29
20
 
30
21
  This platform achieves the following primary business goals:
31
22
  - It eliminates third-party licensing costs, proprietary dependencies, and vendor software lock-in.
32
23
  - It provides a locally controlled, deterministic, and auditable composition engine.
33
24
  - It delivers high-throughput batch generation for four recurring monthly billing cycles: `BR-07`, `BR-14`, `BR-21`, and `BR-28`.
34
- - It processes approximately 100,000 customer accounts per billing run within a four-hour service level agreement (SLA) window.
25
+ - It processes approximately 124,000 customer accounts per billing run within a four-hour service level agreement (SLA) window.
35
26
  - It simultaneously produces four synchronized output channels from a single canonical document model: Customer PDF, Print Spool AFP, Mailroom Index JRN, and Digital Portal XML.
36
27
  - It guarantees full financial integrity through mandatory, fail-closed automated reconciliation gates.
37
28
 
38
29
  ### 1.2 Solution Architecture Summary
39
- The solution operates as a standalone Python-based batch processing engine deployed on host `batch-host-01`. It processes raw billing stream files (`.EN`) from the upstream billing engine, executes financial reconciliation, and renders customer-facing outputs. The engine isolates every run in an immutable staging directory, verifies cryptographic checksums, and publishes outputs atomically only after all financial and population gates pass.
30
+ The solution operates as a standalone Python-based batch processing engine deployed on host `iegbcoppoc02`. It processes raw Kenan billing stream files (`.EN`), executes financial reconciliation, and renders customer-facing outputs. The engine isolates every run in an immutable staging directory, verifies cryptographic checksums, and publishes outputs atomically only after all financial and population gates pass.
40
31
 
41
32
  ### 1.3 Business Value & Operational Outcomes
42
33
  - **Cost Reduction**: Complete decommissioning of third-party composition licenses.
@@ -49,12 +40,12 @@ The solution operates as a standalone Python-based batch processing engine deplo
49
40
  ## 2. Project Context and Scope
50
41
 
51
42
  ### 2.1 Background
52
- The operator's fixed customer billing produces monthly invoices across four staggered billing cycles. The legacy composition workflow relied on an external vendor system. This introduced high annual licensing costs and operational delays whenever regulatory or template changes occurred. The replacement platform moves invoice composition entirely onto internal infrastructure using high-performance open standards.
43
+ Virgin Media Ireland fixed customer billing produces monthly invoices across four staggered billing cycles. The legacy composition workflow relied on an external vendor system (BriteBill). This introduced high annual licensing costs and operational delays whenever regulatory or template changes occurred. The BriteBill Replacement Platform moves invoice composition entirely onto internal infrastructure using high-performance open standards.
53
44
 
54
45
  ### 2.2 Scope
55
46
 
56
47
  #### 2.2.1 In Scope
57
- - Ingestion of raw `.EN` tagged-record stream files generated by the upstream billing engine.
48
+ - Ingestion of raw `.EN` tagged-record stream files generated by the upstream Kenan billing engine.
58
49
  - Syntactic and structural validation of incoming batch streams with marker-file arrival detection.
59
50
  - Transformation of raw stream records into an immutable, strongly typed canonical domain model.
60
51
  - Full-population financial reconciliation covering invoice totals, line item aggregates, tax breakdowns, and balance brought forward.
@@ -67,14 +58,14 @@ The operator's fixed customer billing produces monthly invoices across four stag
67
58
  - Atomic publication to destination endpoints with isolated staging and late-arriving release markers.
68
59
 
69
60
  #### 2.2.2 Out of Scope
70
- - Upstream rating, charging, or billing account balance calculation performed by the billing engine.
61
+ - Upstream rating, charging, or billing account balance calculation performed by Kenan.
71
62
  - Direct management or control of physical print-house insertion machinery and postal sorters.
72
63
  - Real-time customer web serving; online portals ingest published outputs asynchronously.
73
64
  - Probabilistic, generative, or Large Language Model (LLM) components in the financial generation path.
74
65
 
75
66
  ### 2.3 Architecture Boundaries and Key Assumptions
76
67
  - **Deterministic Processing**: All calculations and document renderings produce identical, byte-reproducible outputs for identical inputs.
77
- - **Local Filesystem Isolation**: Network-isolated execution on `batch-host-01` with zero runtime external API or HTTP dependencies.
68
+ - **Local Filesystem Isolation**: Network-isolated execution on `iegbcoppoc02` with zero runtime external API or HTTP dependencies.
78
69
  - **Fail-Closed Operations**: Any financial discrepancy, unmapped record, or population count mismatch immediately halts the run and prevents output release.
79
70
 
80
71
  ---
@@ -177,7 +168,7 @@ sequenceDiagram
177
168
  Render->>Storage: Write outputs into staging directories
178
169
 
179
170
  Note over Orch,Targets: Stage 5: Population Audit & Atomic Release
180
- Orch->>Audit: Verify population counts (PDF == XML == AFP == 100,000)
171
+ Orch->>Audit: Verify population counts (PDF == XML == AFP == 124,024)
181
172
  Orch->>Audit: Seal freeze-manifest.json and compute final SHA-256 digests
182
173
  Orch->>Audit: Transition to RunLifecycle::READY_FOR_RELEASE
183
174
  Orch->>Targets: Copy verified artifacts to delivery endpoints
@@ -201,19 +192,19 @@ flowchart TD
201
192
 
202
193
  subgraph Upstream["Upstream Billing Systems"]
203
194
  direction LR
204
- SYS_01["SYS_01: Billing & Rating Engine<br/>Rating & Billing Lifecycle"]:::existingStyle
195
+ SYS_01["SYS_01: Kenan Billing Engine<br/>Rating & Billing Lifecycle"]:::existingStyle
205
196
  end
206
197
 
207
- subgraph CorePlatform["Invoice Composition Replacement Platform (batch-host-01)"]
198
+ subgraph CorePlatform["BriteBill Replacement Platform (iegbcoppoc02)"]
208
199
  direction LR
209
- SYS_02["SYS_02: Composition Replacement Engine<br/>Ingestion, Mapping, Reconcile & Render"]:::newStyle
200
+ SYS_02["SYS_02: BriteBill Replacement Engine<br/>Ingestion, Mapping, Reconcile & Render"]:::newStyle
210
201
  SYS_06["SYS_06: Operations Control Centre<br/>Audit Journal, Sealed Manifest & CLI"]:::newStyle
211
202
  end
212
203
 
213
204
  subgraph Downstream["Downstream Distribution Channels"]
214
205
  direction LR
215
206
  SYS_03["SYS_03: Print House & Mailroom<br/>Physical Print & Insertion Spool"]:::existingStyle
216
- SYS_04["SYS_04: Customer Self-Service Portal<br/>Online eBilling XML Viewer"]:::existingStyle
207
+ SYS_04["SYS_04: My Virgin Media Portal<br/>Online eBilling XML Viewer"]:::existingStyle
217
208
  SYS_05["SYS_05: Enterprise Document Archive<br/>Customer PDF Storage & Email"]:::existingStyle
218
209
  end
219
210
 
@@ -231,23 +222,23 @@ The table below catalogs all systems and platforms within the solution boundary:
231
222
 
232
223
  | ID | Application / Component | Application Type | Description | Impacted |
233
224
  |---|---|---|---|---|
234
- | `SYS_01` | Billing & Rating Engine | Billing / Rating | Upstream rating engine producing periodic `.EN` billing stream files. | No |
235
- | `SYS_02` | Composition Replacement Engine | Batch Engine | Core batch orchestration, mapping, financial reconciliation, and multi-channel rendering engine. | Yes |
225
+ | `SYS_01` | Kenan Billing Engine (Amdocs) | Billing / Rating | Upstream rating engine producing periodic `.EN` billing stream files. | No |
226
+ | `SYS_02` | BriteBill Replacement Composition Engine | Batch Engine | Core batch orchestration, mapping, financial reconciliation, and multi-channel rendering engine. | Yes |
236
227
  | `SYS_03` | External Print House & Mailroom Spool | Print Production | Commercial printing facility ingesting MO:DCA AFP spools and JRN insertion records. | No |
237
- | `SYS_04` | Customer Self-Service Portal | Web Portal | Customer billing portal ingesting structured eBilling XML for web presentation. | No |
228
+ | `SYS_04` | My Virgin Media Digital Self-Service Portal | Web Portal | Customer billing portal ingesting structured eBilling XML for web presentation. | No |
238
229
  | `SYS_05` | Enterprise Document Archive & Dispatcher | Document Repository | Long-term customer communications repository and email dispatcher ingesting certified PDF invoices. | No |
239
230
  | `SYS_06` | Operations Control Centre & Audit Journal | Ops & Governance | Operational monitoring CLI, telemetry aggregator, and sealed run manifest validator. | Yes |
240
231
 
241
- #### 4.2.1 SYS_01: Billing & Rating Engine
242
- The billing engine calculates customer monthly billing totals, rating, and payment adjustments. At cycle close, it exports raw `.EN` tagged-record stream files to the staging transfer area.
232
+ #### 4.2.1 SYS_01: Kenan Billing Engine (Amdocs)
233
+ The Kenan engine calculates customer monthly billing totals, rating, and payment adjustments. At cycle close, Kenan exports raw `.EN` tagged-record stream files to the staging transfer area.
243
234
 
244
- #### 4.2.2 SYS_02: Composition Replacement Engine
235
+ #### 4.2.2 SYS_02: BriteBill Replacement Composition Engine
245
236
  The core processing component implemented in Python. It executes local staging, canonical data mapping, strict financial reconciliation, and parallel document rendering.
246
237
 
247
238
  #### 4.2.3 SYS_03: External Print House & Mailroom Spool
248
239
  Receives binary MO:DCA AFP print spools and JRN insertion index files for postal sorting, physical paper printing, envelope inserting, and mail dispatch.
249
240
 
250
- #### 4.2.4 SYS_04: Customer Self-Service Portal
241
+ #### 4.2.4 SYS_04: My Virgin Media Digital Self-Service Portal
251
242
  The customer-facing digital web application that parses structured XML invoice streams to present interactive online bill breakdowns.
252
243
 
253
244
  #### 4.2.5 SYS_05: Enterprise Document Archive & Dispatcher
@@ -262,14 +253,14 @@ The table below details all communication interfaces across the platform boundar
262
253
 
263
254
  | ID | Type / Protocol | From | To | Description | Connectivity |
264
255
  |---|---|---|---|---|---|
265
- | `INT_01` | SFTP / SMB File Feed | `SYS_01` | `SYS_02` | Tagged-record billing stream (`.EN`) and cycle marker file. | Existing Connectivity |
256
+ | `INT_01` | SFTP / SMB File Feed | `SYS_01` | `SYS_02` | Kenan tagged-record billing stream (`.EN`) and cycle marker file. | Existing Connectivity |
266
257
  | `INT_02` | Secure File Transfer | `SYS_02` | `SYS_03` | MO:DCA AFP binary print stream partitioned at source-EN granularity. | New Connectivity |
267
258
  | `INT_03` | Secure File Transfer | `SYS_02` | `SYS_03` | Tabular ASCII index files (`.JRN`) containing mailroom insertion records. | New Connectivity |
268
259
  | `INT_04` | Secure File Transfer | `SYS_02` | `SYS_04` | Lossless structured XML documents matching customer portal schema. | New Connectivity |
269
260
  | `INT_05` | Secure File Transfer | `SYS_02` | `SYS_05` | Certified, byte-deterministic PDF customer invoices. | New Connectivity |
270
261
  | `INT_06` | Local File / JSONL | `SYS_02` | `SYS_06` | Append-only execution journal, telemetry events, and sealed manifest. | New Connectivity |
271
262
 
272
- #### 4.3.1 INT_01: Billing Stream & Completion Marker
263
+ #### 4.3.1 INT_01: Kenan Billing Stream & Completion Marker
273
264
  Transfers raw `.EN` data files containing account records, billing headers, charge breakdowns, and payment histories. A completion marker file signals batch completeness.
274
265
 
275
266
  #### 4.3.2 INT_02: MO:DCA AFP Print Spools
@@ -282,7 +273,7 @@ Delivers ASCII index files specifying sheet counts, account identifiers, envelop
282
273
  Transfers schema-validated XML documents containing invoice data for online customer self-service viewing.
283
274
 
284
275
  #### 4.3.5 INT_05: Deterministic PDF Invoices
285
- Transfers byte-deterministic PDF documents containing vector brand artwork, billing transaction tables, and payment slips.
276
+ Transfers byte-deterministic PDF documents containing vector Virgin Media branding, billing transaction tables, and Giro payment slips.
286
277
 
287
278
  #### 4.3.6 INT_06: Telemetry & Sealed Manifest
288
279
  Emits structured JSONL telemetry and a cryptographic `release_manifest.json` sealing file counts, execution parameters, and SHA-256 hashes.
@@ -304,7 +295,7 @@ The platform provides administrative command-line surfaces for operations and sc
304
295
  ## 5. High-Level Data and Storage Architecture
305
296
 
306
297
  ### 5.1 Host & Working Storage Topology
307
- The engine executes entirely within a dedicated local filesystem hierarchy on host `batch-host-01`. Every batch run is isolated by unique run and attempt identifiers:
298
+ The engine executes entirely within a dedicated local filesystem hierarchy on host `iegbcoppoc02`. Every batch run is isolated by unique run and attempt identifiers:
308
299
 
309
300
  ```
310
301
  <working_root>/<run_id>/<attempt_id>/
@@ -365,9 +356,9 @@ classDiagram
365
356
 
366
357
  ### 5.3 Multi-Channel Output Volume & Specifications
367
358
  Production metrics established during candidate certification (ATT-006 baseline):
368
- - **PDF Documents**: 100,750 total PDF files (100,000 primary invoices + 750 secondary itemized schedules).
369
- - **XML Documents**: 100,000 structured customer eBilling files.
370
- - **AFP Spools**: 32 consolidated MO:DCA print files matching the 32 upstream input batches.
359
+ - **PDF Documents**: 124,980 total PDF files (124,024 primary invoices + 956 secondary itemized schedules).
360
+ - **XML Documents**: 124,024 structured customer eBilling files.
361
+ - **AFP Spools**: 32 consolidated MO:DCA print files matching the 32 upstream Kenan input batches.
371
362
  - **JRN Journals**: 32 postal index files containing 100% field parity with postal insertion machinery.
372
363
 
373
364
  ---
@@ -382,7 +373,7 @@ The platform security architecture adheres to strict controls defined in `docs/S
382
373
 
383
374
  ### 6.2 Zero Runtime Network Access
384
375
  - No module within `ingestion/`, `mapping/`, `templating/`, or `rendering/` initiates external HTTP or network requests during generation.
385
- - All fonts, styling assets, and configuration templates reside locally on disk on `batch-host-01`.
376
+ - All fonts, styling assets, and configuration templates reside locally on disk on `iegbcoppoc02`.
386
377
 
387
378
  ### 6.3 Working Storage Path Isolation & Traversal Defense
388
379
  - File discovery resolves candidate paths and rejects any file whose resolved parent directory escapes the staging root.
@@ -390,7 +381,7 @@ The platform security architecture adheres to strict controls defined in `docs/S
390
381
 
391
382
  ### 6.4 Privacy and Audit Redaction
392
383
  - Domain models override string representations to redact personal customer names and street addresses from log outputs.
393
- - Upstream customer metadata categories (`FIRSTNAME`, `EMAIL`, `OFFNETID`, `POSTCODE`) are dropped during ingestion mapping.
384
+ - Upstream customer metadata categories (`FIRSTNAME`, `EMAIL`, `OFFNETID`, `EIRCODE`) are dropped during ingestion mapping.
394
385
  - Audit manifests record only source file basenames, billing reference numbers, and one-way SHA-256 correlation identifiers.
395
386
 
396
387
  ---
@@ -401,10 +392,10 @@ The platform security architecture adheres to strict controls defined in `docs/S
401
392
 
402
393
  | Requirement | Description | Component Implementation | Verification Control |
403
394
  |---|---|---|---|
404
- | `REQ-01` | Ingest `.EN` tagged-record streams | `SYS_02` (`ingestion/en_reader.py`) | Automated parser unit tests and zero-failure batch validation. |
395
+ | `REQ-01` | Ingest Kenan `.EN` tagged-record streams | `SYS_02` (`ingestion/en_reader.py`) | Automated parser unit tests and zero-failure batch validation. |
405
396
  | `REQ-02` | Strong financial reconciliation | `SYS_02` (`reconciliation/checks.py`) | Full-population balance reconciliation gate (`reconcile()`). |
406
397
  | `REQ-03` | Byte-deterministic PDF rendering | `SYS_02` (`rendering/mupdf_renderer.py`) | SHA-256 byte-identity verification against certified baseline. |
407
- | `REQ-04` | Multi-channel parity (PDF/XML/AFP/JRN) | `SYS_02` (`mapping/*`, `rendering/*`) | Cross-output population count verification (`100,000` exact). |
398
+ | `REQ-04` | Multi-channel parity (PDF/XML/AFP/JRN) | `SYS_02` (`mapping/*`, `rendering/*`) | Cross-output population count verification (`124,024` exact). |
408
399
  | `REQ-05` | Atomic release & staging isolation | `SYS_02` (`batch/orchestrator.py`) | Zero output visibility before `READY_FOR_RELEASE` and marker written last. |
409
400
  | `REQ-06` | Auditability & run sealing | `SYS_06` (`audit/manifest.py`) | Cryptographic `release_manifest.json` generation. |
410
401
 
@@ -416,13 +407,13 @@ The platform security architecture adheres to strict controls defined in `docs/S
416
407
 
417
408
  | Term | Definition |
418
409
  |---|---|
419
- | `.EN` | Proprietary tagged-record flat file format emitted by the upstream billing engine. |
410
+ | `.EN` | Proprietary tagged-record flat file format emitted by the Kenan billing engine. |
420
411
  | AFP | Advanced Function Presentation / MO:DCA binary print architecture used in industrial mailrooms. |
421
412
  | JRN | Journal insertion index file coordinating automated paper folding and envelope stuffing. |
422
413
  | Byte Determinism | The guarantee that identical inputs rendered with identical parameters yield identical binary SHA-256 hashes. |
423
414
  | Fail-Closed | An architectural principle where any detected inconsistency aborts processing before releasing outputs. |
424
415
 
425
416
  ### 8.2 Reference Documents
426
- - `<repo>/README.md`: System operational runbook and architecture overview.
427
- - `<repo>/docs/SECURITY_AND_PRIVACY.md`: Security controls and privacy safeguards.
428
- - `<repo>/docs/PRODUCTION_CANDIDATE_ATT006.md`: Candidate certification report and benchmark results.
417
+ - `\\iegbcoppoc02\G\britebill-replacement\README.md`: System operational runbook and architecture overview.
418
+ - `\\iegbcoppoc02\G\britebill-replacement\docs\SECURITY_AND_PRIVACY.md`: Security controls and privacy safeguards.
419
+ - `\\iegbcoppoc02\G\britebill-replacement\docs\PRODUCTION_CANDIDATE_ATT006.md`: Candidate certification report and benchmark results.
@@ -2,7 +2,7 @@
2
2
  "poolVersion": "1.3.112",
3
3
  "bundles": {
4
4
  "antigravity-plugin": "1.3.112",
5
- "antigravity-plugin-extras": "1.3.31",
5
+ "antigravity-plugin-extras": "1.3.32",
6
6
  "codex": "unknown"
7
7
  }
8
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@caddis/cli",
3
- "version": "0.4.20",
3
+ "version": "0.4.21",
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",