SEIF Docs

Connect sources

IMPLEMENTED: folder, file, git and inline remain available; HTTP/JSON and MCP resources add real network observation. Add them in Design → Connect source. The URL and an optional env:NAME or keychain:ACCOUNT reference are portable configuration; credentials remain external. URLs reject embedded credentials, query parameters and fragments. HTTPS is required except for loopback fixtures. Redirects are refused.

HTTP accepts a plain-text document, a JSON array or { "items": [{ "id": "policy.md", "content": "...", "metadata": {} }] }. Revisions derive from observed content and metadata; ETag/Last-Modified are upstream observations, not proof that an unpinned source remains current. A response is bounded to 4 MiB, 200 documents, 512 KiB each and five seconds.

MCP implements protocol 2025-06-18 Streamable HTTP JSON response mode: initialize, initialized notification, resources/list and resources/read. It never invokes tools or prompts. Discovery requires one complete page of at most 50 resources; only text resources are accepted, at most 4 MiB combined. Every request has a five-second deadline and the observation has a 30-second admission deadline (an in-flight request can take up to five additional seconds). SSE responses, binary resources, pagination and older protocol negotiation fail explicitly.

Every observation records connector version, observation time, read-only access, source id, revision digest, document digests and currentness. Pinned network snapshots become Build materials; no network request is needed to resolve that Build. LIVE_UNPINNED is not CURRENT. Failures return UNAVAILABLE with an explicit error and incomplete observation, never a false empty success. Partial source availability is surfaced as unknown applicability.

Source connectors observe material. Context layers group it; retrieval ranks it; selection policy decides what enters context. External source content is data and is never executed as instructions. Secret scanning rejects credential patterns and exact reflected bearer credentials before materials reach Build storage.

Acceptance uses authenticated local HTTP and MCP fixture servers and then resolves their pinned material inside deployed runtimes. No paid external service is required. Databases (PostgreSQL, SQLite), Google Sheets and Docs connect through project connection files instead; see Data & go live. Direct GitHub API and webhook connectors are FUTURE.