{
  "schema": "freshvibe-way-v8.app-dna",
  "schema_version": "1.0.0",
  "app_id": "studio.oscar.platform",
  "version": "1.0.0",
  "name": "Oscar Platform",
  "description": "Sovereign arboriculture SPA with an embedded AI assistant. Surveys, notes, reports, blog writing, AI assistant. UK BS5837 rules + cached standards + 5 LLM adapters.",
  "lineage": [
    {
      "version": "v0",
      "app_id": "avidtech6/oscar-ai",
      "description": "Original Oscar website conversion (R1-R18)",
      "dates": "2026-05 to 2026-06"
    },
    {
      "version": "v1",
      "app_id": "studio.oscar.platform",
      "description": "Sovereign SPA pivot (Phases 1-10)",
      "dates": "2026-06 to present"
    }
  ],
  "supersedes": "avidtech6/oscar-ai/R18",
  "recipe_id": "studio.oscar.platform.recipe.v1",
  "invariants_ref": "pact/platform/invariants.md",
  "doctrinal_extensions": {
    "reconstruction_mode": {
      "value": "Sovereign SPA Mode (third mode)",
      "decision_log": "pact/decisions/DO-001-reconstruction-mode.md",
      "upstream_proposal": "Proposed §33.5 amendment to FVW v8"
    },
    "micro_model_status": {
      "value": "STUB — 500M param model exceeds §15.3 ceiling (250× over)",
      "decision_log": "pact/decisions/DO-002-micro-model-amendment.md",
      "upstream_proposal": "Proposed §15.3-bis amendment (browser-loadable tier 100k-1B params)"
    },
    "smart_x_toggles": {
      "value": "3 enabled, 6 partial, 5 absent (of 14 constitutional features)",
      "decision_log": "pact/recipes/smart/features.json"
    }
  },
  "build": {
    "tool": "Vite 5",
    "framework": "React 18 + TypeScript (strict)",
    "persistence": "IndexedDB (6 stores, DB_VERSION 2) + localStorage (oscar: prefix)",
    "deployment": "Cloudflare Pages project oscar-platform"
  },
  "live_urls": {
    "primary": "https://oscar-platform.pages.dev",
    "custom_domain": "oscar.freshvibe.studio (operator wires DNS)"
  },
  "git_remote": "https://github.com/avidtech6/oscar-platform",
  "doctrinal_alignments": {
    "ratified": [
      "FWV v8 v0.10.0 §01 (8 mandatory artefacts)",
      "FWV v8 v0.10.0 §02 (9-folder layout)",
      "FWV v8 v0.10.0 §08 (anti-drift)",
      "FWV v8 v0.10.0 §11 (Recipe Book structure)",
      "FWV v8 v0.10.0 §16 (Product Smart App)",
      "FWV v8 v0.10.0 §22 (Behaviour-First Codex)",
      "FWV v8 v0.10.0 §35 (Module-Pact Registration)"
    ],
    "proposed_pending_upstream": [
      "FWV v8 §15.3-bis (browser-loadable model tier) — DO-002",
      "FWV v8 §33.5 (Sovereign SPA Mode) — DO-001",
      "FWV v8 §22 C9 (State Shape Inventory from v9-fvw)",
      "FWV v8 §11.12 (Tool A vs Tool B from v9-fvw)",
      "FWV v8 §30.5 (format-as-constitutional from v9-fvw)"
    ],
    "scrap_unratified": [
      "Project Spine (§37)",
      "Universal Artefact Graph (§38)",
      "Artefact Topology (§39)",
      "Multimodal Capture (§40)",
      "Voice Artefact Pipeline (§41)",
      "Style Learning (§42)",
      "Spatial Artefact / Map (§43)",
      "Operator Workflows (§45)",
      "Multi-Domain Ecosystem (§37.2 extension)"
    ]
  },
  "extraction_baseline": "pact/extraction/baseline-snapshot.md (2026-06-29 11:20 UTC)",
  "bundles_installed": [
    {
      "id": "ai-bundle",
      "version": "1.0.0",
      "install_path": "app/src/modules/ai-bundle/",
      "revibe_path": "app/src/modules/revibe/ai-bundle/",
      "shim_path": "n/a (skeleton — compat shim removed; code extraction in Session B)",
      "manifest": "app/src/modules/ai-bundle/bundle-manifest.json",
      "features_doc": "app/src/modules/ai-bundle/bundle-features.md",
      "coverage_matrix": "app/src/modules/ai-bundle/recipe-book/coverage-matrix.md",
      "submodule_count": 12,
      "public_submodules": 7,
      "private_submodules": 5,
      "license": "avidtech6-proprietary",
      "installed_on": "2026-07-16",
      "fvw_v8_alignment": {
        "recipe_md": "12/12 sub-modules have recipe.md (A/B/C product description)",
        "codex_md": "12/12 sub-modules have codex.md (C1-C8 contracts)",
        "rules_md": "12/12 sub-modules have rules.md (R1-R7+ antipatterns)",
        "module_meta_json": "12/12 sub-modules have module-meta.json (version + constitutional fragments + changelog)",
        "doctrinal_compliance": "FVW v8 §10/§11/§17/§18/§22/§33 fully aligned at the recipe-book level"
      },
      "constitutional_fragments_total": 36,
      "doctrinal_refs": [
        "FVW v8 §10 (modules as clusters)",
        "FVW v8 §11 (recipe book 3-file model)",
        "FVW v8 §15 (rules-first, cached-second, AI-third / user-sovereignty)",
        "FVW v8 §17 (modules and tiers — public/private)",
        "FVW v8 §18 (re-vibe pattern)",
        "FVW v8 §22 (behaviour-first codex, C1-C8)",
        "FVW v8 §30 (encryption-at-rest)",
        "FVW v8 §33 (reconstruction mode declaration)"
      ],
      "convention_doc": "pact/freshvibe-way-v8/gotchas/bundle-pattern.md",
      "notes": "Sovereign AI Bundle — chat, voice, history, multi-step reasoning, settings, suggestions. The chrome (private sub-modules) is bundle-local because the UI is tuned to Oscar's AskUnit. The brain (public sub-modules) is independently portable. SKELETON ONLY at this version (1.0.0); actual code extraction happens in Session B. The 12 sub-modules' recipes/codex/rules are FVW v8 compliant; the code extraction is the next step."
    }
  ]
}
