Files
rea/docs/specs/agent-environments/environment-export/plan.md
7a0c47bfa4 feat(environment): export an environment manifest as an agent environment bundle (#4999)
Export an authenticated capture and environment manifest as a pinned agentenv bundle with provenance, a replay verifier and smoke task.

Followups preserve immutable input ownership, bounded discovery, caller paths and numeric values; bind bundle writes and package copying to retained filesystem owners; verify POSIX modes; retain cleanup authority; and verify framework/npm executable selection. Default MCP remains stdio.

Validation: pinned Linux toolchain, typecheck/build/lint/format/docs/knip, 452 focused tests, ten product-catalog cases, real GitHub response replay in the generated non-root Docker image, and the real pinned agentenv framework smoke workflow. Platform and resource-measurement limits are recorded in the feature verification document.

Co-authored-by: gensokyo-dev <gensokyo-dev@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-20 05:29:43 +08:00

1.4 KiB

Implementation plan

  1. Extend src/application/environment/environmentSource.ts so loadEnvironmentSource takes the reporting operation and retains the capture artifact's SHA-256, letting the export reuse the serve command's authentication and cross-check unchanged.
  2. Add environmentBundle.ts to plan the bundle from the source alone: the name rule, the Dockerfile for the registry and tarball package sources, the verifier, the smoke task, the README and the copy targets.
  3. Add environmentExport.ts to read each input once through the regular-file reader, refuse an occupied directory, a missing tarball or an unreadable input before writing, then write the planned files with exclusive creation and copy the authenticated bytes and the tarball byte-exact.
  4. Register environment-export in src/cli/environmentCommands.ts beside environment-serve, sharing the argument descriptions, and in CLI_COMMANDS.
  5. Add the agentenv scope, real-agentenv.yml, the package script and scripts/verify-agentenv-environment.mjs, wire ci.yml and extend the ciRequiredLanes and ciChangeScope tables.
  6. Add services, conformance and cli-boundary tests; document the command in docs/cli.md, the bundle and lane in docs/agent-environments.md and docs/testing.md; record the spec.

No new dependency is introduced; the CLI inventory gains one command.