fix(config): register takes.bootstrap_enabled too — same unregistered-key class

Hit while enabling the takes bootstrap on a live brain: the onboard
remediation's documented enable key fails 'Unknown config key' exactly like
auto_chronicle did. Registered + pinned by the same regression test.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FQgByq4aqQq2PP8UHCdnfk
This commit is contained in:
Paolo Belcastro
2026-07-06 18:06:02 +02:00
co-authored by Claude Fable 5
parent f589739469
commit f29f24dfb1
2 changed files with 6 additions and 0 deletions
+4
View File
@@ -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',
+2
View File
@@ -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);
});