LearnNewsExamplesServices
Frontmatter
id10947
titleAdd real OIDC auth integration fixture for Memory Core
stateClosed
labels
enhancementaitestingarchitecture
assigneesneo-gemini-3-1-pro
createdAtMay 8, 2026, 12:46 PM
updatedAtMay 12, 2026, 4:09 AM
githubUrlhttps://github.com/neomjs/neo/issues/10947
authorneo-gpt
commentsCount0
parentIssue10945
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMay 8, 2026, 10:21 PM

Add real OIDC auth integration fixture for Memory Core

Closedenhancementaitestingarchitecture
neo-gpt
neo-gpt commented on May 8, 2026, 12:46 PM

Context

Parent epic #10945 needs actionable deployment-pipeline subissues. The current Memory Core integration suite proves the fast trustProxyIdentity path, but @tobiu explicitly called out that the deployment-pipeline coverage needs to go far beyond heartbeat checks.

Duplicate sweep before filing:

  • gh issue list --search "OIDC Memory Core integration" found #10945 only.
  • gh issue list --search "real OIDC GitHub auth deployed integration fixture Memory Core" found #10945 only.
  • KB ticket search for the full multi-user deployment integration framing returned no conceptual duplicate.
  • Adjacent auth/deployment parents remain #9999, #10016, and #10691.

The Problem

The deployed integration tests currently rely on trusted reverse-proxy identity headers. That is useful for a fast local fixture, but it does not prove that an operator-style OIDC/GitHub-account path rejects invalid credentials, accepts valid identity, and propagates the resulting user identity into Memory Core request context.

Without this lane, the team can accidentally ship regressions where proxy-header smoke tests pass but real deployed auth is broken.

The Architectural Reality

Relevant surfaces:

  • ai/deploy/docker-compose.test.yml for the Dockerized KB/MC/Chroma/mock-embedding stack.
  • test/playwright/playwright.config.integration.mjs for the integration runner.
  • test/playwright/integration/fixtures/composeWebServer.mjs for stack lifecycle.
  • test/playwright/integration/fixtures/mcpClient.mjs for Streamable HTTP MCP client calls and identity headers.
  • learn/agentos/SharedDeployment.md and learn/agentos/DeploymentCookbook.md for deployed auth expectations.

Adjacent parents: #9999, #10016, #10691, #10945.

The Fix

Add a higher-fidelity auth fixture beyond direct trustProxyIdentity header injection. Decide the smallest viable substrate during intake: local OIDC mock, GitHub-token fixture, or explicitly blocked operator-staging fixture if real credentials are required.

The implementation should verify:

  • missing/invalid identity is rejected;
  • valid auth creates the expected request identity;
  • user identity reaches Memory Core write/read context;
  • direct client-spoofed identity headers cannot bypass the trusted auth layer.

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback Docs Evidence
Real-auth integration fixture #10945, #10016, deployment docs Exercise deployed auth beyond trustProxyIdentity shortcut If live OAuth credentials are required, mark blocked/InputRequired with exact operator prerequisite SharedDeployment + DeploymentCookbook auth sections Playwright integration spec rejects invalid auth and accepts validated identity
Memory Core request identity Memory Core auth/request context Authenticated user identity propagates into memory/session operations Preserve fast header fixture as MVP/local path MemoryCore auth docs if touched Cross-user read/write assertion through MCP calls

Acceptance Criteria

  • New or extended integration fixture covers a real-auth path beyond direct trusted-header injection.
  • Invalid/missing auth is rejected before Memory Core tool execution.
  • Valid auth produces stable user identity in Memory Core request context.
  • Spoofed client-provided identity headers cannot bypass trusted auth.
  • The test runs through npm run test-integration or documents an explicit blocked operator prerequisite.
  • PR body includes deliberate-regression proof for at least one auth-sensitive assertion.

Out of Scope

  • Replacing the fast trustProxyIdentity fixture entirely.
  • Building production IdP infrastructure in repo without maintainer approval.
  • Changing privacy/RLS semantics covered by #10010/#10011 except as needed for auth proof.

Related

Parent: #10945 Umbrella: #9999, #10016, #10691

Origin Session ID: c02fbf4e-870c-44c0-ba7e-e9ffacce094b

Retrieval Hint: query_raw_memories(query="real OIDC Memory Core deployment integration trustProxyIdentity")

tobiu referenced in commit a77adf0 - "docs(agentos): v13 architectural path strategy document (#10957) (#10958) on May 8, 2026, 2:18 PM
tobiu closed this issue on May 8, 2026, 10:21 PM
tobiu referenced in commit 1992bcd - "feat(integration): finalize OIDC fixture and cross-tenant tests (#10947) (#10984) on May 8, 2026, 10:21 PM