{
  "$schema": "./schemas/pliego.product-capabilities.schema.json",
  "schema": "dev.pliegors.product-capabilities/v1",
  "framework": {
    "name": "PliegoRS",
    "channel": "public-beta",
    "releasedVersion": "0.4.0-beta.1",
    "workspaceVersion": "0.4.0-beta.1",
    "openSdkVersion": "0.4.0-beta.1",
    "license": "Apache-2.0",
    "releasedCrateCount": 21,
    "unreleasedCrates": []
  },
  "support": {
    "rust": {
      "msrv": "1.86.0",
      "releaseToolchain": "1.86.0"
    },
    "targets": [
      { "id": "linux-aarch64", "role": "production", "status": "released" },
      { "id": "linux-x86-64", "role": "production", "status": "released" },
      { "id": "macos-aarch64", "role": "development", "status": "released" },
      { "id": "macos-x86-64", "role": "development", "status": "released" },
      { "id": "windows-x86-64", "role": "development", "status": "released" }
    ],
    "browsers": [
      { "id": "chromium", "status": "release-blocking", "evidence": "docs/evidence/r4-dom-lifecycle.md" },
      { "id": "firefox", "status": "compatibility-candidate", "evidence": "docs/34-product-constitution.md" },
      { "id": "safari", "status": "compatibility-candidate", "evidence": "docs/34-product-constitution.md" }
    ],
    "telemetry": {
      "default": "disabled",
      "networkSubmission": "none"
    }
  },
  "surfaces": [
    {
      "id": "adaptive-assets",
      "label": "Adaptive asset planning",
      "domain": "build",
      "availability": "released",
      "stability": "preview",
      "gate": "preserved",
      "summary": "Build-time media, font, video, and 3D plans with explicit device budgets and fallbacks.",
      "evidence": ["docs/08-pliego-assets.md", "docs/26-security-plugins-and-adaptive-media.md"],
      "limitations": ["Runtime image optimization and dynamic Open Graph rendering are not released."]
    },
    {
      "id": "browser-adapters",
      "label": "Browser adapter lifecycle",
      "domain": "browser",
      "availability": "released",
      "stability": "preview",
      "gate": "preserved",
      "summary": "Explicit mount, update, unmount, abort, lazy admission, reduced-motion, and cleanup for JavaScript libraries.",
      "evidence": ["docs/12-external-adapters.md", "docs/evidence/r4-dom-lifecycle.md"],
      "limitations": ["Adapters execute with page privileges and are a lifecycle contract, not a JavaScript sandbox."]
    },
    {
      "id": "cloudflare-runtime",
      "label": "Cloudflare application runtime",
      "domain": "deployment",
      "availability": "released",
      "stability": "preview",
      "gate": "G3",
      "summary": "A conformant Cloudflare Workers runtime for portable PliegoRS server applications.",
      "evidence": ["docs/50-pboc-portable-deployment.md", "docs/evidence/g3-pboc-provider-conformance.md"],
      "limitations": ["The v1alpha1 adapter covers HTTP, ordered streams, assets, host admission, secret references, and deployment compatibility. Provider data services, schedules, durable objects, and billing remain outside PBOC."]
    },
    {
      "id": "data-actions-cache",
      "label": "Loaders, actions, sessions, and cache",
      "domain": "data",
      "availability": "released",
      "stability": "preview",
      "gate": "G2",
      "summary": "Request-scoped data loading, progressive mutations, session boundaries, and explicit distributed cache policies.",
      "evidence": ["docs/rfc/RFC-010-data-actions-cache.md", "docs/48-fullstack-threat-model.md", "docs/evidence/g2-fullstack-beta.md"],
      "limitations": ["The beta ships development and conformance stores; no production durable session, cache, or invalidation provider is claimed."]
    },
    {
      "id": "deterministic-ssg",
      "label": "Deterministic static generation",
      "domain": "build",
      "availability": "released",
      "stability": "preview",
      "gate": "preserved",
      "summary": "Typed documents, routes, heads, assets, staged publication, ownership ledgers, and exact-set verification.",
      "evidence": ["FRAMEWORK.md", "docs/evidence/r1-artifact-trust.md"],
      "limitations": ["The released server serves static output only and does not provide request-time rendering."]
    },
    {
      "id": "dynamic-ssr",
      "label": "Dynamic and streamed SSR",
      "domain": "server",
      "availability": "released",
      "stability": "preview",
      "gate": "G1",
      "summary": "Request-time synchronous, asynchronous, and streamed server rendering with explicit boundaries.",
      "evidence": ["docs/rfc/RFC-008-native-runtime.md", "docs/48-fullstack-threat-model.md", "docs/49-native-runtime-preview.md", "docs/evidence/g1-complete-render-foundation.md", "docs/evidence/g1-ordered-render-foundation.md", "docs/evidence/g1-async-boundary-foundation.md", "docs/evidence/g1-layout-composition-foundation.md", "docs/evidence/g1-middleware-error-foundation.md", "docs/evidence/g1-dynamic-reference-foundation.md", "docs/evidence/g1-transport-load-security.md"],
      "limitations": [
        "The public preview crate exposes three bounded SSR modes and route-owned complete and streamed layouts.",
        "The 0.4.0-beta.1 CLI coordinates G1, G2, G3, and the G4 incremental engineering preview as one exact prerelease package graph."
      ]
    },
    {
      "id": "fullstack-routing",
      "label": "Full-stack route graph",
      "domain": "server",
      "availability": "released",
      "stability": "preview",
      "gate": "G1",
      "summary": "Nested layouts, typed dynamic parameters, route handlers, middleware, and authored error boundaries.",
      "evidence": ["docs/rfc/RFC-009-route-graph.md", "docs/evidence/g1-native-runtime-foundation.md", "docs/evidence/g1-layout-composition-foundation.md", "docs/evidence/g1-middleware-error-foundation.md", "docs/evidence/g1-dynamic-reference-foundation.md", "docs/evidence/g1-transport-load-security.md"],
      "limitations": [
          "The public preview covers bounded grammar, collision admission, deterministic matching, method dispatch, capability-mediated middleware, and scoped error boundaries.",
          "Complete and streamed documents bind structural child slots and head metadata to sealed layouts; generated parameter source types remain later work."
      ]
    },
    {
      "id": "hyphae-client",
      "label": "Hyphae verified protocol boundary",
      "domain": "data",
      "availability": "partial",
      "stability": "preview",
      "gate": "preserved",
      "summary": "Optional protocol v2 attestations, authority policy, and type-gated verified replay for durable applications.",
      "evidence": ["docs/29-hyphae-verified-sync-guide.md", "docs/evidence/r2-verified-sync.md"],
      "limitations": ["No production Hyphae gateway or durability service is claimed by this repository."]
    },
    {
      "id": "incremental-build-engine",
      "label": "Verified incremental build engine",
      "domain": "build",
      "availability": "released",
      "stability": "preview",
      "gate": "G4",
      "summary": "Verified CLI no-ops, explicit lazy-route reuse, observable build records, private cache controls, and resumable adaptive asset work.",
      "evidence": ["docs/51-g4-engineering-readiness.md", "docs/evidence/g4-engineering-readiness.md", "docs/32-golden-developer-experience.md", "docs/08-pliego-assets.md"],
      "limitations": [
        "Selective route reuse requires complete application-authored Page::lazy source declarations; eager and allSources producers remain conservative.",
        "The released preview is backed by five accepted clean-revision Linux samples on the official default fixture. G4 external adoption has not started, and no remote or distributed build cache is provided."
      ]
    },
    {
      "id": "native-http-runtime",
      "label": "Native HTTP runtime",
      "domain": "server",
      "availability": "released",
      "stability": "preview",
      "gate": "G1",
      "summary": "A native Axum, Hyper, Tower, and Tokio host with bounded requests, cancellation, streaming, and graceful shutdown.",
      "evidence": ["docs/rfc/RFC-008-native-runtime.md", "docs/48-fullstack-threat-model.md", "docs/evidence/g1-native-runtime-foundation.md", "docs/evidence/g1-native-socket-foundation.md", "docs/evidence/g1-layout-composition-foundation.md", "docs/evidence/g1-middleware-error-foundation.md", "docs/evidence/g1-dynamic-reference-foundation.md", "docs/evidence/g1-opentelemetry-foundation.md", "docs/evidence/g1-transport-load-security.md"],
      "limitations": [
        "The crate is a public preview, not a stable production-support promise; TLS termination and proxy trust remain explicit operator boundaries.",
        "The 0.4.0-beta.1 CLI exposes PBOC validation, admission, and compatibility commands; application-specific native launch remains owned by the packaged executable."
      ]
    },
    {
      "id": "opensdk-browser-tooling",
      "label": "OpenSDK browser and tooling planes",
      "domain": "extension",
      "availability": "released",
      "stability": "preview",
      "gate": "G5",
      "summary": "Browser framework and JSON-RPC/MCP conformance surfaces implemented on main for evaluation.",
      "evidence": ["docs/44-browser-framework-conformance.md", "docs/45-opensdk-tooling-protocol.md"],
      "limitations": ["The preview crate is public, but its RFC and ADR decisions remain pending and browser conformance still depends on repository fixtures."]
    },
    {
      "id": "opensdk-build",
      "label": "OpenSDK build plane",
      "domain": "extension",
      "availability": "released",
      "stability": "preview",
      "gate": "G5",
      "summary": "Typed WebAssembly Component admission, resource budgets, capabilities, effect receipts, and conformance fixtures.",
      "evidence": ["docs/42-opensdk-foundation.md", "docs/43-opensdk-multilang-conformance.md"],
      "limitations": ["OpenSDK 0.4.0-beta.1 remains a prerelease contract; RFC-006 and ADR-006 still govern stabilization work."]
    },
    {
      "id": "opensdk-server",
      "label": "OpenSDK server plane",
      "domain": "extension",
      "availability": "not-released",
      "stability": "none",
      "gate": "G5",
      "summary": "Language-neutral server extensions aligned with standard WASI HTTP semantics and explicit PliegoRS capabilities.",
      "evidence": ["docs/rfc/RFC-006-opensdk-planes-and-capabilities.md", "docs/rfc/RFC-008-native-runtime.md"],
      "limitations": ["The current pliego:http preview buffers complete request and response bodies and must not be stabilized."]
    },
    {
      "id": "pboc",
      "label": "Pliego Build Output Contract",
      "domain": "deployment",
      "availability": "released",
      "stability": "preview",
      "gate": "G3",
      "summary": "A provider-neutral, digest-bound, executable output contract shared by independent deployment hosts.",
      "evidence": ["docs/rfc/RFC-007-pliego-build-output-contract.md", "docs/50-pboc-portable-deployment.md", "docs/evidence/g3-pboc-provider-conformance.md"],
      "limitations": ["PBOC v1alpha1 is a preview contract. Its schema and diagnostics may change before 1.0, and portable stateful provider resources are not yet defined."]
    },
    {
      "id": "pliegocss-companion",
      "label": "Optional PliegoCSS companion",
      "domain": "tooling",
      "availability": "released",
      "stability": "experimental",
      "gate": "preserved",
      "summary": "Explicit local delegation to a separately installed PliegoCSS compiler while standard CSS remains the default contract.",
      "evidence": ["docs/14-project-manifest-and-cli.md", "docs/evidence/pliegocss-optional-integration.md"],
      "limitations": [
        "PliegoCSS is not installed, linked, or required by PliegoRS; the validated companion is exactly pliego-cssc 0.1.0-rc.2.",
        "The current cross-repository replay is exact-revision local evidence, not a hosted multi-platform compatibility promise."
      ]
    },
    {
      "id": "production-observability",
      "label": "Production server observability",
      "domain": "operations",
      "availability": "not-released",
      "stability": "none",
      "gate": "G1",
      "summary": "OpenTelemetry HTTP spans, metrics, structured logs, runtime diagnostics, and bounded support evidence.",
      "evidence": ["docs/rfc/RFC-008-native-runtime.md", "docs/48-fullstack-threat-model.md", "docs/49-native-runtime-preview.md", "docs/evidence/g1-opentelemetry-foundation.md"],
      "limitations": [
        "Source preview emits operator-enabled OTel server spans and three HTTP metrics with a bounded privacy profile; it installs no exporter and emits nothing by default.",
        "Structured runtime logs, HTTP/2 and load correlation, broader threat-model evidence, and a released production host remain incomplete."
      ]
    },
    {
      "id": "rust-wasm-ui",
      "label": "Rust and WebAssembly UI runtime",
      "domain": "browser",
      "availability": "released",
      "stability": "preview",
      "gate": "preserved",
      "summary": "Escaped views, typed components, reactive ownership, event folds, resume actions, and verified DOM cleanup.",
      "evidence": ["FRAMEWORK.md", "docs/evidence/r0-reactive-safety.md", "docs/evidence/r4-dom-lifecycle.md"],
      "limitations": ["Current release-blocking browser lifecycle evidence is Chromium; Firefox and Safari remain candidates."]
    },
    {
      "id": "server-deployment",
      "label": "Native and OCI application deployment",
      "domain": "deployment",
      "availability": "released",
      "stability": "preview",
      "gate": "G3",
      "summary": "A portable Linux and OCI server artifact with runtime capabilities, rolling deployment, and rollback evidence.",
      "evidence": ["docs/50-pboc-portable-deployment.md", "docs/evidence/g3-pboc-provider-conformance.md"],
      "limitations": ["The reference OCI target is Linux musl and stateless. Stateful migrations require application-specific compatibility evidence, and production ingress policy remains operator-owned."]
    },
    {
      "id": "typed-content",
      "label": "Typed content collections",
      "domain": "build",
      "availability": "released",
      "stability": "preview",
      "gate": "preserved",
      "summary": "Bounded Markdown, JSON, and TOML discovery with typed schemas, safe paths, and deterministic diagnostics.",
      "evidence": ["docs/21-typed-content-collections.md"],
      "limitations": ["Content loading is build-time and is not a request-scoped server data loader."]
    }
  ]
}
