{"version":"2.1.252","anchor":"new-instructionfiles-context-channel-gated-behind-carved","canonical_anchor":"new-instructionfiles-context-channel-gated-behind-carved","heading":"New instructionFiles context channel behind carved-slate flag","tier":"soon","area":"System Prompt","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.252\/e\/new-instructionfiles-context-channel-gated-behind-carved","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.252","markdown":"### New instructionFiles context channel behind carved-slate flag\n\nA separate instruction-files context channel exists but is off by default, part of a static system prompt rework.\n\nThe per-session context builder now tracks a separate `instructionFiles` field alongside `memoryFiles`, via new `userContextInstructionFiles` state. This path only runs when the `Ml()` gate (checking `CLAUDE_CODE_CARVED_SLATE` or the `tengu_carved_slate` remote flag, default false) is enabled; otherwise it is short-circuited. The context refresh function that clears\/rebuilds this cached user context now also takes a `refreshReason` argument (`session_start`, `compaction`, `policy_refresh`, `directory_added`, `settings_sync`, `account_change`), shown to the model via strings like \"after the conversation was compacted\" or \"after the organization's managed settings changed\".\n\nWhen the same carved-slate gate is on and there is no CLAUDE.md content, the context block now explicitly emits `claudeMd: \"\"` instead of omitting the key, keeping the block structure stable, likely for prompt caching.\n\n- Flag `tengu_carved_slate`: Off in both readings (read for one account on one subscription tier against v2.1.252; this account: off, anonymous baseline: off, compiled default: not a boolean we can read)\n- Area: System Prompt\n- Names: `CLAUDE_CODE_CARVED_SLATE`\n- Tier: Nothing to try yet\n- Useful: 2\/5\n- Signal: 4\/5\n- Present in the build but not switched on"}