What Is Feedback?
The feedback system enables bidirectional learning between implementation and design. As agents work on issues, they can provide anchored feedback back to the specs, bridging the gap between what was planned and what was learned during implementation.Key Principle: Specs aren’t static documents - they evolve based on feedback from implementation. Agents discover ambiguities, missing requirements, and new constraints that flow back up to improve the specs.
- Point out ambiguities discovered during implementation
- Request clarification on unclear requirements
- Suggest improvements based on actual implementation
- Document assumptions made when specs were incomplete
- Source issue - The issue where feedback was discovered
- Target spec - The spec receiving feedback
- Content - The actual feedback message
- Type - comment, suggestion, or request
- Anchor - Optional location in the spec (line number or text)
Feedback vs. Relationships
Feedback
Provides context to specs
- From issue → to spec
- Adds commentary/questions
- Can be dismissed
- Anchored to specific locations
Relationships
Connects entities
- Between any entities
- Structural connections
- Permanent links
- Graph-based dependencies
Feedback Types
sudocode supports three types of feedback:comment - General commentary
comment - General commentary
suggestion - Propose improvements
suggestion - Propose improvements
Purpose: Suggest changes or improvements to the specUse cases:
- Propose better approaches discovered during implementation
- Suggest additional features
- Recommend spec clarifications
- Share best practices
request - Ask for clarification
request - Ask for clarification
Purpose: Request clarification or additional requirementsUse cases:
- Point out ambiguities
- Ask about missing edge cases
- Request technical specifications
- Highlight gaps in requirements
Smart Anchoring
Feedback can be anchored to specific locations in specs using two methods:Line Number Anchoring
Anchor feedback to a specific line number:Best for: Precise locations, code-like specs with numbered sections
Text Search Anchoring
Anchor feedback by searching for text:- Search for the text “Authentication Flow” in the spec
- Anchor the feedback to that location
- Store context (surrounding text) for relocating if the spec changes
Best for: Section headings, stable text that’s unlikely to change
No Anchor (General Feedback)
Feedback doesn’t require an anchor - you can provide general feedback on the entire spec:Anchor Relocation (Future)
Smart anchor relocation is planned but not yet fully implemented. Currently, anchors are stored but not automatically relocated when specs change. This is a future enhancement.
- Track when spec content changes around an anchor
- Attempt to relocate the anchor to the new location
- Use fuzzy matching on surrounding context
- Mark anchors as “stale” if relocation fails
- Provide commands to manually relocate or dismiss stale feedback
Creating Feedback
Command Syntax
<issue-id>- The issue providing feedback<spec-id>- The spec receiving feedback
--content <text>- Feedback content (required)--type <type>- Feedback type: comment, suggestion, request (default: comment)--line <number>- Anchor to line number--text <search>- Anchor by searching for text
Examples
Viewing Feedback
On Specs
When you view a spec, you’ll see all feedback it has received:Example output
Example output
On Issues
Issues also show what feedback they’ve provided:Example output
Example output
Agent Workflows
When Agents Should Provide Feedback
1
Discovered ambiguity
Spec doesn’t clearly specify something needed for implementation
2
Found missing requirement
Edge case or scenario not covered in spec
3
Learned something valuable
Implementation revealed a better approach or important constraint
4
Made assumption
Had to assume something to proceed - document it for review
5
Completed work
Successfully implemented - confirm requirements were clear (optional)
Example Agent Flow
Managing Feedback
Dismissing Feedback
Mark feedback as addressed or not relevant:Dismissed feedback is retained but marked as resolved
Listing Feedback
Database Schema
For reference, here’s how feedback is stored:anchor field stores JSON with location information:
Best Practices
Writing Effective Feedback
✅ Good feedback
✅ Good feedback
Clear and specific:Actionable:Contextual:
❌ Avoid these patterns
❌ Avoid these patterns
Too vague:No context:Redundant:
When to Use Each Feedback Type
| Situation | Type | Example |
|---|---|---|
| Need clarification | request | ”What should timeout value be?” |
| Found better approach | suggestion | ”Consider using Redis instead” |
| Document decision | comment | ”Used 1hr expiration based on RFC” |
| Point out gap | request | ”Edge case X not specified” |
| Share learning | comment | ”Implementation revealed…” |
| Propose improvement | suggestion | ”Add validation for…” |
Anchoring Best Practices
1
Use line numbers for precise locations
When you need exact positioning, especially in code-like specs
2
Use text search for sections
Anchor to section headings that are less likely to change
3
Skip anchor for general feedback
If feedback applies to entire spec, don’t anchor it
4
Keep anchors stable
Try to anchor to stable text (headings, not prose)
CLI Commands
Quick reference for feedback commands:Feedback Command Reference
See complete documentation for all feedback commands
Common Workflows
Agent Discovers Ambiguity
1
Agent reads spec
2
Agent starts work
3
Agent finds ambiguity
Spec doesn’t specify token expiration policy
4
Agent provides feedback
5
Agent continues with assumption
Documents assumption in issue, continues work
Human Reviews Feedback
1
Check for open feedback
2
Review specific feedback
3
Update spec if needed
Edit the spec to address the feedback
4
Dismiss feedback


- Document implementation decisions
- Explain assumptions made
- Share learnings from implementation
- Provide status updates
Example: