docs: split organization pages and simplify diagram controls
Build and publish Eldorado documentation / build (pull_request) Successful in 33s

This commit is contained in:
jarvis-at-skic committed 2026-10-04 10:22:49 +00:00
1 parent db427f99da
commit d760c14dab
10 files changed
+87 -37

No files matched your search

+23 -1
View File
@@ -20,6 +20,7 @@ test('real build removes stale diagrams, keeps receipts private and rejects coll
writeSpec('old');
let result = build(); assert.equal(result.status,0,result.stderr);
assert(existsSync(join(root,'static/diagrams/old/index.html')));
assert(!existsSync(join(root,'static/diagrams/old.json')));
assert(!readdirSync(join(root,'static/diagrams'),{recursive:true}).some(p=>p.endsWith('.delivery.json')));
unlinkSync(join(root,'diagrams/old.architecture.json'));
writeSpec('new');
@@ -42,7 +43,7 @@ test('three independent section menus and Structure first', () => {
for (const section of ['Organization', 'Strategy', 'Contribution']) assert(config.includes(`label: '${section}'`));
assert(!config.includes("label: 'Documentation'"));
assert(!config.includes("label: 'Maintainer guide'"));
assert(read('sidebars/organization.ts').includes("organizationSidebar: ['structure']"));
assert(read('sidebars/organization.ts').includes("organizationSidebar: ['structure', 'collaboration', 'sdlc']"));
for (const section of ['organization','strategy','contribution']) assert(config.includes(`id: '${section}'`));
});
test('Archify is pinned, licensed and rebuilt, not a remote embed', () => {
@@ -58,6 +59,11 @@ test('Archify is pinned, licensed and rebuilt, not a remote embed', () => {
assert(wrapper.includes('showModal()') && wrapper.includes('onClose='));
assert(!wrapper.includes('target="_blank"'));
assert(wrapper.includes('Close full-screen diagram'));
assert(!wrapper.includes('JSON source') && !wrapper.includes('download>'));
assert(!wrapper.includes('Open full viewer'));
assert(wrapper.includes('aria-label={`Expand ${title}`}'));
assert(wrapper.includes('aria-hidden="true"'));
assert(read('src/css/custom.css').includes('justify-content: flex-end'));
});
test('Product owns two teams and Technology owns five separate teams', () => {
const spec = JSON.parse(read('diagrams/organization-structure.architecture.json'));
@@ -103,6 +109,22 @@ test('departments share one row and each has delivery teams below it', () => {
assert(!(a.pos[0] < b.pos[0] + b.size[0] && a.pos[0] + a.size[0] > b.pos[0] && a.pos[1] < b.pos[1] + b.size[1] && a.pos[1] + a.size[1] > b.pos[1]), `${a.id} overlaps ${b.id}`);
}
});
test('organization content is split into linked focused pages', () => {
const structure = read('docs/organization/structure.mdx');
const collaboration = read('docs/organization/collaboration.mdx');
const sdlc = read('docs/organization/sdlc.mdx');
assert(!structure.includes('## How the departments work together'));
assert(!structure.includes('## Leadership and delivery structure'));
assert(!structure.includes('name="organization-reporting"'));
assert(collaboration.includes('## How the departments work together'));
for (const outcome of ['Better buyer experience', 'Stronger seller experience', 'Safe and trustworthy trading', 'Sustainable growth', 'AI-powered execution']) assert(collaboration.includes(outcome));
assert(sdlc.includes('title: SDLC — Software Delivery Life Cycle'));
assert(sdlc.includes('name="organization-reporting"'));
for (const role of ['Head of Engineering', 'AI Architect', 'Operational Quality', 'Brand Team Lead']) assert(sdlc.includes(role));
for (const [name, page] of [['structure',structure],['collaboration',collaboration],['sdlc',sdlc]]) {
for (const other of ['structure','collaboration','sdlc'].filter(n => n !== name)) assert(page.includes(`./${other}.mdx`));
}
});
test('organization page presents an operating model, not research notes', () => {
const page = read('docs/organization/structure.mdx');
assert(page.includes('operating model') && page.includes('## Departments and teams'));