Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad2cea37a4 | ||
|
|
1fb6f168dc | ||
|
|
71e68ce959 |
@@ -22,10 +22,14 @@ jobs:
|
||||
version: 9.15.9
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Validate portal contracts
|
||||
run: pnpm verify:portal
|
||||
- name: Typecheck
|
||||
run: pnpm typecheck
|
||||
- name: Build site
|
||||
run: pnpm build
|
||||
- name: Validate built routes and search index
|
||||
run: pnpm verify:portal
|
||||
- name: Publish to LEGO Cloud Pages
|
||||
if: gitea.event_name == 'push' && gitea.ref == 'refs/heads/main'
|
||||
shell: bash
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: context
|
||||
title: "Context"
|
||||
description: "See the people, collaboration systems, repositories, and delivery platforms around the Corp v1 operating model."
|
||||
---
|
||||
|
||||
import Drawio from '@theme/Drawio';
|
||||
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.
|
||||
|
||||
<Drawio content={contextDiagram} title="Corp v1 operating context" toolbar="zoom layers lightbox" responsive maxHeight={720} />
|
||||
|
||||
## System boundary
|
||||
|
||||
The operating model joins four evidence-bearing environments:
|
||||
|
||||
- **Discord** routes work into six project channels with distinct concerns.
|
||||
- **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.
|
||||
@@ -0,0 +1,36 @@
|
||||
<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">
|
||||
<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="50" y="24" width="1200" height="40" as="geometry"/></mxCell>
|
||||
<mxCell id="subtitle" value="Six channels create explicit concern boundaries; mapped project skills carry the operating guidance" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=14;fontColor=#486581;" vertex="1" parent="1"><mxGeometry x="50" y="62" width="1300" height="30" 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="70" y="170" width="360" height="105" 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="570" y="170" width="360" height="105" 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="1070" y="170" width="360" height="105" 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="70" y="480" width="360" height="105" 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="570" y="480" width="360" height="105" 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="1070" y="480" width="360" height="105" 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>
|
||||
<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>
|
||||
<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"/></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>
|
||||
<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>
|
||||
<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"/></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
@@ -0,0 +1,30 @@
|
||||
<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-—-operating-context" name="CORP V1 — OPERATING CONTEXT">
|
||||
<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">
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
<mxCell id="title" value="CORP V1 — OPERATING CONTEXT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#102A43;" vertex="1" parent="1"><mxGeometry x="50" y="24" width="1200" height="40" as="geometry"/></mxCell>
|
||||
<mxCell id="subtitle" value="Governed project delivery: people, collaboration, source control, and runtime evidence" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=14;fontColor=#486581;" vertex="1" parent="1"><mxGeometry x="50" y="62" width="1300" height="30" as="geometry"/></mxCell>
|
||||
<mxCell id="board" value="Corp v1 Board
|
||||
Lifecycle authority and portfolio decisions" 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="320" width="270" height="110" as="geometry"/></mxCell>
|
||||
<mxCell id="model" value="Corp v1 operating model
|
||||
Governance portal + approved operating contract" 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="510" y="285" width="390" height="180" as="geometry"/></mxCell>
|
||||
<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="140" width="300" height="100" 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"><mxGeometry x="1080" y="290" width="300" height="100" 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"><mxGeometry x="1080" y="440" width="300" height="110" as="geometry"/></mxCell>
|
||||
<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="610" width="300" height="110" 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"><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"><mxGeometry relative="1" as="geometry"/></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"><mxGeometry relative="1" as="geometry"/></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"><mxGeometry relative="1" as="geometry"/></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"><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"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
@@ -0,0 +1,39 @@
|
||||
<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">
|
||||
<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="50" y="24" 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="50" y="62" width="1300" height="30" 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="60" y="170" width="250" height="100" 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="370" y="170" width="250" height="100" 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="680" y="170" width="250" height="100" 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="990" y="170" width="250" height="100" 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="370" y="430" width="250" height="100" 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="680" y="430" width="250" height="100" 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="990" y="430" width="250" height="100" 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="60" y="430" width="250" height="100" 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"/></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"/></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"/></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"/></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
@@ -0,0 +1,36 @@
|
||||
<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-repositories-delivery" name="CORP V1 — ORGANIZATIONS, REPOSITORIES & DELIVERY">
|
||||
<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">
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
<mxCell id="title" value="CORP V1 — ORGANIZATIONS, REPOSITORIES & DELIVERY" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#102A43;" vertex="1" parent="1"><mxGeometry x="50" y="24" width="1200" height="40" as="geometry"/></mxCell>
|
||||
<mxCell id="subtitle" value="Separate project source from adopted agent guidance; connect both through reviewed delivery evidence" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=14;fontColor=#486581;" vertex="1" parent="1"><mxGeometry x="50" y="62" width="1300" height="30" as="geometry"/></mxCell>
|
||||
<mxCell id="projectorg" value="corp-v1-&lt;code&gt;
|
||||
PROJECT ORGANIZATION" 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="60" y="150" width="390" height="90" as="geometry"/></mxCell>
|
||||
<mxCell id="docs" value="corp-v1-&lt;code&gt;-documentation
|
||||
Docusaurus portal + editable Draw.io" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#2563EB;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1"><mxGeometry x="80" y="290" width="350" height="90" as="geometry"/></mxCell>
|
||||
<mxCell id="app" value="corp-v1-&lt;code&gt;
|
||||
pnpm/TypeScript application monorepo" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#2563EB;strokeWidth=2;fontColor=#102A43;fontSize=14;spacing=12;" vertex="1" parent="1"><mxGeometry x="80" y="440" width="350" height="90" as="geometry"/></mxCell>
|
||||
<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="560" y="150" width="390" height="90" as="geometry"/></mxCell>
|
||||
<mxCell id="channelskills" value="6 adopted channel-skill repositories
|
||||
general · scope · architecture · kanban · delivery · releases" 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="580" y="290" width="350" height="100" as="geometry"/></mxCell>
|
||||
<mxCell id="engskills" value="7 adopted engineering-skill repositories
|
||||
branching · monorepo · scripts · CI/CD · GitOps · docs · templates" 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="580" y="450" width="350" height="110" as="geometry"/></mxCell>
|
||||
<mxCell id="ci" value="GITEA ACTIONS
|
||||
Exact-head validation and artifact publication" 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="1060" y="220" width="350" height="100" as="geometry"/></mxCell>
|
||||
<mxCell id="pages" value="LEGO CLOUD PAGES
|
||||
Published documentation" 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="1060" y="390" width="350" height="90" as="geometry"/></mxCell>
|
||||
<mxCell id="runtime" value="HARBOR → GITOPS / ARGO CD → RUNTIME
|
||||
Immutable images and 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="1060" y="540" width="350" height="100" 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"><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"><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"><mxGeometry relative="1" as="geometry"/></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"><mxGeometry relative="1" as="geometry"/></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"><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"><mxGeometry relative="1" as="geometry"/></mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: overview-channels
|
||||
title: "Overview Channels"
|
||||
description: "Understand how the six Corp v1 project channels divide responsibilities and hand work to one another."
|
||||
---
|
||||
|
||||
import Drawio from '@theme/Drawio';
|
||||
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.
|
||||
|
||||
<Drawio content={channelsDiagram} title="Corp v1 project channel flow" toolbar="zoom layers lightbox" responsive maxHeight={720} />
|
||||
|
||||
| Channel | Owns | Typical handoff |
|
||||
|---|---|---|
|
||||
| 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 |
|
||||
|
||||
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.
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: overview-repositories
|
||||
title: "Overview Repositories"
|
||||
description: "See how each Corp v1 project separates application and documentation source from adopted skills and delivery evidence."
|
||||
---
|
||||
|
||||
import Drawio from '@theme/Drawio';
|
||||
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.
|
||||
|
||||
<Drawio content={repositoriesDiagram} title="Corp v1 organizations, repositories, and delivery" toolbar="zoom layers lightbox" responsive maxHeight={720} />
|
||||
|
||||
## Project organization: `corp-v1-<code>`
|
||||
|
||||
| Repository | Purpose |
|
||||
|---|---|
|
||||
| `corp-v1-<code>-documentation` | Docusaurus project portal, governed records, and editable Draw.io architecture sources |
|
||||
| `corp-v1-<code>` | pnpm/TypeScript application monorepo with `applications/`, `packages/`, Docker, Helm, Taskfiles, and GitOps inputs |
|
||||
|
||||
A project team grants access to both repositories. Project-specific environment variables use `CORP_V1_<CODE>_*`.
|
||||
|
||||
## Skills organization: `corp-v1-<code>-skills-code-agent`
|
||||
|
||||
The corresponding skills team grants access to:
|
||||
|
||||
- six adopted channel-skill repositories;
|
||||
- seven adopted engineering-skill repositories;
|
||||
- their complete supporting assets, scripts, templates, references, and preserved adoption history.
|
||||
|
||||
The global `drawio-main` and `corp-v1--glossary` remain shared references unless an explicit project decision adopts a local copy.
|
||||
|
||||
## 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.
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
id: overview
|
||||
title: "Overview"
|
||||
description: "Follow a Corp v1 project from Board approval through governed scope, delivery, deployment, and verified evidence."
|
||||
---
|
||||
|
||||
import Drawio from '@theme/Drawio';
|
||||
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.
|
||||
|
||||
<Drawio content={overviewDiagram} title="Corp v1 project operating flow" toolbar="zoom layers lightbox" responsive maxHeight={720} />
|
||||
|
||||
## How projects operate
|
||||
|
||||
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.
|
||||
|
||||
## Project-owned operating guidance
|
||||
|
||||
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.
|
||||
|
||||
Corp v1 projects and channels do **not** use cronjobs or scheduler jobs under the current approved model. Coordination is human- or event-driven.
|
||||
@@ -8,6 +8,7 @@ sidebar_position: 2
|
||||
|
||||
| Date | Decision | Scope | Owner | Record |
|
||||
|---|---|---|---|---|
|
||||
| 2026-08-17 | Authorize Maze Next Gen kickoff and begin provisioning | Maze Next Gen | RootAtSkic | [Maze Next Gen kickoff](/governance/decisions/mazeng-kickoff/) |
|
||||
| 2026-08-14 | Add Eduard to the Corp v1 Board and expand the AeroSim team | Corp v1 governance and AeroSim | RootAtSkic | [Board and AeroSim membership expansion](/governance/decisions/board-and-aerosim-membership-expansion/) |
|
||||
| 2026-08-14 | Establish the Corp v1 Board, main skill, portal, membership, and skill-change authority | Corp v1 governance | RootAtSkic | [Corp v1 Board migration](/governance/decisions/corp-v1-board-migration/) |
|
||||
| 2026-08-13 | Align managed projects to the six-channel Scope/Kanban lifecycle and hourly synchronization model | Corp v1 managed projects | RootAtSkic | [Managed-project six-channel alignment](/governance/decisions/managed-project-six-channel-alignment/) |
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
title: Maze Next Gen kickoff
|
||||
---
|
||||
|
||||
# Maze Next Gen kickoff — 2026-08-17
|
||||
|
||||
## Context
|
||||
|
||||
RootAtSkic proposed rebuilding Maze as a governed multi-cloud inventory and visualization platform. The proposal was refreshed to the current six-channel and thirteen-skill Corp v1 model.
|
||||
|
||||
## Decision
|
||||
|
||||
Begin provisioning **Maze Next Gen**, code `mazeng`, as a restricted Corp v1 project with RootAtSkic as sponsor and accountable lead and Hermes (`jarvis-at-skic`) as the initial technical member.
|
||||
|
||||
Approval was explicit from Board member `discord:1518725627845283888` in message `1539019060770242611`.
|
||||
|
||||
## Authorized resources
|
||||
|
||||
- Exactly six same-project Discord channels under `corp-v1`: General, Scope, Architecture, Kanban, Delivery, and Releases.
|
||||
- `corp-v1-mazeng` project organization.
|
||||
- `corp-v1-mazeng-skills-code-agent` skills organization.
|
||||
- Application and documentation repositories.
|
||||
- Seven adopted engineering skills and six adopted channel skills, all suffixed `--mazeng`.
|
||||
- Six same-project staggered hourly synchronization jobs.
|
||||
- Corresponding project and skills organization teams for RootAtSkic and `jarvis-at-skic`.
|
||||
- Two approved non-secret Harbor organization variables and secret-name-only validation.
|
||||
- Global `home-v1-skills-code-agent/drawio-main` reference without a project copy.
|
||||
|
||||
## Initial deliverable
|
||||
|
||||
A governed discovery MVP for one organization and one initial hyperscaler using read-only credentials, normalized timestamped inventory snapshots, version change visibility, an organization-scoped UI, interactive estate diagrams, and extensible provider-adapter contracts.
|
||||
|
||||
The first hyperscaler and exact inventory scope are not pre-approved implementation choices; they must be proposed and decided through the project lifecycle.
|
||||
|
||||
## Owner
|
||||
|
||||
RootAtSkic
|
||||
|
||||
## Current state
|
||||
|
||||
Approved and provisioning. Completion evidence and any remaining gates will be appended after remote verification.
|
||||
|
||||
|
||||
## Verified completion state
|
||||
|
||||
The approved resources are provisioned and verified: six Discord channels and jobs, two private organizations and teams, two repositories, thirteen adopted skills, exact-head application task `1144`, exact-head documentation task `1145`, and the Pages route. The project is **Active — Harbor gated** because the Harbor secret name remains missing; no secret value was requested or accessed.
|
||||
@@ -8,8 +8,8 @@ sidebar_position: 1
|
||||
|
||||
| Member | Status | Roles | Teams | Active projects |
|
||||
|---|---|---|---|---:|
|
||||
| [RootAtSkic](/members/rootatskic/) | Active | AeroSim sponsor and lead | AeroSim Team | 1 |
|
||||
| [Jarvis at SKIC](/members/jarvis-at-skic/) | Active | AeroSim technical member and code agent | AeroSim Team | 1 |
|
||||
| [RootAtSkic](/members/rootatskic/) | Active | AeroSim and Maze Next Gen sponsor and lead | AeroSim Team; Maze Next Gen Team | 2 |
|
||||
| [Jarvis at SKIC](/members/jarvis-at-skic/) | Active | AeroSim and Maze Next Gen technical member and code agent | AeroSim Team; Maze Next Gen Team | 2 |
|
||||
| [Panther Skeleton](/members/panther-skeleton/) | Active | Board member; AeroSim member | AeroSim Team | 1 |
|
||||
| [MartynasP](/members/martynasp/) | Active | Board member; AeroSim member | AeroSim Team | 1 |
|
||||
| [Eduard](/members/eduard/) | Active | Board member; AeroSim member | AeroSim Team | 1 |
|
||||
|
||||
@@ -8,9 +8,9 @@ sidebar_position: 2
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Status | Active |
|
||||
| Governance roles | AeroSim technical member and executing code agent |
|
||||
| Team | [AeroSim Team](/teams/aerosim/) |
|
||||
| Project | [AeroSim](/projects/aerosim/) |
|
||||
| Governance roles | AeroSim and Maze Next Gen technical member and executing code agent |
|
||||
| Teams | [AeroSim Team](/teams/aerosim/); [Maze Next Gen Team](/teams/mazeng/) |
|
||||
| Projects | [AeroSim](/projects/aerosim/); [Maze Next Gen](/projects/mazeng/) |
|
||||
| Gitea | `jarvis-at-skic` — verified |
|
||||
|
||||
The executing Hermes identity has verified membership in both AeroSim Gitea organization teams and verified read/post access across all six AeroSim Discord channels as bot `1526860732917088266`; the required pinned General guidance remains verified.
|
||||
The executing Hermes identity has verified membership in both AeroSim and both Maze Next Gen Gitea organization teams and verified read/post access across all six AeroSim Discord channels as bot `1526860732917088266`; the required pinned General guidance remains verified.
|
||||
|
||||
@@ -8,10 +8,10 @@ sidebar_position: 1
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Status | Active |
|
||||
| Governance roles | AeroSim sponsor and accountable lead |
|
||||
| Team | [AeroSim Team](/teams/aerosim/) |
|
||||
| Project | [AeroSim](/projects/aerosim/) |
|
||||
| Governance roles | AeroSim and Maze Next Gen sponsor and accountable lead |
|
||||
| Teams | [AeroSim Team](/teams/aerosim/); [Maze Next Gen Team](/teams/mazeng/) |
|
||||
| Projects | [AeroSim](/projects/aerosim/); [Maze Next Gen](/projects/mazeng/) |
|
||||
| Discord | RootAtSkic — `1518725627845283888`, verified |
|
||||
| Gitea | `root-at-skic` — verified in both AeroSim organization teams |
|
||||
| Gitea | `root-at-skic` — verified in both AeroSim teams and both Maze Next Gen teams |
|
||||
|
||||
The Gitea identity was resolved by exact authenticated user search rather than inferred.
|
||||
|
||||
@@ -9,6 +9,7 @@ sidebar_position: 1
|
||||
| Project | Status | Sponsor | Lead | Team | Started | Closed |
|
||||
|---|---|---|---|---|---|---|
|
||||
| [AeroSim](/projects/aerosim/) | Active — Harbor gated | RootAtSkic | RootAtSkic | [AeroSim Team](/teams/aerosim/) | 2026-08-12 | — |
|
||||
| [Maze Next Gen](/projects/mazeng/) | Active — Harbor gated | RootAtSkic | RootAtSkic | [Maze Next Gen Team](/teams/mazeng/) | 2026-08-17 | — |
|
||||
|
||||
## Required project record
|
||||
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
---
|
||||
title: Maze Next Gen
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Maze Next Gen
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Code | `mazeng` |
|
||||
| Status | Active — Harbor gated |
|
||||
| Started | 2026-08-17 |
|
||||
| Sponsor and accountable lead | RootAtSkic |
|
||||
| Initial technical member | `jarvis-at-skic` / Hermes code agent |
|
||||
| Team | [Maze Next Gen Team](/teams/mazeng/) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Rebuild Maze as a multi-cloud inventory and visualization platform that connects to major hyperscalers, discovers organizations' services and resources, versions normalized inventory, and presents each organization's cross-cloud estate as navigable diagrams.
|
||||
|
||||
## Initial deliverable
|
||||
|
||||
A governed read-only discovery MVP for one organization and one initial hyperscaler, with normalized timestamped inventory snapshots, version change visibility, an organization-scoped UI, interactive estate diagrams, and provider-adapter contracts. The first hyperscaler and exact inventory scope remain product Features requiring lifecycle decisions.
|
||||
|
||||
## Approval
|
||||
|
||||
RootAtSkic (`discord:1518725627845283888`) explicitly approved the updated six-channel/thirteen-skill proposal in Board message `1539019060770242611` on 2026-08-17.
|
||||
|
||||
## Resources
|
||||
|
||||
- Project organization: [corp-v1-mazeng](https://gitea.lego-cloud.eu/corp-v1-mazeng) — private
|
||||
- Skills organization: [corp-v1-mazeng-skills-code-agent](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent) — private
|
||||
- [Application repository](https://gitea.lego-cloud.eu/corp-v1-mazeng/corp-v1-mazeng) — `test` `2336eb378ba44a7fb2c29197ed1e77296d587476`
|
||||
- [Documentation repository](https://gitea.lego-cloud.eu/corp-v1-mazeng/corp-v1-mazeng-documentation) — `test` `984ad3aabc516bc6850d6877f204700a98c0c223`
|
||||
- [Published documentation](https://pages.apps.lego-cloud.eu/corp-v1-mazeng/corp-v1-mazeng-documentation/)
|
||||
|
||||
## Discord
|
||||
|
||||
Exactly six channels exist under category `corp-v1` (`1537070242335821924`):
|
||||
|
||||
- `corp-v1-mazeng-general` — `1539019955738116096`; purpose `1539019957923483728`; pinned skills `1539021508326981683`
|
||||
- `corp-v1-mazeng-scope` — `1539019959135633580`; purpose `1539019961329000479`; pinned skills `1539021514379370546`
|
||||
- `corp-v1-mazeng-architecture` — `1539019963568758835`; purpose `1539019966857355416`; pinned skills `1539021520230162540`
|
||||
- `corp-v1-mazeng-kanban` — `1539019969323466883`; purpose `1539019971655372911`; pinned skills `1539021525657849896`
|
||||
- `corp-v1-mazeng-delivery` — `1539019973043683358`; purpose `1539019975203885068`; pinned skills `1539021530317463572`
|
||||
- `corp-v1-mazeng-releases` — `1539019976977948694`; purpose `1539019979590991963`; pinned skills `1539021536621756458`
|
||||
|
||||
General introduction `1539019982682325132` and all six skill-guidance messages are pinned. Hermes read/post/pin operations succeeded in all channels. Harbor request message: `1539020766203617390`.
|
||||
|
||||
## Synchronization jobs
|
||||
|
||||
All six are enabled, hourly, staggered, exact-targeted, limited to the six Maze channels, and attach the mapped adopted skill:
|
||||
|
||||
- General: `f5465bc1b05d`, `0 * * * *`, skill `corp-v1-channel-general--mazeng`, target `1539019955738116096`
|
||||
- Scope: `ab278de9e046`, `10 * * * *`, skill `corp-v1-channel-scope--mazeng`, target `1539019959135633580`
|
||||
- Architecture: `9c9e0206f05b`, `15 * * * *`, skill `corp-v1-channel-architecture--mazeng`, target `1539019963568758835`
|
||||
- Kanban: `e8de02062193`, `20 * * * *`, skill `corp-v1-channel-kanban--mazeng`, target `1539019969323466883`
|
||||
- Delivery: `11f63507301a`, `30 * * * *`, skill `corp-v1-channel-delivery--mazeng`, target `1539019973043683358`
|
||||
- Releases: `f04ab31a499e`, `45 * * * *`, skill `corp-v1-channel-releases--mazeng`, target `1539019976977948694`
|
||||
|
||||
## Adopted project skills
|
||||
|
||||
- [`development-branching-strategy--mazeng`](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent/development-branching-strategy--mazeng) — source `test` `636aba2b9e0957705fc874f07b310a4be9916f1c`; adopted `test` `c952824066f3e1440bdc1144097cef44b1f4b084`
|
||||
- [`development-gitops-argo-cd--mazeng`](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent/development-gitops-argo-cd--mazeng) — source `test` `510b2bb590118362804d6036cbbf37db72dc21d0`; adopted `test` `2faf48eeaef2e9f62dcc8903736d54cc4b7851e5`
|
||||
- [`development-monorepo-pnpm--mazeng`](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent/development-monorepo-pnpm--mazeng) — source `test` `ff69bcca2fb3b673297230710a74c70410fd1996`; adopted `test` `e55e354d33603c0d62a67a58352c0ed863884ceb`
|
||||
- [`development-scripts--mazeng`](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent/development-scripts--mazeng) — source `test` `5960d5e74713e6b95a403962f479b2b97cb76286`; adopted `test` `04df15a8739ba9ccbbbe21a0015322644aee2b91`
|
||||
- [`devsecops-ci-cd-gitea--mazeng`](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent/devsecops-ci-cd-gitea--mazeng) — source `test` `8f46c3faa5ba074b8a48971b87365e0d3e2a4c40`; adopted `test` `9b663f59eaff284248b9abc009a520dbf4b10919`
|
||||
- [`documentation-docusaurus--mazeng`](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent/documentation-docusaurus--mazeng) — source `test` `f810f8c92005e5d55b08700b67fd34a37be435bc`; adopted `test` `63ac1e8c8a81516cb14b27615cce6970828e8f48`
|
||||
- [`template-engine-copier--mazeng`](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent/template-engine-copier--mazeng) — source `test` `97991021fff9e1f73202a82d29eea496ea0eb7aa`; adopted `test` `41ef4de05c27067b995167014c030744243cfa14`
|
||||
- [`corp-v1-channel-general--mazeng`](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent/corp-v1-channel-general--mazeng) — source `test` `6d15b02f081f8adc534230a04d11d1ad3a74d40f`; adopted `test` `a60a30c63eeb7afb6cdf6d083d9a200e46a17590`
|
||||
- [`corp-v1-channel-scope--mazeng`](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent/corp-v1-channel-scope--mazeng) — source `test` `b9f9148c7c0558f8125e6d0125520708cf56d05f`; adopted `test` `35fbe7936e90486883fa3f839c883a0c887a71d4`
|
||||
- [`corp-v1-channel-architecture--mazeng`](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent/corp-v1-channel-architecture--mazeng) — source `test` `f29cf0e56b81ea16c7e760ad31690619a6196ce5`; adopted `test` `df20e7627cf0c7f8e3f7b6b293667199661d92ca`
|
||||
- [`corp-v1-channel-kanban--mazeng`](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent/corp-v1-channel-kanban--mazeng) — source `test` `91ef9af76b7f00f6addc9a0f48d162bb0e7d511b`; adopted `test` `cecf06d9f5a6a886a183d8f36867cf8de933f218`
|
||||
- [`corp-v1-channel-delivery--mazeng`](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent/corp-v1-channel-delivery--mazeng) — source `test` `b201a502ce67f2e8e1fb72d81ab54970648d90f6`; adopted `test` `0b022af9b776fe799afd8e01901dd5ea6a90e1f8`
|
||||
- [`corp-v1-channel-releases--mazeng`](https://gitea.lego-cloud.eu/corp-v1-mazeng-skills-code-agent/corp-v1-channel-releases--mazeng) — source `test` `50c933b0553acc83799b38aa8d1077313c7b7f79`; adopted `test` `47433ff46f9f4b2bf9c0e5086e74e4ee7cb9b632`
|
||||
|
||||
Global diagram source: [`drawio-main`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/drawio-main); no Maze copy exists. All thirteen adopted repositories have default branch `test`, preserved source provenance, project-scoped peer links, verified team access, and no Actions workflow configured.
|
||||
|
||||
## Access and Harbor
|
||||
|
||||
Team identifier `maze-next-gen-team` exists in both private organizations, includes all repositories, grants per-unit write access, and contains verified members `root-at-skic` and `jarvis-at-skic`. Thirty effective repository permission checks passed across fifteen repositories.
|
||||
|
||||
Verified variables on `corp-v1-mazeng`:
|
||||
|
||||
- `HL_V1_HARBOR_ADDRESS=harbor-v1.apps.lego-cloud.eu`
|
||||
- `HL_V1_HARBOR_ROBOT_GITEA_ACTIONS_V1_USERNAME=robot$gondor-v1+gitea-actions-v1`
|
||||
|
||||
`HL_V1_HARBOR_ROBOT_GITEA_ACTIONS_V1_SECRET` presence: **missing**. Its value was never requested or accessed. Harbor-dependent image publication remains paused until a member adds it directly in Gitea.
|
||||
|
||||
## Verification
|
||||
|
||||
- Application exact-head Actions task `1144`: success for `2336eb378ba44a7fb2c29197ed1e77296d587476`.
|
||||
- Documentation exact-head Actions task `1145`: success for `984ad3aabc516bc6850d6877f204700a98c0c223`.
|
||||
- Documentation Pages evidence: authorized pages/pages:80 service-proxy readback found the Maze Next Gen homepage marker and Kanban Focus empty-state marker; the public route reached the expected Keycloak boundary.
|
||||
- Application and documentation local validation/build: passed.
|
||||
- Discord exact count/placement/messages/pins: passed.
|
||||
- Gitea organization/team/repository/default-branch/access/raw-readback audit: passed.
|
||||
@@ -9,5 +9,6 @@ sidebar_position: 1
|
||||
| Team | Status | Lead | Members | Active projects |
|
||||
|---|---|---|---:|---:|
|
||||
| [AeroSim Team](/teams/aerosim/) | Active | RootAtSkic | 5 | 1 |
|
||||
| [Maze Next Gen Team](/teams/mazeng/) | Active | RootAtSkic | 2 | 1 |
|
||||
|
||||
A team record defines its mandate, lead, members, responsibilities, communication channels, and assigned projects.
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Maze Next Gen Team
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Maze Next Gen Team
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Status | Active |
|
||||
| Lead | RootAtSkic |
|
||||
| Technical member | `jarvis-at-skic` / Hermes code agent |
|
||||
| Assigned project | [Maze Next Gen](/projects/mazeng/) |
|
||||
|
||||
## Mandate
|
||||
|
||||
Deliver the Maze Next Gen multi-cloud inventory and visualization platform, documentation, and project-scoped engineering practices.
|
||||
|
||||
## Gitea access
|
||||
|
||||
`maze-next-gen-team` exists independently in `corp-v1-mazeng` and `corp-v1-mazeng-skills-code-agent`, includes all repositories, and contains `root-at-skic` and `jarvis-at-skic`. Effective write access is verified for both members across two project and thirteen skill repositories.
|
||||
|
||||
## Communication
|
||||
|
||||
Six exact Maze channels, purpose messages, pinned guidance, and six isolated staggered hourly synchronization jobs are verified.
|
||||
|
||||
## Remaining gate
|
||||
|
||||
Harbor-dependent publication waits only for organization secret name `HL_V1_HARBOR_ROBOT_GITEA_ACTIONS_V1_SECRET`; members must enter its value directly in Gitea and never send it to Hermes.
|
||||
@@ -34,6 +34,8 @@ const config: Config = {
|
||||
} satisfies Preset.Options,
|
||||
]],
|
||||
plugins: [
|
||||
['drawio', {lib: '/corp-v1/portal/drawio/viewer.min.js'}],
|
||||
['@docusaurus/plugin-content-docs', {...docsCommon, id: 'architecture-high-level', path: 'docs/architecture-high-level', routeBasePath: 'architecture-high-level', sidebarPath: './sidebars/architecture-high-level.ts'}],
|
||||
['@docusaurus/plugin-content-docs', {...docsCommon, id: 'projects', path: 'docs/projects', routeBasePath: 'projects', sidebarPath: './sidebars/projects.ts'}],
|
||||
['@docusaurus/plugin-content-docs', {...docsCommon, id: 'teams', path: 'docs/teams', routeBasePath: 'teams', sidebarPath: './sidebars/teams.ts'}],
|
||||
['@docusaurus/plugin-content-docs', {...docsCommon, id: 'members', path: 'docs/members', routeBasePath: 'members', sidebarPath: './sidebars/members.ts'}],
|
||||
@@ -47,7 +49,7 @@ const config: Config = {
|
||||
indexDocs: true,
|
||||
indexBlog: false,
|
||||
indexPages: true,
|
||||
docsRouteBasePath: ['/', 'projects', 'teams', 'members', 'board', 'governance'],
|
||||
docsRouteBasePath: ['/', 'architecture-high-level', 'projects', 'teams', 'members', 'board', 'governance'],
|
||||
language: ['en'],
|
||||
highlightSearchTermsOnTargetPage: true,
|
||||
explicitSearchResultPath: true,
|
||||
@@ -60,6 +62,7 @@ const config: Config = {
|
||||
navbar: {
|
||||
title: 'CORP V1 / BOARD',
|
||||
items: [
|
||||
{type: 'docSidebar', sidebarId: 'architectureHighLevelSidebar', docsPluginId: 'architecture-high-level', label: 'Architecture High Level', position: 'left'},
|
||||
{type: 'docSidebar', sidebarId: 'projectsSidebar', docsPluginId: 'projects', label: 'Projects', position: 'left'},
|
||||
{type: 'docSidebar', sidebarId: 'teamsSidebar', docsPluginId: 'teams', label: 'Teams', position: 'left'},
|
||||
{type: 'docSidebar', sidebarId: 'membersSidebar', docsPluginId: 'members', label: 'Members', position: 'left'},
|
||||
@@ -71,6 +74,7 @@ const config: Config = {
|
||||
footer: {
|
||||
style: 'light',
|
||||
links: [{title: 'Registry', items: [
|
||||
{label: 'Architecture High Level', to: '/architecture-high-level/context/'},
|
||||
{label: 'Projects', to: '/projects/'},
|
||||
{label: 'Teams', to: '/teams/'},
|
||||
{label: 'Members', to: '/members/'},
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"@easyops-cn/docusaurus-search-local": "^0.55.3",
|
||||
"@mdx-js/react": "^3.0.0",
|
||||
"clsx": "^2.0.0",
|
||||
"docusaurus-plugin-drawio": "^0.4.0",
|
||||
"prism-react-renderer": "^2.3.0",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0"
|
||||
@@ -31,6 +32,7 @@
|
||||
"@docusaurus/tsconfig": "3.10.2",
|
||||
"@docusaurus/types": "3.10.2",
|
||||
"@types/react": "^19.0.0",
|
||||
"raw-loader": "^4.0.2",
|
||||
"typescript": "~6.0.2"
|
||||
},
|
||||
"browserslist": {
|
||||
|
||||
Generated
+103
-3
@@ -26,6 +26,9 @@ importers:
|
||||
clsx:
|
||||
specifier: ^2.0.0
|
||||
version: 2.1.1
|
||||
docusaurus-plugin-drawio:
|
||||
specifier: ^0.4.0
|
||||
version: 0.4.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.26))
|
||||
prism-react-renderer:
|
||||
specifier: ^2.3.0
|
||||
version: 2.4.1(react@19.2.8)
|
||||
@@ -48,6 +51,9 @@ importers:
|
||||
'@types/react':
|
||||
specifier: ^19.0.0
|
||||
version: 19.2.18
|
||||
raw-loader:
|
||||
specifier: ^4.0.2
|
||||
version: 4.0.2(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.26))
|
||||
typescript:
|
||||
specifier: ~6.0.2
|
||||
version: 6.0.3
|
||||
@@ -1497,24 +1503,28 @@ packages:
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@node-rs/jieba-linux-arm64-musl@1.10.4':
|
||||
resolution: {integrity: sha512-Y/tiJ1+HeS5nnmLbZOE+66LbsPOHZ/PUckAYVeLlQfpygLEpLYdlh0aPpS5uiaWMjAXYZYdFkpZHhxDmSLpwpw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@node-rs/jieba-linux-x64-gnu@1.10.4':
|
||||
resolution: {integrity: sha512-WZO8ykRJpWGE9MHuZpy1lu3nJluPoeB+fIJJn5CWZ9YTVhNDWoCF4i/7nxz1ntulINYGQ8VVuCU9LD86Mek97g==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@node-rs/jieba-linux-x64-musl@1.10.4':
|
||||
resolution: {integrity: sha512-uBBD4S1rGKcgCyAk6VCKatEVQb6EDD5I40v/DxODi5CuZVCANi9m5oee/MQbAoaX7RydA2f0OSCE9/tcwXEwUg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@node-rs/jieba-wasm32-wasi@1.10.4':
|
||||
resolution: {integrity: sha512-Y2umiKHjuIJy0uulNDz9SDYHdfq5Hmy7jY5nORO99B4pySKkcrMjpeVrmWXJLIsEKLJwcCXHxz8tjwU5/uhz0A==}
|
||||
@@ -1621,21 +1631,25 @@ packages:
|
||||
resolution: {integrity: sha512-C8owWG+yvo7X0oVLIXetkoJhIFBP1LYNcAQqtgLmJnQLQDklGuP83dKC+zISGQWpjawHfZ1ER96vLgoTrxKZdw==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rspack/binding-linux-arm64-musl@1.7.12':
|
||||
resolution: {integrity: sha512-i51WWI64aRpsfSki6rN0aepPqXkVfS+vZM7+4bWDcmnhUmdMvhIPcYg0QRk3DtyJnu33jqNLM0WHY78k00NyfA==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@rspack/binding-linux-x64-gnu@1.7.12':
|
||||
resolution: {integrity: sha512-MSos0FuPEefqo9V92ULd5hggKG29EkSNg1zDcypy0OkpsKh5pfjVxTLYFXgTcVyFoUQQbdG8zFBzYbwmJ8V4ew==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rspack/binding-linux-x64-musl@1.7.12':
|
||||
resolution: {integrity: sha512-JcAMVKXOnjfpC3coWjCFPWD3Yl8RBw6a+IXQQ8mfRlHaHMIiOv8IfZqx15XRxMUn49CtP7Z0Na8iiAg2aKrcfw==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@rspack/binding-wasm32-wasi@1.7.12':
|
||||
resolution: {integrity: sha512-n+ZqP6ZMc0nhOgvadg5VhEs9ojtbES80AcWeFnmGkbzIszvGSO63GKNiRkXtjJ9KFuRzytbbmsCqkUVH+Tywxg==}
|
||||
@@ -1801,36 +1815,42 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@swc/core-linux-arm64-musl@1.15.47':
|
||||
resolution: {integrity: sha512-3Yu3Uq/VgytqsPjTMbkPU1ExADytbdWbruJYhA584E9jrpE2Ki+R6VVPoZCeAVk1Cb7QxcRTgblw6bSa6a/R+w==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@swc/core-linux-ppc64-gnu@1.15.47':
|
||||
resolution: {integrity: sha512-wfdMi5IaOaNtmh2/6geRoxIdNfqylUZFdtzTKS655y1axWfIWyx7As74vv0wVdjeCIZ3WmCI9odDd4rUttXOSQ==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@swc/core-linux-s390x-gnu@1.15.47':
|
||||
resolution: {integrity: sha512-3hHYBY0yx8Ez7GMRrkhXHQzMdR5IZA6Wq5Ee4svlgwvSECLpnAJ9+0AimEGUFDvuLwE7nV/2+PYe8+Nm4rvNcQ==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@swc/core-linux-x64-gnu@1.15.47':
|
||||
resolution: {integrity: sha512-TjfhjgP/jGCfFHYC3JQPhJA1HwErbIJ9JfREDc1KNkvY6P0LodCgKVIlQ5deeTbkG7ih3bF5PHJLuLpaZjdRyQ==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@swc/core-linux-x64-musl@1.15.47':
|
||||
resolution: {integrity: sha512-CQpS8Ge/avfjZd0UEwG/sds83Uu32deQXcV1Jo3jD0mmvQQqtYAjpsDZXugmheeAwmt+YIuoVtVHro8LMYHqsQ==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@swc/core-win32-arm64-msvc@1.15.47':
|
||||
resolution: {integrity: sha512-0W8IKHsUTYiT7G2RqtOoVWk+89yzZikIiDUb/sCK6BmQDBhN91hQSfyUtW12jhEWLzYgcfmisfsZrmZE+84U1A==}
|
||||
@@ -1885,36 +1905,42 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@swc/html-linux-arm64-musl@1.15.47':
|
||||
resolution: {integrity: sha512-NyXRQiVBkeutgCwCxUUaFqZdDmpZONs7Zz3AZGoY35s9GwXF412Nt22fK/e7lO/sM6G/+S3rOom/0xTmUQSK6A==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@swc/html-linux-ppc64-gnu@1.15.47':
|
||||
resolution: {integrity: sha512-rQ+XLJHFzu0e4M5p1+8kF2FKzI7WO9KPPji87OuicHZVrDCEqg7/jSGu3hys9CjIQIYVfR+tAFuZz3Q1/jOoNA==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@swc/html-linux-s390x-gnu@1.15.47':
|
||||
resolution: {integrity: sha512-w6bitHrllrE3lqmf14cT3spmWhZHGts1O08O4adzxztSPto7O5GM3IerqZm/NtsqlxNsfbVHnhaNXxXWe/8Q+Q==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@swc/html-linux-x64-gnu@1.15.47':
|
||||
resolution: {integrity: sha512-FTA7E29gcyadd71prg8sJUVacYrIhAXS8L7p48yCfgcNOKquofN1TDOrHVOyYMoxplL3FUwwbN+AZxWO7QfWPQ==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@swc/html-linux-x64-musl@1.15.47':
|
||||
resolution: {integrity: sha512-g+K1GKUrj+S9o8Qsgii2g7ooMzZ750R4IAqH5CVElIA5FTMAx7KGnu9ga6aEnRwwLYxY3s1k/nN+ls0NEk240g==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@swc/html-win32-arm64-msvc@1.15.47':
|
||||
resolution: {integrity: sha512-5Iw3i00JdTySi+ccc2CM5bxY+8TZivQmcTqUC6mUdAY0/KYBgSe1/L294UJQ4OTLQqNDOYXY9jdb070zZUX7jg==}
|
||||
@@ -2821,6 +2847,9 @@ packages:
|
||||
resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
docusaurus-plugin-drawio@0.4.0:
|
||||
resolution: {integrity: sha512-7y3cgtwdQ3evWY/phq/iGJectDlRzpRrKzbcBeT79o+w+OStU0noTcTOmVd/oTiylu2OJXhQWF9z+4CoxTgAtA==}
|
||||
|
||||
dom-converter@0.2.0:
|
||||
resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
|
||||
|
||||
@@ -3653,24 +3682,28 @@ packages:
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
lightningcss-linux-arm64-musl@1.33.0:
|
||||
resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
lightningcss-linux-x64-gnu@1.33.0:
|
||||
resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
lightningcss-linux-x64-musl@1.33.0:
|
||||
resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
lightningcss-win32-arm64-msvc@1.33.0:
|
||||
resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==}
|
||||
@@ -4750,6 +4783,12 @@ packages:
|
||||
resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
raw-loader@4.0.2:
|
||||
resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==}
|
||||
engines: {node: '>= 10.13.0'}
|
||||
peerDependencies:
|
||||
webpack: ^4.0.0 || ^5.0.0
|
||||
|
||||
rc@1.2.8:
|
||||
resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
|
||||
hasBin: true
|
||||
@@ -7008,9 +7047,9 @@ snapshots:
|
||||
browserslist: 4.28.8
|
||||
lightningcss: 1.33.0
|
||||
semver: 7.8.5
|
||||
swc-loader: 0.2.7(@swc/core@1.15.47)(webpack@5.109.2(@swc/core@1.15.47)(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.26))
|
||||
swc-loader: 0.2.7(@swc/core@1.15.47)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.26))
|
||||
tslib: 2.8.1
|
||||
webpack: 5.109.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(html-minifier-terser@7.2.0)(postcss@8.5.26)
|
||||
webpack: 5.109.2(@swc/core@1.15.47)(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.26)
|
||||
transitivePeerDependencies:
|
||||
- '@minify-html/node'
|
||||
- '@swc/css'
|
||||
@@ -9532,6 +9571,12 @@ snapshots:
|
||||
dependencies:
|
||||
'@leichtgewicht/ip-codec': 2.0.5
|
||||
|
||||
docusaurus-plugin-drawio@0.4.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.26)):
|
||||
dependencies:
|
||||
raw-loader: 4.0.2(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.26))
|
||||
transitivePeerDependencies:
|
||||
- webpack
|
||||
|
||||
dom-converter@0.2.0:
|
||||
dependencies:
|
||||
utila: 0.4.0
|
||||
@@ -11075,6 +11120,19 @@ snapshots:
|
||||
|
||||
minimist@1.2.8: {}
|
||||
|
||||
minimizer-webpack-plugin@5.6.1(@swc/core@1.15.47)(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.26)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.26)):
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.31
|
||||
jest-worker: 27.5.1
|
||||
schema-utils: 4.3.3
|
||||
terser: 5.50.0
|
||||
webpack: 5.109.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(html-minifier-terser@7.2.0)(postcss@8.5.26)
|
||||
optionalDependencies:
|
||||
'@swc/core': 1.15.47
|
||||
'@swc/html': 1.15.47
|
||||
lightningcss: 1.33.0
|
||||
postcss: 8.5.26
|
||||
|
||||
minimizer-webpack-plugin@5.6.1(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(html-minifier-terser@7.2.0)(postcss@8.5.26)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.26)):
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.31
|
||||
@@ -11821,6 +11879,12 @@ snapshots:
|
||||
iconv-lite: 0.4.24
|
||||
unpipe: 1.0.0
|
||||
|
||||
raw-loader@4.0.2(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.26)):
|
||||
dependencies:
|
||||
loader-utils: 2.0.4
|
||||
schema-utils: 3.3.0
|
||||
webpack: 5.109.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(html-minifier-terser@7.2.0)(postcss@8.5.26)
|
||||
|
||||
rc@1.2.8:
|
||||
dependencies:
|
||||
deep-extend: 0.6.0
|
||||
@@ -12406,7 +12470,7 @@ snapshots:
|
||||
picocolors: 1.1.1
|
||||
sax: 1.6.1
|
||||
|
||||
swc-loader@0.2.7(@swc/core@1.15.47)(webpack@5.109.2(@swc/core@1.15.47)(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.26)):
|
||||
swc-loader@0.2.7(@swc/core@1.15.47)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.26)):
|
||||
dependencies:
|
||||
'@swc/core': 1.15.47
|
||||
'@swc/counter': 0.1.3
|
||||
@@ -12704,6 +12768,42 @@ snapshots:
|
||||
|
||||
webpack-sources@3.5.1: {}
|
||||
|
||||
webpack@5.109.2(@swc/core@1.15.47)(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.26):
|
||||
dependencies:
|
||||
'@types/estree': 1.0.9
|
||||
'@types/json-schema': 7.0.15
|
||||
'@webassemblyjs/ast': 1.14.1
|
||||
'@webassemblyjs/wasm-edit': 1.14.1
|
||||
'@webassemblyjs/wasm-parser': 1.14.1
|
||||
acorn: 8.18.0
|
||||
browserslist: 4.28.8
|
||||
chrome-trace-event: 1.0.4
|
||||
enhanced-resolve: 5.24.5
|
||||
es-module-lexer: 2.3.1
|
||||
eslint-scope: 5.1.1
|
||||
events: 3.3.0
|
||||
graceful-fs: 4.2.11
|
||||
mime-db: 1.54.0
|
||||
minimizer-webpack-plugin: 5.6.1(@swc/core@1.15.47)(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.26)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.26))
|
||||
neo-async: 2.6.2
|
||||
schema-utils: 4.3.3
|
||||
tapable: 2.3.3
|
||||
watchpack: 2.5.2
|
||||
webpack-sources: 3.5.1
|
||||
transitivePeerDependencies:
|
||||
- '@minify-html/node'
|
||||
- '@swc/core'
|
||||
- '@swc/css'
|
||||
- '@swc/html'
|
||||
- clean-css
|
||||
- cssnano
|
||||
- csso
|
||||
- esbuild
|
||||
- html-minifier-terser
|
||||
- lightningcss
|
||||
- postcss
|
||||
- uglify-js
|
||||
|
||||
webpack@5.109.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(html-minifier-terser@7.2.0)(postcss@8.5.26):
|
||||
dependencies:
|
||||
'@types/estree': 1.0.9
|
||||
|
||||
@@ -20,10 +20,15 @@ for (const section of ['projects', 'teams', 'members', 'board', 'governance']) {
|
||||
assert.match(config, new RegExp(`sidebarId:\\s*'${section}Sidebar'`), `${section} navbar item does not target its dedicated sidebar`);
|
||||
assert.ok(existsSync(join(root, `sidebars/${section}.ts`)), `${section} sidebar file is missing`);
|
||||
}
|
||||
assert.match(config, /id:\s*'architecture-high-level'/, 'Architecture High Level docs plugin is missing');
|
||||
assert.match(config, /sidebarId:\s*'architectureHighLevelSidebar'/, 'Architecture High Level navbar item does not target its dedicated sidebar');
|
||||
assert.match(config, /label:\s*'Architecture High Level'/, 'Architecture High Level navbar label is missing');
|
||||
assert.ok(existsSync(join(root, 'sidebars/architecture-high-level.ts')), 'Architecture High Level sidebar file is missing');
|
||||
|
||||
assert.match(config, /baseUrl:\s*'\/corp-v1\/portal\/'/, 'Pages base URL must follow the renamed repository');
|
||||
assert.match(config, /projectName:\s*'portal'/, 'Docusaurus project name must be portal');
|
||||
assert.doesNotMatch(config, /sterring-commitee/, 'legacy repository name must not remain in Docusaurus config');
|
||||
assert.doesNotMatch(config, /Pilot Model|docs\/pilot|routeBasePath:\s*'pilot'/, 'legacy Pilot Model navigation must not remain');
|
||||
|
||||
const board = read('docs/board/index.md');
|
||||
for (const memberId of ['1518725627845283888', '476287310627864587', '773109855497093191', '364383883778850827']) {
|
||||
@@ -45,16 +50,57 @@ for (const section of ['projects', 'teams', 'members']) {
|
||||
|
||||
assert.ok(packageJson.dependencies?.['@easyops-cn/docusaurus-search-local'], 'local search dependency is missing');
|
||||
assert.match(config, /@easyops-cn\/docusaurus-search-local/, 'local search theme is not configured');
|
||||
assert.ok(packageJson.dependencies?.['docusaurus-plugin-drawio'], 'Draw.io plugin dependency is missing');
|
||||
assert.ok(packageJson.devDependencies?.['raw-loader'], 'Draw.io raw-loader dependency is missing');
|
||||
assert.match(config, /\['drawio',\s*\{lib:\s*'\/corp-v1\/portal\/drawio\/viewer\.min\.js'\}\]/, 'Draw.io plugin must use the self-hosted viewer');
|
||||
assert.ok(existsSync(join(root, 'static/drawio/viewer.min.js')), 'self-hosted Draw.io viewer is missing');
|
||||
const drawioLicense = read('static/drawio/LICENSE');
|
||||
assert.match(drawioLicense, /MIT License/, 'vendored Draw.io viewer license is missing');
|
||||
assert.match(drawioLicense, /Copyright \(c\) 2022 xiguaxigua/, 'vendored Draw.io viewer copyright notice is missing');
|
||||
assert.match(config, /indexPages:\s*true/, 'custom pages must be indexed');
|
||||
for (const route of ['/', 'projects', 'teams', 'members', 'board', 'governance']) {
|
||||
assert.ok(config.includes(`'${route}'`), `search does not include route base ${route}`);
|
||||
const searchRoutesMatch = config.match(/docsRouteBasePath:\s*\[([^\]]+)\]/);
|
||||
assert.ok(searchRoutesMatch, 'search route configuration is missing');
|
||||
const searchRoutes = searchRoutesMatch[1];
|
||||
for (const route of ['/', 'architecture-high-level', 'projects', 'teams', 'members', 'board', 'governance']) {
|
||||
assert.ok(searchRoutes.includes(`'${route}'`), `search does not include route base ${route}`);
|
||||
}
|
||||
|
||||
const architectureSidebar = read('sidebars/architecture-high-level.ts');
|
||||
const architectureItems = ['Context', 'Overview', 'Overview Channels', 'Overview Repositories'];
|
||||
let architectureCursor = -1;
|
||||
for (const label of architectureItems) {
|
||||
const next = architectureSidebar.indexOf(`label: '${label}'`, architectureCursor + 1);
|
||||
assert.ok(next > architectureCursor, `Architecture High Level sidebar is missing or out of order: ${label}`);
|
||||
architectureCursor = next;
|
||||
}
|
||||
const architecturePages = {
|
||||
context: read('docs/architecture-high-level/context.mdx'),
|
||||
overview: read('docs/architecture-high-level/overview.mdx'),
|
||||
channels: read('docs/architecture-high-level/overview-channels.mdx'),
|
||||
repositories: read('docs/architecture-high-level/overview-repositories.mdx'),
|
||||
};
|
||||
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']) {
|
||||
assert.ok(Object.values(architecturePages).some((page) => page.includes(term)), `architecture explanation is missing: ${term}`);
|
||||
}
|
||||
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'],
|
||||
})) {
|
||||
const diagram = read(`docs/architecture-high-level/diagrams/${name}`);
|
||||
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}`);
|
||||
}
|
||||
|
||||
if (existsSync(join(root, 'build'))) {
|
||||
const filename = readdirSync(join(root, 'build')).find((name) => /^search-index(?:-[a-f0-9]+)?\.json$/.test(name));
|
||||
assert.ok(filename, 'production search index is missing');
|
||||
const search = readFileSync(join(root, 'build', filename), 'utf8').toLowerCase();
|
||||
for (const term of ['projects registry', 'teams registry', 'members registry', 'board members', 'project lifecycle', 'corp v1 board']) {
|
||||
for (const term of ['projects registry', 'teams registry', 'members registry', 'board members', 'project lifecycle', 'corp v1 board', 'overview channels', 'overview repositories']) {
|
||||
assert.ok(search.includes(term), `search index is missing: ${term}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
|
||||
|
||||
const sidebars: SidebarsConfig = {
|
||||
architectureHighLevelSidebar: [
|
||||
{type: 'doc', id: 'context', label: 'Context'},
|
||||
{type: 'doc', id: 'overview', label: 'Overview'},
|
||||
{type: 'doc', id: 'overview-channels', label: 'Overview Channels'},
|
||||
{type: 'doc', id: 'overview-repositories', label: 'Overview Repositories'},
|
||||
],
|
||||
};
|
||||
|
||||
export default sidebars;
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 xiguaxigua
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Vendored
+4168
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user