* test(#3839): docs hook tables must match surface registrations (failing first) * docs(#3839): hook tables say PreToolUse for validate-commit, SessionStart for session-state gsd-validate-commit.sh is registered PreToolUse (src/runtime-hooks-surface.cts; its exit-2 block IS the contract — a post-tool hook cannot prevent a commit) and gsd-session-state.sh is registered SessionStart (session orientation, not post-tool tracking). Both rows said PostToolUse in ARCHITECTURE.md and the three INVENTORY locales; the issue asked for a neighbouring-row scan, which is how the session-state row was found. All other rows in the four tables verify against the surface. * fix(#3839): review fold-ins — 10 more wrong rows in ko-KR/pt-BR/zh-CN, parser authority + drift pins Adversarial review found the same two wrong rows shipped in five more files the issue's table missed (ko-KR ARCHITECTURE+INVENTORY, pt-BR ARCHITECTURE+INVENTORY, zh-CN ARCHITECTURE) — all fixed; DOC_TABLES now covers all ten shipped tables. The parity parser unioned only the Kimi mirror list, silently exempting agent-isolation-guard (registered via the dynamic preToolEvent push): probes are now parsed too, with bare hook names resolved against hooks/ ground truth and dynamic event variables resolved to their canonical (non-Gemini) events; an exact-set pin replaces the loose size guard. allow-test-rule marker carries the issue ref; unverified-ceiling 280→281 (audited: the new marker is legitimate — the suite reads product docs whose text is the contract). * fix(#3839): register the hook-table parity suite in the docs-guard lane The new suite reads ten docs/ paths, so lint-docs-guard-registration requires it in the docs-guard registry — the first GREEN bench run caught the omission (the RED run's docs-guard failures were the same signal, previously misread as marker fallout). * chore(#3839): changeset fragment (pr number backfilled after PR creation) * chore(#3839): backfill changeset PR number (4041) --------- Co-authored-by: sim <sim@local>
This commit is contained in:
@@ -215,6 +215,20 @@ const DOCS_GUARD_TESTS = {
|
||||
// Walks docs/*.md and every docs/<locale>/*.md dir dynamically
|
||||
// (docs-parity-live-registry.test.cjs:42, 428) — deliberately generic.
|
||||
'tests/docs-parity-live-registry.test.cjs': ['*'],
|
||||
// #3839: pins every hook-table Event cell in the five locales' ARCHITECTURE
|
||||
// and INVENTORY files against src/runtime-hooks-surface.cts registrations.
|
||||
'tests/docs-hooks-table-parity.test.cjs': [
|
||||
'docs/ARCHITECTURE.md',
|
||||
'docs/INVENTORY.md',
|
||||
'docs/ja-JP/ARCHITECTURE.md',
|
||||
'docs/ja-JP/INVENTORY.md',
|
||||
'docs/zh-CN/ARCHITECTURE.md',
|
||||
'docs/zh-CN/INVENTORY.md',
|
||||
'docs/ko-KR/ARCHITECTURE.md',
|
||||
'docs/ko-KR/INVENTORY.md',
|
||||
'docs/pt-BR/ARCHITECTURE.md',
|
||||
'docs/pt-BR/INVENTORY.md',
|
||||
],
|
||||
'tests/docs-state-md-locale-parity.test.cjs': [
|
||||
'docs/reference/state-md.md',
|
||||
'docs/ja-JP/reference/state-md.md',
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
{
|
||||
"maxFiles": 280
|
||||
"maxFiles": 281
|
||||
}
|
||||
|
||||
@@ -245,11 +245,12 @@
|
||||
},
|
||||
"docs": {
|
||||
"files": [
|
||||
"docs-hooks-table-parity.test.cjs",
|
||||
"docs-parity-live-registry.test.cjs",
|
||||
"docs-state-md-locale-parity.test.cjs",
|
||||
"docs-update.test.cjs"
|
||||
],
|
||||
"issue": "3873",
|
||||
"issue": "3873 | #3839 \u2014 the hook-event parity suite cross-checks the four docs hook tables against src/runtime-hooks-surface.cts registrations; a generated-docs concern distinct from content freshness and registry parity",
|
||||
"justification": "ADR-3473 \u00a78.8 makes docs/reference/state-md.md and its four locale siblings generated-and-committed and adds the repo's first locale-parity check (verified: no locale-parity lint precedent exists here). That check is a distinct concern from docs-update (content freshness) and docs-parity-live-registry (registry parity); folding it into either would place an unrelated subject inside them purely to satisfy a count. The section it guards is absent from all four translations today and documents the status enum behind #3853."
|
||||
},
|
||||
"audit": {
|
||||
|
||||
Reference in New Issue
Block a user