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.
Ten specs under
openspec/specs/still describe the pre-consolidation registertopology. They are correct-looking and wrong: filinq#771 collapsed six registers
(
consent,signing,templates,document,dossier,docudesk) into oneregister slug
filinq, so a spec saying "thedocumentregister" now namessomething that does not exist.
This is not stale prose. Several carry literal API examples:
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.
consent-managementtemplate-managementdocument-creatie-sjablonenentity-publication-policiesfinancial-document-field-extractionanonimisation-grondslagen-summaryanonimisation-prohibition-gateregister-i18ndocument-editingsigning-audit-via-orClearing these with
@e2e excludewould mean either writing hollow reasons ordeclaring 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_reasondoctrine, a reason naming a test artifact holds and one naming a state of
the world rots — and a reason claiming
consent-managementhas no browsersurface would be false on the day it was written.
Context
documentanddossierare BOTH oldregister slugs AND live schema slugs.
register=document&schema=documentishalf right — only the first half moves.
register: "brp"belongs to anotherapp entirely and must not be touched.