target-revenue/workplans/TREV-WP-0008-governance-and-pilot-rollout.md
tegwick dcf6de57a4 Adopt TRSL V1C1 as org-wide preliminary license (WP-0008-T05 sub-decision)
Maintainer decision, 2026-07-29/30: adopts TRSL V1C1 as the preliminary
governing LICENSE across every repo in the coulomb Forgejo org,
confirmed explicitly as "every repo, no exceptions" including
target-revenue itself and internal tooling repos. This is a
license-text adoption, not a Phase declaration - no Initial Target,
Trust Service registration, or Development Credit tracking exists for
any repo as a result. WP-0008-T05 (real Phase go-live) remains todo
and unaccepted.

Applies TRSL to this repo's own LICENSE (self-referential wording,
since target-revenue is the canonical source) and updates
pyproject.toml's license field from MIT-0 to TRSL-0.1.

history/260730-TRSL-OrgWideLicenseRollout.md is the full execution
record: ~90 repos adopted successfully, 2 committed locally only (no
git remote configured: executor-sandbox, executor-worker), and one
explicitly flagged exception (the-custodian - carried a pre-existing
proprietary/confidential license, deliberately not touched pending
separate confirmation, not silently folded into the blanket
instruction).

scripts/rollout/LICENSE.trsl-v1c1 is the deployed template used across
all repos (operative legal text only, points back to this repo's
specs/TargetRevenueSourceLicense-V1C1.md for the full candidate-status
banner and Appendix A rather than duplicating it ~90 times).
2026-07-30 01:23:52 +02:00

15 KiB
Raw Blame History

id type title domain repo status owner topic_slug created updated state_hub_workstream_id
TREV-WP-0008 workplan Governance formalization and pilot rollout (coulomb / net-kingdom / helix-forge / railiance) infotech target-revenue active claude infotech 2026-07-29 2026-07-29 b46a30e8-8ef6-44f7-96af-a098cb4084b4

Governance formalization and pilot rollout

The midterm goal: govern and monetize the evolution of repos across the coulomb Forgejo org's product lines — coulomb-loop, net-kingdom, helix-forge, and the railiance-* family (railiance-apps, railiance-bootstrap, railiance-cluster, railiance-enablement, railiance-fabric, railiance-forge, railiance-hosts, railiance-infra, railiance-master, railiance-platform). This workplan formalizes the governance the framework has been designed around but never actually written down, and prepares (but does not itself execute) the first real Phase declarations.

Hard gate, stated up front: SCOPE.md §3 lists "governing third-party product Phases in production" as out of scope "after legal + Stage 0 package ready" — i.e., not yet. This workplan's rollout tasks (T03T04) produce draft, non-binding Phase Manifests as worked examples, exactly like examples/phase-001/ already is. No real Commercial Entitlement may be sold, no real Development Credit tracked, and no repo's actual License header changed to TRSL, until T05 (the go-live gate) is explicitly accepted — after TRSL/CUA specialist legal review (workplans/TREV-WP-0004-global-jurisdiction-research.md / workplans/TREV-WP-0005-enforcement-network-research.md T10 syntheses feed this) and T01 (Licensor governance) are both resolved. Moving fast on T01T04 must not create pressure to skip T05.

Governance document: TRSL-Governance.md

id: TREV-WP-0008-T01
status: done
priority: high
state_hub_task_id: "bae630d7-907b-4eb4-bad4-d72803ccbd33"

Produce specs/TRSL-Governance.md, per spec/TargetRevenueLicenseConcept.md §20 (complexity budget, versioning, extension governance, operator governance). Must resolve one question this rollout makes concretely unavoidable for the first time: who is "the Licensor" across four different product lines under one Forgejo org — a single shared Licensor entity for all four (simplest, but conflates genuinely different products' commercial decisions), or a per-product-line Licensor (each of coulomb-loop, net-kingdom, helix-forge, railiance declaring its own Phases independently under a shared TRSL/CUA template)? This was never forced while the framework was single-repo-hypothetical; it is now. Also define: change process for the License/CUA templates themselves once multiple product lines depend on them, extension canonicalization review (coordinate with workplans/TREV-WP-0007-degeneration-policy-and-canonical-profiles.md T04's narrower checklist), and dispute/conflict-of-interest handling per concept §20.3§20.4.

Result: specs/TRSL-Governance.md produced. Licensor identity resolved (maintainer decision, 2026-07-29): a single shared Licensor, Binky Hedgehog GmbH, operating as the binky tenant, across all four product lines — not per-product-line. This unblocks (but does not itself resolve) the License §11.1/CUA §18 arbitral-institution/governing-law template blank, now that the Licensor's own jurisdiction (Germany) is known. Documents versioning (already implemented across every layer §20.2 names — URN @version suffixes, document headers, ADRs) and extension governance status (registration/conformance implemented; canonicalization checklist implemented via WP-0007-T04; compatibility, deprecation, and conflict-of-interest rules not yet defined — named as open items, not silently assumed). Operator governance (§20.4) tabulated against the actual hosted Trust Service instance: signing-key disclosure and public verification already implemented (WP-0006); key-rotation history publication, a Trust-Service-specific terms-of-service document, and an extension-specific dispute procedure are flagged as open, not blocking T02T04 but named so T05's go-live gate can weigh them explicitly.

Repo inventory and Phase-candidate survey

id: TREV-WP-0008-T02
status: done
priority: high
state_hub_task_id: "4f4f4922-4bc6-4ff9-a408-b836287186db"

For each of coulomb-loop, net-kingdom, helix-forge, and the railiance-* family: survey current repo goals and status (via the state hub's get_domain_summary/list_domain_repos/repo-goal tools, or direct repo inspection where hub data is thin) to identify one plausible first Milestone Release candidate per product line — a bounded, recently- or soon-to-be-completed piece of work with a defensible Target Multiple classification (specs/TargetRevenueFrameworkCore.md §1.4), not an arbitrary pick. Document why each candidate was chosen and what was passed over.

Result: specs/PilotPhaseCandidateSurvey.md produced. State hub get_repo_goals returned no data for coulomb-loop/net-kingdom/ helix-forge, so this used direct repo inspection instead (per the task's own fallback), including an Explore-agent survey of all ten railiance-* repos. Findings: coulomb-loop — no candidate; SCOPE.md explicitly excludes product application code. net-kingdomNK-WP-0002 Local Identity (finished 2026-03-05), Incremental (10x); passed over the deferred/superseded NK-WP-0001 Keycloak plan and two real-but-internal-ops-hardening finished workplans (NET-WP-0020, NK-WP-0021). helix-forge — no candidate; its own SCOPE.md states "it is not yet an application implementation." railiance-*vergabe-teilnahme (RAILIANCE-WP-0002/-0014, finished 2026-05-19 / 2026-07-11), a production Django app for German public-tender participation, Product-defining (100x); the only genuinely product-shaped deliverable across all ten repos, passing over nine repos' worth of internal infrastructure (cluster substrate, CI/CD, secrets platform, architecture taxonomy, etc.). Two of four product lines have a defensible candidate; two do not, for stated principled reasons, feeding T03.

Draft pilot Phase Manifests (non-binding worked examples)

id: TREV-WP-0008-T03
status: done
priority: high
state_hub_task_id: "942943ae-14a2-4f23-888e-6084aa9c6024"

Using T02's candidates, draft one Phase Manifest per product line following specs/PhaseManifestSpecification.md and schemas/phase_manifest.schema.json exactly — structurally valid, conformance-tested the same way examples/phase-001/ is, but explicitly marked draft / not yet declared (no real Commercial Use restriction takes effect from these). Choose an applicable Monetization Extension per Phase from workplans/TREV-WP-0007-degeneration-policy-and-canonical-profiles.md T03's catalog.

Result: examples/pilot-candidates/ produced, for T02's two real candidates only (coulomb-loop/helix-forge had none). Each manifest uses a trsl:phase:draft-* id specifically so it cannot be confused with a declared Phase, an empty ledger.json, and validates cleanly against schemas/phase_manifest.schema.json (tests/test_pilot_candidate_manifests.py, 4 tests). NetKingdom Local Identity (NK-WP-0002): 200,000 EUR Initial Target (Incremental 10x), development-license extension, future_license: MIT. Railiance vergabe-teilnahme: 3,500,000 EUR Initial Target (Product-defining 100x), development-license + cost-plus-operations extensions (reflecting its actual hosted-application delivery model), future_license: Apache-2.0. Both reference the real commit each Milestone Release finished at (3890dca, 398b0fe) for traceability. A top-level examples/pilot-candidates/README.md states plainly that no Commercial Entitlement is for sale, no Development Credit is tracked, and neither repo's actual License header has changed — nothing here is authorized to go live regardless of how complete it looks (T05 still gates that).

Addendum, 2026-07-29: the maintainer separately chose info-tech-canon (outside the original four product lines) as the actual first repo to build up the practical Phase-declaration routine on — explicitly confirmed as a dry run, not a T05 go-live decision. A third draft manifest, examples/pilot-candidates/info-tech-canon-service-surface/, was added (candidate: the cumulative service surface across ITC-WP-0001ITC-WP-0012, all finished; Product-defining 100x; specs/PilotPhaseCandidateSurvey.md §4a). Notable complication surfaced and flagged rather than smoothed over: this repo's current LICENSE is already MIT-0 — a real Phase here would mean replacing an already-open license with restricted pre-conversion TRSL terms, a materially different and more visible step than the other two candidates. The full onboarding routine (scripts/trf_onboard.py register-phaseappend-entrystatus) was exercised end-to-end against a real, ephemeral local instance of the hosted Trust Service (Docker Postgres, migrations 00010004 applied, binky Licensor token seeded, uvicorn running the actual service/app.py) — register, a 10,000 EUR illustrative development-credit entry, and a status check all worked exactly as specs/TrustServiceOnboarding.md describes, with no code changes needed. The dry-run Postgres container and service process were both torn down afterward; nothing from this exercise persists beyond the draft manifest files themselves.

Contributor rights instrument (CLA)

id: TREV-WP-0008-T04
status: done
priority: medium
state_hub_task_id: "666a800b-96a7-4664-9448-24af989b57c5"

CONTRIBUTING.md currently blocks external contributions into any governed Milestone Release until a contributor-rights instrument exists (per history/260729-TRSL-ContributorRights-Research.md). If any pilot candidate from T02 has, or expects, external contributors before its Conversion Event, this is now practically blocking, not theoretical. Produce specs/TRSL-ContributorLicenseAgreement-Draft.md: a CLA scoped narrowly to the current Phase's TRSL terms plus its already-declared Future License, per the T04 research's recommendation. Same preliminary- candidate treatment as the License/CUA V1C1 documents (status banner, Appendix A-style candidate notes) — this is a new legal document, not exempt from that pattern.

Result: specs/TRSL-ContributorLicenseAgreement-Draft.md produced, implementing the research's CLA-not-assignment recommendation. §2 grants rights under the current Phase's TRSL terms; §3 is the clause the research flagged as the actual gap a plain DCO leaves open — an irrevocable grant to relicense the Contribution under the Phase's already-declared Future License at Conversion, deliberately narrow (scoped to the one Future License fixed at the time of submission, not "any future license"). §4 patent grant modeled on the Apache CLA pattern with the litigation-termination clause deliberately omitted, flagged Appendix A item 1 rather than guessed at. Same preliminary-candidate status banner and Appendix A pattern as the License/CUA V1C1 documents; governing law (§9) matches their alpha/beta arbitration default, now citing the resolved Licensor jurisdiction from specs/TRSL-Governance.md §1. CONTRIBUTING.md updated to point at this draft while keeping the external-contribution block in effect until it is actually accepted, not merely drafted.

Go-live gate (human decision)

id: TREV-WP-0008-T05
status: todo
priority: high
human_accept_required: true
state_hub_task_id: "af688189-8151-4170-925f-b3c4806a68ed"

Do not mark this task done to authorize real Phase declarations. It exists to make the go-live decision a single, explicit, recorded moment rather than something that happens by accretion once enough pilot infrastructure exists. Before acceptance, confirm:

  • workplans/TREV-WP-0004-global-jurisdiction-research.md T10 and workplans/TREV-WP-0005-enforcement-network-research.md T10 syntheses are complete — done (both finished 2026-07-29; see history/260729-TRSL-Jurisdiction-Synthesis.md and history/260729-TREN-Synthesis.md);
  • specialist legal review of specs/TargetRevenueSourceLicense-V1C1.md and specs/TargetRevenueCommercialUseAgreement-V1C1.md (condition 1 in each document's status banner) has occurred, or is explicitly waived for a defined pilot scope — the maintainer has already waived full review until out of beta (SCOPE.md §1, 2026-07-29); T05 acceptance still requires confirming the specific pilot scope this waiver covers and that the alpha/beta working defaults adopted by the two syntheses above (governing law/arbitration, liability cap, data protection, Enforcement Network fee mechanics) are acceptable for that scope — this is not automatically satisfied by the waiver existing in the abstract;
  • T01's Licensor-identity question is resolved for whichever product line goes first — done (Binky Hedgehog GmbH / binky tenant, single shared Licensor across all product lines, specs/TRSL-Governance.md §1);
  • workplans/TREV-WP-0006-trust-service-implementation.md has a working hosted Trust Service, or an explicit interim manual/git-based ledger process is accepted for the pilot instead — done (WP-0006 finished, all 9 tasks, Postgres-backed hosted service per ADR-0002);
  • T02's candidate survey and T03's draft manifests exist for the chosen product line — done (specs/PilotPhaseCandidateSurvey.md, examples/pilot-candidates/), though drafting a non-binding example is not the same event as this gate's own acceptance;
  • if the chosen Phase expects external contributions before its Conversion Event, T04's CLA (specs/TRSL-ContributorLicenseAgreement-Draft.md) has been reviewed and, if needed for that Phase, accepted — drafted, not yet accepted; CONTRIBUTING.md's external-contribution block remains in effect until it is.

Once accepted, this task's Result should name which specific repo and Phase go live first — "governance and rollout infrastructure exists" is not the same event as "a real Phase is declared," and this workplan should not blur that line even after everything above is ready.

Sub-decision recorded 2026-07-30 (this task remains todo — no Phase has been declared): the maintainer separately and explicitly authorized a distinct, narrower step — adopting specs/TargetRevenueSourceLicense-V1C1.md as the preliminary governing LICENSE across every repository in the coulomb Forgejo org (confirmed "every repo, no exceptions," including target-revenue itself and internal tooling repos). This is a license- text adoption, not a Phase declaration — see history/260730-TRSL-OrgWideLicenseRollout.md for the full execution record, including one explicitly flagged exception (the-custodian, which carried a pre-existing proprietary/confidential license and was deliberately not touched pending separate confirmation) and two repos committed locally only (no git remote configured: executor-sandbox, executor-worker). No Initial Target, Milestone Release, degeneration policy, or Future License has been declared for any repo; no Phase Manifest has been registered against the hosted Trust Service; no Development Credit is being tracked anywhere. This task (T05) itself remains todo and unaccepted — the license-rollout decision does not by itself authorize a real Phase for any repo, per this task's own instruction above.