Files
znetsixe 6fdeb1b5e2 Add vertical branch handles and seed architecture documents from diagrams
Branch handles: Added all 6 directions (→ ← ↑ ↓ ↘ ↗) so an entire
metro map can grow from a single starting node. Cardinal directions
(0/90/180/270°) extend the same line, diagonals (45/315°) fork to
new tracks.

Documents seeded from 6 architecture diagrams:
- EVOLV Digital Twin Hierarchy (ISA-88 tracks) → Gemaal 3.0
- Pumping Station dependency chain → Gemaal 3.0
- PLC/EDGE VLAN network architecture → BRIDGE
- R&D Stack topology (Cloud/EDGE/OT) → BRIDGE
- CoreSync network setup → BRIDGE
- R&D Timeline gitflow tracks → Governance

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 12:01:30 +02:00
..

Seeder Data

Drop example documents here. The seeder reads these files and loads them into PostgreSQL, which then triggers embedding generation via the AI service.

Option 1: Drop raw Office/PDF files

Put .docx, .pptx, .xlsx, .pdf files in the raw/ folder, then run the converter:

cd ai-service
pip install python-docx python-pptx openpyxl pymupdf chardet
python convert.py                       # convert all files in raw/
python convert.py --out kennis_artikelen # output to a specific subfolder
python convert.py path/to/file.docx     # convert a single file

This extracts text, preserves structure (headings, tables, slides), and writes markdown files with frontmatter into the documents/ folder (or whichever --out you specify).

Option 2: Write markdown directly

Each file is Markdown with YAML frontmatter. The seeder parses the frontmatter for metadata and the body as content.

Folder Structure

data/
  raw/                 ← DROP OFFICE/PDF FILES HERE (auto-converted)
  themas/              ← Strategic themes
  projects/            ← Project descriptions (linked to a thema)
  documents/           ← Meeting notes, specs, analyses (linked to a project)
  kennis_artikelen/    ← Knowledge articles (standalone)
  besluiten/           ← Decisions with rationale (linked to a project)
  lessons_learned/     ← Lessons learned (linked to a project + fase)

File Templates

themas/waterkwaliteit.md

---
naam: Waterkwaliteit & Monitoring
beschrijving: Innovaties rondom waterkwaliteitsbewaking en meetnetwerken
prioriteit: hoog
---

projects/sensor-netwerk.md

---
naam: Sensor Netwerk Pilot
thema: Waterkwaliteit & Monitoring
eigenaar: Jan de Vries
status: experiment
prioriteit: hoog
startdatum: 2025-09-01
streef_einddatum: 2026-06-30
---

Beschrijving van het project hier. Kan meerdere alinea's zijn.
Dit wordt het `beschrijving` veld.

documents/notulen-stuurgroep-2026-03.md

---
titel: Notulen Stuurgroep 15 maart 2026
project: Sensor Netwerk Pilot
type: vergaderverslag
auteur: Pieter Jansen
versie: 1
---

De volledige documentinhoud hier. Kan lang zijn — wordt automatisch
gechunkt als het meer dan 1500 tekens is.

kennis_artikelen/iot-waterbeheer.md

---
titel: IoT-sensoren in het waterbeheer
auteur: Lisa de Groot
tags: [IoT, sensoren, waterbeheer, telemetrie]
---

Artikelinhoud hier. Alles na de frontmatter wordt `inhoud`.

besluiten/go-pilot-sensor.md

---
titel: Go voor pilotfase Sensor Netwerk
project: Sensor Netwerk Pilot
type: go_no_go
status: goedgekeurd
datum: 2026-02-20
---

Beschrijving van het besluit.

## Onderbouwing

De onderbouwing / rationale hier.

lessons_learned/sensor-kalibratie.md

---
titel: Kalibratiefrequentie pH-sensoren onderschat
project: Sensor Netwerk Pilot
fase: experiment
tags: [sensoren, kalibratie, pH]
---

Wat we geleerd hebben. Body wordt `inhoud`.

Naming Convention

Use lowercase slugs: korte-beschrijving.md. The filename is not stored — all metadata comes from frontmatter.

Tips

  • Write in Dutch (the embedding model and full-text search are configured for Dutch)
  • Real content is better than lorem ipsum — the search quality depends on it
  • Longer documents are fine — they get chunked automatically
  • Link projects to themas and documents to projects via the thema: and project: fields (matched by naam)