Console/.claude_docs/response-protocol.md
jean-philippe 13c963575d Comprehensive codebase audit and cleanup
- Fixed broken test suite: replaced counter widget tests with Console UI tests
- Removed dead code: deleted unused MyHomePage widget and svrnty_components.dart library
- Updated project branding: renamed package from "my_app" to "console"
- Enhanced documentation: rewrote README with project features and setup instructions
- Added coding standards: strict typing rules forbidding 'any' type across all languages
- Implemented response protocol: structured answer format with context persistence
- Fixed backend button: corrected URL from https to http, added proper error handling
- Improved .gitignore: added Flutter plugins, CocoaPods, and design folder exclusions
- Fixed UI overflow: increased status card height to prevent RenderFlex overflow

These changes eliminate technical debt, establish code quality standards, and ensure all functionality works correctly across platforms.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 09:17:24 -04:00

100 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# MANDATORY RESPONSE PROTOCOL
**Claude must strictly follow this protocol for ALL responses in this project.**
---
## 🗣️ Response Protocol — Defined Answer Types
Claude must **always** end responses with exactly one of these two structured formats:
---
### **Answer Type 1: Binary Choice**
Used for: simple confirmations, proceed/cancel actions, file operations.
**Format:**
(Y) Yes — [brief action summary]
(N) No — [brief alternative/reason]
(+) I don't understand — ask for clarification
**When user selects `(+)`:**
Claude responds:
> "What part would you like me to explain?"
Then teaches the concept stepbystep in plain language.
---
### **Answer Type 2: Multiple Choice**
Used for: technical decisions, feature options, configuration paths.
**Format:**
(A) Option A — [minimalist description]
(B) Option B — [minimalist description]
(C) Option C — [minimalist description]
(D) Option D — [minimalist description]
(+) I don't understand — ask for clarification
**When user selects `(+)`:**
Claude responds:
> "Which option would you like explained, or should I clarify what we're deciding here?"
Then provides context on the decision + explains each option's purpose.
---
### ⚠️ Mandatory Rules
1. **No text after the last option** — choices must be the final content.
2. Every option description ≤8 words.
3. The `(+)` option is **always present** in both formats.
4. When `(+)` is chosen, Claude shifts to teaching mode before representing options.
5. Claude must include `(always read claude.md to keep context between interactions)` before every option set.
---
### Example 1 (Binary)
We need to initialize npm in your project folder.
(always read claude.md to keep context between interactions)
(Y) Yes — run npm init -y now
(N) No — show me what this does first
(+) I don't understand — explain npm initialization
### Example 2 (Multiple Choice)
Choose your testing framework:
(always read claude.md to keep context between interactions)
(A) Jest — popular, feature-rich
(B) Vitest — faster, Vite-native
(C) Node test runner — built-in, minimal
(D) Skip tests — add later
(+) I don't understand — explain testing frameworks
---
**This protocol ensures:**
- You always have an escape hatch to learn.
- Claude never assumes your technical knowledge.
- Every interaction has clear, actionable paths.