Skip to main content

Platform ↔ IS Dependency Matrix

The explicit consumption contract between the two pillars: which Information-System application consumes which platform capability, through what interface, and who owns each side. This is the precise form of the "consumes" arrow in the L1 Landscape. It captures ownership and interfaces, not just arrows.

How to read it​

  • Consumer = the IS application (business-owned). Provided capability = the platform service (platform-owned). Ownership β‰  deployment β€” both may run on the same cluster; the boundary is logical.
  • Maturity β€” 🟩 Implemented Β· 🟨 Scaffold Β· ⬜ Planned (does the code exist?).
  • Runtime β€” Verified / Unverified (is it actually running?). The last audit could not reach the cluster, so every row here is Unverified and the dependencies are inferred from GitOps manifests + repo code + the .claude/rules constitution. Re-verify against the live cluster before claiming operational reality.
  • Evidence = where the dependency is grounded (a repo, a rule, a manifest).

The provider side β€” platform capabilities (who owns them)​

CapabilityProvided asPlatform owner
Authentik SSOOIDC / forward-auth identity-as-a-servicePlatform (Security)
PostgreSQL / CNPGmanaged Postgres clusters (HA, PITR)Platform (Data)
NATS JetStreamdurable eventingPlatform (Data/Messaging)
LiteLLM gatewaygoverned LLM inference (keys, routing, PII)Platform (AI Runtime)
Qdrantvector store for RAGPlatform (AI Runtime)
Object storage (MinIO / R2)S3-compatible buckets, backup targetsPlatform (Storage)
ObservabilityPrometheus / Grafana / Loki / TempoPlatform (Observability)
GitOps + Kargodelivery (promote one artifact dev→prod)Platform (Delivery)
ERPNext GLdouble-entry general ledger (adopted)(IS-owned app, listed as a downstream the way Billing consumes it)

The IS owns the business meaning on top of each capability: the data model on Postgres, the business authorization on Authentik, the domain events on NATS, the AI use case on the gateway, the business KPIs on the telemetry. The platform owns the capability; the IS owns the use.

The consumption matrix (inferred Β· Unverified)​

| Consumer (IS app) | Provided platform capability | Interface / contract | Maturity | Runtime | Evidence / reference | |---|---|---|---|:--:|:--:|---| | Underwriting (ktayl-underwriting) | PostgreSQL/CNPG Β· NATS Β· LiteLLM Β· Authentik | SQLAlchemy JDBC Β· JetStream subject Β· OpenAI-compat HTTP Β· OIDC | 🟩 | Unverified | ktayl-underwriting repo; datastore-selection.md (CNPG) | | Policy Admin / PAS (ktayl-policy-service) | PostgreSQL/CNPG Β· Authentik | golang-migrate JDBC Β· gRPC/REST + OIDC | 🟩 | Unverified | ktayl-policy-service; datastore-selection.md (CNPG migrated) | | Claims (ktayl-claims) | PostgreSQL/CNPG Β· NATS Β· (legacy globalcore SOAP via ACL) | Flyway JDBC Β· JetStream CDC Β· SOAP strangler | 🟩 | Unverified | ktayl-claims; reference_debezium_server_nats_cdc | | Billing (ktayl-core) | PostgreSQL/CNPG Β· NATS Β· Stripe (ext) Β· ERPNext GL | Flyway JDBC Β· JetStream insurance.underwriting.bound-risk Β· Stripe API Β· ERPNext Journal Entry | 🟨 | Unverified | ktayl-core; project memory ktayl_core_billing | | IAM / IGA (ktayl-iam) | PostgreSQL/CNPG Β· Authentik | TypeORM JDBC Β· OIDC (governs Authentik groups) | 🟩 | Unverified | ktayl-iam; datastore-selection.md (CNPG migrated) | | Data products (ktayl-data-platform) | PostgreSQL (source) Β· ClickHouse Β· object storage | dbt models Β· JDBC Β· S3 | 🟩 | Unverified | ktayl-data-platform; reference_data_platform_slice1 | | Retrieva (cert product, separate) | LiteLLM Β· Qdrant Β· Langfuse Β· PostgreSQL/CNPG Β· object storage | OpenAI-compat HTTP Β· Qdrant HTTP Β· Langfuse SDK Β· JDBC Β· S3 | 🟩 | Unverified | retrieva docs; llmops.md | | Digital Workplace (ERPNext, Nextcloud, Matrix, Jitsi, Plane, n8n, Stalwart, Docuseal) | PostgreSQL/MariaDB Β· Authentik Β· object storage | per-app DB Β· OIDC/forward-auth Β· S3 | 🟩 | Unverified | is/ docs; workplace-architecture.md | | Scaffold domains (Distribution, Finance, Reinsurance, Risk-Eng, International, Compliance, DMS, Integration, MDM) | (to be assigned when built β€” modular-monolith-first) | β€” | 🟨 | β€” | empty ktayl-* repos; architecture-strategy.md | | Submission Hub (#27) | (planned) | β€” | ⬜ | β€” | board #27 β€” no repo |

Cross-cutting consumption (every IS app)​

  • Delivery β€” built + promoted devβ†’prod via GitOps (ArgoCD) + Kargo; no app owns its own pipeline.
  • Observability β€” emits metrics/logs/traces to the platform stack (Prometheus/Loki/Tempo); the app defines its business KPIs on top.
  • Secrets β€” config via ESOβ†’Vault; no app stores its own credentials.
  • Networking/Security β€” default-deny egress + Cilium NetworkPolicies; Gatekeeper admission.

See the L1 Landscape for the high-level picture and the IS Application Landscape for the domains. The provider-side detail lives in the platform topology (L2 Platform).