You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
src/cli.rs defines init and migrate-config exclusively as clap subcommand variants (Commands::Init, Commands::MigrateConfig) — there is no top-level --init or --migrate-config boolean flag on the Cli struct. Yet the entire project documentation set consistently describes these as flags:
.zeph/zeph.md, crates/zeph-config/AGENTS.md: same flag-style wording
CHANGELOG.md: 30+ historical entries describe zeph --migrate-config / --migrate-config as if it were a bare flag, going back to the very commit that introduced it (7de52249, PR feat(config): add migrate-config command #1528)
src/cli.rs's own doc comments (lines ~922-923, ~962-963) say zeph --init / --migrate-config
.local/testing/playbooks/worktree-disk-quota.md Scenarios 6-7 use the incorrect flag-style invocation in their own steps
Since Claude Code loads CLAUDE.md as mandatory, binding instructions for this repository, every session that follows the documented convention hits an immediate clap parse error before reaching the intended functionality. Related precedent: issue #587 ("Restore --vault, --vault-key, --vault-path CLI flags after clap migration") shows a prior clap migration silently dropped top-level flags and they were explicitly restored — --init/--migrate-config were either lost the same way or have simply always been documented incorrectly, and unlike --vault* this was never caught.
Reproduced during ci-1386 live testing while attempting the worktree disk-quota (#5924) migration/wizard scenarios.
Reproduction Steps
cargo run --features full -- --migrate-config --config .local/config/ci1386-worktree-premigration.toml --diff
→ error: unexpected argument '--migrate-config' found
cargo run --features full -- --init
→ error: unexpected argument '--init' found
cargo run --features full -- migrate-config --config .local/config/ci1386-worktree-premigration.toml --diff (subcommand form) → works correctly
cargo run --features full -- init (subcommand form) → works correctly, launches interactive wizard
Description
src/cli.rsdefinesinitandmigrate-configexclusively asclapsubcommand variants (Commands::Init,Commands::MigrateConfig) — there is no top-level--initor--migrate-configboolean flag on theClistruct. Yet the entire project documentation set consistently describes these as flags:CLAUDE.md: "Config migration (--migrate-config)"CLAUDE.md(Development Rules, mandatory integration-point checklist): references--initwizard and--migrate-configstep.zeph/zeph.md,crates/zeph-config/AGENTS.md: same flag-style wordingCHANGELOG.md: 30+ historical entries describezeph --migrate-config/--migrate-configas if it were a bare flag, going back to the very commit that introduced it (7de52249, PR feat(config): add migrate-config command #1528)src/cli.rs's own doc comments (lines ~922-923, ~962-963) sayzeph --init/--migrate-config.local/testing/playbooks/worktree-disk-quota.mdScenarios 6-7 use the incorrect flag-style invocation in their own stepsSince Claude Code loads
CLAUDE.mdas mandatory, binding instructions for this repository, every session that follows the documented convention hits an immediate clap parse error before reaching the intended functionality. Related precedent: issue #587 ("Restore --vault, --vault-key, --vault-path CLI flags after clap migration") shows a prior clap migration silently dropped top-level flags and they were explicitly restored —--init/--migrate-configwere either lost the same way or have simply always been documented incorrectly, and unlike--vault*this was never caught.Reproduced during ci-1386 live testing while attempting the worktree disk-quota (#5924) migration/wizard scenarios.
Reproduction Steps
cargo run --features full -- --migrate-config --config .local/config/ci1386-worktree-premigration.toml --diff→
error: unexpected argument '--migrate-config' foundcargo run --features full -- --init→
error: unexpected argument '--init' foundcargo run --features full -- migrate-config --config .local/config/ci1386-worktree-premigration.toml --diff(subcommand form) → works correctlycargo run --features full -- init(subcommand form) → works correctly, launches interactive wizardExpected Behavior
Either:
--init/--migrate-configas documented, via flag aliases routed to the existing subcommand handlers (matches the precedent set by the Restore --vault, --vault-key, --vault-path CLI flags after clap migration #587 fix for--vault*), orzeph init,zeph migrate-config)The spec leaves the choice between these two remediation paths to implementation planning.
Actual Behavior
Both
--initand--migrate-configfail immediately with a clap "unexpected argument" error; only the no-dash subcommand forms work.Environment
Spec
specs/076-cli-init-migrate-config-flag-mismatch/spec.md