Skip to content

fix: ingest validation evidence into the cloud board #263

Description

@Jammy2211

Overview

The cloud board omits current validation evidence and disagrees with authoritative local readiness.

Plan

Ingest authoritative validation evidence into the cloud Heart board

Type: bug
Difficulty: medium
Autonomy: human-required

Original request

do it

This accepts the preceding next step: route the published-board evidence-propagation discrepancy through the bug workflow and plan artifact ingestion for the cloud board.

Evidence

@PyAutoHeart local readiness is GREEN/100 after rehearsal 36895121274 (2026.10.1.1.dev79601), integration 36899858987 (719 pass, 82 skip, zero failures/timeouts, install A-F pass), and smoke 36909756099 (1405 pass,122 skip). Published board.json remains STALE/65 at 2026-10-01T15:31:24Z with three evidence gaps.
The heart-health workflow runs CI/performance checks but neither test_run nor release_run. publish exports local sections, not authoritative release/install sidecars. release_run consumes integration-only evidence and correctly leaves validation incomplete without the rehearsal. validate currently dates an ingest at now; cloud repeated ingestion must not refresh evidence age.

Scope and proposed plan

Single owner: PyAutoHeart infrastructure. No thresholds, weights, skip policies or release gate changes. No source, publication or deployment before plan approval.

  1. Wire the existing smoke reader into cloud health before aggregation, retaining measured artifact counts and adverse-run semantics.
  2. Add bounded read-only collection of matching rehearsal and integration artifacts. Resolve the rehearsal producer from configured body-map identity, never a hard-coded tenant or synthesized run ID. Require exact version agreement, successful producer evidence, release profile and complete source SHAs; preserve installation evidence through validate. Prefer explicit provenance linkage where available. Missing/expired/mismatched artifacts stay incomplete; latest failed runs remain failures and must not fall back to an older pass.
  3. Use producer evidence timestamps for freshness on every fresh cloud environment; do not re-date old success. Preserve existing local-fresher and adverse-evidence behavior. Feed the canonical validator/readiness functions, not a second verdict implementation.
  4. Add regression coverage for complete matched evidence, absent rehearsal, version mismatch, unsuccessful/cancelled/pending producers, expired artifacts, source movement, missing SHAs, freshness and repeated ingestion, and workflow ordering. Run targeted tests followed by the Heart suite.
  5. Validate a cloud-equivalent isolated state directory against recorded artifacts and compare its authoritative readiness with the local reference. Ship a reviewable PR; merge/publication are later explicit steps.

Branch survey

Canonical Heart: clean main; no active PyAutoHeart claim. Canonical Mind belongs to another session and is preserved. Planning ledger uses isolated codex/cloud-board-validation-evidence. Proposed source branch feature/cloud-board-validation-evidence from current origin/main.

Candidate files

.github/workflows/heart-health.yml; heart/checks/release_run.py (or a focused artifact-collection helper); heart/validate.py only if required for evidence timestamp preservation; relevant release-run, validator and workflow wiring tests; docs/internals.md for the evidence path.

Approved in chat: user said "continue" after review of this plan. Source branch feature/cloud-board-validation-evidence; canonical Heart main is clean and claim check passed.

Activity

Jammy2211 commented on Oct 1, 2026

@Jammy2211
ContributorAuthor

The cloud board reported missing smoke, installation and release evidence even after those checks passed. Its daily workflow now reads smoke results and reconstructs release evidence from the newest integration run plus its matching TestPyPI rehearsal.

The collector verifies version, producer run ID, attempt, SHA and chronology before folding artifacts through the existing validator. It retains producer timestamps, never substitutes an older integration pass, and keeps missing evidence incomplete and failed producers adverse. The artifact search is bounded to 20 rehearsal runs and runs only in the daily cloud job; the local tick and all readiness thresholds remain unchanged.

Closes #263.

API Changes

No scientific-library API changes. Adds the read-only heart.checks.cloud_validation module and the release_evidence.rehearsal_repo configuration entry. No build, release or publication is dispatched by the collector.

Validation

  • Full Heart suite: 1,139 passed in 55.38s; two additional edge cases added afterward, with all 40 focused collector/wiring tests passing.
  • Tenant firewall and git diff --check passed.
  • Real read-only artifact collection matched rehearsal 36895121274 with integration 36899858987 and smoke 36909756099 in a separate state directory. Canonical readiness computed GREEN/100 using those artifacts and current CI SHA observations, retaining the original 2026-10-01T16:51:35Z evidence timestamp.
  • Regression coverage includes missing/mismatched/expired artifacts, producer failure/cancellation, pending runs, missing attempts, bounded search, chronology, repeated-ingest age, moved/missing library SHAs and non-release profile.
  • Initial full-suite path test exposed missing Brain sibling setup in the isolated bundle; adding the standard sibling link made that unchanged test pass. No test was waived or weakened.

Limitations

Matching rehearsal artifacts must remain accessible within the last 20 main runs. Missing artifacts or cross-repo token access leave honest incomplete evidence; deployment verification remains a post-merge action.

Jammy2211 commented on Oct 1, 2026

@Jammy2211
ContributorAuthor

Cloud board validation evidence

Merged #264 at 0bff26a on 2026-10-01. Closes #263.

The daily cloud board now reads smoke results and collects matching rehearsal/integration artifacts through the canonical validator. The collector preserves producer timestamps, run identity, attempt and SHA, adverse conclusions and incomplete evidence. No readiness thresholds, weights, skips or local tick behavior changed.

Validation: 1139 full-suite tests passed; 40 focused tests passed after the last two edge cases. Tenant firewall and whitespace checks passed. Real artifact collection in isolated state yielded GREEN/100 without changing live state. Every exact-head GitHub run was checked: Heart Tests 36917011559 succeeded on both Python 3.12 and 3.13. Human prm authorized merge and closeout.

Implementation is merged. Cloud-board deployment verification is a separate action, not claimed here. No package release dependency. Artifacts and logs remain in the session .heart-evidence directory outside the task bundle. The task bundle contains only clean tracked work plus reproducible pytest/Python caches, so normal cleanup is safe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions