{
  "site": "https://locateflow.xyz",
  "website": {
    "version": "0.1.5",
    "released": "2026-11-03"
  },
  "snapshot": "2026-11-02",
  "production": {
    "version": "v0.5.0",
    "released": "2026-11-02",
    "hosts": {
      "app": "https://app.locateflow.xyz",
      "api": "https://api.locateflow.xyz",
      "auth": "https://auth.locateflow.xyz"
    }
  },
  "develop": {
    "version": "0.5.0",
    "released": false,
    "next": "C1",
    "nextScope": "Commercialisation phase A: price display + catalogue browser. Requirements and ADRs accepted; no implementation yet."
  },
  "statusCards": [
    {
      "label": "Production",
      "version": "v0.5.0",
      "lifecycle": "released",
      "pill": "Released · 2026-11-03",
      "body": "Serving app/api/auth plus live Graph public catalogue surfaces from the homelab k3s deployment; institutional site at locateflow.xyz (website v0.1.5)."
    },
    {
      "label": "Develop",
      "version": "0.5.0",
      "lifecycle": "released",
      "pill": "Aligned with production",
      "body": "The develop line now matches production at 0.5.0; new work starts on a feature branch."
    },
    {
      "label": "Next",
      "version": "C1",
      "lifecycle": "specified",
      "pill": "Specified · not built",
      "body": "Commercialisation phase A: price display + catalogue browser. Requirements and ADRs accepted; no implementation yet."
    }
  ],
  "releases": [
    {
      "version": "0.5.0",
      "date": "2026-11-03",
      "type": "minor",
      "theme": "Remote sources, schema guard, production stack",
      "summary": "Remote OGC API — Features (Core) and remote GeoJSON URL ingestion with per-load caps and ephemeral credentials; schema readiness guard + PreSync migrations; About page; website and GitOps integrated; 95 MiB upload cap."
    },
    {
      "version": "0.4.3",
      "date": "2026-11-02",
      "type": "patch",
      "theme": "Dev-hostname patch",
      "summary": "Deployment-only patch: dev build arguments use dev-api.locateflow.xyz and the release lineage is folded into the v0.4.2 homelab deployment."
    },
    {
      "version": "0.4.2",
      "date": "2026-11-02",
      "type": "patch",
      "theme": "Homelab deployment (I1)",
      "summary": "First release deployed to the homelab: one container image per deployable, k3s namespace layout, external PostGIS, Cloudflare Tunnel, and deployment documentation."
    },
    {
      "version": "0.4.1",
      "date": "2026-10-27",
      "type": "patch",
      "theme": "License-term enforcement",
      "summary": "License spatial, temporal, and feature-count caps are enforced by featureflow through the existing CQL2/page machinery; spatial terms accept a polygonal GeoJSON FeatureCollection."
    },
    {
      "version": "0.4.0",
      "date": "2026-10-26",
      "type": "minor",
      "theme": "Discovery + catalogue portal (P2.0)",
      "summary": "Public metadata listings, scoped discovery views, mediated offers, OAuth2 machine clients, signup opt-down, and the /portal + /discovery UI. A listing never grants access."
    },
    {
      "version": "0.3.0",
      "date": "2026-10-23",
      "type": "minor",
      "theme": "Multi-tenant SaaS (P1c)",
      "summary": "Ownership, publishing, licensing, API keys, Keycloak identity, gateway PEP + permission-service PDP, Redis quotas, append-only usage/audit log, and the admin UI."
    },
    {
      "version": "0.2.0",
      "date": "2026-10-09",
      "type": "minor",
      "theme": "P1a hardening",
      "summary": "Hardening and correctness across the serving and onboarding paths after the P0 slice."
    },
    {
      "version": "0.1.0",
      "date": "2026-10-05",
      "type": "minor",
      "theme": "P0 serving slice",
      "summary": "OGC API — Features Core + Part 3 Filtering/CQL2, bbox and datetime filters, keyset pagination, and STAC-compliant PostGIS storage."
    }
  ],
  "versionMatrix": [
    {
      "component": "Backend workspace",
      "released": "0.5.0",
      "develop": "0.5.0"
    },
    {
      "component": "Frontend",
      "released": "0.5.0",
      "develop": "0.5.0"
    },
    {
      "component": "Institutional website",
      "released": "0.1.5",
      "develop": "0.1.5"
    },
    {
      "component": "Deploy repository",
      "released": "0.1.0",
      "develop": "0.1.0"
    },
    {
      "component": "Rust",
      "released": "1.88 MSRV",
      "develop": "1.88 MSRV",
      "note": "Rust 2024 edition; toolchain 1.98 in use"
    },
    {
      "component": "Actix-web",
      "released": "4.15",
      "develop": "4.15"
    },
    {
      "component": "sqlx",
      "released": "0.9",
      "develop": "0.9"
    },
    {
      "component": "PostgreSQL / PostGIS",
      "released": "17",
      "develop": "17",
      "note": "External PostGIS VM in the reference deployment"
    },
    {
      "component": "Redis",
      "released": "Quota counters",
      "develop": "Quota counters",
      "note": "Ephemeral; outage is fail-open with a warning"
    },
    {
      "component": "Keycloak",
      "released": "OIDC IdP",
      "develop": "OIDC IdP",
      "note": "Realms locateflow and locateflow-dev"
    },
    {
      "component": "Vue",
      "released": "3.5.43",
      "develop": "3.5.43"
    },
    {
      "component": "Vite",
      "released": "8.3.5",
      "develop": "8.3.5"
    },
    {
      "component": "TypeScript",
      "released": "5.9.3",
      "develop": "5.9.3"
    },
    {
      "component": "Node.js",
      "released": ">= 22.12",
      "develop": ">= 22.12"
    },
    {
      "component": "k3s",
      "released": "v1.37.1+k3s1",
      "develop": "reference",
      "note": "Traefik ingress, Cloudflare Tunnel"
    }
  ],
  "capabilities": [
    {
      "capability": "Load",
      "lifecycle": "released",
      "status": "Released",
      "note": "WFS 1.x/2.x, GeoJSON, Shapefile, remote OGC API — Features (Core) and remote GeoJSON URL (0.5.0). CSV/DBF is specified."
    },
    {
      "capability": "Serve",
      "lifecycle": "released",
      "status": "Released",
      "note": "OGC API — Features Core + Part 3 Filtering/CQL2, bbox/datetime, keyset pagination."
    },
    {
      "capability": "Control",
      "lifecycle": "released",
      "status": "Released",
      "note": "Ownership, visibility, capabilities, quotas, suspension, and append-only audit on one PEP/PDP path."
    },
    {
      "capability": "License",
      "lifecycle": "released",
      "status": "Released",
      "note": "Per-collection spatial, temporal, feature-count, and request-quota terms; time-bound and revocable."
    },
    {
      "capability": "Discover",
      "lifecycle": "released",
      "status": "Released",
      "note": "Public metadata listings and scoped discovery views. A listing never grants access."
    },
    {
      "capability": "Scale",
      "lifecycle": "planned",
      "status": "Planned",
      "note": "H3, externalized properties, partitions, and the performance component are the last feature phase."
    },
    {
      "capability": "Commerce",
      "lifecycle": "specified",
      "status": "Specified",
      "note": "Pricing, quotes, orders, invoices, and payouts are specified in ADR-0053/0054/0055; no implementation on develop."
    },
    {
      "capability": "Viewer app",
      "lifecycle": "planned",
      "status": "Planned",
      "note": "Metadata viewer and aggregation CRS work are P3."
    },
    {
      "capability": "AI assistant",
      "lifecycle": "planned",
      "status": "Planned",
      "note": "Natural language to CQL2 is P4."
    },
    {
      "capability": "OGC certification",
      "lifecycle": "planned",
      "status": "Planned",
      "note": "The internal conformance suite covers Core + Part 3. Official certification is the final roadmap item."
    }
  ],
  "roadmap": [
    {
      "item": "P2.0 discovery + catalogue portal",
      "lifecycle": "released",
      "status": "Released as v0.4.0",
      "detail": "Public listings, scoped discovery, machine clients, signup opt-down, /portal."
    },
    {
      "item": "Homelab deployment",
      "lifecycle": "released",
      "status": "Released as v0.4.2 / v0.4.3",
      "detail": "Container images, k3s, PostGIS, Cloudflare Tunnel, prod hostnames."
    },
    {
      "item": "Remote-source ingestion",
      "lifecycle": "released",
      "status": "Released as v0.5.0",
      "detail": "Remote OGC API — Features Core and remote GeoJSON URL sources, per-load caps, credential lifecycle, Test connection."
    },
    {
      "item": "Commercialisation",
      "lifecycle": "specified",
      "status": "Specified · not built",
      "detail": "Pricing rate card, footprint, quotes, orders, invoices, payouts, catalogue browser."
    },
    {
      "item": "P3 viewer + aggregation CRS",
      "lifecycle": "planned",
      "status": "Planned",
      "detail": "Metadata-only viewer app and aggregation CRS compatibility."
    },
    {
      "item": "P4 AI assistant",
      "lifecycle": "planned",
      "status": "Planned",
      "detail": "Natural language to CQL2 over a collection’s queryables."
    },
    {
      "item": "P2 performance track",
      "lifecycle": "planned",
      "status": "Planned · last feature phase",
      "detail": "H3, externalized properties, partitions, and reversible performance operations."
    },
    {
      "item": "Official OGC certification",
      "lifecycle": "planned",
      "status": "Planned · final item",
      "detail": "After the performance track; the internal conformance suite is the current evidence."
    }
  ],
  "links": {
    "app": "https://app.locateflow.xyz",
    "portal": "https://app.locateflow.xyz/portal",
    "register": "https://app.locateflow.xyz/register",
    "login": "https://app.locateflow.xyz/login",
    "apiHealth": "https://api.locateflow.xyz/health",
    "auth": "https://auth.locateflow.xyz",
    "omni": "https://github.com/roger-oliver/omni-agent-builder"
  }
}