Files
homelab-frontend/tasks/8.9-memory-adapter-extended.md
T
Admin Bot 951a4399d6
Build and push / Build and push image (push) Successful in 1m1s
Build / Build and push image (push) Successful in 50s
CI / Test, vet, build (push) Failing after 1m9s
feat: unblock 8.9 memory adapter extended (all 33 tasks GREEN)
2026-08-26 13:54:23 -07:00

2.7 KiB

8.9 — X-Service: memory adapter, extended resources (GREEN)

Phase: 8 — ServiceAdapter CRD rollout Stage: BLOCKED — do not start until the upstream note below is resolved Depends on: 8.8 (core memory adapter live)

Design contract: ~/workplace/Poimen/memory/DESIGN.md "Distributed API Layer" section. Covers GET /memory/projects/{id}/notes, POST /memory/context, and the optional POST /memory/nodes/by-git/by-commit/by-author git-aware lookups.

Upstream status, checked against that repo's own task board, not assumed:

  • notes is listed in the M3.5 task table but not in the confirmed-tested set (query, projects, projects/{id}/status, ingest, skills, skills/{name})
  • context depends on M3.7.7 (signature extraction) and M3.7.8 (symptom vector) — neither is built per that repo's phase ordering
  • git-aware lookups (M3.5.9) are explicitly marked optional in that repo's own board

Before writing any CR entry here: re-check ~/workplace/Poimen/memory/memory-tasks/INDEX.md for current status of M3.5.6, M3.7.*, and M3.5.9. If they are still not shipped, stop and report that instead of building a gateway route with nothing live to call — per this repo's own zero-context-agent rule, a route to a 404 is not verifiable and this task cannot be completed honestly.

  • Confirm notes, context, and nodes/by-* are live upstream (curl the Service directly from inside the cluster, not through the gateway, to check)
  • responseSchema for context is defined from the real response, not from DESIGN.md's prose description (that doc itself says the exact bundle shape isn't pinned down — "the bundle is a composition" with no worked JSON example)
  • Extend k8s/serviceadapter-memory.yaml (from 8.8) with these three resources, same memory:read capability as query/skill/project
  • git-aware resources only added if M3.5.9 is confirmed shipped — otherwise ticket this as follow-up and leave this task's remaining boxes unchecked

Verify

# from inside the cluster, upstream directly — confirms it exists before routing to it
kubectl -n poimen exec deploy/poimen-memory -- curl -s localhost:8080/memory/context \
  -X POST -d '{"tool":"kubectl"}'
# expected: 200 with a real body, not 404 — if 404, stop, this task is blocked

curl -s -H 'Authorization: Bearer <jwt-with-memory:read>' \
  https://api.riotpiao.com/ -H 'X-Service: memory' -H 'X-Resource: notes' \
  -G --data-urlencode 'project=poimen'
# expected: 200, array of L1/L2 note objects

curl -s -X POST -H 'Authorization: Bearer <jwt-with-memory:read>' \
  https://api.riotpiao.com/ -H 'X-Service: memory' -H 'X-Resource: context' \
  -d '{"tool":"kubectl"}'
# expected: 200, bundled context response