Skip to content
bitzorcas
中EN

Reference

Module readiness matrix

The current 36 Platform roots, their Ready / Out-of-Scope status, ProductionDepth semantics, and repository-wide persistence closure.

Last updated

The readiness matrix tracks whether each of the 36 current first-level src/Platform directories has passed the Application-surface checks. Ready means that surface passed current checks — it is not a claim that every persistence, QueryShape, Native AOT, external connector, or asymmetric-storage concern is production-complete. Those remain governed by their own manifests and acceptance evidence.

What “Ready” means

A module reaches Ready only after:

  • Application handlers are checked for avoidable Result/template/list-query/tenant-context friction;
  • module-specific architecture tests exist, or the module is explicitly out of scope;
  • relevant Application/Unit/Integration tests run for the changed behavior;
  • the minimum quality gates pass.

Out of Scope is allowed only when a module has no Application surface or is a shared contract package.

Current status

Repository-wide persistence closure: Closed.

ModuleApplication surfaceStatus
AIManageYesReady
AnnouncementsYesReady
AuthorizationYesReady
BitzOrcas.Platform.ApplicationShared ApplicationOut of Scope
BitzOrcas.Platform.ContractsShared ContractsOut of Scope
CatalogYesReady
ChatYesReady
CommentsYesReady
CommercialDistributionYesReady
DocumentStructureYesReady
DocumentsYesReady
FilesYesReady
GdprYesReady
GuidanceYesReady
I18nYesReady
IdentityYesReady
IndustryExtensionsNo (opt-in industry packages)Out of Scope
LegalCalculatorsNo (optional legal package)Out of Scope
LegalConnectorsYesReady
LicenseManagementYesReady
MasterDataYesReady
MenuYesReady
NumberingYesReady
NotificationsYesReady
OperationsYesReady
OpsExtensionYesReady
PlatformBillingYesReady
ReleaseManagementYesReady
ReportingYesReady
RiskControlYesReady
SearchYesReady
ToolConnectorsYesReady
TrackerYesReady
WebhooksYesReady
WebsiteYesReady
WorkflowYesReady

ProductionDepth is not a synonym for Ready

Current source governance uses four production-depth classes:

  • Core: common in the default Profile with substantial production-path evidence; target tenant and environment configuration still apply.
  • Optional: enabled explicitly by Profile or configuration and fail-closed when absent.
  • ConnectorRequired: requires a real provider, gateway, or key; an interface alone is not production evidence.
  • Sample: an extensible skeleton or shallow default that must not be presented as a large-scale production default.

The 2026-08-03 source snapshot classifies Identity, Authorization, Files, Notifications, Webhooks, Menu, MasterData, Numbering, ReleaseManagement, Announcements, and Operations probes/configuration as Core. Workflow, Chat, AIManage, Gdpr, RiskControl, Website, CommercialDistribution, LicenseManagement, and PlatformBilling are Optional — the standalone Tickets entry in the original snapshot merged into Tracker afterwards and corresponds to that row. LegalConnectors and ToolConnectors are ConnectorRequired. Search and Reporting retain Sample/shallow-default boundaries. A Ready module omitted from that snapshot must not be inferred as Core; its owner must supply real deployment evidence.

Persistence closure

The authoritative ledger is 0006-persistence-surface-classification.json. When its closureStatus is Closed, src/Platform and src/Modules contain no *Entity.cs, *PersistenceMappingSpecs.cs, or production QueryFilterTranslator files, and no MigrationCandidate/DeleteCandidate/ParityBlocker/FrameworkMigrationSeam entries remain. Architecture tests bidirectionally set-compare source declarations, mapping files, and translator files against this manifest.

The Sprint-by-Sprint review log that produced this matrix is an internal process artifact and stays in the source repository.

Review order and commands

Start with a bidirectional directory/matrix comparison. The architecture test fails if a new root has no classification or a deleted root leaves a stale row:

Terminal window
# All 36 first-level Platform roots must match the authoritative matrix.
find src/Platform -mindepth 1 -maxdepth 1 -type d -exec basename {} \; | sort
dotnet test tests/BitzOrcas.Architecture.Tests \
--filter FullyQualifiedName~PlatformModuleReadinessMatrixTests

Then verify that persistence closure did not regress through a new Entity, mapping, or translator. Zero local matches are only a scan; the bidirectional 0006 manifest gate remains authoritative:

Terminal window
# The Platform/Modules production migration surface should remain empty.
rg --files src/Platform src/Modules | rg 'Entity\.cs$|PersistenceMapping(Specs)?\.cs$|QueryFilterTranslator'
# Run manifest, dual-ORM, and exception-ledger architecture gates.
dotnet test tests/BitzOrcas.Architecture.Tests \
--filter "FullyQualifiedName~PersistenceSurface|FullyQualifiedName~OrmParity"

Continuous review also covers owner transfers, dual-ORM parity, the AOT exception ledger, and final Docker contracts. Keep sprint history out of the Ready row: behavioral evidence belongs in module tests, and remaining risk belongs in its owning manifest.

See also

100%

Scroll or use controls to zoom · drag when enlarged · double-click for 100% / 200%