// src/engine/opencode/coach.ts — SPEC-966: OpenCode coach rules
export const OPENCODE_COACH_RULES = [
    {
        id: 'opencode-001',
        rule: 'Use native interactive UI instead of referencing AskUserQuestion',
        rationale: 'OpenCode has its own interactive UI system. References to Claude Code AskUserQuestion will not work.',
        severity: 'strict',
    },
    {
        id: 'opencode-002',
        rule: 'Respect OpenCode plan mode lifecycle (plan → build → review)',
        rationale: 'OpenCode has native plan mode. Planu hooks should integrate with enterPlanMode/exitPlanMode events.',
        severity: 'strict',
    },
    {
        id: 'opencode-003',
        rule: 'Use opencode.json for project-level configuration instead of .claude/settings.json',
        rationale: 'OpenCode reads configuration from opencode.json. Do not assume Claude Code config files exist.',
        severity: 'recommended',
    },
    {
        id: 'opencode-004',
        rule: 'Prefer streaming responses for long-running tools',
        rationale: 'OpenCode handles streaming better than batched responses for tools that take >5s.',
        severity: 'recommended',
    },
    {
        id: 'opencode-005',
        rule: 'Fallback to Planu-managed flow when OpenCode plan mode is unavailable',
        rationale: 'Not all OpenCode versions support native plan mode. Always provide a fallback.',
        severity: 'strict',
    },
];
export function getCoachRules() {
    return OPENCODE_COACH_RULES;
}
//# sourceMappingURL=coach.js.map