chore(prompt): trim performance-neutral stage operating-guidance block
Vikunja #169 audition result. The 5x5 controlled A/B (docs/qa/QA-stage-prompt-audition-results-2026-07-16.md) found the curated guidance block performance-neutral: 5/5 build success both variants, cost differences within heavy-tailed noise. Trimmed to the single sentence the gates don't already enforce (scaffolding-scope boundary); dropped the read-before-write / verify-before-complete / use-exact-feedback nudges that restate gate-enforced behavior. ON run 3 proved prose doesn't stop failure loops — deterministic defenses do (filed Vikunja #191/#192, unblocked #78).
This commit is contained in:
+7
-3
@@ -76,11 +76,15 @@ internal val GATE_REQUIRED_CAPABILITY: Map<String, String> = mapOf(
|
||||
WORKSPACE_PRECONDITION_GATE to "file_write",
|
||||
)
|
||||
|
||||
// ponytail: trimmed to the single non-redundant sentence after the 2026-07-16 audition
|
||||
// (docs/qa/QA-stage-prompt-audition-results-2026-07-16.md) found the full block performance-neutral —
|
||||
// the read-before-write / verify-before-complete / use-exact-feedback nudges just restate behavior the
|
||||
// gates already enforce, and run 3 proved prose doesn't stop failure loops (deterministic defenses do).
|
||||
// Only the scaffolding-scope boundary encodes a decision no gate makes. Delete outright if a future
|
||||
// multi-fixture audit still shows no clarity value.
|
||||
internal const val CURATED_STAGE_OPERATING_GUIDANCE = """## Operating guidance
|
||||
Verify the current workspace before declaring completion. Read before modifying existing files.
|
||||
When the authoritative intent plainly requires project setup, creating its manifest, configuration,
|
||||
or entry file is in scope; do not spend turns re-deciding that settled boundary. Re-observe facts
|
||||
instead of assuming them, and use the exact gate/tool feedback to make the smallest effective fix."""
|
||||
or entry file is in scope; do not spend turns re-deciding that settled boundary."""
|
||||
|
||||
// Deterministic failure category from the gate id (no LLM — keeps routing off the untrusted path).
|
||||
internal fun ticketCategory(gate: String): String = when (gate) {
|
||||
|
||||
Reference in New Issue
Block a user