Skip to content

Freshness: decide who writes verifying-trace rows for paces' evidence #24

Open

Description

@thorwhalen

The evidence layer (#4) writes was_derived_from edges on every annotation, and tests/test_evidence.py::test_lineage_edges_resolve asserts the graph is connected with no dangling refs. That is what nw.freshness.stale_after needs to walk the graph — but not what it needs to call anything verified fresh.

nw reads verifying-trace rows for that, and paces writes none. So today:

  • "what is downstream of this changed annotation" → answerable (the edges resolve).
  • "is this artifact verified fresh" → nw reads nothing, so nothing is verified.

That gap is fine for #4's scope — nothing in paces consumes nw yet, and ADR-0004 keeps nw out of the dependency set. It becomes real when paces/genre.py registers step_by_step into nw (the ADR-0004 next step), because that is the point where prepare → plan → execute starts asking freshness questions about paces' rows.

What this issue is for: decide, at that point, whether paces writes verifying-trace rows itself or whether the genre registration does it on paces' behalf. Whichever it is, the test's docstring in tests/test_evidence.py should stop hedging and point here.

Not blocking anything today. Raised in review of #23 (nit 6) so the distinction between "edges resolve" and "nw-fresh" is written down rather than assumed.

Activity

  1. added a commit that references this issue on Sep 9, 2026
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