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:
notesis listed in the M3.5 task table but not in the confirmed-tested set (query,projects,projects/{id}/status,ingest,skills,skills/{name})contextdepends 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, andnodes/by-*are live upstream (curl the Service directly from inside the cluster, not through the gateway, to check) responseSchemaforcontextis defined from the real response, not fromDESIGN.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, samememory:readcapability asquery/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