// engine/universal-rules/rules/planu-bdd-criteria.ts — Universal rule: BDD acceptance criteria
function buildBody() {
    return `# Planu BDD Acceptance Criteria

Auto-generated by \`init_project\`. Do not edit manually.

## Rule

Every acceptance criterion must be executable enough for an implementation agent and a validation gate.

Required format:

\`\`\`gherkin
GIVEN <initial state or context>
WHEN <action or event>
THEN <observable result>
AND <additional observable constraint>
\`\`\`

## Required Detail

Each criterion must identify:

- files or modules that are expected to change when known
- user-visible behavior or API behavior
- test expectation or verification command
- ownership when the work spans more than one wave or agent

## Hard Blocks

- No loose checklist-only acceptance criteria.
- No vague outcomes such as "works correctly", "improves UX", or "handles errors" without observable behavior.
- No approval when criteria are missing \`GIVEN\`, \`WHEN\`, or \`THEN\`.
`;
}
export const planuBddCriteriaRule = {
    id: 'planu-bdd-criteria',
    name: 'Planu BDD Criteria',
    description: 'Requires complete GIVEN/WHEN/THEN acceptance criteria.',
    category: 'quality',
    applicableHosts: ['all'],
    defaultEnabled: true,
    buildContent: (_host) => buildBody(),
};
//# sourceMappingURL=planu-bdd-criteria.js.map