Skip to content

refactor(docs,e2e): remove multi-runtime and storage backend references#459

Merged
FL4TLiN3 merged 13 commits intomainfrom
refactor/remove-multi-runtime-docs-e2e
Feb 6, 2026
Merged

refactor(docs,e2e): remove multi-runtime and storage backend references#459
FL4TLiN3 merged 13 commits intomainfrom
refactor/remove-multi-runtime-docs-e2e

Conversation

@FL4TLiN3
Copy link
Contributor

@FL4TLiN3 FL4TLiN3 commented Feb 5, 2026

Summary

  • Remove multi-runtime documentation and tests (Docker, Cursor, Claude Code, Gemini runtimes)
  • Remove storage backend documentation and tests
  • Update remaining docs to use generic "container" terminology instead of "Docker"
  • Remove --runtime flags from e2e tests

Changes

Deleted (8 files)

File Description
docs/using-experts/multi-runtime.md Multi-runtime documentation
docs/operating-experts/storage-backends.md Storage backend documentation
e2e/perstack-cli/runtime-selection.test.ts Runtime selection tests
e2e/perstack-cli/docker-security.test.ts Docker security tests
e2e/perstack-cli/docker-attack-scenarios.test.ts Docker attack scenario tests
e2e/perstack-runtime/storage-behavior.test.ts Storage behavior tests
e2e/experts/docker-security.toml Docker security test config
e2e/experts/docker-attack-scenarios.toml Docker attack test config

Modified (22 files)

  • 10 docs files: Removed Docker runtime references, allowedDomains, storage links
  • 12 e2e files: Removed --runtime flags and runtime availability checks

Stats

30 files changed, 61 insertions(+), 2321 deletions(-)

Test plan

  • pnpm build - 28/28 packages pass
  • pnpm typecheck - 28/28 packages pass
  • No broken links to deleted files
  • E2E tests (requires API keys)

Next steps

This is phase 1 (docs/e2e only). Implementation changes will follow in a separate PR:

  • Delete packages: @perstack/runner, storage packages
  • Remove runtime adapters: Docker, Cursor, Claude Code, Gemini
  • Remove --runtime CLI option

🤖 Generated with Claude Code

FL4TLiN3 and others added 13 commits February 5, 2026 07:06
Remove documentation and e2e tests for features being deprecated:
- Multi-runtime support (Docker, Cursor, Claude Code, Gemini)
- Storage backend abstraction

Deleted files:
- docs/using-experts/multi-runtime.md
- docs/operating-experts/storage-backends.md
- e2e/perstack-cli/runtime-selection.test.ts
- e2e/perstack-cli/docker-security.test.ts
- e2e/perstack-cli/docker-attack-scenarios.test.ts
- e2e/perstack-runtime/storage-behavior.test.ts
- e2e/experts/docker-security.toml
- e2e/experts/docker-attack-scenarios.toml

Modified docs to remove Docker runtime references while keeping
generic container terminology for deployment guidance.

Removed --runtime flags from e2e tests and runtime availability
checks from prerequisites.

This is phase 1 of the cleanup - implementation changes will follow.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit removes support for multiple runtimes and the storage
abstraction layer, simplifying Perstack to only use local runtime.

Deleted packages (11):
- @perstack/docker
- @perstack/cursor
- @perstack/claude-code
- @perstack/gemini
- @perstack/adapter-base
- @perstack/runner
- @perstack/s3-storage
- @perstack/r2-storage
- @perstack/s3-compatible-storage
- @perstack/mock

Key changes:
- core: Remove adapter registry, types, and Storage interface
- core: Simplify RuntimeName to only "local"
- core: Remove runtime/workspace/volume/env CLI options
- runtime: Remove PerstackAdapter, call run() directly
- CLI: Remove runtime-dispatcher, call perstackRun() directly
- filesystem-storage: Remove FileSystemStorage class, keep helpers
- TUI: Remove Docker/multi-runtime UI rendering

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Delete apps/e2e-mcp-server
- Delete apps/create-expert
- Delete .agent directory
- Delete .cursorrules
- Move packages/storages/filesystem/ to packages/filesystem/

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Delete codecov.yml
- Rewrite SECURITY.md to reflect current architecture (no Docker runtime)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The lazy-init tests referenced the removed apps/e2e-mcp-server package.
Replace with a lightweight NDJSON-based MCP server script in e2e/fixtures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…e removal

Remove dead constants, event types, unreachable code paths, and unused files
left over from the multi-runtime/storage refactor. Fix stale references in
READMEs, docs, benchmarks, and test files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Delete dead TUI components: progress UI, useErrorHandler, useInputState, barrel files
- Remove dead functions from run-manager.ts (getMostRecentRunId, getRunsByJobId, etc.)
- Remove useEventStream hook and its tests from @perstack/react
- Remove SelectableList and TextInput from @perstack/tui-components
- Remove dead exports from @perstack/runtime (getModel, buildDelegateToState, etc.)
- Remove dead exports from @perstack/filesystem-storage (storeRunSetting, getEventsByRun, etc.)
- Remove hasCustomProviderSkills duplicate from @perstack/core
- Deduplicate isPrivateOrLocalIP and filter/formatter constants
- Fix all provider READMEs: wrong interface names, missing providerName, reasoning example
- Fix docs: event types (finishRun→completeRun), staging URLs, roadmap status
- Fix runtime README: state machine diagram, events list, checkpoint statuses
- Fix timeout help text (60000→300000) and stale test mocks
- Move react from dependencies to peerDependencies in @perstack/react

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…Event

The `runtime` field was a leftover from multi-runtime support. After the
refactor to local-only, `RuntimeName` is always "local" and no code reads
the field. Remove it from:

- Checkpoint.metadata.runtime
- RuntimeEventPayloads.initializeRuntime.runtime
- createNormalizedCheckpoint params
- createRuntimeInitEvent params
- RuntimeName type export (now unused)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Delete unused runtime-name.ts (no consumers after runtime field removal)
- Unexport getEventsByRun (only used internally in filesystem package)
- Remove stale ts-dedent and perstack from knip ignore lists

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@FL4TLiN3 FL4TLiN3 merged commit d47f679 into main Feb 6, 2026
9 checks passed
@FL4TLiN3 FL4TLiN3 mentioned this pull request Feb 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant