# Innovatieplatform — R&D Lab Waterschap Brabantse Delta ## Project Innovation governance platform supporting the full lifecycle of innovation trajectories — from signal to handover — with built-in AI support. **Wiki (source of truth):** https://gitea.wbd-rd.nl/vps1_gitea_admin/innovatieplatform/wiki/ **Repo:** https://gitea.wbd-rd.nl/vps1_gitea_admin/innovatieplatform ## Tech Stack - **Backend:** Laravel (latest LTS) — service-oriented, event-driven, API-first - **Frontend:** Vue 3 + Composition API + Vite + Inertia.js - **Database:** PostgreSQL 16+ with pgvector extension - **AI Service:** Python (FastAPI + LangGraph + RAG pipeline) - **Queue:** Redis + Laravel Horizon - **Infrastructure:** Docker Compose (nginx, php-fpm, queue worker, scheduler, ai-service, postgresql, redis) ## Architecture Principles - Service-oriented: domain logic in service classes, not controllers - Event-driven: status transitions via events → listeners - API-first: all functionality available via API - Audit trail: all mutations logged (append-only) - AI content labeled: never auto-published without human confirmation ## Build Agents All agent definitions are in `.claude/agents/`: 1. **orchestrator** — coordination, planning, task distribution 2. **domain-architect** — domain model, functional design, acceptance criteria 3. **solution-architect** — technical architecture, integration, technology 4. **backend-engineer** — Laravel development, APIs, services, tests 5. **frontend-engineer** — Vue 3 components, Inertia pages, UX 6. **data-modeler** — database schema, migrations, pgvector, seeds 7. **ai-engineer** — Python AI service, RAG, LangGraph, prompts 8. **devops-engineer** — Docker, deployment, infrastructure 9. **security-specialist** — RBAC, audit, compliance, review 10. **doc-designer** — documentation structure, handover, knowledge design ## MVP Scope (8 weeks) - Project CRUD with innovation lifecycle phases - Commitments & actions with owner/deadline - Basic documentation (upload, link, search) - Simple roadmap visualization - RBAC (admin, project_owner, team_member, viewer) - Basic AI chat + project summaries + semantic search - Dashboard with personal overview ## Wiki (Knowledge Base) The project wiki lives in `wiki/` and follows the wiki-template schema. It is the canonical knowledge base for agents. **Quick access:** - `python wiki/tools/query.py health` — project health overview - `python wiki/tools/query.py entity "project"` — everything about an entity - `python wiki/tools/query.py test "phpunit"` — test results - `python wiki/tools/query.py status "proven"` — all pages with status - `bash wiki/tools/search.sh "keyword"` — full-text search - `bash wiki/tools/lint.sh` — check wiki health (orphans, missing frontmatter) **Source of truth hierarchy:** test results > code > knowledge-graph.yaml > wiki pages > chat **After making significant changes:** update relevant wiki pages, `knowledge-graph.yaml`, and `wiki/log.md`. ## Metro Map Data Rules The metro map is the primary navigation and knowledge structure. These rules govern how content maps to the visual metro metaphor. ### Thema = Metro Line (Dim 1) Each thema is a horizontal metro line at the strategy level. Keep themas to major organizational concerns: - **R&D Planning 2026** themes (Architectuur, Productiewaardig, Lab, Governance) - **Onderzoek** — all research work (R&D-driven and student) ### Project = Station (Dim 1) Each project is a station on its thema's line. Stations are zoomable into Dim 2. ### Student Work Rules Student projects live under the **Onderzoek** thema. Structure: 1. **Each student gets their own track (metro line) within the Onderzoek thema** — unless they build on another student's work 2. **Students who build on each other share a track** — chronological stations on the same line, earlier work first 3. **Cross-references determine track grouping**, not topic similarity. Evidence: explicit mentions of another student's work, reuse of their system/data, or continuation of their project 4. **Identified chains** (from cross-reference analysis of source documents): - **Gemalen & CRC track**: Grace van Geel (pump curves) → Kevin Haest (CRC/IOT2050, references Grace) → Robin van Weelie (D.R.A.I.N., references CRC) → Adriaan Sol (pilot 3, references D.R.A.I.N.) - **Monitoring branch** (forks from Kevin): Kevin Haest → Yamai van Rooij (CRC 78x, MCSA, references Kevin) - **Zuivering track**: Noa de Groot (beluchting) ‖ Elise Nouws (algen, parallel approach to same problem) - **EVOLV Reactor**: Pieter van der Wilt (standalone — EVOLV ASM model, no student cross-refs) - **IoT & Infra track**: Bart van Gool (IoT-hub) → Fontys ICT (Docker/CI-CD/SOC) → Fontys TOGAF (security) 5. **Dependencies to 2026 projects** are tracked as `Afhankelijkheid` records (type: technisch/data/infrastructuur) ### Kennis Artikelen Standalone knowledge articles extracted from research. Not tied to a project lifecycle. Used by the AI/search engine for semantic retrieval. ### Grid Alignment All node positions must be multiples of GRID=50. Server-side: `MapDataService::snapToGrid()`. Client-side: `gridConstants.js`. ## What Requires Human Validation - Architecture decisions - Domain model changes - UX/design choices - Scope changes - AI behavior and prompt templates - Security findings - Handover process definitions