Thank you for posting this. This is exactly the failure mode we lose sleep over, so let me give you the full picture.
When Jarvis reads a procedure file and then paraphrases instead of using the exact syntax, it's usually one of two things:
- The procedure file describes the intent ('remove duplicate orders for the customer') but doesn't include the exact SQL as a code block. Jarvis then generates SQL from its understanding, which can drift
- The procedure file has the SQL but in prose form, not inside a fenced code block. The model sometimes treats it as an example rather than a literal command to copy
Both are KB structure issues more than agent behavior issues. Fix:
- Put the exact command inside a fenced code block with a language tag (```sql)
- Add an explicit instruction above: 'Use this SQL exactly as written. Do not modify the WHERE clause.'
- For really sensitive procedures, mark the file with a front-matter flag
mode: literal which makes Jarvis refuse to paraphrase it
In the meantime, the approval step catching this is the system working as designed. Destructive SQL is a tier 3 tool call, never auto-executes. You saw what you should have seen, and had the chance to block it.