Skip to content

Archive v0.2: public sealed Run detail and provenance page - #17

Merged
WangEn merged 16 commits into
mainfrom
web/archive-run-detail-v0.2
Sep 24, 2026
Merged

WangEn merged 16 commits into
mainfrom
web/archive-run-detail-v0.2

Conversation

@WangEn

@WangEn WangEn commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

Goal

Turn every sealed public Run into a stable, inspectable Archive record rather than only a table row.

Public route

/runs/<run-id>

The route is public and backed only by the existing public Archive boundary. Private Test Cases and unsealed Runs remain excluded.

Run detail

The page presents:

  • canonical model, provider and Test identity;
  • requested/returned model and execution path;
  • Run status, runner build and sealed timestamps;
  • request/response capture SHA-256, size and MIME;
  • response-header capture SHA-256;
  • reproducibility-oriented scalar Run config;
  • normalized usage and timing;
  • Evidence records and collector;
  • attestation key ID, algorithm, payload hash and signature;
  • Evaluation identity, evaluator definition hash, raw result hash and exact-match result.

Archive rows and a newly completed operator Run link directly to the detail route.

Privacy / trust boundary

The public Archive does not expose:

  • request/response bytes;
  • private CAS object keys;
  • provider credentials;
  • Web/API control credentials;
  • arbitrary provider config/tool config.

Request and response objects remain private CAS bytes while their hashes are public provenance.

Persistence

Adds a dedicated ArchiveRunDetailView projection so listRuns() stays lightweight while getRun() loads the richer verification record.

The PostgreSQL integration test now verifies that a sealed Run can be re-read through the public Archive projection with blob metadata, usage/timing, Evidence and Attestation provenance.

Product principle

Run = historical fact
Evidence = provenance
Evaluation = derived view

@WangEn
WangEn merged commit 106b421 into main Sep 24, 2026
1 check 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