target-revenue/specs/policies/linear-longstop-v0.md
tegwick 3064c0fe0c Go-live T05 + WP-0013/0014: first Phase and Control Plane completion
Accept WP-0008-T05 for trsl:phase:info-tech-canon-service-surface
(history/260805-T05-GoLive-info-tech-canon.md). Finish WP-0013 remission
automation and WP-0014 extension/breach/attestation Control Plane UI.
Update SCOPE, README, and pilot-candidate notes for pilot Stage 1.
2026-08-05 16:00:06 +02:00

52 lines
2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
policy_id: trsl:policy:linear-longstop-v0@1.0
title: Linear Longstop v0
---
# Linear Longstop v0
Adopted 2026-07-29
(`workplans/TREV-WP-0007-degeneration-policy-and-canonical-profiles.md`
T02, maintainer-accepted): confirmed as the v1 norm for the first pilot
cohort, not merely a Stage 0 pilot placeholder.
## Definition
- Remission accrues **only** by time toward a declared **Longstop Date**
(`specs/OpenQuestions-WorkingDefaults.md` Q8).
- Between Phase activation `t0` and Longstop `tL`,
R(t) = T0 × clamp((t t0)/(tL t0), 0, 1)
with discrete ledger `remission-credit` entries computed on a published
schedule (e.g. daily or monthly UTC), **or** a single full remission at
longstop for minimal implementations.
- Development Credit does not change the remission schedule in v0 (no
progress-sensitive boost/pause).
## Status
Automated as of WP-0013 (`src/target_revenue/remission.py`):
- Pure cumulative formula: `cumulative_remission(T0, t0, tL, as_of)`.
- Hosted apply writes the delta
`max(0, R(as_of) Σ policy remission-credit already on the ledger)`.
- **t0** = Trust Service `phase_manifests.registered_at` (no separate
`activated_at` manifest field in Stage 0).
- **Cadence**: monthly UTC (1st 00:00) for scheduled batch
(`POST /remission/run`); on-demand via
`POST /phases/{id}/remission` or Control Plane "Apply policy remission now".
- **Actor**: Licensor credential labeled `system:policy-engine`
(not a human token).
- Re-runs at the same `as_of` are no-ops (idempotent by cumulative delta).
## Superseded / next iteration
`specs/TargetDegenerationPolicyResearch.md` (T01) proposes a candidate
`trsl:policy:progress-paused-longstop-v1` (a 90-day rolling "quiet
period" pause on Remission Credit during active Development Credit
periods), research complete but **not adopted**. Explicitly recommends
*not* adopting a diversity-of-payers factor (no gaming-resistant signal
exists yet). Named as the next iteration, to be revisited once real
pilot Development Credit data exists — not required before pilot Phases
proceed under v0.