Advance WP-0008: governance, candidate survey, pilot manifests, CLA draft

T01: specs/TRSL-Governance.md. Resolves the Licensor-identity question
(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. Unblocks (does not itself resolve) the
License/CUA arbitral-institution selection now that the Licensor's own
jurisdiction is known. Tables versioning/extension-governance/operator-
governance status per concept §20, naming open items (compatibility
rules, deprecation criteria, conflict-of-interest rule, key-rotation
history) rather than silently assuming them solved.

T02: specs/PilotPhaseCandidateSurvey.md. Direct repo inspection (hub
had no goal data for three of four product lines) plus an Explore-agent
survey of all ten railiance-* repos. Two defensible candidates found:
NK-WP-0002 Local Identity (net-kingdom, Incremental 10x) and
vergabe-teilnahme (railiance-apps, Product-defining 100x, the only
genuinely product-shaped deliverable across ten railiance-* repos).
coulomb-loop and helix-forge have no candidate, for stated principled
reasons (internal tooling; pre-implementation-stage, respectively).

T03: examples/pilot-candidates/ - draft, non-binding Phase Manifests
for both real candidates, trsl:phase:draft-* ids, empty ledgers,
schema-validated, explicit README stating nothing here is authorized
to go live.

T04: specs/TRSL-ContributorLicenseAgreement-Draft.md, implementing the
CLA-not-assignment recommendation from
history/260729-TRSL-ContributorRights-Research.md - narrowly scoped to
the current Phase's TRSL terms plus its already-declared Future
License at Conversion, same preliminary-candidate treatment as the
License/CUA V1C1 documents. CONTRIBUTING.md updated to point at it
while keeping the external-contribution block in effect until accepted.

T05's precondition list updated to reflect what's now resolved, still
left todo by design pending the maintainer's own go-live decision.
This commit is contained in:
tegwick 2026-07-29 22:52:52 +02:00
parent 27e27ab97b
commit 9886742fa8
12 changed files with 677 additions and 8 deletions

View file

@ -40,7 +40,7 @@ T01T04 must not create pressure to skip T05.
```task
id: TREV-WP-0008-T01
status: todo
status: done
priority: high
state_hub_task_id: "bae630d7-907b-4eb4-bad4-d72803ccbd33"
```
@ -61,11 +61,30 @@ multiple product lines depend on them, extension canonicalization review
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
```task
id: TREV-WP-0008-T02
status: todo
status: done
priority: high
state_hub_task_id: "4f4f4922-4bc6-4ff9-a408-b836287186db"
```
@ -80,11 +99,30 @@ 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)
```task
id: TREV-WP-0008-T03
status: todo
status: done
priority: high
state_hub_task_id: "942943ae-14a2-4f23-888e-6084aa9c6024"
```
@ -98,11 +136,29 @@ 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).
## Contributor rights instrument (CLA)
```task
id: TREV-WP-0008-T04
status: todo
status: done
priority: medium
state_hub_task_id: "666a800b-96a7-4664-9448-24af989b57c5"
```
@ -119,6 +175,23 @@ 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)
```task
@ -150,10 +223,21 @@ infrastructure exists. Before acceptance, confirm:
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;
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.
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