Deploy Poimen Memory K8s cluster with ArgoCD tracking (M2.2, M3.5-M3.7)
ci / markdown (push) Waiting to run

This commit is contained in:
Story Crater Bot
2026-08-22 23:13:42 -07:00
parent 9c723fe66f
commit d3be7f6fd4
105 changed files with 10973 additions and 113 deletions
+14 -3
View File
@@ -12,7 +12,7 @@
## Goal
Async ingest endpoint that demultiplexes gated-loop submissions from CLI and agents. Idempotent by batch content hash (`ingest_id`). Prevent duplicate L0 evidence in the log.
Async ingest endpoint that demultiplexes gated-loop submissions from CLI and agents. Idempotent by batch content hash (`ingest_id`). Prevent duplicate L0 evidence in the log. Enrich records with git context (file, commit, blame) if repo.git available.
## Design
@@ -28,10 +28,17 @@ Content-Type: application/json
{"role":"assistant","text":"...","timestamp":"2026-08-20T...","source_position":0},
...
],
"ingest_id": "sha256(all_record_texts)"
"ingest_id": "sha256(all_record_texts)",
"git_repo_path": "/path/to/repo/.git",
"git_head": "abc123def789"
}
```
**Git enrichment (optional):** If `git_repo_path` and `git_head` provided:
- Walk repo blame for timestamps matching record timestamps
- Correlate evidence text with recent commits touching files
- Populate `git_context` on each L0 node (file, line, commit, author)
**Response (accepted):**
```
HTTP 202 Accepted
@@ -74,7 +81,11 @@ GET /memory/ingest/ingest-<job-id>
- Compute `estimated_wait_seconds` based on current queue depth and avg chunk processing latency (5000 tokens @ 812ms gate latency ≈ 4.2s per chunk).
3. Background task (tokio::spawn):
- Dequeue from project queue (FIFO per project)
- Call the M1.7 `mem::ingest()` function with records
- **Git enrichment (if git_repo_path provided):**
- Open repo.git with `git2::Repository`
- For each record, find blame line by timestamp + closest file match (via commit log)
- Populate `git_context: {file, line, commit_sha, commit_msg, author, author_date}`
- Call the M1.7 `mem::ingest()` function with enriched records
- Update status to `completed` with `chunks_seen` and `chunks_used` from the log
- On error, update status to `failed` with error message
4. `GET /memory/ingest/<job_id>` handler: