Ga naar inhoud

Werkplek — Dossier Interface Mockup

MIT v0.1.0 published

Werkplek — Dossier Interface Mockup

Interactieve mockup van Laag 1: Werk- en Samenwerkingsruimte. Informatie wordt gebracht in een dossier — een samenhangende verzameling IO’s rondom een zaak, proces of thema. De interface integreert met alle backend APIs (memory-retrieve, memory-persist, federation-gateway) en vereist Scaleway IAM authenticatie (BIO BBN3 compliant).

Info

Dit is een ontwerp-mockup — puur HTML/CSS binnen de atlas. De productie-implementatie wordt een Scaleway Serverless Container (Python/Flask, Wolfi base, privacy=private). Zie s38 voor project- en IAM-strategie.

Login Dashboard Dossier Ingestie Onderzoek Wiki Crews Minimal branding: dc monogram dc Beveiligde werkruimte Scaleway IAM Single auth form: API Key + TOTP API Key

TOTP Code

Verifieer mTLS certificate indicator 🔒 mTLS actief Account type badges (revealed after key validation) Owner · Admin · Member · Application Session info: BBN3 compliant BBN3 • 30 min idle • 8h max • mTLSFIDO2 • Rate limit 5/15min Welkom, K. BOHE Owner 28:45 🔒 Verhoogd platform-admin DC domein Disconnect Collective (DC) BOHE Laatst ingelogd: vandaag 09:14 Start Onderzoek Zoeken + Nieuw Dossier Quick search

Domain filter pills — BNP/BNI first Alle domeinen BNPBNI ✓ BSW IV AXIS PIPE DC ECO THRIVE HRB BU Dossier grid — BNP/BNI as primary Klantanalyse Rabobank Q4 BNP DUTO 86% Open 34 IO’s • 12 PDF, 6 audio (klantgesprekken), 4 spreadsheets, 12 gestructureerd Crew: bsw-analysis-crew (actief) • Laatst: 2 uur geleden Projectvoorstel Digitale Transformatie BNP DUTO 91% Open 22 IO’s • 8 PDF, 3 video (presentaties), 11 gestructureerd (YAML/Mermaid) Satelliet: BSW levert marktanalyse IO’s Persoonlijke Kennisbank BNI DUTO 78% Permanent 156 IO’s • 42 PDF (boeken/artikelen), 28 audio (podcasts), 86 notities Privé — alleen BNI domein, geen cross-domain Gezondheid & Welzijn 2026 BNI DUTO 65% Open 18 IO’s • 4 PDF (labresultaten), 8 afbeeldingen, 6 notities AVG Art. 9 — bijzondere persoonsgegevens 4 dossiers • 230 IO’s • 11 domeinen beschikbaar (RBAC) Audit: alle acties gelogd → pipe-analytics S3 ← Terug naar Dashboard Klantanalyse Rabobank Q4 BNP Eigenaar: K. BOHE • Aangemaakt: 2026-01-08 • 34 IO’s DUTO 86% Onderzoek + IO Toevoegen Exporteer IO List Informatieobjecten (34)

PDF sha256:a3f8..c91d Rabobank Jaarverslag 2025 MDTO 14/14 94% AUDIO sha256:b7e2..f4a0 Klantgesprek Account Manager (transcript + audio) MDTO 14/14 91% XML sha256:d9f3..a2c7 Financiële ratio’s Rabobank (XBRL) MDTO 14/14 96% IMG sha256:e1a4..b5d9 Organogram Rabobank Wholesale Banking (OCR + VLM) MDTO 14/14 89% PDF sha256:f2b7..e3c8 BSW Marktanalyse Banksector NL satelliet MDTO 14/14 92% + 29 meer IO’s — scroll of filter Crew Status Actieve Crew — bsw-analysis-crew Status: Marktanalyse uitvoeren (stap 3/5) IO’s geproduceerd: 8 Laatste IO: “Competitieve Analyse ING vs Rabo” — 2 min geleden BNPPIPE event-router → IV memory-persist → AXIS governance Provenance + Knowledge Graph

Provenance Trail (PROV-O) 2026-01-08 10:15 — Dossier aangemaakt door K. BOHE (DC/platform-admin) 2026-01-08 10:22 — 12 PDFs geüpload → cognificatie gestart (memory-persist SQS) 2026-01-08 10:23MDTO verrijking: 12/12 IO’s 14/14 velden ✓ 2026-01-15 14:30 — 6 audio-klantgesprekken toegevoegd → STT (Voxtral) → transcript ECO 2026-02-01 09:00 — bsw-analysis-crew gestart → 8 IO’s geproduceerd via BNPPIPEIV 2026-02-10 16:44DUTO-score gestegen: 79% → 86% (XBRL MDTO compleet)

Gerelateerde Entiteiten (KG)

Rabobank (Organization) Account Management (Concept) Financiële Analyse (Concept) Wholesale Banking (Unit) ING Group (Organization) XBRL/SBR (Standard)

    18 entiteiten • 34 relaties • Louvain community: “NL Banksector Analyse”

Ingestie Pipeline — Cognificatie Volg het volledige verwerkingsproces wanneer een IO wordt toegevoegd aan een dossier. Upload zone IO toevoegen aan dossier Sleep bestanden hierheen of klik om te uploaden PDF Audio Video Afbeelding XML/JSON Dossier: Klantanalyse Rabobank Q4 (BNP) • Max 100MB per IO Pipeline: voorbeeld PDF Pipeline: “Rabobank Jaarverslag 2025.pdf” Step 0 ✓ Stap 0: MIME Detectie 12ms application/pdf gedetecteerd → Routing naar: PDF extractie pipeline Step 1 ✓ Stap 1: Content Extractie 340ms PyPDF2 text extraction • 847 woorden • 3 pagina’s • Taal: Nederlands (NL) Step 2 ✓ Stap 2: Chunking 28ms Semantic chunking (512 tokens, 50 overlap) → 4 chunks gegenereerd Step 3 ✓ Stap 3: Embedding 1.2s qwen3-embedding-8b (768d Matryoshka) → 4 vectors → pgvector IVFFLAT index Step 4 ↻ Stap 4: NER & Relatie-extractie ~3.8s mistral-small-3.2-24b-instruct → 8 entiteiten, 12 relaties geëxtraheerd → iv_entity_nodes + iv_entity_edges Step 5 ✓ Stap 5: MDTO Verrijking 890ms 14/14 velden ingevuld — Auteur, Datum, Classificatie, Taal, Bron, Formaat, Rechten, ... Step 6 ✓ Stap 6: DUTO Validatie 45ms Score: 94% (vindbaar ✓, beschikbaar ✓, leesbaar ✓, interpreteerbaar ✓, betrouwbaar ✓, toekomstbestendig ✓) — Drempel ≥80% → PASS Step 7 ✓ Stap 7: Persist 210ms CID: sha256:f7a2..d4e1 • Content → bnp-content S3 bucket • Metadata → iv_entity_nodes.properties • Register → iv_documents (IC) Totale pipeline: 6.5s • 8 stappen • 4 chunks • 8 entiteiten • DUTO PASS Dual-write example Dual-write voorbeeld: Audio-bestand Wanneer een audio IO wordt geïngesteerd, ontstaan 2 ECO’s (Essentiële Content Objecten): ECO 1: Binary (audio/mp3) Origineel audiobestand → bni-media S3 bucket CID: sha256:a1b2..c3d4 ECO 2: Transcript (text/plain) STT (Voxtral) transcript → bni-content S3 bucket CID: sha256:e5f6..g7h8 Beide ECO’s worden gelinkt aan hetzelfde IO via iv_documents.eco_references JSONB array Onderzoek Start een research pipeline, doorzoek alle domeinen, gebruik text-to-SQL of verken de kennisgraaf. RESEARCH PIPELINE: Start Onderzoek Research Pipeline Stel een onderzoeksvraag — het systeem doorloopt automatisch alle stappen om een onderbouwd antwoord te genereren. Start Onderzoek Research query input

Scope: BNP ✓ BSW ✓ IVAXIS Diepte: Uitgebreid (crew) Snel (search only) Diep (KG + Vanna) Research pipeline steps (live progress) Pipeline voortgang: ✓ Stap 1: Query Analyse — onderzoeksvraag ontleed, 4 deelvragen geformuleerd 120ms ✓ Stap 2: Hybrid Search — 3 domeinen doorzocht (BNP, BSW, IV), 14 resultaten 0.42s ✓ Stap 3: KG Traversal — entiteiten Rabobank, ING, ABN AMRO + 28 relaties opgehaald 0.31s ✓ Stap 4: Vanna SQL — financiële ratio’s opgehaald (CET1, ROE, NIM per bank) 0.85s ↻ Stap 5: Cross-domain Synthese — mistral-large-3-675b combineert 14 bronnen + KG + SQL data... ~4.2s Stap 6: Rapport Generatie — gestructureerd onderzoeksrapport met bronverwijzingen wacht Stap 7: IO Persist — rapport opslaan als IO in dossier (cognificatie pipeline) wacht Research crew: bnp-research-crew • Bronnen: 14 IO’s + 28 KG-relaties + 3 SQL-queries • Flow: BNPPIPE (federation-gateway) → IV (memory-retrieve) → synthesize → persist Sub-tabs for manual tools Hybrid Search Text-to-SQL (Vanna) Kennisgraaf Explorer Panel 1: Hybrid Search Hybrid Search

Hybrid (BM25+Sem+Graph) BM25 Full-Text Semantic (Cosine) Graph Traversal (BFS) Community Detection Entity Similarity Temporal Range Zoeken Domeinen: BNPIV ✓ BSW AXIS PIPE Cross-domain (federation-gateway) 3 resultaten in 0.38s • Strategie: RRF(BM25=0.4, Cosine=0.4, BFS=0.2) • Reranker: MMR(λ=0.7) Competitieve Analyse ING vs Rabo BNP 0.94 ...de concurrentiepositie van Rabobank t.o.v. ING op wholesale banking segment... Dossier: Klantanalyse Rabobank Q4 • CID: sha256:f2b7..e3c8 • DUTO: 92% Rabobank Wholesale Banking Strategie (IV kennisgraaf) IV 0.87 ...het kennisgraaf-cluster “NL Banksector” verbindt Rabobank met 12 gerelateerde entiteiten via klantanalyse relaties... Cross-domain via federation-gateway • Graph: 2 hops • Community: “NL Banksector Analyse” Financiële ratio’s Rabobank (XBRL) BNP 0.82 ...gestructureerde Rabobank financiële data in XBRL-formaat. CET1 ratio: 15.8%, ROE: 9.2%... Dossier: Klantanalyse Rabobank Q4 • CID: sha256:d9f3..a2c7 • DUTO: 96% • Vanna-compatible Panel 2: Text-to-SQL (Vanna) Text-to-SQL (Vanna) — vanna-query function

Query Gegenereerde SQL (readonly, safety-validated): SELECT d.domain, COUNT(*) as io_count, ROUND(AVG(d.duto_score)::numeric, 1) as avg_duto

FROM iv_documents d

WHERE d.duto_score > 0.80

GROUP BY d.domain

ORDER BY io_count DESC; ✓ SQL Safety Validator: geen mutations, geen joins >3, geen subqueries op grote tabellen

Domein IO’s Gem. DUTO
BNP BNP 42 89.2%
BNI BNI 98 84.1%
BSW BSW 31 91.7%
AXIS AXIS 18 93.4%
IV IV 12 88.0%

Powered by: iv_vanna • Schema: iv_documents, iv_document_chunks • Training: 156 query/SQL paren Panel 3: KG Explorer Kennisgraaf Explorer

Gerelateerd (BFS) Community (Louvain) Pad zoeken Verken Entity visualization Central entity ING Group ← concurrent_van → Rabobank ← heeft_afdeling → Wholesale Banking | Account Mgmt ← onderdeel_van → Financiële Analyse ← rapporteert_via → XBRL/SBR Path query Pad: “Wat verbindt Rabobank met MinFin?” Rabobank → rapporteert_aan → DNB → toezicht_door → MinFin 2 hops • Relatiesterkte: 0.89 • Louvain community: “NL Financiële Sector” iv_entity_nodes: 18 entiteiten • iv_entity_edges: 34 relaties • 3 communities gedetecteerd Wiki — bohe.wiki Federatief kennisplatform. Elke domeinwiki is direct toegankelijk via {domain}.bohe.wiki . Niet publiek — IAM-authenticatie vereist. Wiki hub overview Domein Wiki’s bni.bohe.wiki Persoonlijke kennisbank • Privé 42 pagina’s • 3 categorieën • Laatste edit: vandaag bnp.bohe.wiki Professionele kennisbank • Business 128 pagina’s • 12 categorieën • Laatste edit: gisteren dc.bohe.wiki Organisatie kennisbank • DC 89 pagina’s • 8 categorieën • Laatste edit: 2d geleden iv.bohe.wiki Platform documentatie • Core 215 pagina’s • 19 categorieën • Laatste edit: vandaag Recent wiki activity Recente Activiteit EDIT IV Deployment Runbook — v2.1.0 update iv.bohe.wiki • 12 min geleden NEW Marktanalyse Framework Q1 2026 bnp.bohe.wiki • 2 uur geleden EDIT Persoonlijk Leeslijst 2026 bni.bohe.wiki • gisteren Crews & XOps Actieve crews/task forces, IO-productie via federation, en DevSecOps/GitOps pipelines. Section 1: Active Crews Actieve Crews

Crew Domein Taak Status IO’s Federation
bsw-analysis-crew BNP (via BSW) Marktanalyse banksector Stap 3/5 8 BNPPIPEIV
axis-audit-crew AXIS Governance audit Q1 Stap 2/4 3 AXISPIPEIV
iv-enrichment-crew IV KG verrijking batch Stap 1/1 142 IV (lokaal)

Section 2: Federation Flow Federation Flow — bsw-analysis-crew BNP (bsw-analysis-crew) IO geproduceerd ↓ PIPE (event-router → SQS) federation routing ↓ IV (memory-persist → kg-update) cognificatie + persist ↓ AXIS (GovernancePolicy.check_write_access) governance check ↓ Audit (AuditLogger → pipe-analytics S3) immutable log Section 3: XOps / GitOps Pipeline XOps — DevSecOps / GitOps Pipeline Architectuur-IO’s (code, configs, IaC) stromen door de DevSecOps pipeline: IO Creatie (Crew of Gebruiker) ↓ Codeberg Git Push (tea CLI → feature branch → PR) ↓ Woodpecker CI (lint → test → security scan → build) ↓ Container Build (Podman + Wolfi → rg.fr-par.scw.cloud/{domain}-containers/) ↓ OpenTofu Plan & Apply (tofu plan → review → tofu apply) ↓ Scaleway Deploy (function update / container deploy / job update) XOps Status Badges XOps Practices (9) ✓ DevSecOps

Woodpecker CI + security scan ✓ GitOps

Codeberg + feature branches + tea CLI ✓ DataOps

cognificatie pipeline + DUTO quality gate ✓ LLMOps

6 modellen: small/large/devstral/voxtral/pixtral + qwen3-emb ↻ MLOps

evaluatie pipeline (coming) ✓ FinOps

€200 AI cap + T1/T2/T3 routing + auto-fallback ✓ SecOps

BIO BBN3 + GovernancePolicy + audit ✓ ObsOps

Cockpit (Grafana + OTel + Loki) ↻ QOps

Quandela QPU experimenten (beta) FinOps Cost Monitor FinOps — AI Model Budget (feb 2026) €127 / €200 (63%) Budget bars per tier T1 mistral-small-3.2-24b €28 / €40

T2 devstral-2-123b €14 / €25

T2 voxtral-small-24b €18 / €25

T2 pixtral-12b €6 / €15

T3 mistral-large-3-675b €32 / €40 (80%!)

qwen3-embedding-8b €22 / €30

Routing: T3 op 80% → alert • Bij 100% auto-fallback T3→T1 Dag-budget: €6.67 • Burst max: €13.34 Bron: Scaleway Cockpit metrics + cost-aggregation job • Was: €600/mo Claude → Nu: €200/mo cap (6 gespecialiseerde modellen) Live IO Feed Live IO Feed “Competitieve Analyse ING vs Rabo” bsw-analysis-crew • 2 min geleden “Governance Policy v2.1 Draft” axis-audit-crew • 15 min geleden “pipe-crews/functions.tf update” ✓ CI GitOps • 1 uur geleden “KG Batch: 42 entiteiten verrijkt” iv-enrichment-crew • 2 uur geleden “Klantgesprek Account Manager (transcript)” ingestie pipeline • 3 uur geleden

Dossier Datamodel

-- Migration 013: Dossier management (PIPE Serverless SQL)
CREATE TABLE dossiers (
    id          UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    domain      TEXT NOT NULL,              -- BSW, IV, AXIS, etc.
    title       TEXT NOT NULL,
    description TEXT,
    owner_id    TEXT NOT NULL,              -- Scaleway IAM user ID
    status      TEXT DEFAULT 'open',        -- open, closed, archived
    duto_score  REAL DEFAULT 0.0,           -- Geaggregeerde DUTO score
    created_at  TIMESTAMPTZ DEFAULT now(),
    updated_at  TIMESTAMPTZ DEFAULT now(),
    metadata    JSONB DEFAULT '{}'::jsonb
);

CREATE TABLE dossier_objects (
    id          UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    dossier_id  UUID REFERENCES dossiers(id) ON DELETE CASCADE,
    cid         TEXT NOT NULL,              -- Content Identifier (SHA-256)
    title       TEXT NOT NULL,
    io_type     TEXT DEFAULT 'document',    -- document, audio, video, image, structured
    mdto_status TEXT DEFAULT 'pending',     -- pending, partial, complete
    duto_score  REAL DEFAULT 0.0,
    added_at    TIMESTAMPTZ DEFAULT now(),
    added_by    TEXT NOT NULL,              -- Scaleway IAM user ID
    UNIQUE(dossier_id, cid)
);

Success

Informatiegedreven werken: Het dossier is de centrale werkeenheid. Informatie wordt gebracht in een dossier — niet opgehaald uit losse bestanden. Elk IO krijgt automatisch een CID, doorloopt de cognificatie pipeline (s8), wordt verrijkt met MDTO metadata, en is doorzoekbaar via 17 hybrid search strategieën. De IC (s22) registreert waar elk IO leeft; de Drie-Store (s6) bewaart de content.


Changelog

Versie Datum Wijziging
0.1.0 2026-02-24 Initiële versie — interactieve mockup, login, dashboard, dossier, ingestie, onderzoek