fix(prompts): scrub site-specific vocabulary and contradictions (plan 021)#92
Open
DavertMik wants to merge 1 commit into
Open
fix(prompts): scrub site-specific vocabulary and contradictions (plan 021)#92DavertMik wants to merge 1 commit into
DavertMik wants to merge 1 commit into
Conversation
…cific examples (plan 021)
Scrub site-specific vocabulary and self-contradiction from prompts per the
CLAUDE.md "General, Not Example-Driven" rule:
- rules.ts stated one positional-index policy (was: line 22 forbade [1]/[2]
outright while <xpath_rules> mandated them).
- Removed debug-session leftovers (imr_manual12 slug, md-icon-* classes,
requirements href, "New Template", :has-text("Manual")) -> neutral
placeholders (icon-settings/icon-add, /items/12345, "New Item", "Active").
- Domain-neutral example vocabulary in pilot/tester/planner: test-suite ->
item/post, "Matched tests 0" -> "Matched 0", etc.
- Composed locatorRule from named parts (contextSimplificationRule +
locatorRuleWithoutContextSimplification); driller imports the pre-composed
variant instead of regex-stripping the constant. locatorRule verified
byte-identical to the original for all other consumers.
- Removed the duplicate capabilityGroundingRule/dataProtectionRules injections
from Tester's scenario block and Pilot's planTest (both already present in
the same conversation's system prompt).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Explorbot Self-RegressionCommit
Attempt details
Session analysis — basic (native): Session AnalysisThe Issues page core flows (create, status filter, search) work correctly. The label filter test failed due to automation issues, and form validation displays errors in the wrong location. Coverage
What works
Defects[Medium] Validation error displays near Description field instead of Title fieldAffects:
Execution Issues
|
DenysKuchma
approved these changes
Jul 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Plan 021 — Scrub site-specific vocabulary and contradictions from prompts
CLAUDE.md's cardinal prompt rule is "General, Not Example-Driven". The prompts violated it. This is a prompt-only change (the single code change is the rule composition in Step 4). Every replacement uses the plan's exact wording.
What changed
rules.tssaid both "never use positional indices [1], [2]" (line 22) and "XPath should use positional indices [1], [2], [3]" (<xpath_rules>). Now one policy: positional indices are a last-resort disambiguator.rules.ts:imr_manual12project slug,md-icon-cog/md-icon-plusicon classes,a[href*="requirements"],:has-text("Manual"),"New Template"→ neutral placeholders (icon-settings/icon-add,/items/12345,"Active","New Item").item/post/"Matched 0" (matching the existing house style, e.g."New user 'john@example.com'…").locatorRulecomposed from named parts —contextSimplificationRule+locatorRuleWithoutContextSimplificationare now exported; Driller imports the pre-composed variant instead of.replace(/<context_simplification>.../)-stripping the constant.locatorRuleverified byte-identical to the original for all its other consumers (Tester/Pilot system prompts).capabilityGroundingRule+dataProtectionRuleswere injected in Tester's system prompt and its scenario user-message (same conversation), likewise Pilot's system prompt and planTest. Removed the user-message copies (verified each targets a conversation that already carries the system copy). Pilot's verdict system prompt keeps its own copy — separate conversation.Verification
bun test tests/integration/→ 63 pass / 0 fail (the gate for prompt changes — real prompt assembly through aimock).bun test tests/unit→ 764 pass / 0 fail.bun run lint→ clean;tscin touched files neutral (9 = 9).grep -rn "imr_manual\|md-icon" src/→ 0;driller.tshas no.replace(on a rules constant;locatorRule === originalverified in a Bun eval.🤖 Generated with Claude Code