Student tracks restructured based on document cross-reference analysis: - Track 1 "Gemalen & CRC Keten": Grace→Kevin→Robin→Adriaan (chain) - Track 2 "Condition Monitoring": Kevin→Yamai (fork from Track 1) - Track 3 "Zuivering & Beluchting": Noa‖Elise (parallel, same problem) - Track 4 "EVOLV Reactor Model": Pieter (standalone, no student cross-refs) - Track 5 "IoT & ICT Infra": Bart→Fontys ICT→Fontys TOGAF (chain) Inter-student dependencies added (7 new): - Grace→Kevin, Kevin→Robin, Robin→Adriaan (Track 1 chain) - Kevin→Yamai (Track 2 fork) - Bart→Fontys ICT→Fontys TOGAF (Track 5 chain) CLAUDE.md: Added "Metro Map Data Rules" section documenting: - Thema=line, Project=station, speerpunt=track grouping - Student work rules: cross-references determine track sharing - Identified chains with evidence (reference counts from source docs) - Grid alignment requirements MetroCanvas: Truncate long station labels to prevent overlap (max ~20 chars based on grid spacing, with ellipsis) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
101 lines
5.3 KiB
Markdown
101 lines
5.3 KiB
Markdown
# 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
|