Oracle: pin the hooks ignore-value inert-entry refusal

Three hadmin-ignore-value-inert-* cases record the engine's port of
be87f5eb (#662) to hooks ignore-value: an exact value for a rule whose
findings can never extract one is refused with the wildcard-plus-file
route (and no config write), while the wildcard scoped form for the same
rule is accepted. Goldens recorded from the engine binary and verified
byte-for-byte against the ea360025 hook-admin.mjs on the same sequences.
No existing golden changes, so no DELTAS entry is owed.

Prepared with AI assistance (Claude Code).
This commit is contained in:
Paul Bakaus
2026-08-31 20:00:04 -07:00
parent 57dd1b75b8
commit fe30578c8a
4 changed files with 43 additions and 0 deletions
+4
View File
@@ -182,6 +182,10 @@ export default [
{ id: 'hadmin-ignore-value-missing', verb: 'hook-admin', workspace: 'hook-project', args: ['ignore-value', 'overused-font'], files: CACHE_FILES },
{ id: 'hadmin-ignore-value-unknown-flag', verb: 'hook-admin', workspace: 'hook-project', args: ['ignore-value', 'overused-font', 'Inter', '--wat'], files: CACHE_FILES },
{ id: 'hadmin-ignore-value-twice-updates-reason', verb: 'hook-admin', workspace: 'hook-project', files: CACHE_FILES, steps: [{ args: ['ignore-value', 'overused-font', 'Inter'] }, { args: ['ignore-value', 'overused-font', 'inter', '--reason=second'] }, { args: ['status'] }] },
// upstream be87f5eb (#662): exact values for rules that cannot extract one are inert and refused
{ id: 'hadmin-ignore-value-inert-exact', verb: 'hook-admin', workspace: 'hook-project', args: ['ignore-value', 'cramped-padding', 'padding: 4px 8px'], files: CACHE_FILES },
{ id: 'hadmin-ignore-value-inert-scoped', verb: 'hook-admin', workspace: 'hook-project', args: ['ignore-value', 'side-tab', 'Inter', '--file', 'a.css'], files: CACHE_FILES },
{ id: 'hadmin-ignore-value-inert-then-wildcard', verb: 'hook-admin', workspace: 'hook-project', files: CACHE_FILES, steps: [{ args: ['ignore-value', 'cramped-padding', 'padding: 4px 8px'] }, { args: ['ignore-value', 'cramped-padding', '*', '--file', 'index.html'] }, { args: ['status'] }] },
{ id: 'hadmin-reset-empty', verb: 'hook-admin', workspace: 'hook-project', args: ['reset'], files: CACHE_FILES },
{ id: 'hadmin-full-cycle', verb: 'hook-admin', workspace: 'hook-project', files: CACHE_FILES, steps: [{ args: ['ignore-rule', 'side-tab'] }, { args: ['ignore-file', 'x/**', '--local'] }, { args: ['ignore-value', 'overused-font', 'Inter'] }, { args: ['status'] }, { args: ['reset'] }, { args: ['status'] }] },
{
@@ -0,0 +1,7 @@
{
"stdout": "",
"stderr": "Error: cramped-padding has no extractable ignore value. Use /impeccable hooks ignore-value cramped-padding \"*\" --file <glob> to suppress it in matching files.\n",
"exit": 1,
"signal": null,
"files": {}
}
@@ -0,0 +1,7 @@
{
"stdout": "",
"stderr": "Error: side-tab has no extractable ignore value. Use /impeccable hooks ignore-value side-tab \"*\" --file <glob> to suppress it in matching files.\n",
"exit": 1,
"signal": null,
"files": {}
}
@@ -0,0 +1,25 @@
{
"steps": [
{
"stdout": "",
"stderr": "Error: cramped-padding has no extractable ignore value. Use /impeccable hooks ignore-value cramped-padding \"*\" --file <glob> to suppress it in matching files.\n",
"exit": 1,
"signal": null
},
{
"stdout": "Added cramped-padding=* scoped to index.html to shared detector.ignoreValues (.impeccable/config.json).\n",
"stderr": "",
"exit": 0,
"signal": null
},
{
"stdout": "Impeccable design hook\n state: enabled\n shared file: .impeccable/config.json\n local file: .impeccable/config.local.json (not present)\n ignoreRules: (none)\n ignoreFiles: (none)\n ignoreValues: cramped-padding=* [index.html]\n maxFindings: 5\n maxChars: 8000\n env override: unset\n cache file: .impeccable/hook.cache.json (not present)\n",
"stderr": "",
"exit": 0,
"signal": null
}
],
"files": {
".impeccable/config.json": "{\n \"detector\": {\n \"ignoreRules\": [],\n \"ignoreFiles\": [],\n \"ignoreValues\": [\n {\n \"rule\": \"cramped-padding\",\n \"value\": \"*\",\n \"files\": [\n \"index.html\"\n ],\n \"createdAt\": \"<ISO>\"\n }\n ]\n }\n}\n"
}
}