{"version":"2.1.239","anchor":"effort-is-now-a-tagged-value-resolved-against-the-current-mo","canonical_anchor":"effort-is-now-a-tagged-value-resolved-against-the-current-mo","heading":"Effort is now a tagged value resolved against the current model","tier":"internal","area":"Effort","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.239\/e\/effort-is-now-a-tagged-value-resolved-against-the-current-mo","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.239","markdown":"### Effort is now a tagged value resolved against the current model\n\nThinking effort can now be set per model, with a default and an inherit option.\n\n**What**\n\nThe session's thinking effort stopped being a plain string. It is now a tagged value that can say \"inherit\", \"default\", or a specific level, and the settings side is a table with a default plus per-model entries resolved against the model the main loop is running.\n\n**Details**\n\n- The inherit and default cases are frozen shared singletons.\n- The table starts as `{ default: void 0, byModel: {} }`, so with nothing configured the resolved effort is unchanged.\n- This is the initial session state on this build, not behind a flag.\n\n**Evidence**\n\n`settingsEffortTable`\n\n- Area: Effort\n- Tier: Under the hood\n- Useful: 3\/5\n- Signal: 4\/5"}