Skip to content

feat(rip): add R5.3 (vervroegde) Ingebruikname / Oplevering — the ladder is complete - #72

Merged
sgort merged 2 commits into
accfrom
docs/rip-r53-reference-sheet
Sep 3, 2026
Merged

feat(rip): add R5.3 (vervroegde) Ingebruikname / Oplevering — the ladder is complete#72
sgort merged 2 commits into
accfrom
docs/rip-r53-reference-sheet

Conversation

@sgort

@sgort sgort commented Sep 3, 2026

Copy link
Copy Markdown
Owner

R5.3 was the last gap in the Flevoland RIP ladder. It had no design when the rest was modelled, so R5.2 and R5.4 were deliberately built to step over it. The sheet arrived dated 3-9-2026, and it lands exactly where those two said it would.

Two commits: the reference sheet (plus a .gitignore entry), then the bundle.

Files 14 (1 BPMN, 7 forms, 6 documents)
Nodes / flows / lanes 15 / 14 / 3
New candidate groups none — ladder stays at 34

Shape

A single early choice — oplevering, or (vervroegde) ingebruikname — opening two near-mirror paths that never rejoin:

interne schouw → schouw met aannemer en tzh → vaststellen → exit

They differ only in what they're called, which sjabloon they use, and where they leave to. No loop anywhere in the phase: a rejected schouw sends its restpunten back to R5.2 rather than round again here.

Four end events, three returning to R5.2 — deliberately not merged

This is the opposite of the call made in R6.1, and the difference is the point. R6.1's two "Einde proces" markers meant the same completion, so collapsing them lost nothing. Here the three R5.2 returns mean three different things:

  • oplevering rejected → restpunten to execute
  • vervroegde ingebruikname agreed → part of the areaal goes into use while the work carries on
  • ingebruikname rejected → restpunten to be executed by the ON

Same destination, different reasons — and the reason is what the Faseladder has to show. Merged, the phase would report only "back to R5.2".

Also in here

.semgrep/ is gitignored. Semgrep Guardian writes a guardian.yml and lock wherever it's invoked, so copies appeared at the repo root and under examples/organizations/flevoland/. Local tooling state, not project config; the bare directory name catches it at any depth.

Verification

Faseladder contract holds — key RipR53Process, formRefBinding="deployment" on all seven user tasks with no "latest", no businessKey, no municipality variable, no external-task topics, no boardOwner in the bundle, no start event carrying a form.

Both validators pass on every bundle in the ladder. No duplicate form or document ids across all twelve phases.

Already deployed and verified on the local engine: RipR53Process v1, tenant flevoland, 14 of 14 resources matching disk file-for-file, boardOwner=infra-board and ronl:organization=flevoland injected at deploy. All twelve phases now deployed and contract-clean.

Note for the Faseladder side

RBA's skippedPhasesBefore currently surfaces R5.3 as handled outside the tool, and R5.4's precondition resolves its predecessor to R5.2. Both were correct until now; both need revisiting once R5.3 is adoptable. That session is being briefed separately.

🤖 Generated with Claude Code

…tate

R5_3 (vervroegde) Ingebruikname / Oplevering, dated 3-9-2026, is the design that
was missing when the rest of the ladder was modelled. R5.3 was the one phase
left unmodelled for want of it.

The sheet closes the gap exactly where the surrounding phases said it would:
it enters from R5.2 "Werk gereed?" and leaves either to R5.4 Oplevering en
onderhoudsperiode when the oplevering is agreed, or back to R5.2 "Start werk
buiten" when restpunten remain. Three lanes, seven activities, and an early
split on oplevering versus (vervroegde) ingebruikname that runs two near-mirror
schouw paths — internal schouw, then one with the aannemer and toezichthouder,
then a vaststellen step whose outcome decides the exit.

Only the reference PDF is added here. No bundle is generated from it yet.

Also ignores .semgrep/, which Semgrep Guardian writes wherever it is invoked —
so a guardian.yml and lock appeared both at the repo root and under
examples/organizations/flevoland/. Local tooling state, not project config, and
ignoring the bare directory name catches it at any depth.
…r Flevoland

Models R5_3 (vervroegde) Ingebruikname / Oplevering (sheet dated 3-9-2026) as
RipR53Process: 15 nodes, 14 flows, 3 lanes, 7 forms, 6 documents. This closes
the last gap in the Flevoland ladder — R5.3 was the one phase left unmodelled
for want of a design, so R5.2 and R5.4 were built to step over it. The sheet
lands exactly where those two said it would.

The shape is a single early choice, oplevering or (vervroegde) ingebruikname,
opening two near-mirror paths that never rejoin:

    interne schouw -> schouw met aannemer en tzh -> vaststellen -> exit

They differ only in what they are called, which sjabloon they use, and where
they leave to. There is no loop anywhere in the phase: a rejected schouw sends
its restpunten back to R5.2 rather than round again here.

FOUR END EVENTS, THREE RETURNING TO R5.2, deliberately not merged — the opposite
of the call made in R6.1, and the difference is the point. R6.1's two "Einde
proces" markers meant the same completion, so collapsing them lost nothing. Here
the three R5.2 returns mean three different things: oplevering rejected with
restpunten to execute; vervroegde ingebruikname agreed, so part of the areaal
goes into use while the work carries on; and ingebruikname rejected, with the
restpunten to be executed by the ON. Same destination, different reasons, and
the reason is what the Faseladder has to show — merged, the phase would report
only "back to R5.2".

No new roles. All three lanes are covered by slugs already in the ladder, so it
stays at 34 distinct candidate groups and nothing changes for the RollenSection
question still with the business owners.

Faseladder contract holds: key RipR53Process, formRefBinding="deployment" on all
seven user tasks with no "latest", no businessKey, no municipality variable, no
external-task topics, no boardOwner in the bundle, and no start event carrying a
form.

Verified on the local engine after deployment: RipR53Process v1, tenant
flevoland, 14 of 14 resources matching disk file-for-file, boardOwner=infra-board
and ronl:organization=flevoland injected at deploy. All twelve phases now
deployed and contract-clean. Both validators pass on every bundle in the ladder.
@sgort
sgort merged commit 39f3f3a into acc Sep 3, 2026
1 check passed
@sgort
sgort deleted the docs/rip-r53-reference-sheet branch September 3, 2026 12:22
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