Repository navigation
feat: explain the answer rules to the model - #39
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Chef's kiss. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
hawkxdev
left a comment
There was a problem hiding this comment.
Verified all acceptance criteria and the unchanged-message checks, all six commands on the integrated head, and ten precise mutations with restored sources. No blocking finding.
Co-authored-by: Sergey Sokolkin <hawkxdev@gmail.com>
What changed
The system message now states all four answer rules as separate lines after the knowledge-base block. It explains the reply language and source of facts, forbidden stems including negations, product selection for the upsell, and the meaning of
kb_match. The rest of the messages is unchanged. The issue-specific acceptance marker is removed.How verified
All six commands passed on integrated head
e7d1e56, including the web page:uv sync --locked: resolved 37 packages, audited 35.uv run ruff check .: all checks passed.uv run ruff format --check .: 53 files already formatted.uv run mypy .: no issues in 37 source files.uv run pytest --cov: 212 passed; coverage 99.56%.uv run python scripts/check_conventions.py: 37 files, 0 violations.The four acceptance cases fail without the implementation and pass with it. Ten mutations of this implementation reproduced exactly the predicted failures: each missing rule and each rule moved only before the base fails its own case, moving all rules fails four, and joining the first two fails two. The restored full suite passed; the missing-anchor control returned NOT-RUN.
No additional tests were needed: #36 acceptance covers the new rules, and #16 acceptance covers the unchanged messages, base, disclaimer and customer delimiters.
Out of scope
The service retry message, model client, provider selection and dependencies are unchanged. Live provider evaluation is separate from this prompt contract.
Closes #36