Skip to content

fix(ci): persist release evidence run attempts - #15

Draft
vincentkoc wants to merge 1 commit into
fix/release-evidence-publicationfrom
fix/release-evidence-run-attempt
Draft

fix(ci): persist release evidence run attempts#15
vincentkoc wants to merge 1 commit into
fix/release-evidence-publicationfrom
fix/release-evidence-run-attempt

Conversation

@vincentkoc

@vincentkoc vincentkoc commented Aug 7, 2026

Copy link
Copy Markdown
Member

Summary

  • require full_validation_run_attempt on repository-dispatched evidence ingestion
  • read the exact parent workflow attempt and attempt-qualified jobs
  • persist runAttempt in schema-v2 run records while retaining schema-v1 readability
  • make exact duplicate attempts no-ops and reject stale attempt rollback
  • bind the parent record to its exact manifest artifact, SHA, and completion timestamp

Why

This is the downstream receiver contract for:

The OpenClaw publisher confirms durable release evidence by exact Full Release
Validation run ID and attempt. The releases ledger previously discarded the
attempt and could resolve mutable current-attempt state instead.

Dependency

Stacked on:

That PR owns the hardened manifest-based release-evidence receiver. This PR is
only the exact-attempt persistence and idempotency delta.

Rollout

  1. Merge fix(ci): harden release evidence publication #14.
  2. Merge improve(release): bind Gateway-node compatibility evidence openclaw#120032. Its added payload
    field is ignored safely by the receiver from step 1.
  3. Merge this PR, which then requires and persists the field.
  4. Prove one exact cross-repository dispatch before closing release validation.

Validation

  • node --test scripts/openclaw-release-evidence-contract.test.mjs (8 passed)
  • node --check on all three evidence scripts
  • actionlint -shellcheck= -pyflakes= on the receiver workflow
  • yamllint with the repository's existing workflow style allowances
  • git diff --check
  • read-only live ingest of Full Release Validation run 30714067986, attempt 1
    • schema v2 persisted runAttempt: 1
    • parent stored exactly one full-release-validation-30714067986-1 artifact
    • repeated ingest was byte-identical and produced no update
  • local autoreview through P2: clean
  • local ClawSweeper at 64afaa739e0b41097de700ac24717bafb8a868a6
    • high-confidence keep_open
    • no code or security findings

Compatibility

  • manual workflow dispatch keeps the attempt input optional and resolves the
    current attempt when omitted
  • repository dispatch requires the exact attempt supplied by the current sender
  • schema-v1 evidence remains verifiable; an exact retry upgrades it to schema v2
  • child workflow attempts remain outside this delta because the upstream v3
    manifest currently supplies child run IDs only

Punchcard

Commit trailer: Punchcard-Session: coral-meadow-meadow-8y

Attestation could not be recorded because that active session is registered to
openclaw/openclaw; Punchcard returned INVALID_INPUT for this
openclaw/releases commit.

Punchcard-Session: coral-meadow-meadow-8y
@vincentkoc vincentkoc self-assigned this Aug 7, 2026
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