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.
2026-07-29 22:52:52 +02:00
|
|
|
|
# Pilot Phase Candidate Survey
|
|
|
|
|
|
|
|
|
|
|
|
Status: Draft v0.1
|
|
|
|
|
|
Date: 2026-07-29
|
|
|
|
|
|
Workplan: `workplans/TREV-WP-0008-governance-and-pilot-rollout.md` T02
|
|
|
|
|
|
Feeds: `workplans/TREV-WP-0008-governance-and-pilot-rollout.md` T03 (draft pilot Phase Manifests)
|
|
|
|
|
|
Primary artifacts: `specs/TargetRevenueFrameworkCore.md` §1.4 (Target Multiple)
|
|
|
|
|
|
|
|
|
|
|
|
Surveys `coulomb-loop`, `net-kingdom`, `helix-forge`, and the
|
|
|
|
|
|
`railiance-*` family for 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, not an arbitrary
|
|
|
|
|
|
pick. The state hub's `get_repo_goals` returned no data for
|
|
|
|
|
|
`coulomb-loop`, `net-kingdom`, or `helix-forge` at survey time, so this
|
|
|
|
|
|
relied on direct repo inspection (README/SCOPE.md, `git log`, `workplans/`)
|
|
|
|
|
|
instead, per the task's own fallback instruction.
|
|
|
|
|
|
|
|
|
|
|
|
**This is a candidate survey, not a Phase declaration.** Nothing here
|
|
|
|
|
|
authorizes any real Phase — that remains gated behind T05.
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 1. `coulomb-loop` — no defensible candidate found
|
|
|
|
|
|
|
|
|
|
|
|
**One-liner:** "Customer engagement repository for Coulomb fleet
|
|
|
|
|
|
self-improvement loops — contracts, rosters, and activity definitions;
|
|
|
|
|
|
not agent runtime" (SCOPE.md). Its own scope explicitly excludes
|
|
|
|
|
|
"application code for Coulomb products" — this repo organizes *how* other
|
|
|
|
|
|
repos get worked on, it does not itself contain a product.
|
|
|
|
|
|
|
|
|
|
|
|
**Recent activity:** workplan-first agent guidance, instruction
|
|
|
|
|
|
regeneration from state-hub templates, `.repo-classification.yaml` setup —
|
|
|
|
|
|
all internal coordination tooling, not customer-facing capability.
|
|
|
|
|
|
|
|
|
|
|
|
**Recommendation:** no candidate. Forcing a pick here would violate the
|
|
|
|
|
|
task's own "not an arbitrary pick" instruction — this repo is
|
|
|
|
|
|
infrastructure for *how work happens*, not a governed software capability
|
|
|
|
|
|
a Customer would pay for. Revisit if `coulomb-loop`'s scope changes, or
|
|
|
|
|
|
treat product Phases for Coulomb-managed products as living in those
|
|
|
|
|
|
products' own repos rather than here.
|
|
|
|
|
|
|
|
|
|
|
|
## 2. `net-kingdom` — candidate: Local Identity (`NK-WP-0002`)
|
|
|
|
|
|
|
|
|
|
|
|
**One-liner:** "Platform domain for NetKingdom identity and security
|
|
|
|
|
|
services" (SCOPE.md) — a real product domain, unlike `coulomb-loop`.
|
|
|
|
|
|
|
|
|
|
|
|
**Candidate:** `NK-WP-0002` — "Local Identity: Bootstrap User Store &
|
|
|
|
|
|
Minimal OIDC" (finished 2026-03-05). A zero-dependency, file-based user
|
|
|
|
|
|
management capability deriving the primary user from the Linux identity,
|
|
|
|
|
|
auto-generating test users, and (Stage 3) providing a minimal native OIDC
|
|
|
|
|
|
provider for dev/test use — a standalone, bounded capability a Kubernetes
|
|
|
|
|
|
deployment without a running Keycloak/full IAM stack yet could adopt
|
|
|
|
|
|
independently.
|
|
|
|
|
|
|
|
|
|
|
|
**Passed over:**
|
|
|
|
|
|
- `NK-WP-0001` (Keycloak SSO/MFA Platform) — status `DEFERRED`, superseded
|
|
|
|
|
|
by `NK-WP-0003` (KeyCape + Authelia + LLDAP). Not a clean "finished"
|
|
|
|
|
|
candidate; the stack it targeted is no longer the deployed one.
|
|
|
|
|
|
- `NET-WP-0020` (OpenBao unseal custody models), `NK-WP-0021`
|
|
|
|
|
|
(activity-core ops/Temporal UI least-privilege SSO) — both finished and
|
|
|
|
|
|
real, but both are *operational hardening of NetKingdom's own
|
|
|
|
|
|
infrastructure* (secrets custody, internal operator access control), not
|
|
|
|
|
|
a bounded capability an external Customer would license. These are
|
|
|
|
|
|
exactly the kind of "internal-infra, necessary but not product-shaped"
|
|
|
|
|
|
work the task's Target Multiple guidance is meant to screen out.
|
|
|
|
|
|
- `NK-WP-0022`/`NK-WP-0023` (railiance01 identity cutover, user-engine
|
|
|
|
|
|
portal integration) — currently `active`, not yet a "finished" candidate.
|
|
|
|
|
|
|
|
|
|
|
|
**Indicative Target Multiple classification:** **Incremental (10x)** —
|
|
|
|
|
|
NK-WP-0002 is a material, standalone enhancement (bootstrap identity
|
|
|
|
|
|
without a full IAM stack dependency) rather than a net-new platform
|
|
|
|
|
|
(1000x) or mere cost recovery (1x); it is a real, reusable capability, not
|
|
|
|
|
|
a from-scratch new market (100x-class "product-defining" would overstate
|
|
|
|
|
|
a bootstrap utility component).
|
|
|
|
|
|
|
|
|
|
|
|
## 3. `helix-forge` — no candidate; explicitly pre-product
|
|
|
|
|
|
|
|
|
|
|
|
**One-liner:** "HelixForge defines a capability-first development
|
|
|
|
|
|
ecosystem for turning human intent into governed, reusable software
|
|
|
|
|
|
capabilities" — but its own SCOPE.md states plainly: **"It is not yet an
|
|
|
|
|
|
application implementation."**
|
|
|
|
|
|
|
|
|
|
|
|
**Recommendation:** no candidate, and this is not a survey gap — the repo
|
|
|
|
|
|
itself says it is not yet at the implementation stage a Milestone Release
|
|
|
|
|
|
requires. Revisit once HelixForge produces an actual implemented
|
|
|
|
|
|
capability, not its current intent/architecture/vocabulary artifacts.
|
|
|
|
|
|
|
|
|
|
|
|
## 4. `railiance-*` family — candidate: `vergabe-teilnahme` (`railiance-apps` / `RAILIANCE-WP-0002`)
|
|
|
|
|
|
|
|
|
|
|
|
Surveyed all ten repos (`railiance-apps`, `-bootstrap` [not found under
|
|
|
|
|
|
this exact name at survey time], `-cluster`, `-enablement`, `-fabric`,
|
|
|
|
|
|
`-forge`, `-hosts`, `-infra`, `-master`, `-platform`).
|
|
|
|
|
|
|
|
|
|
|
|
**Candidate:** `RAILIANCE-WP-0002` (`railiance-apps`, finished 2026-05-19,
|
|
|
|
|
|
refreshed by `RAILIANCE-WP-0014` finished 2026-07-11) — deployed
|
|
|
|
|
|
`vergabe-teilnahme`, a Django application supporting participation in
|
|
|
|
|
|
German public-sector procurement ("Vergabe") processes, to production at
|
|
|
|
|
|
`https://vergabe-teilnahme.whywhynot.de`, with its own PostgreSQL
|
|
|
|
|
|
database, container registry image, HTTPS/cert-manager TLS, and an
|
|
|
|
|
|
operator runbook.
|
|
|
|
|
|
|
|
|
|
|
|
**Why this is the strongest candidate across the whole family:** it is
|
|
|
|
|
|
the *only* deliverable found across all ten repos that is genuinely
|
|
|
|
|
|
product-shaped — a discrete, customer-facing application a business that
|
|
|
|
|
|
participates in public tenders could plausibly license or subscribe to.
|
|
|
|
|
|
Everything else surveyed is internal infrastructure necessary to keep the
|
|
|
|
|
|
Railiance stack itself running:
|
|
|
|
|
|
|
|
|
|
|
|
| Repo | What was found | Why passed over |
|
|
|
|
|
|
|---|---|---|
|
|
|
|
|
|
| `railiance-cluster` | Kubernetes substrate (k3s, Helm, ingress, CNI), most recently a Knative serving install | Infra plumbing, not customer-facing |
|
|
|
|
|
|
| `railiance-enablement` | CI/CD templates, SDKs, buildpacks | Internal developer tooling |
|
|
|
|
|
|
| `railiance-fabric` | Ecosystem graph/registry modeling repo-family relations | Internal ontology/graph plumbing |
|
|
|
|
|
|
| `railiance-forge` | Forgejo/Gitea, registries, Actions runners | Internal build/artifact infra |
|
|
|
|
|
|
| `railiance-hosts` | Legacy Terraform/Ansible server provisioning, being retired in favor of `railiance-infra` | Superseded internal infra |
|
|
|
|
|
|
| `railiance-infra` | Canonical infra substrate (successor to `-hosts`); recent finished work is a Forgejo production migration | Internal ops |
|
|
|
|
|
|
| `railiance-master` | Repo taxonomy, cross-repo ADRs — architecture home, not even code-shaped | Organizational restructuring, not software |
|
|
|
|
|
|
| `railiance-platform` | Shared platform services (Postgres HA, cache, secrets, identity, object storage); recent finished work is a secrets-management extraction boundary | Internal platform plumbing |
|
|
|
|
|
|
|
|
|
|
|
|
**Indicative Target Multiple classification:** **Product-defining (100x)**
|
|
|
|
|
|
— `vergabe-teilnahme` is a real, market-facing application serving a
|
|
|
|
|
|
specific commercial use case (public-tender participation management),
|
|
|
|
|
|
not merely cost recovery or an incremental internal enhancement; whether
|
|
|
|
|
|
it in fact represents a *new platform* (1000x) depends on ambitions beyond
|
|
|
|
|
|
this survey's scope (e.g., whether it becomes a multi-tenant SaaS offering
|
|
|
|
|
|
vs. a single-deployment tool) — 100x is the defensible default absent
|
|
|
|
|
|
that broader roadmap information.
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
Add info-tech-canon as first dry-run pilot candidate, exercise onboarding routine
Maintainer 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.
Adds a third draft, non-binding manifest
(examples/pilot-candidates/info-tech-canon-service-surface/): the
cumulative service surface across ITC-WP-0001-0012 (all finished),
Product-defining (100x). Flags a notable complication rather than
smoothing it over: this repo's current LICENSE is already MIT-0, so a
real Phase here would mean replacing an already-open license with
restricted pre-conversion TRSL terms - a materially different step
than the other two candidates.
Exercised the full onboarding routine end-to-end against a real,
ephemeral local instance of the hosted Trust Service (Docker Postgres,
migrations applied, binky Licensor token seeded, uvicorn running the
actual service/app.py): register-phase -> append-entry -> status all
worked via scripts/trf_onboard.py exactly as
specs/TrustServiceOnboarding.md describes, no code changes needed.
Dry-run infrastructure torn down afterward; only the draft manifest
files persist.
2026-07-29 23:15:42 +02:00
|
|
|
|
## 4a. `info-tech-canon` — added 2026-07-29, maintainer-selected first repo
|
|
|
|
|
|
|
|
|
|
|
|
Outside this survey's original four product lines, the maintainer
|
|
|
|
|
|
selected `info-tech-canon` directly as the actual first repo to build up
|
|
|
|
|
|
the practical Phase-declaration routine on — **confirmed explicitly as a
|
|
|
|
|
|
dry run, not a go-live decision** (`examples/pilot-candidates/README.md`).
|
|
|
|
|
|
|
|
|
|
|
|
**One-liner:** "Building interoperable, adaptable, and extensible
|
|
|
|
|
|
information-processing systems" — InfoTechCanon: a markdown-first canon
|
|
|
|
|
|
of standards/models plus a real, running service surface (CLI, importable
|
|
|
|
|
|
Python service functions, a local JSON/HTTP API) built on top of it.
|
|
|
|
|
|
|
|
|
|
|
|
**Candidate:** the cumulative service surface across all twelve finished
|
|
|
|
|
|
workplans (`ITC-WP-0001` through `ITC-WP-0012`, all `status: finished`,
|
|
|
|
|
|
most recently `ITC-WP-0012` "Canonical Repository Layout Standard
|
|
|
|
|
|
Integration," commit `f7ad73d`) — the kernel, service surface (CLI +
|
|
|
|
|
|
JSON + local HTTP API), validation/indexing, a worked "small SaaS"
|
|
|
|
|
|
profile proof, and consumer-facing review-kit/alignment tooling, all
|
|
|
|
|
|
already used by at least one other repo in this ecosystem
|
|
|
|
|
|
(`ITC-WP-0008` explicitly supports `railiance-fabric` conformance).
|
|
|
|
|
|
|
|
|
|
|
|
**Notable complication, flagged rather than smoothed over:** this repo's
|
|
|
|
|
|
current `LICENSE` is already **MIT-0** — fully permissive today. A real
|
|
|
|
|
|
Phase declaration for this repo (unlike `net-kingdom`/`railiance-apps`,
|
|
|
|
|
|
which are not currently under any delayed-open-source license) would
|
|
|
|
|
|
require *replacing* an already-open license with the restricted
|
|
|
|
|
|
pre-conversion TRSL terms, not merely adding a monetization layer to a
|
|
|
|
|
|
previously-closed codebase. That is a materially different, and more
|
|
|
|
|
|
visible, change than the other two candidates involve — one more reason
|
|
|
|
|
|
the maintainer's dry-run-only choice here is the right call before any
|
|
|
|
|
|
real T05 decision.
|
|
|
|
|
|
|
|
|
|
|
|
**Indicative Target Multiple classification:** **Product-defining
|
|
|
|
|
|
(100x)** — a real, differentiated, reusable standards-and-service
|
|
|
|
|
|
capability that other repos already depend on, not mere cost recovery or
|
|
|
|
|
|
an incremental tweak; not classified 1000x ("platform-defining") absent
|
|
|
|
|
|
evidence it constitutes a new platform/market/ecosystem beyond its
|
|
|
|
|
|
current consumer base.
|
|
|
|
|
|
|
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.
2026-07-29 22:52:52 +02:00
|
|
|
|
## 5. Summary table for T03
|
|
|
|
|
|
|
|
|
|
|
|
| Product line | Candidate | Status | Indicative Target Multiple |
|
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
| `coulomb-loop` | None | — | — |
|
|
|
|
|
|
| `net-kingdom` | `NK-WP-0002` Local Identity | Finished 2026-03-05 | Incremental (10x) |
|
|
|
|
|
|
| `helix-forge` | None (pre-product) | — | — |
|
|
|
|
|
|
| `railiance-*` | `vergabe-teilnahme` (`RAILIANCE-WP-0002`/`-0014`) | Finished 2026-05-19 / refreshed 2026-07-11 | Product-defining (100x) |
|
Add info-tech-canon as first dry-run pilot candidate, exercise onboarding routine
Maintainer 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.
Adds a third draft, non-binding manifest
(examples/pilot-candidates/info-tech-canon-service-surface/): the
cumulative service surface across ITC-WP-0001-0012 (all finished),
Product-defining (100x). Flags a notable complication rather than
smoothing it over: this repo's current LICENSE is already MIT-0, so a
real Phase here would mean replacing an already-open license with
restricted pre-conversion TRSL terms - a materially different step
than the other two candidates.
Exercised the full onboarding routine end-to-end against a real,
ephemeral local instance of the hosted Trust Service (Docker Postgres,
migrations applied, binky Licensor token seeded, uvicorn running the
actual service/app.py): register-phase -> append-entry -> status all
worked via scripts/trf_onboard.py exactly as
specs/TrustServiceOnboarding.md describes, no code changes needed.
Dry-run infrastructure torn down afterward; only the draft manifest
files persist.
2026-07-29 23:15:42 +02:00
|
|
|
|
| `info-tech-canon` | Service surface (`ITC-WP-0001`–`0012`) | All finished, latest 2026-06-13 | Product-defining (100x) |
|
|
|
|
|
|
|
|
|
|
|
|
Two of the original four product lines (`net-kingdom`, `railiance-*`)
|
|
|
|
|
|
have a defensible candidate; two (`coulomb-loop`, `helix-forge`) do not,
|
|
|
|
|
|
for principled reasons stated above, not because the survey was shallow.
|
|
|
|
|
|
`info-tech-canon` was added afterward as the maintainer's own choice for
|
|
|
|
|
|
the first practical dry run, not part of the original four-product-line
|
|
|
|
|
|
survey. T03's draft, non-binding worked Phase Manifest examples should be
|
|
|
|
|
|
built from real candidates only — inventing manifests for repos not yet
|
|
|
|
|
|
at a stage this framework applies to would misrepresent them.
|
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.
2026-07-29 22:52:52 +02:00
|
|
|
|
|
|
|
|
|
|
## 6. Non-goals
|
|
|
|
|
|
|
|
|
|
|
|
- Declaring any real Phase — gated behind T05 regardless of what this
|
|
|
|
|
|
survey finds.
|
|
|
|
|
|
- Selecting a Target Multiple value with legal or financial finality — the
|
|
|
|
|
|
classifications above are indicative, per `specs/TargetRevenueFrameworkCore.md`
|
|
|
|
|
|
§1.4's own framing ("a product and commercial hypothesis, not an
|
|
|
|
|
|
objectively measurable claim").
|
|
|
|
|
|
- Re-surveying `coulomb-loop`/`helix-forge` on a schedule — revisit
|
|
|
|
|
|
opportunistically when either repo's own scope changes, not on a fixed
|
|
|
|
|
|
cadence this document sets.
|