Reconciliation — 2026-05-04 20:47:04 UTC
Mon May 04 2026 22:51:17 GMT+0200 (sentraleuropeisk sommertid) · scope: source_vs_yaml_outputs · prior run: none
15
Total Notes
5
High
9
Med
1
Low
Notes
High severity 5 note(s)
Output user-roles.yaml lists 5 roles, including "prospective-organization". Source explicitly defines 4 immutable roles (Peer Mentor, Coordinator, Org Admin, Global Admin). No "prospective-organization" role is described; sales-website visitors are not authenticated actors in the source.
Suggested action:
Remove prospective-organization from user-roles.yaml, or downgrade it to a sales-website persona artifact outside the immutable role set, with an explicit annotation that it is not source-derived.
#n4
coverage_gap
high
project:module-toggles
Source establishes module toggling as the primary architectural pattern with 21 mobile + 8 admin areas independently togglable per org. Outputs include 36 areas inline in blueprint.yaml but no explicit per-tenant module-toggle matrix artifact (which org enables which area). The `module_toggles` entity exists in entity-detail-*, but no actual matrix data was produced. This is not gated by a disabled step — the matrix should be expressible via blueprint capability_matrix.
Suggested action:
Add a per-tenant module-toggle matrix to blueprint.yaml or as a dedicated module-toggles.yaml mapping each area to enabled tenants (NHF, Blindeforbundet, HLF, Barnekreftforeningen, Norse Test Org).
Source specifies Blindeforbundet-specific encrypted assignments (oppdrag) with delivery + read receipts, automatic 10-day follow-up reminders, and threshold-based fee triggers at 3 and 15 assignments per home-visit. These exact rules must surface as features, components, and data-model fields, not just prose. Verification needed that the 3/15 threshold and 10-day timer are encoded.
Suggested action:
Ensure a feature/component captures the 10-day reminder timer, read receipts, and fee-trigger thresholds (3 and 15), with corresponding data-model fields and feature-qa criteria.
Source defines concrete HLF expense rules: <50 km auto-approved, receipts required >100 kr, mutually exclusive choice categories (km vs bus). These thresholds must appear as data-model fields and rule logic, not only descriptive text.
Suggested action:
Add explicit numeric thresholds (50 km, 100 kr) and the mutually-exclusive km-vs-bus constraint to the HLF expense feature, component, and data-model entries.
Source identifies a Barnekreftforeningen-unique relatives database (parents, siblings, caregivers) linked to individual cases. With only 19 entities documented it is not clear this entity is present; needs explicit data-model coverage scoped to the Barnekreftforeningen tenant.
Suggested action:
Add a relatives data-model entity (parents, siblings, caregivers) linked to case, gated to the Barnekreftforeningen tenant via module toggle.
Medium severity 9 note(s)
#n1
drift
med
project:integrations
Source references discrete external systems (BankID, Vipps, Bufdir reporting, speech-to-text) as first-class capabilities, but the `extract-integrations` and `save-integrations-to-database` pipeline steps are currently DISABLED in .eircodex/config.json. Outputs therefore have no integrations catalogue. This is a deferral, not a coverage gap — but the deferral itself should be tracked.
Suggested action:
Either enable extract-integrations + save-integrations-to-database for the next run to produce a dedicated integrations catalogue, or document the deferral explicitly in CLAUDE.md / project notes so the missing artifact is intentional.
#n2
drift
med
project:user-stories
Source describes concrete workflows (peer-mentor logs activity in ≤2 clicks, coordinator proxy-reports on behalf of mentor, org admin exports Bufdir report). The `generate-user-story-steps` pipeline step is DISABLED in .eircodex/config.json, so no user-story YAMLs were produced. Deferral, not gap — but worth tracking.
Suggested action:
Either enable generate-user-story-steps for the next run, or document that user stories are intentionally deferred and that role + feature business_value are the substitute artifacts.
#n5
drift
med
project:area-count
Source section 8 fixes the canonical taxonomy at 21 mobile areas + 8 admin areas + 4 sales-website areas (33 total, authoritative and immutable). blueprint.yaml exposes 36 areas inline, which does not match any source partition.
Suggested action:
Reconcile blueprint area list against section 8: explicitly tag each area as mobile/admin/sales, and remove or rename non-canonical entries so totals match 21/8/4.
Source mandates that Bufdir export is ADMIN-ONLY via the Admin Web Portal and must never appear on mobile for peer-mentors or coordinators. Without integrations + user-story artifacts (both gated by disabled pipeline steps) it is unclear whether the access-boundary is enforced in feature/component specs. Verifiable now via feature-qa role_boundaries.
Suggested action:
Add an explicit role_boundary entry in the bufdir-export feature-qa YAML stating peer-mentor and coordinator roles cannot access export. Use the QA section's role_boundaries field to enforce this.
Source consolidates HLF + Barnekreftforeningen course administration with digital certificates and renewal reminders, plus Blindeforbundet 2-day "career workshops" with notes/to-do tracking, all under a single canonical `certification-training` area. This shared area mapping must be reflected in outputs.
Suggested action:
Verify a `certification-training` area exists in blueprint and that features for digital certificates, renewal reminders, and workshop notes/to-dos are filed beneath it with org toggles for HLF, BKF, and Blindeforbundet.
Source phases auth: MVP is email/password only; BankID and Vipps are Phase 2. Outputs must scope BankID/Vipps features to Phase 2 and not block MVP delivery on them.
Suggested action:
Confirm feature-schedule.yaml places BankID and Vipps in Phase 2 and that an email/password auth feature is the sole MVP auth path.
Source describes NHF's structural specifics: 1,400 local chapters across 12 regional federations and 9 regions, plus duplicate-activity detection and per-org documentation attachments. These need explicit data-model and feature representation.
Suggested action:
Add NHF org-hierarchy data-model (chapters/federations/regions), duplicate-activity detection feature, and per-org documentation attachment support.
Source defines a per-org Organization Labels system (e.g. "contacts" → "família"). This is cross-cutting UI infrastructure and warrants a dedicated feature plus data-model entry.
Suggested action:
Add an organization-labels feature and data-model entity, plus reference it from each area whose terminology varies by tenant.
Source requires speech-to-text for HLF and Blindeforbundet post-meeting reports and explicitly forbids in-call recording. This constraint (post-meeting only, no in-call capture) must be encoded as a feature constraint and feature-qa acceptance criterion, scoped to those two tenants.
Suggested action:
Add a speech-to-text feature scoped to HLF and Blindeforbundet with an explicit "no in-call recording" constraint and corresponding feature-qa acceptance criterion.
Low severity 1 note(s)
#n14
provenance
low
project:blueprint-derivatives
blueprint-structure.yaml and blueprint-components.yaml appear to be derivative extracts from blueprint.yaml with no source basis of their own. Risk of staleness if blueprint.yaml changes. Source does not define these split artifacts.
Suggested action:
Either regenerate them deterministically from blueprint.yaml on every build with a provenance header, or remove them in favour of querying blueprint.yaml directly.
Output Snapshot
| Category | Count |
|---|---|
| features | 105 |
| components | 311 |
| user_stories | 0 |
| feature_qa | 104 |
| data_models | 19 |
| integrations | 0 |
| user_roles | 5 |
Source Snapshot
| File | SHA256 | Bytes |
|---|---|---|
docs/source/likeperson.md |
D89494D3C4B2F54D… |
42302 |