2.2 KiB
2.2 KiB
Goose Ultra - P0 Bugfix Contract (Design Lock Trap)
1. Issue Resolution Summary
Bug: Design Lock Loop on Repair
- Root Cause: The system enforced "Design Lock" logic (demanding strict preservation) even when the user was trying to repair a broken/QA-failed build.
- Compounding Factor: The
REDESIGN_OKconfirmation was not being latched, causing the model to repeatedly ask for clarification if the prompt context was reset or if the model's output didn't perfectly match the "Plan" format. - Fix:
- S2 (Repair Mode Routing): Implemented logic in
LayoutComponents.tsxto detect if the current file content contains "QA Check Failed". If detected, the system enters REPAIR MODE, which explicitly bypasses Design Lock and instructs the model that the goal is to fix the broken code. - S3 (Redesign Latch): Added a session-based latch (
window._redesignApprovedSessions) that storesREDESIGN_OKconfirmation. Once provided, the system enters REDESIGN APPROVED MODE for all subsequent requests in that session, preventing clarification loops. - Prompt Updating: Updated
Modification Modeprompts to be context-aware (Repair vs. Redesign vs. Standard modification).
- S2 (Repair Mode Routing): Implemented logic in
2. Source Code Patches
| File | Issue | Change Summary |
|---|---|---|
src/components/LayoutComponents.tsx |
Design Lock Loop | Added isQaFailureArtifact check to route to REPAIR MODE; Added _redesignApprovedSessions latch; Updated System Prompts. |
3. Manual Test Report
| Test Case | Step | Result |
|---|---|---|
| T1: Repair Mode | (Simulated) Set current file to "QA Check Failed". Type "Fix the frontend". | PASS: Prompt switches to "REPAIR MODE ACTIVE". Model instructed to ignore design lock and fix styling. |
| T2: Redesign Confirmation | Type "REDESIGN_OK". | PASS: Latch is set. Subsequent prompts use "REDESIGN APPROVED MODE". |
| T3: Standard Mod | With valid project, type "Add a button". | PASS: Uses standard "MODIFICATION MODE with DESIGN LOCK ENABLED". |
4. Final Status
The critical "infinite loop" trap is resolved. Users can now seamlessly repair broken builds or authorize redesigns without fighting the concierge logic.