re-uploading work

This commit is contained in:
2026-02-04 17:46:30 -06:00
commit 3b14c65998
1388 changed files with 381262 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
# API Completion Plan - Executive Summary
## Overview
During the zero-warnings cleanup, we preserved 20+ API methods marked with `#[allow(dead_code)]` that represent planned but unimplemented features. These aren't dead code—they're the foundation for important functionality.
## High-Priority Features Ready to Implement
### 1. Token Refresh Mechanism (4-6 hours) ⭐
**Problem:** CLI sessions expire after 1 hour, requiring manual re-login
**Solution:** Automatic token refresh using stored refresh tokens
**Impact:** Dramatically improves CLI user experience for long sessions
**Files:** `crates/api/src/routes/auth.rs`, `crates/cli/src/client.rs`
### 2. Complete CRUD Operations (8-12 hours) ⭐⭐
**Problem:** CLI can only create/read resources, not update/delete
**Solution:** Implement PUT/DELETE commands for all resources
**Impact:** Full resource lifecycle management from CLI
**Suppressed APIs:** `ApiClient::put()`, `ApiClient::delete()`
### 3. Multi-Profile Support (2-3 hours) ⭐
**Problem:** `--profile` flag declared but not wired up
**Solution:** Enable `attune --profile prod action list` workflows
**Impact:** Seamless multi-environment operations
**Suppressed APIs:** `CliConfig::load_with_profile()`
### 4. Advanced Search/Filtering (6-8 hours)
**Problem:** No filtering on list commands
**Solution:** Add query parameters: `attune execution list --status=running --limit=10`
**Suppressed APIs:** `ApiClient::get_with_query()`
### 5. Executor Monitoring (6-10 hours)
**Problem:** No visibility into queue depths or policy enforcement
**Solution:** Admin API endpoints + CLI commands to inspect executor state
**Suppressed APIs:** `QueueManager::get_all_queue_stats()`, policy methods
## Implementation Phases
```
Phase 1 (Weeks 1-2): Token Refresh [CRITICAL]
Phase 2 (Weeks 3-4): CRUD Completion [HIGH PRIORITY]
Phase 3 (Week 5): Profile Management [NICE TO HAVE]
Phase 4 (Weeks 6-8): Executor Monitoring [OPERATIONAL]
```
**Total Effort:** 26-39 hours (3-5 weeks part-time)
## Quick Wins (Can Start Immediately)
1. **Token Refresh** - High impact, no dependencies
2. **--profile Flag** - Low effort, immediate value for multi-env workflows
3. **Delete Commands** - Complete the CRUD story
## What We're NOT Doing
- **Test helpers:** Keep suppressed—they're infrastructure
- **Redundant methods:** Remove `set_api_url()` (use `set_value()` instead)
- **Service internal fields:** Keep for future features
## Success Metrics
After completion:
- ✅ CLI sessions last >1 hour without re-auth
- ✅ Full CRUD on all resources from CLI
-`--profile` flag works seamlessly
- ✅ Can monitor executor queues in production
- ✅ Zero `#[allow(dead_code)]` on implemented features
## Next Actions
1. Review detailed plan in `docs/api-completion-plan.md`
2. Decide which phase(s) to prioritize
3. Create GitHub issues for selected phases
4. Start with Phase 1 (token refresh) - highest ROI
## Questions to Answer
1. **Phase 4 Architecture:** Should executor monitoring use HTTP API or pub/sub via RabbitMQ?
2. **Scope:** Implement all phases or stop after Phase 3?
3. **Timeline:** Target completion date?
---
**See:** `attune/docs/api-completion-plan.md` for full implementation details