Skip to content

ci: verify and bind matrix evidence to release and scorecard claims #2601

Open

Description

@codeforester

Goal

Make local install-matrix results admissible as release and scorecard evidence only when they are schema-valid, current, and bound to the exact Base revision and test environment.

Background

The local four-account matrix (#2559–#2563) produces JSON attached to PRs, but the current plan has no verifier or release-gate consumer. A manually selected or stale result must not support a January compatibility claim or replace the immutable macOS/Ubuntu BOM evidence.

Tracking: #2555. Depends on #2559, #2561, and #2562.

Scope

  • Define a versioned matrix-result schema covering Base commit, scenario version, platform, macOS version, architecture, route, shell, account/cell, preconditions, step results, and completion time.
  • Add a read-only verifier that rejects stale commits, missing required cells, schema violations, edited/ambiguous results, and mismatched scenario versions.
  • Add a release/scorecard adapter that records matrix evidence separately from required hosted BOM evidence.
  • Preserve redacted logs and finding IDs without copying secrets or personal data into release artifacts.
  • Add seeded invalid fixtures for stale, partial, wrong-route, wrong-shell, and tampered results.

Acceptance Criteria

Validation

BASE_CLI_SOURCE_DIR=../base-cli/lib/python \
PYTHONPATH=../base-cli/lib/python:lib/python:cli/python \
python -m pytest tests/contracts <new matrix evidence tests>
python tools/release_train_check.py --format json
git diff --check

Non-Goals

  • Do not turn the four local accounts into hosted CI.
  • Do not sign or publish private machine details.
  • Do not weaken the immutable release-BOM gate.

Project Fields

  • Status: Ready
  • Priority: P1
  • Area: CI
  • Initiative: Contract Hardening
  • Size: M
  • Milestone: v1.12.0
  • Category: ci

Agent Assignment

Assignee: codeforester. Implementation-ready after the matrix result shape is confirmed; use an issue-backed worktree.

Metadata

Metadata

Assignees

Labels

ciContinuous integration, tests, automation, or release workflows

Type

No type

Projects

  • Status
    Ready

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions