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).
15 KiB
| 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 (T03–T04)
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
T01–T04 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 T02–T04 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-kingdom
— NK-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-0001–ITC-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-phase → append-entry →
status) was exercised end-to-end against a real, ephemeral local
instance of the hosted Trust Service (Docker Postgres, migrations
0001–0004 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.mdT10 andworkplans/TREV-WP-0005-enforcement-network-research.mdT10 syntheses are complete — done (both finished 2026-07-29; seehistory/260729-TRSL-Jurisdiction-Synthesis.mdandhistory/260729-TREN-Synthesis.md);- specialist legal review of
specs/TargetRevenueSourceLicense-V1C1.mdandspecs/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 /
binkytenant, single shared Licensor across all product lines,specs/TRSL-Governance.md§1); workplans/TREV-WP-0006-trust-service-implementation.mdhas 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.