Cloudflare Resource Inventory¶
Applied inventory of all Cloudflare resources on the RTOpacks account (f95d45376ebeeeaf011a4f0ec0fb7b38), organised by resource type. Each resource shows its canonical name (per ADR-018 v4 in ops/architecture-decisions.md, with substrate-specific facts in cloudflare-naming-canon.md), its environment, its content, and where applicable its consumer surfaces.
This inventory is the daily-reach reference. ADR-018 holds the universal naming convention; the canon doc captures Cloudflare-substrate-specific exceptions and rename-feasibility; this document describes what's in each jar.
Last updated: May 2026
D1 databases¶
Reference databases (shared across all environments)¶
These hold externally-sourced or enrichment-derived data. Same UUID across prod and dev; both environments see the same data by design. Writes are gated to single privileged paths (sync or crawl workers).
| Canonical name | Content | Source / population |
|---|---|---|
nrt-corpus-ref |
The TGA National Register corpus enriched with related regulatory and labour-market data. 117 tables. Includes: TGA training components (qualifications, units, skill sets, training packages with FTS indices), TGA organisations (RTOs, addresses, contacts, classifications, registration history with FTS), CRICOS providers and courses, JSA qualification training data, NCVER apprentice statistics, OSL ratings, ABS labour force overlay, ABR codes, QLD apprentice completions, VNDA atlas, vocstats, qualification packaging rules, the 15,128 sacred enriched qualification rows (KN sacred rule applies), state funding data, standards frameworks, ANZSCO occupation codes (98% coverage on qualifications, all currently ANZSCO_2022). The big read-side dataset that Studio, public surfaces, admin, and the Intelligence suite all query. |
TGA via rtopacks-tga-sync-prod, CRICOS via rtopacks-cricos-sync-prod, plus ingest workers (jsa, ivi, glmd, osl, vnda-atlas) |
abs-stats-ref |
Australian Bureau of Statistics datasets — labour force (ages, education, hours, underemployment), average weekly earnings, job vacancies, labour accounts, wage price index, employment by qualification/occupation/state, ASGS regional populations. 16 tables. | ABS data ingest |
regulatory-licensing-ref |
Regulatory licensing reference data. NSW occupational licences (electricians, plumbers, security, etc. — holder names, types, status, expiry, postcodes). TEQSA registry (higher-education providers, accredited courses, regulatory decisions). 5 content tables. | rtopacks-teqsa-sync-prod and NSW licensing ingest |
rto-footprint-ref |
RTO digital footprint enrichment, keyed by rto_code. Crawl results, dossiers, observations, signals, IP observations, screenshots, stack profiles, run logs. 10 content tables. Powers two Intelligence-suite surfaces: Radar (filtered to competitor RTOs) and Marketer (filtered to the customer's own RTO). The crawl starts from URLs on file in TGA and enriches each RTO from there. |
rtopacks-radar-crawl-prod worker |
Customer-data databases (separate per environment)¶
Each row represents a logical database with two physical instances — one prod, one dev.
| Canonical name (prod / dev) | Content |
|---|---|
rtopacks-workspace-prod / rtopacks-workspace-dev |
The workspace database. 71 tables. Holds: users, tenants, teams, roles, account memberships, partner accounts, magic tokens, passkeys, OTP, device tokens, push log. The People module (pc_*: persons, credentials, licences, CPD, supervision, professional experience, TAE qualifications, unit competencies). Studio session state and proposed scope. Courses (course, module, unit map, source map, artefacts). Source units and dependencies. Packs, products, purchases, ledger. Dockets. Documents and document versions. The Triad standards-mapping infrastructure (compliance rule, credential, criterion, cross-reference, envelope, evidence requirement, instrument, outcome). UCCA unit codes and domain definitions. Verifiable credential issuance and tokens. Workspace, People, and Studio modules all live here. Also receives Marketer self-disclosed data (planned marketer_disclosures table). |
rtopacks-ops-prod / rtopacks-ops-dev |
The operational/admin backbone. 65 tables. Billing (customers, plans, subscriptions, invoices, dunning, ledger, purchases, GST). Customer-facing telemetry (page views, traffic, interactions, contact enquiries). Government tender intelligence (tenders, contracts, keywords). Security and threat surface (anomaly log, anon threat log, auth rejection, sentinel, canary). Regulatory events (org_rtopacks_ops ↔ rto_code 45329 mapping and webhook). Launch checklist. Various sync cursors and operational logs. Admin profiles, custom roles, account memberships. The auto-convert pipeline lives here. Never surfaced to RTOs or end users — OPS SURFACE RULE. |
rtopacks-landscape-prod / rtopacks-landscape-dev |
The Landscape surface's data — VET vendor ecosystem map. 9 tables (entities, addresses, contacts, endpoints, intel, interactions, signals, subscriptions, tags). Currently holds 97 vendor entities classified across 23 tag categories (SMS, LMS, CMS, CRM, API, Compliance, Hosting, Payments, Analytics, Consulting, Content, Staffing, Regulator, Industry, Authoring, Assessment, Facilities, Placement, Publishing, Funding, Insurance, Events, Verification). Designed to surface the entire VET vendor ecosystem to customers transparently as a trust-by-transparency play. Tables are forward-compatible with multi-tenancy when customer surface ships (see follow-up). |
rtopacks-microcredentials-prod / rtopacks-microcredentials-dev |
InstaLearn (il_) data — courses, modules, course-module mapping, domains, streams. 5 tables. Schema is in place; product is largely unbuilt. Reserved for non-accredited / non-regulated content per HARD SEPARATION RULE. |
rtopacks-calendar-prod / rtopacks-calendar-dev |
VET sector calendar — term dates, regulatory deadlines, scheduling reference data. 2 tables (vet_calendar, cal_sync_log). Populated by rtopacks-cal-sync-prod worker. |
UCCA Online resources¶
ucca-mcp-db lives on the legacy UCCA Cloudflare account (not the RTOpacks account). Reserved for UCCA Online product work. Not part of this RTOpacks-account inventory.
Surface-to-database mapping¶
The Intelligence-suite surfaces shown on the workspace consume databases as follows:
| Surface | Reads from | Writes to |
|---|---|---|
| Radar | rto-footprint-ref filtered to competitor RTO codes |
(read-only consumer) |
| Landscape | rtopacks-landscape-prod/dev (canonical vendor map; customer overlay added when multi-tenancy ships) |
rtopacks-landscape-prod/dev (customer subscriptions, interactions, tags — multi-tenancy pending) |
| Market Data | nrt-corpus-ref + abs-stats-ref (joined via ANZSCO/OSCA codes) |
(read-only consumer) |
| Marketer | rto-footprint-ref filtered to own RTO + nrt-corpus-ref for own scope context + real-time external API calls (sitemap.xml, search engine rankings, social platform APIs) |
rtopacks-workspace-prod/dev (planned marketer_disclosures table for self-disclosed data) |
Workspace-level surfaces (Studio, People) read and write to rtopacks-workspace-prod/dev and reference nrt-corpus-ref for source content.
Public site reads nrt-corpus-ref for qualification and unit pages. Search and enrichment cache live in KV.
Workers¶
Customer-facing surfaces (each has prod and dev counterparts)¶
| Canonical name (prod / dev) | Role | Routes |
|---|---|---|
rtopacks-site-prod / rtopacks-site-dev |
The public marketing + product site. Public qualification and unit pages, search, the eventual customer-facing surface. | rtopacks.com.au (prod, currently dormant — prelaunch wins the route) / rtopacks.dev, staging.rtopacks.com.au (dev) |
rtopacks-workspace-prod / rtopacks-workspace-dev |
The workspace surface. Studio, People, the Intelligence suite (Radar, Landscape, Market Data, Marketer), the customer-facing logged-in product. | my.rtopacks.com.au (prod) / my.rtopacks.dev (dev) |
rtopacks-admin-prod / rtopacks-admin-dev |
Admin surface. Billing, customer management, ops dashboards, observability. CF Access gated. | admin.rtopacks.com.au (prod) / admin.rtopacks.dev (dev) |
rtopacks-internal-api-prod / rtopacks-internal-api-dev |
Internal API. The privileged service that gates writes to ops-db, handles auth flows, brokers external integrations (QB, Stripe, Resend). Service-bound from site, workspace, admin. | internal-api.rtopacks.com.au (prod) / internal-api.rtopacks.dev (dev) |
rtopacks-studio-collab-prod (Durable Object) |
Real-time collaboration backend for Studio (canvas editing, multi-user state). | my.rtopacks.com.au/api/studio/ws/* |
rtopacks-trust-proxy-prod |
Trust surface proxy. Customer-facing trust content. | trust.rtopacks.com.au |
Marketing placeholder¶
| Canonical name | Role | Routes |
|---|---|---|
rtopacks-prelaunch-prod |
"Coming Soon" landing page with founding-member email signup. Currently winning route binding on rtopacks.com.au and www.rtopacks.com.au. Retired at go-live cutover, when rtopacks-site-prod takes over. |
rtopacks.com.au, www.rtopacks.com.au |
Sync and ingest workers (run prod only)¶
These populate -ref databases from external sources. Crons run in prod; both envs read the same enriched data.
| Canonical name | Role |
|---|---|
rtopacks-tga-sync-prod |
Weekly sync from training.gov.au — qualifications, units, RTOs, training packages |
rtopacks-tga-ingest-prod |
On-demand TGA ingest — driven by public site traffic for individual lookups |
rtopacks-cricos-sync-prod |
Monthly sync of CRICOS providers, courses, locations |
rtopacks-teqsa-sync-prod |
TEQSA registry sync — higher-education providers, courses, decisions |
rtopacks-cal-sync-prod |
VET sector calendar sync |
rtopacks-jsa-ingest-prod |
Jobs and Skills Australia data ingest |
rtopacks-ivi-ingest-prod |
IVI vacancies ingest |
rtopacks-glmd-ingest-prod |
GLMD regional data ingest |
rtopacks-osl-ingest-prod |
Occupational shortage list ratings ingest |
rtopacks-vnda-atlas-ingest-prod |
VNDA atlas data ingest |
rtopacks-magda-monitor-prod |
MAGDA dataset monitoring |
rtopacks-tender-sync-prod |
Government tender data sync |
rtopacks-radar-crawl-prod |
RTO digital footprint crawler. Populates rto-footprint-ref. Powers Radar and Marketer surfaces. |
Operational workers¶
| Canonical name | Role |
|---|---|
rtopacks-qb-reconcile-prod |
QuickBooks invoice reconciliation. Runs nightly cron + heartbeat at 06:00 AEST. |
rtopacks-qual-enrichment-prod |
Daily qualification enrichment job |
rtopacks-stats-cache-prod |
Stats cache rebuilder, runs every 6 hours |
rtopacks-enrich-sync-prod |
Enrichment sync coordinator |
rtopacks-d1-warmer-prod |
D1 database warmer for search pre-warming |
rtopacks-session-archiver-prod |
Session archival to R2 |
rtopacks-traffic-snapshot-prod |
Traffic snapshot generator |
rtopacks-traffic-logger-prod |
Traffic logging |
Specialised workers¶
| Canonical name | Role |
|---|---|
rtopacks-api-prod |
Public API surface |
rtopacks-mcp-prod |
MCP integration endpoint |
rtopacks-jsa-proxy-prod |
JSA API proxy |
rtopacks-geocoder-prod |
Geocoding service |
rtopacks-kn-preview-prod |
Knowledge Navigator preview endpoint |
Substrate-tooling workers¶
| Canonical name | Role |
|---|---|
rtopacks-docs-proxy-tooling |
CF Access proxy for docs.rtopacks.com.au — internal documentation surface |
R2 buckets¶
| Canonical name | Content |
|---|---|
rtopacks-radar-screenshots-prod |
Screenshots captured by rtopacks-radar-crawl-prod during digital footprint analysis |
rtopacks-client-media-prod |
Customer-uploaded media |
rtopacks-documents-prod |
Customer documents |
rtopacks-media-prod |
Marketing and product media |
rtopacks-output-prod |
Generated output artefacts |
rtopacks-session-archive-prod |
Archived session data from rtopacks-session-archiver-prod |
rtopacks-tga-content-ref |
TGA-source content (PDFs of unit specs, training package documents). Reference data — same content across all envs. |
KV namespaces¶
KV by Cloudflare convention uses uppercase underscore-separated names.
| Canonical name (prod / dev where applicable) | Role |
|---|---|
RTOPACKS_OPERATIONAL_KEYS |
Operational keys for internal services |
RTOPACKS_SESSIONS_PROD / RTOPACKS_SESSIONS_DEV |
User session storage |
STATS_CACHE_PROD |
Stats cache |
LEADS_PROD / LEADS_DEV |
Lead capture from prelaunch and signup forms |
ANON_THREAT_KV_PROD / ANON_THREAT_KV_DEV |
Anonymous threat fingerprint tracking |
MCP_API_KEYS_PROD / MCP_API_KEYS_DEV |
MCP API key storage |
SEARCH_CACHE_PROD |
Search query cache |
RADAR_CURSOR_PROD |
Radar crawl cursor |
Notes for upcoming work¶
Classification migration: ANZSCO → OSCA¶
ABS released OSCA (Occupation Standard Classification for Australia) v1.0 on 6 December 2024 to replace ANZSCO. From September 2026, ABS labour force statistics and Census data will use OSCA. Department of Home Affairs continues to use ANZSCO for migration purposes for now, creating a dual-catalogue era.
The qualifications table in nrt-corpus-ref already has versioned columns (anzsco_code, anzsco_title, anzsco_version defaulting to ANZSCO_2022), making the schema forward-compatible. Ingest pipelines for abs-stats-ref and nrt-corpus-ref will need OSCA-aware logic when upstream sources flip.
Tracked as: CLASSIFICATION-MIGRATION-OSCA-01 — trigger date September 2026.
Landscape multi-tenancy¶
When the Landscape surface ships customer-facing, the landscape_subscriptions, landscape_interactions, and customer-tag overlay tables need a tenant_id column added to scope per-customer state without leaking between customers. The current single-tenant data (97 vendors, 23 tags) becomes the canonical baseline layer that all customers see; customer overlays sit on top.
Tracked as: LANDSCAPE-MULTITENANT-01 — trigger when Landscape customer surface ships.
Landscape editorial policy¶
When Landscape goes customer-facing, vendor-listing edge cases need an explicit policy: how to handle vendor-submitted updates, removal requests, comparative claims, and verification of vendor-supplied data versus RTOpacks-verified data.
Tracked as: LANDSCAPE-EDITORIAL-POLICY-01 — trigger before customer surface ships.