Amp-Skill: Interruption Pattern Detection and Retrieval
GF(3) Trit: 0 (ERGODIC - coordination layer) Foundation: DuckDB ACSet from Amp file-changes
Overview
Amp-Skill distills usage patterns from Amp thread history, specifically focusing on interruption patterns where tool suggestions were rejected in favor of:
- Two-lock processes - user requested confirmation before proceeding
- Complete discontinuation - user abandoned the thread entirely
- Reverted operations - user explicitly undid an AI action
Retrieval Benchmark Metrics
| Metric | Value | |--------|-------| | Total Threads | 616 | | Total Tool Calls | 2,535 | | Threads with Interruptions | 282 (45.8%) | | Reverted Tool Calls | 84 (3.3%) | | Two-Lock Cascades | 47 | | Complete Discontinuations | 22 |
Interruption Pattern Distribution
| Pattern Type | Count | Percentage | |--------------|-------|------------| | abandoned | 269 | 62.4% | | reverted | 84 | 19.5% | | two_lock | 47 | 10.9% | | discontinuation | 22 | 5.1% | | high_rejection | 9 | 2.1% |
GF(3) Distribution
| Role | Threads | Tool Calls | Reverted | |------|---------|------------|----------| | MINUS | 218 | 769 | 27 | | ERGODIC | 209 | 976 | 26 | | PLUS | 189 | 790 | 31 |
File Types Most Frequently Reverted
.org- 28 reverts (Emacs org-mode files).py- 20 reverts (Python scripts).sh- 18 reverts (Shell scripts).md- 15 reverts (Markdown documentation)
SQL Access
-- Query interruption patterns
SELECT * FROM amp_interruptions ORDER BY ts DESC;
-- Find high-rejection threads
SELECT thread_id, tool_call_count, reverted_count,
ROUND(100.0 * reverted_count / tool_call_count, 1) as revert_pct
FROM amp_threads
WHERE reverted_count > 0
ORDER BY revert_pct DESC;
-- Detect two-lock cascades
SELECT thread_id, COUNT(*) as consecutive_reverts
FROM amp_interruptions
WHERE pattern_type = 'two_lock'
GROUP BY thread_id
ORDER BY consecutive_reverts DESC;
Key Insights
1. Abandoned Threads (62.4%)
- Single tool call threads indicate quick task completion OR user abandonment
- Requires context analysis to distinguish
2. Two-Lock Cascades (10.9%)
- 47 instances of consecutive reverts within 60 seconds
- Indicates AI attempting same action repeatedly despite rejection
- Action: Implement backoff after 2 consecutive reverts
3. High-Rejection Threads (2.1%)
- 9 threads with >50% revert rate
- Top offender: 100% revert rate on
capability-signer-prototype.sh - Pattern: Security-sensitive code rejected multiple times
4. File Type Sensitivity
.orgfiles most frequently rejected (28)- Personal/organizational files have higher rejection rate
- Action: Add confirmation prompt for org-mode edits
Retrieval Benchmark Success Criteria
- [x] All 616 threads loaded from filesystem
- [x] All 2,535 tool calls indexed with metadata
- [x] 5 interruption pattern types detected
- [x] Two-lock pattern detection via SQL windowing
- [x] Discontinuation pattern (thread ends on revert)
- [ ] GF(3) conservation (currently imbalanced by 29)
Usage
# Load/refresh Amp threads
bb scripts/amp_thread_loader.bb
# Query via DuckDB
duckdb trit_stream.duckdb "SELECT * FROM amp_interruptions"
Integration with Triadic Protocol
When Amp-Skill detects a high-rejection pattern:
- MINUS (-1): Validate the rejection pattern
- ERGODIC (0): Coordinate alternative approaches
- PLUS (+1): Generate new solution avoiding rejected pattern
Data Sources
- Local:
~/.amp/file-changes/T-*(2,535 files) - API: None currently (file-changes only contain diffs)
- Potential: Amp GraphQL API for full conversation history
Forward Reference
- unified-reafference (amp universe source)
Patterns That Work
- Interruption pattern detection via file-changes
- Cross-universe coordination with goose/claude
- GF(3) role assignment (+1 PLUS generator)
Patterns to Avoid
- Ignoring two-lock cascades
- Missing revert tracking