Story: Signed Contract Audit

story-westside-streamlit-audit Doc

active user-story

Story: Signed Contract Audit

Key: audit · Label: story:audit · Role: Ops (Lucas / Ava)

Story

As ops, I need to audit the set of signed contracts — by date, version, and fee — so I can verify nothing was signed at the wrong price, spot anyone still on an outdated contract version, and have a defensible record if a dispute arises.

Why

Contract versions change mid-season (fee adjustments, language updates). When that happens, some players are grandfathered on the old version. Without a quick audit view, it's impossible to answer "who is on v2 vs v3?" without opening every player individually. And if a parent disputes a fee, ops needs to see the signed-at timestamp and version instantly.

Acceptance criteria

  • Signed audit section lists every contract_status = 'signed' player with: name, program, teams, fee, contract_signed_at, contract_version, parent email.
  • Sorted by signed-at timestamp descending (most recent first, nulls last).
  • Section is collapsed by default (behind an expander) so it doesn't crowd the triage views, but expansion is a single click.
  • Each row is unambiguous — no need to look anything up elsewhere.

Current implementation

Already built in app.py lines 102–119 inside a st.expander. Matches acceptance criteria. Captured for traceability.

Future enhancements

  • Group by contract version — show counts per version to catch outliers.
  • Highlight anyone on a version >2 revisions old.
  • Click-through to the signed PDF artifact (stored where? — open question; coordinate with westside-contracts).