surface.py python
35 lines 1.4 KB
Raw
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1 docs: MuseHub-first before ISR #74 — staging solidify NEXT Human 1 day ago
1 """Reminder tips for optional config features (LT follow-up patch)."""
2
3 from __future__ import annotations
4
5 from adapters.config import OverseerConfig
6
7
8 def build_optional_feature_tips(config: OverseerConfig) -> list[str]:
9 """Return human-readable tips when optional LT features are disabled."""
10 tips: list[str] = []
11 if not config.session_bookends.enabled:
12 tips.append(
13 "tip: session_bookends off — set session_bookends.enabled: true in "
14 ".overseer/config.yaml then ok sync for Cursor session start/end nudges "
15 "(cursor/hooks/README.md)"
16 )
17 if not config.honesty.enabled:
18 tips.append(
19 "tip: honesty off — set honesty.enabled: true in .overseer/config.yaml "
20 "for verification-evidence and independent-second-reviewer reminders "
21 "(require_verification_evidence / require_independent_second_reviewer: warn|require; "
22 "docs/INDEPENDENT-SECOND-REVIEWER.md)"
23 )
24 elif config.honesty.require_independent_second_reviewer == "off":
25 tips.append(
26 "tip: require_independent_second_reviewer off — set "
27 "honesty.require_independent_second_reviewer: warn|require for second-chat "
28 "DONE gating (docs/INDEPENDENT-SECOND-REVIEWER.md)"
29 )
30 return tips
31
32
33 def optional_feature_tips_payload(tips: list[str]) -> dict:
34 """JSON payload for ``overseer status --json``."""
35 return {"tips": list(tips)}
File History 1 commit
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1 docs: MuseHub-first before ISR #74 — staging solidify NEXT Human 1 day ago