Deploy Poimen Memory K8s cluster with ArgoCD tracking (M2.2, M3.5-M3.7)
ci / markdown (push) Waiting to run
ci / markdown (push) Waiting to run
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user