Skip to content

CLI: support updating and deleting standard rules and package membership via playbook #392

Description

@ppotin-aaisa

Description

Extend the packmind-cli playbook workflow so a maintainer can update and delete individual standard rules from the CLI, and manage package membership (remove a standard or skill from a package, rename a package, edit its description). Today the publish workflow only adds; it cannot reliably remove or edit in place.

Current Behavior

Using packmind-cli playbook (v0.30.x) as an authenticated maintainer, the add then submit flow is additive only for standard rules:

  • Adding a new rule to a standard lands.
  • Whole file skill edits land.
  • Removing a rule from a standard does not apply; the rule stays.
  • Editing an existing rule's text in place is unreliable, and the outcome depends on how large the change is:
    • a small edit (a few words) is silently dropped, and the rule is left unchanged;
    • a larger reword is applied as a new rule while the original remains, leaving two near duplicate rules that a human then removes in the UI.

This appears to stem from rules having no stable identifier: the CLI matches rules by content similarity (see #196), so a close match reads as unchanged and a distant one reads as an add plus a remove, and since removals do not apply the original lingers.

The only way to reliably remove or reword a rule today is the Packmind UI. There is also no CLI verb to remove a standard from a package, or to rename a package or edit its description.

Motivation

Common maintenance edits (moving a rule between standards, softening or rewording a rule, splitting an overloaded package) cannot be completed from the CLI. They end in a contradictory half state, for example an old rule and its reworded replacement both present, which a human then cleans up manually in the UI. This makes packmind-cli unreliable as the maintainer's single tool and blocks scripted or agent assisted playbook maintenance. Rule level operations need stable rule identity, which is the subject of #196 (rule slugs); this request is the concrete CLI capability that #196 would unlock.

Proposed Solution

Extend the playbook workflow so that, resolving rules by slug (per #196), a maintainer can:

  1. Delete a standard rule.
  2. Update an existing rule's text in place instead of creating a duplicate.
  3. Manage package membership: remove a standard or skill from a package, and rename a package or edit its description.

The diff and submit steps should reflect rule deletions and edits, not only additions. Adjacent work: #260 (multiple artifacts per playbook add).

Impact Assessment

  • User impact: playbook maintainers and admins can complete the full edit lifecycle (create, update, delete) from the CLI, keeping CLI and UI at parity and avoiding contradictory half states in distributed standards; it also enables scripted and agent assisted playbook maintenance.
  • Performance impact: negligible; it reuses the existing publish path, extended to carry rule edits and deletions.

TODO

  • Documentation updated
  • Update changelog

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions