# References and Provenance

Last reviewed: 2026-07-11.

This file records the official sources used to review the OMS M0 design. Links describe provider behavior at the review date; they are not a promise that a feature, entitlement, price, or policy will remain unchanged.

## OpenAI sources

- [Codex authentication](https://developers.openai.com/codex/auth) documents ChatGPT subscription sign-in and usage-based API-key sign-in for local Codex clients. It recommends API-key authentication for programmatic CLI workflows and describes enterprise access tokens for trusted non-interactive automation.
- [Follow a goal](https://learn.chatgpt.com/codex/use-cases/follow-goals) documents `/goal`, `/goal pause`, `/goal resume`, and `/goal clear`. It frames a goal as one durable objective with a verifiable stopping condition, not an unrelated backlog.
- [Codex CLI developer commands](https://developers.openai.com/codex/cli/reference) is the official reference for supported CLI commands and flags. Local feature detection still uses the installed CLI's `--help` output because the binary version may differ from the current documentation.

## Anthropic sources

- [Claude Code CLI reference](https://code.claude.com/docs/en/cli-usage) documents named and resumable sessions, authentication-status commands, and interactive versus print-mode entry points.
- [Claude Code hooks reference](https://code.claude.com/docs/en/hooks) documents command hooks, asynchronous hooks, and `asyncRewake`. OMS uses hooks and outbox events for normal progress; its heartbeat remains a watchdog.
- [Claude Code subagents](https://code.claude.com/docs/en/sub-agents) documents foreground and background subagents and their fresh-context, permission, and concurrency behavior.
- [Claude Code setup](https://docs.anthropic.com/en/docs/claude-code/getting-started) documents supported authentication options, including Claude subscriptions, Anthropic Console billing, and enterprise cloud platforms.
- [Manage API key environment variables in Claude Code](https://support.claude.com/en/articles/12304248-manage-api-key-environment-variables-in-claude-code) documents authentication precedence and the risk of unexpected API charges when `ANTHROPIC_API_KEY` is set.
- [Use the Claude Agent SDK with your Claude plan](https://support.claude.com/en/articles/15036540-use-the-claude-agent-sdk-with-your-claude-plan) is a time-sensitive account-policy source for Agent SDK, `claude -p`, and third-party usage. Its June 15 update says the announced credit-pool change is paused and those surfaces continue to draw subscription limits for now.
- [Log in to your Claude account](https://support.claude.com/en/articles/13189465-log-in-to-your-claude-account) separately says third-party/open-source tools should prefer API or supported cloud authentication and prohibits attempts to route third-party traffic against subscription limits. OMS treats the two pages as a live policy gate rather than silently choosing the cheaper interpretation.
- [Claude API key security practices](https://support.claude.com/en/articles/9767949-api-key-best-practices-keeping-your-keys-safe-and-secure) supports keeping keys out of source control and treating third-party credential handling as a security boundary.

## GitHub and scanner sources

- [Gitleaks releases](https://github.com/gitleaks/gitleaks/releases) is the upstream source for the exact scanner version and release archive pinned by policy and CI.
- [GitHub-hosted runner images](https://github.com/actions/runner-images) documents the changing `ubuntu-latest` image inventory. The workflow installs `bubblewrap` explicitly rather than assuming it is preinstalled.
- [AppArmor's `bwrap-userns-restrict` profile](https://gitlab.com/apparmor/apparmor/-/blob/master/profiles/apparmor/profiles/extras/bwrap-userns-restrict) grants Bubblewrap the namespace setup capabilities its children do not retain. CI installs Ubuntu's `apparmor-profiles` package, loads its extra profile, and smoke-tests `--unshare-all` without relaxing the host-wide user-namespace policy.

## Provenance boundary

OMS is an original implementation. The sources above provide product facts and design constraints; they are not source-code inputs. No OpenAI, Anthropic, or third-party implementation code is copied into OMS.

Ideas such as leases, nonces, atomic replacement, outboxes, watchdogs, worktrees, and deterministic verification are reimplemented from general systems-design principles. If a later change uses code, schemas, or a distinctive protocol from another project, that change must first record the source, license, compatible terms, attribution requirements, and the exact material reused.

Documentation links do not grant a license to copy examples wholesale. Small command invocations may be restated as interoperability facts; substantive code requires a separate license review.

## Runtime policy prerequisite

Provider authentication, billing, acceptable-use, subscription, automation, data-handling, and feature-availability rules are runtime prerequisites. Before OMS enables a live or unattended provider workflow, an operator must verify the current official policy and configure an explicitly supported authentication mode.

OMS fails closed when authentication mode or unattended eligibility is absent, unknown, or incompatible with the requested run. Offline `doctor`, tests, and `make verify` do not contact providers or consume model usage. A passing link check proves only that a referenced page was reachable; it does not prove that the operator's account is eligible for a workflow.
