Skip to content

feat: Benefits Realisation Management module (P13)#5

Closed
antnewman wants to merge 3 commits intomainfrom
feat/brm-module
Closed

feat: Benefits Realisation Management module (P13)#5
antnewman wants to merge 3 commits intomainfrom
feat/brm-module

Conversation

@antnewman
Copy link
Copy Markdown
Owner

Summary

  • Adds the first open-source, AI-powered Benefits Realisation Management (BRM) module — designated P13 in the PDA Platform assurance series
  • Implements IPA/Green Book/MSP/PMI/APMG-compliant benefits register with 28+ fields, time-series measurement tracking, drift detection, benefits dependency network (DAG), cascade impact propagation, linear extrapolation forecasting, IPA gate-specific narrative generation, and P3M3 maturity scoring
  • Introduces new pm_brm MCP module with 10 tools, bringing the unified server to 51 tools across 6 modules
  • Refactors GMPP BenefitsPerformance to derive values from the benefits register as single source of truth

Tools added

Tool Description
ingest_benefit Register benefit/dis-benefit with full multi-axis classification
track_benefit_measurement Record measurement, compute drift/trend/realisation
get_benefits_health Portfolio-level health score (0.0-1.0)
map_benefit_dependency DAG nodes + typed edges with cycle detection
get_benefit_dependency_network Retrieve full dependency graph
get_benefits_cascade_impact BFS cascade propagation through DAG
forecast_benefit_realisation Linear extrapolation forecast with probability
detect_benefits_drift Time-series drift detection, severity-sorted
generate_benefits_narrative IPA gate-specific AI narratives (Gate 0-5)
assess_benefits_maturity P3M3-aligned 15-criteria maturity scoring (Level 1-5)

Database

4 new SQLite tables: benefits, benefit_measurements, benefit_dependency_nodes, benefit_dependency_edges — all using existing AssuranceStore pattern with CREATE TABLE IF NOT EXISTS.

Documentation

  • docs/brm.md — Developer reference (architecture, models, API, tool specs)
  • docs/brm-for-practitioners.md — Practitioner guide (plain-English, no technical background needed)

Test plan

  • 46 unit tests for benefits.py (enums, models, CRUD, measurements, DAG, health, forecasting, drift, maturity)
  • 37 integration tests for all 10 MCP tools (missing params, success cases, cross-tool workflows)
  • 83 tests total, all passing
  • ruff check clean
  • Verified unified server imports and tool count (51)

Generated with Claude Code

First open-source, AI-powered BRM tool — IPA/Green Book/MSP/PMI-compliant
benefits register with time-series measurement tracking, drift detection,
dependency network (DAG) with cascade impact, linear extrapolation
forecasting, and portfolio-level health scoring.

- 4 new SQLite tables (benefits, measurements, dependency nodes/edges)
- 12 store methods, BenefitsTracker class with 16 methods
- 8 MCP tools in new pm_brm module (49 total across 6 modules)
- 72 tests (41 unit + 31 integration), all passing
- Developer reference and practitioner guide documentation
…n (P13)

Phase 2-4 completion for BRM module:
- generate_benefits_narrative: IPA gate-specific assurance narratives with
  multi-sample AI consensus via existing NarrativeGenerator infrastructure
- assess_benefits_maturity: P3M3-aligned 15-criteria maturity scoring with
  weakest-link philosophy (Level 1-5), evidence gaps, and recommendations
- BenefitsPerformance.from_benefits_register(): GMPP model now derives
  total_planned, realised_to_date from BRM register as single source of truth
- BenefitsTracker.build_narrative_context(): rich context builder for
  narrative generation from register data
- IPA gate probe questions (Gate 0-5) from 2021 Assurance Guide
- 10 MCP tools total (51 across 6 modules in unified server)
- 83 tests passing (46 unit + 37 integration)
@antnewman antnewman closed this Apr 10, 2026
@antnewman antnewman deleted the feat/brm-module branch April 10, 2026 18:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant