8000 T31 — Old session verbs as aliases with a hint · Issue #2917 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

T31 — Old session verbs as aliases with a hint #2917

Open

Description

@mitodrummer

Task

slice size difficulty model who estimated lines
Move off the session verbs L needs care strongest an agent 880 (400 code, 480 tests)

The old min session verbs and bare min stop still work, each with one hint naming the new command.

Covers:

  • BCLI-042
  • BCLI-066

Layers:

  • client:
    • crates/minimal/src/cmd/aliases.rs (new): maps each old spelling and flag to its replacement, refuses an unmapped flag, and prints the hint
    • crates/minimal/src/cmd/mod.rs: dispatches the verb
    • crates/minimal/src/cli.rs: the verb's arguments and help in the one command model
    • crates/minimal/src/cmd/session.rs: session activate|destroy|exec|rename|policy call the aliases; the session hooks row lands with the spec-render task
    • crates/minimal/src/main.rs: bare min stop calls the alias
    • crates/minimal/src/tests.rs: the in-process minimald test harness gains this layer's tests
    • cargo nextest run -p minimal legacy_session_verbs_alias_with_hint
    • cargo nextest run -p minimal activate_alias_detaches_unless_attach_flag
    • cargo nextest run -p minimal activate_alias_maps_create_flags
    • cargo nextest run -p minimal activate_alias_maps_network_policy_flags_to_override_layer
    • cargo nextest run -p minimal activate_alias_keeps_sync_and_no_hooks
    • cargo nextest run -p minimal alias_unmapped_flag_exit2_names_flag
    • cargo nextest run -p minimal aliases_exit2_after_grace_release
    • cargo nextest run -p minimal session_run_exit2_hints_task_run

Waits on:

Plan block
### T31 — Old session verbs as aliases with a hint
  slice: S8
  kind: task
  covers: BCLI-042, BCLI-066
  size: L
  est: 400 code, 480 tests
  executor: agent
  difficulty: needs care
  model: strongest
  diagnostics: after an old spelling runs, it prints one line such as "min session destroy is now min box rm --force." on stderr; `min session run` prints "Run a task with min task run <task>." and exits 2; bare `min stop` keeps today's live-sessions refusal word for word, pinned by legacy_session_verbs_alias_with_hint
  observability: the command's existing tracing span records the verb, the box id it resolved and the outcome
  layers:
    - client:
      - crates/minimal/src/cmd/aliases.rs (new): maps each old spelling and flag to its replacement, refuses an unmapped flag, and prints the hint
      - crates/minimal/src/cmd/mod.rs: dispatches the verb
      - crates/minimal/src/cli.rs: the verb's arguments and help in the one command model
      - crates/minimal/src/cmd/session.rs: `session activate|destroy|exec|rename|policy` call the aliases; the `session hooks` row lands with the spec-render task
      - crates/minimal/src/main.rs: bare `min stop` calls the alias
      - crates/minimal/src/tests.rs: the in-process minimald test harness gains this layer's tests
      test: cargo nextest run -p minimal legacy_session_verbs_alias_with_hint
      test: cargo nextest run -p minimal activate_alias_detaches_unless_attach_flag
      test: cargo nextest run -p minimal activate_alias_maps_create_flags
      test: cargo nextest run -p minimal activate_alias_maps_network_policy_flags_to_override_layer
      test: cargo nextest run -p minimal activate_alias_keeps_sync_and_no_hooks
      test: cargo nextest run -p minimal alias_unmapped_flag_exit2_names_flag
      test: cargo nextest run -p minimal aliases_exit2_after_grace_release
      test: cargo nextest run -p minimal session_run_exit2_hints_task_run
  produces:
    - crates/minimal/src/cmd/aliases.rs (entry point)
  consumes: none
  proof: The old `min session` verbs and bare `min stop` still work, each with one hint naming the new command.
  depends on:
    - blocked by #2890
    - blocked by #2898
    - blocked by #2903
    - blocked by #2905
    - blocked by #2907
    - blocked by #2910
    - blocked by gominimal/arch#161

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:taskA task the plan skill rendered; the body carries ## Taskmodel:strongestThe strongest model available: unknown ground, or large work that needs caresize:L500 to 900 net lines; one PR, and the ceiling

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0