Skip to content

fix(ci): enforce platform scope integrity - #350

Merged
gmemmy merged 1 commit into
mainfrom
fix/ci-platform-scope-integrity
Sep 8, 2026
Merged

gmemmy merged 1 commit into
mainfrom
fix/ci-platform-scope-integrity

Conversation

@gmemmy

@gmemmy gmemmy commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Problem

Single-platform evidence packs could retain cross-platform comparison states, include artifacts from an undeclared platform, or pass through the legacy two-platform helper with an incoherent scope. That could make an iOS-only or Android-only run appear broader than the evidence actually supports.

What changed

  • Reject present platforms, proofs, attempts, evidence, and verdicts outside the declared platform scope.
  • Require single-platform packs to use comparisonStatus: not_available.
  • Keep the legacy two-platform helper strict: coherent Android+iOS input is supported; incoherent input is rejected or returned as not evaluable as appropriate.
  • Add focused schema, assembler, publication-summary, and packed-package coverage.
  • Document the runtime semantic checks that cannot be expressed as sibling-array relationships in JSON Schema.

Why this approach

Platform scope is part of the evidence claim, not presentation metadata. The assembler and runtime validator therefore enforce cross-record relationships, while the schema enforces the parts it can represent directly.

Proof

  • pnpm typecheck - passed.
  • Focused CI evidence tests - 144/144 passed.
  • pnpm release:check - passed on the exact reviewed content under an isolated resource lease.
  • Full repository tests - 1,884/1,884 passed.
  • Packed package smoke - passed.
  • Installed-consumer rehearsal - passed.
  • Independent exact-diff review - clean, with no P0-P3 findings.
  • Device and live runtime proof - not run; this PR changes package validation and evidence-contract behavior.

Risks and limits

  • Existing single-platform artifacts that incorrectly declare a comparable cross-platform state will now fail validation.
  • JSON Schema cannot express every relationship between sibling platform arrays; ASL's runtime validator remains authoritative for those checks.
  • This does not add a provider, capture a device, or prove product behavior.

Stack/review order

Follow-ups

  • Complete cumulative review of the remaining publication and CLI surfaces before preparing the next immutable package candidate.

@gmemmy
gmemmy force-pushed the fix/evidence-package-version-compatibility branch 2 times, most recently from 703fd2e to 1c6f5ec Compare September 8, 2026 07:08
@gmemmy
gmemmy force-pushed the fix/ci-platform-scope-integrity branch from 7f4f6cf to 519dcf5 Compare September 8, 2026 07:13
@gmemmy
gmemmy changed the base branch from fix/evidence-package-version-compatibility to main September 8, 2026 07:14
@gmemmy
gmemmy marked this pull request as ready for review September 8, 2026 07:14
@gmemmy
gmemmy merged commit c3b904b into main Sep 8, 2026
2 checks 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