Skip to content

Ten specs still describe the pre-consolidation registers (257 scenarios of gate-19 cost) #782

Description

@rubenvdlinde

Ten specs under openspec/specs/ still describe the pre-consolidation register
topology. They are correct-looking and wrong: filinq#771 collapsed six registers
(consent, signing, templates, document, dossier, docudesk) into one
register slug filinq, so a spec saying "the document register" now names
something that does not exist.

This is not stale prose. Several carry literal API examples:

GET /api/objects?register=document&schema=anonymizationLink&sourceFileId=<ID>

After the consolidation that query returns nothing. Anyone implementing to the
spec writes code that silently finds no records — the same shape as the bug the
consolidation itself fixed.

Why they were not fixed with the rest

filinq#781 corrected eight specs. These ten were left deliberately, because
gate-19 is scoped by FILE, not by line: touching one reference pulls EVERY
scenario in that file into e2e-coverage scope. The ten cost 257 scenarios.

spec scenarios pulled in genuinely backend-only?
consent-management 41 no — real UI
template-management 39 no — real UI
document-creatie-sjablonen 31 no — wizard UI
entity-publication-policies 30 no — ProhibitionIndex UI
financial-document-field-extraction 24 yes
anonimisation-grondslagen-summary 20 yes
anonimisation-prohibition-gate 20 yes
register-i18n 20 yes
document-editing 19 no — real UI
signing-audit-via-or 13 yes

Clearing these with @e2e exclude would mean either writing hollow reasons or
declaring five UI-bearing specs backend-only. Both are worse than the red: a
false exclude makes gate-19 lie on every future run, not just this one.

Two routes, and they differ in honesty rather than effort

A — write the missing e2e coverage for the five UI-bearing specs (160
scenarios), then correct their register references. Expensive, and the coverage
has value on its own.

B — split the change: correct the register references in the five
backend-only specs (97 scenarios) where an exclude naming a real PHPUnit/Newman
artifact is TRUE, and leave the five UI ones until their coverage exists.

B is the smaller honest step and can be done now. A is the real fix.

What must not happen

Do not "clear" this by excluding all ten. Per gate-19's own exclusion_reason
doctrine, a reason naming a test artifact holds and one naming a state of
the world
rots — and a reason claiming consent-management has no browser
surface would be false on the day it was written.

Context

  • filinq#771 — the consolidation
  • filinq#781 — the eight specs already corrected, with the full method
  • Related trap for whoever picks this up: document and dossier are BOTH old
    register slugs AND live schema slugs. register=document&schema=document is
    half right — only the first half moves. register: "brp" belongs to another
    app entirely and must not be touched.

Metadata

Metadata

Assignees

Labels

triageAwaiting triage

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions