Skip to content

docs(audit): record parafering audit umbrella rule (closes #406)#412

Open
rubenvdlinde wants to merge 1 commit into
developmentfrom
feature/migrate-parafering-to-or-audit
Open

docs(audit): record parafering audit umbrella rule (closes #406)#412
rubenvdlinde wants to merge 1 commit into
developmentfrom
feature/migrate-parafering-to-or-audit

Conversation

@rubenvdlinde
Copy link
Copy Markdown
Contributor

Implements migrate-parafering-to-or-audit — adoption-only scope per investigation.

Investigation finding

The spec assumed procest had a ParaferingAuditListener + ParaferingAuditAppendOnlyValidator + paraferingAuditEntry schema. None exist. The Listener dir contains only DeepLinkRegistrationListener + KpiCacheInvalidationListener, and Application.php has no audit-listener registrations.

Parafering audit today lives as an in-object auditTrail array on the voorstel inside ParaferingService. The spec's framing doesn't match the code.

What this PR does

Records the umbrella rule in the spec so any future parafering-audit work routes through OR's AuditTrailMapper::createAuditTrailEntry() per ADR-022. The in-object array migration is a follow-up — it needs concurrent reader updates in views + a controller-side ObjectEntity resolution step that the current ParaferingService array-only API doesn't provide.

Scope adjustment documented inline in tasks.md.

Closes #406.

… needed)

Implements migrate-parafering-to-or-audit — adoption-only scope per investigation.

Investigation finding:
- No `ParaferingAuditListener.php` exists.
- No `ParaferingAuditAppendOnlyValidator.php` exists.
- No `paraferingAuditEntry` schema in procest_register.json.
- `Application.php` has no audit-listener registrations.
- Parafering audit currently lives as an in-object `auditTrail` array on
  the voorstel inside `ParaferingService`.

The spec's framing (separate listener + parallel schema + append-only
validator) does not match procest's code. Future parafering audit work
MUST route through OR's `AuditTrailMapper::createAuditTrailEntry()` per
the umbrella consume-or-audit-trail-fleet-wide (ADR-022).

The in-object `auditTrail` array migration is a follow-up — it needs
concurrent updates to readers in views and a controller-side ObjectEntity
resolution step the current array-only ParaferingService API doesn't
provide.

Tasks updated to reflect the codebase-vs-spec gap.

Closes #406
@rubenvdlinde rubenvdlinde requested a review from Rem-Dam as a code owner May 11, 2026 21:54
@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/procest @ 02eff2e

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 419/419
PHPUnit ⏭️
Newman ⏭️
Playwright

Spec coverage: 5% (21 tests / 456 specs)


Quality workflow — 2026-05-11 22:00 UTC

Download the full PDF report from the workflow artifacts.

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