surface.py python
35 lines 1.5 KB
Raw
sha256:6abcf1fa82a7a621ccbc945f19acdba5bc0db54569599404a1452fb4a096a199 fix(ISR): default require_independent_second_reviewer to require Human minor ⚠ breaking 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 (opted out) — default is "
27 "require; set honesty.require_independent_second_reviewer: require to "
28 "re-enable second-chat 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 2 commits
sha256:6abcf1fa82a7a621ccbc945f19acdba5bc0db54569599404a1452fb4a096a199 fix(ISR): default require_independent_second_reviewer to require Human minor 1 day ago
sha256:d19ce6f1b9af7123f2952c16142303cf906a8141fca5d75f6824d4312dccbfe9 chore(governance): sync handover+roadmap to fc2ecb0 (drift:… Human 1 day ago