diff --git a/.env.example b/.env.example index d80007943..8379d84b9 100644 --- a/.env.example +++ b/.env.example @@ -1,7 +1,5 @@ # Server-side Vite development proxy target. This value is never exposed to # browser JavaScript. -# Retired AGENTS_API_PROXY_* and AGENTS_CORE_WEB_* settings are rejected; use -# OAC_WEB_DEV_PROXY_* and OAC_WEB_* below, including in existing .env files. OAC_WEB_DEV_PROXY_TARGET=http://127.0.0.1:8091 # Legacy development proxy only. The console never calls /v1; the Vite server @@ -9,13 +7,9 @@ OAC_WEB_DEV_PROXY_TARGET=http://127.0.0.1:8091 # scripts/core-doctor.mjs (see docs/web/roadmap.md). Plaintext bearer file read # only by the local Vite server; if unset, it checks this conventional path. OAC_WEB_DEV_PROXY_TOKEN_FILE=~/.oac/dev/web-token -# Optional server-only OTLP/HTTP Runtime history exporter configuration. -# When unset, current observations and the Dashboard require no telemetry backend. -# Runtime history uses the Core PostgreSQL database with 30-second periodic sampling. -# Optional sampling/OTLP export overrides: services/agents-api/runtime-history/README.md -# OAC_HISTORY_SETTINGS_FILE=/absolute/path/runtime-history.json -# Set sample_interval_seconds (5..300) in that server-only file to change the -# sampling interval; omitted or zero keeps 30 seconds. + +# Core reads its own environment, not this file. Core settings, including +# Runtime history sampling and export, are in docs/configuration.md. # Alternative server-side value for the legacy /v1 development proxy. Never use a # VITE_ prefix, and do not set this together with OAC_WEB_DEV_PROXY_TOKEN_FILE. diff --git a/AGENTS.md b/AGENTS.md index f357f109b..151e790de 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -47,7 +47,7 @@ Most boundaries still span several files; the listed file or directory is the en - Each setting and each piece of data is written in one place and read from that place, with no second copy, no environment-variable or file fallback and no alias. - Configuration files are grouped by category, never scattered. A new setting joins its category and lives beside its peers. -The categories are [process settings](docs/configuration.md#process-settings-configjson), [derived files](docs/configuration.md#how-oac-apply-works), [secrets](docs/configuration.md#secrets-and-identity), and Core's database for [runtime settings](docs/configuration.md#runtime-settings-web) and execution data. [Configuration](docs/configuration.md) owns the installation layout and the settings themselves. +The categories are [process settings](docs/configuration.md#process-settings-configjson), [derived files](docs/configuration.md#how-oac-apply-works), [secrets](docs/configuration.md#installation-directory), and Core's database for [runtime settings](docs/configuration.md#runtime-settings-web) and execution data. [Configuration](docs/configuration.md) owns the installation layout and the settings themselves. ### Pre-release: no compatibility layers diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index df21e9d58..ff36aacd9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,7 @@ This guide owns how to work in the repository: documentation ownership, the repo | Harness qualification and acceptance | [Harness integration](contracts/agents-api/harnesses.md) | | Harness selection and Agent defaults | [Harness selection](contracts/agents-api/harness-selection.md) | | Provider selection, sandbox deployment and E2B setup | [Sandbox deployment](contracts/agents-api/sandbox-deployment.md) | -| Hosted sandbox nodes | [Hosted sandbox manager](services/agents-api/HOSTED-SANDBOX-MANAGER.md) | +| Hosted sandbox nodes | [Nodes guide](docs/getting-started/nodes.md) and [sandbox deployment contract](contracts/agents-api/sandbox-deployment.md) | | Claude private bridge and Runtime artifact | [Claude SDK adapter](packages/claude-sdk-adapter/README.md) | | MiniMax Code and Claude Runtime adapter rules | [MiniMax Code Runtime](services/agents-api/deploy/mcode/README.md), [Claude Runtime](services/agents-api/deploy/claude/README.md) | | CI, distribution builds, installer lifecycle and managed HTTPS, release publication | [Maintainer guide](docs/maintainers.md) | @@ -150,7 +150,7 @@ Native adapter changes require their build/check targets and live provider accep Provider bootstrap, Runtime images and Harness adapters must agree on these names. Daemon startup rejects renamed settings before any subcommand and reports replacements without values; the separate Parsar product integration settings remain unchanged. No old label is accepted as a fallback. -Historical Runtime and project-version upgrades are not supported. Do not ship retired installer conversion implementations; preserve rejection guards under the [installer lifecycle contract](deploy/install/README.md#versions-and-the-lock). Preserve older installations, Runtime files, provider resources and Session history; install the current release separately. Startup never verifies and rebinds historical allocations or accepts node deployments without a valid specification. Keep the original Core responsible for unresolved resources; see the [operator boundary](services/agents-api/HOSTED-SANDBOX-MANAGER.md#historical-installations). Use this release's template builder for new E2B templates. Ordinary current-version database initialization uses the migration runner. +Historical Runtime and project-version upgrades are not supported. Do not ship retired installer conversion implementations; preserve rejection guards under the [installer lifecycle contract](deploy/install/README.md#versions-and-the-lock). Preserve older installations, Runtime files, provider resources and Session history; install the current release separately. Startup never verifies and rebinds historical allocations or accepts node deployments without a valid specification. Keep the original Core responsible for unresolved resources; see the [installation version policy](docs/getting-started/operations.md#installation-version-policy). Use this release's template builder for new E2B templates. Ordinary current-version database initialization uses the migration runner. The dormant Pi adapter keeps its `parsar` provider slug because the separate Parsar product pins model selections to that identity. This is a product boundary exception for the name guard, like the skill-upload integration. diff --git a/apps/docs/content/docs/admin-api.mdx b/apps/docs/content/docs/admin-api.mdx index 1bdef28a1..b64a0de5b 100644 --- a/apps/docs/content/docs/admin-api.mdx +++ b/apps/docs/content/docs/admin-api.mdx @@ -102,7 +102,7 @@ it is operational attribution, not per-key billing. ## Sandbox administration The [deployment configuration contract](https://github.com/MiniMax-AI/parsar-core/blob/f6d258735fc601c521dd990e6f9e1ed261f4ef2d/contracts/agents-api/sandbox-deployment.md), -[nodes and sandbox backends reference](https://github.com/MiniMax-AI/parsar-core/blob/f6d258735fc601c521dd990e6f9e1ed261f4ef2d/services/agents-api/HOSTED-SANDBOX-MANAGER.md) +[nodes guide](/hosted-providers) and [generated OpenAPI](https://github.com/MiniMax-AI/parsar-core/blob/f6d258735fc601c521dd990e6f9e1ed261f4ef2d/contracts/agents-api/core.openapi.yaml) define deployment and node operations: diff --git a/apps/docs/content/docs/configure.mdx b/apps/docs/content/docs/configure.mdx index 464faf819..0a5d41982 100644 --- a/apps/docs/content/docs/configure.mdx +++ b/apps/docs/content/docs/configure.mdx @@ -8,21 +8,13 @@ Every setting of a Core installation has exactly one home. There are two kinds: | Kind | Examples | Home | Change it with | Takes effect | | --- | --- | --- | --- | --- | | [Process settings](#process-settings-configjson) | Public URL, ports, logging, harnesses, execution concurrency, audit retention, OAuth origins, database pool, Runtime history export | `config.json` in the installation directory (default `~/.oac/core`) | Web domain setup or `oac domain` for managed HTTPS; otherwise edit the file, then run `oac apply` | `oac apply` restarts the services that read the changed settings | -| [Runtime settings](#runtime-settings-web) | Sandbox backend and size, nodes, Projects and keys, default models, executor credentials | Core's PostgreSQL database | Web, or the Core API (`/core/v1`) with the Core key | Saved without a Core restart; node Runtime changes prepare asynchronously | +| [Runtime settings](#runtime-settings-web) | Sandbox backend and size, nodes, Projects and keys, default models, executor credentials | Core's PostgreSQL database | Web, or the Core API (`/core/v1`) with the Core key | Saved without a Core restart; nodes prepare Runtime changes asynchronously | -Web's **System** page shows both: the installation's addresses, the process settings -read-only under **Startup settings**, and managed HTTPS under **Domain and HTTPS** with the path of `config.json` and the apply -command, the default models, and the sandbox configuration. Secrets live in -[`secrets/`](#secrets-and-identity), one copy each. Each setting is set in one place; -the files in `generated/` are only derived from `config.json`. No configuration file -defines Projects or API keys. +Web's **System** page shows the installation's addresses, the default models, the sandbox configuration and, under **Startup settings**, the process settings read-only with the path of `config.json` and the apply command. Secrets live in [`secrets/`](#installation-directory), one copy each. The files in `generated/` are derived from `config.json`. No configuration file defines Projects or API keys. ## Process settings: config.json -The installer writes every setting that applies to the installation's -[mode](/install#modes), so the file shows each value. Installer flags -listed in [Installation options](/install-options) only seed it. To change a -setting, edit the file and apply it: +The installer writes every setting that applies to the installation's [mode](/install-options#modes), so the file shows each value. Installer flags listed in [installation options](/install-options) only seed it. To change a setting, edit the file and apply it: ```sh ~/.oac/core/oac apply --dry-run # show the changed settings, files and restarts @@ -31,59 +23,29 @@ setting, edit the file and apply it: ### How oac apply works -1. It validates `config.json` and changes nothing if a value is invalid. `mode` and - `native_core` and `ingress` are fixed after installation; to change them, install into a new - directory. -2. It writes the files Core, Web and Compose read into `generated/`: `compose.json`, - `core.env`, `core-key-digests.json`, `settings.json` and, when used, - `runtime-history.json`, the managed `Caddyfile` and the native Core unit. Don't edit them. A generated file - edited by hand stops `apply` until you move the change into `config.json` and run - `oac apply --discard-edits`, which keeps the edited copy as - `generated/.edited-