From 382a9cc670daa7d842f5aa661d77018d57a292ea Mon Sep 17 00:00:00 2001 From: jarvis-at-skic Date: Tue, 25 Aug 2026 20:11:54 +0000 Subject: [PATCH] docs: add real Corp v1 architecture and skill context --- docs/architecture-high-level/context.mdx | 35 ++++--- .../diagrams/architecture-overview.drawio | 35 +++++++ .../diagrams/context.drawio | 94 ++++--------------- ...overview.drawio => operating-model.drawio} | 4 +- .../diagrams/skills.drawio | 22 +++++ .../operating-model.mdx | 36 +++++++ .../overview-skills.mdx | 74 +++++++++++++++ docs/architecture-high-level/overview.mdx | 52 ++++++---- scripts/verify-portal.mjs | 22 ++++- sidebars/architecture-high-level.ts | 2 + 10 files changed, 265 insertions(+), 111 deletions(-) create mode 100644 docs/architecture-high-level/diagrams/architecture-overview.drawio rename docs/architecture-high-level/diagrams/{overview.drawio => operating-model.drawio} (94%) create mode 100644 docs/architecture-high-level/diagrams/skills.drawio create mode 100644 docs/architecture-high-level/operating-model.mdx create mode 100644 docs/architecture-high-level/overview-skills.mdx diff --git a/docs/architecture-high-level/context.mdx b/docs/architecture-high-level/context.mdx index 19d07ef..b2a92f0 100644 --- a/docs/architecture-high-level/context.mdx +++ b/docs/architecture-high-level/context.mdx @@ -1,7 +1,7 @@ --- id: context title: "Context" -description: "See the governance channel, project sessions, repositories, and delivery platforms around the Corp v1 operating model." +description: "Identify the Corp v1 target system, the people who use or govern it, and the external collaboration, design, source, and delivery systems around it." --- import Drawio from '@theme/Drawio'; @@ -9,19 +9,32 @@ 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, user experience, implementation, and release outcomes. +The target system on this page is the **Corp v1 Hermes delivery system**: one Hermes Agent operating through focused project sessions, specialised skills, tool integrations, and a durable evidence loop. It helps people govern and deliver projects; it does not replace human authority or become the application being built. - + -## System boundary +## Human actors -The operating model joins four evidence-bearing environments: +| Actor | Relationship to the target system | +|---|---| +| **Corp v1 Board members** | Govern the portfolio. They approve project kickoff and closure, membership, the global operating model, and central `corp-v1-channel-*` reference changes. | +| **Project leads and contributors** | Use focused project channels to define value, approve solution work and Task admission, review architecture and UI/UX, implement changes, and accept releases. | +| **Prospective project sponsors and contributors** | May request or join a future Corp v1 project after Board approval, identity resolution, and explicit onboarding. They have no authority merely because they are interested. | +| **Solution users and reviewers** | Supply needs, feedback, usability evidence, and acceptance observations for a project solution. Their product input does not automatically grant Board or project decision rights. | -- **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. +Hermes is an executing system participant, not a human approver. An agent message, CI result, silence, or inferred intent never substitutes for an approval reserved to a listed human actor. -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. +## External systems around the target -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. +| System | How Corp v1 uses it | +|---|---| +| **Discord** | Carries Board governance and project channel sessions, human decisions, coordination, and handoff messages. | +| **Penpot** | Holds editable UI/UX design sources and review evidence before implementation. | +| **Gitea and Gitea Actions** | Preserve source, documentation, skills, decisions, pull requests, CI, and GitOps desired state. | +| **LEGO Cloud delivery platform** | Provides Pages, Harbor, Argo CD, the three-node Gondor v1 MicroK8s cluster, ingress, authentication, and deployed readback. | + +## Target-system boundary + +Inside the target system are Hermes Agent behavior, focused sessions, skill selection, tool execution, and evidence verification. Human decision rights remain outside that boundary. Discord, Penpot, Gitea, and the delivery platform are connected external systems with their own authority and state. + +A project's product or service is also outside this boundary. Corp v1 can govern its lifecycle and operate its delivery path, but each project must maintain its own product context, requirements, architecture, UI/UX, security, data, and release decisions. diff --git a/docs/architecture-high-level/diagrams/architecture-overview.drawio b/docs/architecture-high-level/diagrams/architecture-overview.drawio new file mode 100644 index 0000000..408f74a --- /dev/null +++ b/docs/architecture-high-level/diagrams/architecture-overview.drawio @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/architecture-high-level/diagrams/context.drawio b/docs/architecture-high-level/diagrams/context.drawio index 0107204..8af8205 100644 --- a/docs/architecture-high-level/diagrams/context.drawio +++ b/docs/architecture-high-level/diagrams/context.drawio @@ -1,78 +1,24 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/docs/architecture-high-level/diagrams/overview.drawio b/docs/architecture-high-level/diagrams/operating-model.drawio similarity index 94% rename from docs/architecture-high-level/diagrams/overview.drawio rename to docs/architecture-high-level/diagrams/operating-model.drawio index cdd0681..c675c26 100644 --- a/docs/architecture-high-level/diagrams/overview.drawio +++ b/docs/architecture-high-level/diagrams/operating-model.drawio @@ -1,10 +1,10 @@ - + - + diff --git a/docs/architecture-high-level/diagrams/skills.drawio b/docs/architecture-high-level/diagrams/skills.drawio new file mode 100644 index 0000000..269ebe2 --- /dev/null +++ b/docs/architecture-high-level/diagrams/skills.drawio @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/architecture-high-level/operating-model.mdx b/docs/architecture-high-level/operating-model.mdx new file mode 100644 index 0000000..75a19d9 --- /dev/null +++ b/docs/architecture-high-level/operating-model.mdx @@ -0,0 +1,36 @@ +--- +id: operating-model +title: "Operating Model" +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'; +import operatingModelDiagram from '!!raw-loader!./diagrams/operating-model.drawio'; + +# Operating Model + +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. + + + +## How the setup fits together + +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. + +## Why sessions and skills are separated + +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. + +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. diff --git a/docs/architecture-high-level/overview-skills.mdx b/docs/architecture-high-level/overview-skills.mdx new file mode 100644 index 0000000..9134eca --- /dev/null +++ b/docs/architecture-high-level/overview-skills.mdx @@ -0,0 +1,74 @@ +--- +id: overview-skills +title: "Overview Skills" +description: "Understand Corp v1 governance and channel skills, project-adopted copies, mandatory engineering skills, and useful shared Hermes skills." +--- + +import Drawio from '@theme/Drawio'; +import skillsDiagram from '!!raw-loader!./diagrams/skills.drawio'; + +# Overview Skills + +Skills are the operating instructions loaded by Hermes for a task. They are **versioned guidance**, not autonomous workers and not substitutes for human approval. Corp v1 combines a central governance layer, channel-specific references, deliberate project adoptions, and useful generic execution skills. + + + +## Central `corp-v1-*` skills + +The central sources live in [`home-v1-skills-code-agent`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent): + +| Skill | Purpose | +|---|---| +| [`corp-v1--main`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/corp-v1--main) | Board authority, project lifecycle, resource model, membership, adoption, publication, and verification rules. | +| [`corp-v1--glossary`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/corp-v1--glossary) | Shared terminology and rules for keeping canonical definitions in project documentation. | +| [`corp-v1-channel-general`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/corp-v1-channel-general) | Onboarding, coordination, questions, and outcome broadcasts. | +| [`corp-v1-channel-scope`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/corp-v1-channel-scope) | Ideas, Epics, Features, value, acceptance outcomes, and human solution approval. | +| [`corp-v1-channel-architecture`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/corp-v1-channel-architecture) | Requirements, ADRs, interfaces, constraints, system design, and implementation Tasks. | +| [`corp-v1-channel-ui-ux`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/corp-v1-channel-ui-ux) | Journeys, information architecture, Penpot, accessibility, prototypes, and implementation handoff. | +| [`corp-v1-channel-kanban`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/corp-v1-channel-kanban) | Board/Focus visibility, dependencies, flow, blockers, and explicit Task admission. | +| [`corp-v1-channel-delivery`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/corp-v1-channel-delivery) | Planning, implementation, reviews, exact-head CI, blockers, and delivery evidence. | +| [`corp-v1-channel-releases`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/corp-v1-channel-releases) | Readiness, versioning, deployment, rollback, acceptance, and post-release outcomes. | + +## Project-adopted skills + +Every project owns fourteen adopted repositories in `corp-v1--skills-code-agent`: + +- seven channel skills named `corp-v1-channel---`; +- seven engineering skills named `--`. + +A project adoption records the central source branch and commit, then adds the project code, repository links, environment namespace, approved authority, and operating lessons. Central updates are compared and adopted semantically; they never silently overwrite project-specific decisions or authorization overrides. + +At runtime, a focused channel session loads its mapped project channel skill plus only the engineering or global skills needed for the current work. + +## Mandatory engineering skills + +These generic sources become project-owned copies during kickoff: + +| Source skill | Used for | +|---|---| +| [`development-branching-strategy`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-branching-strategy) | Branches, pull requests, integration, and release branching. | +| [`development-gitops-argo-cd`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-gitops-argo-cd) | GitOps repositories, environments, Argo CD applications, and reconciliation evidence. | +| [`development-monorepo-pnpm`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-monorepo-pnpm) | pnpm/TypeScript monorepo structure, applications, packages, and workspace validation. | +| [`development-scripts`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-scripts) | Taskfiles, `.scripts`, environment handling, logging, and Devbox. | +| [`devsecops-ci-cd-gitea`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/devsecops-ci-cd-gitea) | Gitea Actions, validation, Harbor publication, and delivery gates. | +| [`documentation-docusaurus`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/documentation-docusaurus) | Docusaurus structure, content quality, diagrams, build, and Pages publication. | +| [`template-engine-copier`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/template-engine-copier) | Copier/Jinja templates and reusable project scaffolding. | + +## Useful shared generic skills + +These are loaded globally when relevant; they are not additional mandatory project repositories: + +| Skill | Useful when | +|---|---| +| [`drawio-main`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/drawio-main) | Creating and validating editable architecture diagrams with layout and connector quality gates. | +| [`home-v1-discord`](https://gitea.lego-cloud.eu/home-v1-skills-code-agent/home-v1-discord) | Discovering and operating Discord channels, permissions, messages, pins, and effective access. | +| `gitea-repository-operations` | Discovering, creating, changing, and independently reading back Gitea organizations, teams, repositories, PRs, and refs. | +| `systematic-debugging` | Investigating a defect from evidence and root cause before applying a fix. | +| `test-driven-development` | Building behavior through RED, GREEN, and refactoring. | +| `requesting-code-review` | Applying pre-commit security and quality gates and resolving findings. | +| `dogfood` | Performing evidence-backed exploratory QA of deployed web applications. | +| `gondor-v1-nodes` | Inspecting Argo CD, MicroK8s workloads, images, routes, and runtime evidence on Gondor v1. | + +## Selection rule + +The channel skill defines **why the work belongs here and which approvals and artifacts are required**. Engineering and generic skills define **how to execute the work safely**. If instructions conflict, explicit Corp v1 governance and preserved project authority win. No skill grants a human approval that has not actually been given. diff --git a/docs/architecture-high-level/overview.mdx b/docs/architecture-high-level/overview.mdx index e4f8fbc..eed3c05 100644 --- a/docs/architecture-high-level/overview.mdx +++ b/docs/architecture-high-level/overview.mdx @@ -1,36 +1,50 @@ --- id: overview title: "Overview" -description: "Follow the single-agent, multi-session Corp v1 pilot from Board governance through design, delivery, release, and verified evidence." +description: "See the real Corp v1 service architecture: people and Discord, Hermes Agent, Gitea, CI, Pages, Harbor, Argo CD, and Gondor MicroK8s." --- import Drawio from '@theme/Drawio'; -import overviewDiagram from '!!raw-loader!./diagrams/overview.drawio'; +import architectureDiagram from '!!raw-loader!./diagrams/architecture-overview.drawio'; # Overview -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. +This is the **deployed service architecture around Corp v1 today**. It is different from the [Operating Model](/architecture-high-level/operating-model/): the operating model explains how work moves; this page shows which services perform and preserve that work. - + -## How the setup fits together +## Services in the current setup -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. +| Service | Current role in Corp v1 | +|---|---| +| **Discord** | Human interaction surface: one `corp-v1-board` governance channel and seven focused sessions per project. | +| **Hermes Agent** | The executing AI agent. It loads channel and engineering skills, uses connected tools, changes repositories, observes CI and runtime state, and reports evidence. It is not placed inside the Kubernetes cluster in this model. | +| **Penpot** | Current UI/UX design workspace for journeys, information architecture, prototypes, accessibility review, and implementation handoff. | +| **Gitea** | Durable source and collaboration system for the Board portal, project documentation, application source, adopted skills, branches, pull requests, decisions, and GitOps repositories. | +| **Gitea Actions** | Self-hosted validation and publication. Exact-head runs are part of delivery evidence. | +| **LEGO Cloud Pages** | Publishes the Board and project Docusaurus portals through the `pages` workload. The current `0500-pages` Argo CD application is `Synced / Healthy`. | +| **Harbor** | Stores immutable application images. The current `0200-harbor` Argo CD application is `Synced / Healthy`. | +| **Argo CD** | Reconciles GitOps desired state into Gondor v1. The current AeroSim application is `Synced / Healthy`; a project is not shown as deployed merely because a repository exists. | +| **Gondor v1 MicroK8s** | Three-node Kubernetes runtime: Osgiliath plus two Minas Tirith workers. It currently hosts Pages and approved application workloads. | +| **Access edge** | Cloudflare and Osgiliath Nginx route public traffic. Pages uses `pages-oauth2-proxy`, with Keycloak providing the observed sign-in boundary. | -## Why sessions and skills are separated +## Documentation delivery path -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. +1. Hermes or a human contributor changes an editable source in Gitea. +2. Gitea Actions validates the exact commit and builds Docusaurus. +3. The Pages publication workload serves the built route. +4. Protected readers pass through the access boundary. +5. Hermes verifies distinctive content through the authorized Pages service path before claiming completion. -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. +## Application delivery path -## Automation boundary +1. Project source and GitOps desired state are reviewed in Gitea. +2. Gitea Actions validates the exact commit and publishes an immutable image to Harbor when credentials and policy gates are satisfied. +3. Argo CD reconciles approved desired state into the target MicroK8s namespace. +4. Runtime pod readiness, image identity, service route, and user-visible behavior are read back. -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. +Penpot evidence enters this flow through reviewed links and project documentation; it does not replace versioned requirements, ADRs, code, or release evidence. + +## Boundaries of truth + +Discord and agent sessions coordinate work, but they are not the only durable record. Approved decisions, current architecture, source, adopted skills, and delivery evidence are persisted in Gitea-backed documentation. CI success proves validation; deployed readback proves publication or runtime behavior. The two are required together when delivery is claimed. diff --git a/scripts/verify-portal.mjs b/scripts/verify-portal.mjs index 19cd08d..6297189 100644 --- a/scripts/verify-portal.mjs +++ b/scripts/verify-portal.mjs @@ -79,7 +79,9 @@ const sidebars: SidebarsConfig = { architectureHighLevelSidebar: [ {type: 'doc', id: 'context', label: 'Context'}, {type: 'doc', id: 'overview', label: 'Overview'}, + {type: 'doc', id: 'operating-model', label: 'Operating Model'}, {type: 'doc', id: 'overview-channels', label: 'Overview Channels'}, + {type: 'doc', id: 'overview-skills', label: 'Overview Skills'}, {type: 'doc', id: 'overview-repositories', label: 'Overview Repositories'}, ], }; @@ -88,27 +90,37 @@ export default sidebars;`; assert.equal( architectureSidebar.trim(), expectedArchitectureSidebar, - 'Architecture High Level sidebar must contain exactly the four requested documents in order', + 'Architecture High Level sidebar must contain exactly the six requested documents in order', ); const architecturePages = { context: read('docs/architecture-high-level/context.mdx'), overview: read('docs/architecture-high-level/overview.mdx'), + operatingModel: read('docs/architecture-high-level/operating-model.mdx'), channels: read('docs/architecture-high-level/overview-channels.mdx'), + skills: read('docs/architecture-high-level/overview-skills.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 ['seven channel skills', 'seven engineering skills', 'Gitea Actions', 'scheduler jobs', 'corp-v1-board', 'UI/UX', 'one AI agent']) { +for (const term of ['seven channel skills', 'seven engineering skills', 'Gitea Actions', 'scheduler jobs', 'corp-v1-board', 'UI/UX', 'one AI agent', 'Hermes Agent', 'MicroK8s', 'Penpot', 'Argo CD', 'Harbor']) { assert.ok(Object.values(architecturePages).some((page) => page.includes(term)), `architecture explanation is missing: ${term}`); } +for (const term of ['Corp v1 Board members', 'Project leads and contributors', 'Prospective project sponsors and contributors', 'Solution users and reviewers']) { + assert.ok(architecturePages.context.includes(term), `system context is missing actor: ${term}`); +} +for (const term of ['corp-v1--main', 'corp-v1-channel-ui-ux', 'development-gitops-argo-cd', 'drawio-main', 'systematic-debugging', 'gondor-v1-nodes']) { + assert.ok(architecturePages.skills.includes(term), `skills overview 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', 'CORP-V1-BOARD', 'BOARD APPROVAL', 'UI/UX', 'KANBAN / FOCUS', 'VERIFY & RECORD'], + 'context.drawio': ['CORP V1 — SYSTEM CONTEXT', 'HUMAN ACTORS', 'TARGET SYSTEM', 'CONNECTED EXTERNAL SYSTEMS'], + 'architecture-overview.drawio': ['CORP V1 — SERVICE ARCHITECTURE', 'HERMES AGENT', 'GITEA ACTIONS', 'HARBOR', 'ARGO CD', 'GONDOR MICROK8S'], + 'operating-model.drawio': ['CORP V1 — OPERATING MODEL 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'], + 'skills.drawio': ['CORP V1 — SKILLS MODEL', 'CENTRAL SOURCES', 'DELIBERATE ADOPTION', 'PROJECT COPIES', 'FOCUSED SESSION'], '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}`); @@ -123,7 +135,7 @@ 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', 'overview channels', 'overview repositories']) { + for (const term of ['projects registry', 'teams registry', 'members registry', 'board members', 'project lifecycle', 'corp v1 board', 'operating model', 'overview channels', 'overview skills', 'overview repositories']) { assert.ok(search.includes(term), `search index is missing: ${term}`); } } diff --git a/sidebars/architecture-high-level.ts b/sidebars/architecture-high-level.ts index dbc45ee..12ecf06 100644 --- a/sidebars/architecture-high-level.ts +++ b/sidebars/architecture-high-level.ts @@ -4,7 +4,9 @@ const sidebars: SidebarsConfig = { architectureHighLevelSidebar: [ {type: 'doc', id: 'context', label: 'Context'}, {type: 'doc', id: 'overview', label: 'Overview'}, + {type: 'doc', id: 'operating-model', label: 'Operating Model'}, {type: 'doc', id: 'overview-channels', label: 'Overview Channels'}, + {type: 'doc', id: 'overview-skills', label: 'Overview Skills'}, {type: 'doc', id: 'overview-repositories', label: 'Overview Repositories'}, ], }; -- 2.54.0