Skip to content

G2.6: require observed quality/timestamp evidence for production acceptance - #99

Merged
masarray merged 2 commits into
mainfrom
g2.6-shadow-production-evidence-hardening
Aug 24, 2026
Merged

G2.6: require observed quality/timestamp evidence for production acceptance#99
masarray merged 2 commits into
mainfrom
g2.6-shadow-production-evidence-hardening

Conversation

@masarray

Copy link
Copy Markdown
Owner

Goal

Harden the PR #98 shadow-to-production bridge so optional shadow configuration can never accidentally grant the production quality gate when no real paired quality/timestamp evidence was observed.

New strict policy

Adds MmsDynamicReportShadowProductionAcceptancePolicy.BuildStrict(...).

It requires a successful typed shadow, then delegates all existing shadow gates to PR #98 and additionally refuses QualityRegressionPassed unless physical evidence contains:

  • at least one exact report/member observation with non-empty quality and a same-index/same-member independent poll observation with quality; and
  • at least one exact report/member observation with a device timestamp and a same-index/same-member independent poll observation with a device timestamp.

This is deliberately fail-closed. It does not mutate a profile and does not call MarkProductionEligible.

Why this follow-up exists

PR #98 correctly allows quality/timestamp evidence to be optional at the generic evaluator level for staged diagnostics. The generic bridge therefore reflects parity for the configured shadow. A production consumer needs the stronger invariant that absence of evidence must not become a passing production quality regression. This PR adds that explicit production-facing boundary without weakening or changing diagnostic shadow behavior.

Tests

  • paired quality + timestamp evidence can produce AllPassed when every other gate passes;
  • an optional-quality shadow may pass diagnostically but strict production acceptance keeps QualityRegressionPassed=false when q/t evidence is absent;
  • quality without timestamp remains production-ineligible;
  • failed shadow cannot build strict production acceptance.

Keep draft until exact-head CI is green.

@masarray
masarray marked this pull request as ready for review August 24, 2026 11:52
@masarray
masarray merged commit 1efad9a into main Aug 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant