Autonomous Workflows
Understanding how Dropstone Agent works independently on complex tasks
One of Dropstone Agent's most powerful features is its ability to work autonomously on tasks it's confident about. This guide explains how autonomous operation works and how to use it effectively.
What is Autonomous Operation?
Traditional Assistant:
You: "Add validation to the user form"
Agent: "May I read UserForm.tsx?"
You: [Approve]
Agent: "May I modify UserForm.tsx?"
You: [Approve]
Agent: "May I create validation.ts?"
You: [Approve]
[... 10 more approvals ...]
Autonomous Operation:
You: "Add validation to the user form"
Agent: [High confidence - works autonomously]
"Adding validation following your established patterns...
✓ Read UserForm.tsx
✓ Created validation schema
✓ Updated form component
✓ Added error messages
✓ Generated tests
✓ All tests passing
Complete! Ready for review."
How Autonomous Mode Works
Confidence Assessment
Before taking autonomous action, the agent calculates confidence based on:
Pattern Familiarity (40%)
- Have I done this exact task before?
- Does it match learned patterns?
- How many similar successes?
Code Understanding (30%)
- Do I understand the codebase?
- Are dependencies clear?
- Is the context complete?
Risk Level (20%)
- Is this a safe operation?
- Can it be easily undone?
- Are there side effects?
Task Clarity (10%)
- Are requirements clear?
- Is there ambiguity?
- Do I need more information?
Confidence Thresholds
95-100%: Fully autonomous, no notifications
85-94%: Autonomous with progress notifications
70-84%: Proposes approach, asks to proceed
60-69%: Asks for approval before changes
Below 60%: Multiple approvals, asks questions
Autonomous Workflow Example
Scenario: Adding a New API Endpoint
First Time (Week 1):
You: "Create a products API endpoint"
Agent: [Confidence: 45% - Many questions needed]
"I'll create a products API. Some questions:
- What fields should the product have?
- What routes? (GET, POST, PUT, DELETE?)
- What validation rules?
- Authentication required?
- Response format preference?"
[You answer each question]
Agent: "May I create models/Product.ts?"
You: [Approve]
Agent: "May I create routes/products.ts?"
You: [Approve]
[... 8 more approval requests ...]
Time: 12 minutes
Approvals: 11
Second Time (Week 3):
You: "Create a categories API endpoint"
Agent: [Confidence: 78% - Learned from products]
"I'll create a categories API following the same pattern
as your products endpoint.
Planned structure:
- Model: models/Category.ts
- Routes: routes/categories.ts
- Controller: controllers/categories.controller.ts
- Validation: Using Joi schemas
- Tests: Full CRUD coverage
Proceed with this approach?"
You: "Yes"
[Agent works with minimal approvals]
Time: 4 minutes
Approvals: 1
Third Time (Month 2):
You: "Create a reviews API endpoint"
Agent: [Confidence: 92% - Fully autonomous]
"Creating reviews API with established patterns...
✓ Created models/Review.ts
✓ Created routes/reviews.ts
✓ Created controllers/reviews.controller.ts
✓ Added Joi validation schemas
✓ Implemented CRUD operations
✓ Added authentication middleware
✓ Generated comprehensive tests (24 test cases)
✓ All tests passing
Complete! Reviews API ready at /api/reviews"
Time: 1.5 minutes
Approvals: 0
What Triggers Autonomous Operation?
High Confidence Tasks
1. Repetitive Patterns
After learning your pattern for API endpoints:
- Creates similar endpoints autonomously
- Follows exact file structure
- Uses same libraries and approaches
- Matches code style automatically
2. Safe Operations
Low-risk tasks:
- Reading files (always safe)
- Adding new files (reversible)
- Generating tests (additive)
- Creating documentation (non-critical)
3. Well-Defined Tasks
Clear instructions:
"Add TypeScript types to all function parameters in utils/"
- Scope is clear (utils folder)
- Action is specific (add types)
- Pattern is known (TypeScript)
What Requires Approval
1. High-Risk Operations
Always asks approval:
- Deleting files
- Modifying configuration
- Changing security code
- Database migrations
- Deployment scripts
2. Ambiguous Requests
Unclear instructions:
"Make it better" - Better how?
"Fix the issues" - Which issues?
"Update the API" - What changes?
3. New Territory
Unfamiliar tasks:
- New library or framework
- Unrecognized pattern
- Complex algorithm
- Novel approach needed
Autonomous Workflow Phases
Phase 1: Analysis
What Happens:
Agent:
1. Analyzes your request
2. Identifies required files
3. Checks learned patterns
4. Calculates confidence
5. Plans approach
You See:
"🔍 Analyzing request...
📊 Confidence: 89% (High)
📋 Planning autonomous execution..."
Phase 2: Execution
What Happens:
Agent:
1. Reads necessary files
2. Makes required changes
3. Creates new files
4. Updates imports/exports
5. Generates tests
You See:
"✏️ Modifying src/components/UserProfile.tsx...
📝 Creating src/types/UserProfile.ts...
🧪 Generating tests...
⚡ Running tests..."
Phase 3: Verification
What Happens:
Agent:
1. Runs syntax checks
2. Validates TypeScript types
3. Executes test suite
4. Checks code quality
5. Verifies no regressions
You See:
"✅ Syntax check: PASSED
✅ Type check: PASSED
✅ Tests: 15/15 PASSED
✅ Coverage: 94%"
Phase 4: Reporting
What Happens:
Agent:
1. Summarizes changes
2. Lists modified files
3. Shows test results
4. Notes any issues
5. Suggests next steps
You See:
"✅ Task Complete!
Changes:
- Modified: 3 files
- Created: 2 files
- Tests added: 15
All checks passing. Ready for review."
Controlling Autonomy
Adjusting Confidence Threshold
Settings → Advanced → Autonomous Confidence Threshold
Conservative (0.90-1.0):
- Very few autonomous actions
- Most tasks require approval
- Maximum safety
- Good for: Critical projects, learning phase
Balanced (0.75-0.89):
- Moderate autonomous operation
- Approval for risky changes
- Good balance of speed and safety
- Good for: Most projects (RECOMMENDED)
Aggressive (0.60-0.74):
- Frequent autonomous operation
- Minimal approval requests
- Maximum speed
- Good for: Trusted patterns, experimental projects
Custom:
- Set exact threshold
- Fine-tune to your comfort
Per-Operation Settings
Settings → Auto-Approve
Read Operations:
☑ Auto-approve file reading
☑ Auto-approve directory listing
☑ Auto-approve code searches
Write Operations:
☑ Auto-approve file creation
☑ Auto-approve file modification
☐ Auto-approve file deletion
Execute Operations:
☑ Auto-approve allowed commands
☐ Auto-approve all commands
Advanced Autonomous Workflows
Multi-File Refactoring
Request:
You: "Refactor the authentication system to use a separate AuthService"
Autonomous Execution:
Agent: [Confidence: 87% - Complex but familiar pattern]
"Refactoring authentication system...
Phase 1: Analysis
✓ Identified 8 files using auth logic
✓ Mapped all dependencies
✓ Planned extraction strategy
Phase 2: Create Service
✓ Created services/AuthService.ts
✓ Moved auth logic from controllers
✓ Added TypeScript interfaces
Phase 3: Update Consumers
✓ Updated UserController.ts
✓ Updated LoginController.ts
✓ Updated middleware/auth.ts
✓ Updated 5 other files
Phase 4: Testing
✓ Generated 23 new tests
✓ Updated existing tests
✓ All 45 tests passing
Phase 5: Cleanup
✓ Removed duplicate code
✓ Updated imports
✓ Verified no unused code
Refactoring complete!
- Reduced code duplication by 45%
- Improved test coverage to 92%
- All functionality preserved"
Time: 3 minutes
Your involvement: Initial request only
Feature Implementation
Request:
You: "Add a search feature to the products page with filters"
Autonomous Execution:
Agent: [Confidence: 91% - Known pattern]
"Implementing search feature...
Step 1: Backend API
✓ Created GET /api/products/search endpoint
✓ Added query parameters: q, category, minPrice, maxPrice
✓ Implemented fuzzy search
✓ Added pagination support
Step 2: Frontend Component
✓ Created SearchBar component
✓ Created FilterPanel component
✓ Added debounced search input
✓ Implemented filter checkboxes
Step 3: State Management
✓ Created useProductSearch hook
✓ Added loading and error states
✓ Implemented cache with SWR
Step 4: Integration
✓ Integrated into ProductsPage
✓ Added URL query sync
✓ Implemented result highlighting
Step 5: Testing
✓ Backend tests: 18 cases
✓ Component tests: 12 cases
✓ Integration tests: 8 cases
✓ All tests passing
Search feature complete!
Try it at /products?q=laptop&category=electronics"
Time: 4 minutes
Bug Investigation & Fix
Request:
You: "@mode debug
Users report that cart totals are sometimes incorrect"
Autonomous Execution:
Agent: [Debug Mode - Confidence: 82%]
"Investigating cart total issue...
Phase 1: Evidence Collection
✓ Reviewed error reports
✓ Analyzed cart calculation code
✓ Checked recent changes
✓ Examined test coverage
Phase 2: Hypothesis Generation
1. Race condition in async updates (65%)
2. Floating point precision issue (25%)
3. Tax calculation error (8%)
4. Currency conversion bug (2%)
Phase 3: Investigation
✓ Tested hypothesis #1: CONFIRMED
✓ Found race condition in CartService.updateQuantity
Root Cause:
Multiple simultaneous quantity updates cause state
inconsistency. Last update wins, losing intermediate changes.
Phase 4: Fix Implementation
✓ Added request debouncing
✓ Implemented optimistic updates with rollback
✓ Added version checking
✓ Improved error handling
Phase 5: Verification
✓ Reproduced original bug: FAILED (good!)
✓ Tested edge cases: All passed
✓ Added regression tests: 8 new tests
✓ Load tested: 100 concurrent updates OK
Bug fixed! Cart totals now accurate even with
rapid updates.
Would you like me to add similar fixes to other
components that might have the same issue?"
Time: 5 minutes
When Autonomy Pauses
Unexpected Situations
Agent Encounters Unknown:
Agent: "I was working autonomously but encountered
an unfamiliar library configuration.
What I was doing:
- Adding React Query for data fetching
Issue:
- Your project uses a custom Query wrapper
- I'm not familiar with the pattern
Options:
1. Show me an example of your Query wrapper usage
2. Let me research the library documentation
3. Implement standard React Query (may not match your pattern)
Which approach should I take?"
Confidence Drop
During Execution:
Agent: [Started with 88% confidence]
"While implementing the feature, I discovered:
- The User model has a complex validation system
- It's different from what I learned before
- My confidence dropped to 62%
I've completed:
✓ Database schema
✓ Basic API routes
Before I continue with validation, could you confirm:
Should I use the complex User validation pattern or
the simpler Product validation pattern?"
Risk Detection
Safety Check:
Agent: "I was about to modify the authentication
middleware autonomously, but I detected:
Risk Factors:
- Changes affect all protected routes
- Security-critical code
- No existing tests for this specific middleware
Pausing for approval.
Proposed changes:
[Shows diff]
These changes would affect 47 API endpoints.
Should I proceed?"
Optimizing for Autonomy
1. Establish Clear Patterns Early
First Implementation:
You: "Create a user API endpoint with:
- RESTful routes
- Joi validation
- JWT auth
- Standardized error responses
- 80% test coverage
Use this exact pattern for all future API endpoints."
Result: Future API endpoints work 100% autonomously.
2. Provide Reference Examples
Good Practice:
You: "@src/components/Button.tsx
This is our standard component pattern.
Use this structure for all new components."
Result: New components match your pattern automatically.
3. Be Consistent
Inconsistent (Confuses Learning):
File 1: Uses async/await
File 2: Uses .then/.catch
File 3: Uses callbacks
Consistent (Enables Autonomy):
All files: Use async/await consistently
4. Confirm Successful Patterns
After Good Work:
You: "Perfect! This is exactly our pattern.
Always do API endpoints this way."
Result: Agent confidence increases, more autonomy next time.
Monitoring Autonomous Work
Real-Time Progress
You'll See:
🔄 Autonomous execution in progress...
Current: Generating tests for UserService
Progress: 3/5 steps complete
[View Details] [Pause] [Cancel]
Detailed Logs
Click "View Details":
14:32:15 - Read src/services/UserService.ts
14:32:16 - Analyzed service methods (5 methods)
14:32:17 - Generated test template
14:32:18 - Created tests/UserService.test.ts
14:32:19 - Running tests...
14:32:21 - ✓ All 12 tests passing
Post-Execution Summary
After Completion:
Autonomous Task Complete
Duration: 2m 34s
Operations: 15
Files modified: 4
Tests added: 12
Approvals needed: 0
Changes ready for review.
[View Diff] [Commit] [Undo]
Safety Features
Automatic Rollback
If Tests Fail:
Agent: "Autonomous execution encountered test failures.
Automatically rolling back changes...
✓ Restored original files
✓ Cleared test artifacts
Issue: Type error in generated code
Confidence was too high for this task.
Would you like me to:
1. Try again with manual approval steps
2. Explain what went wrong
3. Research the correct approach"
Change Validation
Before Finalizing:
Agent runs:
✓ Syntax validation
✓ Type checking
✓ Test suite
✓ Lint checks
✓ Import verification
Any failure = automatic rollback
Manual Override
You Can Always:
- Pause autonomous execution (Esc key)
- Review changes mid-execution
- Cancel and rollback
- Take over manually
Best Practices for Autonomy
✅ Do
-
Start Conservative
- Begin with high confidence threshold
- Lower as you build trust
-
Establish Patterns
- Be explicit about preferences early
- Confirm successful patterns
-
Use Version Control
- Easy rollback if needed
- Track autonomous changes
-
Review Regularly
- Check autonomous changes periodically
- Verify patterns are correct
-
Provide Feedback
- Confirm when agent does well
- Correct when it doesn't
❌ Don't
-
Don't Skip All Approvals Immediately
- Build trust gradually
- Understand how agent works first
-
Don't Ignore Warnings
- Agent pauses for good reasons
- Review risk warnings carefully
-
Don't Assume Perfection
- Autonomous doesn't mean infallible
- Always review critical changes
-
Don't Mix Patterns
- Inconsistent code confuses learning
- Maintain pattern consistency
-
Don't Disable Safety Checks
- Keep test validation enabled
- Maintain rollback capabilities
Troubleshooting Autonomy
"Agent Keeps Asking for Approval"
Check:
- Confidence threshold (Settings → Advanced)
- Pattern consistency in codebase
- Task clarity and specificity
- Sufficient similar task history
Fix:
- Lower confidence threshold
- Provide clearer instructions
- Show examples of desired patterns
- Complete more similar tasks to build confidence
"Agent Works Too Autonomously"
Check:
- Current confidence threshold
- Auto-approve settings
- Recent pattern confirmations
Fix:
- Raise confidence threshold
- Adjust auto-approve settings
- Be more selective with pattern confirmations
"Autonomous Changes Break Tests"
Check:
- Test coverage of affected code
- Pattern understanding
- Edge cases in tests
Fix:
- Add comprehensive tests first
- Provide test examples
- Correct pattern misunderstandings
Future of Autonomous Operation
Coming Soon:
- Cross-project pattern transfer
- Team-shared autonomy settings
- Predictive autonomous suggestions
- Advanced risk assessment
- Autonomous optimization suggestions
Summary
Autonomous operation is about:
Trust Building: Week 1 → Month 3 progression from manual to autonomous
Pattern Learning: The more consistent your code, the better autonomy works
Safety First: Multiple validation layers protect your code
Gradual Adoption: Start conservative, increase autonomy as comfortable
Control: You're always in control, can always pause or rollback
Next Steps
- Configure Auto-Approve Settings
- Learn Best Practices for autonomy
- See Examples of autonomous workflows
- Understand Self-Learning for better autonomy
Autonomous operation transforms Dropstone Agent from an assistant into a true coding partner. Start slow, build trust, and let the agent handle the heavy lifting.