Skip to content

Normalize reconciliation command keyword casing without relaxing SHA validation #2205

Closed

Description

@bradygaster

Observed behavior

At f558617be67e51dc0ef8b6223e739e5369ec5b07, workflows/shared/squad-command-contract.mjs accepts /squad Activate but rejects /squad Reconcile Activation 123 <lowercase-64-hex-sha>. The documented lowercase /squad reconcile activation 123 <lowercase-64-hex-sha> is accepted. Uppercase SHA text is rejected.

Reproduced through the actual exported classifySquadCommand with an issue_comment payload. Mixed-case rejection is explicit (Unknown command or malformed arguments), not an authorization bypass or successful partial recovery.

Requested correction

Normalize only the reconciliation command words case-insensitively, consistently with other commands. Preserve lowercase-only 64-character SHA validation, valid positive request IDs, authorization, and output guards. Add regression cases for mixed-case keywords and invalid/uppercase hashes.

Scope and disposition

Tracked separately from #2204 to avoid extending the activation/recovery correctness repair for a command-spelling usability inconsistency. The supported lowercase recovery command remains functional; no runtime safety gate is waived.

Source: hosted review https://github.com/bradygaster/squad/pull/2204#pullrequestreview-5494233472.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions