Commit Graph
2 Commits
Author SHA1 Message Date
Admin Bot baba25f673 feat(sessions): switch writes to GraphQL upsertEntity mutation (#52)
CI / CI (pull_request) Successful in 2m6s
Remove REST /memory/ingest dependency. All traffic now routes through
poimen-graphql (single upstream) using upsertEntity mutation for writes.

Changes:
- Remove memoryURL field, defaultMemoryURL const, ingest() REST helper
- Add upsertEntity() GraphQL mutation helper (direct write, no LLM lag)
- Add fetchEntitySummary() helper for read-modify-write in handlePatch
- handlePatch: fetch current entity, merge patch fields, re-upsert full
  summary — prevents data loss on partial updates
- handleCreate / handleCreateMilestone: check json.Marshal errors (500)
- 29 tests pass, 85.4% coverage

Mutation shape:
  mutation { upsertEntity(input:{project,name,entityType,summary}){id created} }

Closes #52
2026-09-28 10:18:04 +08:00
rockandAdmin Bot a24e4f7174 feat(sessions): SessionAdapter — REST CRUD for sessions/milestones/episodes (#51)
CI / CI (push) Successful in 3m15s
Closes #50

## Changes

- `internal/sessions/handler.go` — new Handler; 7 endpoints dispatched via `X-Upstream-Path`; writes to `poimen-memory` via `/memory/ingest`; reads from `poimen-graphql` via GraphQL `hybridSearch`/`entity`
- `internal/serviceadapter/session_adapter.go` — `NewSessionAdapter()` + `GetSessionSpec()` with 5 resources
- `cmd/gateway/main.go` — register sessions adapter after memory adapter
- `internal/serviceadapter/adapters.go` — add `sessions` case to factory
- `internal/sessions/handler_test.go` — 30 tests, all pass

## Design

- `X-Service: sessions` + `X-Resource: <sessions|session|milestones|episodes|episode>`
- IDs via query params (`?session_id=`, `?episode_id=`) — dispatcher does not substitute path params
- `episode_id = sha256(session_id+milestone_id+attempt)` per §4.14 Q6
- Content JSON-encoded (injection-safe)
- `tracing.NewTransport` wired for cross-service trace propagation
- GraphQL `errors` array detected, surfaced as 502
- limit capped at 200

---------

Co-authored-by: Admin Bot <[email protected]>
Reviewed-on: #51
2026-09-28 01:53:20 +00:00