docs(governance): Common scorecard #9 to M4 after in-repo contract-surface gates - #122
Merged
Conversation
…rface gates (Common PR #271) MMCA.Common PR #271 (squash 8a6c603) landed both halves of the #9 backlog item in-repo: an OpenAPI committed-baseline diff over the framework-owned generated surface, and a dedicated [ServiceContract] purity fitness rule. That meets the rubric M4 bar (enforced automatically by tests/CI), so #9 rises Maturity 3 to 4 (weighted 6/18 to 8/18). Maturity index 314 to 316 / 324 (96.9% to 97.5%); Implementation unchanged at 687/810 (84.8%). The #9 scorecard risk entry is closed in place with its resolution (no renumbering), and the backlog item is closed to the level-4 protect list with a follow-up: consumer subclassing of ServiceContractPurityTestsBase rides the next release sweep. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016usKhixm2drfHmwmmmqwbn
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
MMCA.Common PR #271 (squash
8a6c603) landed both halves of the long-open #9 backlog item in-repo, so the rubric M4 bar ("enforced automatically (analyzers/tests/CI)") is met for API & Contract Design:OpenApiBaselineTests.cs:45-77boots a probe host through the realAddCommonOpenApi/MapCommonOpenApipipeline, normalizes/openapi/v1.jsonand fails against the committedopenapi-baseline.v1.json; regeneration is gated behindMMCA_UPDATE_OPENAPI_BASELINE=1in the same pull request. Scoped to the framework-owned surface by design: each consumer host keeps guarding its concrete surface (for example ADC'sOpenApiContractTests).[ServiceContract]purity fitness rule.ArchitectureRules.Contracts.cs:32+Bases/ServiceContractPurityTestsBase.cs:24-26, subclassed atServiceContractPurityTests.cs:11; fails the build, naming the offending type, when a marked contract depends on a mapped Domain/Application/Infrastructure namespace. Vacuous in Common today (no type carries the attribute), documented as a ratchet.Both test projects sit in
MMCA.Common.slnx, so both run in the CI-gated unit tier. Consumers ADC and Store are already M4 for #9; this brings Common level with them.Changes:
common-ArchitectureScorecard.md: docs: ADR audit 2026-07-23 - refresh 9 drifted ADRs, add ADR-051 #9 row Maturity 3 to 4, weighted 6/18 to 8/18, evidence cell rewritten to state both automatic gates withpath:line. Maturity index 314 to 316 / 324 (96.9% to 97.5%); Implementation unchanged at 687/810 (84.8%); weaker-axis gap ~12.1 to ~12.7 points. The docs: ADR audit 2026-07-23 - refresh 9 drifted ADRs, add ADR-051 #9 risk entry is closed in place with its resolution (no renumbering of the surviving entries), matching how risk 5 was handled.common-RemediationBacklog.md: docs: ADR audit 2026-07-23 - refresh 9 drifted ADRs, add ADR-051 #9 closed to the level-4 protect list with a dated closure note, plus a Progress section for the wave. Follow-up recorded: consumer subclassing ofServiceContractPurityTestsBase(and optional[ServiceContract]adoption on the seven*.Contractsprojects) rides the next release sweep.docs/regenerated viacd tools && npm run build(157 pages, no dead cross-links);platform.htmlscorecard meter picks up 97.5%.🤖 Generated with Claude Code
https://claude.ai/code/session_016usKhixm2drfHmwmmmqwbn