feat: publish reviewed architecture and ADR batch
Some checks failed
Build and publish policy-nexus image / build-and-push (push) Failing after 19s

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a058f3-8ba0-7692-a042-9a870fc3d663
This commit is contained in:
tegwick 2026-08-31 21:34:23 +02:00
parent 023badb512
commit 93608c1f17
120 changed files with 17791 additions and 727 deletions

View file

@ -1,7 +1,7 @@
<!doctype html>
<html lang="en"><meta charset="utf-8">
<meta name="policy-source-revision" content="8585bb0c1d0f19e3d55e901e2041edf6aff03f0a">
<meta name="policy-source-digest" content="dd28694239c663324b9753ac0f260cc29419fdf726129898bf42b5e776453074">
<meta name="policy-source-revision" content="da30ce6723f9c5e6fdd994c78bb646986e819d3f">
<meta name="policy-source-digest" content="e7104b2182612efe90c9a12168757506402490229814d454e94917ae62d2bfac">
<title>State Hub architecture</title>
<style>
:root{
@ -191,14 +191,14 @@ a:focus-visible,.rail a:focus-visible{outline:2px solid var(--brass);outline-off
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
</style>
<div class="wrap"><header><div class="eyebrow"><span>state-hub-architecture</span> <span class="stat">proposed · draft-2</span> <span>state-hub</span> <span>reviewed 2026-08-19</span><span>generated from canonical source — do not edit</span></div><h1>State Hub architecture</h1><p class="sub">Source: <code>state-hub · docs/architecture/state-hub_v0.1.md · 8585bb0c1d0f19e3d55e901e2041edf6aff03f0a</code></p><p class="sub">Review due: 2027-02-19</p></header><div class="layout"><nav class="rail" aria-label="Sections"><ol><li><a href="#about-this-document"><span class="n">·</span>About this document</a></li><li><a href="#s1"><span class="n">1</span>Introduction and Goals</a></li><li><a href="#s2"><span class="n">2</span>Architecture Constraints</a></li><li><a href="#s3"><span class="n">3</span>System Scope and Context</a></li><li><a href="#s4"><span class="n">4</span>Solution Strategy</a></li><li><a href="#s5"><span class="n">5</span>Building Block View</a></li><li><a href="#s6"><span class="n">6</span>Runtime View</a></li><li><a href="#s7"><span class="n">7</span>Deployment View</a></li><li><a href="#s8"><span class="n">8</span>Cross-Cutting Concepts</a></li><li><a href="#s9"><span class="n">9</span>Architecture Decisions</a></li><li><a href="#s10"><span class="n">10</span>Quality Requirements</a></li><li><a href="#s11"><span class="n">11</span>Risks and Technical Debt</a></li><li><a href="#s12"><span class="n">12</span>Glossary</a></li></ol></nav><main><section id="about-this-document"><h2>About this document</h2>
<div class="wrap"><header><div class="eyebrow"><span>state-hub-architecture</span> <span class="stat">proposed · draft-3</span> <span>state-hub</span> <span>reviewed 2026-08-31</span><span>generated from canonical source — do not edit</span></div><h1>State Hub architecture</h1><p class="sub">Source: <code>state-hub · docs/architecture/state-hub_v0.1.md · da30ce6723f9c5e6fdd994c78bb646986e819d3f</code></p><p class="sub">Review due: 2027-02-28</p></header><div class="layout"><nav class="rail" aria-label="Sections"><ol><li><a href="#about-this-document"><span class="n">·</span>About this document</a></li><li><a href="#s1"><span class="n">1</span>Introduction and Goals</a></li><li><a href="#s2"><span class="n">2</span>Architecture Constraints</a></li><li><a href="#s3"><span class="n">3</span>System Scope and Context</a></li><li><a href="#s4"><span class="n">4</span>Solution Strategy</a></li><li><a href="#s5"><span class="n">5</span>Building Block View</a></li><li><a href="#s6"><span class="n">6</span>Runtime View</a></li><li><a href="#s7"><span class="n">7</span>Deployment View</a></li><li><a href="#s8"><span class="n">8</span>Cross-Cutting Concepts</a></li><li><a href="#s9"><span class="n">9</span>Architecture Decisions</a></li><li><a href="#s10"><span class="n">10</span>Quality Requirements</a></li><li><a href="#s11"><span class="n">11</span>Risks and Technical Debt</a></li><li><a href="#s12"><span class="n">12</span>Glossary</a></li></ol></nav><main><section id="about-this-document"><h2>About this document</h2>
<p>First-wave arc42 for State Hub, the estate's live coordination read-model. This service is in active retirement planning; new permanent ownership should not land here. Chapter 9 points at the estate ADRs that still bind it.</p>
</section>
<section id="s1"><h2><span class="sn">01</span>Introduction and Goals</h2>
<p>State Hub is a queryable, auditable memory of work: domains, repos, workplans, tasks, decisions, progress. Files remain the origin. The hub is derived state (custodian ADR-001, ADR-003).</p>
<p>It remains operational until retirement gates in <code>prj-state-hub-retirement</code> are met. Replacement ownership is moving toward <code>repo-manager</code> and <code>hub-core</code>.</p>
<h3>1.1 Requirements Overview</h3>
<ul><li>Rebuild coordination state from registered repository files.</li><li>One identifier registrar (ADR-007). This workstation is not it.</li><li>Preserve compatibility; do not take new permanent architectural ownership.</li></ul>
<ul><li>Rebuild coordination state from registered repository files.</li><li>Deterministic UUIDv5 work-record identifiers (ADR-007). Any instance may reconcile the same repository; the canonical record id produces the same database key and writeback bytes on every instance.</li><li>Preserve compatibility; do not take new permanent architectural ownership.</li></ul>
<h3>1.2 Quality Goals</h3>
<ol><li>Rebuildability from git.</li><li>Hub never becomes the origin of work.</li><li>Extraction paths stay open.</li></ol>
<h3>1.3 Stakeholders</h3>
@ -231,8 +231,9 @@ a:focus-visible,.rail a:focus-visible{outline:2px solid var(--brass);outline-off
<p>N/A for this stub.</p>
</section>
<section id="s9"><h2><span class="sn">09</span>Architecture Decisions</h2>
<p>This repo has no <code>docs/adr/</code> corpus. Binding decisions live in the-custodian and are listed on the estate map:</p>
<div class="scroll"><table><thead><tr><th>Estate ADR</th><th>Status</th><th>Why it binds this system</th></tr></thead><tbody><tr><td><code>CUST-ADR-001</code></td><td>accepted</td><td>Hub is a read model. Published <code>/adr/custodian-workplans-as-repo-artefacts/v1/</code>.</td></tr><tr><td><code>CUST-ADR-003</code></td><td>accepted</td><td>How the cache invalidates.</td></tr><tr><td><code>CUST-ADR-007</code></td><td>accepted</td><td>One writer of workplan UUIDs.</td></tr><tr><td><code>CUST-ADR-010</code></td><td>proposed</td><td>Two kinds of hub data.</td></tr></tbody></table></div>
<p>Estate-wide binding decisions live in the-custodian and are listed on the estate map. Service-local implementation decisions live in <code>docs/adr/</code> and do not supersede the estate decisions:</p>
<div class="scroll"><table><thead><tr><th>Estate ADR</th><th>Status</th><th>Why it binds this system</th></tr></thead><tbody><tr><td><code>CUST-ADR-001</code></td><td>accepted</td><td>File-backed work originates in repositories; the Hub projects it. Published <code>/adr/custodian-workplans-as-repo-artefacts/v1/</code>.</td></tr><tr><td><code>CUST-ADR-003</code></td><td>accepted</td><td>How derived state invalidates; ADR-012 supplies commit provenance.</td></tr><tr><td><code>CUST-ADR-007</code></td><td>accepted</td><td>Namespace-aware identity and deterministic work-record UUIDs.</td></tr><tr><td><code>CUST-ADR-010</code></td><td>proposed</td><td>Two kinds of hub data.</td></tr><tr><td><code>CUST-ADR-011</code></td><td>proposed</td><td>Namespace and reconciliation limits.</td></tr><tr><td><code>CUST-ADR-012</code></td><td>accepted</td><td>Forge projection baseline and preliminary overlays.</td></tr></tbody></table></div>
<div class="scroll"><table><thead><tr><th>Local ADR</th><th>Status</th><th>Scope</th></tr></thead><tbody><tr><td><code>STATE-ADR-001</code></td><td>accepted</td><td>Repository identity and recovery contract for canonical-name changes.</td></tr></tbody></table></div>
<p>Do not treat a State Hub <code>/decisions</code> row as the published ADR.</p>
</section>
<section id="s10"><h2><span class="sn">10</span>Quality Requirements</h2>
@ -243,4 +244,4 @@ a:focus-visible,.rail a:focus-visible{outline:2px solid var(--brass);outline-off
</section>
<section id="s12"><h2><span class="sn">12</span>Glossary</h2>
<div class="scroll"><table><thead><tr><th>Term</th><th>Meaning</th></tr></thead><tbody><tr><td>Read model</td><td>Derived index; never the origin.</td></tr><tr><td>Registrar</td><td>The single instance allowed to mint workplan UUIDs.</td></tr><tr><td>Retirement</td><td>Coordinated move of capabilities out of this repo.</td></tr></tbody></table></div>
</section><footer><span>state-hub-architecture · draft-2 · proposed</span><span>state-hub · docs/architecture/state-hub_v0.1.md · 8585bb0c1d0f19e3d55e901e2041edf6aff03f0a</span></footer></main></div></div></html>
</section><footer><span>state-hub-architecture · draft-3 · proposed</span><span>state-hub · docs/architecture/state-hub_v0.1.md · da30ce6723f9c5e6fdd994c78bb646986e819d3f</span></footer></main></div></div></html>