Platform and Connector Architecture Cross-Check
Executive Summary
The current architecture set mixes two different snapshots of SecurityV0:
- Current-state docs: the processing pipeline, authority path model, and drift evaluator docs line up well with the live codebase.
- Older-state docs: the overview, API, UI, and Entra-ServiceNow reference docs still describe an earlier pre-W1 / pre-authority-path / pre-Azure-Foundry version of the system.
The most important outcome of this review is:
- The documentation is missing shipped capabilities in the core overview/API/database/UI narratives.
- Some architecture docs are ahead of implementation and should be labelled more clearly as planned or deferred.
- Azure Foundry now needs a first-class architecture/reference document comparable to the Entra-ServiceNow connector doc.
This was a static repo cross-check only. I reviewed documentation and source code, but I did not run live scans, hit API endpoints, or compare against a running tenant.
Scope
Documentation reviewed
docs/architecture/00-overview.mddocs/architecture/01-data-model.mddocs/architecture/02-processing-pipeline.mddocs/architecture/03-database.mddocs/architecture/04-api-layer.mddocs/architecture/05-connectors.mddocs/architecture/06-scim-oaa-integration.mddocs/architecture/07-ui-reporting.mddocs/architecture/08-reference-impl-entra-servicenow.mddocs/architecture/09-drift-evaluator-framework.mddocs/architecture/10-access-paths.mddocs/architecture/11-platform-mental-model.mddocs/architecture/decisions/adr-015-connector-sdk-language.md
Implementation cross-checked
sv0-platform/src/api/routes/*sv0-platform/src/workers/handlers/*sv0-platform/src/ingestion/*sv0-platform/src/storage/mongo/{collections,schema}.tssv0-platform/src/services/{posture-service,risk-cluster-service}.tssv0-platform/ui/src/{App.tsx,components/graph/*,pages/*}sv0-connectors/integrations/entra-servicenow/*sv0-connectors/integrations/azure-foundry/*sv0-connectors/shared/{sv0_common,sv0_azure}/*
Current Implementation Baseline
The repo currently implements:
- A 3-job platform pipeline:
sync_ingestion->evaluate_findings->build_evidence_pack - Authority path materialization and path-level findings
- Posture snapshots and risk clusters
- Execution chains
- Execution evidence storage and API access
- A React UI centered on Overview, Risk Clusters, Authority Paths, Identities, Data Domains, and Graph Explorer
- Two live Python connector packages:
entra-servicenowazure-foundry
The repo does not currently implement:
- SCIM endpoints
- OAA export endpoints
POST /api/v1/query- Manual
POST /api/v1/syncs - Phase-2 execution-chain history collections (
execution_chain_versions,execution_chain_events)
Cross-Check by Document
| Document | Assessment | Notes |
|---|---|---|
00-overview.md | Partially stale | High-level architecture is still directionally right, but it omits current path/posture structures and still presents SCIM/OAA and a standalone query service as if they are active platform layers. |
01-data-model.md | Mostly aligned | The 9-entity model, workload rename, and relationship taxonomy match the implementation well. Only minor connector-specific examples need tightening. |
02-processing-pipeline.md | Strongly aligned | This is one of the best current-state docs. The worker handlers match the documented 3-job flow, circuit breakers, authority path materialization, and posture snapshot capture. |
03-database.md | Partially stale | Baseline, sync, evidence, and chain collections are documented, but current shipped collections authority_paths and posture_snapshots are not covered, while phase-2 chain history collections are described despite not being created. |
04-api-layer.md | Stale | Core entity/findings/path/sync/chain coverage is decent, but authority-path, execution-evidence, and risk-cluster detail endpoints are missing, and the W1 posture/exposure contracts no longer match the live routes. |
05-connectors.md | Partially stale | The NormalizedGraph contract still matches the platform boundary, but the connector inventory, roadmap, and some lifecycle language do not reflect the current Python cross-system connector repo. |
06-scim-oaa-integration.md | Accurate as roadmap | This doc correctly labels SCIM as planned and OAA as deferred. The implementation gap is expected. |
07-ui-reporting.md | Heavily stale | The live UI no longer matches the documented route structure, graph layout engine, execution-chain status, or automations-centric navigation model. |
08-reference-impl-entra-servicenow.md | Heavily stale | The connector has moved to the workload/connection/credential model, but the doc still describes older identity-centric mappings and older evidence assumptions. |
09-drift-evaluator-framework.md | Mostly aligned | The documented drift rule family still maps cleanly to the evaluator code and remediation service. |
10-access-paths.md | Strongly aligned | This is the clearest current-state doc for the W1.1 architecture and API surface. |
11-platform-mental-model.md | Useful but partial | Good bridge doc for current platform thinking, but some Azure Foundry mappings no longer match the actual connector transformer output. |
Highest-Priority Documentation Gaps
1. The overview no longer matches the real system boundary
00-overview.md still describes:
- a connector layer made of single-source connectors like
Entra ID ConnectorandServiceNow Connector - a live interoperability layer with OAA + SCIM
- a standalone query service
- an outdated MongoDB collection list
The current implementation is different:
- the connector repo ships paired/cross-system Python connectors (
entra-servicenow,azure-foundry) - SCIM/OAA are not implemented
- the query module is still a placeholder
- MongoDB now includes shipped collections such as
authority_pathsandposture_snapshots
2. The API reference is missing important shipped endpoints
04-api-layer.md does not currently document these implemented routes:
GET /api/v1/entities/:id/execution-evidenceGET /api/v1/authority-pathsGET /api/v1/authority-paths/:idGET /api/v1/authority-paths/:id/findingsGET /api/v1/authority-paths/:id/remediationGET /api/v1/risk-clusters/:key/authority-pathsGET /api/v1/risk-clusters/:key/remediationGET /api/v1/execution-chains/:id/entities
It also documents older W1 response contracts. The live implementation is now more path-centric:
- posture summary returns
active_paths,dormant_paths, execution totals, identity/workload counts, and delta metrics - risk clusters return path-based aggregates
- exposures are workload-grain summaries, not one row per authority path
3. The database doc misses shipped collections
03-database.md needs to be updated for the actual current schema:
- Missing from doc, present in code:
authority_pathsposture_snapshots
- Documented as phase 2, absent from schema manager:
execution_chain_versionsexecution_chain_events
4. The UI architecture doc is describing the previous UI generation
07-ui-reporting.md is the most visibly stale core doc.
Major mismatches:
- The live nav is Overview / Risk Clusters / Authority Paths / Identities / Data Domains / Graph Explorer
- The app now has top-level routes for:
/clusters/authority-paths/chains
/automationsis not the primary navigation model anymore- execution chains are implemented
- the graph layout engine is ELK, not Dagre
workload,connection, andexecution_evidencegraph nodes are implemented
5. The Entra-ServiceNow reference doc predates the current connector shape
08-reference-impl-entra-servicenow.md still reflects an older mapping model.
Current connector behavior that needs to be reflected:
- ServiceNow automations are emitted as
workloadnodes - OAuth artifacts are emitted as
credentialnodes - cross-system linkage uses
USES+AUTHENTICATES_AS+RUNS_ASpatterns - execution evidence comes from:
- Entra sign-in logs
sys_flow_contextsys_trigger
- the connector now performs much richer workload discovery than the doc suggests
6. Azure Foundry has no equivalent reference architecture doc
This is the clearest “missing document” in the architecture set.
We now have a real connector implementation for azure-foundry, but there is no numbered architecture doc equivalent to 08-reference-impl-entra-servicenow.md covering:
- discovered entity/edge mappings
- Foundry project/resource modeling
- managed identity + ARM role correlation
- thread-proxy execution evidence limitations
- connection/tool classification
- platform ingestion assumptions
The closest current documentation is split between:
11-platform-mental-model.md- session notes
- connector README files
That is not enough for a canonical architecture reference.
Docs Ahead of Implementation
These are cases where the architecture docs describe a capability that is still planned or deferred in code:
| Capability | Doc state | Code state |
|---|---|---|
| SCIM API | Planned in 06-scim-oaa-integration.md, implied too strongly in 00-overview.md | No routes implemented |
| OAA export | Deferred in 06-scim-oaa-integration.md, implied too strongly in 00-overview.md | No routes implemented |
Structured query API (POST /api/v1/query) | Planned in 04-api-layer.md | Placeholder only |
Manual sync trigger (POST /api/v1/syncs) | Planned in 04-api-layer.md / 07-ui-reporting.md | No route implemented |
| Query Service as a standalone platform subsystem | Described in 00-overview.md | src/query/index.ts is still a placeholder |
execution_chain_versions / execution_chain_events | Documented in 03-database.md as phase 2 | Not created by the schema manager |
Best Current Sources of Truth
If someone needs the most reliable current-state docs today, use these first:
02-processing-pipeline.mdfor ingestion/evaluation flow10-access-paths.mdfor W1.1 path model and API09-drift-evaluator-framework.mdfor drift rules11-platform-mental-model.mdfor the connector-to-platform bridge
For exact behavior, the most authoritative implementation files are:
sv0-platform/src/api/routes/*sv0-platform/src/workers/handlers/*sv0-platform/src/storage/mongo/{collections,schema}.tssv0-platform/src/services/{posture-service,risk-cluster-service}.tssv0-platform/ui/src/App.tsxsv0-connectors/integrations/entra-servicenow/src/entra_servicenow/core/transformer.pysv0-connectors/integrations/azure-foundry/src/azure_foundry/core/transformer.py
Recommended Documentation Refresh Order
Priority 1
04-api-layer.md07-ui-reporting.md00-overview.md
Priority 2
03-database.md08-reference-impl-entra-servicenow.md
Priority 3
- Add
12-reference-impl-azure-foundry.md(or equivalent) - Tighten
11-platform-mental-model.mdAzure Foundry mapping details - Resolve outdated open questions in
05-connectors.md
Suggested Next Step
The most efficient next pass would be:
- Refresh
04-api-layer.mdand07-ui-reporting.mdto match shipped behavior. - Update
00-overview.mdand03-database.mdso the top-level architecture story reflects authority paths, posture snapshots, and the actual connector inventory. - Rewrite
08-reference-impl-entra-servicenow.mdand add an Azure Foundry companion doc.
That would bring the core architecture set back into alignment without needing a full-documentation rewrite.