docs: explain Corp v1 SDLC and rebuild diagrams
Build and publish Corp v1 Board portal / build (pull_request) Successful in 36s
Build and publish Corp v1 Board portal / build (pull_request) Successful in 36s
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: context
|
||||
title: "Context"
|
||||
description: "See the people, collaboration systems, repositories, and delivery platforms around the Corp v1 operating model."
|
||||
description: "See the governance channel, project sessions, repositories, and delivery platforms around the Corp v1 operating model."
|
||||
---
|
||||
|
||||
import Drawio from '@theme/Drawio';
|
||||
@@ -9,7 +9,7 @@ import contextDiagram from '!!raw-loader!./diagrams/context.drawio';
|
||||
|
||||
# Context
|
||||
|
||||
Corp v1 is the **governed operating model for project delivery**. It is not an application runtime architecture. The Board supplies lifecycle authority and shared guardrails; project teams retain ownership of their scope, architecture, implementation, and release outcomes.
|
||||
Corp v1 is the **governed operating model for project delivery**. It is not an application runtime architecture. The Board supplies lifecycle authority and shared guardrails; project teams retain ownership of their scope, architecture, user experience, implementation, and release outcomes.
|
||||
|
||||
<Drawio content={contextDiagram} title="Corp v1 operating context" toolbar="zoom layers lightbox" responsive maxHeight={720} />
|
||||
|
||||
@@ -17,9 +17,11 @@ Corp v1 is the **governed operating model for project delivery**. It is not an a
|
||||
|
||||
The operating model joins four evidence-bearing environments:
|
||||
|
||||
- **Discord** routes work into six project channels with distinct concerns.
|
||||
- **Discord** provides one `corp-v1-board` governance channel and seven focused channels per project.
|
||||
- **Gitea** preserves decisions, documentation, application source, adopted skills, pull requests, and CI evidence.
|
||||
- **Delivery platforms** publish documentation through LEGO Cloud Pages and applications through Harbor plus GitOps/Argo CD.
|
||||
- **This Board portal** records project, team, member, repository, lifecycle, and verification state.
|
||||
|
||||
The model does not approve a project's target solution architecture. Each project must separately record its approved context, containers, requirements, decisions, and implementation Tasks.
|
||||
One Hermes agent operates across multiple channel sessions. Project-adopted skills define each session's concern, approval rules, evidence requirements, and handoffs while preventing one project's decisions from silently changing another.
|
||||
|
||||
The model does not approve a project's target solution architecture. Each project must separately record its approved context, containers, requirements, decisions, UI/UX evidence, and implementation Tasks.
|
||||
|
||||
@@ -1,63 +1,60 @@
|
||||
<mxfile host="app.diagrams.net" modified="2026-08-24T00:00:00.000Z" agent="Hermes Agent" version="26.0.16" type="device">
|
||||
<diagram id="corp-v1-corp-v1-—-project-channels" name="CORP V1 — PROJECT CHANNELS">
|
||||
<mxGraphModel dx="1500" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1500" pageHeight="900" math="0" shadow="0">
|
||||
<mxfile host="app.diagrams.net" modified="2026-08-25T00:00:00.000Z" agent="Hermes Agent" version="26.0.16" type="device">
|
||||
<diagram id="corp-v1-project-channels-v2" name="CORP V1 — PROJECT CHANNELS">
|
||||
<mxGraphModel dx="1500" dy="1240" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1500" pageHeight="1240" math="0" shadow="0" adaptiveColors="auto">
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
<mxCell id="title" value="CORP V1 — PROJECT CHANNELS" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#102A43;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="20" width="1200" height="40" as="geometry" />
|
||||
<mxCell id="title" value="CORP V1 — BOARD & PROJECT CHANNELS" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#102A43;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="20" width="1240" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="subtitle" value="Six channels separate concerns; mapped project skills carry operating guidance" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=14;fontColor=#486581;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="60" width="1300" height="40" as="geometry" />
|
||||
<mxCell id="subtitle" value="Governance channel · 7 project sessions · one skilled agent" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=14;fontColor=#486581;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="70" width="1240" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="general" value="GENERAL Announcements · questions shared coordination" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6FFFA;strokeColor=#0F766E;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="160" width="400" height="120" as="geometry" />
|
||||
<mxCell id="board" value="CORP-V1-BOARD · PORTFOLIO GOVERNANCE · projects · members · skills · evidence" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6FFFA;strokeColor=#0F766E;strokeWidth=3;fontColor=#102A43;fontSize=16;fontStyle=1;spacing=16;align=center;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="130" width="1240" height="160" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="scope" value="SCOPE Ideas · value · Epics · Features solution approval" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFF7ED;strokeColor=#C2410C;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="520" y="160" width="400" height="120" as="geometry" />
|
||||
<mxCell id="approval-band" value="BOARD APPROVES THE PROJECT BOUNDARY · PROJECT CHANNELS OWN DELIVERY DECISIONS" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#0F766E;strokeColor=#0F766E;fontColor=#FFFFFF;fontSize=13;fontStyle=1;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
||||
<mxGeometry x="400" y="310" width="600" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="architecture" value="ARCHITECTURE Requirements · ADRs · design implementation Tasks" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#EFF6FF;strokeColor=#2563EB;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="960" y="160" width="400" height="120" as="geometry" />
|
||||
|
||||
<mxCell id="project-zone-label" value="ONE APPROVED PROJECT · SEVEN ORDERED CHANNEL SESSIONS" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=16;fontStyle=1;fontColor=#334E68;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="410" width="1240" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="kanban" value="KANBAN Board · Focus flow and human task admission" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FAF5FF;strokeColor=#7E22CE;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="440" width="400" height="120" as="geometry" />
|
||||
<mxCell id="general" value="1 · GENERAL · onboarding · questions · coordination · outcomes" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6FFFA;strokeColor=#0F766E;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="490" width="280" height="160" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="delivery" value="DELIVERY Planning · implementation · PRs CI results and blockers" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F0FDF4;strokeColor=#15803D;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="520" y="440" width="400" height="120" as="geometry" />
|
||||
<mxCell id="scope" value="2 · SCOPE · value · Epics · Features · acceptance · approval" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#EFF6FF;strokeColor=#2563EB;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="400" y="490" width="280" height="160" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="releases" value="RELEASES Readiness · deployment · rollback outcomes" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFF1F2;strokeColor=#BE123C;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="960" y="440" width="400" height="120" as="geometry" />
|
||||
<mxCell id="architecture" value="3 · ARCHITECTURE · requirements · ADRs · interfaces · Tasks" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#EFF6FF;strokeColor=#2563EB;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="720" y="490" width="280" height="160" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="e0" value="intent and coordination" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#0F766E;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="general" target="scope">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
<mxCell id="uiux" value="4 · UI/UX · journeys · information architecture · Penpot · handoff" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#EFF6FF;strokeColor=#2563EB;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="1040" y="490" width="280" height="160" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="e1" value="Feature approved for solution" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#C2410C;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="scope" target="architecture">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
<mxCell id="kanban" value="5 · KANBAN · Board · Focus · dependencies · human Task admission" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FAF5FF;strokeColor=#7E22CE;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="1040" y="730" width="280" height="160" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="e2" value="Tasks proposed" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563EB;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="architecture" target="kanban">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="1160" y="320" />
|
||||
<mxPoint x="280" y="320" />
|
||||
<mxPoint x="280" y="420" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
<mxCell id="delivery" value="6 · DELIVERY · implementation · branches · PRs · reviews · CI" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FAF5FF;strokeColor=#7E22CE;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="720" y="730" width="280" height="160" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="e3" value="human-admitted work" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#7E22CE;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="kanban" target="delivery">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
<mxCell id="releases" value="7 · RELEASES · readiness · versions · deploy · rollback · outcomes" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FAF5FF;strokeColor=#7E22CE;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="400" y="730" width="280" height="160" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="e4" value="validated release candidate" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#15803D;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="delivery" target="releases">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
<mxCell id="e-general-scope" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="general" target="scope"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="e-scope-architecture" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="scope" target="architecture"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="e-architecture-uiux" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="architecture" target="uiux"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="e-uiux-kanban" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="uiux" target="kanban"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="e-kanban-delivery" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="kanban" target="delivery"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="e-delivery-releases" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="delivery" target="releases"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="agent" value="ONE HERMES AGENT · shared identity and governance" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F8FAFC;strokeColor=#64748B;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=14;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="1030" width="400" height="120" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="e5" value="status and outcome" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#BE123C;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="releases" target="general">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="1400" y="500" />
|
||||
<mxPoint x="1400" y="120" />
|
||||
<mxPoint x="280" y="120" />
|
||||
<mxPoint x="280" y="140" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
<mxCell id="sessions" value="MULTIPLE FOCUSED SESSIONS · concern · history · approvals" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F8FAFC;strokeColor=#64748B;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=14;" vertex="1" parent="1">
|
||||
<mxGeometry x="520" y="1030" width="400" height="120" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="skills" value="SPECIALISED PROJECT SKILLS · 7 channel + 7 engineering" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F8FAFC;strokeColor=#64748B;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=14;" vertex="1" parent="1">
|
||||
<mxGeometry x="960" y="1030" width="400" height="120" as="geometry"/>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<mxCell id="teams" value="Project teams Human owners and Hermes/code agents" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFF7ED;strokeColor=#C2410C;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="1080" y="120" width="320" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="collab" value="Discord project channels Six purpose-specific workspaces" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FAF5FF;strokeColor=#7E22CE;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxCell id="collab" value="Discord operating channels One Board channel + seven project workspaces" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FAF5FF;strokeColor=#7E22CE;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="1080" y="280" width="320" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="source" value="Gitea organizations and repositories Versioned source, decisions, skills, CI" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F0FDF4;strokeColor=#15803D;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
@@ -28,10 +28,10 @@
|
||||
<mxCell id="platform" value="Delivery platform Pages · Harbor · GitOps/Argo CD · runtimes" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFF1F2;strokeColor=#BE123C;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="1080" y="600" width="320" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e0" value="approves and governs" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#0F766E;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="board" target="model">
|
||||
<mxCell id="e0" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#0F766E;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="board" target="model">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e1" value="defines ownership boundary" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563EB;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="model" target="teams">
|
||||
<mxCell id="e1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563EB;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="model" target="teams">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="1000" y="380" />
|
||||
@@ -40,7 +40,7 @@
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="e2" value="routes work by concern" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563EB;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="model" target="collab">
|
||||
<mxCell id="e2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563EB;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="model" target="collab">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="1000" y="380" />
|
||||
@@ -48,7 +48,7 @@
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="e3" value="records durable evidence" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563EB;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="model" target="source">
|
||||
<mxCell id="e3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563EB;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="model" target="source">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="1000" y="380" />
|
||||
@@ -57,10 +57,10 @@
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="e4" value="validated artifacts and desired state" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#15803D;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="source" target="platform">
|
||||
<mxCell id="e4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#15803D;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="source" target="platform">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e5" value="deployed readback" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#BE123C;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="platform" target="model">
|
||||
<mxCell id="e5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#BE123C;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="platform" target="model">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="1040" y="660" />
|
||||
|
||||
@@ -1,93 +1,32 @@
|
||||
<mxfile host="app.diagrams.net" modified="2026-08-24T00:00:00.000Z" agent="Hermes Agent" version="26.0.16" type="device">
|
||||
<diagram id="corp-v1-corp-v1-—-project-operating-flow" name="CORP V1 — PROJECT OPERATING FLOW">
|
||||
<mxGraphModel dx="1500" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1500" pageHeight="900" math="0" shadow="0">
|
||||
<mxfile host="app.diagrams.net" modified="2026-08-25T00:00:00.000Z" agent="Hermes Agent" version="26.0.16" type="device">
|
||||
<diagram id="corp-v1-project-operating-flow-v2" name="CORP V1 — PROJECT OPERATING FLOW">
|
||||
<mxGraphModel dx="1500" dy="960" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1500" pageHeight="960" math="0" shadow="0" adaptiveColors="auto">
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
<mxCell id="title" value="CORP V1 — PROJECT OPERATING FLOW" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#102A43;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="20" width="1200" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="subtitle" value="One governed pattern repeated for each approved project" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=14;fontColor=#486581;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="60" width="1300" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="approve" value="1 BOARD APPROVAL Kickoff, purpose, lead, members, visibility" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6FFFA;strokeColor=#0F766E;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="160" width="240" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="scope" value="2 SCOPE Ideas → Epics → Features Human solution approval" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFF7ED;strokeColor=#C2410C;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="360" y="160" width="240" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="arch" value="3 ARCHITECTURE Requirements, ADRs, Draw.io views, Tasks" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#EFF6FF;strokeColor=#2563EB;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="640" y="160" width="240" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="focus" value="4 KANBAN / FOCUS Human task admission and flow visibility" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FAF5FF;strokeColor=#7E22CE;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="920" y="160" width="240" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="deliver" value="5 DELIVERY Branch, PR, exact-head CI, implementation" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F0FDF4;strokeColor=#15803D;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="920" y="440" width="240" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="release" value="6 RELEASE Readiness, immutable artifacts, deployment" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFF1F2;strokeColor=#BE123C;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="640" y="440" width="240" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="verify" value="7 VERIFY & RECORD Runtime/Pages readback and durable evidence" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F8FAFC;strokeColor=#475569;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="360" y="440" width="240" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="skills" value="PROJECT-OWNED GUIDANCE 6 channel skills + 7 engineering skills No scheduler jobs" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFBEB;strokeColor=#A16207;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="440" width="240" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e0" value="approved project starts" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#0F766E;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="approve" target="scope">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e1" value="Feature approved for solution" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#C2410C;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="scope" target="arch">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e2" value="implementation Tasks prepared" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563EB;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="arch" target="focus">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e3" value="Task admitted to Focus" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#7E22CE;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="focus" target="deliver">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="1180" y="220" />
|
||||
<mxPoint x="1200" y="220" />
|
||||
<mxPoint x="1200" y="500" />
|
||||
<mxPoint x="1180" y="500" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="e4" value="validated candidate" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#15803D;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="deliver" target="release">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e5" value="deploy and observe" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#BE123C;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="release" target="verify">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e6" value="constrains" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#A16207;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="skills" target="scope">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="340" y="500" />
|
||||
<mxPoint x="340" y="220" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="e7" value="constrains" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#A16207;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="skills" target="arch">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="340" y="500" />
|
||||
<mxPoint x="340" y="320" />
|
||||
<mxPoint x="620" y="320" />
|
||||
<mxPoint x="620" y="220" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="e8" value="constrains" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#A16207;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="skills" target="deliver">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="340" y="500" />
|
||||
<mxPoint x="340" y="600" />
|
||||
<mxPoint x="1200" y="600" />
|
||||
<mxPoint x="1200" y="500" />
|
||||
<mxPoint x="1180" y="500" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
<mxCell id="title" value="CORP V1 — PROJECT OPERATING FLOW" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#102A43;" vertex="1" parent="1"><mxGeometry x="80" y="20" width="1360" height="40" as="geometry"/></mxCell>
|
||||
<mxCell id="subtitle" value="One agent · multiple channel sessions · explicit human gates · durable evidence" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=14;fontColor=#486581;" vertex="1" parent="1"><mxGeometry x="80" y="70" width="1360" height="40" as="geometry"/></mxCell>
|
||||
<mxCell id="board" value="1 · CORP-V1-BOARD · BOARD APPROVAL · purpose · lead · members" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6FFFA;strokeColor=#0F766E;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1"><mxGeometry x="80" y="160" width="240" height="160" as="geometry"/></mxCell>
|
||||
<mxCell id="general" value="2 · GENERAL · onboarding · coordination · questions · outcomes" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6FFFA;strokeColor=#0F766E;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1"><mxGeometry x="360" y="160" width="240" height="160" as="geometry"/></mxCell>
|
||||
<mxCell id="scope" value="3 · SCOPE · Ideas → Epics → Features · value · approval" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#EFF6FF;strokeColor=#2563EB;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1"><mxGeometry x="640" y="160" width="240" height="160" as="geometry"/></mxCell>
|
||||
<mxCell id="architecture" value="4 · ARCHITECTURE · requirements · ADRs · interfaces · Tasks" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#EFF6FF;strokeColor=#2563EB;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1"><mxGeometry x="920" y="160" width="240" height="160" as="geometry"/></mxCell>
|
||||
<mxCell id="uiux" value="5 · UI/UX · journeys · IA · Penpot · accessibility · handoff" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#EFF6FF;strokeColor=#2563EB;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1"><mxGeometry x="1200" y="160" width="240" height="160" as="geometry"/></mxCell>
|
||||
<mxCell id="kanban" value="6 · KANBAN / FOCUS · flow · blockers · human Task admission" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FAF5FF;strokeColor=#7E22CE;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1"><mxGeometry x="1200" y="480" width="240" height="160" as="geometry"/></mxCell>
|
||||
<mxCell id="delivery" value="7 · DELIVERY · implementation · branches · PRs · reviews · CI" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FAF5FF;strokeColor=#7E22CE;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1"><mxGeometry x="920" y="480" width="240" height="160" as="geometry"/></mxCell>
|
||||
<mxCell id="releases" value="8 · RELEASES · candidate · readiness · deploy · rollback · outcomes" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FAF5FF;strokeColor=#7E22CE;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1"><mxGeometry x="640" y="480" width="240" height="160" as="geometry"/></mxCell>
|
||||
<mxCell id="verify" value="9 · VERIFY & RECORD · runtime readback · docs · Board evidence" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6FFFA;strokeColor=#0F766E;strokeWidth=2;fontColor=#102A43;fontSize=14;fontStyle=1;spacing=12;" vertex="1" parent="1"><mxGeometry x="360" y="480" width="240" height="160" as="geometry"/></mxCell>
|
||||
<mxCell id="e1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="board" target="general"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="e2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="general" target="scope"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="e3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="scope" target="architecture"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="e4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="architecture" target="uiux"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="e5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="uiux" target="kanban"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="e6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="kanban" target="delivery"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="e7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="delivery" target="releases"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="e8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#475569;strokeWidth=3;endArrow=block;endFill=1;" edge="1" parent="1" source="releases" target="verify"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
<mxCell id="e9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeColor=#0F766E;strokeWidth=2;dashed=1;endArrow=block;endFill=1;" edge="1" parent="1" source="verify" target="board">
|
||||
<mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="340" y="560"/><mxPoint x="40" y="560"/><mxPoint x="40" y="240"/><mxPoint x="60" y="240"/></Array></mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="guidance" value="ONE AGENT · MULTIPLE SESSIONS · 14 PROJECT SKILLS · NO SCHEDULERS" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F8FAFC;strokeColor=#64748B;strokeWidth=2;fontColor=#102A43;fontSize=16;fontStyle=1;spacing=16;align=center;" vertex="1" parent="1"><mxGeometry x="80" y="760" width="1360" height="120" as="geometry"/></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<mxCell id="skillsorg" value="corp-v1-&lt;code&gt;-skills-code-agent SKILLS ORGANIZATION" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFBEB;strokeColor=#A16207;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="160" width="400" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="channelskills" value="6 adopted channel-skill repos: gen · scope · arch · kanban · delivery · release" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#A16207;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxCell id="channelskills" value="7 adopted channel-skill repos · General through Releases · UI/UX included" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#A16207;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="320" width="400" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="engskills" value="7 adopted eng-skill repos: branch · mono · scripts · CI · GitOps · docs · tpl" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#A16207;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
@@ -37,13 +37,13 @@
|
||||
<mxCell id="runtime" value="HARBOR → GITOPS / ARGO CD → RUNTIME Immutable images; reconciled desired state" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFF1F2;strokeColor=#BE123C;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="1520" y="440" width="400" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e0" value="guides documentation work" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#A16207;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="channelskills" target="docs">
|
||||
<mxCell id="e0" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#A16207;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="channelskills" target="docs">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e1" value="guides engineering work" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#A16207;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="engskills" target="app">
|
||||
<mxCell id="e1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#A16207;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="engskills" target="app">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e2" value="commit / PR" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563EB;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="docs" target="ci">
|
||||
<mxCell id="e2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563EB;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="docs" target="ci">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="1000" y="380" />
|
||||
@@ -52,7 +52,7 @@
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="e3" value="commit / PR" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563EB;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="app" target="ci">
|
||||
<mxCell id="e3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563EB;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="app" target="ci">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="1000" y="540" />
|
||||
@@ -61,10 +61,10 @@
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="e4" value="publish docs" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#15803D;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="ci" target="pages">
|
||||
<mxCell id="e4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#15803D;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="ci" target="pages">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e5" value="publish and deploy apps" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#15803D;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="ci" target="runtime">
|
||||
<mxCell id="e5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#15803D;strokeWidth=2;endArrow=block;endFill=1;fontSize=12;fontColor=#334E68;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="ci" target="runtime">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="1240" y="400" />
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: overview-channels
|
||||
title: "Overview Channels"
|
||||
description: "Understand how the six Corp v1 project channels divide responsibilities and hand work to one another."
|
||||
description: "Understand the Corp v1 Board channel, seven project workspaces, session boundaries, skills, and SDLC handoffs."
|
||||
---
|
||||
|
||||
import Drawio from '@theme/Drawio';
|
||||
@@ -9,17 +9,48 @@ import channelsDiagram from '!!raw-loader!./diagrams/channels.drawio';
|
||||
|
||||
# Overview Channels
|
||||
|
||||
A project receives exactly six purpose-specific Discord channels. The channels are concern boundaries, not isolated teams: evidence and decisions move forward through explicit handoffs.
|
||||
Corp v1 uses **one portfolio-governance channel** and **seven purpose-specific channels per project**. These are operating boundaries for one AI agent and the human team—not separate delivery teams.
|
||||
|
||||
<Drawio content={channelsDiagram} title="Corp v1 project channel flow" toolbar="zoom layers lightbox" responsive maxHeight={720} />
|
||||
<Drawio content={channelsDiagram} title="Corp v1 Board and project channel operating model" toolbar="zoom layers lightbox" responsive maxHeight={820} />
|
||||
|
||||
| Channel | Owns | Typical handoff |
|
||||
## Portfolio governance: `corp-v1-board`
|
||||
|
||||
`corp-v1-board` exists once for the whole Corp v1 pilot. It is the authoritative Discord workspace for decisions that change the portfolio operating model:
|
||||
|
||||
- approve project kickoffs, closures, and membership changes;
|
||||
- approve changes to the global `corp-v1--main` governance skill;
|
||||
- approve central `corp-v1-channel-*` reference-skill changes;
|
||||
- resolve conflicts that cannot be decided inside one project;
|
||||
- review portfolio-level evidence and remaining gates.
|
||||
|
||||
A Board message is evidence only when approval is explicit and attributable to a listed Board member. The Board channel does **not** replace project Scope, Architecture, UI/UX, Delivery, or Releases decisions.
|
||||
|
||||
## Project workspaces
|
||||
|
||||
Every active project receives these seven channels in this exact order:
|
||||
|
||||
| Channel | Owns | Sends forward |
|
||||
|---|---|---|
|
||||
| General | Announcements, questions, shared coordination | Routes product intent to Scope and broadcasts outcomes |
|
||||
| Scope | Ideas, Epics, Features, value, acceptance outcomes, solution approval | Sends an approved Feature to Architecture |
|
||||
| Architecture | Requirements, ADRs, Draw.io views, technical design, implementation Tasks | Sends prepared Tasks to Kanban |
|
||||
| Kanban | Board, Focus, flow visibility, explicit human Task admission | Sends admitted work to Delivery |
|
||||
| Delivery | Planning, implementation, pull requests, CI evidence, blockers | Sends a validated release candidate to Releases |
|
||||
| Releases | Readiness, versions, deployment, rollback, post-release outcomes | Reports deployment state and outcomes to the project |
|
||||
| **General** | Project announcements, questions, onboarding, shared coordination, and outcome broadcasts | Product intent and questions to Scope; cross-cutting needs to the owning channel |
|
||||
| **Scope** | Ideas, Epics, Features, value, acceptance outcomes, roadmap, and human approval for solution work | An exact approved Feature to Architecture |
|
||||
| **Architecture** | Requirements, ADRs, system design, interfaces, constraints, and implementation Tasks | Design intent to UI/UX and prepared technical work toward Kanban |
|
||||
| **UI/UX** | User journeys, information architecture, interaction and visual design, accessibility, Penpot sources, prototypes, and design handoff | Reviewed design evidence and implementation-ready UX decisions to Kanban and Delivery |
|
||||
| **Kanban** | Board and Focus visibility, dependencies, sequencing, blockers, and explicit human Task admission | An exact admitted Task to Delivery |
|
||||
| **Delivery** | Implementation planning, branches, pull requests, reviews, exact-head CI, and engineering blockers | A validated immutable candidate to Releases |
|
||||
| **Releases** | Readiness, version decisions, deployment, rollback, acceptance evidence, and post-release outcomes | Verified status and outcomes back to General and durable records |
|
||||
|
||||
Each channel loads its mapped project-adopted channel skill. Relevant engineering skills are loaded alongside it for branching, monorepo structure, scripts, CI/CD, GitOps, documentation, and templates. A green build or agent statement never substitutes for a required human approval or deployed readback.
|
||||
## One agent, multiple sessions, specialised skills
|
||||
|
||||
The same Hermes agent operates across the pilot, but each Discord channel has its own focused session and mapped channel skill. This gives the pilot:
|
||||
|
||||
1. **Shared identity and governance** — one agent follows the same Board-approved operating model.
|
||||
2. **Focused context** — Scope discussion does not become Delivery execution, and one project's decisions do not silently become another project's decisions.
|
||||
3. **Specialised behavior** — the mapped `corp-v1-channel-<channel>--<code>` skill defines the channel's responsibilities, approvals, evidence, and handoffs.
|
||||
4. **Engineering depth on demand** — relevant project engineering skills are loaded alongside the channel skill for documentation, branching, monorepo work, CI/CD, GitOps, scripts, and templates.
|
||||
5. **Durable evidence** — decisions and current state are written to Discord, Gitea, project documentation, and the Board portal rather than existing only in an agent session.
|
||||
|
||||
## Handoff rule
|
||||
|
||||
A handoff is not “continue the conversation elsewhere.” It carries an exact governed artifact: an approved Feature, requirement set, ADR, Penpot design, admitted Task, reviewed commit, immutable release candidate, or deployed readback.
|
||||
|
||||
Green CI, a merge, an agent statement, or silence never substitutes for required human approval. Corp v1 currently uses no project cronjobs or scheduler jobs; coordination is human- or event-driven.
|
||||
|
||||
@@ -9,7 +9,7 @@ import repositoriesDiagram from '!!raw-loader!./diagrams/repositories.drawio';
|
||||
|
||||
# Overview Repositories
|
||||
|
||||
Each project has two Gitea organization boundaries and fifteen required repositories: two project repositories plus thirteen adopted skill repositories.
|
||||
Each project has two Gitea organization boundaries and sixteen required repositories: two project repositories plus fourteen adopted skill repositories.
|
||||
|
||||
<Drawio content={repositoriesDiagram} title="Corp v1 organizations, repositories, and delivery" toolbar="zoom layers lightbox" responsive maxHeight={720} />
|
||||
|
||||
@@ -26,7 +26,7 @@ A project team grants access to both repositories. Project-specific environment
|
||||
|
||||
The corresponding skills team grants access to:
|
||||
|
||||
- six adopted channel-skill repositories;
|
||||
- seven adopted channel-skill repositories—General, Scope, Architecture, UI/UX, Kanban, Delivery, and Releases;
|
||||
- seven adopted engineering-skill repositories;
|
||||
- their complete supporting assets, scripts, templates, references, and preserved adoption history.
|
||||
|
||||
@@ -34,4 +34,4 @@ The global `drawio-main` and `corp-v1--glossary` remain shared references unless
|
||||
|
||||
## Delivery evidence
|
||||
|
||||
Documentation commits are validated and published to LEGO Cloud Pages. Deployable application commits produce immutable Harbor images and update GitOps/Argo CD desired state. Completion requires exact-commit CI plus deployed page or runtime readback; a local build or accepted push alone is not delivery evidence.
|
||||
Documentation commits are validated by Gitea Actions and published to LEGO Cloud Pages. Deployable application commits produce immutable Harbor images and update GitOps/Argo CD desired state. Completion requires exact-commit CI plus deployed page or runtime readback; a local build or accepted push alone is not delivery evidence.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: overview
|
||||
title: "Overview"
|
||||
description: "Follow a Corp v1 project from Board approval through governed scope, delivery, deployment, and verified evidence."
|
||||
description: "Follow the single-agent, multi-session Corp v1 pilot from Board governance through design, delivery, release, and verified evidence."
|
||||
---
|
||||
|
||||
import Drawio from '@theme/Drawio';
|
||||
@@ -9,22 +9,28 @@ import overviewDiagram from '!!raw-loader!./diagrams/overview.drawio';
|
||||
|
||||
# Overview
|
||||
|
||||
Every approved Corp v1 project repeats the same high-level operating flow while keeping its own decisions and delivery boundary.
|
||||
Corp v1 is an SDLC operating-model pilot: **one AI agent works across multiple focused Discord sessions, each governed by specialised project skills and explicit human decision rights**. Every approved project repeats the same flow while keeping its decisions, repositories, and delivery evidence isolated.
|
||||
|
||||
<Drawio content={overviewDiagram} title="Corp v1 project operating flow" toolbar="zoom layers lightbox" responsive maxHeight={720} />
|
||||
<Drawio content={overviewDiagram} title="Corp v1 governed project operating flow" toolbar="zoom layers lightbox" responsive maxHeight={820} />
|
||||
|
||||
## How projects operate
|
||||
## How the setup fits together
|
||||
|
||||
1. **Board approval** establishes the project purpose, code, lead, members, visibility, initial deliverable, and required resources.
|
||||
2. **Scope** turns evidence-backed intent into Ideas, Epics, and Features. A human project member approves a Feature for solution work.
|
||||
3. **Architecture** defines requirements, decisions, diagrams, and implementation Tasks without treating documentation scaffolding as an approved target design.
|
||||
4. **Kanban** exposes unfinished work. A human project member explicitly admits an exact Task to Focus before Delivery may execute it.
|
||||
5. **Delivery** implements through reviewable branches and pull requests; Gitea Actions validates the exact candidate.
|
||||
6. **Releases** assess immutable artifacts, risk, rollback, deployment, and acceptance evidence.
|
||||
7. **Verification** reads the deployed page or runtime back and updates durable project and governance records.
|
||||
1. **`corp-v1-board` governs the portfolio.** Listed Board members approve project kickoffs, closures, membership changes, and changes to the global operating model.
|
||||
2. **General establishes the project workspace.** It handles onboarding, shared coordination, questions, and broadcasts verified outcomes.
|
||||
3. **Scope decides what creates value.** Ideas become Epics and Features; a human project member approves an exact Feature for solution work.
|
||||
4. **Architecture decides how the system should work.** Requirements, ADRs, interfaces, constraints, and implementation Tasks become durable project evidence.
|
||||
5. **UI/UX makes the frontend experience implementable.** User journeys, information architecture, accessibility, Penpot designs, prototypes, and handoff evidence bridge Architecture and execution.
|
||||
6. **Kanban controls admission and flow.** A human project member admits an exact Task to Focus before Delivery may execute it.
|
||||
7. **Delivery produces a reviewed candidate.** Work proceeds through branches, pull requests, exact-head validation, and reviewable implementation evidence.
|
||||
8. **Releases control deployment and outcomes.** Immutable artifacts, risk, rollback, deployment, acceptance, and post-release evidence are assessed explicitly.
|
||||
9. **Verification closes the evidence loop.** Hermes reads the deployed page or runtime back, updates project documentation and the Board portal, and reports remaining gates honestly.
|
||||
|
||||
## Project-owned operating guidance
|
||||
## Why sessions and skills are separated
|
||||
|
||||
Each project adopts six channel skills and seven engineering skills into its dedicated skills/code-agent organization. Those copies preserve project naming, environment namespaces, repository links, authority decisions, and operating lessons. Central changes are compared and deliberately synchronized; they never silently overwrite project decisions.
|
||||
Each channel is a concern boundary with its own session. The same agent can coordinate the whole project, while the loaded project-adopted channel skill prevents responsibilities and approval rules from blurring together. The project uses seven channel skills to define the workspaces and seven engineering skills to provide reusable execution practices.
|
||||
|
||||
Corp v1 projects and channels do **not** use cronjobs or scheduler jobs under the current approved model. Coordination is human- or event-driven.
|
||||
Project copies preserve project-specific authority, terminology, repository links, environment namespaces, and operating lessons. Central skill changes are compared and deliberately adopted; they never silently overwrite project decisions.
|
||||
|
||||
## Automation boundary
|
||||
|
||||
Corp v1 projects and channels do **not** use cronjobs or scheduler jobs under the current approved model. Work advances through explicit human decisions, Discord events, reviewed repository changes, exact-commit CI, and deployed readback.
|
||||
|
||||
@@ -99,20 +99,24 @@ const architecturePages = {
|
||||
for (const [name, page] of Object.entries(architecturePages)) {
|
||||
assert.match(page, /!!raw-loader!\.\/diagrams\/.+\.drawio/, `${name} page must render an editable Draw.io source`);
|
||||
}
|
||||
for (const term of ['six channel skills', 'seven engineering skills', 'Gitea Actions', 'scheduler jobs']) {
|
||||
for (const term of ['seven channel skills', 'seven engineering skills', 'Gitea Actions', 'scheduler jobs', 'corp-v1-board', 'UI/UX', 'one AI agent']) {
|
||||
assert.ok(Object.values(architecturePages).some((page) => page.includes(term)), `architecture explanation is missing: ${term}`);
|
||||
}
|
||||
for (const [name, page] of Object.entries(architecturePages)) {
|
||||
assert.doesNotMatch(page, /exactly six|six project channels|six channel skills|thirteen adopted skill/i, `${name} retains the superseded six-channel model`);
|
||||
}
|
||||
for (const [name, markers] of Object.entries({
|
||||
'context.drawio': ['CORP V1 — OPERATING CONTEXT', 'Corp v1 Board', 'Gitea organizations and repositories', 'Delivery platform'],
|
||||
'overview.drawio': ['CORP V1 — PROJECT OPERATING FLOW', 'BOARD APPROVAL', 'KANBAN / FOCUS', 'VERIFY & RECORD'],
|
||||
'channels.drawio': ['CORP V1 — PROJECT CHANNELS', 'GENERAL', 'ARCHITECTURE', 'RELEASES'],
|
||||
'repositories.drawio': ['CORP V1 — ORGANIZATIONS, REPOSITORIES & DELIVERY', 'PROJECT ORGANIZATION', 'SKILLS ORGANIZATION', 'GITEA ACTIONS'],
|
||||
'overview.drawio': ['CORP V1 — PROJECT OPERATING FLOW', 'CORP-V1-BOARD', 'BOARD APPROVAL', 'UI/UX', 'KANBAN / FOCUS', 'VERIFY & RECORD'],
|
||||
'channels.drawio': ['CORP V1 — BOARD & PROJECT CHANNELS', 'CORP-V1-BOARD', 'GENERAL', 'ARCHITECTURE', 'UI/UX', 'RELEASES', 'MULTIPLE FOCUSED SESSIONS'],
|
||||
'repositories.drawio': ['CORP V1 — ORGANIZATIONS, REPOSITORIES & DELIVERY', 'PROJECT ORGANIZATION', 'SKILLS ORGANIZATION', '7 adopted channel-skill repos', 'GITEA ACTIONS'],
|
||||
})) {
|
||||
const diagram = read(`docs/architecture-high-level/diagrams/${name}`);
|
||||
const xmlResult = XMLValidator.validate(diagram);
|
||||
assert.equal(xmlResult, true, `${name} is malformed XML: ${JSON.stringify(xmlResult)}`);
|
||||
assert.match(diagram, /<mxfile[\s>]/, `${name} is not a Draw.io source file`);
|
||||
for (const marker of markers) assert.ok(diagram.includes(marker), `${name} is missing: ${marker}`);
|
||||
assert.doesNotMatch(diagram, /Six purpose-specific|6 channel skills|6 adopted channel-skill repos/i, `${name} retains the superseded six-channel model`);
|
||||
}
|
||||
|
||||
if (existsSync(join(root, 'build'))) {
|
||||
|
||||
Reference in New Issue
Block a user