Repository navigation
Huddle v0.3.0
Added
-
The session does every step it can, and the steps only a person can do are for-dummies steps (Issue #50;
docs/design.md§13). Before a session hands a step to the AI Manager or a developer, it checks whether it can do it
itself withgh,glab, git and the sandboxes, and if so does it and reports it. Only a step that needs a second
person's account, a payment, a secret, a phone or another device, a legal or business decision, a paid action or a
denied permission goes to the person, written as numbered «🙋 Only you» steps («🙋 Solo tú» in Spanish): one action per
step, a copy block for what is pasted, «You should see:» and «If you see something else:»./huddle-reviewnow merges,
tags and creates the release itself once its session approved, and asks only for 🙋 steps;/huddle-issuemarks the
steps only a person can do; every skill has a «Who does each step» section and its closing message follows it. The smoke
test marks each step «Session» or «🙋 Only you» and the session runs its own steps on the sandboxes; the GitLab
HUDDLE_TOKENstep is now a 🙋 block, and the team guide and the roles page explain it. Docs and skills tests check it. -
/huddle-areas, Claude helps define the project's areas (Issue #42). The skill (AI Manager only) reads the README,
CLAUDE.md, the specs, plans and Issues and always proposes and explains before changing anything: which areas (any
number, never a fixed one), an area for each Issue without one, a «remaining» estimate per area with its reasoning, and a
check-up on a project that already has areas. The mechanics are the newhuddle areas list | set | assign | check:
setcreates or updates one milestone keeping the rest of its description,assignputs an Issue in an area or takes
it out withnone,checkreports Issues with no area, areas with no estimate and areas whose remaining is 0, as data
with--json. Every write prints what it will change first and has--dry-run. The adapters gainfindMilestone,
createMilestone,updateMilestoneandsetIssueMilestone, and closed Issues carry theirtitleandmilestone.
Changed
- The smoke test (
docs/smoke-test.md, Issue #40) has two new numbered sections, «Progress» (9) and «Team members» (10),
with checkboxes and expected results for GitHub and GitLab, and a «Results 0.2.0» table. Step 5.5 is now run with a second
account: that person comments a «Prompt for Claude Code» block, andhuddle pendingand the labels ignore it. «Not
testable» stays only for a run with no second account. «Clean up» is now section 11. huddle doctortells «not installed or not on the PATH» apart from «not logged in» (Issue #41). Whenghorglabcannot
be started (ENOENT), theloginline says so and gives the install command for the system (winget install --id GitHub.cli/GLab.GLabon Windows,brew install gh/glabon Mac, the official page on Linux) and, on Windows, to
open a new terminal or reload the PATH. An auth failure says «is not logged in» withgh auth login/glab auth login
(--hostname <host>whenhuddle.jsonhas a host). Any other failure keeps the «is not usable» line. The real runners
carry the spawn error'scodeon the error they reject with.
Fixed
Findings of the 0.3.0 smoke test (Issue #52).
- One «Huddle progress» Issue, even when two runs start seconds apart.
huddle labelslooks for it with the new adapter
operationfindIssuesByTitle, which reads the database (GitHub: the REST Issues list; GitLab: the list by title), not
gh issue list, which uses search and indexes a new Issue late. Every run also heals duplicates: the oldest stays, the
others get the comment «Duplicate of #N» and are closed (as not planned on GitHub). New adapter operationcloseIssue. - The progress Issue is only an Issue whose body starts with the marker line and whose title is «Huddle progress». An
Issue that quotes the marker in its text, or a human's Issue with that title, is never rewritten or closed. - Retries on a rate limit and on a server error. The
ghandglabrunners retry a 429 (and «rate limit» answers) and
a 5xx, at most 3 tries and 60 s of waiting in all, after theRetry-Afterthe CLI prints or 1 s, then 2 s. A POST is
never retried on a 5xx (it may have been done). A limit that stays ends with «rate limited, try again in N s» on one
line, not a stack. On GitLab one labels run readsclosed_byonce per Issue, not once for the labels and once more for
the progress. - GitLab:
huddle areas assignto a closed milestone sticks. gitlab.com answers 200 and ignores a closed milestone on an
Issue, sosetIssueMilestonereads the Issue back; if it did not stick, it reopens the milestone, assigns and closes it
again (also when the assign fails), says so, and throws a clear error if it still does not stick. huddle areas checklists an area with no estimate line once (as «No «Huddle remaining» line»), no longer also as «No
Issue and remaining 0».
Smoke test: sections 9, 10 and 11 run on github.com and gitlab.com sandboxes by the AI Manager session (see docs/smoke-test.md, Results 0.2.0 and 0.3.0). Not run in this release, unchanged since 0.2.0: the steps that need a second account (5.5, 5.6, section 10 steps 4-6 and 9) and the new-window checks (section 9 step 8, section 11 step 2).