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

26 lines
1.4 KiB
Markdown

# 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.