target-revenue/workplans
tegwick dfc1d90c28 Implement public metrics service (WP-0006-T05)
src/target_revenue/metrics.py: compute_metrics(manifest, entries, as_of)
is pure/deterministic like fold.py, reusing fold.py/conversion.py
unchanged. Returns facts/calculations/forecasts as three explicitly
separated blocks (TrustServicePRD TS-FR-5), covering the mandatory Q9
set plus the recommended velocity/forecast tier - forecasts are always
null rather than populated once a Phase has converted or velocity is
non-positive, so nothing disguises a projection as a fact.

Adds GET /phases/{id}/metrics (unauthenticated per FR-9/FR-10).
tests/test_metrics.py (6 tests) needs no Docker/Postgres and runs
under plain system Python. One new Docker-gated test in
test_ledger_hosting.py proves the hosted /metrics response exactly
matches compute_metrics() run offline against the same export.
2026-07-29 21:42:52 +02:00
..
TREV-WP-0001-license-prior-art-research.md Accept TRSL V1C1 (WP-0001-T06): objective Commercial Use definition 2026-07-29 19:30:41 +02:00
TREV-WP-0002-trust-service-foundation.md Accept ADR-0001 and close TREV-WP-0002 2026-07-29 02:07:22 +02:00
TREV-WP-0003-normative-core-extraction.md Accept WP-0003-T06: normative extract review complete 2026-07-29 20:22:01 +02:00
TREV-WP-0004-global-jurisdiction-research.md Close WP-0004/WP-0005 with alpha/beta legal-review deferral 2026-07-29 20:46:49 +02:00
TREV-WP-0005-enforcement-network-research.md Close WP-0004/WP-0005 with alpha/beta legal-review deferral 2026-07-29 20:46:49 +02:00
TREV-WP-0006-trust-service-implementation.md Implement public metrics service (WP-0006-T05) 2026-07-29 21:42:52 +02:00
TREV-WP-0007-degeneration-policy-and-canonical-profiles.md chore(consistency): write back state hub workstream/task IDs for WP-0006/0007/0008 2026-07-29 20:28:08 +02:00
TREV-WP-0008-governance-and-pilot-rollout.md Close WP-0004/WP-0005 with alpha/beta legal-review deferral 2026-07-29 20:46:49 +02:00