CCT — Project Nova
Session Statistics · 2026-05-16

Project Nova, by the numbers — how we build it and what we've built.

A snapshot of where Project Nova stands today. Six views: the AI-DLC methodology the team operationalized to drive it all, built-and-deployed inventory, test surface, CLI surface, the tools and services that support the work, and overall codebase footprint.

0
Tools & reports deployed
0
CLI commands shipped
0
Test cases
0
Claude Code skills
0
Lines of code
5 deployed tools, 6 maintenance editors, 11 reports One AI-DLC, every migration Humans + AI agents, same business logic
Section 1 · A major focus of the past several weeks

Development methodology — CCT-AIDLC

A custom AI-Driven Development Lifecycle tailored to CCT's WinForms-to-SPA migration. Intent-driven, plan-first, user-story-led, AI-drafted and human-validated. One method, every migration.

Workflow at a glance

Phase 1 · Inception 1Scaffold 2Sources 3Plan 4Stories 5Prototype Inception Gate
Approved intent
Phase 2 · Construction 6Domain 7ADRs 8Design 9Tests parallel 10Bolts 11Code 12Doc sync Design Gate

Skill catalog — operationalized as Claude Code slash commands

Skills are reusable Claude Code slash commands that package each workflow step as a self-contained procedure — prompt, inputs, expected artifacts, and gate behavior. Encoding the method as skills means any teammate (or agent) can run a migration step with one command and produce the same artifacts in the same place every time.

$

Step skills

12
/cct-intent /cct-intent-update /cct-plan /cct-stories /cct-prototype /cct-domain /cct-adrs /cct-design /cct-tests /cct-bolts /cct-code-bolt /cct-doc-sync
$

Branching utilities

6
/cct-pr-inception /cct-pr-construction /cct-chore /cct-release /cct-rebase-intent /cct-commit
$

Workspace + repo utilities

3
/cct-backlog /change-summary /test-summary

Why it matters

Predictable delivery

Every intent passes through the same gates, produces the same artifacts, and is reviewed by the same roles.

Parallel work

Construction's domain, ADRs, design, and tests run concurrently. Bolts run sequentially with explicit dependency tracking.

Human-validated AI

AI drafts every artifact; humans approve at two explicit gates — End-of-Inception and End-of-design.

Scales with the program

One method, every migration. No per-tool bespoke planning, no rediscovery of the workflow each time.

Section 2

Tools, reports & shared components

What we've built and deployed so far. Tabs below switch between the five categories.

Full-stack tools with their own API and SPA module. Operators use these to drive day-of business.

tool

Currency Bag Management

Vault Management → Cashier Operations. Load / Modify / Approve / Unload lifecycle.

Click to view 6 screenshots
tool

Machine Count Management

Vault Management → Count Management. Slot-machine count Create / Edit / Void.

Click to view 2 screenshots
tool

Table Count Management

Vault Management → Count Management. Table-game count Create / Edit / Void.

Click to view 2 screenshots
tool

Home

Dashboard landing page.

tool

Vault Management

Vault Management → Vault Operations. Shell shipped; command intents still pending.

Click to view 3 screenshots

Configuration and master-data editors. Same architecture as interactive tools, but the workload is admin-side CRUD rather than daily floor operations.

maintenance

Cash Count Category Maintenance

Maintenance → Financial Configuration. Bill-sorter count category CRUD.

Click to view 3 screenshots
maintenance

Department Maintenance

Maintenance → Personnel & Security. Department + Title CRUD with role mapping.

Click to view 2 screenshots
maintenance

Deposit Category Type Maintenance

Maintenance → Financial Configuration. Category CRUD with dual-list TransactionType assignment.

Click to view 2 screenshots
maintenance

Employee Maintenance

Maintenance → Personnel & Security. Employee + identity + role assignment CRUD.

Click to view 2 screenshots
maintenance

Ticket Type Maintenance

Maintenance → Gaming Configuration. Ticket type header + offsets editor.

Click to view 3 screenshots
maintenance

Vault Location Maintenance

Maintenance → Gaming Configuration. Full CRUD over dbo.VaultType.

Click to view 2 screenshots

Read-only reports driven by a definition JSON plus a thin <ReportViewer> wrapper. No per-report API — all of them share one handler. Reports currently support a single data source per report; multi-source support is still on the roadmap.

report

Account Codes

Reporting → Accounting Reports.

Click to view screenshot
Account Codes report
Account Codes · click to flip back
report

Bank Deposit History

Reporting → Accounting Reports.

Click to view screenshot
Bank Deposit History report
Bank Deposit History · click to flip back
report

BMDW Machine

Reporting → Test.

Click to view screenshot
BMDW Machine report
BMDW Machine · click to flip back
report

Cashier Detail

Reporting → Audit Reports.

Click to view screenshot
Cashier Detail report
Cashier Detail · click to flip back
report

Document Search

Reporting → Audit Reports.

Click to view screenshot
Document Search report
Document Search · click to flip back
report

Document Search (Unsigned)

Reporting → Audit Reports.

Click to view screenshot
Document Search (Unsigned) report
Document Search (Unsigned) · click to flip back
report

Employee Search

Reporting.

Click to view screenshot
Employee Search report
Employee Search · click to flip back
report

Found Money History

Reporting → Vault Reports.

Click to view screenshot
Found Money History report
Found Money History · click to flip back
report

Locked Game Days

Reporting → Accounting Reports.

Click to view screenshot
Locked Game Days report
Locked Game Days · click to flip back
report

Vault Activity

Reporting → Vault Reports. Vault activity rollup.

report

Vault Transactions

Reporting → Vault Reports. Multi-vault, multi-shift transaction grid with money-column totals.

Click to view screenshot
Vault Transactions report
Vault Transactions · click to flip back

Reusable building blocks consumed by multiple tools. Each one is owned by the intent that first shipped it; later intents inherit.

component

denom calculator

Cash, Chip, NCV Chip, Currency Bag, Premades, and Other Items counters.

Click to view screenshot
Denom calculator screenshot
denom calculator · click to flip back
component

signature

Document signature capture — mouse-only for now; Topaz hardware support deferred.

Click to view screenshot
Document signature capture screenshot
signature · click to flip back
component

client-options

Workstation client-options editor.

Click to view screenshot
Client options editor screenshot
client-options · click to flip back
component

grid

Shared ReportGrid / data grid with footer aggregation and auto-sizing.

component

report

<ReportViewer> plus the criteria runtime.

component

shell

Application shell: sidebar, ribbon, command bus.

component

deposit-category-offsets

Dual-list offset picker.

component

common

Miscellaneous cross-tool primitives.

Platform services that aren't user-facing tools, but power everything else.

auth-handler api-key-handler config-handler user-config-handler dropdown-lookup-handler report-handler calculator client-options shared-middleware

Migration scope

Counts across the entire CasinoInsight v6.1 WinForms feature surface that has to land in the web app, bucketed by type and status. Internal diagnostic tools, deprecated modules, and analytics / data-warehouse features are excluded.

Architecture
6 / 29 · 20.7%
23 left
Tool
1 / 22 · 4.5%
21 left
Report
8 / 155 · 5.2%
147 left
Misc.
8 / 80 · 10.0%
72 left
Total
23 / 286 · 8.0%
263 left

Note — every screenshot in this section is captured automatically by a Playwright script and synced to S3 on each deploy. No hand-pasted images, no stale UI in the deck.

Section 3

Test surface

Every test file in the repo, bucketed by type (rows) and area (columns). Counts are cases per file. Contract files are type-level assertions and count as one case each.

TypeFrontendHandlersCLICross-cuttingTotal
Unit48387138861,748
Integration2222
Contract1414
Smoke51217
E2E669669
Total4838714157012,470

Runner breakdown

Playwright
681 cases · 47 files
Real browser, real Cognito, real API.
Vitest
1,775 cases · 340 files
Fast, in-process, mocked or child-process.
Unit

Fast and in-process

Mocked dependencies. The bulk of the surface. Vitest.

Integration

CLI ↔ handler

CLI commands running against handler logic with mocked AWS / DB. Vitest.

Contract

Type-level assertions

app/contracts/*.contract.ts keeps handler responses, CLI requests, and shared schemas aligned.

Smoke

Post-deploy probes

SPA smoke (Playwright) and CLI smoke (Vitest spawning the compiled cct CLI).

E2E

Full stack

Playwright against a real browser, real Cognito, and the real API.

Note — Claude doesn't just write the code and the tests — it also drafts the user-facing documentation and the publicly accessible technical guides that ship alongside each tool, kept in lockstep with the implementation.

Section 4

CCT CLI surface

The cct CLI is the agent-facing surface of Insight Cash. Every interactive tool, maintenance editor, and report is reachable from the terminal using the same business logic, auth, idempotency, and audit guarantees as the SPA.

Designed for AI agents first. Claude — or any MCP-aware automation — can authenticate, run a shift close, reconcile a currency bag, export a report, and verify the result programmatically, without a browser, a screen, or a human in the loop, and leaving the same RBAC + audit trail an operator would. Stable command names, machine-readable JSON output, deterministic exit codes, and per-write idempotency keys are what make Insight Cash agentically operable — Claude doesn't need a UI to do the job, it needs a contract, and the CLI is that contract.

Humans get the same surface as a side effect — ops engineers wire cct health into CI gates, power users script bulk operations, anyone who'd rather type than click.

The CLI ships 18 topics and 67 commands.

Same business logic, different surface — load a currency bag

Both paths hit the same handler, the same SP, the same RBAC, and leave the same audit trail. Only the surface differs.

Human via Website

  1. Open the SPA in a browser, sign in via Cognito hosted UI
  2. Navigate to Currency Bag Management
  3. Click Load New Bag
  4. Pick denomination, vault, deposit category from dropdowns
  5. Enter amount, seal number, description
  6. Capture banker signature on the signature pad
  7. Click Save, confirm the dialog
  8. Read the success toast; new bag appears in the grid

AI agent via the CLI

  1. Authenticate with a scoped API key
  2. Run currency-bag load with the bag fields inline
  3. Parse JSON response, branch on exit code
cct login --api-key=$IC_KEY
cct currency-bag load \
  --denomination USD100 \
  --vault-type-id 11111111-...-...-...-111111111111 \
  --amount 1000 \
  --description 'Night audit bag' \
  --signature banker=./banker.png \
  --json

Command Library

TW Tools (write surfaces)
Currency Bag, Machine Count, Table Count — full lifecycle commands.
list · create · edit · void · approve · unload · history · export
Click to view currency-bag screenshot
cct currency-bag command output
cct currency-bag · click to flip back
MT Maintenance
Department (incl. Title sub-topic), Vault Location, Employee, Ticket Type, Cash Count Category, Deposit Category Type, Client Options.
Click to view employee screenshot
cct employee command output
cct employee · click to flip back
RE Reports (generic engine)
One command set covers all 11 deployed reports.
reports list · describe · run · export · history
Click to view reports screenshot
cct reports list and run output
cct reports list & run · click to flip back
AH Auth, Audit, Health, Infrastructure
Operator-side observability and an escape hatch for ad-hoc API calls.
auth keys · auth logins · connections list · health · api
Click to view health screenshot
cct health command output
cct health · click to flip back
SI Session & Identity
Sign-in, profile + site switching, identity introspection.
login · logout · whoami · version · config · sites
Click to view whoami screenshot
cct whoami command output
cct whoami · click to flip back
Section 5

Tools & services

A deliberately minimal toolchain. Four external services, every one of them accessible by both humans and AI agents through standard protocols.

Source Control

GitHub

All migration work flows through branched intents, per-bolt sub-branches, and PR-gated review checkpoints aligned to the AI-DLC method.

Communication · MCP

Slack

Team communication, accessible to Claude through the official Model Context Protocol server. Project channels are first-class context for AI agents.

Knowledge · MCP

Notion

Exported project-related information — specs, decision logs, archived context — accessible to Claude through the official MCP server.

Code Quality · MCP

SonarQube Cloud

Static analysis and quality gate for AI-authored code. Claude runs guide-and-verify scans on every bolt before commit — CRITICAL and HIGH issues never reach a PR.

Why limit the tooling?

The deliberately small surface area is the point. Fewer tools means three concrete wins.

1

Easier context for Claude

AI agents read source-of-truth content from a handful of well-defined services instead of fishing across a sprawling SaaS estate.

2

Easier workflow changes

When the team adjusts the migration process, changes are concentrated in this repo plus four external services — not scattered across a dozen integrations.

3

Lower coordination cost

Every team member, and every agent, knows where to look for any piece of information.

Section 6

Codebase statistics

Overall footprint of the Insight Cash repository as of 2026-05-16 — code, documentation, and the skills we built to drive it all.

7,019
Application Code files
705k
Application Code lines
768
Markdown files
315k
Markdown lines
37
Skills developed

The World of Markdown

Excludes node_modules, test-results, dist, build, .next, coverage, out, temp, .terraform.

context/
278 / 194,608
aidlc/
245 / 84,759
architecture/
49 / 13,819
app/
142 / 9,817
.claude/
42 / 9,369
other/
6 / 477
TOTAL
768 / 314,677

Application Code

app/6,908 files · 694,550 lines
database_changes/111 files · 11,061 lines
Combined total7,019 files · 705,611 lines
Headline numbers

The numbers, in one place

Everything in this deck condensed to a single summary — useful as the title slide or a follow-up handout.

Built & deployed

Interactive tools5
Maintenance tools6
Reports11
Shared frontend components8
Cross-cutting backend APIs9
CLI topics / commands18 / 67

Test surface

Unit test cases / files2,470 / 401
E2E test cases669
Handler unit test cases871
Total test cases4,010

Codebase

Application code705k lines
Application code files7,019
Markdown documentation315k lines
Markdown files768

Skills

Skills developed37
CCT-AIDLC20
Code generation5
Utilities & analysis9
Infrastructure2