/** * QA fixtures for the dx-agent-consent delta (f7). * * Declared in the change's qa.md `## Fixtures` section. All three are * machine-config state, which f7 has never had a fixture for — its existing * fixtures (F7_JOURNAL_FRICTION, F7_REPORT_EXPIRED, …) are journal-side or * server-side. * * F7_CONFIG_SIGNED_IN is written by driving the REAL writeMachineConfig(), never * by hand-writing JSON. A hand-written config asserts against a shape the CLI * never produces — the f1 orgs/memberships failure at file scope, where a mock * of state the API could actually produce drifted from the API and stayed green. * * These are QA-owned (qa.* prefix) and deliberately separate from dev's test * files in the same package. */ import type { JournalEntry } from "./journal.js"; /** The honest baseline config, as the CLI itself writes it. */ export declare const F7_CONFIG_SIGNED_IN: { readonly apiUrl: "https://api.test"; readonly consoleUrl: "https://console.test"; readonly pat: "vct_alice"; readonly activeOrg: "alice"; }; /** * The instant every fixture is dated against. 145 days after the grant in * F7_CONFIG_ENABLED, and before DX_UNATTENDED_SUNSET. */ export declare const F7_NOW: number; /** 145 days before F7_NOW. The AGE is the point — see qa.md on F7_CONFIG_ENABLED. */ export declare const F7_ENABLED_AT = "2026-04-01T00:00:00.000Z"; /** * The single pinned human-facing shape. Every human surface must render this * byte-for-byte; the age is the load-bearing half, so it is pinned as a literal * rather than computed (a computed expectation would follow a broken * implementation wherever it went). */ export declare const F7_PINNED_ENABLEMENT_LINE = "Unattended send: ENABLED since 2026-04-01 (145 days)"; /** F7_CONFIG_SIGNED_IN + durable enablement, aged. */ export declare const F7_CONFIG_ENABLED: { readonly dxSendEnabled: true; readonly dxSendEnabledAt: "2026-04-01T00:00:00.000Z"; readonly apiUrl: "https://api.test"; readonly consoleUrl: "https://console.test"; readonly pat: "vct_alice"; readonly activeOrg: "alice"; }; /** * Every shape the enablement read must treat as DISABLED. * * Rows B, C, E, F, G are TRUTHY IN JAVASCRIPT — `if (cfg.dxSendEnabled)` passes * every one of them. That is the entire reason this fixture exists, and why the * read is specified as `=== true`. The worst is B ("false"): what a person * hand-editing this file writes when trying to turn the feature OFF. * * `raw` rows (K, L) are written as bytes rather than as an object, because the * property under test is that an UNPARSEABLE config fails closed instead of * throwing through into an unrelated verb. */ export interface MalformedRow { id: string; why: string; /** A config object to serialize, or undefined when `raw` carries the bytes. */ patch?: Record; /** Literal file bytes, for the rows that are not valid JSON at all. */ raw?: string; } export declare const F7_CONFIG_MALFORMED_ENABLEMENT: MalformedRow[]; /** * F7_JOURNAL_FRICTION, as the record declares it: three runs of the same verb in * a few minutes, which is a repetition cluster. */ export declare function f7JournalFriction(now?: number): JournalEntry[];