From cbf0e1a0bfd94bed403378465632d40eafa9e135 Mon Sep 17 00:00:00 2001 From: Simon Axelsson Date: Fri, 4 Sep 2026 13:26:18 +0200 Subject: [PATCH] chore(estate): add first siax.repo.v3.json manifest (P003 v3 adoption) First siax.repo.v3.json in the SIAX platform estate (P049 certification found v3 adoption at 0/40, which structurally blocked 8 of the 11 required siax-doctor commands with score 0 / *-NOMANIFEST). Additive only: siax.repo.json (v2) is left untouched per CONTRIBUTING.md. No other file changed. Every field is filled from a real source (siax.repo.json v2, package.json, LICENSE, siax.config.json, docs/runbook/*, docs/slo.md, PRODUCTION_EVIDENCE.json, siax-standard SIAX_ESTATE.yaml + SIAX_TAXONOMY.yaml, cl0ud packages/capability-registry/src/registry.ts, and a live probe of 0pt.app on 2026-09-04). Where the truth is unknown or unproven the honest schema option is used, never a value that merely looks complete: - productionEvidence.verified=false: no SHA->CI->artifact->SBOM->signature-> deployment->running-digest chain exists (PRODUCTION_EVIDENCE.json is a CI verification report, not that chain). - identity.workloadIdentity=false: outbound platform calls use an optional static ST0RE_SERVICE_TOKEN env bearer (src/clients/st0re-client.ts); cl0ud service-auth.ts registers no principal for 0pt. - consumedBy=[]: SIAX_ESTATE.yaml row says consumers UNKNOWN-not-verified; the 4 reverse-lookup candidates are labelled "inferred" there. - reliability.backupFrequency=none / provenRestore=false: production has no database (live /api/health db=not_configured); the P014 drill ran against throwaway containers, not a production backup. - licenses.approved=false: no siax.license-assessment record exists. - operationalState=degraded: live 0pt.app answers liveness 200 but db=not_configured and /api/ready is 404 (deployed build predates main). - node=null / deployment.node=null: live on Vercel, not a fleet node. - observability.metrics=false / otel=false: STATUS.md "no metrics/traces emitted"; /api/admin/metrics is business aggregates, not observability. - capabilities: exactly the 19 ids cl0ud's registry lists with owner '0pt' (5 prospekt.* + 14 0pt.*). NOTE: the repo contains zero "prospekt" code and ships no CLI/MCP surface despite the registry claiming those surfaces for prospekt.* -- flagged in the PR, not silently dropped. - surfaces=[api, ui]: only what actually ships (Next.js route handlers + FastAPI, Next.js pages). No bin, no MCP tools file, no SDK package (packages/schemas is JSON Schema files consumed by path), job execution is delegated to N0D per the registry. siax-doctor (siax-standard main, @siax/schemas): repo REPO-16 NA -> PASS (measuredScore 85 -> 85; REPO-16 is NA-safe) capabilities 0 / CAP-NOMANIFEST -> 100 (CAP-DUP-OWNER PASS, 19 ids) dependencies 0 / DEP-NOMANIFEST -> 100 (DEP-CYCLE/DEP-REVERSE/DEP-ASYM PASS) surfaces 0 / SURF-NODATA -> 0 (needs siax/capabilities/*.json records) engines 0 / ENG-NOMANIFEST -> 0 (ENG-DIRECT-COUPLING NA for core-platform; ENG-REGISTRY UNVERIFIED) licenses 0 / LIC-NOMANIFEST -> 0 (LIC-UNASSESSED UNVERIFIED -- honestly no approved=true claim) Co-Authored-By: Claude Fable 5.1 --- siax.repo.v3.json | 120 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 siax.repo.v3.json diff --git a/siax.repo.v3.json b/siax.repo.v3.json new file mode 100644 index 0000000..dadacd5 --- /dev/null +++ b/siax.repo.v3.json @@ -0,0 +1,120 @@ +{ + "$schema": "https://git.siax.io/sax3l/siax-standard/raw/branch/main/schema/siax.repo.v3.schema.json", + "standardVersion": "3.0", + "repo": "0PT", + "tier": "core-platform", + "category": "platform", + "subcategory": "data-os", + "appId": "0PT", + "capabilityPrefix": "0pt", + "packageName": "@siax/0pt", + "owner": "SIAX Technology AB", + "lifecycle": "active", + "operationalState": "degraded", + "gitHost": "git.siax.io", + "node": null, + "domains": [ + { + "fqdn": "0pt.app", + "env": "prod", + "purpose": "Next.js edge plane (marketing, catalog, order flow, customer/admin portal, capability API). Live on Vercel, NOT on the SIAX fleet (docs/runbook/deploy.md). Probe 2026-09-04: GET /api/health 200 with db=not_configured, queue=not_configured; GET /api/ready 404 -- the deployed build predates main's readiness route." + }, + { + "fqdn": "api.0pt.app", + "env": "prod", + "purpose": "Documented target host for the FastAPI data engine (contracts/openapi.yaml servers list). NOT live: docs/slo.md says the engine is not deployed; probe 2026-09-04 returned HTTP 404." + } + ], + "consumes": ["siax-standard", "cl0ud", "st0re", "n0d", "aud0", "inf0"], + "consumedBy": [], + "replacesSaaS": ["Apollo", "Cognism", "ZoomInfo", "Clearbit"], + "children": [ + { + "path": "app", + "purpose": "Next.js edge plane -- UI + capability/order/payment API route handlers", + "lifecycle": "active" + }, + { + "path": "services/api", + "purpose": "FastAPI data engine (orchestrator + workers) -- legal sourcing chain, estimates/orders/screening. Python tests not wired into CI (PRODUCTION_EVIDENCE.json)", + "lifecycle": "active" + }, + { + "path": "services/scrapers", + "purpose": "Scraper stack including WAF-bypass code -- kept per a dated, attributed account-owner decision under active review; deletion PR open, NOT merged; NOT part of the compliant sourcing chain (SECURITY.md, CLAUDE.md section 1)", + "lifecycle": "active" + }, + { + "path": "packages/schemas", + "purpose": "Shared JSON Schema definitions for 0pt data contracts (dataset/iceberg/lineage/signal/rate-policy); consumed by path, not an SDK", + "lifecycle": "active" + } + ], + "runtime": { + "language": "typescript", + "node": ">=22", + "framework": "nextjs", + "packageManager": "pnpm" + }, + "canonical": true, + "parentRepo": null, + "capabilities": [ + "prospekt.email_verify", + "prospekt.jobs_write", + "prospekt.jobs_read", + "prospekt.search_read", + "prospekt.search_write", + "0pt.query_source", + "0pt.document_ocr", + "0pt.write_external_record", + "0pt.lakehouse_mapping_manage", + "0pt.lakehouse_write", + "0pt.source_rate_policy_manage", + "0pt.screen_sanctions", + "0pt.estimate_compute", + "0pt.vehicle_lookup", + "0pt.catalog_list", + "0pt.source_registry_list", + "0pt.order_create", + "0pt.order_payment", + "0pt.write_iceberg_table" + ], + "surfaces": ["api", "ui"], + "contracts": { + "openapi": "contracts/openapi.yaml" + }, + "identity": { + "workloadIdentity": false, + "authProvider": "cl0ud", + "tenantScoped": true + }, + "persistence": { + "stateful": true, + "database": "postgres", + "storage": "st0re" + }, + "deployment": { + "node": null, + "dedicated": false, + "environments": ["prod"] + }, + "observability": { + "health": true, + "ready": true, + "metrics": false, + "otel": false + }, + "reliability": { + "backupFrequency": "none", + "provenRestore": false + }, + "engines": ["postgres", "opensearch", "clickhouse"], + "licenses": { + "spdx": "UNLICENSED", + "approved": false + }, + "productionEvidence": { + "verified": false + }, + "decoupled": false +} -- 2.54.0