Context ? help popovers, lifecycle checklist, and recommended-next-step cards on login, dashboard, phase detail/new, and extensions. Pure guidance helpers + CSS; deploy image 0.1.4. |
||
|---|---|---|
| docs | ||
| examples | ||
| history | ||
| k8s/railiance | ||
| migrations | ||
| schemas | ||
| scripts | ||
| specs | ||
| src/target_revenue | ||
| tests | ||
| workplans | ||
| .custodian-brief.md | ||
| .gitignore | ||
| .repo-classification.yaml | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| INTENT.md | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| SCOPE.md | ||
| WORK-RECORDS.md | ||
target-revenue
Status: Concept and specification only (Stage 0). Not production legal text. Do not attach TRSL to production software yet.
The Target Revenue Framework (TRF) is a phased software monetization system: a defined development Phase accumulates Development Credit and Remission Credit against an immutable Initial Target until the Milestone Release automatically converts to a permissive Future License (MIT or Apache-2.0). A Trust Service publishes manifests, ledgers, extensions, and attestations as factual evidence — it does not decide conversion.
Commercial beneficiaries fund the creation and early availability of a software improvement; once the declared target is satisfied, the governed release becomes permissively open source.
Terminology guardrail
Before conversion, software under TRSL is source-available with commercial-use restrictions. It is not Open Source under the OSI Open Source Definition (field-of-endeavour non-discrimination). After the Conversion Event, the Milestone Release is available under the declared OSI-style Future License.
| State | Accurate label |
|---|---|
| Pre-conversion, noncommercial | Source-available (permitted uses) |
| Pre-conversion, commercial | Commercially licensed / entitlement required |
| Post-conversion | Open source under Future License |
Reading order
INTENT.md— durable purpose and design principlesSCOPE.md— what is in scope now vs later maturityspecs/TargetRevenueLicenseConcept.md— normative concept draft (ultimate source; governs if it and the extracts below ever diverge)specs/ProductRequirementsDocument.md— goals, FRs, roadmapspecs/TechnicalSpecificationDocument.md— schema field tables and boundariesspecs/OpenQuestions-WorkingDefaults.md— provisional Stage 0 defaults
Exploration transcript (non-normative): history/260728-InitialExploration.md
Program assessment: history/260728-SWOT-Assessment.md
Normative documents (day-to-day reference)
Extracted and stabilized from the concept draft under workplans/TREV-WP-0003-normative-core-extraction.md (T01–T05 done; T06 human review still open — see that workplan). Use these for terminology, not the concept draft's prose, in ordinary implementation work:
| Document | Covers |
|---|---|
specs/TargetRevenueFrameworkCore.md |
Seven core terms, target formula, five-verb lifecycle, nine core rules, foundational invariants |
specs/PhaseManifestSpecification.md |
Phase Manifest field tiers and validation rules |
specs/TargetLedgerSpecification.md |
Ledger entry types, hash chain, Outstanding Target fold |
specs/MonetizationExtensionSpecification.md |
Six-field extension contract, registered vs. canonical |
specs/PhaseLifecycleUseCases.md |
Nine Phase-lifecycle use cases mapped to what's built, what's a real gap, and what has no UI by design (WP-0012-T01) |
specs/PhaseProvenanceSpecAddendum.md |
Schema/spec-file/UI changes from WP-0012-T02–T04's accepted decisions — repo provenance fields, specs/policies//specs/profiles/ extraction, ledger UI treatment. Accepted 2026-08-03, implementation tracked in WP-0015 |
specs/policies/linear-longstop-v0.md |
The v1 degeneration-policy formula's own definition — extracted from OpenQuestions-WorkingDefaults.md Q7 (WP-0015-T02); Q7 now records only the adoption decision |
specs/profiles/ |
The six canonical monetization profiles' worked narratives, one file per profile — extracted from CanonicalMonetizationProfiles.md §1–§6 (WP-0015-T02) |
Forbidden synonyms: do not treat undifferentiated "revenue captured" as equivalent to Development Credit (see CONTRIBUTING.md § Terminology); do not call pre-conversion software "Open Source" (see the guardrail table above).
TRSL license candidate
specs/TargetRevenueSourceLicense-V1C1.md is the first candidate written as actual operative license text (Version 1, Candidate 1) rather than a bracket-annotated skeleton — accepted by the maintainer 2026-07-29 as adequate briefing material for counsel, but still preliminary, not final, not for production use (specialist legal review and full Appendix A resolution remain outstanding; see the notice at the top of that file). It is grounded in the prior-art and jurisdiction research archived under history/260729-TRSL-*.md, and supersedes the earlier skeleton now archived at history/260729-TargetRevenueSourceLicense-Draft.md.
specs/TargetRevenueCommercialUseAgreement-V1C1.md is the companion Commercial Use Agreement template the License refers to but does not itself set terms for — same preliminary-candidate status, but less mature than the License: it had no dedicated prior-art research pass, and its Section 13 (Indemnification) is deliberately left unwritten rather than guessed.
Enforcement Network concept
specs/EnforcementNetworkConcept.md is a new, separate concept (2026-07-29): independent, locally-licensed Enforcement Partners pursue unauthorized Commercial Use in their home jurisdiction for a share of Recovery, so License §3 enforcement scales without the Licensor litigating everywhere directly. The central open risk is that lawyer contingency fees are not legal everywhere — Germany notably restricts them — so the concept requires a jurisdiction-conditional Litigation Funder/Local Counsel structure, not a single global fee mechanism. Backed by workplans/TREV-WP-0005-enforcement-network-research.md, now finished (all 8 jurisdictions plus mechanism design and the human-gated synthesis, accepted 2026-07-29 — see history/260729-TREN-*.md). Findings: 50% is only exactly valid in the UK; most jurisdictions cap lower (18–35%) or ban direct lawyer contingency outright (Germany, India); India cleanly confirms the split-role model is both necessary and legal there; Japan's fee-splitting rule means even the split-role fallback needs jurisdiction-specific structuring, not just an availability check.
The concept's §13 now defines a Global Contingency Share Determination Rule, sequential rather than a "pick the higher number" calculation: (1) 50% where an outcome-contingent fee is lawful at that level; (2) else the jurisdiction's own lower lawful cap; (3) else — where no outcome-contingent fee is lawful at all (Germany, India) — no Contingency Share, and instead a non-contingent Standard Financing Amount (a fixed sum, paid regardless of outcome, defaulting to $1,000 local-currency-equivalent, recalculated annually, announced by 31 July for the following 1 January) toward the cost of bringing the case. Because it doesn't depend on winning, it isn't a contingent fee at all — a deliberate fix after an earlier draft's "fixed bounty" framing was still outcome-contingent (paid only on success) and so would not have escaped prohibitions like India's Rule 20 ("a fee contingent on the results of litigation"). §13.0 also makes explicit that none of this creates a right to sue — pressing charges remains exclusively the Licensor's decision; the rule only makes a ready, low-friction default available once that decision is made.
Repository layout
| Path | Role |
|---|---|
INTENT.md |
Stable purpose (change rarely) |
SCOPE.md |
Living Stage 0 scope |
specs/ |
Concept source, product/tech specs, working defaults, and normative extracts |
workplans/ |
Active delivery plans |
history/ |
Dated non-normative exploration and assessments |
examples/ |
Golden Phase packages (phase-001, from WP-0002) |
schemas/ |
Machine-readable JSON Schemas (WP-0002) |
src/target_revenue/ |
Pure Python validators, hash chain, Outstanding Target fold, conversion detection (WP-0002) |
docs/adr/ |
Architecture decisions; ADR-0001 (Stage 0 library stack) accepted 2026-07-29 |
spec/ vs specs/ (resolved 2026-07-29): the concept document originally lived under a separate singular spec/ directory, which history/260728-SWOT-Assessment.md flagged as a "perpetual footgun." It has been merged into specs/ alongside the product/tech specs and normative extracts — there is now one specs directory for the whole repository. The historical split, and the decision to merge it, remain visible in history/260728-SWOT-Assessment.md (unedited, as a dated record) rather than rewritten here.
Active work
| Workplan | Focus |
|---|---|
| TREV-WP-0001 | Prior-art research → TRSL V1C1 license candidate — finished, accepted by the maintainer 2026-07-29 |
| TREV-WP-0002 | Schemas, pure Outstanding Target fold, golden fixture — finished |
| TREV-WP-0003 | Extract stable normative core docs — finished, reviewed and accepted 2026-07-29 |
| TREV-WP-0004 | Global jurisdictional research backing the License/CUA candidates — finished, T10 synthesis accepted 2026-07-29 with alpha/beta working defaults (full legal review deferred until out of beta — see SCOPE.md §1) |
| TREV-WP-0005 | Enforcement Network legal feasibility research — finished, T10 synthesis accepted 2026-07-29 on the same alpha/beta basis (Japan's Article 12 risk remains explicitly unresolved) |
| TREV-WP-0006 | Hosted Trust Service reference implementation (PRD Phase 4b) — finished, all 9 tasks done (Postgres-backed registries/ledger/metrics/attestation/breach-record, ADR-0002 accepted, onboarding CLI, hosted conformance suite) |
| TREV-WP-0007 | Degeneration policy + canonical monetization profile catalog — finished, all 4 tasks done. trsl:policy:linear-longstop-v0 confirmed 2026-07-29 as the v1 norm for the first pilot cohort; progress-paused-longstop-v1 named as the next iteration, not yet adopted |
| TREV-WP-0008 | Governance formalization + pilot rollout — finished, all 5 tasks done. T05 accepted 2026-08-05: first real Phase is trsl:phase:info-tech-canon-service-surface (history/260805-T05-GoLive-info-tech-canon.md). Org-wide TRSL LICENSE adoption (2026-07-30) was a prior, separate act |
| TREV-WP-0009 | Target Revenue Control Plane — interactive UI for the binky tenant, incl. interactive Development Credit entry creation (specs/TargetRevenueControlPlaneConcept.md) — finished, all 4 tasks done. T04 (interactive UI, src/target_revenue/service/control_plane_app.py) built on vendored whynot-design web components rather than from scratch, per an explicit feasibility check |
| TREV-WP-0010 | Development Effort Calculator — finished, all 3 tasks done. Applied to the three real pilot candidates (history/260730-EffortCalculator-CandidateApplication.md) — every calculator-derived Initial Target came out materially lower than the earlier hand-picked placeholders, two of three carrying explicit warnings recommending manual review |
| TREV-WP-0011 | Deploy Trust Service + Control Plane — finished. Live at https://revenue.coulomb.social (UI /ui/). Pilot Phase registered on public API. Guide: docs/deployment.md |
| TREV-WP-0012 | Phase provenance, ledger reference, and degeneration-policy modeling — finished, all 5 tasks done. Decisions (T02–T04) synthesized into specs/PhaseProvenanceSpecAddendum.md (T05) — not yet accepted for implementation; that's the document to discuss before any schema/UI work is filed as its own workplan |
| TREV-WP-0013 | Remission Credit automation (degeneration policy execution) — finished, all 3 tasks done. Pure plan_remission + hosted apply with system:policy-engine actor; monthly UTC schedule; Control Plane forecast + apply button |
| TREV-WP-0014 | Control Plane UI: Extension Registry, Breach Records, Conversion Attestation — finished, all 4 tasks done. Operator+ register extension / Admin canonicalize; breach form with anonymized-by-default; attestation on phase detail |
| TREV-WP-0015 | Implement specs/PhaseProvenanceSpecAddendum.md — finished, all 7 tasks done. Phase provenance fields, specs/policies//specs/profiles/ extraction, reference-rendering routes, ledger UI change, and the forgejo_hubs registry are all in place |
Hub index: WORK-RECORDS.md · brief: .custodian-brief.md
Stage 0 library (schemas, pure fold, validators)
WP-0002 delivers an offline, dependency-light library — not a hosted
Trust Service (SCOPE.md §3). It validates the schemas in schemas/,
computes the pure Outstanding Target fold, verifies the SHA-256 hash chain,
and checks Monetization Extension conformance.
pip install -e ".[dev]"
python3 -m pytest tests/ # 32 tests, no network required
python3 scripts/generate_golden_phase.py # regenerate examples/phase-001/ledger.json
The implementation stack (Python, jsonschema, pytest, hatchling) is
recorded in docs/adr/ADR-0001-stage0-library-stack.md,
accepted 2026-07-29.
What this repo does not claim yet
- Final legal license text or enforceable TRSL
- A running production Trust Service
- A finalized degeneration formula (research + working defaults only)
- That any real product Phase is governed by TRF today
See SCOPE.md and CONTRIBUTING.md.
License
Repository contents are under MIT No Attribution unless a file states otherwise. That is the license of this repository, not the Target Revenue Source License for third-party software.