target-revenue/workplans
tegwick 5064815e77 Implement hosted Target Ledger append API (WP-0006-T04)
migrations/0002_ledger.sql adds ledger_entries with an identity-column
sequence for exact append order and no UPDATE/DELETE grant for trf_app.
src/target_revenue/ledger.py: append_entry() rejects caller-supplied
previous_entry_hash/signature, enforces per-Licensor phase ownership,
serializes concurrent appends via pg_advisory_xact_lock, computes the
chain tip and signs with the Trust Service instance's own Ed25519 key
(service/keys.py), reusing validation.py's checks unchanged. Adds
POST/GET /phases/{id}/ledger and an unauthenticated GET /public-key.

Also fixes a route-ordering bug found while wiring this in: phase IDs
never needed the {phase_id:path} converter (they contain colons, not
slashes), and its greedy matching was swallowing /ledger-suffixed
paths into the plain GET /phases/{id} route.

tests/test_ledger_hosting.py (8 Docker-gated tests) exercises hash-chain
linkage, forged-field rejection, cross-Licensor isolation, currency and
duplicate-id rejection, DB-privilege enforcement, signature
verification via the public-key endpoint, and the task's own
highest-priority property: append -> export -> offline fold reproduces
the exact expected Development/Remission Credit and Outstanding Target.
2026-07-29 21:34:27 +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 hosted Target Ledger append API (WP-0006-T04) 2026-07-29 21:34:27 +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