Merge pull request #141 from julianknutsen/cleanup/sling-dead-flags
cleanup: remove dead sling flags (--quality, --molecule)
This commit is contained in:
@@ -264,7 +264,7 @@ Note: "Swarm" is ephemeral (workers on a convoy's issues). See [Convoys](convoy.
|
|||||||
# Standard workflow: convoy first, then sling
|
# Standard workflow: convoy first, then sling
|
||||||
gt convoy create "Feature X" gt-abc gt-def
|
gt convoy create "Feature X" gt-abc gt-def
|
||||||
gt sling gt-abc <rig> # Assign to polecat
|
gt sling gt-abc <rig> # Assign to polecat
|
||||||
gt sling gt-def <rig> --molecule=<proto> # With workflow template
|
gt sling <proto> --on gt-def <rig> # With workflow template
|
||||||
|
|
||||||
# Quick sling (auto-creates convoy)
|
# Quick sling (auto-creates convoy)
|
||||||
gt sling <bead> <rig> # Auto-convoy for dashboard visibility
|
gt sling <bead> <rig> # Auto-convoy for dashboard visibility
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ Target Resolution:
|
|||||||
gt sling gt-abc deacon/dogs/alpha # Specific dog
|
gt sling gt-abc deacon/dogs/alpha # Specific dog
|
||||||
|
|
||||||
Spawning Options (when target is a rig):
|
Spawning Options (when target is a rig):
|
||||||
gt sling gp-abc greenplace --molecule mol-review # Use specific workflow
|
|
||||||
gt sling gp-abc greenplace --create # Create polecat if missing
|
gt sling gp-abc greenplace --create # Create polecat if missing
|
||||||
gt sling gp-abc greenplace --naked # No-tmux (manual start)
|
gt sling gp-abc greenplace --naked # No-tmux (manual start)
|
||||||
gt sling gp-abc greenplace --force # Ignore unread mail
|
gt sling gp-abc greenplace --force # Ignore unread mail
|
||||||
@@ -74,11 +73,6 @@ Formula-on-Bead (--on flag):
|
|||||||
gt sling mol-review --on gt-abc # Apply formula to existing work
|
gt sling mol-review --on gt-abc # Apply formula to existing work
|
||||||
gt sling shiny --on gt-abc crew # Apply formula, sling to crew
|
gt sling shiny --on gt-abc crew # Apply formula, sling to crew
|
||||||
|
|
||||||
Quality Levels (shorthand for polecat workflows):
|
|
||||||
gt sling gp-abc greenplace --quality=basic # mol-polecat-basic (trivial fixes)
|
|
||||||
gt sling gp-abc greenplace --quality=shiny # mol-polecat-shiny (standard)
|
|
||||||
gt sling gp-abc greenplace --quality=chrome # mol-polecat-chrome (max rigor)
|
|
||||||
|
|
||||||
Compare:
|
Compare:
|
||||||
gt hook <bead> # Just attach (no action)
|
gt hook <bead> # Just attach (no action)
|
||||||
gt sling <bead> # Attach + start now (keep context)
|
gt sling <bead> # Attach + start now (keep context)
|
||||||
@@ -106,10 +100,8 @@ var (
|
|||||||
// Flags migrated for polecat spawning (used by sling for work assignment
|
// Flags migrated for polecat spawning (used by sling for work assignment
|
||||||
slingNaked bool // --naked: no-tmux mode (skip session creation)
|
slingNaked bool // --naked: no-tmux mode (skip session creation)
|
||||||
slingCreate bool // --create: create polecat if it doesn't exist
|
slingCreate bool // --create: create polecat if it doesn't exist
|
||||||
slingMolecule string // --molecule: workflow to instantiate on the bead
|
|
||||||
slingForce bool // --force: force spawn even if polecat has unread mail
|
slingForce bool // --force: force spawn even if polecat has unread mail
|
||||||
slingAccount string // --account: Claude Code account handle to use
|
slingAccount string // --account: Claude Code account handle to use
|
||||||
slingQuality string // --quality: shorthand for polecat workflow (basic|shiny|chrome)
|
|
||||||
slingNoConvoy bool // --no-convoy: skip auto-convoy creation
|
slingNoConvoy bool // --no-convoy: skip auto-convoy creation
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -124,10 +116,8 @@ func init() {
|
|||||||
// Flags for polecat spawning (when target is a rig)
|
// Flags for polecat spawning (when target is a rig)
|
||||||
slingCmd.Flags().BoolVar(&slingNaked, "naked", false, "No-tmux mode: assign work but skip session creation (manual start)")
|
slingCmd.Flags().BoolVar(&slingNaked, "naked", false, "No-tmux mode: assign work but skip session creation (manual start)")
|
||||||
slingCmd.Flags().BoolVar(&slingCreate, "create", false, "Create polecat if it doesn't exist")
|
slingCmd.Flags().BoolVar(&slingCreate, "create", false, "Create polecat if it doesn't exist")
|
||||||
slingCmd.Flags().StringVar(&slingMolecule, "molecule", "", "Molecule workflow to instantiate on the bead")
|
|
||||||
slingCmd.Flags().BoolVar(&slingForce, "force", false, "Force spawn even if polecat has unread mail")
|
slingCmd.Flags().BoolVar(&slingForce, "force", false, "Force spawn even if polecat has unread mail")
|
||||||
slingCmd.Flags().StringVar(&slingAccount, "account", "", "Claude Code account handle to use")
|
slingCmd.Flags().StringVar(&slingAccount, "account", "", "Claude Code account handle to use")
|
||||||
slingCmd.Flags().StringVarP(&slingQuality, "quality", "q", "", "Polecat workflow quality level (basic|shiny|chrome)")
|
|
||||||
slingCmd.Flags().BoolVar(&slingNoConvoy, "no-convoy", false, "Skip auto-convoy creation for single-issue sling")
|
slingCmd.Flags().BoolVar(&slingNoConvoy, "no-convoy", false, "Skip auto-convoy creation for single-issue sling")
|
||||||
|
|
||||||
rootCmd.AddCommand(slingCmd)
|
rootCmd.AddCommand(slingCmd)
|
||||||
@@ -162,22 +152,6 @@ func runSling(cmd *cobra.Command, args []string) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// --quality is shorthand for formula-on-bead with polecat workflow
|
|
||||||
// Convert: gt sling gp-abc greenplace --quality=shiny
|
|
||||||
// To: gt sling mol-polecat-shiny --on gt-abc gastown
|
|
||||||
if slingQuality != "" {
|
|
||||||
qualityFormula, err := qualityToFormula(slingQuality)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
// The first arg should be the bead, and we wrap it with the formula
|
|
||||||
if slingOnTarget != "" {
|
|
||||||
return fmt.Errorf("--quality cannot be used with --on (both specify formula)")
|
|
||||||
}
|
|
||||||
slingOnTarget = args[0] // The bead becomes --on target
|
|
||||||
args[0] = qualityFormula // The formula becomes first arg
|
|
||||||
}
|
|
||||||
|
|
||||||
// Determine mode based on flags and argument types
|
// Determine mode based on flags and argument types
|
||||||
var beadID string
|
var beadID string
|
||||||
var formulaName string
|
var formulaName string
|
||||||
@@ -1069,19 +1043,6 @@ func agentIDToBeadID(agentID string) string {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// qualityToFormula converts a quality level to the corresponding polecat workflow formula.
|
|
||||||
func qualityToFormula(quality string) (string, error) {
|
|
||||||
switch strings.ToLower(quality) {
|
|
||||||
case "basic", "b":
|
|
||||||
return "mol-polecat-basic", nil
|
|
||||||
case "shiny", "s":
|
|
||||||
return "mol-polecat-shiny", nil
|
|
||||||
case "chrome", "c":
|
|
||||||
return "mol-polecat-chrome", nil
|
|
||||||
default:
|
|
||||||
return "", fmt.Errorf("invalid quality level '%s' (use: basic, shiny, or chrome)", quality)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// IsDogTarget checks if target is a dog target pattern.
|
// IsDogTarget checks if target is a dog target pattern.
|
||||||
// Returns the dog name (or empty for pool dispatch) and true if it's a dog target.
|
// Returns the dog name (or empty for pool dispatch) and true if it's a dog target.
|
||||||
|
|||||||
Reference in New Issue
Block a user