Skip to content

refactor(config): remove embeddedPi Pi-era config stub #2479

@alexey-pelykh

Description

@alexey-pelykh

Context

RemoteClaw was forked from OpenClaw. The original OpenClaw codebase shipped an embedded execution engine (referred to internally as "Pi-embedded"). That engine was removed from the RemoteClaw fork during early milestones; a config stub was kept so existing user configs (with legacy embeddedPi sections) would still parse without error during the transition window.

Problem

src/config/zod-schema.agent-defaults.ts:131 retains:

embeddedPi: z.unknown().optional(),

Explicit parse-compatibility stub. The in-file comment documents it as such ("Stub kept for config parse compatibility (existing configs still parse)"). The field is parsed but never read by any production code path.

Verification:

rg "embeddedPi" src/ --type ts
# All hits are: the stub declaration, the generated schema mirror, and test fixtures.
# No production consumer.

The migration window has passed: the fork completed its rebrand, config shape evolved significantly, and users upgrading to recent RemoteClaw releases have already been prompted to update their configs.

Tasks

  • Delete the embeddedPi: z.unknown().optional() line in src/config/zod-schema.agent-defaults.ts
  • Check src/config/schema.base.generated.ts for the corresponding generated entry and regenerate after the Zod change
  • Add a migration warning in the config-load path (same channel already used for other legacy-field warnings) if the loaded config contains an embeddedPi section: "The embeddedPi config section is obsolete and ignored. Remove it from your config to silence this warning."
  • Update test fixtures in src/config/config-misc.test.ts (if any) to drop embeddedPi or keep one test that asserts the migration warning fires
  • Run tsc --noEmit and full test suite

Acceptance Criteria

  • rg "embeddedPi" src/ returns hits only from the migration-warning message text
  • A test exercises: loading a config containing embeddedPi: {...} emits the migration warning and the config loads successfully (no schema error)
  • tsc --noEmit clean
  • Test suite passes

Metadata

Metadata

Assignees

Labels

gutRemoving dead upstream subsystems

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions