Overview
Tambahkan API endpoint + core method untuk list deprecated memories yang belum ter-prune. LLM atau agent bisa evaluasi: promote (kalau penting) atau forget (kalau spam).
Core Method
/// Get deprecated memories pending prune for LLM/agent review.
/// Returns memories sorted by prune urgency (oldest deprecation first).
pub fn pending_review(
&self,
namespace: Option<&str>,
limit: usize,
) -> Result<Vec<PendingReview>, Error> {
let ns = namespace.unwrap_or(DEFAULT_NAMESPACE);
// Deprecated memories not yet past TTL
let rows = self.store.query(
"SELECT id, content, namespace, tags, valid_until, metadata,
(julianday(valid_until) - julianday(now)) as days_until_prune
FROM memories
WHERE namespace = ?1 AND deprecated = 1
ORDER BY valid_until ASC LIMIT ?2",
params![ns, limit],
)?;
// Map to PendingReview structs
}
HTTP API Endpoint
GET /api/lifecycle/pending?namespace=default&limit=20
Response:
{
"pending": [
{
"id": "abc123",
"content": "User prefers dark mode...",
"namespace": "default",
"tags": ["preference", "ui"],
"deprecated_at": "2024-08-01T10:00:00Z",
"deprecated_reason": "auto_lifecycle",
"days_until_prune": 25,
"metadata": {...}
}
],
"total_pending": 10,
"total_expiring_soon": 3
}
HTTP API — Promote/Forget
POST /api/lifecycle/promote
Body: { "id": "abc123" }
POST /api/lifecycle/forget
Body: { "id": "abc123", "confirm": true }
Files Changed
| File |
Change |
crates/uteke-core/src/maintenance.rs or new lifecycle.rs |
Add pending_review() method |
crates/uteke-server/src/handlers.rs |
Add GET /api/lifecycle/pending |
crates/uteke-server/src/handlers.rs |
Add POST /api/lifecycle/promote |
crates/uteke-server/src/handlers.rs |
Add POST /api/lifecycle/forget |
Acceptance Criteria
Dependencies
Overview
Tambahkan API endpoint + core method untuk list deprecated memories yang belum ter-prune. LLM atau agent bisa evaluasi: promote (kalau penting) atau forget (kalau spam).
Core Method
HTTP API Endpoint
HTTP API — Promote/Forget
Files Changed
crates/uteke-core/src/maintenance.rsor newlifecycle.rspending_review()methodcrates/uteke-server/src/handlers.rs/api/lifecycle/pendingcrates/uteke-server/src/handlers.rs/api/lifecycle/promotecrates/uteke-server/src/handlers.rs/api/lifecycle/forgetAcceptance Criteria
pending_review()returns deprecated memories sorted by urgencydays_until_prunecountdownconfirm: true(safety)limitparamDependencies