From 078c22b5e0f8e2b7259ee513e375b7d5eb2cc3d4 Mon Sep 17 00:00:00 2001 From: Christian Meyer Date: Mon, 31 Aug 2026 10:32:21 +0200 Subject: [PATCH] fix: require anchored structured file edits --- src/lai_automation/agent.py | 5 +++++ tests/test_agent.py | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/lai_automation/agent.py b/src/lai_automation/agent.py index e332e9c..2ced26d 100644 --- a/src/lai_automation/agent.py +++ b/src/lai_automation/agent.py @@ -35,6 +35,11 @@ Efficiency and completion rules: fix to similar endpoints unless the issue requires it. - Preserve unrelated lines exactly. Do not reformat, rename, clean up, or correct unrelated code while solving the issue. +- For structured files such as PHP arrays, JSON, YAML, XML, and configuration, + use only small localized edits around a uniquely matching existing anchor. + Verify that the exact anchor occurs once before replacing it. +- Never reconstruct or rewrite an entire structured file. Never use broad text + replacement, global substitution, or repeated delimiters as edit anchors. - Prefer adding a focused method to the closest existing test class over creating another test file. Never declare a helper class name that already exists. - For every new join, inspect all key columns and cardinality. Prevent duplicate diff --git a/tests/test_agent.py b/tests/test_agent.py index 135b98a..dbb6f81 100644 --- a/tests/test_agent.py +++ b/tests/test_agent.py @@ -24,6 +24,8 @@ def test_system_prompt_requires_precise_diff_hygiene() -> None: assert "Never create backup files" in _SYSTEM_TEMPLATE assert "failure-report transport code" in _SYSTEM_TEMPLATE assert "Preserve unrelated lines exactly" in _SYSTEM_TEMPLATE + assert "small localized edits around a uniquely matching existing anchor" in _SYSTEM_TEMPLATE + assert "Never reconstruct or rewrite an entire structured file" in _SYSTEM_TEMPLATE assert "closest existing test class" in _SYSTEM_TEMPLATE assert "inspect all key columns and cardinality" in _SYSTEM_TEMPLATE assert "remove trailing spaces" in _SYSTEM_TEMPLATE