Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 15 additions & 23 deletions packages/cli/test/exit-signal.pin.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -468,28 +468,20 @@ const FLOW = new Map(
);

/**
* Floors, not counts of today: the population and the `this.exit`-in-`try`
* sites this was widened over, on `f9a8eb889e`. That is 65 commands: 46
* JSON-capable (32 `--json`, 14 `--format json`, the first population) and 19
* text-face only. It is 127 sites: 105 in the first population, 21 of them
* `os build`'s through `compile.ts`, and 22 in the three text-face commands
* the widening was filed on. A discovery or analyzer that silently stops
* finding anything returns zero, and zero passes every per-member assertion —
* these are what notice. A drop below them is a broken detector or a
* deliberate removal; say which when you lower one.
*
* Seeding `this.error` raised the site floor to 131, measured on
* `bee8d1c62c` over the same 65 commands: the 127 `this.exit` sites, plus
* four `this.error` sites — `compile.ts`'s bundling refusal, counted for
* `os compile` and again for `os build` through it, and `os init`'s two
* refusals inside its outer `try`. Those four sites now spell `this.exit(2)`
* (the status `this.error` raised, with the sentence rendered once): both
* spellings are seeds, so the floor is unchanged.
* Vacuity floors, not counts of today. A discovery or analyzer that silently
* stops finding anything returns zero, and zero passes every per-member
* assertion; these are what notice. Each sits at about two thirds of its
* measured count, so deleting a command is an ordinary green change while a
* walk or scan that resolves nothing is not. The site count is every
* signal-raising call inside a `try` (`this.exit`, and `this.error`, which
* raises the same signal in another spelling), summed over each member's
* inheritance chain, so `compile.ts`'s sites count for `os build` too. Raise
* one only alongside a reason that the smaller number is impossible.
*/
const POPULATION_FLOOR = 65;
const SITE_FLOOR = 131;
/** The first population's floor, kept so a face-label regression is seen too. */
const JSON_FACE_FLOOR = 46;
const POPULATION_FLOOR = 48; // measured 72 on 2026-10-27 (`185512cc`)
const SITE_FLOOR = 109; // measured 164 on 2026-10-27 (`185512cc`)
/** The first population (the JSON-capable commands), kept so a face-label regression is seen too. */
const JSON_FACE_FLOOR = 35; // measured 53 on 2026-10-27 (`185512cc`)

// ---------------------------------------------------------------------------
// 1. The analyzer, against fixtures — it must be able to fail
Expand Down Expand Up @@ -622,7 +614,7 @@ describe('every command lets the exit signal through', () => {
});

it('the population is not vacuous — the floor holds and the commands this was filed on are in it', () => {
expect(POPULATION.length, 'fewer commands discovered than this pin was widened over').toBeGreaterThanOrEqual(POPULATION_FLOOR);
expect(POPULATION.length, 'fewer commands discovered than the vacuity floor').toBeGreaterThanOrEqual(POPULATION_FLOOR);
// The population IS the walk: every module the walk lists is a member.
expect(POPULATION).toHaveLength(COMMAND_FILES.length);
expect(
Expand All @@ -643,7 +635,7 @@ describe('every command lets the exit signal through', () => {

it('the scan reaches the sites — including the completed-apply exit and the text-face refusals this was filed on', () => {
const total = [...FLOW.values()].reduce((n, f) => n + f.sites.length, 0);
expect(total, 'fewer signal-raising calls inside a try found than this pin was widened over').toBeGreaterThanOrEqual(SITE_FLOOR);
expect(total, 'fewer signal-raising calls inside a try found than the vacuity floor').toBeGreaterThanOrEqual(SITE_FLOOR);
expect(FLOW.get('migrate recorded-by')?.sites.map((s) => s.call)).toContain(
"this.exit(result.status === 'completed' ? 0 : 1)",
);
Expand Down
22 changes: 12 additions & 10 deletions packages/cli/test/refusal-renders-once.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -216,20 +216,22 @@ const FILES = commandFiles(COMMANDS_DIR);
const SCANS = FILES.map((file) => ({ file: relative(PKG_ROOT, file), scan: scanRefusalPairs(file, readFileSync(file, 'utf8')) }));

/**
* Floors, measured on `fd5a1cd597`: 65 command modules, 57 of them calling a
* refusal printer, and `this.error` raised from 3 (`os datasource introspect`,
* `list-tables`, `validate`) once `init.ts` and `compile.ts` stopped. A scan
* that silently finds nothing reports zero pairs, and zero passes every
* assertion below; these are what notice. A drop below them is a broken
* detector or a deliberate removal — say which when you lower one.
* Vacuity floors, not counts of today. A scan that silently finds nothing
* reports zero pairs, and zero passes every assertion below; these are what
* notice. Each sits at about two thirds of its measured count, so deleting a
* command is an ordinary green change while a walk or scan that resolves
* nothing is not. `this.error` is raised from only 3 modules (`os datasource
* introspect`, `list-tables`, `validate`), too few for a fraction, so that
* floor only says the population is not empty. Raise one only alongside a
* reason that the smaller number is impossible.
*/
const FILE_FLOOR = 60;
const PRINTER_FILE_FLOOR = 50;
const ERROR_FILE_FLOOR = 3;
const FILE_FLOOR = 48; // measured 72 on 2026-10-27 (`185512cc`)
const PRINTER_FILE_FLOOR = 42; // measured 64 on 2026-10-27 (`185512cc`)
const ERROR_FILE_FLOOR = 1; // non-empty: measured 3 on 2026-10-27 (`185512cc`)

describe('no command renders a refusal and also raises it with this.error', () => {
it('the population is not vacuous — the floors hold', () => {
expect(FILES.length, 'fewer command modules than this pin was written over').toBeGreaterThanOrEqual(FILE_FLOOR);
expect(FILES.length, 'fewer command modules than the vacuity floor').toBeGreaterThanOrEqual(FILE_FLOOR);
expect(SCANS.filter((s) => s.scan.printerCalls > 0).length, 'refusal printers not found').toBeGreaterThanOrEqual(PRINTER_FILE_FLOOR);
expect(SCANS.filter((s) => s.scan.errorCalls > 0).length, '`this.error` not found').toBeGreaterThanOrEqual(ERROR_FILE_FLOOR);
});
Expand Down
Loading