Skip to content

Commit 4ab55da

Browse files
hyperpolymathclaude
andcommitted
docs(exemptions): align Layer-4 references with .affine source / .deno.js runtime
Mirrors the workflow swap in this PR. Three updates to `docs/EXEMPTION-MECHANISMS.adoc`: 1. Layer 4a description — point at `scripts/check-ts-allowlist.affine` as the source of truth, note the compiled `.deno.js` is what the workflow actually runs. 2. History — add a fourth bullet covering standards#283 / #310 / #311: the TS→AffineScript port arc, with the dual-target rationale spelled out (`.ts` kept for regression suite + parallel-validation; `.deno.js` is the workflow target). 3. Cross-references — replace the single `.ts` line with three lines covering all three files (.affine source / .deno.js runtime / .ts archetype) and what each is for. Reduces "which file should I edit?" ambiguity for the next contributor. No behavioural change; pure doc alignment so the prose matches the workflow + source layout after #311 lands. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 288ac0d commit 4ab55da

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

docs/EXEMPTION-MECHANISMS.adoc

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,10 @@ across the estate. Three sub-layers:
137137

138138
=== 4a: Built-in path / filename allowlist
139139

140-
Hard-coded in `scripts/check-ts-allowlist.ts`. Covers paths that are
141-
*always* exempt regardless of per-repo configuration:
140+
Hard-coded in `scripts/check-ts-allowlist.affine` (source of truth;
141+
compiled to `scripts/check-ts-allowlist.deno.js` which the workflow
142+
invokes). Covers paths that are *always* exempt regardless of per-repo
143+
configuration:
142144

143145
* Directory segments: `bindings`, `tests`, `test`, `scripts`,
144146
`mcp-adapter`, `cli`, `vendor`, `examples`, `ffi`, `node_modules`,
@@ -230,11 +232,23 @@ sufficient. Most repos will pick one or the other.
230232
+ new typed-infrastructure file. Owner picked the Layer-2.5 approach
231233
(standards#185) over the minimal regex-only fix (standards#183).
232234
This document seeds the doctrine.
235+
* AffineScript port (standards#283 seed, #310 compile/runtime fixes,
236+
#311 workflow swap): `.ts` → `.affine` self-referential port under
237+
the TS→AffineScript campaign (#239 / #241 STEP 2). The `.ts`
238+
archetype is kept for the regression suite and parallel-validation;
239+
the workflow now runs the compiled `.deno.js`. Retirement of the
240+
`.ts` is a follow-up after the dual-target window.
233241

234242
== Cross-references
235243

236244
* `docs/HYPATIA-BASELINE-FORMAT.adoc` — the baseline file format.
237245
* `.machine_readable/hypatia-baseline.schema.json` — machine schema.
238-
* `scripts/check-ts-allowlist.ts` — the Deno detector behind Layer 4.
246+
* `scripts/check-ts-allowlist.affine` — the AffineScript source of
247+
truth for the Layer 4 detector (since standards#283 / #310 / #311).
248+
* `scripts/check-ts-allowlist.deno.js` — the compiled artifact the
249+
governance workflow runs.
250+
* `scripts/check-ts-allowlist.ts` — the Deno archetype, retained as the
251+
regression-suite target (`scripts/tests/check-ts-allowlist-test.sh`)
252+
and for parallel-validation during the TS→AS dual-target window.
239253
* `hyperpolymath/standards#????` — proposal that landed this consumer.
240254
* `hyperpolymath/hypatia` — the scanner that emits findings.

0 commit comments

Comments
 (0)