docs: add real Corp v1 architecture and skill context
Build and publish Corp v1 Board portal / build (pull_request) Successful in 36s
Build and publish Corp v1 Board portal / build (pull_request) Successful in 36s
This commit is contained in:
@@ -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}`);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user