feat: Oracle Canvas Component Schema and Qwen 3.6 integration (#31)

Co-authored-by: Sagnik <sagnik7896@gmail.com>
Reviewed-on: sagnik/Project_Velocity#31
This commit is contained in:
2026-04-20 01:43:39 +05:30
parent 57144e1bd3
commit e519339cc9
129 changed files with 625213 additions and 262 deletions

View File

@@ -0,0 +1,225 @@
# Oracle Template Seed DB — Expanded Examples v2.0
**Project:** Velocity — Multi-Surface Platform and Oracle Expansion
**Date:** 2026-04-19
**Owner:** Sayan (generated as part of Sprint 1 Oracle Template Taxonomy deliverable)
**Depends on:** `schema_extension_v2.sql`, `oracle_template_seed_db.json` (v1.0 canonical seeds)
**Total Examples:** 1,200 (50 per subchapter × 24 subchapters × 6 chapters)
---
## What This Is
This package expands the original 8-example Oracle Template Seed DB (`oracle_template_seed_db.json`) into a full 1,200-example corpus covering every subchapter in the Oracle template taxonomy. It is the implementation artifact for Sprint 1 deliverable **§2.4 — Oracle Template Taxonomy and Seed JSON Structure**.
Every example conforms to the established Velocity Oracle component contract shape. They are ready to be ingested into `oracle_template_seed_examples` via the `POST /api/oracle/component-templates/seed` route and consumed by Kimi Synthetic Data expansion jobs (`oracle_synthetic_generation_jobs`).
---
## File Layout
```
oracle_template_expansion/
├── README.md ← This file
├── oracle_template_seed_db_expanded.json ← Master combined file (all 1,200 examples)
├── sub-001-01_pricing_trends.json ← 50 examples
├── sub-001-02_demand_signals.json ← 50 examples
├── sub-001-03_competitive_landscape.json ← 50 examples
├── sub-001-04_location_index.json ← 50 examples
├── sub-002-01_lead_profile.json ← 50 examples
├── sub-002-02_qd_score.json ← 50 examples
├── sub-002-03_pipeline_health.json ← 50 examples
├── sub-002-04_engagement_history.json ← 50 examples
├── sub-003-01_call_summary.json ← 50 examples
├── sub-003-02_promise_tracker.json ← 50 examples
├── sub-003-03_whatsapp_thread.json ← 50 examples
├── sub-003-04_reminder_surface.json ← 50 examples
├── sub-004-01_property_card.json ← 50 examples
├── sub-004-02_availability_matrix.json ← 50 examples
├── sub-004-03_absorption_rate.json ← 50 examples
├── sub-004-04_inventory_comparison.json ← 50 examples
├── sub-005-01_showroom_traffic.json ← 50 examples
├── sub-005-02_team_performance.json ← 50 examples
├── sub-005-03_campaign_metrics.json ← 50 examples
├── sub-005-04_system_health.json ← 50 examples
├── sub-006-01_calendar_view.json ← 50 examples
├── sub-006-02_action_queue.json ← 50 examples
├── sub-006-03_follow-up_plan.json ← 50 examples
└── sub-006-04_reminder_cards.json ← 50 examples
```
---
## Chapter and Subchapter Map
| Chapter | Name | Subchapters | Examples |
|---------|------|-------------|----------|
| ch-001 | Market Intelligence | Pricing Trends, Demand Signals, Competitive Landscape, Location Index | 200 |
| ch-002 | Lead Intelligence | Lead Profile, QD Score, Pipeline Health, Engagement History | 200 |
| ch-003 | Communication Intelligence | Call Summary, Promise Tracker, WhatsApp Thread, Reminder Surface | 200 |
| ch-004 | Inventory Analytics | Property Card, Availability Matrix, Absorption Rate, Inventory Comparison | 200 |
| ch-005 | Operational Metrics | Showroom Traffic, Team Performance, Campaign Metrics, System Health | 200 |
| ch-006 | Calendar and Follow-Up | Calendar View, Action Queue, Follow-Up Plan, Reminder Cards | 200 |
| **Total** | | **24 subchapters** | **1,200** |
---
## Component Type Coverage
| componentType | Subchapters Used In | Approx Count |
|---------------|---------------------|--------------|
| `line_chart` | sub-001-01, sub-001-02, sub-004-03, sub-005-01, sub-005-02, sub-005-03 | ~120 |
| `bar_chart` | sub-001-02, sub-001-03, sub-004-03, sub-005-01, sub-005-02, sub-005-03 | ~100 |
| `area_chart` | sub-001-01, sub-004-03, sub-005-01 | ~45 |
| `heatmap` | sub-001-04, sub-005-01 | ~40 |
| `metric_card_group` | sub-002-02, sub-005-02, sub-005-03 | ~60 |
| `data_table` | sub-003-02 | ~50 |
| `property_card` | sub-004-01 | ~50 |
| `lead_profile_card` | sub-002-01 | ~50 |
| `communication_summary` | sub-003-01 | ~50 |
| `whatsapp_thread_viewer` | sub-003-03 | ~50 |
| `reminder_surface` | sub-003-04 | ~50 |
| `compact_alert_card` | sub-006-04 | ~50 |
| `action_queue` | sub-006-02 | ~50 |
| `calendar_view` | sub-006-01 | ~50 |
| `follow_up_plan` | sub-006-03 | ~50 |
| `availability_matrix` | sub-004-02 | ~50 |
| `inventory_comparison` | sub-004-04 | ~50 |
| `system_health_panel` | sub-005-04 | ~50 |
| `radar_chart`, `scatter_chart`, `funnel_chart`, others | various | ~135 |
---
## Example JSON Structure
Every example in every subchapter file follows this envelope:
```json
{
"example_id": "ex-0009",
"chapter_id": "ch-001",
"subchapter_id": "sub-001-01",
"title": "Component title string",
"quality_notes": "Human-readable note about this variant",
"is_canonical": true,
"template_name": "Subchapter Name — Template N",
"component_type": "line_chart",
"accepted_shapes": ["time_series"],
"example_json": {
"componentType": "line_chart",
"title": "...",
"subtitle": "...",
"dataSource": { ... },
"visualization": { ... },
"style": { ... },
"surfaceTargets": [ ... ]
}
}
```
The first example in each subchapter (`is_canonical: true`) is the recommended reference template for that subchapter.
---
## Design Language Compliance
All examples follow the established Velocity Oracle design language:
**Color palette** — All `accentColor` values come from the 10-color Velocity token set:
- `#2563EB` (primary blue), `#10B981` (emerald), `#F59E0B` (amber), `#EF4444` (red)
- `#8B5CF6` (violet), `#0EA5E9` (sky), `#EC4899` (pink), `#14B8A6` (teal)
- `#F97316` (orange), `#6366F1` (indigo)
**Semantic colors** — Status colors are fixed:
- Healthy / positive: `#10B981`
- Warning: `#F59E0B`
- Critical / negative: `#EF4444`
- Neutral / muted: `#94A3B8`
**Data source types** — Examples use only the contracted Oracle data source types:
- `inventory_aggregate`, `inventory_property`, `inventory_multi_property`
- `crm_lead`, `crm_aggregate`, `crm_engagement`, `crm_pipeline`, `crm_team_performance`
- `sentinel_qd`, `sentinel_live`, `sentinel_historical`
- `edge_communication_event`, `edge_memory_facts`
- `user_calendar_events`, `insight_recommendations`
- `nemoclaw_plan`, `catalyst_campaign`, `admin_health`, `competitive_intelligence`, `location_intelligence`
**Template variables** — Dynamic entity references use double-brace mustache syntax: `{{lead_id}}`, `{{property_id}}`, `{{agent_id}}`, `{{event_id}}`, `{{tenant_id}}`, `{{user_id}}`.
**Surface targets** — Every example declares `surfaceTargets` from the set: `webos`, `ipad`, `android_tablet`, `iphone_edge`, `android_phone_edge`.
---
## Permutation Logic
Each subchapter's 50 examples are generated by cycling through permutation combinations of:
- **District / developer / lead / agent names** — drawn from real Dubai market data (districts, developer names, nationality mix aligned to UAE CRM reality)
- **Time windows** — `7D`, `14D`, `30D`, `60D`, `90D`, `6M`, `12M`, `24M`, `YTD`, `QTD`
- **Chart types** — 46 types per subchapter appropriate to the data shape
- **Grouping dimensions** — e.g. by agent, district, property type, nationality
- **Layout variants** — e.g. `hero_with_stats`, `compact_card`, `list_row` for property cards
- **Action sets** — e.g. `accept / dismiss / snooze_1h` vs `call_now / send_whatsapp / dismiss`
- **Optional fields** — annotations, benchmarks, comparisons, sparklines toggled on/off across the 50
This means every subchapter has diverse examples covering different use cases while staying within the correct data contract for that component family.
---
## How to Ingest Into the Database
### Option 1 — Per-subchapter seed via Admin Surface
```bash
POST /api/oracle/component-templates/seed
Content-Type: application/json
{
"subchapter_id": "<uuid from oracle_template_subchapters>",
"examples": [ ... ] # paste the "examples" array from the per-subchapter file
}
```
### Option 2 — Bulk ingest via Kimi Synthetic Job
The master file (`oracle_template_seed_db_expanded.json`) is the correct input for `oracle_synthetic_generation_jobs`. Insert a job row referencing the template and let the background worker distribute examples into `oracle_template_seed_examples`.
### Option 3 — Direct SQL seed (dev/staging only)
```sql
INSERT INTO oracle_template_seed_examples
(template_id, chapter_id, subchapter_id, title, example_json, quality_notes, is_canonical)
VALUES
(...);
```
Map string chapter/subchapter IDs from the JSON against the UUID rows you insert via the migration in `schema_extension_v2.sql`.
---
## Known Caveats and Next Steps
- **`_meta.total_seed_examples` in v1 seed DB** — The original `oracle_template_seed_db.json` reports `36` in `_meta.total_seed_examples` but only contains 8 examples. This mismatch was noted in `delivery_log.md`. This expansion does not patch the v1 file; correct it separately before merging both corpora.
- **Kimi expansion** — These 1,200 examples are the **seed corpus**, not the synthetic expansion. Run `oracle_synthetic_generation_jobs` against published templates to generate the larger training/demo sets described in `KIMI_SYNTHETIC_DATA_DOWNSTREAM_PLAN.md`.
- **UUID mapping** — The `chapter_id` and `subchapter_id` fields in these files use the string keys from the v1 seed DB (`ch-001`, `sub-001-01`). Your migration script must map these to the PostgreSQL UUIDs inserted by `schema_extension_v2.sql`.
- **Template IDs** — `example_json.template_name` is a human label. Actual `template_id` UUIDs are assigned at ingestion time against `oracle_component_templates`.
---
## Generation Script
The generator script is included at `generate_examples.py` in the repo root (outside this zip). It is reproducible — re-running it with the same seed logic will produce the same 1,200 examples.
---
*Generated by Project Velocity platform tooling · 2026-04-19*

View File

@@ -0,0 +1,82 @@
# Oracle Canvas JSON Expansion Pack
This pack expands the current Oracle template seed library into a reviewable example set with **50 examples per subchapter** across all **24 subchapters**.
## What is inside
- `db/oracle_template_seed_db_expanded_v1.pretty.json`
Full expanded master DB with chapter taxonomy and all **1200** examples.
- `db/oracle_template_seed_db_expanded_v1.min.json`
Minified version of the same master DB.
- `examples/`
Chapter-by-chapter split files. Each subchapter file contains exactly **50** examples.
- `manifests/template_family_catalog.json`
Component families, accepted shapes, policy tags, and backend hints per subchapter.
- `manifests/subchapter_index.json`
Index of all generated files.
- `manifests/validation_report.json`
Validation summary for counts and ID uniqueness.
- `csv/subchapter_example_counts.csv`
Spreadsheet-friendly count manifest.
## Source alignment
This pack was generated against the current repo direction and constraints:
- FastAPI backend remains canonical.
- Oracle remains the analytical center.
- Mobile edge surfaces remain narrow, bounded control surfaces.
- Communication intelligence examples stay inside supported channels and provenance-aware capture modes.
- Admin examples only model bounded and auditable actions.
- The expanded examples follow the live-data-first / no-mock direction from the delivery log.
## Important correction carried forward
The source seed DB metadata currently reports `total_seed_examples: 36`, but the source file actually contains **8** canonical seed examples.
This expansion pack corrects the count in its own metadata and preserves the existing canonical examples inside the 50-example-per-subchapter allocation wherever they already existed.
## Design language used
Common policy tags applied through the pack:
- `backend_owned`
- `live_data_first`
- `no_mock_fallback`
- `surface_safe`
Additional policy tags appear per subchapter where relevant, including:
- `supported_channel_only`
- `provider_provenance_required`
- `bounded_admin_actions`
- `confirmation_required_for_writeback`
- `business_whatsapp_scope`
- `nemoclaw_suggested`
## Notes on IDs
The source taxonomy uses symbolic IDs such as `ch-001` and `sub-001-01`.
This pack preserves those symbolic IDs for review and lineage consistency.
Generated example IDs use deterministic `exg-*` identifiers. Existing canonical example IDs from the source file are preserved.
## Suggested use
1. Review examples subchapter-by-subchapter from `examples/`.
2. Use `template_family_catalog.json` to decide which component families should become formal reusable templates.
3. Use the master DB JSON once you are ready to merge the chosen examples into the Oracle seed library.
4. Keep the metadata notes about symbolic taxonomy IDs in mind when preparing any DB import step against UUID-backed SQL tables.
## Counts
- Chapters: 6
- Subchapters: 24
- Total examples: 1200
- Canonical carried forward: 8
- Generated additions: 1192

View File

@@ -0,0 +1,25 @@
chapter_id,chapter_name,subchapter_id,subchapter_name,example_count,file
ch-001,Market Intelligence,sub-001-01,Pricing Trends,50,examples/ch-001_market-intelligence/sub-001-01_pricing-trends.json
ch-001,Market Intelligence,sub-001-02,Demand Signals,50,examples/ch-001_market-intelligence/sub-001-02_demand-signals.json
ch-001,Market Intelligence,sub-001-03,Competitive Landscape,50,examples/ch-001_market-intelligence/sub-001-03_competitive-landscape.json
ch-001,Market Intelligence,sub-001-04,Location Index,50,examples/ch-001_market-intelligence/sub-001-04_location-index.json
ch-002,Lead Intelligence,sub-002-01,Lead Profile,50,examples/ch-002_lead-intelligence/sub-002-01_lead-profile.json
ch-002,Lead Intelligence,sub-002-02,QD Score,50,examples/ch-002_lead-intelligence/sub-002-02_qd-score.json
ch-002,Lead Intelligence,sub-002-03,Pipeline Health,50,examples/ch-002_lead-intelligence/sub-002-03_pipeline-health.json
ch-002,Lead Intelligence,sub-002-04,Engagement History,50,examples/ch-002_lead-intelligence/sub-002-04_engagement-history.json
ch-003,Communication Intelligence,sub-003-01,Call Summary,50,examples/ch-003_communication-intelligence/sub-003-01_call-summary.json
ch-003,Communication Intelligence,sub-003-02,Promise Tracker,50,examples/ch-003_communication-intelligence/sub-003-02_promise-tracker.json
ch-003,Communication Intelligence,sub-003-03,WhatsApp Thread,50,examples/ch-003_communication-intelligence/sub-003-03_whatsapp-thread.json
ch-003,Communication Intelligence,sub-003-04,Reminder Surface,50,examples/ch-003_communication-intelligence/sub-003-04_reminder-surface.json
ch-004,Inventory Analytics,sub-004-01,Property Card,50,examples/ch-004_inventory-analytics/sub-004-01_property-card.json
ch-004,Inventory Analytics,sub-004-02,Availability Matrix,50,examples/ch-004_inventory-analytics/sub-004-02_availability-matrix.json
ch-004,Inventory Analytics,sub-004-03,Absorption Rate,50,examples/ch-004_inventory-analytics/sub-004-03_absorption-rate.json
ch-004,Inventory Analytics,sub-004-04,Inventory Comparison,50,examples/ch-004_inventory-analytics/sub-004-04_inventory-comparison.json
ch-005,Operational Metrics,sub-005-01,Showroom Traffic,50,examples/ch-005_operational-metrics/sub-005-01_showroom-traffic.json
ch-005,Operational Metrics,sub-005-02,Team Performance,50,examples/ch-005_operational-metrics/sub-005-02_team-performance.json
ch-005,Operational Metrics,sub-005-03,Campaign Metrics,50,examples/ch-005_operational-metrics/sub-005-03_campaign-metrics.json
ch-005,Operational Metrics,sub-005-04,System Health,50,examples/ch-005_operational-metrics/sub-005-04_system-health.json
ch-006,Calendar and Follow-Up,sub-006-01,Calendar View,50,examples/ch-006_calendar-and-follow-up/sub-006-01_calendar-view.json
ch-006,Calendar and Follow-Up,sub-006-02,Action Queue,50,examples/ch-006_calendar-and-follow-up/sub-006-02_action-queue.json
ch-006,Calendar and Follow-Up,sub-006-03,Follow-Up Plan,50,examples/ch-006_calendar-and-follow-up/sub-006-03_follow-up-plan.json
ch-006,Calendar and Follow-Up,sub-006-04,Reminder Cards,50,examples/ch-006_calendar-and-follow-up/sub-006-04_reminder-cards.json
1 chapter_id chapter_name subchapter_id subchapter_name example_count file
2 ch-001 Market Intelligence sub-001-01 Pricing Trends 50 examples/ch-001_market-intelligence/sub-001-01_pricing-trends.json
3 ch-001 Market Intelligence sub-001-02 Demand Signals 50 examples/ch-001_market-intelligence/sub-001-02_demand-signals.json
4 ch-001 Market Intelligence sub-001-03 Competitive Landscape 50 examples/ch-001_market-intelligence/sub-001-03_competitive-landscape.json
5 ch-001 Market Intelligence sub-001-04 Location Index 50 examples/ch-001_market-intelligence/sub-001-04_location-index.json
6 ch-002 Lead Intelligence sub-002-01 Lead Profile 50 examples/ch-002_lead-intelligence/sub-002-01_lead-profile.json
7 ch-002 Lead Intelligence sub-002-02 QD Score 50 examples/ch-002_lead-intelligence/sub-002-02_qd-score.json
8 ch-002 Lead Intelligence sub-002-03 Pipeline Health 50 examples/ch-002_lead-intelligence/sub-002-03_pipeline-health.json
9 ch-002 Lead Intelligence sub-002-04 Engagement History 50 examples/ch-002_lead-intelligence/sub-002-04_engagement-history.json
10 ch-003 Communication Intelligence sub-003-01 Call Summary 50 examples/ch-003_communication-intelligence/sub-003-01_call-summary.json
11 ch-003 Communication Intelligence sub-003-02 Promise Tracker 50 examples/ch-003_communication-intelligence/sub-003-02_promise-tracker.json
12 ch-003 Communication Intelligence sub-003-03 WhatsApp Thread 50 examples/ch-003_communication-intelligence/sub-003-03_whatsapp-thread.json
13 ch-003 Communication Intelligence sub-003-04 Reminder Surface 50 examples/ch-003_communication-intelligence/sub-003-04_reminder-surface.json
14 ch-004 Inventory Analytics sub-004-01 Property Card 50 examples/ch-004_inventory-analytics/sub-004-01_property-card.json
15 ch-004 Inventory Analytics sub-004-02 Availability Matrix 50 examples/ch-004_inventory-analytics/sub-004-02_availability-matrix.json
16 ch-004 Inventory Analytics sub-004-03 Absorption Rate 50 examples/ch-004_inventory-analytics/sub-004-03_absorption-rate.json
17 ch-004 Inventory Analytics sub-004-04 Inventory Comparison 50 examples/ch-004_inventory-analytics/sub-004-04_inventory-comparison.json
18 ch-005 Operational Metrics sub-005-01 Showroom Traffic 50 examples/ch-005_operational-metrics/sub-005-01_showroom-traffic.json
19 ch-005 Operational Metrics sub-005-02 Team Performance 50 examples/ch-005_operational-metrics/sub-005-02_team-performance.json
20 ch-005 Operational Metrics sub-005-03 Campaign Metrics 50 examples/ch-005_operational-metrics/sub-005-03_campaign-metrics.json
21 ch-005 Operational Metrics sub-005-04 System Health 50 examples/ch-005_operational-metrics/sub-005-04_system-health.json
22 ch-006 Calendar and Follow-Up sub-006-01 Calendar View 50 examples/ch-006_calendar-and-follow-up/sub-006-01_calendar-view.json
23 ch-006 Calendar and Follow-Up sub-006-02 Action Queue 50 examples/ch-006_calendar-and-follow-up/sub-006-02_action-queue.json
24 ch-006 Calendar and Follow-Up sub-006-03 Follow-Up Plan 50 examples/ch-006_calendar-and-follow-up/sub-006-03_follow-up-plan.json
25 ch-006 Calendar and Follow-Up sub-006-04 Reminder Cards 50 examples/ch-006_calendar-and-follow-up/sub-006-04_reminder-cards.json

View File

@@ -0,0 +1,194 @@
[
{
"chapter_id": "ch-001",
"chapter_name": "Market Intelligence",
"subchapter_id": "sub-001-01",
"subchapter_name": "Pricing Trends",
"example_count": 50,
"file": "examples/ch-001_market-intelligence/sub-001-01_pricing-trends.json"
},
{
"chapter_id": "ch-001",
"chapter_name": "Market Intelligence",
"subchapter_id": "sub-001-02",
"subchapter_name": "Demand Signals",
"example_count": 50,
"file": "examples/ch-001_market-intelligence/sub-001-02_demand-signals.json"
},
{
"chapter_id": "ch-001",
"chapter_name": "Market Intelligence",
"subchapter_id": "sub-001-03",
"subchapter_name": "Competitive Landscape",
"example_count": 50,
"file": "examples/ch-001_market-intelligence/sub-001-03_competitive-landscape.json"
},
{
"chapter_id": "ch-001",
"chapter_name": "Market Intelligence",
"subchapter_id": "sub-001-04",
"subchapter_name": "Location Index",
"example_count": 50,
"file": "examples/ch-001_market-intelligence/sub-001-04_location-index.json"
},
{
"chapter_id": "ch-002",
"chapter_name": "Lead Intelligence",
"subchapter_id": "sub-002-01",
"subchapter_name": "Lead Profile",
"example_count": 50,
"file": "examples/ch-002_lead-intelligence/sub-002-01_lead-profile.json"
},
{
"chapter_id": "ch-002",
"chapter_name": "Lead Intelligence",
"subchapter_id": "sub-002-02",
"subchapter_name": "QD Score",
"example_count": 50,
"file": "examples/ch-002_lead-intelligence/sub-002-02_qd-score.json"
},
{
"chapter_id": "ch-002",
"chapter_name": "Lead Intelligence",
"subchapter_id": "sub-002-03",
"subchapter_name": "Pipeline Health",
"example_count": 50,
"file": "examples/ch-002_lead-intelligence/sub-002-03_pipeline-health.json"
},
{
"chapter_id": "ch-002",
"chapter_name": "Lead Intelligence",
"subchapter_id": "sub-002-04",
"subchapter_name": "Engagement History",
"example_count": 50,
"file": "examples/ch-002_lead-intelligence/sub-002-04_engagement-history.json"
},
{
"chapter_id": "ch-003",
"chapter_name": "Communication Intelligence",
"subchapter_id": "sub-003-01",
"subchapter_name": "Call Summary",
"example_count": 50,
"file": "examples/ch-003_communication-intelligence/sub-003-01_call-summary.json"
},
{
"chapter_id": "ch-003",
"chapter_name": "Communication Intelligence",
"subchapter_id": "sub-003-02",
"subchapter_name": "Promise Tracker",
"example_count": 50,
"file": "examples/ch-003_communication-intelligence/sub-003-02_promise-tracker.json"
},
{
"chapter_id": "ch-003",
"chapter_name": "Communication Intelligence",
"subchapter_id": "sub-003-03",
"subchapter_name": "WhatsApp Thread",
"example_count": 50,
"file": "examples/ch-003_communication-intelligence/sub-003-03_whatsapp-thread.json"
},
{
"chapter_id": "ch-003",
"chapter_name": "Communication Intelligence",
"subchapter_id": "sub-003-04",
"subchapter_name": "Reminder Surface",
"example_count": 50,
"file": "examples/ch-003_communication-intelligence/sub-003-04_reminder-surface.json"
},
{
"chapter_id": "ch-004",
"chapter_name": "Inventory Analytics",
"subchapter_id": "sub-004-01",
"subchapter_name": "Property Card",
"example_count": 50,
"file": "examples/ch-004_inventory-analytics/sub-004-01_property-card.json"
},
{
"chapter_id": "ch-004",
"chapter_name": "Inventory Analytics",
"subchapter_id": "sub-004-02",
"subchapter_name": "Availability Matrix",
"example_count": 50,
"file": "examples/ch-004_inventory-analytics/sub-004-02_availability-matrix.json"
},
{
"chapter_id": "ch-004",
"chapter_name": "Inventory Analytics",
"subchapter_id": "sub-004-03",
"subchapter_name": "Absorption Rate",
"example_count": 50,
"file": "examples/ch-004_inventory-analytics/sub-004-03_absorption-rate.json"
},
{
"chapter_id": "ch-004",
"chapter_name": "Inventory Analytics",
"subchapter_id": "sub-004-04",
"subchapter_name": "Inventory Comparison",
"example_count": 50,
"file": "examples/ch-004_inventory-analytics/sub-004-04_inventory-comparison.json"
},
{
"chapter_id": "ch-005",
"chapter_name": "Operational Metrics",
"subchapter_id": "sub-005-01",
"subchapter_name": "Showroom Traffic",
"example_count": 50,
"file": "examples/ch-005_operational-metrics/sub-005-01_showroom-traffic.json"
},
{
"chapter_id": "ch-005",
"chapter_name": "Operational Metrics",
"subchapter_id": "sub-005-02",
"subchapter_name": "Team Performance",
"example_count": 50,
"file": "examples/ch-005_operational-metrics/sub-005-02_team-performance.json"
},
{
"chapter_id": "ch-005",
"chapter_name": "Operational Metrics",
"subchapter_id": "sub-005-03",
"subchapter_name": "Campaign Metrics",
"example_count": 50,
"file": "examples/ch-005_operational-metrics/sub-005-03_campaign-metrics.json"
},
{
"chapter_id": "ch-005",
"chapter_name": "Operational Metrics",
"subchapter_id": "sub-005-04",
"subchapter_name": "System Health",
"example_count": 50,
"file": "examples/ch-005_operational-metrics/sub-005-04_system-health.json"
},
{
"chapter_id": "ch-006",
"chapter_name": "Calendar and Follow-Up",
"subchapter_id": "sub-006-01",
"subchapter_name": "Calendar View",
"example_count": 50,
"file": "examples/ch-006_calendar-and-follow-up/sub-006-01_calendar-view.json"
},
{
"chapter_id": "ch-006",
"chapter_name": "Calendar and Follow-Up",
"subchapter_id": "sub-006-02",
"subchapter_name": "Action Queue",
"example_count": 50,
"file": "examples/ch-006_calendar-and-follow-up/sub-006-02_action-queue.json"
},
{
"chapter_id": "ch-006",
"chapter_name": "Calendar and Follow-Up",
"subchapter_id": "sub-006-03",
"subchapter_name": "Follow-Up Plan",
"example_count": 50,
"file": "examples/ch-006_calendar-and-follow-up/sub-006-03_follow-up-plan.json"
},
{
"chapter_id": "ch-006",
"chapter_name": "Calendar and Follow-Up",
"subchapter_id": "sub-006-04",
"subchapter_name": "Reminder Cards",
"example_count": 50,
"file": "examples/ch-006_calendar-and-follow-up/sub-006-04_reminder-cards.json"
}
]

View File

@@ -0,0 +1,931 @@
[
{
"chapter_id": "ch-001",
"chapter_name": "Market Intelligence",
"subchapter_id": "sub-001-01",
"subchapter_name": "Pricing Trends",
"component_types": [
"area_chart",
"benchmark_band_chart",
"dual_axis_chart",
"line_chart",
"sparkline_metric"
],
"accepted_shapes": [
"comparative_time_series",
"district_benchmark",
"dual_metric_time_series",
"segment_snapshot",
"time_series"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "oracle",
"primary_tables": [
"oracle_component_templates",
"inventory_properties"
]
},
{
"chapter_id": "ch-001",
"chapter_name": "Market Intelligence",
"subchapter_id": "sub-001-02",
"subchapter_name": "Demand Signals",
"component_types": [
"bar_chart",
"funnel_chart",
"heatmap",
"line_chart",
"metric_card_group"
],
"accepted_shapes": [
"categorical_count",
"conversion_funnel",
"demand_snapshot",
"intent_time_series",
"zone_time_matrix"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "oracle",
"primary_tables": [
"oracle_component_templates",
"inventory_properties"
]
},
{
"chapter_id": "ch-001",
"chapter_name": "Market Intelligence",
"subchapter_id": "sub-001-03",
"subchapter_name": "Competitive Landscape",
"component_types": [
"bar_chart",
"comparison_table",
"grouped_bar_chart",
"matrix_grid",
"scorecard_panel"
],
"accepted_shapes": [
"competitive_matrix",
"competitive_scorecard",
"developer_benchmark",
"developer_pipeline",
"unit_mix_distribution"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "oracle",
"primary_tables": [
"oracle_component_templates",
"inventory_properties"
]
},
{
"chapter_id": "ch-001",
"chapter_name": "Market Intelligence",
"subchapter_id": "sub-001-04",
"subchapter_name": "Location Index",
"component_types": [
"data_table",
"map_score_card",
"radar_chart",
"scorecard_panel",
"timeline_chart"
],
"accepted_shapes": [
"district_ranking",
"infrastructure_readiness",
"location_index",
"location_map_summary",
"proximity_profile"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "oracle",
"primary_tables": [
"oracle_component_templates",
"inventory_properties"
]
},
{
"chapter_id": "ch-002",
"chapter_name": "Lead Intelligence",
"subchapter_id": "sub-002-01",
"subchapter_name": "Lead Profile",
"component_types": [
"affinity_card",
"cluster_card",
"lead_profile_card",
"metric_card_group",
"summary_strip"
],
"accepted_shapes": [
"district_affinity",
"lead_preferences",
"lead_profile",
"lead_summary",
"persona_cluster"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet",
"iphone_edge",
"android_phone_edge"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "crm",
"primary_tables": [
"leads",
"sentinel_scores"
]
},
{
"chapter_id": "ch-002",
"chapter_name": "Lead Intelligence",
"subchapter_id": "sub-002-02",
"subchapter_name": "QD Score",
"component_types": [
"bar_chart",
"gauge_stack",
"line_chart",
"matrix_grid",
"metric_card_group"
],
"accepted_shapes": [
"qd_matrix",
"qd_peer_benchmark",
"qd_score_breakdown",
"qd_snapshot",
"qd_trend"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet",
"iphone_edge",
"android_phone_edge"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "crm",
"primary_tables": [
"leads",
"sentinel_scores"
]
},
{
"chapter_id": "ch-002",
"chapter_name": "Lead Intelligence",
"subchapter_id": "sub-002-03",
"subchapter_name": "Pipeline Health",
"component_types": [
"data_table",
"funnel_chart",
"heatmap",
"metric_card_group",
"stacked_bar_chart"
],
"accepted_shapes": [
"pipeline_distribution",
"pipeline_forecast",
"pipeline_probability_matrix",
"pipeline_stalls",
"pipeline_velocity"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "crm",
"primary_tables": [
"leads",
"sentinel_scores"
]
},
{
"chapter_id": "ch-002",
"chapter_name": "Lead Intelligence",
"subchapter_id": "sub-002-04",
"subchapter_name": "Engagement History",
"component_types": [
"data_table",
"heatmap",
"interaction_timeline",
"line_chart",
"metric_card_group"
],
"accepted_shapes": [
"channel_preference_trend",
"content_interaction_log",
"engagement_heatmap",
"engagement_snapshot",
"engagement_timeline"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet",
"iphone_edge",
"android_phone_edge"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "crm",
"primary_tables": [
"leads",
"sentinel_scores"
]
},
{
"chapter_id": "ch-003",
"chapter_name": "Communication Intelligence",
"subchapter_id": "sub-003-01",
"subchapter_name": "Call Summary",
"component_types": [
"communication_summary",
"data_table",
"metric_card_group",
"next_best_action_card",
"transcript_highlight_card"
],
"accepted_shapes": [
"call_follow_up_snapshot",
"call_outcome_snapshot",
"speaker_highlights",
"transcript_segments",
"transcript_summary"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet",
"iphone_edge",
"android_phone_edge"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe",
"provider_provenance_required",
"supported_channel_only"
],
"route_family": "mobile-edge",
"primary_tables": [
"edge_communication_events",
"edge_communication_memory_facts",
"edge_transcription_jobs",
"edge_transcript_segments"
]
},
{
"chapter_id": "ch-003",
"chapter_name": "Communication Intelligence",
"subchapter_id": "sub-003-02",
"subchapter_name": "Promise Tracker",
"component_types": [
"checklist_board",
"compact_alert_card",
"data_table",
"matrix_grid",
"summary_card"
],
"accepted_shapes": [
"communication_facts",
"decision_maker_summary",
"follow_up_checklist",
"overdue_commitments",
"promise_confidence_matrix"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet",
"iphone_edge",
"android_phone_edge"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe",
"reviewable_writebacks",
"communication_memory"
],
"route_family": "mobile-edge",
"primary_tables": [
"edge_communication_events",
"edge_communication_memory_facts",
"edge_transcription_jobs",
"edge_transcript_segments"
]
},
{
"chapter_id": "ch-003",
"chapter_name": "Communication Intelligence",
"subchapter_id": "sub-003-03",
"subchapter_name": "WhatsApp Thread",
"component_types": [
"data_table",
"line_chart",
"message_thread_summary",
"metric_card_group",
"summary_card"
],
"accepted_shapes": [
"message_action_queue",
"message_sentiment_timeline",
"operator_handover",
"thread_sla_snapshot",
"whatsapp_thread"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet",
"iphone_edge",
"android_phone_edge"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe",
"supported_channel_only",
"business_whatsapp_scope"
],
"route_family": "mobile-edge",
"primary_tables": [
"edge_communication_events",
"edge_communication_memory_facts",
"edge_transcription_jobs",
"edge_transcript_segments"
]
},
{
"chapter_id": "ch-003",
"chapter_name": "Communication Intelligence",
"subchapter_id": "sub-003-04",
"subchapter_name": "Reminder Surface",
"component_types": [
"action_strip",
"alert_queue",
"compact_alert_card",
"matrix_grid",
"next_best_action_card"
],
"accepted_shapes": [
"calendar_suggestion",
"insight_recommendation",
"next_best_action",
"recommendation_confidence",
"reminder_queue"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet",
"iphone_edge",
"android_phone_edge"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe",
"bounded_actions",
"nemoclaw_suggested"
],
"route_family": "mobile-edge",
"primary_tables": [
"edge_communication_events",
"edge_communication_memory_facts",
"edge_transcription_jobs",
"edge_transcript_segments"
]
},
{
"chapter_id": "ch-004",
"chapter_name": "Inventory Analytics",
"subchapter_id": "sub-004-01",
"subchapter_name": "Property Card",
"component_types": [
"bar_chart",
"cta_card",
"metric_card_group",
"property_card",
"summary_card"
],
"accepted_shapes": [
"inventory_property",
"property_cta",
"property_media_summary",
"property_pricing_snapshot",
"unit_mix_distribution"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet",
"iphone_edge",
"android_phone_edge"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "inventory",
"primary_tables": [
"inventory_properties",
"inventory_media_assets",
"inventory_import_batches"
]
},
{
"chapter_id": "ch-004",
"chapter_name": "Inventory Analytics",
"subchapter_id": "sub-004-02",
"subchapter_name": "Availability Matrix",
"component_types": [
"data_table",
"heatmap",
"matrix_grid",
"metric_card_group",
"stacked_bar_chart"
],
"accepted_shapes": [
"availability_heatmap",
"availability_matrix",
"bed_type_snapshot",
"price_band_grid",
"release_phase_distribution"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "inventory",
"primary_tables": [
"inventory_properties",
"inventory_media_assets",
"inventory_import_batches"
]
},
{
"chapter_id": "ch-004",
"chapter_name": "Inventory Analytics",
"subchapter_id": "sub-004-03",
"subchapter_name": "Absorption Rate",
"component_types": [
"bar_chart",
"dual_axis_chart",
"line_chart",
"matrix_grid",
"sparkline_metric"
],
"accepted_shapes": [
"developer_velocity_ranking",
"handover_absorption_matrix",
"rolling_velocity_snapshot",
"sales_velocity",
"velocity_supply_overlay"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "inventory",
"primary_tables": [
"inventory_properties",
"inventory_media_assets",
"inventory_import_batches"
]
},
{
"chapter_id": "ch-004",
"chapter_name": "Inventory Analytics",
"subchapter_id": "sub-004-04",
"subchapter_name": "Inventory Comparison",
"component_types": [
"comparison_table",
"metric_card_group",
"radar_chart",
"side_by_side_comparison",
"summary_strip"
],
"accepted_shapes": [
"amenity_comparison",
"inventory_comparison",
"operator_choice_summary",
"property_metric_comparison",
"sales_readiness_comparison"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "inventory",
"primary_tables": [
"inventory_properties",
"inventory_media_assets",
"inventory_import_batches"
]
},
{
"chapter_id": "ch-005",
"chapter_name": "Operational Metrics",
"subchapter_id": "sub-005-01",
"subchapter_name": "Showroom Traffic",
"component_types": [
"bar_chart",
"dual_axis_chart",
"heatmap",
"metric_card_group",
"summary_strip"
],
"accepted_shapes": [
"live_traffic_snapshot",
"peak_hour_distribution",
"visitor_flow_overlay",
"zone_summary",
"zone_time_matrix"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "admin-surface",
"primary_tables": [
"surface_sessions",
"admin_action_events",
"oracle_synthetic_generation_jobs",
"inventory_import_batches",
"edge_transcription_jobs"
]
},
{
"chapter_id": "ch-005",
"chapter_name": "Operational Metrics",
"subchapter_id": "sub-005-02",
"subchapter_name": "Team Performance",
"component_types": [
"compact_alert_card",
"dual_axis_chart",
"leaderboard_table",
"matrix_grid",
"metric_card_group"
],
"accepted_shapes": [
"activity_conversion_overlay",
"agent_leaderboard",
"follow_up_compliance_matrix",
"quality_drift_alert",
"team_performance_snapshot"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "admin-surface",
"primary_tables": [
"surface_sessions",
"admin_action_events",
"oracle_synthetic_generation_jobs",
"inventory_import_batches",
"edge_transcription_jobs"
]
},
{
"chapter_id": "ch-005",
"chapter_name": "Operational Metrics",
"subchapter_id": "sub-005-03",
"subchapter_name": "Campaign Metrics",
"component_types": [
"bar_chart",
"line_chart",
"metric_card_group",
"scatter_plot",
"summary_card"
],
"accepted_shapes": [
"campaign_attribution",
"campaign_efficiency",
"campaign_roas_trend",
"campaign_snapshot",
"channel_comparison"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe"
],
"route_family": "admin-surface",
"primary_tables": [
"campaign_metrics",
"lead_events"
]
},
{
"chapter_id": "ch-005",
"chapter_name": "Operational Metrics",
"subchapter_id": "sub-005-04",
"subchapter_name": "System Health",
"component_types": [
"action_panel",
"data_table",
"line_chart",
"metric_card_group",
"system_health_panel"
],
"accepted_shapes": [
"bounded_admin_actions",
"latency_time_series",
"queue_status",
"surface_session_snapshot",
"system_health_snapshot"
],
"surface_targets": [
"webos"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe",
"bounded_admin_actions",
"audit_ready"
],
"route_family": "admin-surface",
"primary_tables": [
"admin_action_events",
"oracle_synthetic_generation_jobs",
"inventory_import_batches",
"edge_transcription_jobs",
"surface_sessions"
]
},
{
"chapter_id": "ch-006",
"chapter_name": "Calendar and Follow-Up",
"subchapter_id": "sub-006-01",
"subchapter_name": "Calendar View",
"component_types": [
"calendar_agenda",
"calendar_heatmap",
"data_table",
"donut_chart",
"summary_strip"
],
"accepted_shapes": [
"calendar_density",
"calendar_mix",
"calendar_strip",
"calendar_suggestions",
"user_calendar_agenda"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet",
"iphone_edge",
"android_phone_edge"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe",
"user_calendar_scope",
"confirmation_required_for_writeback"
],
"route_family": "mobile-edge",
"primary_tables": [
"user_calendar_events",
"insight_recommendations",
"edge_communication_events"
]
},
{
"chapter_id": "ch-006",
"chapter_name": "Calendar and Follow-Up",
"subchapter_id": "sub-006-02",
"subchapter_name": "Action Queue",
"component_types": [
"action_strip",
"bar_chart",
"donut_chart",
"matrix_grid",
"prioritized_task_list"
],
"accepted_shapes": [
"action_status_mix",
"action_type_distribution",
"agent_action_queue",
"edge_action_strip",
"queue_urgency_matrix"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet",
"iphone_edge",
"android_phone_edge"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe",
"bounded_actions",
"operator_queue"
],
"route_family": "mobile-edge",
"primary_tables": [
"user_calendar_events",
"insight_recommendations",
"edge_communication_events"
]
},
{
"chapter_id": "ch-006",
"chapter_name": "Calendar and Follow-Up",
"subchapter_id": "sub-006-03",
"subchapter_name": "Follow-Up Plan",
"component_types": [
"compact_alert_card",
"data_table",
"structured_plan_card",
"summary_card",
"timeline_chart"
],
"accepted_shapes": [
"escalation_plan",
"follow_up_cadence",
"follow_up_edge_card",
"follow_up_plan",
"follow_up_timeline"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet",
"iphone_edge",
"android_phone_edge"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe",
"nemoclaw_suggested",
"confirmation_required_for_writeback"
],
"route_family": "mobile-edge",
"primary_tables": [
"user_calendar_events",
"insight_recommendations",
"edge_communication_events"
]
},
{
"chapter_id": "ch-006",
"chapter_name": "Calendar and Follow-Up",
"subchapter_id": "sub-006-04",
"subchapter_name": "Reminder Cards",
"component_types": [
"compact_alert_card",
"kanban_board",
"matrix_grid",
"stacked_reminder_cards",
"summary_strip"
],
"accepted_shapes": [
"insight_recommendation",
"reminder_priority_matrix",
"reminder_snooze_board",
"reminder_stack",
"reminder_strip"
],
"surface_targets": [
"webos",
"ipad",
"android_tablet",
"iphone_edge",
"android_phone_edge"
],
"policy_tags": [
"backend_owned",
"live_data_first",
"no_mock_fallback",
"surface_safe",
"bounded_actions",
"surface_agnostic"
],
"route_family": "mobile-edge",
"primary_tables": [
"user_calendar_events",
"insight_recommendations",
"edge_communication_events"
]
}
]

View File

@@ -0,0 +1,38 @@
{
"status": "ok",
"checks": {
"total_examples": 1200,
"unique_example_ids": 1200,
"subchapters_with_50_examples": true,
"chapters": 6,
"subchapters": 24,
"source_seed_examples_reported": 36,
"source_seed_examples_actual": 8
},
"per_subchapter": {
"sub-001-01": 50,
"sub-001-02": 50,
"sub-001-03": 50,
"sub-001-04": 50,
"sub-002-01": 50,
"sub-002-02": 50,
"sub-002-03": 50,
"sub-002-04": 50,
"sub-003-01": 50,
"sub-003-02": 50,
"sub-003-03": 50,
"sub-003-04": 50,
"sub-004-01": 50,
"sub-004-02": 50,
"sub-004-03": 50,
"sub-004-04": 50,
"sub-005-01": 50,
"sub-005-02": 50,
"sub-005-03": 50,
"sub-005-04": 50,
"sub-006-01": 50,
"sub-006-02": 50,
"sub-006-03": 50,
"sub-006-04": 50
}
}