2757bc7185
Add opt-in Integer autoCompactWindow to FleetConfig.Profile (last field, null/unset = today's behaviour). Validated at config load to [100000, 1000000] — the band Claude Code's own --autocompact flag accepts. Claude Code: appends --autocompact <window> to argv (mirrors --model), so it survives the ccs <profile> wrapper. opencode: has no absolute compact-at-N knob (only compaction.auto/prune/ reserved/tail_turns/preserve_recent_tokens), so the window is applied as the resolved model's own limit.context (+ a required limit.output:16384 default) in the generated opencode.json, merged via get-or-create nodes so it does not clobber a custom-provider block. Only applies when model: resolves to "provider/model"; otherwise logs a WARN naming the profile rather than silently doing nothing. Docs added to fleetd.example.yaml explaining the cross-backend semantics difference (compacts AT the window vs. WITHIN it).