{"version":"2.1.269","anchor":"sessionturn-engine-internals-rewritten-as-classes","canonical_anchor":"sessionturn-engine-internals-rewritten-as-classes","heading":"Session\/turn engine internals rewritten as classes","tier":"internal","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.269\/e\/sessionturn-engine-internals-rewritten-as-classes","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.269","markdown":"### Session\/turn engine internals rewritten as classes\n\nThe engine driving interactive and headless sessions was rewritten as separate classes instead of one big function\n\n**What**\n\nThe internal code that runs a session's turn-by-turn loop was reorganized from inline logic inside one large function into about a dozen separate classes, each handling one piece: declined permission-request tracking, a delivery ledger, drain state, admission, wind-down of background tasks, command selection, batch settling, held-result routing, prompt suggestions, plugin\/MCP (external tool integration) syncing, team-lead inbox polling, and worker directory syncing.\n\n**Why**\n\nThis is a structural rewrite of session internals rather than a new capability; it should not change what a session does, only how the underlying code is organized.\n\n- Flag `tengu_giggly_dragonfly`: Not enough to say (read for one account on one subscription tier against v2.1.269; this account: no value returned, anonymous baseline: no value returned, compiled default: on)\n- Flag `tengu_print_ceiling_stop_agents`: Not enough to say (read for one account on one subscription tier against v2.1.269; this account: no value returned, anonymous baseline: no value returned, compiled default: on)\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}