diff --git a/src/core/config.ts b/src/core/config.ts index 57771a3b7..5dd4619c9 100644 --- a/src/core/config.ts +++ b/src/core/config.ts @@ -927,6 +927,10 @@ export const KNOWN_CONFIG_KEYS: readonly string[] = [ // operator had to discover --force by reading source. Same class as the // spend-controls registration above. 'auto_chronicle', + // Takes bootstrap (v0.41.18.0, A12). The onboard remediation's two-gate + // consent reads this key, and enabling it is the documented path to + // `gbrain takes extract --from-pages` — same unregistered-key class. + 'takes.bootstrap_enabled', 'sync.cost_gate_min_usd', 'sync.federated_v2', 'embed.backfill_cooldown_min', diff --git a/test/config.test.ts b/test/config.test.ts index 57ae8e79e..cdfcbf116 100644 --- a/test/config.test.ts +++ b/test/config.test.ts @@ -259,6 +259,8 @@ describe('KNOWN_CONFIG_KEYS — documented enable commands must be registered', const { KNOWN_CONFIG_KEYS, KNOWN_CONFIG_KEY_PREFIXES } = await import('../src/core/config.ts'); // The flag the chronicle backstop reads (isAutoChronicleEnabled). expect(KNOWN_CONFIG_KEYS).toContain('auto_chronicle'); + // The takes bootstrap two-gate consent flag (v0.41.18.0 A12). + expect(KNOWN_CONFIG_KEYS).toContain('takes.bootstrap_enabled'); // chronicle.tz (chronicleTz) + future chronicle.* knobs. expect(KNOWN_CONFIG_KEY_PREFIXES.some(p => 'chronicle.tz'.startsWith(p))).toBe(true); });