Skip to content

Always-visible version badge on every simulation result (non-TRACE) #2831

@MaxGhenis

Description

@MaxGhenis

Context

At the 2026-04-21 meeting with Lars Vilhuber, Tara Watson, and John Sabelhaus, Casper made a point that codex's review of our post-meeting plan also underlined: version identification and "which file/which version did you use" documentation is distinct from TRACE. Quoting Casper: "the important thing from like researcher perspective is being able to tell that for their research whatever they did they use that file with that version right and so this is the important part for you as a package provider or code provider to fulfill and there is no trace in that."

Translation: users of policyengine on their own hardware need easy, visible, accurate version identification. That need does not require TRACE infrastructure — it requires us to expose versions prominently in every result surface.

Companion issue to #2830

Issue #2830 scopes a TRACE-bound "Cite this result" citation flow. This issue is the lower-bar non-TRACE version-identification surface. The two overlap but are distinct:

Problem TRACE answer (#2830) Plain version-id answer (this issue)
"What exact versions produced this?" SHA-256 in a JSON-LD TRO Text badge reading "model us@1.653.3 · data 1.78.2"
"Did these versions change between runs?" Compare TRO composition fingerprints Compare badges side-by-side
"Can I click through to learn more?" Download TRO + trace-tro-validate Click badge → changelog / release notes
Audience Reviewers, replicators, journals Everyone who ever uses policyengine.org

What to build

A minimal, always-visible version identification badge on every simulation result page in the app. Design:

  • Small monospace strip somewhere in the result chrome (header or footer-of-result-card).
  • Reads: rules us@1.653.3 · data enhanced_cps_2024.h5@1.78.2
  • On hover or click: expanded panel with:
    • Full DataReleaseManifest fingerprint
    • Links to the changelog for each version
    • A "this result moved — why?" pointer that, if the user navigates from an old bookmark to a new version, flags the delta (follow-up issue; not required for v1)

Relationship to #2830

  • This issue ships whether or not TRACE emission lands. Version identification is a self-contained UI problem.
  • When TRACE emission does land, the badge gains an "open TRO" action; but the badge should exist first.
  • Landing this before 'Cite this result' button, version badge, and shareable TRO permalinks #2830 gives us a version-identification surface for every user (including the ones who will never touch TRACE), not just the subset who download citation artifacts.

Out of scope for this issue

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions