Files
poimen-memory/MONITORING_AGENT_TASKS.md
T
rock 1e5c3d1433
CI / CI (push) Successful in 15m5s
feat: setup phase 3 agent infrastructure + enable docker ci on prs
- Enable docker build, sha extraction on PRs (validate Dockerfile)
   - Add SOPS encrypted memory-agent credentials
   - Plan 15 tasks: 5 memory service + 10 temporal workflow
   - Milestone: monitoring-agent (due 2025-03-15)
   - Ready: Forgejo API token needed for PR automation
 ```

Co-authored-by: rock <[email protected]>
2026-09-08 23:16:31 +00:00

218 lines
6.2 KiB
Markdown

# Monitoring Agent: Implementation Tasks
**Milestone**: `monitoring-agent`
**Status**: 🔧 Not started
**Duration**: 4-6 weeks
**Effort**: ~1,500 LOC
---
## Phase 1: Temporal Setup (3-5 days)
### Task 1.1: Deploy Temporal Server in K8s
- [ ] StatefulSet configuration (persistence)
- [ ] PostgreSQL event log backend
- [ ] ElasticSearch for visibility
- [ ] K8s manifests in `k8s/temporal/`
- [ ] Health checks + readiness probes
- **Effort**: 150 LOC | **Time**: 2 days
- **Dependencies**: None
- **Blocks**: Phase 2
### Task 1.2: Add Temporal SDK to Rust Project
- [ ] Add `temporal-rust-sdk` to `Cargo.toml`
- [ ] Create `crates/mem-temporal/` workspace crate
- [ ] Worker registration + gRPC connection
- [ ] Activity executor setup
- [ ] Workflow executor setup
- **Effort**: 200 LOC | **Time**: 1 day
- **Dependencies**: 1.1
- **Blocks**: Phase 2
### Task 1.3: Temporal Configuration + Secrets
- [ ] Environment variables (TEMPORAL_HOST, TEMPORAL_NAMESPACE)
- [ ] Worker identity configuration
- [ ] Task queue setup (synthesis-queue, compaction-queue)
- **Effort**: 50 LOC | **Time**: 4 hours
- **Dependencies**: 1.1, 1.2
- **Blocks**: Phase 2
---
## Phase 2: Agent Workflows (1-2 weeks)
### Task 2.1: Synthesis Workflow Definition
- [ ] `crates/mem-temporal/src/workflows/synthesis_workflow.rs`
- [ ] Workflow orchestration logic
- [ ] Activity composition (health check → synthesis → logging → metrics)
- [ ] Retry policies (exponential backoff, max 5 retries)
- [ ] Heartbeat configuration (every 10s)
- **Effort**: 200 LOC | **Time**: 3 days
- **Dependencies**: 1.2, 1.3
- **Blocks**: 2.3, 2.4
### Task 2.2: Synthesis Activities (5 activities)
- [ ] `MonitorMemoryHealth` activity
- GET /health check
- Latency measurement
- Failure detection
- [ ] `ExecuteSynthesis` activity
- POST /memory/synthesize call
- LLM integration
- Heartbeat emission
- [ ] `LogSynthesisResult` activity
- POST /memory/ingest (audit)
- Temporal audit trail
- [ ] `UpdateCacheMetrics` activity
- Metric recording
- Performance tracking
- [ ] `CoordinateCompaction` activity
- Signal to compaction agent
- Readiness check
- **Effort**: 250 LOC | **Time**: 4 days
- **Dependencies**: 2.1
- **Blocks**: 2.3
### Task 2.3: Compaction Workflow Definition
- [ ] `crates/mem-temporal/src/workflows/compaction_workflow.rs`
- [ ] 4-stage orchestration (identify → dedup → gc → invalidate)
- [ ] Failure handling + rollback strategy
- **Effort**: 150 LOC | **Time**: 2 days
- **Dependencies**: 1.2, 1.3
- **Blocks**: 2.4
### Task 2.4: Compaction Activities (4 activities)
- [ ] `IdentifyDuplicates` activity
- [ ] `DeduplicateEdges` activity
- [ ] `GarbageCollection` activity
- [ ] `InvalidateCache` activity
- **Effort**: 200 LOC | **Time**: 3 days
- **Dependencies**: 2.3
- **Blocks**: Integration tests
### Task 2.5: Worker + Task Queue Registration
- [ ] Activity worker setup
- [ ] Workflow worker setup
- [ ] Task queue polling
- [ ] Namespace configuration
- **Effort**: 100 LOC | **Time**: 1 day
- **Dependencies**: 2.1-2.4
- **Blocks**: Phase 3
---
## Phase 3: Agent Self-Awareness (2-3 weeks)
### Task 3.1: AGENT_PROMPT Entity Type
- [ ] Schema: New entity type in memory_entity
- [ ] Repository: `synthesis_cache_repo.rs` (get_agent_prompt)
- [ ] Migration: Add to entity type enum
- [ ] Activity: Load prompt on agent startup
- **Effort**: 100 LOC | **Time**: 1 day
- **Dependencies**: Memory service
- **Blocks**: 3.2
### Task 3.2: AGENT_SKILL Linking
- [ ] Edge type: agent → skill relationships
- [ ] Repository methods: link_agent_to_skill, get_agent_skills
- [ ] Confidence tracking per skill
- [ ] Success rate calculation
- **Effort**: 80 LOC | **Time**: 1 day
- **Dependencies**: 3.1
- **Blocks**: 3.4
### Task 3.3: AGENT_PERFORMANCE Metrics
- [ ] Entity type: Temporal metrics
- [ ] Repository: Store + query metrics
- [ ] Activity: Log performance data post-execution
- [ ] Time window filtering (last_7_days, last_30_days)
- **Effort**: 120 LOC | **Time**: 2 days
- **Dependencies**: 3.1
- **Blocks**: 3.4
### Task 3.4: Agent Decision Tracking + Learning
- [ ] Edge type: agent_decision_outcome
- [ ] Decision logging (parameter, value, confidence before)
- [ ] Outcome recording (result, metric)
- [ ] Confidence evolution (update after outcome)
- [ ] Learning loop in agent code
- **Effort**: 200 LOC | **Time**: 3 days
- **Dependencies**: 3.1-3.3
- **Blocks**: 3.5
### Task 3.5: Agent Audit Trail Integration
- [ ] Dual audit: Temporal history + Memory entities
- [ ] Query interface for reviewers
- [ ] Temporal CLI integration
- [ ] Retention policy (365 days)
- **Effort**: 100 LOC | **Time**: 1 day
- **Dependencies**: 3.1-3.4
- **Blocks**: Testing
---
## Testing & Documentation
### Task 4.1: Integration Tests
- [ ] Workflow execution end-to-end
- [ ] Activity retry behavior
- [ ] Heartbeat detection
- [ ] Failure recovery
- [ ] State replay on restart
- **Effort**: 300 LOC | **Time**: 3 days
- **Dependencies**: Phase 2 complete
- **Blocks**: Integration
### Task 4.2: Monitoring & Observability
- [ ] Temporal UI setup (temporal.riotpiao.com)
- [ ] Prometheus metrics export
- [ ] Alerting rules (workflow timeout, activity failure)
- [ ] Grafana dashboards
- **Effort**: 150 LOC | **Time**: 2 days
- **Dependencies**: Phase 1 complete
- **Blocks**: Production
### Task 4.3: Documentation
- [ ] Agent architecture diagram
- [ ] Workflow execution flow
- [ ] Operational runbook
- [ ] Troubleshooting guide
- **Effort**: 50 LOC | **Time**: 1 day
- **Dependencies**: All phases
- **Blocks**: Release
---
## Credentials Status
**SOPS Encrypted**: `k8s/app/memory-agent-secrets.enc.yaml`
- CLIENT_ID: `memory-agent`
- CLIENT_SECRET: Encrypted
- TOKEN_URL: `https://authentik.riotpiao.com/application/o/token/`
- AUTHENTIK_ISSUER: `https://authentik.riotpiao.com/application/o/memory-agent/`
**JWT Auth Verified**: `memory-agent` credentials working
- Test result: Token obtained successfully
- Expiry: 1 hour (3600s)
- Scopes: Default (sufficient for LLM operations)
---
## Timeline
```
Week 1 (Phase 1): Temporal setup
Week 2-3 (Phase 2): Agent workflows
Week 4-5 (Phase 3): Self-awareness
Week 6 (Testing + Docs): Integration + release
```
**Start Date**: TBD
**Target End Date**: TBD (+4-6 weeks)