Technische toelichting bij de CPM-berekeningen op deze site: hoe nauwkeurig de scheduler is t.o.v. P6, welke tools de doorrekening doen, welke feedback-bronnen worden gebruikt, en welke beperkingen er gelden. Voor de inhoudelijke planning-uitgangspunten (afgestemd met OG): zie Uitgangspunten.
P6-equivalentie
Lokale run (met XER)
~95–96% match met P6
CI run (GitHub Action)
Lager — geen XER op runner
P6 zelf (officieel)
100% (referentie)
Wat de berekening WEL dekt
- Forward + backward + ALAP-passes (zoals P6 F9)
- Predecessor cascade (FS/SS/FF/SF + lag)
- Constraint-respect (MSO/MEO/MSOA/ALAP/etc.)
- Data-date floor — not-started tasks niet vóór data_date
- Per-task calendar (mits XER beschikbaar)
Wat de berekening NIET volledig dekt
- Oracle-specifieke ALAP-retiming edge-cases (~4-5% verschillen)
- Multi-calendar mix bij in-progress out-of-sequence tasks
- NL-feestdagen op CI (alleen lokaal mét XER)
remain_drtn_hr_cntedge-gevallen voor in-progress tasks
Tools-keten
| Tool | Bron | Wat | Wanneer |
|---|---|---|---|
report_p6_status.py | planning.json (= P6's XER-velden) | Leest P6's eigen F9-output rechtstreeks. 100% identiek aan P6. | Officiële status-rapportage |
run_cpm.py | planning.json | Eigen forward+backward+ALAP recompute. ~95-96% P6-match. | Wat-als / scenario-edits via --edit |
recompute_with_feedback.py | planning.json + feedback_*.json | Gebundelde CPM met alle openstaande PRP-edits samen. Output v{N}.NN.json. --vgr filter. | CPM-knop stap 1 |
compute_prp_marginal_impact.py | planning.json + feedback_*.json + xlsx | Per-PRP geïsoleerde CPM voor review-prioritering. Output marginal_impact.json + per-PRP scenarios. Fallback-edit (target_end +30d) voor PRPs zonder datum. | CPM-knop stap 2 |
Feedback-bronnen
_planning_db/feedback_*.json
structureel
Review punten (*).xlsx
handmatig
localStorage (browser)
tijdelijk
CPM-knop (F9) flow
Op /vgr-feedback
⚡ Webhook-flow (n8n)
Op planner-pages (/overall, /totaalplanning, ...)
📋 Klembord-prompt voor Claude Code
Bekende beperkingen
- Path-mismatch B2:
recompute_with_feedback.pyschrijft v{N}.NN.json naar_planning_db/cpm_runs/maar NIET naardocs/cpm-runs/. Handmatige sync + manifest-update vereist om op deze pagina te tonen.compute_prp_marginal_impact.pydoet de sync wél. - XLSX-pad hardcoded:
XLSX_SRC = C:/Users/Administrator/Documents/Claude/Projects/Grebbedijk— werkt alleen lokaal. CI skipt xlsx-bron automatisch. - Sub-counter divergentie: localStorage van elke reviewer telt eigen sub-version, niet gesynced met server-side version.json.
- Inline feedback niet centraal: zit in localStorage tot je het via "📋 Kopieer alle opmerkingen" oogst en structureel maakt.
Beschikbare CPM-scenarios
Laden uit manifest.json…