🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@czap/gauntlet

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@czap/gauntlet - npm Package Compare versions

Comparing version
0.8.0
to
0.8.1
+41
dist/active-surface-facts.d.ts
/**
* Active-surface FactPack — the type-only fact shape for field-level
* active-modeled-surface-has-reader (#132). NO `typescript` dependency: the
* HOST (`@czap/audit`'s `buildActiveSurfaceFacts`) produces these facts;
* the {@link activeModeledSurfaceReaderGate} decides over them.
*
* @module
*/
/** Blocking promotion — gates earn blocking via fixtures. The live TransitionNode path is now
* `'blocking'` (#130 landed `interpretTransition`, which reads the fields — the gate self-proves green). */
export type ActiveSurfacePromotion = 'advisory' | 'blocking';
/**
* One active modeled surface and the field-read verdict the oracle computed.
* Obligations derive from the node-family union + status — never a hand-maintained
* string registry in gauntlet.
*/
export interface ActiveSurfaceEntry {
/** Document-graph node family — e.g. `'transition'`. */
readonly family: string;
/** Load-bearing fields that MUST be read when this surface is active. */
readonly requiredFields: readonly string[];
/** Fields the oracle observed a reader path accessing. */
readonly readFields: readonly string[];
/** Whether this surface is live in the repo (constructed / imported / sealed). */
readonly active: boolean;
/** Reader paths the oracle scanned (interpreter / lowerer / runtime). */
readonly readerFiles: readonly string[];
/** Required fields with no observed read — empty when inactive or fully wired. */
readonly unreadFields: readonly string[];
/**
* Severity floor for unread fields. Now `'blocking'` for the live TransitionNode path —
* #130 landed the `interpretTransition` reader, so the gate self-proves green at blocking.
* (`'advisory'` remains available; self-proof fixtures also exercise `'blocking'`.)
*/
readonly promotion: ActiveSurfacePromotion;
}
/** The injected FactPack — one row per enrolled active surface. */
export interface ActiveSurfaceFacts {
readonly surfaces: readonly ActiveSurfaceEntry[];
}
//# sourceMappingURL=active-surface-facts.d.ts.map
{"version":3,"file":"active-surface-facts.d.ts","sourceRoot":"","sources":["../src/active-surface-facts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;4GAC4G;AAC5G,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,UAAU,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,kFAAkF;IAClF,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;CAC5C;AAED,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAClD"}
/**
* Active-surface FactPack — the type-only fact shape for field-level
* active-modeled-surface-has-reader (#132). NO `typescript` dependency: the
* HOST (`@czap/audit`'s `buildActiveSurfaceFacts`) produces these facts;
* the {@link activeModeledSurfaceReaderGate} decides over them.
*
* @module
*/
export {};
//# sourceMappingURL=active-surface-facts.js.map
{"version":3,"file":"active-surface-facts.js","sourceRoot":"","sources":["../src/active-surface-facts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
/**
* Gate: active-modeled-surface-has-reader — field-level orphan detection (#132).
*
* A live modeled surface whose load-bearing fields no interpreter/lowerer/runtime path
* reads is an unfinished capability — dead data inside a live type (`TransitionNode`
* with unread `routing`/`durationMs`). This FactGate folds the host-produced
* {@link ActiveSurfaceFacts} and reports unread fields; it proves **wired, not correct**.
*
* LEAN BY CONSTRUCTION: no `typescript` import — the audit oracle produces facts;
* this gate only decides. Earns blocking authority via red/green/mutation fixtures;
* the live TransitionNode orphan reports as **advisory** until #130 lands the reader.
*
* @module
*/
import { type FactBundle, type FactGate } from '../gate.js';
import { type Finding } from '../finding.js';
/**
* THE DECISION — data in, findings out, NO context. One finding per active surface
* with ≥1 unread required field; inactive or fully-read surfaces emit nothing.
*/
export declare function decideActiveSurfaceReaders(facts: FactBundle): readonly Finding[];
/**
* The active-modeled-surface-has-reader gate — #132 completeness backstop.
* Self-proves via synthetic TransitionNode fixtures; live repo orphan is advisory.
*/
export declare const activeModeledSurfaceReaderGate: FactGate;
//# sourceMappingURL=active-modeled-surface-reader.d.ts.map
{"version":3,"file":"active-modeled-surface-reader.d.ts","sourceRoot":"","sources":["../../src/gates/active-modeled-surface-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAkB,KAAK,UAAU,EAAE,KAAK,QAAQ,EAA+B,MAAM,YAAY,CAAC;AACzG,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAiCtD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,OAAO,EAAE,CAShF;AAmCD;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,QA6B3C,CAAC"}
/**
* Gate: active-modeled-surface-has-reader — field-level orphan detection (#132).
*
* A live modeled surface whose load-bearing fields no interpreter/lowerer/runtime path
* reads is an unfinished capability — dead data inside a live type (`TransitionNode`
* with unread `routing`/`durationMs`). This FactGate folds the host-produced
* {@link ActiveSurfaceFacts} and reports unread fields; it proves **wired, not correct**.
*
* LEAN BY CONSTRUCTION: no `typescript` import — the audit oracle produces facts;
* this gate only decides. Earns blocking authority via red/green/mutation fixtures;
* the live TransitionNode orphan reports as **advisory** until #130 lands the reader.
*
* @module
*/
import { defineFactGate } from '../gate.js';
import { finding } from '../finding.js';
import { memoryContext } from '../engine.js';
/** The gate id — namespaces every {@link Finding} it emits. */
const RULE_ID = 'gauntlet/active-modeled-surface-reader';
/** Build one finding for an active surface with unread load-bearing fields. */
function unreadFieldsFinding(entry) {
const severity = entry.promotion === 'blocking' ? 'error' : 'advisory';
const unread = entry.unreadFields.join(', ');
const read = entry.readFields.length > 0 ? entry.readFields.join(', ') : '(none)';
const readers = entry.readerFiles.join(', ');
return finding({
ruleId: RULE_ID,
severity,
level: 'L2',
title: `Active surface '${entry.family}' has unread fields: ${unread}`,
detail: `The '${entry.family}' node family is ACTIVE (live in the document graph) but ${entry.unreadFields.length} load-bearing field(s) — ${unread} — have NO read in the enrolled reader path(s) (${readers}). Fields read: ${read}. Required: ${entry.requiredFields.join(', ')}. This is field-level orphan detection (#132): a declaration without its consumer. Severity ${severity} (${entry.promotion}) — blocking when the interpreter lands (#130).`,
location: { file: entry.readerFiles[0] ?? 'packages/core/src/document-graph.ts', line: 1 },
coverageClass: 'symbol-evidenced',
remediation: {
kind: 'instruction',
description: 'Wire the reader — an active modeled surface must be completed by a projection.',
steps: [
`Implement or extend the '${entry.family}' interpreter/lowerer to READ ${unread}.`,
'Derive obligations from the type union — do not hand-maintain a string symbol list.',
'Re-run the active-surface oracle so the unread list clears.',
],
},
});
}
/**
* THE DECISION — data in, findings out, NO context. One finding per active surface
* with ≥1 unread required field; inactive or fully-read surfaces emit nothing.
*/
export function decideActiveSurfaceReaders(facts) {
const pack = facts.activeSurfaceFacts;
if (pack === undefined)
return [];
const findings = [];
for (const entry of pack.surfaces) {
if (!entry.active || entry.unreadFields.length === 0)
continue;
findings.push(unreadFieldsFinding(entry));
}
return findings;
}
// ── Fixtures (synthetic TransitionNode — born red, no motion symbols) ───────
function factContext(facts) {
return { ...memoryContext({}), activeSurfaceFacts: facts };
}
function surface(readFields, promotion, unreadFields) {
const required = ['fromPose', 'toPose', 'routing', 'durationMs'];
return Object.freeze({
surfaces: Object.freeze([
Object.freeze({
family: 'transition',
requiredFields: Object.freeze([...required]),
readFields: Object.freeze([...readFields]),
active: true,
readerFiles: Object.freeze(['fixtures/transition-orphan.ts']),
unreadFields: Object.freeze([...unreadFields]),
promotion,
}),
]),
});
}
/** RED — active transition with routing/durationMs unread (synthetic orphan). */
const RED_FACTS = surface([], 'blocking', ['fromPose', 'toPose', 'routing', 'durationMs']);
/** GREEN — all four TransitionNode fields observed in a reader. */
const GREEN_FACTS = surface(['fromPose', 'toPose', 'routing', 'durationMs'], 'blocking', []);
/**
* The active-modeled-surface-has-reader gate — #132 completeness backstop.
* Self-proves via synthetic TransitionNode fixtures; live repo orphan is advisory.
*/
export const activeModeledSurfaceReaderGate = defineFactGate({
id: RULE_ID,
level: 'L2',
describe: 'FactGate: declares it consumes ActiveSurfaceFacts and reports load-bearing fields on active modeled surfaces that no enrolled reader path reads (field-level orphan). TransitionNode is the first target; live orphan is advisory until #130.',
requires: ['activeSurfaceFacts'],
decide: (facts) => decideActiveSurfaceReaders(facts),
fixtures: {
red: {
name: 'an active TransitionNode with no reader — all four fields unread',
context: factContext(RED_FACTS),
},
green: {
name: 'a TransitionNode whose reader reads fromPose, toPose, routing, and durationMs',
context: factContext(GREEN_FACTS),
},
mutation: {
describe: 'A mutant that IGNORES ActiveSurfaceFacts (returns no findings) reports NO orphan on the red fixture — red is no longer flagged and the mutant is killed.',
mutate: (gate) => {
const blind = () => [];
return {
...gate,
decide: blind,
run: () => blind(),
};
},
},
},
});
//# sourceMappingURL=active-modeled-surface-reader.js.map
{"version":3,"file":"active-modeled-surface-reader.js","sourceRoot":"","sources":["../../src/gates/active-modeled-surface-reader.ts"],"names":[],"mappings":"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"}
/**
* Token-level early-return detector — lean fallback when the AST detector is not injected.
*
* @module
*/
export interface EarlyReturnMatch {
readonly line: number;
readonly token: string;
}
/**
* Best-effort scan for `return;` inside `it(` / `test(` callbacks before `expect(`.
* The AST detector (`detectEarlyReturnBeforeExpectAST`) is authoritative when injected.
*/
export declare function detectEarlyReturnBeforeExpect(source: string): readonly EarlyReturnMatch[];
//# sourceMappingURL=early-return-detect.d.ts.map
{"version":3,"file":"early-return-detect.d.ts","sourceRoot":"","sources":["../../src/gates/early-return-detect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAcD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,gBAAgB,EAAE,CA2CzF"}
/**
* Token-level early-return detector — lean fallback when the AST detector is not injected.
*
* @module
*/
import { codeOnly } from './code-only.js';
const BARE_RETURN = /\breturn(?:\s+[A-Za-z_$][\w$]*)?\s*;/;
const TEST_RUNNER_START = /(^|[^\w$.])(?:it|test)\s*\(/;
const CONTROL_FLOW_HEADS = new Set(['if', 'for', 'while', 'switch', 'catch', 'with']);
function startsNestedFunction(line) {
if (/\bfunction\b/.test(line) || /=>\s*\{/.test(line))
return true;
const trimmed = line.trimStart();
const method = /^(?:static\s+)?(?:async\s+)?([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*(?::[^{]+)?\{/.exec(trimmed);
if (method !== null)
return !CONTROL_FLOW_HEADS.has(method[1]);
return /[,{]\s*(?:static\s+)?(?:async\s+)?[A-Za-z_$][\w$]*\s*\([^)]*\)\s*(?::[^{]+)?\{/.test(line);
}
/**
* Best-effort scan for `return;` inside `it(` / `test(` callbacks before `expect(`.
* The AST detector (`detectEarlyReturnBeforeExpectAST`) is authoritative when injected.
*/
export function detectEarlyReturnBeforeExpect(source) {
const matches = [];
const src = codeOnly(source);
const lines = src.split('\n');
let inTest = false;
let braceDepth = 0;
let sawExpect = false;
const nestedFunctionDepths = [];
for (let i = 0; i < lines.length; i++) {
const line = lines[i] ?? '';
const startsTest = TEST_RUNNER_START.test(line);
if (startsTest) {
inTest = true;
braceDepth = 0;
sawExpect = false;
nestedFunctionDepths.length = 0;
}
if (!inTest)
continue;
if (/\bexpect\s*\(/.test(line))
sawExpect = true;
const opens = (line.match(/\{/g) ?? []).length;
const closes = (line.match(/\}/g) ?? []).length;
if (!startsTest && startsNestedFunction(line)) {
nestedFunctionDepths.push(braceDepth + opens - closes);
}
if (!sawExpect && nestedFunctionDepths.length === 0 && BARE_RETURN.test(line)) {
matches.push({ line: i + 1, token: 'return;' });
}
braceDepth += opens;
braceDepth -= closes;
while (nestedFunctionDepths.length > 0 && braceDepth < nestedFunctionDepths[nestedFunctionDepths.length - 1]) {
nestedFunctionDepths.pop();
}
if (braceDepth <= 0 && line.includes('}') && i > 0) {
inTest = false;
nestedFunctionDepths.length = 0;
}
}
return matches;
}
//# sourceMappingURL=early-return-detect.js.map
{"version":3,"file":"early-return-detect.js","sourceRoot":"","sources":["../../src/gates/early-return-detect.ts"],"names":[],"mappings":"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"}
/**
* Gate: no early-return test — bare `return;` in a test body before the first
* `expect(...)` ships green while proving nothing. Use `test.skipIf(capability)`
* for honest capability gates instead.
*
* @module
*/
import { type Gate } from '../gate.js';
import { type EarlyReturnMatch } from './early-return-detect.js';
export declare const noEarlyReturnTestGate: Gate;
export type { EarlyReturnMatch };
//# sourceMappingURL=no-early-return-test.d.ts.map
{"version":3,"file":"no-early-return-test.d.ts","sourceRoot":"","sources":["../../src/gates/no-early-return-test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgC,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAIrE,OAAO,EAAiC,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAiDhG,eAAO,MAAM,qBAAqB,EAAE,IA4BlC,CAAC;AAEH,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
/**
* Gate: no early-return test — bare `return;` in a test body before the first
* `expect(...)` ships green while proving nothing. Use `test.skipIf(capability)`
* for honest capability gates instead.
*
* @module
*/
import { defineGate } from '../gate.js';
import { finding } from '../finding.js';
import { memoryContext } from '../engine.js';
import { stableEvidenceDigest } from '../verdict-cache.js';
import { detectEarlyReturnBeforeExpect } from './early-return-detect.js';
function governedFiles(context) {
const judged = context.files();
const all = context.allFiles !== undefined ? context.allFiles() : judged;
const union = new Set([...judged, ...all]);
return [...union].filter((f) => f.endsWith('.test.ts') && !/(?:^|\/)tests\/generated\//.test(f)).sort();
}
function scan(context) {
const detect = context.earlyReturnDetector ?? detectEarlyReturnBeforeExpect;
const findings = [];
for (const file of governedFiles(context)) {
const text = context.readFile(file);
if (text === undefined)
continue;
const hits = detect(text);
for (const hit of hits) {
findings.push(finding({
ruleId: 'gauntlet/no-early-return-test',
severity: 'error',
level: 'L2',
title: 'Early return before expect — green while proving nothing',
detail: `${file}:${hit.line} carries \`return;\` before any \`expect(...)\`. A bare return ships GREEN while asserting nothing — use \`test.skipIf(<capability>)\` and enumerate the skip in the sanctioned-skip allowlist instead.`,
location: { file, line: hit.line },
remediation: {
kind: 'instruction',
description: 'Replace the silent early return with an honest capability skip or real assertions.',
steps: [
'If the test needs a missing capability, rewrite as `test.skipIf(!capability)(...)` and add a sanctioned-skip allowlist entry.',
'If the test should run, remove the early return and assert real behavior.',
],
},
}));
}
}
return findings;
}
function evidenceDigest(context) {
const entries = [];
for (const file of governedFiles(context)) {
const text = context.readFile(file);
if (text !== undefined)
entries.push([file, text]);
}
return stableEvidenceDigest(entries);
}
export const noEarlyReturnTestGate = defineGate({
id: 'gauntlet/no-early-return-test',
level: 'L2',
describe: 'Flags bare `return;` in test bodies before the first `expect(...)` — a silent pass disguised as coverage.',
run: scan,
evidenceDigest,
fixtures: {
red: {
name: 'a test that returns before any expect',
context: memoryContext({
'tests/unit/widget/silent-pass.test.ts': "it('bails silently', () => {\n if (!process.env.FEATURE) return;\n expect(1).toBe(1);\n});\n",
}),
},
green: {
name: 'a test with expect before any guard return',
context: memoryContext({
'tests/unit/widget/real.test.ts': "it('asserts first', () => {\n expect(1).toBe(1);\n});\n",
}),
},
mutation: {
describe: 'A gate that ignores early returns lets the red fixture escape.',
mutate: (gate) => ({
...gate,
run: () => [],
}),
},
},
});
//# sourceMappingURL=no-early-return-test.js.map
{"version":3,"file":"no-early-return-test.js","sourceRoot":"","sources":["../../src/gates/no-early-return-test.ts"],"names":[],"mappings":"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"}
/**
* Active-surface FactPack — the type-only fact shape for field-level
* active-modeled-surface-has-reader (#132). NO `typescript` dependency: the
* HOST (`@czap/audit`'s `buildActiveSurfaceFacts`) produces these facts;
* the {@link activeModeledSurfaceReaderGate} decides over them.
*
* @module
*/
/** Blocking promotion — gates earn blocking via fixtures. The live TransitionNode path is now
* `'blocking'` (#130 landed `interpretTransition`, which reads the fields — the gate self-proves green). */
export type ActiveSurfacePromotion = 'advisory' | 'blocking';
/**
* One active modeled surface and the field-read verdict the oracle computed.
* Obligations derive from the node-family union + status — never a hand-maintained
* string registry in gauntlet.
*/
export interface ActiveSurfaceEntry {
/** Document-graph node family — e.g. `'transition'`. */
readonly family: string;
/** Load-bearing fields that MUST be read when this surface is active. */
readonly requiredFields: readonly string[];
/** Fields the oracle observed a reader path accessing. */
readonly readFields: readonly string[];
/** Whether this surface is live in the repo (constructed / imported / sealed). */
readonly active: boolean;
/** Reader paths the oracle scanned (interpreter / lowerer / runtime). */
readonly readerFiles: readonly string[];
/** Required fields with no observed read — empty when inactive or fully wired. */
readonly unreadFields: readonly string[];
/**
* Severity floor for unread fields. Now `'blocking'` for the live TransitionNode path —
* #130 landed the `interpretTransition` reader, so the gate self-proves green at blocking.
* (`'advisory'` remains available; self-proof fixtures also exercise `'blocking'`.)
*/
readonly promotion: ActiveSurfacePromotion;
}
/** The injected FactPack — one row per enrolled active surface. */
export interface ActiveSurfaceFacts {
readonly surfaces: readonly ActiveSurfaceEntry[];
}
/**
* Gate: active-modeled-surface-has-reader — field-level orphan detection (#132).
*
* A live modeled surface whose load-bearing fields no interpreter/lowerer/runtime path
* reads is an unfinished capability — dead data inside a live type (`TransitionNode`
* with unread `routing`/`durationMs`). This FactGate folds the host-produced
* {@link ActiveSurfaceFacts} and reports unread fields; it proves **wired, not correct**.
*
* LEAN BY CONSTRUCTION: no `typescript` import — the audit oracle produces facts;
* this gate only decides. Earns blocking authority via red/green/mutation fixtures;
* the live TransitionNode orphan reports as **advisory** until #130 lands the reader.
*
* @module
*/
import { defineFactGate, type FactBundle, type FactGate, type Gate, type GateContext } from '../gate.js';
import { finding, type Finding } from '../finding.js';
import { memoryContext } from '../engine.js';
import type { ActiveSurfaceEntry, ActiveSurfaceFacts, ActiveSurfacePromotion } from '../active-surface-facts.js';
/** The gate id — namespaces every {@link Finding} it emits. */
const RULE_ID = 'gauntlet/active-modeled-surface-reader';
/** Build one finding for an active surface with unread load-bearing fields. */
function unreadFieldsFinding(entry: ActiveSurfaceEntry): Finding {
const severity = entry.promotion === 'blocking' ? 'error' : 'advisory';
const unread = entry.unreadFields.join(', ');
const read = entry.readFields.length > 0 ? entry.readFields.join(', ') : '(none)';
const readers = entry.readerFiles.join(', ');
return finding({
ruleId: RULE_ID,
severity,
level: 'L2',
title: `Active surface '${entry.family}' has unread fields: ${unread}`,
detail: `The '${entry.family}' node family is ACTIVE (live in the document graph) but ${entry.unreadFields.length} load-bearing field(s) — ${unread} — have NO read in the enrolled reader path(s) (${readers}). Fields read: ${read}. Required: ${entry.requiredFields.join(', ')}. This is field-level orphan detection (#132): a declaration without its consumer. Severity ${severity} (${entry.promotion}) — blocking when the interpreter lands (#130).`,
location: { file: entry.readerFiles[0] ?? 'packages/core/src/document-graph.ts', line: 1 },
coverageClass: 'symbol-evidenced',
remediation: {
kind: 'instruction',
description: 'Wire the reader — an active modeled surface must be completed by a projection.',
steps: [
`Implement or extend the '${entry.family}' interpreter/lowerer to READ ${unread}.`,
'Derive obligations from the type union — do not hand-maintain a string symbol list.',
'Re-run the active-surface oracle so the unread list clears.',
],
},
});
}
/**
* THE DECISION — data in, findings out, NO context. One finding per active surface
* with ≥1 unread required field; inactive or fully-read surfaces emit nothing.
*/
export function decideActiveSurfaceReaders(facts: FactBundle): readonly Finding[] {
const pack = facts.activeSurfaceFacts;
if (pack === undefined) return [];
const findings: Finding[] = [];
for (const entry of pack.surfaces) {
if (!entry.active || entry.unreadFields.length === 0) continue;
findings.push(unreadFieldsFinding(entry));
}
return findings;
}
// ── Fixtures (synthetic TransitionNode — born red, no motion symbols) ───────
function factContext(facts: ActiveSurfaceFacts): GateContext {
return { ...memoryContext({}), activeSurfaceFacts: facts };
}
function surface(
readFields: readonly string[],
promotion: ActiveSurfacePromotion,
unreadFields: readonly string[],
): ActiveSurfaceFacts {
const required = ['fromPose', 'toPose', 'routing', 'durationMs'] as const;
return Object.freeze({
surfaces: Object.freeze([
Object.freeze({
family: 'transition',
requiredFields: Object.freeze([...required]),
readFields: Object.freeze([...readFields]),
active: true,
readerFiles: Object.freeze(['fixtures/transition-orphan.ts']),
unreadFields: Object.freeze([...unreadFields]),
promotion,
}),
]),
});
}
/** RED — active transition with routing/durationMs unread (synthetic orphan). */
const RED_FACTS = surface([], 'blocking', ['fromPose', 'toPose', 'routing', 'durationMs']);
/** GREEN — all four TransitionNode fields observed in a reader. */
const GREEN_FACTS = surface(['fromPose', 'toPose', 'routing', 'durationMs'], 'blocking', []);
/**
* The active-modeled-surface-has-reader gate — #132 completeness backstop.
* Self-proves via synthetic TransitionNode fixtures; live repo orphan is advisory.
*/
export const activeModeledSurfaceReaderGate: FactGate = defineFactGate({
id: RULE_ID,
level: 'L2',
describe:
'FactGate: declares it consumes ActiveSurfaceFacts and reports load-bearing fields on active modeled surfaces that no enrolled reader path reads (field-level orphan). TransitionNode is the first target; live orphan is advisory until #130.',
requires: ['activeSurfaceFacts'],
decide: (facts) => decideActiveSurfaceReaders(facts),
fixtures: {
red: {
name: 'an active TransitionNode with no reader — all four fields unread',
context: factContext(RED_FACTS),
},
green: {
name: 'a TransitionNode whose reader reads fromPose, toPose, routing, and durationMs',
context: factContext(GREEN_FACTS),
},
mutation: {
describe:
'A mutant that IGNORES ActiveSurfaceFacts (returns no findings) reports NO orphan on the red fixture — red is no longer flagged and the mutant is killed.',
mutate: (gate: Gate): Gate => {
const blind = (): readonly Finding[] => [];
return {
...gate,
decide: blind,
run: (): readonly Finding[] => blind(),
};
},
},
},
});
/**
* Token-level early-return detector — lean fallback when the AST detector is not injected.
*
* @module
*/
import { codeOnly } from './code-only.js';
export interface EarlyReturnMatch {
readonly line: number;
readonly token: string;
}
const BARE_RETURN = /\breturn(?:\s+[A-Za-z_$][\w$]*)?\s*;/;
const TEST_RUNNER_START = /(^|[^\w$.])(?:it|test)\s*\(/;
const CONTROL_FLOW_HEADS = new Set(['if', 'for', 'while', 'switch', 'catch', 'with']);
function startsNestedFunction(line: string): boolean {
if (/\bfunction\b/.test(line) || /=>\s*\{/.test(line)) return true;
const trimmed = line.trimStart();
const method = /^(?:static\s+)?(?:async\s+)?([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*(?::[^{]+)?\{/.exec(trimmed);
if (method !== null) return !CONTROL_FLOW_HEADS.has(method[1]!);
return /[,{]\s*(?:static\s+)?(?:async\s+)?[A-Za-z_$][\w$]*\s*\([^)]*\)\s*(?::[^{]+)?\{/.test(line);
}
/**
* Best-effort scan for `return;` inside `it(` / `test(` callbacks before `expect(`.
* The AST detector (`detectEarlyReturnBeforeExpectAST`) is authoritative when injected.
*/
export function detectEarlyReturnBeforeExpect(source: string): readonly EarlyReturnMatch[] {
const matches: EarlyReturnMatch[] = [];
const src = codeOnly(source);
const lines = src.split('\n');
let inTest = false;
let braceDepth = 0;
let sawExpect = false;
const nestedFunctionDepths: number[] = [];
for (let i = 0; i < lines.length; i++) {
const line = lines[i] ?? '';
const startsTest = TEST_RUNNER_START.test(line);
if (startsTest) {
inTest = true;
braceDepth = 0;
sawExpect = false;
nestedFunctionDepths.length = 0;
}
if (!inTest) continue;
if (/\bexpect\s*\(/.test(line)) sawExpect = true;
const opens = (line.match(/\{/g) ?? []).length;
const closes = (line.match(/\}/g) ?? []).length;
if (!startsTest && startsNestedFunction(line)) {
nestedFunctionDepths.push(braceDepth + opens - closes);
}
if (!sawExpect && nestedFunctionDepths.length === 0 && BARE_RETURN.test(line)) {
matches.push({ line: i + 1, token: 'return;' });
}
braceDepth += opens;
braceDepth -= closes;
while (nestedFunctionDepths.length > 0 && braceDepth < nestedFunctionDepths[nestedFunctionDepths.length - 1]!) {
nestedFunctionDepths.pop();
}
if (braceDepth <= 0 && line.includes('}') && i > 0) {
inTest = false;
nestedFunctionDepths.length = 0;
}
}
return matches;
}
/**
* Gate: no early-return test — bare `return;` in a test body before the first
* `expect(...)` ships green while proving nothing. Use `test.skipIf(capability)`
* for honest capability gates instead.
*
* @module
*/
import { defineGate, type GateContext, type Gate } from '../gate.js';
import { finding, type Finding } from '../finding.js';
import { memoryContext } from '../engine.js';
import { stableEvidenceDigest } from '../verdict-cache.js';
import { detectEarlyReturnBeforeExpect, type EarlyReturnMatch } from './early-return-detect.js';
function governedFiles(context: GateContext): readonly string[] {
const judged = context.files();
const all = context.allFiles !== undefined ? context.allFiles() : judged;
const union = new Set<string>([...judged, ...all]);
return [...union].filter((f) => f.endsWith('.test.ts') && !/(?:^|\/)tests\/generated\//.test(f)).sort();
}
function scan(context: GateContext): readonly Finding[] {
const detect = context.earlyReturnDetector ?? detectEarlyReturnBeforeExpect;
const findings: Finding[] = [];
for (const file of governedFiles(context)) {
const text = context.readFile(file);
if (text === undefined) continue;
const hits = detect(text);
for (const hit of hits) {
findings.push(
finding({
ruleId: 'gauntlet/no-early-return-test',
severity: 'error',
level: 'L2',
title: 'Early return before expect — green while proving nothing',
detail: `${file}:${hit.line} carries \`return;\` before any \`expect(...)\`. A bare return ships GREEN while asserting nothing — use \`test.skipIf(<capability>)\` and enumerate the skip in the sanctioned-skip allowlist instead.`,
location: { file, line: hit.line },
remediation: {
kind: 'instruction',
description: 'Replace the silent early return with an honest capability skip or real assertions.',
steps: [
'If the test needs a missing capability, rewrite as `test.skipIf(!capability)(...)` and add a sanctioned-skip allowlist entry.',
'If the test should run, remove the early return and assert real behavior.',
],
},
}),
);
}
}
return findings;
}
function evidenceDigest(context: GateContext): string {
const entries: [string, string][] = [];
for (const file of governedFiles(context)) {
const text = context.readFile(file);
if (text !== undefined) entries.push([file, text]);
}
return stableEvidenceDigest(entries);
}
export const noEarlyReturnTestGate: Gate = defineGate({
id: 'gauntlet/no-early-return-test',
level: 'L2',
describe: 'Flags bare `return;` in test bodies before the first `expect(...)` — a silent pass disguised as coverage.',
run: scan,
evidenceDigest,
fixtures: {
red: {
name: 'a test that returns before any expect',
context: memoryContext({
'tests/unit/widget/silent-pass.test.ts':
"it('bails silently', () => {\n if (!process.env.FEATURE) return;\n expect(1).toBe(1);\n});\n",
}),
},
green: {
name: 'a test with expect before any guard return',
context: memoryContext({
'tests/unit/widget/real.test.ts': "it('asserts first', () => {\n expect(1).toBe(1);\n});\n",
}),
},
mutation: {
describe: 'A gate that ignores early returns lets the red fixture escape.',
mutate: (gate: Gate): Gate => ({
...gate,
run: (): readonly Finding[] => [],
}),
},
},
});
export type { EarlyReturnMatch };
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAA+B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,KAAK,gBAAgB,EAAgD,MAAM,oBAAoB,CAAC;AAEzG,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,wEAAwE;IACxE,QAAQ,CAAC,cAAc,EAAE,SAAS,OAAO,EAAE,CAAC;CAC7C;AAED,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,8GAA8G;IAC9G,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7C;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC/D,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,2GAA2G;IAC3G,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IACpB;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAyBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,SAAS,SAAS,EAAE,EACzB,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,GACpD,WAAW,CAmIb;AAiGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,GAAE,eAAoB,GAAG,cAAc,CAwEjH;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,QAAQ,SAAa,GAAG,WAAW,CAWzG;AAED,6DAA6D;AAC7D,YAAY,EAAE,QAAQ,EAAE,CAAC"}
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAA+B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,KAAK,gBAAgB,EAAgD,MAAM,oBAAoB,CAAC;AAEzG,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,wEAAwE;IACxE,QAAQ,CAAC,cAAc,EAAE,SAAS,OAAO,EAAE,CAAC;CAC7C;AAED,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,8GAA8G;IAC9G,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7C;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC/D,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,2GAA2G;IAC3G,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IACpB;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAyBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,SAAS,SAAS,EAAE,EACzB,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,GACpD,WAAW,CAqIb;AAiGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,GAAE,eAAoB,GAAG,cAAc,CAwEjH;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,QAAQ,SAAa,GAAG,WAAW,CAWzG;AAED,6DAA6D;AAC7D,YAAY,EAAE,QAAQ,EAAE,CAAC"}

@@ -70,2 +70,3 @@ /**

...(context.skipDetector !== undefined ? { skipDetector: context.skipDetector } : {}),
...(context.earlyReturnDetector !== undefined ? { earlyReturnDetector: context.earlyReturnDetector } : {}),
// SAME pass-through for the injected sound `codeOnly` scanner: without it a scoped (assurance-map)

@@ -183,2 +184,3 @@ // run drops `codeOnly`, so no-bare-throw / no-nondeterminism / no-silent-catch silently fall back

...(context.skipSites !== undefined ? { skipSites: context.skipSites } : {}),
...(context.activeSurfaceFacts !== undefined ? { activeSurfaceFacts: context.activeSurfaceFacts } : {}),
};

@@ -185,0 +187,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}

@@ -54,3 +54,3 @@ /**

*/
export declare const FACT_CHANNELS: readonly ["supplyChain", "mutation", "mcdc", "simulation", "traceability", "standards", "declaredFix", "taint", "capabilityLink", "fuzzCorpus", "proof", "composition", "skipSites"];
export declare const FACT_CHANNELS: readonly ["supplyChain", "mutation", "mcdc", "simulation", "traceability", "standards", "declaredFix", "taint", "capabilityLink", "fuzzCorpus", "proof", "composition", "skipSites", "activeSurfaceFacts"];
/** One injected-fact channel name — derived from {@link FACT_CHANNELS}, never re-typed. */

@@ -57,0 +57,0 @@ export type FactChannel = (typeof FACT_CHANNELS)[number];

@@ -1,1 +0,1 @@

{"version":3,"file":"evidence-recorder.d.ts","sourceRoot":"","sources":["../src/evidence-recorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,sLAchB,CAAC;AAEX,2FAA2F;AAC3F,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAG,SAAkB,CAAC;AAEhD,kEAAkE;AAClE,MAAM,MAAM,UAAU,GAAG,GAAG,WAAW,GAAG,OAAO,aAAa,EAAE,CAAC;AA2BjE,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,8FAA8F;IAC9F,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,8FAA8F;IAC9F,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,gBAAgB,CAmEpE"}
{"version":3,"file":"evidence-recorder.d.ts","sourceRoot":"","sources":["../src/evidence-recorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,4MAehB,CAAC;AAEX,2FAA2F;AAC3F,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAG,SAAkB,CAAC;AAEhD,kEAAkE;AAClE,MAAM,MAAM,UAAU,GAAG,GAAG,WAAW,GAAG,OAAO,aAAa,EAAE,CAAC;AA2BjE,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,8FAA8F;IAC9F,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,8FAA8F;IAC9F,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,gBAAgB,CAmEpE"}

@@ -67,2 +67,3 @@ /**

'skipSites',
'activeSurfaceFacts',
];

@@ -69,0 +70,0 @@ /**

@@ -1,1 +0,1 @@

{"version":3,"file":"evidence-recorder.js","sourceRoot":"","sources":["../src/evidence-recorder.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"evidence-recorder.js","sourceRoot":"","sources":["../src/evidence-recorder.ts"],"names":[],"mappings":"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"}

@@ -17,2 +17,3 @@ /**

import type { AssuranceLevel } from './assurance.js';
import type { EarlyReturnMatch } from './gates/early-return-detect.js';
import type { Finding } from './finding.js';

@@ -34,2 +35,3 @@ import type { FileId, RepoIR } from './repo-ir.js';

import type { SkipSiteFacts } from './skip-site-facts.js';
import type { ActiveSurfaceFacts } from './active-surface-facts.js';
/**

@@ -80,2 +82,9 @@ * What a gate runs against. Slice A keeps it minimal + extensible; Slice B

/**
* The SOUND early-return detector — an INJECTED capability. `@czap/gauntlet` carries NO
* `typescript` dep; the token `detectEarlyReturnBeforeExpect` is its fallback. The host injects
* `detectEarlyReturnBeforeExpectAST` from `@czap/audit`. The no-early-return-test gate calls
* `(context.earlyReturnDetector ?? detectEarlyReturnBeforeExpect)(text)`.
*/
readonly earlyReturnDetector?: (source: string) => readonly EarlyReturnMatch[];
/**
* The sound, parser-backed `codeOnly` floor — an INJECTED capability, the same shape as

@@ -311,2 +320,10 @@ * {@link skipDetector}. The lean char-state-machine `codeOnly` (gates/code-only.ts) is the

readonly skipSites?: SkipSiteFacts;
/**
* Pre-computed ACTIVE-SURFACE field-read evidence — an INJECTED FactPack (#132).
* The HOST (`@czap/audit`'s `buildActiveSurfaceFacts`) scans reader paths with
* TS-AST and lands flat {@link ActiveSurfaceFacts}; the
* {@link activeModeledSurfaceReaderGate} decides over them. When ABSENT the gate
* folds an empty verdict. See {@link ActiveSurfaceFacts}.
*/
readonly activeSurfaceFacts?: ActiveSurfaceFacts;
}

@@ -436,3 +453,3 @@ /**

*/
export declare const FACT_KINDS: readonly ["skipSites"];
export declare const FACT_KINDS: readonly ["skipSites", "activeSurfaceFacts"];
/** One FactKind — derived from {@link FACT_KINDS}, never re-typed. */

@@ -447,2 +464,3 @@ export type FactKind = (typeof FACT_KINDS)[number];

readonly skipSites?: SkipSiteFacts;
readonly activeSurfaceFacts?: ActiveSurfaceFacts;
}

@@ -449,0 +467,0 @@ /**

@@ -1,1 +0,1 @@

{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}

@@ -26,3 +26,3 @@ /**

*/
export const FACT_KINDS = ['skipSites'];
export const FACT_KINDS = ['skipSites', 'activeSurfaceFacts'];
const SKIP_SITE_FORMS = new Set(['call', 'conditional', 'alias', 'computed', 'aliased']);

@@ -84,2 +84,46 @@ function isPlainRecord(value) {

}
const ACTIVE_SURFACE_PROMOTIONS = new Set(['advisory', 'blocking']);
function normalizeActiveSurfaceFacts(value) {
if (value === undefined)
return undefined;
assertPlainFactRecord(value, 'activeSurfaceFacts');
const surfaces = ownDataField(value, 'surfaces');
if (!Array.isArray(surfaces)) {
throw ValidationError('FactGate', 'activeSurfaceFacts.surfaces must be an array');
}
const normalized = surfaces.map((entry, index) => {
assertPlainFactRecord(entry, `activeSurfaceFacts.surfaces[${index}]`);
const family = ownDataField(entry, 'family');
const requiredFields = ownDataField(entry, 'requiredFields');
const readFields = ownDataField(entry, 'readFields');
const active = ownDataField(entry, 'active');
const readerFiles = ownDataField(entry, 'readerFiles');
const unreadFields = ownDataField(entry, 'unreadFields');
const promotion = ownDataField(entry, 'promotion');
if (typeof family !== 'string' ||
!Array.isArray(requiredFields) ||
!requiredFields.every((f) => typeof f === 'string') ||
!Array.isArray(readFields) ||
!readFields.every((f) => typeof f === 'string') ||
typeof active !== 'boolean' ||
!Array.isArray(readerFiles) ||
!readerFiles.every((f) => typeof f === 'string') ||
!Array.isArray(unreadFields) ||
!unreadFields.every((f) => typeof f === 'string') ||
typeof promotion !== 'string' ||
!ACTIVE_SURFACE_PROMOTIONS.has(promotion)) {
throw ValidationError('FactGate', `activeSurfaceFacts.surfaces[${index}] is malformed`);
}
return Object.freeze({
family,
requiredFields: Object.freeze([...requiredFields]),
readFields: Object.freeze([...readFields]),
active,
readerFiles: Object.freeze([...readerFiles]),
unreadFields: Object.freeze([...unreadFields]),
promotion: promotion,
});
});
return Object.freeze({ surfaces: Object.freeze(normalized) });
}
/**

@@ -139,2 +183,5 @@ * Define a gate — the one constructor. Validates the spec eagerly (a gate with

break;
case 'activeSurfaceFacts':
bundle.activeSurfaceFacts = normalizeActiveSurfaceFacts(context.activeSurfaceFacts);
break;
default: {

@@ -164,2 +211,7 @@ // Exhaustiveness: adding a FactKind without teaching this pick fails to compile here

break;
case 'activeSurfaceFacts':
// Raw fold for cache soundness — normalization strips unknown keys (e.g. the
// evidence-law perturbation salt) that must still flip the digest.
fact = context.activeSurfaceFacts;
break;
default: {

@@ -166,0 +218,0 @@ // Exhaustiveness: a new FactKind must be folded here, or the build fails — never a

@@ -1,1 +0,1 @@

{"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}

@@ -52,3 +52,3 @@ /**

*/
export declare const SKIP_CAPABILITIES: readonly ["ffmpeg-absent", "wasm-absent", "wasm-dist-staged", "shared-array-buffer-absent", "coverage-instrumentation", "astro-example-not-built"];
export declare const SKIP_CAPABILITIES: readonly ["ffmpeg-absent", "wasm-absent", "wasm-dist-staged", "shared-array-buffer-absent", "coverage-instrumentation", "astro-example-not-built", "offscreen-canvas-absent", "webcodecs-absent", "gpu-absent", "eacces-untestable-as-root", "symlink-unprivileged", "fixture-absent", "capsule-manifest-absent"];
/** The closed capability union — derived from the single-source {@link SKIP_CAPABILITIES} list. */

@@ -55,0 +55,0 @@ export type SkipCapability = (typeof SKIP_CAPABILITIES)[number];

@@ -1,1 +0,1 @@

{"version":3,"file":"skip-allowlist.d.ts","sourceRoot":"","sources":["../../src/gates/skip-allowlist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,oJAOpB,CAAC;AAEX,mGAAmG;AACnG,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,8HAA8H;AAC9H,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,kFAAkF;IAClF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAUrD,CAAC;AAOF;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElE;AA0DD;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,GAAG,eAAe,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,cAAc,EAC1B,WAAW,CAAC,EAAE,kBAAkB,GAC/B,OAAO,CAUT;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EA2FrD,CAAC;AAsBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,kBAAkB,GAC/B,cAAc,GAAG,SAAS,CAS5B;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE3F"}
{"version":3,"file":"skip-allowlist.d.ts","sourceRoot":"","sources":["../../src/gates/skip-allowlist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,mTAcpB,CAAC;AAEX,mGAAmG;AACnG,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,8HAA8H;AAC9H,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,kFAAkF;IAClF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAUrD,CAAC;AAOF;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElE;AAiED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,GAAG,eAAe,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,cAAc,EAC1B,WAAW,CAAC,EAAE,kBAAkB,GAC/B,OAAO,CAUT;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EA6JrD,CAAC;AAsBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,kBAAkB,GAC/B,cAAc,GAAG,SAAS,CAS5B;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE3F"}

@@ -59,2 +59,9 @@ /**

'astro-example-not-built', // the built Astro example dist is absent (the integration build runs before the e2e lane)
'offscreen-canvas-absent', // OffscreenCanvas / transferControlToOffscreen is unavailable in the browser harness
'webcodecs-absent', // VideoEncoder / VideoFrame unavailable in the browser harness
'gpu-absent', // a real WebGPU device is unavailable in the CI/jsdom harness
'eacces-untestable-as-root', // chmod 0o000 EACCES semantics are not enforceable when the test process runs as root
'symlink-unprivileged', // directory symlink creation is unavailable (typically Windows without Developer Mode/admin)
'fixture-absent', // a committed optional fixture asset is absent in this checkout
'capsule-manifest-absent', // capsule:compile has not produced the manifest needed for corpus-derived proofs
];

@@ -147,2 +154,9 @@ /** Narrow an arbitrary string to a {@link SkipCapability} (the runtime guard for a parsed value) — `undefined` if unknown. */

['astro-example-not-built', ['astro', 'built']],
['offscreen-canvas-absent', ['offscreen', 'canvas', 'transfercontrol']],
['webcodecs-absent', ['webcodecs', 'videoencoder', 'videoframe']],
['gpu-absent', ['webgpu', 'gpu', 'navigator']],
['eacces-untestable-as-root', ['eacces', 'chmod', 'root', 'permission']],
['symlink-unprivileged', ['symlink', 'privilege', 'windows', 'developer']],
['fixture-absent', ['fixture', 'asset', 'wav']],
['capsule-manifest-absent', ['capsule', 'manifest', 'compile', 'corpus']],
]);

@@ -284,2 +298,8 @@ /**

{
file: 'tests/unit/devops/audit-consumer-mode.test.ts',
site: "it.skipIf(symlinkUnprivileged)('resolves the pnpm virtual-store layout via realpath re-seeding', () => {",
capability: 'symlink-unprivileged',
why: 'the pnpm virtual-store realpath proof needs directory symlinks; Windows without symlink privilege skips while npm-shaped consumer discovery still runs.',
},
{
file: 'tests/unit/core/wasm-parity.test.ts',

@@ -303,2 +323,14 @@ site: "describe.skipIf(!wasmPresent)('WASM/TS kernel parity (czap-compute vs fallbackKernels)', () => {",

{
file: 'tests/unit/meta/generated-bench-execution.test.ts',
site: 'describe.skipIf(capsuleManifestAbsent)(',
capability: 'capsule-manifest-absent',
why: 'the generated-bench execution proof is catalog-driven from the capsule manifest; smoke lanes that do not run capsule:compile skip this corpus proof honestly.',
},
{
file: 'tests/unit/riff-walker.test.ts',
site: "it.skipIf(fixtureAbsent)('decodes the shipped intro-bed.wav fixture cleanly', () => {",
capability: 'fixture-absent',
why: 'the real RIFF fixture check needs the optional shipped intro-bed.wav asset; synthetic RIFF coverage still runs when the fixture is absent.',
},
{
file: 'tests/unit/stage/dual-export-node.test.ts',

@@ -315,2 +347,50 @@ site: "test.skip('headless dual-export end to end (skipped — codec not on PATH)', () => {",

},
{
file: 'tests/browser/render-worker-browser.test.ts',
site: "describe.skipIf(offscreenCanvasAbsent)('OffscreenCanvas-dependent flows', () => {",
capability: 'offscreen-canvas-absent',
why: 'OffscreenCanvas transfer/render browser tests need transferControlToOffscreen; absent it skips (the in-process component suite covers the worker protocol).',
},
{
file: 'tests/browser/webcodecs-capture.test.ts',
site: "describe.skipIf(webcodecsAbsent)('WebCodecsCapture — browser lane', () => {",
capability: 'webcodecs-absent',
why: 'WebCodecs VideoEncoder/VideoFrame lane runs only when the browser harness exposes reliable WebCodecs encode (WebKit is excluded — types exist but crash the harness).',
},
{
file: 'tests/unit/astro/wgpu-runtime.test.ts',
site: 'it.skipIf(gpuAbsent)(',
capability: 'gpu-absent',
why: 'the real-device WebGPU uniform-bind check runs only when navigator.gpu is present (jsdom/CI lacks a real adapter).',
},
{
file: 'tests/unit/cli/lib/gauntlet-verdict-cache.test.ts',
site: "it.skipIf(eaccesUntestableAsRoot)('a cache file with the read bit cleared (EACCES) reads as a MISS, not a throw', () => {",
capability: 'eacces-untestable-as-root',
why: 'the EACCES sound-MISS arm needs a non-root process so chmod 0o000 is enforceable.',
},
{
file: 'tests/unit/cli/lib/gauntlet-verdict-cache.test.ts',
site: "it.skipIf(eaccesUntestableAsRoot)('a mutation cache file with the read bit cleared (EACCES) reads as a MISS, not a throw', () => {",
capability: 'eacces-untestable-as-root',
why: 'the mutation-cache EACCES sound-MISS arm needs a non-root process so chmod 0o000 is enforceable.',
},
{
file: 'tests/unit/vite/boundary-manifest.test.ts',
site: "test.skipIf(symlinkUnprivileged)('scan terminates on circular directory symlinks and still derives the right entries', async () => {",
capability: 'symlink-unprivileged',
why: 'the circular-directory traversal proof needs directory symlinks; Windows without symlink privilege skips while the non-symlink scan coverage still runs.',
},
{
file: 'tests/unit/vite/boundary-manifest.test.ts',
site: "test.skipIf(symlinkUnprivileged)('follows symlinked directories to boundary definitions outside the project tree', async () => {",
capability: 'symlink-unprivileged',
why: 'the external-boundary-definition traversal proof needs directory symlinks; boundaryDir override coverage still proves the external-definition path without symlinks.',
},
{
file: 'tests/unit/vite/token-manifest.test.ts',
site: "test.skipIf(symlinkUnprivileged)('scan terminates on circular directory symlinks and still derives entries', async () => {",
capability: 'symlink-unprivileged',
why: 'the token-manifest circular-directory traversal proof needs directory symlinks; non-symlink token manifest coverage still runs.',
},
];

@@ -317,0 +397,0 @@ /**

@@ -1,1 +0,1 @@

{"version":3,"file":"skip-allowlist.js","sourceRoot":"","sources":["../../src/gates/skip-allowlist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,eAAe,EAAE,4EAA4E;IAC7F,aAAa,EAAE,0EAA0E;IACzF,kBAAkB,EAAE,gFAAgF;IACpG,4BAA4B,EAAE,4DAA4D;IAC1F,0BAA0B,EAAE,sGAAsG;IAClI,yBAAyB,EAAE,0FAA0F;CAC7G,CAAC;AAKX,8HAA8H;AAC9H,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;AACpD,CAAC;AA8BD;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,iBAAiB;IACjB,eAAe;IACf,MAAM;IACN,aAAa;IACb,KAAK;CACN,CAAC;AAEF,yFAAyF;AACzF,2FAA2F;AAC3F,oFAAoF;AACpF,MAAM,qBAAqB,GAAG,mFAAmF,CAAC;AAElH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAAY;IACvD,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,mBAAmB,GAAmD,IAAI,GAAG,CAAoC;IACrH,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC,4BAA4B,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvG,CAAC,0BAA0B,EAAE,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CAChD,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,wFAAwF;IACxF,IACE,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;QACvC,6DAA6D,CAAC,IAAI,CAAC,IAAI,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,+FAA+F;IAC/F,IAAI,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9G,iGAAiG;IACjG,0FAA0F;IAC1F,oFAAoF;IACpF,MAAM,QAAQ,GAAG,gEAAgE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7F,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,uCAAuC;IACpH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAUD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAY,EACZ,UAA0B,EAC1B,WAAgC;IAEhC,kGAAkG;IAClG,4EAA4E;IAC5E,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,WAAW,KAAK,eAAe,CAAC;IACtE,8CAA8C;IAC9C,IAAI,qBAAqB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACzD;QACE,IAAI,EAAE,yCAAyC;QAC/C,IAAI,EAAE,iGAAiG;QACvG,UAAU,EAAE,4BAA4B;QACxC,GAAG,EAAE,gJAAgJ;KACtJ;IACD;QACE,IAAI,EAAE,mCAAmC;QACzC,IAAI,EAAE,oGAAoG;QAC1G,UAAU,EAAE,yBAAyB;QACrC,GAAG,EAAE,6IAA6I;KACnJ;IACD;QACE,IAAI,EAAE,2CAA2C;QACjD,IAAI,EAAE,wDAAwD;QAC9D,UAAU,EAAE,eAAe;QAC3B,GAAG,EAAE,+IAA+I;KACrJ;IACD;QACE,IAAI,EAAE,yCAAyC;QAC/C,IAAI,EAAE,qDAAqD;QAC3D,UAAU,EAAE,0BAA0B;QACtC,GAAG,EAAE,0LAA0L;KAChM;IACD;QACE,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,wDAAwD;QAC9D,UAAU,EAAE,eAAe;QAC3B,GAAG,EAAE,6FAA6F;KACnG;IACD;QACE,IAAI,EAAE,qDAAqD;QAC3D,IAAI,EAAE,kHAAkH;QACxH,UAAU,EAAE,aAAa;QACzB,GAAG,EAAE,qJAAqJ;KAC3J;IACD;QACE,IAAI,EAAE,kCAAkC;QACxC,IAAI,EAAE,sFAAsF;QAC5F,UAAU,EAAE,eAAe;QAC3B,GAAG,EAAE,8GAA8G;KACpH;IACD;QACE,IAAI,EAAE,2CAA2C;QACjD,IAAI,EAAE,qHAAqH;QAC3H,UAAU,EAAE,eAAe;QAC3B,GAAG,EAAE,8HAA8H;KACpI;IACD;QACE,IAAI,EAAE,kDAAkD;QACxD,IAAI,EAAE,0EAA0E;QAChF,UAAU,EAAE,eAAe;QAC3B,GAAG,EAAE,kFAAkF;KACxF;IACD;QACE,IAAI,EAAE,yCAAyC;QAC/C,IAAI,EAAE,sHAAsH;QAC5H,UAAU,EAAE,eAAe;QAC3B,GAAG,EAAE,sGAAsG;KAC5G;IACD;QACE,IAAI,EAAE,qCAAqC;QAC3C,IAAI,EAAE,kGAAkG;QACxG,UAAU,EAAE,aAAa;QACzB,GAAG,EAAE,qIAAqI;KAC3I;IACD;QACE,IAAI,EAAE,qCAAqC;QAC3C,IAAI,EAAE,sHAAsH;QAC5H,UAAU,EAAE,aAAa;QACzB,GAAG,EAAE,kIAAkI;KACxI;IACD;QACE,IAAI,EAAE,uCAAuC;QAC7C,IAAI,EAAE,+FAA+F;QACrG,UAAU,EAAE,kBAAkB;QAC9B,GAAG,EAAE,uIAAuI;KAC7I;IACD;QACE,IAAI,EAAE,2CAA2C;QACjD,IAAI,EAAE,oFAAoF;QAC1F,UAAU,EAAE,eAAe;QAC3B,GAAG,EAAE,8FAA8F;KACpG;IACD;QACE,IAAI,EAAE,yCAAyC;QAC/C,IAAI,EAAE,0EAA0E;QAChF,UAAU,EAAE,eAAe;QAC3B,GAAG,EAAE,0EAA0E;KAChF;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,kBAAkB,GAA6D,CAAC,GAAG,EAAE;IACzF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuC,CAAC;IAC9D,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACjC,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,EAAE,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,QAAgB,EAChB,WAAgC;IAEhC,IAAI,4BAA4B,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7D,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,4FAA4F;IAC5F,oFAAoF;IACpF,yFAAyF;IACzF,IAAI,CAAC,4BAA4B,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7F,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,QAAgB;IAC7D,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxE,CAAC"}
{"version":3,"file":"skip-allowlist.js","sourceRoot":"","sources":["../../src/gates/skip-allowlist.ts"],"names":[],"mappings":"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"}

@@ -57,2 +57,4 @@ /**

export { noPlaceholderGate } from './gates/no-placeholder.js';
export { noEarlyReturnTestGate } from './gates/no-early-return-test.js';
export { detectEarlyReturnBeforeExpect, type EarlyReturnMatch } from './gates/early-return-detect.js';
export { type SkipForm, type SkipMatch, type SkipConditionality, detectSkips } from './gates/skip-detect.js';

@@ -66,2 +68,4 @@ export { type SkipCapability, type SanctionedSkip, SKIP_CAPABILITIES, SANCTIONED_SKIPS, asSkipCapability, sanctionedSkipFor, fileHasSanctionedSkip, normalizeSiteLine, PLACEHOLDER_SKIP_MARKERS, siteCarriesPlaceholderMarker, siteConsistentWithCapability, } from './gates/skip-allowlist.js';

export { symbolOrphanDivergenceGate } from './gates/symbol-orphan-divergence.js';
export { activeModeledSurfaceReaderGate, decideActiveSurfaceReaders } from './gates/active-modeled-surface-reader.js';
export { type ActiveSurfaceFacts, type ActiveSurfaceEntry, type ActiveSurfacePromotion, } from './active-surface-facts.js';
export { crdtLawsGate } from './gates/crdt-laws.js';

@@ -68,0 +72,0 @@ export { performanceContractsGate } from './gates/performance-contracts.js';

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}

@@ -78,2 +78,4 @@ /**

export { noPlaceholderGate } from './gates/no-placeholder.js';
export { noEarlyReturnTestGate } from './gates/no-early-return-test.js';
export { detectEarlyReturnBeforeExpect } from './gates/early-return-detect.js';
// The skip-form detector + the enumerated sanctioned-skip allowlist — exported so the

@@ -105,2 +107,3 @@ // standards-surface extractor can fold the allowlist into the content-addressed snapshot

export { symbolOrphanDivergenceGate } from './gates/symbol-orphan-divergence.js';
export { activeModeledSurfaceReaderGate, decideActiveSurfaceReaders } from './gates/active-modeled-surface-reader.js';
export { crdtLawsGate } from './gates/crdt-laws.js';

@@ -107,0 +110,0 @@ // The avionics-tier (Slice C) performance-contracts gate — a LEAN, deterministic

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}

@@ -34,11 +34,13 @@ /**

import type { CompositionFacts } from './composition-facts.js';
import type { ActiveSurfaceFacts } from './active-surface-facts.js';
import { type GauntletResult, type RunGatesOptions } from './engine.js';
import type { GateVerdictCache } from './verdict-cache.js';
import type { EarlyReturnMatch } from './gates/early-return-detect.js';
/**
* LiteShip's built-in gate set — the gates the repo runs against itself. The two
* always-blocking gates ({@link noSkippedTestGate} / {@link noPlaceholderGate})
* are listed alongside the four hygiene gates: their rule ids are exactly the ones
* {@link ALWAYS_BLOCKING_RULES} reserves, so the forbidden floor now guards rules a
* REAL gate emits (no inert surface). A downstream project composes its own gates
* onto this set.
* LiteShip's built-in gate set — the gates the repo runs against itself. The three
* always-blocking gates ({@link noSkippedTestGate} / {@link noPlaceholderGate} /
* {@link noEarlyReturnTestGate}) are listed alongside the four hygiene gates: their
* rule ids are exactly the ones {@link ALWAYS_BLOCKING_RULES} reserves, so the
* forbidden floor now guards rules a REAL gate emits (no inert surface). A downstream
* project composes its own gates onto this set.
*/

@@ -63,3 +65,3 @@ export declare const LITESHIP_GATES: readonly Gate[];

* lean {@link LITESHIP_GATES} default is unchanged: `czap check` / MCP still runs
* the six regex gates IR-free.
* the seven regex gates IR-free.
*/

@@ -82,2 +84,8 @@ export declare const LITESHIP_IR_GATES: readonly Gate[];

/**
* The INJECTED SOUND early-return detector (`detectEarlyReturnBeforeExpectAST`) — OPTIONAL.
* Lands on {@link GateContext} for `noEarlyReturnTestGate` via
* `(context.earlyReturnDetector ?? detectEarlyReturnBeforeExpect)`.
*/
readonly earlyReturnDetector?: (source: string) => readonly EarlyReturnMatch[];
/**
* The INJECTED SOUND `codeOnly` floor (the @czap/audit scanner `codeOnlyAST`) — OPTIONAL, same

@@ -264,4 +272,8 @@ * pattern as {@link skipDetector}. Lands on the {@link GateContext} for code-scanning gates to use

* degradation, like `runCheckInvariants`).
* @param earlyReturnDetector Optional host-built SOUND AST early-return detector
* (`@czap/audit`'s `detectEarlyReturnBeforeExpectAST`). The
* no-early-return-test gate uses it via
* `(context.earlyReturnDetector ?? detectEarlyReturnBeforeExpect)`.
*/
export declare function litelaunchGauntlet(repoRoot: string, now: Date, globs?: readonly string[], ir?: RepoIR, skipDetector?: (source: string) => readonly SkipMatch[], codeOnly?: (source: string) => string): GauntletResult;
export declare function litelaunchGauntlet(repoRoot: string, now: Date, globs?: readonly string[], ir?: RepoIR, skipDetector?: (source: string) => readonly SkipMatch[], earlyReturnDetector?: (source: string) => readonly EarlyReturnMatch[], codeOnly?: (source: string) => string): GauntletResult;
/**

@@ -398,2 +410,9 @@ * The HOST gauntlet run (Slice B, B1, step 3) — the IR-INJECTED composition the

/**
* OPTIONAL host-computed active-surface field-read facts (#132) threaded onto the
* {@link GateContext} for `activeModeledSurfaceReaderGate` to fold. Supplied
* ALWAYS-ON on the `--ir` path (the TS-AST scan is cheap); live TransitionNode
* orphan reports as advisory until #130.
*/
readonly activeSurfaceFacts?: ActiveSurfaceFacts;
/**
* OPTIONAL host-built SOUND AST skip detector (`@czap/audit`'s `detectSkipsAST`) threaded onto

@@ -408,2 +427,7 @@ * the {@link GateContext} as `skipDetector`. The no-skipped-test gate uses it via

/**
* OPTIONAL host-built SOUND AST early-return detector (`detectEarlyReturnBeforeExpectAST`)
* threaded onto {@link GateContext} as `earlyReturnDetector`.
*/
readonly earlyReturnDetector?: (source: string) => readonly EarlyReturnMatch[];
/**
* OPTIONAL host-built SOUND scanner codeOnly floor (`@czap/audit`'s `codeOnlyAST`) threaded onto the

@@ -410,0 +434,0 @@ * {@link GateContext} as `codeOnly`. Code-scanning gates use it via `(context.codeOnly ?? codeOnly)`.

@@ -1,1 +0,1 @@

{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}

@@ -31,2 +31,3 @@ /**

import { noPlaceholderGate } from './gates/no-placeholder.js';
import { noEarlyReturnTestGate } from './gates/no-early-return-test.js';
import { noBareThrowIRGate } from './gates/no-bare-throw-ir.js';

@@ -41,9 +42,10 @@ import { noDefaultExportDivergenceGate } from './gates/no-default-export-divergence.js';

import { claimPropertyGate } from './gates/claim-property.js';
import { activeModeledSurfaceReaderGate } from './gates/active-modeled-surface-reader.js';
/**
* LiteShip's built-in gate set — the gates the repo runs against itself. The two
* always-blocking gates ({@link noSkippedTestGate} / {@link noPlaceholderGate})
* are listed alongside the four hygiene gates: their rule ids are exactly the ones
* {@link ALWAYS_BLOCKING_RULES} reserves, so the forbidden floor now guards rules a
* REAL gate emits (no inert surface). A downstream project composes its own gates
* onto this set.
* LiteShip's built-in gate set — the gates the repo runs against itself. The three
* always-blocking gates ({@link noSkippedTestGate} / {@link noPlaceholderGate} /
* {@link noEarlyReturnTestGate}) are listed alongside the four hygiene gates: their
* rule ids are exactly the ones {@link ALWAYS_BLOCKING_RULES} reserves, so the
* forbidden floor now guards rules a REAL gate emits (no inert surface). A downstream
* project composes its own gates onto this set.
*/

@@ -57,2 +59,3 @@ export const LITESHIP_GATES = [

noPlaceholderGate,
noEarlyReturnTestGate,
];

@@ -76,3 +79,3 @@ /**

* lean {@link LITESHIP_GATES} default is unchanged: `czap check` / MCP still runs
* the six regex gates IR-free.
* the seven regex gates IR-free.
*/

@@ -86,2 +89,3 @@ export const LITESHIP_IR_GATES = [

noPlaceholderGate,
noEarlyReturnTestGate,
noDefaultExportDivergenceGate,

@@ -107,2 +111,3 @@ noVarDivergenceGate,

claimPropertyGate,
activeModeledSurfaceReaderGate,
];

@@ -128,2 +133,3 @@ /**

opts.skipDetector !== undefined ||
opts.earlyReturnDetector !== undefined ||
opts.codeOnly !== undefined

@@ -139,2 +145,3 @@ ? {

...(opts.skipDetector !== undefined ? { skipDetector: opts.skipDetector } : {}),
...(opts.earlyReturnDetector !== undefined ? { earlyReturnDetector: opts.earlyReturnDetector } : {}),
// The SOUND scanner codeOnly floor (injected by the host); omitted ⇒ char-machine fallback.

@@ -194,4 +201,8 @@ ...(opts.codeOnly !== undefined ? { codeOnly: opts.codeOnly } : {}),

* degradation, like `runCheckInvariants`).
* @param earlyReturnDetector Optional host-built SOUND AST early-return detector
* (`@czap/audit`'s `detectEarlyReturnBeforeExpectAST`). The
* no-early-return-test gate uses it via
* `(context.earlyReturnDetector ?? detectEarlyReturnBeforeExpect)`.
*/
export function litelaunchGauntlet(repoRoot, now, globs = DEFAULT_GAUNTLET_GLOBS, ir, skipDetector, codeOnly) {
export function litelaunchGauntlet(repoRoot, now, globs = DEFAULT_GAUNTLET_GLOBS, ir, skipDetector, earlyReturnDetector, codeOnly) {
return runGauntletOnRepo(LITESHIP_GATES, {

@@ -202,2 +213,3 @@ repoRoot,

...(skipDetector !== undefined ? { skipDetector } : {}),
...(earlyReturnDetector !== undefined ? { earlyReturnDetector } : {}),
...(codeOnly !== undefined ? { codeOnly } : {}),

@@ -285,2 +297,6 @@ }, { assuranceMap: LITESHIP_ASSURANCE_MAP, waivers: LITESHIP_WAIVERS, now });

...(cacheOpts.composition !== undefined ? { composition: cacheOpts.composition } : {}),
// Inject the host-computed active-surface field-read facts (#132) when supplied —
// `activeModeledSurfaceReaderGate` folds them. Omitted ⇒ absent ⇒ the gate folds
// an empty verdict.
...(cacheOpts.activeSurfaceFacts !== undefined ? { activeSurfaceFacts: cacheOpts.activeSurfaceFacts } : {}),
// Inject the host-built SOUND AST skip detector (`detectSkipsAST`) when supplied — the

@@ -291,2 +307,3 @@ // no-skipped-test gate uses it via `(context.skipDetector ?? detectSkips)`, gaining the

...(cacheOpts.skipDetector !== undefined ? { skipDetector: cacheOpts.skipDetector } : {}),
...(cacheOpts.earlyReturnDetector !== undefined ? { earlyReturnDetector: cacheOpts.earlyReturnDetector } : {}),
// The SOUND scanner codeOnly floor (host-injected `codeOnlyAST`); omitted ⇒ char-machine fallback.

@@ -293,0 +310,0 @@ ...(cacheOpts.codeOnly !== undefined ? { codeOnly: cacheOpts.codeOnly } : {}),

@@ -1,1 +0,1 @@

{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAiBH,OAAO,EAAE,QAAQ,EAA6C,MAAM,aAAa,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAE1F;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,qBAAqB;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAChD,iBAAiB;IACjB,cAAc;IACd,oBAAoB;IACpB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,qBAAqB;IACrB,6BAA6B;IAC7B,mBAAmB;IACnB,uBAAuB;IACvB,0BAA0B;IAC1B,YAAY;IACZ,iFAAiF;IACjF,kFAAkF;IAClF,kFAAkF;IAClF,2EAA2E;IAC3E,wBAAwB;IACxB,oFAAoF;IACpF,4EAA4E;IAC5E,4EAA4E;IAC5E,kBAAkB;IAClB,iFAAiF;IACjF,kFAAkF;IAClF,6EAA6E;IAC7E,kFAAkF;IAClF,mFAAmF;IACnF,iBAAiB;IACjB,8BAA8B;CAC/B,CAAC;AAoJF;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAsB,EACtB,IAA8B,EAC9B,UAA2B,EAAE;IAE7B,8EAA8E;IAC9E,8EAA8E;IAC9E,iFAAiF;IACjF,kEAAkE;IAClE,MAAM,WAAW,GAAG,WAAW,CAC7B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,CAChB,CAAC;IACF,MAAM,OAAO,GACX,IAAI,CAAC,KAAK,KAAK,SAAS;QACxB,IAAI,CAAC,WAAW,KAAK,SAAS;QAC9B,IAAI,CAAC,KAAK,KAAK,SAAS;QACxB,IAAI,CAAC,cAAc,KAAK,SAAS;QACjC,IAAI,CAAC,YAAY,KAAK,SAAS;QAC/B,IAAI,CAAC,mBAAmB,KAAK,SAAS;QACtC,IAAI,CAAC,QAAQ,KAAK,SAAS;QACzB,CAAC,CAAC;YACE,GAAG,WAAW;YACd,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,mFAAmF;YACnF,qFAAqF;YACrF,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,IAAI,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpG,4FAA4F;YAC5F,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE;QACH,CAAC,CAAC,WAAW,CAAC;IAClB,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB,CAAC,wBAAwB,CAAC,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,GAAS,EACT,QAA2B,sBAAsB,EACjD,EAAW,EACX,YAAuD,EACvD,mBAAqE,EACrE,QAAqC;IAErC,OAAO,iBAAiB,CACtB,cAAc,EACd;QACE,QAAQ;QACR,KAAK;QACL,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,EACD,EAAE,YAAY,EAAE,sBAAsB,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,CACzE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAgB,EAChB,GAAS,EACT,EAAU,EACV,QAA2B,sBAAsB,EACjD,YAAoC,EAAE;IAEtC,gFAAgF;IAChF,+EAA+E;IAC/E,iFAAiF;IACjF,2EAA2E;IAC3E,MAAM,eAAe,GAAG,wBAAwB,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACtG,OAAO,iBAAiB;IACtB,wEAAwE;IACxE,4EAA4E;IAC5E,SAAS,CAAC,KAAK,IAAI,iBAAiB,EACpC;QACE,QAAQ;QACR,KAAK;QACL,EAAE;QACF,8EAA8E;QAC9E,6EAA6E;QAC7E,6EAA6E;QAC7E,0EAA0E;QAC1E,GAAG,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,oEAAoE;QACpE,6EAA6E;QAC7E,6EAA6E;QAC7E,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,iFAAiF;QACjF,kFAAkF;QAClF,6DAA6D;QAC7D,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,kEAAkE;QAClE,gFAAgF;QAChF,iFAAiF;QACjF,GAAG,CAAC,SAAS,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,6EAA6E;QAC7E,+EAA+E;QAC/E,yEAAyE;QACzE,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,sFAAsF;QACtF,4FAA4F;QAC5F,uEAAuE;QACvE,GAAG,CAAC,SAAS,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,2EAA2E;QAC3E,iFAAiF;QACjF,gFAAgF;QAChF,gDAAgD;QAChD,GAAG,CAAC,SAAS,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,qEAAqE;QACrE,iFAAiF;QACjF,gFAAgF;QAChF,kFAAkF;QAClF,GAAG,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,kFAAkF;QAClF,4EAA4E;QAC5E,8EAA8E;QAC9E,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,gFAAgF;QAChF,4EAA4E;QAC5E,gFAAgF;QAChF,GAAG,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,kFAAkF;QAClF,iFAAiF;QACjF,oBAAoB;QACpB,GAAG,CAAC,SAAS,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,uFAAuF;QACvF,wFAAwF;QACxF,2FAA2F;QAC3F,6EAA6E;QAC7E,GAAG,CAAC,SAAS,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,GAAG,CAAC,SAAS,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9G,mGAAmG;QACnG,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9E,EACD;QACE,YAAY,EAAE,sBAAsB;QACpC,eAAe;QACf,OAAO,EAAE,gBAAgB;QACzB,GAAG;QACH,oEAAoE;QACpE,0EAA0E;QAC1E,2EAA2E;QAC3E,0EAA0E;QAC1E,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,SAAS,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CACF,CAAC;AACJ,CAAC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"waiver.d.ts","sourceRoot":"","sources":["../src/waiver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAKlD,CAAC;AAEF,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;IACzB,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC;CACpC;AAwBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB,CAiGnH"}
{"version":3,"file":"waiver.d.ts","sourceRoot":"","sources":["../src/waiver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAOlD,CAAC;AAEF,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;IACzB,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC;CACpC;AAwBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB,CAiGnH"}

@@ -45,2 +45,4 @@ /**

'gauntlet/no-skipped-test',
// Emitted by noEarlyReturnTestGate — silent `return;` before `expect` in test callbacks.
'gauntlet/no-early-return-test',
];

@@ -47,0 +49,0 @@ /** True iff `waiver` matches `f` by ruleId (+ file, + line when the waiver sets them). */

@@ -1,1 +0,1 @@

{"version":3,"file":"waiver.js","sourceRoot":"","sources":["../src/waiver.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"waiver.js","sourceRoot":"","sources":["../src/waiver.ts"],"names":[],"mappings":"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"}
{
"name": "@czap/gauntlet",
"version": "0.8.0",
"version": "0.8.1",
"description": "Self-proving rigor engine: gates, findings, assurance levels, the authority ratchet, and `defineFactGate` (evidence-bound gates) — lean (no `typescript`; oracles host-injected)",

@@ -40,3 +40,3 @@ "license": "MIT",

"fast-glob": "^3.3.3",
"@czap/error": "0.8.0"
"@czap/error": "0.8.1"
},

@@ -43,0 +43,0 @@ "engines": {

@@ -164,2 +164,3 @@ /**

...(context.skipDetector !== undefined ? { skipDetector: context.skipDetector } : {}),
...(context.earlyReturnDetector !== undefined ? { earlyReturnDetector: context.earlyReturnDetector } : {}),
// SAME pass-through for the injected sound `codeOnly` scanner: without it a scoped (assurance-map)

@@ -277,2 +278,3 @@ // run drops `codeOnly`, so no-bare-throw / no-nondeterminism / no-silent-catch silently fall back

...(context.skipSites !== undefined ? { skipSites: context.skipSites } : {}),
...(context.activeSurfaceFacts !== undefined ? { activeSurfaceFacts: context.activeSurfaceFacts } : {}),
};

@@ -279,0 +281,0 @@ }

@@ -71,2 +71,3 @@ /**

'skipSites',
'activeSurfaceFacts',
] as const;

@@ -120,3 +121,3 @@

// channels.
'ir' | 'allFiles' | 'skipDetector' | 'codeOnly'
'ir' | 'allFiles' | 'skipDetector' | 'earlyReturnDetector' | 'codeOnly'
>;

@@ -123,0 +124,0 @@ type _factChannelsCoverContext = FactChannel extends OptionalFactKeys ? true : never;

@@ -19,2 +19,3 @@ /**

import type { AssuranceLevel } from './assurance.js';
import type { EarlyReturnMatch } from './gates/early-return-detect.js';
import type { Finding } from './finding.js';

@@ -36,2 +37,3 @@ import type { FileId, RepoIR } from './repo-ir.js';

import type { SkipSiteFacts } from './skip-site-facts.js';
import type { ActiveSurfaceFacts } from './active-surface-facts.js';
import { factAccessEvidenceDigest, stableEvidenceDigest } from './verdict-cache.js';

@@ -84,2 +86,9 @@

/**
* The SOUND early-return detector — an INJECTED capability. `@czap/gauntlet` carries NO
* `typescript` dep; the token `detectEarlyReturnBeforeExpect` is its fallback. The host injects
* `detectEarlyReturnBeforeExpectAST` from `@czap/audit`. The no-early-return-test gate calls
* `(context.earlyReturnDetector ?? detectEarlyReturnBeforeExpect)(text)`.
*/
readonly earlyReturnDetector?: (source: string) => readonly EarlyReturnMatch[];
/**
* The sound, parser-backed `codeOnly` floor — an INJECTED capability, the same shape as

@@ -315,2 +324,10 @@ * {@link skipDetector}. The lean char-state-machine `codeOnly` (gates/code-only.ts) is the

readonly skipSites?: SkipSiteFacts;
/**
* Pre-computed ACTIVE-SURFACE field-read evidence — an INJECTED FactPack (#132).
* The HOST (`@czap/audit`'s `buildActiveSurfaceFacts`) scans reader paths with
* TS-AST and lands flat {@link ActiveSurfaceFacts}; the
* {@link activeModeledSurfaceReaderGate} decides over them. When ABSENT the gate
* folds an empty verdict. See {@link ActiveSurfaceFacts}.
*/
readonly activeSurfaceFacts?: ActiveSurfaceFacts;
}

@@ -445,3 +462,3 @@

*/
export const FACT_KINDS = ['skipSites'] as const;
export const FACT_KINDS = ['skipSites', 'activeSurfaceFacts'] as const;

@@ -458,2 +475,3 @@ /** One FactKind — derived from {@link FACT_KINDS}, never re-typed. */

readonly skipSites?: SkipSiteFacts;
readonly activeSurfaceFacts?: ActiveSurfaceFacts;
}

@@ -522,2 +540,49 @@

const ACTIVE_SURFACE_PROMOTIONS = new Set(['advisory', 'blocking']);
function normalizeActiveSurfaceFacts(value: ActiveSurfaceFacts | undefined): ActiveSurfaceFacts | undefined {
if (value === undefined) return undefined;
assertPlainFactRecord(value, 'activeSurfaceFacts');
const surfaces = ownDataField(value, 'surfaces');
if (!Array.isArray(surfaces)) {
throw ValidationError('FactGate', 'activeSurfaceFacts.surfaces must be an array');
}
const normalized = surfaces.map((entry, index) => {
assertPlainFactRecord(entry, `activeSurfaceFacts.surfaces[${index}]`);
const family = ownDataField(entry, 'family');
const requiredFields = ownDataField(entry, 'requiredFields');
const readFields = ownDataField(entry, 'readFields');
const active = ownDataField(entry, 'active');
const readerFiles = ownDataField(entry, 'readerFiles');
const unreadFields = ownDataField(entry, 'unreadFields');
const promotion = ownDataField(entry, 'promotion');
if (
typeof family !== 'string' ||
!Array.isArray(requiredFields) ||
!requiredFields.every((f) => typeof f === 'string') ||
!Array.isArray(readFields) ||
!readFields.every((f) => typeof f === 'string') ||
typeof active !== 'boolean' ||
!Array.isArray(readerFiles) ||
!readerFiles.every((f) => typeof f === 'string') ||
!Array.isArray(unreadFields) ||
!unreadFields.every((f) => typeof f === 'string') ||
typeof promotion !== 'string' ||
!ACTIVE_SURFACE_PROMOTIONS.has(promotion)
) {
throw ValidationError('FactGate', `activeSurfaceFacts.surfaces[${index}] is malformed`);
}
return Object.freeze({
family,
requiredFields: Object.freeze([...requiredFields]),
readFields: Object.freeze([...readFields]),
active,
readerFiles: Object.freeze([...readerFiles]),
unreadFields: Object.freeze([...unreadFields]),
promotion: promotion as ActiveSurfaceFacts['surfaces'][number]['promotion'],
});
});
return Object.freeze({ surfaces: Object.freeze(normalized) });
}
/**

@@ -607,3 +672,3 @@ * A FACT GATE — the "gate-as-data" variant (the FactGate PoC). It replaces the arbitrary

export function pickFacts(context: GateContext, requires: readonly FactKind[]): FactBundle {
const bundle: { skipSites?: SkipSiteFacts } = {};
const bundle: { skipSites?: SkipSiteFacts; activeSurfaceFacts?: ActiveSurfaceFacts } = {};
for (const kind of requires) {

@@ -614,2 +679,5 @@ switch (kind) {

break;
case 'activeSurfaceFacts':
bundle.activeSurfaceFacts = normalizeActiveSurfaceFacts(context.activeSurfaceFacts);
break;
default: {

@@ -640,2 +708,7 @@ // Exhaustiveness: adding a FactKind without teaching this pick fails to compile here

break;
case 'activeSurfaceFacts':
// Raw fold for cache soundness — normalization strips unknown keys (e.g. the
// evidence-law perturbation salt) that must still flip the digest.
fact = context.activeSurfaceFacts;
break;
default: {

@@ -642,0 +715,0 @@ // Exhaustiveness: a new FactKind must be folded here, or the build fails — never a

@@ -60,2 +60,9 @@ /**

'astro-example-not-built', // the built Astro example dist is absent (the integration build runs before the e2e lane)
'offscreen-canvas-absent', // OffscreenCanvas / transferControlToOffscreen is unavailable in the browser harness
'webcodecs-absent', // VideoEncoder / VideoFrame unavailable in the browser harness
'gpu-absent', // a real WebGPU device is unavailable in the CI/jsdom harness
'eacces-untestable-as-root', // chmod 0o000 EACCES semantics are not enforceable when the test process runs as root
'symlink-unprivileged', // directory symlink creation is unavailable (typically Windows without Developer Mode/admin)
'fixture-absent', // a committed optional fixture asset is absent in this checkout
'capsule-manifest-absent', // capsule:compile has not produced the manifest needed for corpus-derived proofs
] as const;

@@ -185,2 +192,9 @@

['astro-example-not-built', ['astro', 'built']],
['offscreen-canvas-absent', ['offscreen', 'canvas', 'transfercontrol']],
['webcodecs-absent', ['webcodecs', 'videoencoder', 'videoframe']],
['gpu-absent', ['webgpu', 'gpu', 'navigator']],
['eacces-untestable-as-root', ['eacces', 'chmod', 'root', 'permission']],
['symlink-unprivileged', ['symlink', 'privilege', 'windows', 'developer']],
['fixture-absent', ['fixture', 'asset', 'wav']],
['capsule-manifest-absent', ['capsule', 'manifest', 'compile', 'corpus']],
]);

@@ -334,2 +348,8 @@

{
file: 'tests/unit/devops/audit-consumer-mode.test.ts',
site: "it.skipIf(symlinkUnprivileged)('resolves the pnpm virtual-store layout via realpath re-seeding', () => {",
capability: 'symlink-unprivileged',
why: 'the pnpm virtual-store realpath proof needs directory symlinks; Windows without symlink privilege skips while npm-shaped consumer discovery still runs.',
},
{
file: 'tests/unit/core/wasm-parity.test.ts',

@@ -353,2 +373,14 @@ site: "describe.skipIf(!wasmPresent)('WASM/TS kernel parity (czap-compute vs fallbackKernels)', () => {",

{
file: 'tests/unit/meta/generated-bench-execution.test.ts',
site: 'describe.skipIf(capsuleManifestAbsent)(',
capability: 'capsule-manifest-absent',
why: 'the generated-bench execution proof is catalog-driven from the capsule manifest; smoke lanes that do not run capsule:compile skip this corpus proof honestly.',
},
{
file: 'tests/unit/riff-walker.test.ts',
site: "it.skipIf(fixtureAbsent)('decodes the shipped intro-bed.wav fixture cleanly', () => {",
capability: 'fixture-absent',
why: 'the real RIFF fixture check needs the optional shipped intro-bed.wav asset; synthetic RIFF coverage still runs when the fixture is absent.',
},
{
file: 'tests/unit/stage/dual-export-node.test.ts',

@@ -365,2 +397,50 @@ site: "test.skip('headless dual-export end to end (skipped — codec not on PATH)', () => {",

},
{
file: 'tests/browser/render-worker-browser.test.ts',
site: "describe.skipIf(offscreenCanvasAbsent)('OffscreenCanvas-dependent flows', () => {",
capability: 'offscreen-canvas-absent',
why: 'OffscreenCanvas transfer/render browser tests need transferControlToOffscreen; absent it skips (the in-process component suite covers the worker protocol).',
},
{
file: 'tests/browser/webcodecs-capture.test.ts',
site: "describe.skipIf(webcodecsAbsent)('WebCodecsCapture — browser lane', () => {",
capability: 'webcodecs-absent',
why: 'WebCodecs VideoEncoder/VideoFrame lane runs only when the browser harness exposes reliable WebCodecs encode (WebKit is excluded — types exist but crash the harness).',
},
{
file: 'tests/unit/astro/wgpu-runtime.test.ts',
site: 'it.skipIf(gpuAbsent)(',
capability: 'gpu-absent',
why: 'the real-device WebGPU uniform-bind check runs only when navigator.gpu is present (jsdom/CI lacks a real adapter).',
},
{
file: 'tests/unit/cli/lib/gauntlet-verdict-cache.test.ts',
site: "it.skipIf(eaccesUntestableAsRoot)('a cache file with the read bit cleared (EACCES) reads as a MISS, not a throw', () => {",
capability: 'eacces-untestable-as-root',
why: 'the EACCES sound-MISS arm needs a non-root process so chmod 0o000 is enforceable.',
},
{
file: 'tests/unit/cli/lib/gauntlet-verdict-cache.test.ts',
site: "it.skipIf(eaccesUntestableAsRoot)('a mutation cache file with the read bit cleared (EACCES) reads as a MISS, not a throw', () => {",
capability: 'eacces-untestable-as-root',
why: 'the mutation-cache EACCES sound-MISS arm needs a non-root process so chmod 0o000 is enforceable.',
},
{
file: 'tests/unit/vite/boundary-manifest.test.ts',
site: "test.skipIf(symlinkUnprivileged)('scan terminates on circular directory symlinks and still derives the right entries', async () => {",
capability: 'symlink-unprivileged',
why: 'the circular-directory traversal proof needs directory symlinks; Windows without symlink privilege skips while the non-symlink scan coverage still runs.',
},
{
file: 'tests/unit/vite/boundary-manifest.test.ts',
site: "test.skipIf(symlinkUnprivileged)('follows symlinked directories to boundary definitions outside the project tree', async () => {",
capability: 'symlink-unprivileged',
why: 'the external-boundary-definition traversal proof needs directory symlinks; boundaryDir override coverage still proves the external-definition path without symlinks.',
},
{
file: 'tests/unit/vite/token-manifest.test.ts',
site: "test.skipIf(symlinkUnprivileged)('scan terminates on circular directory symlinks and still derives entries', async () => {",
capability: 'symlink-unprivileged',
why: 'the token-manifest circular-directory traversal proof needs directory symlinks; non-symlink token manifest coverage still runs.',
},
];

@@ -367,0 +447,0 @@

@@ -288,2 +288,4 @@ /**

export { noPlaceholderGate } from './gates/no-placeholder.js';
export { noEarlyReturnTestGate } from './gates/no-early-return-test.js';
export { detectEarlyReturnBeforeExpect, type EarlyReturnMatch } from './gates/early-return-detect.js';

@@ -327,2 +329,8 @@ // The skip-form detector + the enumerated sanctioned-skip allowlist — exported so the

export { symbolOrphanDivergenceGate } from './gates/symbol-orphan-divergence.js';
export { activeModeledSurfaceReaderGate, decideActiveSurfaceReaders } from './gates/active-modeled-surface-reader.js';
export {
type ActiveSurfaceFacts,
type ActiveSurfaceEntry,
type ActiveSurfacePromotion,
} from './active-surface-facts.js';
export { crdtLawsGate } from './gates/crdt-laws.js';

@@ -329,0 +337,0 @@

@@ -35,2 +35,3 @@ /**

import type { CompositionFacts } from './composition-facts.js';
import type { ActiveSurfaceFacts } from './active-surface-facts.js';
import { runGates, type GauntletResult, type RunGatesOptions } from './engine.js';

@@ -48,2 +49,4 @@ import type { GateVerdictCache } from './verdict-cache.js';

import { noPlaceholderGate } from './gates/no-placeholder.js';
import { noEarlyReturnTestGate } from './gates/no-early-return-test.js';
import type { EarlyReturnMatch } from './gates/early-return-detect.js';
import { noBareThrowIRGate } from './gates/no-bare-throw-ir.js';

@@ -58,10 +61,11 @@ import { noDefaultExportDivergenceGate } from './gates/no-default-export-divergence.js';

import { claimPropertyGate } from './gates/claim-property.js';
import { activeModeledSurfaceReaderGate } from './gates/active-modeled-surface-reader.js';
/**
* LiteShip's built-in gate set — the gates the repo runs against itself. The two
* always-blocking gates ({@link noSkippedTestGate} / {@link noPlaceholderGate})
* are listed alongside the four hygiene gates: their rule ids are exactly the ones
* {@link ALWAYS_BLOCKING_RULES} reserves, so the forbidden floor now guards rules a
* REAL gate emits (no inert surface). A downstream project composes its own gates
* onto this set.
* LiteShip's built-in gate set — the gates the repo runs against itself. The three
* always-blocking gates ({@link noSkippedTestGate} / {@link noPlaceholderGate} /
* {@link noEarlyReturnTestGate}) are listed alongside the four hygiene gates: their
* rule ids are exactly the ones {@link ALWAYS_BLOCKING_RULES} reserves, so the
* forbidden floor now guards rules a REAL gate emits (no inert surface). A downstream
* project composes its own gates onto this set.
*/

@@ -75,2 +79,3 @@ export const LITESHIP_GATES: readonly Gate[] = [

noPlaceholderGate,
noEarlyReturnTestGate,
];

@@ -95,3 +100,3 @@

* lean {@link LITESHIP_GATES} default is unchanged: `czap check` / MCP still runs
* the six regex gates IR-free.
* the seven regex gates IR-free.
*/

@@ -105,2 +110,3 @@ export const LITESHIP_IR_GATES: readonly Gate[] = [

noPlaceholderGate,
noEarlyReturnTestGate,
noDefaultExportDivergenceGate,

@@ -126,2 +132,3 @@ noVarDivergenceGate,

claimPropertyGate,
activeModeledSurfaceReaderGate,
];

@@ -144,2 +151,8 @@

/**
* The INJECTED SOUND early-return detector (`detectEarlyReturnBeforeExpectAST`) — OPTIONAL.
* Lands on {@link GateContext} for `noEarlyReturnTestGate` via
* `(context.earlyReturnDetector ?? detectEarlyReturnBeforeExpect)`.
*/
readonly earlyReturnDetector?: (source: string) => readonly EarlyReturnMatch[];
/**
* The INJECTED SOUND `codeOnly` floor (the @czap/audit scanner `codeOnlyAST`) — OPTIONAL, same

@@ -305,2 +318,3 @@ * pattern as {@link skipDetector}. Lands on the {@link GateContext} for code-scanning gates to use

opts.skipDetector !== undefined ||
opts.earlyReturnDetector !== undefined ||
opts.codeOnly !== undefined

@@ -316,2 +330,3 @@ ? {

...(opts.skipDetector !== undefined ? { skipDetector: opts.skipDetector } : {}),
...(opts.earlyReturnDetector !== undefined ? { earlyReturnDetector: opts.earlyReturnDetector } : {}),
// The SOUND scanner codeOnly floor (injected by the host); omitted ⇒ char-machine fallback.

@@ -373,2 +388,6 @@ ...(opts.codeOnly !== undefined ? { codeOnly: opts.codeOnly } : {}),

* degradation, like `runCheckInvariants`).
* @param earlyReturnDetector Optional host-built SOUND AST early-return detector
* (`@czap/audit`'s `detectEarlyReturnBeforeExpectAST`). The
* no-early-return-test gate uses it via
* `(context.earlyReturnDetector ?? detectEarlyReturnBeforeExpect)`.
*/

@@ -381,2 +400,3 @@ export function litelaunchGauntlet(

skipDetector?: (source: string) => readonly SkipMatch[],
earlyReturnDetector?: (source: string) => readonly EarlyReturnMatch[],
codeOnly?: (source: string) => string,

@@ -391,2 +411,3 @@ ): GauntletResult {

...(skipDetector !== undefined ? { skipDetector } : {}),
...(earlyReturnDetector !== undefined ? { earlyReturnDetector } : {}),
...(codeOnly !== undefined ? { codeOnly } : {}),

@@ -484,2 +505,6 @@ },

...(cacheOpts.composition !== undefined ? { composition: cacheOpts.composition } : {}),
// Inject the host-computed active-surface field-read facts (#132) when supplied —
// `activeModeledSurfaceReaderGate` folds them. Omitted ⇒ absent ⇒ the gate folds
// an empty verdict.
...(cacheOpts.activeSurfaceFacts !== undefined ? { activeSurfaceFacts: cacheOpts.activeSurfaceFacts } : {}),
// Inject the host-built SOUND AST skip detector (`detectSkipsAST`) when supplied — the

@@ -490,2 +515,3 @@ // no-skipped-test gate uses it via `(context.skipDetector ?? detectSkips)`, gaining the

...(cacheOpts.skipDetector !== undefined ? { skipDetector: cacheOpts.skipDetector } : {}),
...(cacheOpts.earlyReturnDetector !== undefined ? { earlyReturnDetector: cacheOpts.earlyReturnDetector } : {}),
// The SOUND scanner codeOnly floor (host-injected `codeOnlyAST`); omitted ⇒ char-machine fallback.

@@ -617,2 +643,9 @@ ...(cacheOpts.codeOnly !== undefined ? { codeOnly: cacheOpts.codeOnly } : {}),

/**
* OPTIONAL host-computed active-surface field-read facts (#132) threaded onto the
* {@link GateContext} for `activeModeledSurfaceReaderGate` to fold. Supplied
* ALWAYS-ON on the `--ir` path (the TS-AST scan is cheap); live TransitionNode
* orphan reports as advisory until #130.
*/
readonly activeSurfaceFacts?: ActiveSurfaceFacts;
/**
* OPTIONAL host-built SOUND AST skip detector (`@czap/audit`'s `detectSkipsAST`) threaded onto

@@ -627,2 +660,7 @@ * the {@link GateContext} as `skipDetector`. The no-skipped-test gate uses it via

/**
* OPTIONAL host-built SOUND AST early-return detector (`detectEarlyReturnBeforeExpectAST`)
* threaded onto {@link GateContext} as `earlyReturnDetector`.
*/
readonly earlyReturnDetector?: (source: string) => readonly EarlyReturnMatch[];
/**
* OPTIONAL host-built SOUND scanner codeOnly floor (`@czap/audit`'s `codeOnlyAST`) threaded onto the

@@ -629,0 +667,0 @@ * {@link GateContext} as `codeOnly`. Code-scanning gates use it via `(context.codeOnly ?? codeOnly)`.

@@ -73,2 +73,4 @@ /**

'gauntlet/no-skipped-test',
// Emitted by noEarlyReturnTestGate — silent `return;` before `expect` in test callbacks.
'gauntlet/no-early-return-test',
];

@@ -75,0 +77,0 @@