⏱ TIME MACHINE¶
UCCA / UCCO Build Session Handover
18 March 2026 — Session 17 (The Composer Session)
"Invisible tools that make your work visible."
Paste this document as your first message in the next Claude session.
1. Session 17 Summary¶
Session 17 was the product session. No briefs closed — Alex is mid-build on B-CAT-01. But the product thinking that landed today is the most significant since Session 13.
The session opened with the Session 16 Time Machine loaded. R-03A execution summary arrived from Alex — he had asked Tim to manually create a Stripe product. Tim refused. That refusal unlocked the entire commercial architecture rethink: Stripe is a zip-zap machine only, L3 is the product authority, forever.
From there the session built outward: product catalogue → price list → docket → Composer → shell build → AQTF mapping → university credit recognition. By the end, the full UCCA thesis was expressed in a single product architecture.
The Composer prototype was built as an interactive artifact in chat (Twilio Studio-style). Tim correctly identified it was too cost-heavy. A rebuild is queued with the gate-first, session-record, Twilio-style canvas model.
2. What Was Delivered This Session¶
| Deliverable | Status | Notes |
|---|---|---|
| Stripe-as-zip-zap architectural rule | DECIDED ✓ | L3 is product authority. Stripe gets amount + currency only. Never holds product definitions. |
| Brief B-CAT-01 | SENT TO ALEX ✓ | L3 product catalogue schema, manager UI, Stripe push (amount only). Alex building now. |
| Brief sequence B-CAT-02, B-CAT-03 | DEFINED | Price list (L4 disclosure) and public pricing page. Not yet written as formal briefs. |
| Composer Spec v1.0 | IN PROGRESS | Full product architecture defined in session. Prototype built. Rebuild queued. |
| Composer prototype v1 | BUILT | Interactive artifact in Session 17 chat. Too cost-focused — v2 rebuild queued. |
| RTOpacks naming locked | DECIDED ✓ | Everything at L3/L4 is RTOpacks. UCCA catalogue is separate and future. |
| Brand line locked | DECIDED ✓ | "Invisible tools that make your work visible." |
| Full product vision | CAPTURED HERE | See Section 5. |
3. Alex Queue — In Priority Order¶
- B-CAT-01 — IN PROGRESS. Product catalogue schema in engine-db, manager UI in ops console COMMERCIAL section, Stripe push (amount only). OPS STUB: COMMERCIAL → Product Catalogue must show all 5 seeded products before B-CAT-02 drops.
- B-CAT-02 — NEXT. L4 RTO customer portal price list. Read-only disclosure surface. Logged view. Versioned to catalogue. "You were told." Brief not yet written — write before B-CAT-01 confirms deployed.
- B-CAT-03 — AFTER B-CAT-02. Public rtopacks.com.au pricing page pulls live from L3. No hardcoded prices anywhere in frontend ever.
- RTOpacks DNS cutover + SSL — Moodle on Hostinger (82.112.249.102). Make it reachable.
- Merge
feature/finance-page-mercury→ main (9 commits ahead) - Mobile breakpoints — ucca.online missing 480px and 360px
- DMARC hardening — p=none → p=reject across all zones
- OIDF conformance suite — deferred, requires local Java 17 + Gradle
- Mattr wallet manual test — deferred, requires phone + app install
4. Tim Queue¶
- ⚠️ URGENT —
ucca.com.auanducca.asiaexpire March 24. Confirm renewed at VentraIP. - Think on UCCA code system — spine of the corpus. Everything hangs off this.
- Contact Mavis — first content production run against Composer pipeline (post DNS cutover)
- Apple Developer cleanup — "United Community Colleges of America Inc" Distribution cert expired. Dead entity name. Low priority.
- Register
merchant.online.uccaMerchant ID in Apple Developer portal when payment brief drops.
5. The Product Architecture — Everything Decided This Session¶
This is the most important section. Capture before context is lost.
5.1 The Stripe Rule¶
Stripe is a payment rail only. L3 (RTOpacks product catalogue in engine-db) is the single source of truth for all product definitions, pricing, descriptions, entitlements, GST flags, and versioning.
On checkout: L3 pulls the product, sends amount + currency + our reference metadata to Stripe. Stripe processes the card. That's it. Swapping payment processors = zero product data migration.
5.2 The Brief Sequence¶
| Brief | Surface | Purpose |
|---|---|---|
| B-CAT-01 | L3 ops + engine-db | Product catalogue schema, manager UI, Stripe push |
| B-CAT-02 | L4 RTO CP | Price list disclosure surface — "you were told" |
| B-CAT-03 | rtopacks.com.au | Public pricing page, live from L3 |
| B-COMP-01 | L3 + L4 | Composer — full node builder, session record, docket |
| B-COMP-02 | Preview Lab | Kubernetes Moodle provisioning, Twilio wire, pricing tiers |
5.3 The Composer — Full Architecture¶
Build-start gate (before canvas opens): - Are we building for an existing qual you deliver? - If yes: which qual? (dropdown from RTO's registered scope) - Is that qual already contextualised in RTOpacks? - System pre-loads: qual context, unit list (core + elective), existing content if any
Three canvas entry modes:
- Black sheet — free. Empty canvas. All widgets available. No charge until commit.
- Shell build — $5. AI runs against unit + qual context + RTOpacks learning model. Returns populated canvas with nodes in sequence, PCs anchored, content sources suggested. $5 = cost recovery only. RTO tweaks from there.
- Off the shelf template — free to load. RTOpacks canonical templates for common unit types. RTOpacks IP. Load and contextualise.
Canvas UX — Twilio Studio model: - Left palette: node types organised by category (structure / learning objects / assessment) - Centre canvas: drag/click to place, connect with arrows, reorder - Right drawer: context-sensitive to selected node — source picker, PC mapping, qty controls - Top tabs: Editor / Details (pricing) / Coverage / Session record / Unit / Qual context - Cost lives in Details tab — NOT a persistent column. Building is the experience, cost is a consequence.
Node types: - Structure: Introduction, Summary (free) - Learning objects: Text content ($29), Video (source-dependent), PDF/resource (free), External link (free) - Assessment: Quiz ($8/question), Assessment task ($29), Mapping matrix ($15)
Video source picker (fires when Video node selected): - AI rendered — $8/min estimated runtime - Upload your own — free, MP4, rights assignment declaration required (logged) - Stub — to be made — $0 now, production scheduled - Production notes — director's brief only, $0
Coverage advisory: - Runs quietly as nodes are placed - Flags gaps against elements and PCs - Opinion not gate: "We think Element 3.1 may not be addressed. Here's why. Your call." - Dismiss with note (logged) or add a node - UCCA is not the regulator. RTOs hold scope of registration. We surface, they decide.
Pre-submission check — free, RTOpacks' cost: - AI reviews canvas before commit: coverage, sequence, assessment sufficiency - Returns advisory — not a gate - If check passed + output wrong = RTOpacks fault, refund/rebuild - If check flagged + dismissed + output wrong = their call, on record, no refund - Cheap insurance. Kills "this isn't what I wanted" refund cases.
The session record: Every canvas session is a permanent record: - RTO, qual, unit, core or elective status - Every node placed in order with timestamp - Every source decision - Every PC mapping choice - Every advisory shown + response (actioned or dismissed) - Who made decisions (account holder or delegate) - Basis for invoice (every line item traceable to a canvas decision) - Audit evidence for ASQA ("how was this contextualised?") - Version history for future rebuilds
The docket: Restaurant order model. As they build, line items appear. Subtotal updates. Before commit: "This is what you ordered. Pay here and we cook."
5.4 The Preview Lab¶
yourrto.rtopacks.com.au — provisioned Moodle instance, loaded with their SCORM output.
| Tier | Duration | Price |
|---|---|---|
| Spot check | 24 hours | $10 |
| Review | 7 days | $90 |
| Monthly | 30 days | $100/month |
- Front AND back end access (student view + assessor view + grade book)
- Kubernetes provisioning (brief not yet written)
- $5 Twilio credit on first spin-up — hook, not gift
- SMS notifications wired — "their Moodle" goes brrr brrr
- UCCA URL only — can't be passed off as production
- "It works in ours. Call your vendor." is the support policy.
- Subdomain sleeps when subscription lapses
5.5 The Qualification Stream Model — THE BIG ONE¶
This is the product vision that landed in the final third of Session 17. Do not lose this.
The insight: RTOs teach qualification streams, not isolated units. Cert III → Cert IV → Diploma → Advanced Diploma in the same vocational stream. The content at each level isn't unrelated — it's a deepening of the same domain.
The model: RTO builds Cert III. Content saved to workspace as their IP. System recognises the qual stream. Offers:
"You teach BSB30120. Want to build Cert IV in the same stream? You already have the foundation. We know the core/elective structure, what overlaps, what's new. Your Cert III content becomes the base layer — we enrich it upward."
What changes at each AQF level: - AI depth increases - Content density increases (foundation → applied → analytical → strategic) - Assessment touchpoints multiply - Evidence standard rises (supervised → independent → portfolio → leadership)
Not a blank page at each level. Enrichment of what's already there. The apprentice's journey mapped as a content architecture.
The upsell mechanic: - Cert III workspace complete → system offers Cert IV in same stream - Cert IV complete → Diploma offered - Each level: "you already have X, we add Y depth for $Z" - RTO's existing content doesn't get thrown away — it compounds
The AQTF mapping — the king hit: Every unit at every level, every node, every PC, every assessment touchpoint — automatically mapped to AQTF standards of learning, evidence requirements, depth descriptors. Nobody does this manually because the moving parts are unmanageable. RTOpacks does it as a byproduct of building properly in the Composer.
The university credit recognition play: RTOpacks produces an Advanced Diploma with full AQTF mapping documentation baked in. University credit assessment team receives a clean structured evidence package instead of a 6-month manual mapping exercise.
Result: "This Advanced Diploma in X — we concur. That's 2 units of our BA."
Credit recognition at scale. Automated. For the first time.
Why this matters: ASQA makes VET compliance-led. The learner is incidental. This flips it — learning density and relevance increase as apprentice moves to master. Mapped to AQTF. Recognised by universities.
The learner gets a pathway, not just a qualification. 20 years of learning, made visible.
This is the bridge between VET and higher education that the sector has been trying to build for 30 years. The reason it hasn't worked is the mapping problem. UCCA's corpus is the translator. The Composer is the builder. The AQTF mapping is the evidence package.
This is the UCCA thesis fully expressed.
6. The Opening Catalogue (seeded in B-CAT-01)¶
| SKU | Name | Type | Price |
|---|---|---|---|
| RTP-UNIT-GENERIC | Generic Unit Pack | flat | $29.00 |
| RTP-VIDEO-AI | AI Rendered Video | per minute | $8.00/min |
| RTP-PREVIEW-24H | Preview Lab — 24hr | flat | $10.00 |
| RTP-PREVIEW-7D | Preview Lab — 7 day | flat | $90.00 |
| RTP-PREVIEW-MONTHLY | Preview Lab — Monthly | per month | $100.00/mo |
All prices inc. GST. Version 1.
7. Operating Rules¶
All rules from Session 16 unchanged. No new standing rules added.
New architectural constants (not formal rules but baked into all future briefs):
- STRIPE-ZIP-ZAP RULE: Stripe receives amount + currency + reference only. Never product definitions. L3 is the product authority.
- CATALOGUE-AUTHORITY RULE: No hardcoded prices anywhere in any frontend ever. Everything pulls from L3 catalogue API.
- SESSION-RECORD RULE: Every Composer canvas session is a permanent record. Decisions, timestamps, advisories shown and responses. Immutable audit trail.
- COVERAGE-OPINION RULE: Coverage checks are advisory only. Opinion based on fact. Never a gate. RTOs hold scope of registration.
Full rules for reference:
- PASSKIT RULE: Apple Wallet uses PassKit (
.pkpass), NOT mdoc. Team ID B29TSCBPHD. - USI RULE: Never describe UCCA as competing with USI. Complementary layers.
- JUKEBOX RULE: Off-shelf and compose are the two product tiers.
- FIVE WORLDS RULE: Internal ops worlds built before any public-facing corpus surface.
- VERIFY PAGE RULE:
keys.ucca.online/verify/<hash>returns HTML for browsers, JSON for API. - TWO JUKEBOX RULE: RTOpacks output is VET-native. Engine output is UCCA-native. Never mix.
- No time alerts for Tim. Never. Go go go.
- Every 10 messages: check context length. YELLOW = warn. RED = write Time Machine immediately.
- Every Alex brief: SURFACE + DO NOT TOUCH + CF account ID.
- Brief drip rule: one brief at a time. Confirm deployed before next drops.
- OPS-AS-OS RULE: if it doesn't exist in ops.ucca.online, it doesn't exist.
- Truth over comfort.
- Two sections in every Alex brief: → ALEX and → TIM.
8. The Big Picture¶
Session 17 didn't close a brief. It did something more important — it closed the product.
The Composer is not a content authoring tool. It is a learning architecture engine that happens to produce VET-compliant content as output. The qualification stream model means every RTOpacks customer who builds a Cert III is a warm lead for Cert IV. The AQTF mapping means every Advanced Diploma built in RTOpacks is a university credit recognition package waiting to be submitted.
The corpus was always the moat. The Composer is the gate. The qualification stream is the retention engine. The AQTF mapping is the crossover play.
B-CAT-01 is in Alex's hands. The moment it deploys, the catalogue exists, and B-CAT-02 can drop. The Composer brief (B-COMP-01) gets written after B-CAT-03 confirms. The prototype needs a rebuild — gate-first, Twilio-style canvas, cost in Details tab.
The coin hasn't dropped yet. But the jukebox is fully wired.
UCCA Inc · Session 17 · 18 March 2026
"Invisible tools that make your work visible."
"A schmoke and a pancake?" — Goldmember