feat(honcho): wizard cadence default 2, surface reasoning level, backwards-compat fallback

Setup wizard now always writes dialecticCadence=2 on new configs and
surfaces the reasoning level as an explicit step with all five options
(minimal / low / medium / high / max), always writing
dialecticReasoningLevel.

Code keeps a backwards-compat fallback of 1 when dialecticCadence is
unset so existing honcho.json configs that predate the setting keep
firing every turn on upgrade. New setups via the wizard get 2
explicitly; docs show 2 as the default.

Also scrubs editorial lines from code and docs ("max is reserved for
explicit tool-path selection", "Unset → every turn; wizard pre-fills 2",
and similar process-exposing phrasing) and adds an inline link to
app.honcho.dev where the server-side observation sync is mentioned in
honcho.md. Recommended cadence range updated to 1-5 across docs and
wizard copy.
This commit is contained in:
Erosika 2026-04-18 13:49:50 -04:00 committed by kshitij
parent 5b6792f04d
commit 21d5ef2f17
7 changed files with 40 additions and 18 deletions

View file

@ -865,8 +865,10 @@ class TestDialecticCadenceDefaults:
_settle_prewarm(provider)
return provider
def test_default_is_1(self):
"""Default dialectic_cadence is 1 — fires every turn unless overridden."""
def test_unset_falls_back_to_1(self):
"""Unset dialecticCadence falls back to 1 (every turn) for backwards
compatibility with existing configs that predate the setting. The
setup wizard writes 2 explicitly on new configs."""
provider = self._make_provider()
assert provider._dialectic_cadence == 1
@ -1569,8 +1571,7 @@ class TestDialecticLifecycleSmoke:
class TestReasoningHeuristic:
"""Char-count heuristic that scales the auto-injected reasoning level by
query length, clamped at reasoning_level_cap. 'max' is reserved for
explicit tool-path selection."""
query length, clamped at reasoning_level_cap."""
@staticmethod
def _make_provider(cfg_extra=None):