forked from sagnik/Project_Velocity
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:
@@ -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** — 4–6 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*
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -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
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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"
|
||||
}
|
||||
]
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user