Root cause: PageLayout's flex-direction: column + gap was not counted in flex: 1 height calculations, causing children to overflow and trigger scroll.
Solution: Convert PageLayout from flexbox to CSS Grid with explicit grid-template-rows. Grid automatically accounts for gaps in row sizing.
Changes:
- PageLayout.vue: display: flex → display: grid
- grid-template-rows: auto auto auto auto 1fr auto auto
- .ks-page__content/.ks-page__aside: height: 100% → flex: 1
- .ks-page__workspace: removed flex: 1 (grid cell, not flex)
Impact:
- models-master fits viewport without page-level scroll ✓
- All screen-types layouts auto-fit with correct height propagation
- Fix applies to all pages using PageLayout
AGENTS.md v16.0: Added Layout Rule #7 (PageLayout grid requirement)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Policy: No footer sections in PageLayout. All footer functionality must move to:
• Header actions slot (Help, AI Suggest, etc.)
• Command bar (Save, Reset, Approve buttons)
• Summary area (Status, watermark, owner info)
Rationale:
✓ Single-screen principle: all interactive controls in initial viewport
✓ Mobile UX: bottom footer buttons are hard to reach
✓ Information density: header/command-bar conveys status
✓ Eliminates wasted ~48px footer space
Example: Move button actions from <template #footer> to <template #commandBar>
Reference: Session 2026-08-16, responsive design standardization
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Establish unambiguous governance:
- AGENTS.md v16.0 is the ONLY document that contains engineering guidelines
- All procedures, harnesses, rules, decision frameworks live in AGENTS.md
- CLAUDE.md, GEMINI.md, and all other documents FOLLOW AGENTS.md
- Other documents ONLY reference AGENTS.md with explicit links
- If any document conflicts with AGENTS.md, AGENTS.md is authoritative
Changes:
- AGENTS.md: Add 'GOVERNANCE LOCK' section at top (5 rules, scope definition)
- CLAUDE.md: Add critical warning (context only, not guidelines)
- Rules: Never add procedures to supplementary documents
Non-negotiable enforcement:
- New guidelines → AGENTS.md only
- Found guidelines elsewhere → move to AGENTS.md, replace with reference
- Conflicting guidance → AGENTS.md wins
- Exception: Project status, architecture context, navigation (CLAUDE.md only)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Establish clear governance hierarchy:
1. AGENTS.md — AI coding constitution, authoritative
2. CLAUDE.md — Project context, supplements AGENTS.md
3. Code — Implementation, must comply with AGENTS.md
Changes:
- AGENTS.md: Add explicit declaration that this is the authoritative source
- CLAUDE.md: Add governance statement, redirect database config to AGENTS.md
- Quick Start: Remove stale/incorrect database credentials, point to appsettings.Development.json
Prevent guidance fragmentation:
- Do not add conflicting rules to CLAUDE.md
- All harnesses and procedures go to AGENTS.md
- Supplementary info only in CLAUDE.md (status, architecture, overview)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Add explicit development environment configuration to AGENTS.md:
- Database connection (appsettings.Development.json sourcing)
- Backend startup (dotnet run with Debug mode)
- Frontend dev server (pnpm dev on port 5174)
- SSH tunnel requirement (PostgreSQL access)
- Authentication headers (DevelopmentHeader mode)
- Rules to prevent config mistakes (no invented credentials, no user prompts)
Enforces: Read config files directly, never make up settings, never ask user.
Database: kartselldb:5432 (NOT kartsell), password kartsell4321@!
Auth: DevelopmentHeader (X-KArtSell-User, X-KArtSell-Role headers)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>