Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

question(policy): define HTTP caller authority and MCP administrative-delete policy

Open
#1,580 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Active
Tech stack
go

Research direction

Start with the two review threads on PR #1575 and the baseline sources they cite: internal/server/server.go (route policy around L438) and internal/mcp/mcp.go (administrative deletion around L1852), plus the delete contract in DOCS.md L1074-1083. Map the existing HTTP bearer-token check and the MCP update-context checks against what mem_delete currently skips. Done looks like a maintainer-written decision stating trust model per transport, authority provenance and error precedence, cross-project deletion semantics, and named regression tests — no code yet.

Written by the indexing model from the issue text.

Description

priority:medium status:needs-review type:question
Question

What should establish caller authority for observation mutations across local HTTP and native MCP, independently of a caller-supplied owner assertion?

Please define the supported trust model for each transport, the source of any project-level grants, and whether administrative mem_delete may intentionally target an explicitly asserted owner independently of cwd/process context. This is a policy decision request, not a proposal to treat expected_project or a detected cwd as an authenticated tenant identity.

Why does this need issue tracking?

Review of #1575 raised two related authority/policy questions. Comparing baseline 58d7029d1b1a50716c397ed49a377444c1f68add with reviewed head 4467678a0d94b6080f68c9f8dc113c58f3238ca4 confirms both boundaries predate that PR:

  • Local HTTP has an optional instance-wide bearer token and a loopback/Unix-socket listener, not authenticated project grants. PATCH is unwrapped by the token check; DELETE uses it. Loopback does not imply isolation from every local client.
  • MCP update already checks current/process project and session directory, while ID-based administrative deletion does not perform the same contextual checks. Those process-context checks are not authenticated tenant principals.

A durable maintainer decision is needed before adding authorization machinery or changing administrative deletion semantics. The decision should specify supported callers/exposure, authority provenance and error precedence per transport, intentional cross-project maintenance behavior, compatibility/migration requirements, and named regression tests. Prefer one coherent authority policy with explicit transport boundaries, not parallel representations of ownership.

No authority model, implementation or approval is selected by opening this issue. The ownership-consistency guard in #1575 remains separate from tenant isolation.

Affected Area

Project workflow or policy

Additional Context

Existing focused store/server owner-assertion tests and MCP update-context tests pass. They do not prove malicious-client isolation or a delete-context denial policy. No source changes, new security fixtures or exploit reproduction are included in this tracking request.

Dominant language
Go
Stars
7.1k
Forks
729
Avg merge
10h 43m
Merged PRs (30d)
332

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Gentleman-Programming/engram

All issues in Gentleman-Programming/engram

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.