Implement WP-0009-T04: Control Plane interactive UI on whynot-design
Builds the Control Plane's browser UI (login, dashboard, Phase
registration, Development Credit entry/proposal/review, credential
admin, audit log) as a FastAPI + Jinja2 app over the already-finished
T03 backend, rather than from scratch — whynot-design's Lit web
components are vendored as static assets (source commit 4b62cffc,
v0.4.1), with lit itself resolved via an esm.sh CDN import map.
Session auth re-checks the credential token against the database on
every request rather than trusting the session cookie's cached rights,
so a mid-session revocation takes effect immediately.
9 new Docker-gated HTTP-level tests via FastAPI's TestClient (no
browser-automation tool available, so real rendering of the <wn-*>
components was never visually verified). All four WP-0009 tasks are
now done; workplan marked finished.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-30 15:43:16 +02:00
|
|
|
{% extends "base.html" %}
|
|
|
|
|
{% block title %}Register a Phase — Target Revenue Control Plane{% endblock %}
|
|
|
|
|
{% block content %}
|
|
|
|
|
<wn-page-header>
|
|
|
|
|
<span slot="title">Register a new Phase (Operator+)</span>
|
|
|
|
|
</wn-page-header>
|
|
|
|
|
<p style="color:#888;">
|
|
|
|
|
This registers a real Phase Manifest against the hosted Trust Service.
|
|
|
|
|
It does not itself authorize going live for a repo — see
|
|
|
|
|
<code>workplans/TREV-WP-0008-governance-and-pilot-rollout.md</code> T05.
|
|
|
|
|
</p>
|
2026-08-05 16:41:00 +02:00
|
|
|
<form class="wn-form" method="post" >
|
Implement WP-0009-T04: Control Plane interactive UI on whynot-design
Builds the Control Plane's browser UI (login, dashboard, Phase
registration, Development Credit entry/proposal/review, credential
admin, audit log) as a FastAPI + Jinja2 app over the already-finished
T03 backend, rather than from scratch — whynot-design's Lit web
components are vendored as static assets (source commit 4b62cffc,
v0.4.1), with lit itself resolved via an esm.sh CDN import map.
Session auth re-checks the credential token against the database on
every request rather than trusting the session cookie's cached rights,
so a mid-session revocation takes effect immediately.
9 new Docker-gated HTTP-level tests via FastAPI's TestClient (no
browser-automation tool available, so real rendering of the <wn-*>
components was never visually verified). All four WP-0009 tasks are
now done; workplan marked finished.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-30 15:43:16 +02:00
|
|
|
<wn-field-row label="Phase id (trsl:phase:...)">
|
|
|
|
|
<wn-input name="phase_id" required></wn-input>
|
|
|
|
|
</wn-field-row>
|
|
|
|
|
<wn-field-row label="Milestone Release name">
|
|
|
|
|
<wn-input name="milestone_release_name" required></wn-input>
|
|
|
|
|
</wn-field-row>
|
|
|
|
|
<wn-field-row label="Source revision">
|
|
|
|
|
<wn-input name="source_revision" required></wn-input>
|
|
|
|
|
</wn-field-row>
|
2026-08-03 20:43:30 +02:00
|
|
|
<wn-field-row label="Repo hub (stable Forgejo instance slug)">
|
|
|
|
|
<wn-input name="repo_hub" value="forgejo-coulomb" required></wn-input>
|
|
|
|
|
</wn-field-row>
|
|
|
|
|
<wn-field-row label="Repo hub URI">
|
|
|
|
|
<wn-input name="repo_hub_uri" value="https://forgejo.coulomb.social" required></wn-input>
|
|
|
|
|
</wn-field-row>
|
|
|
|
|
<wn-field-row label="Repo id (Forgejo's own numeric id)">
|
|
|
|
|
<wn-input type="number" name="repo_id" required></wn-input>
|
|
|
|
|
</wn-field-row>
|
|
|
|
|
<wn-field-row label="Repo name (owner/repo)">
|
|
|
|
|
<wn-input name="repo_name" required></wn-input>
|
|
|
|
|
</wn-field-row>
|
|
|
|
|
<wn-field-row label="Base Phase id (optional — only for a successive Phase)">
|
|
|
|
|
<wn-input name="base_phase_id"></wn-input>
|
|
|
|
|
</wn-field-row>
|
Implement WP-0009-T04: Control Plane interactive UI on whynot-design
Builds the Control Plane's browser UI (login, dashboard, Phase
registration, Development Credit entry/proposal/review, credential
admin, audit log) as a FastAPI + Jinja2 app over the already-finished
T03 backend, rather than from scratch — whynot-design's Lit web
components are vendored as static assets (source commit 4b62cffc,
v0.4.1), with lit itself resolved via an esm.sh CDN import map.
Session auth re-checks the credential token against the database on
every request rather than trusting the session cookie's cached rights,
so a mid-session revocation takes effect immediately.
9 new Docker-gated HTTP-level tests via FastAPI's TestClient (no
browser-automation tool available, so real rendering of the <wn-*>
components was never visually verified). All four WP-0009 tasks are
now done; workplan marked finished.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-30 15:43:16 +02:00
|
|
|
<wn-field-row label="Initial Target amount">
|
|
|
|
|
<wn-input type="number" step="0.01" name="initial_target_amount" required></wn-input>
|
|
|
|
|
</wn-field-row>
|
|
|
|
|
<wn-field-row label="Currency (ISO 4217)">
|
|
|
|
|
<wn-input name="currency" value="EUR" required></wn-input>
|
|
|
|
|
</wn-field-row>
|
|
|
|
|
<wn-field-row label="Future License">
|
|
|
|
|
<wn-select name="future_license">
|
|
|
|
|
<option value="MIT">MIT</option>
|
|
|
|
|
<option value="Apache-2.0">Apache-2.0</option>
|
|
|
|
|
</wn-select>
|
|
|
|
|
</wn-field-row>
|
|
|
|
|
<wn-field-row label="Degeneration policy">
|
|
|
|
|
<wn-input name="degeneration_policy" value="trsl:policy:linear-longstop-v0@1.0" required></wn-input>
|
|
|
|
|
</wn-field-row>
|
2026-08-03 23:45:59 +02:00
|
|
|
<p style="margin-top:-0.5rem;color:#888;font-size:0.85rem;">
|
2026-08-05 16:41:00 +02:00
|
|
|
<a >view the linear-longstop-v0 spec</a>
|
2026-08-03 23:45:59 +02:00
|
|
|
</p>
|
Implement WP-0009-T04: Control Plane interactive UI on whynot-design
Builds the Control Plane's browser UI (login, dashboard, Phase
registration, Development Credit entry/proposal/review, credential
admin, audit log) as a FastAPI + Jinja2 app over the already-finished
T03 backend, rather than from scratch — whynot-design's Lit web
components are vendored as static assets (source commit 4b62cffc,
v0.4.1), with lit itself resolved via an esm.sh CDN import map.
Session auth re-checks the credential token against the database on
every request rather than trusting the session cookie's cached rights,
so a mid-session revocation takes effect immediately.
9 new Docker-gated HTTP-level tests via FastAPI's TestClient (no
browser-automation tool available, so real rendering of the <wn-*>
components was never visually verified). All four WP-0009 tasks are
now done; workplan marked finished.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-30 15:43:16 +02:00
|
|
|
<wn-field-row label="Longstop date (ISO 8601)">
|
|
|
|
|
<wn-input name="longstop_at" required></wn-input>
|
|
|
|
|
</wn-field-row>
|
|
|
|
|
<wn-button type="submit" variant="primary">Register Phase</wn-button>
|
|
|
|
|
</form>
|
|
|
|
|
{% endblock %}
|