Skip to content

Closed — draft moved to internal review - #53

Closed
zoharbabin wants to merge 4 commits into
mainfrom
issue-38-memory-api-contract
Closed

Closed — draft moved to internal review#53
zoharbabin wants to merge 4 commits into
mainfrom
issue-38-memory-api-contract

Conversation

@zoharbabin

@zoharbabin zoharbabin commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Closed without merging. This exploration moved to an internal, undecided proposal outside the public repo.

There is no backend primitive for structured per-user key/value facts
today, and none is being added by this change — this is a design
contract only, per issue #38's own "How" section: design the SDK-side
interface first so the backend team has a concrete shape to review.

Adds docs/PROPOSED-APIS.md, a new registry for capabilities blocked on
backend work that don't have a home in API-REFERENCE.md yet (which
documents only shipped behavior). Its Memory section specifies
Memory.set/get/list/delete signatures, admin-KS scoping rationale,
error semantics (missing user, missing key, oversized value, conflict,
delete idempotency), and how it stays additive to existing
full-transcript-replay integrations. Explicitly labeled NOT
IMPLEMENTED / not reviewed by the backend team — a draft, not an
in-progress feature.

Cross-links this new doc from API-REFERENCE.md (Contents + a new
Memory subsection under Management Operations) and README.md (Honest
limits + Reference table) so it's discoverable, not buried in an
issue comment.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 22, 2026 20:29

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

zoharbabin and others added 3 commits August 22, 2026 16:33
Self-review caught a factual error: docs/PROPOSED-APIS.md claimed
Threads.delete()'s existing requireConfirm() throws bad_request; it
actually throws confirmation_required (src/management/agents.js).
Corrects the proposed Memory.delete() contract to reuse that existing
code instead of inventing a new precondition_required one.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
audit-pr53-clean found docs/PROPOSED-APIS.md:144 claiming assertKind()
throws forbidden; it actually throws wrong_token_scope, per
src/management/client.js and the convention used in
avatar-sessions.js. Also fixed the guard name referenced (assertKind,
not assertAdmin).
The original draft assumed an integrator manually calls Memory.get()
and wires it into request_vars every turn. That's only as reliable as
every integrator's own discipline, and the same flaw applies whether
facts live in Kaltura's own storage or a customer's. Reliable delivery
needs a backend-owned per-turn auto-injection hook, tracked separately
in issue #66 since it's a different kind of capability (orchestration
hook, not a KV-store contract) and applies to both storage flavors.
@zoharbabin zoharbabin closed this Aug 23, 2026
@zoharbabin
zoharbabin deleted the issue-38-memory-api-contract branch August 23, 2026 20:09
@zoharbabin zoharbabin changed the title Draft API contract for structured per-user Memory (issue #38) Closed — draft moved to internal review Aug 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants