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
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
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
embeddedPisections) would still parse without error during the transition window.Problem
src/config/zod-schema.agent-defaults.ts:131retains: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:
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
embeddedPi: z.unknown().optional()line insrc/config/zod-schema.agent-defaults.tssrc/config/schema.base.generated.tsfor the corresponding generated entry and regenerate after the Zod changeembeddedPisection: "TheembeddedPiconfig section is obsolete and ignored. Remove it from your config to silence this warning."src/config/config-misc.test.ts(if any) to dropembeddedPior keep one test that asserts the migration warning firestsc --noEmitand full test suiteAcceptance Criteria
rg "embeddedPi" src/returns hits only from the migration-warning message textembeddedPi: {...}emits the migration warning and the config loads successfully (no schema error)tsc --noEmitclean