Skip to content

Follow-up: make exact-candidate evidence tamper-evident #44

Description

@the-sarge

Context

PR #43 added committed transcript artifacts for the Go 1.26.3 refresh, but the review surfaced a broader evidence-process gap: maintainer-machine summaries are still largely self-attested unless future refreshes produce raw, immutable, or signed evidence by default.

This is not a current code vulnerability. It is a release-evidence hardening task for the next exact-candidate refresh.

Desired policy

For future exact-candidate evidence refreshes, prefer one or both of:

  • immutable GitHub Actions/manual workflow artifacts tied to the exact commit;
  • committed raw transcripts under docs/evidence/<date-or-candidate>/ with SHA-256 digests and, where practical, detached signatures.

At minimum, evidence artifacts should preserve:

  • commit SHA and clean/dirty status;
  • host, OS, architecture, Go version, and relevant tool versions;
  • exact commands;
  • start/end timestamps;
  • raw command output rather than hand-written summaries;
  • checksums for copied logs or transcripts.

Additional cryptographic-review check

Before the next exact-candidate packet, add an explicit vector-stability check when the Go toolchain changes:

  • run RFC/draft vector tests under the old and new Go toolchains when both are available;
  • record whether outputs are bit-identical;
  • if old toolchains are unavailable, state that limitation explicitly rather than implying cross-toolchain bit identity from task check alone.

This is especially relevant because the Go 1.26.3 refresh touched crypto/fips140, and Capslock shows reachable call paths through Go's FIPS enforcement internals.

Acceptance criteria

  • Evidence-refresh docs or checklist explain the artifact policy.
  • The next exact-candidate evidence packet includes raw artifacts or immutable workflow links.
  • Cross-toolchain vector bit-identity is either recorded or explicitly marked unavailable with rationale.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions