Copilot-drawer native in AppNav (styling-contract-toets, nul overrides) #80

Merged
janpeter merged 3 commits from claude/copilot-drawer into main 2026-06-12 19:35:51 +02:00
Owner

Samenvatting

  • Submodule-bump vendor/scrum4me-copilot → main e305df6: de kit met het verplichte styling-contract (token-laag) + S4MCopilotDrawer.
  • @source-regel in app/globals.css zodat de host-build de kit-utilities genereert — theme.css is ongewijzigd (Ops levert alle 16 contract-tokens al; dát was de contract-toets).
  • <S4MCopilotDrawer basePath="/api/s4m" /> in AppNav naast InstanceSwitcher/ThemeToggle, zonder theme-prop: nul slot-overrides. Guardtest (test/copilot-drawer-mount.test.ts) borgt mount, afwezigheid van overrides, route en @source.
  • Testfix: navbar-build-info-assertie bijgewerkt naar de --webpack-scripts (stale sinds PR #79).

Route, env-vars, tsconfig-alias, zod en de webpack-resolutie bestonden al (PR #79). Scrum4Me: sprint S-2026-06-12-1 / PBI-6 / ST-016. Spec: scrum4me-copilot docs/superpowers/specs/2026-06-12-host-styling-contract-design.md §8.

Testplan

  • npm run typecheck — 0 errors
  • npm run test — 77/77 (incl. nieuwe guardtest)
  • npm run build (next build --webpack) — slaagt; kit-imports resolven
  • Visuele check op de production-build: drawer native in light én dark, tab-wissel, foutstaten — nul overrides (acceptatiecriteria 3+7 van de copilot-spec gehaald)
  • Na deploy: S4M_COPILOT_APP_KEY zetten + chat-rondje tegen de draaiende copilot-service

NB (los issue, niet in deze PR): npm run dev hydrateert niet — de CSP (proxy.ts:14, geen unsafe-eval) blokkeert Next's react-refresh-runtime. Pre-existing; productie heeft er geen last van.

🤖 Generated with Claude Code

## Samenvatting - **Submodule-bump** `vendor/scrum4me-copilot` → main `e305df6`: de kit met het verplichte styling-contract (token-laag) + `S4MCopilotDrawer`. - **`@source`-regel** in `app/globals.css` zodat de host-build de kit-utilities genereert — **`theme.css` is ongewijzigd** (Ops levert alle 16 contract-tokens al; dát was de contract-toets). - **`<S4MCopilotDrawer basePath="/api/s4m" />`** in AppNav naast InstanceSwitcher/ThemeToggle, **zonder theme-prop**: nul slot-overrides. Guardtest (`test/copilot-drawer-mount.test.ts`) borgt mount, afwezigheid van overrides, route en `@source`. - **Testfix**: `navbar-build-info`-assertie bijgewerkt naar de `--webpack`-scripts (stale sinds PR #79). Route, env-vars, tsconfig-alias, zod en de webpack-resolutie bestonden al (PR #79). Scrum4Me: sprint S-2026-06-12-1 / PBI-6 / ST-016. Spec: scrum4me-copilot `docs/superpowers/specs/2026-06-12-host-styling-contract-design.md` §8. ## Testplan - [x] `npm run typecheck` — 0 errors - [x] `npm run test` — 77/77 (incl. nieuwe guardtest) - [x] `npm run build` (`next build --webpack`) — slaagt; kit-imports resolven - [x] Visuele check op de production-build: drawer native in light én dark, tab-wissel, foutstaten — **nul overrides** (acceptatiecriteria 3+7 van de copilot-spec gehaald) - [ ] Na deploy: `S4M_COPILOT_APP_KEY` zetten + chat-rondje tegen de draaiende copilot-service > NB (los issue, niet in deze PR): `npm run dev` hydrateert niet — de CSP (`proxy.ts:14`, geen `unsafe-eval`) blokkeert Next's react-refresh-runtime. Pre-existing; productie heeft er geen last van. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Drawer naast InstanceSwitcher/ThemeToggle zonder theme-prop; de kit erft
de Ops-look volledig via het token-contract. Guardtest borgt mount,
afwezigheid van overrides, route en @source-regel. theme.css ongewijzigd
(acceptatiecriterium 3 van de copilot-spec).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/Ops-dashboard!80
No description provided.