Manual scope audit + accounts-playbook promoted + new /leger/ section + release schema extended

Four hygiene passes on the internal manual and the release feed. No chapter is removed from the Sodimo-facing site — the scope classification is a publishing-side decision, not a content edit. A new /leger/ section explains the externalization on the site itself. The extended release schema prepares for a clean two-layer render: product-release rows (signed harness image, new quadlet, new LP chapter) vs tenant-release rows (what actually landed on the Framework Desktop, when, against which harness digest).

Added
  • scope: sodimo | leger | both field on the manual schema, backfilled across all 40 English chapters. Counts: 17 scope:sodimo (engagement-specific — company, data, network, CRM, launchpad, repo registry, open decisions, computer-use-agent), 9 scope:leger (reusable patterns — black-box principle, three design principles, vault, skills library, the-repos registry, four employee-guide chapters on CF Pages / account vault / key rotation / SSH), 14 scope:both (shared patterns with a Sodimo-specific chapter — infrastructure part, hybrid architecture, Cloudflare, mail, harness, accounts playbook, OpenWebUI, quadlet reference, AI-layer part, LLM stack, MCP tools, Paperclip, annex decisions, employee-guide section)
  • src/content/manual/en/36-accounts-playbook.md — the Google → GitHub → Cloudflare → Tailscale → leger.run account spine, promoted from DRAFT-baseline-accounts-playbook.md to an ordered chapter at position 360
  • New /leger/ top-level section at src/pages/leger/index.astro with companion src/content/leger/en/overview.md. One page, explains the externalization cut in Sodimo-internal terms: scope-field counts, the three artefact families (reference templates / runbooks / checklist-policies), the flagged re-classification candidates (38-vault, 34-mail), and the pipeline status table. Nav entry added between /mcp-tools/ and the site actions
  • Release schema extended with scope: product | tenant | both, harness_digest (sha256), harness_digest_prev, image_digest_set (quarter-keyed like images-2026-Q2-a), surface, product_release_id, tenant_slug fields. A single release entry can now self-describe which layer it belongs on
Changed
  • Chapter renumbering in the 36–39 block so accounts-playbook sits at 36 and the OpenWebUI / vault / quadlet-reference chapters shift one slot: 36-openwebui.md37-openwebui.md, 37-vault.md38-vault.md, 38-quadlet-reference.md39-quadlet-reference.md. Order values updated (370, 380, 390); TOC and navigation reflect the new sequence
  • src/lib/navigation.ts — threads the new scope field through for future RENDER_TARGET-filtered renders
  • src/components/SiteHeader.astro, src/layouts/SiteLayout.astro, src/site.config.ts — Leger section registered alongside Manual / Changelog / Skills / MCP tools
  • src/i18n/en.ts + src/i18n/fr.ts — new site.navLeger and leger.* string blocks for the section header and landing copy
Other
  • Nothing is deleted from the manual. Chapters tagged scope: leger stay in the Sodimo-facing site; when a second render target is wired, the same source tree produces both views
  • French chapter frontmatter keeps its current shape — scope rolls out to FR on the next translation pass (EN-first policy). The /fr/leger/ overview and French release-feed rows are translated in this same cut
  • build:sodimo / build:leger npm scripts remain unwired. The RENDER_TARGET env var is honoured by every component that branches on scope; the sibling builds are the last mile and stay on the follow-up list