brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
finishing-a-development-branchUse after execution is complete or intentionally stopped — decide whether to merge back, publish a PR branch, keep the execution checkout, or discard it, and record that disposition in HOTL state.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this after loop-execution, executing-plans, or subagent-execution when the run already has a run_id and you need to decide what happens to the execution branch/worktree next.
HOTL distinguishes between:
source_branch, source_head)branch, execution_root, worktree_path)Finishing is the stage that closes that loop intentionally. Do not silently merge, delete, or abandon the execution worktree.
Run:
hotl-rt summary <run-id> --json
Surface these fields before presenting options:
statussource_branchbranchexecution_rootworktree_pathfinish.disposition (if already recorded)If finish.disposition is already set, stop and tell the user the run is already finished.
A successful execution must be ready_to_finish before merge or publish. ready_to_finish means execution evidence is complete but the run is not yet completed. Keep the existing controller lease active and retain HOTL_OWNER_TOKEN; if a different controller is finishing, use explicit owner handoff/takeover rules from resuming first. Run owner heartbeat before a long finish operation.
Use these options:
source_branch when present and different from the execution branchmain or mastergh is available and the user wants a PR, create it against the chosen target branchExplain the target branch explicitly when merge or PR target is inferred from source_branch.
For publish/PR, record one bounded external_write with the exact target publish <branch> to <remote> (append and create PR against <target-branch> when --create-pr is used), pass --idempotency-key <stable-key>, obtain human action decide ... approved --mode human, and pass the returned action id and key to the helper. If a merge is classified as production_change, use the exact target merge <branch> into <target-branch>. The helper verifies kind, target, key, approval, and not-started status; it then performs action begin immediately before the effect and action complete with observed evidence before recording finish.
Approval is not effect evidence. If the helper stops after a push, PR attempt, or merge may have started, leave the action unresolved, inspect the target, and use action reconcile. Never rerun the helper while the effect is in_progress or uncertain.
Use the repo-owned helper:
scripts/hotl-finish-execution.sh --run-id <run-id> --mode <keep|merge|publish|discard> ...
Mappings:
--mode keep--mode merge [--target-branch <branch>]--mode publish [--remote origin] [--target-branch <branch>] [--create-pr]--mode discard --confirm discardFor an approved merge/publish effect, also pass --effect-action-id <id> --idempotency-key <key>. The helper records intent with action begin, executes the bounded effect, persists action complete evidence, then records the finish disposition with hotl-rt finish .... It enforces safety checks around branch switching, merging, cleanup, and destructive discard. HOTL_OWNER_TOKEN must remain in the helper environment.
After the helper succeeds, show:
Then run owner release and derive a fresh receipt. Claim completion only when the run is completed and sufficiency.sufficient is true. A failed helper must leave finish unset; use action reconcile before another attempt when an external effect may have occurred.
Important behavior:
.hotl/state/<run-id>.json and .hotl/reports/<run-id>.md back into the repo checkout before removing an isolated execution worktreegh is unavailable or fails after push, do not silently downgrade the approved target. Leave finish unset, reconcile the observed push, and ask whether the user wants a new bounded push-only action.