Skip to content

Follow-ups from the DECISIONS.md and SKILL.md cold reads #1757

Description

@suleimansh

Follow-ups from the DECISIONS.md and SKILL.md cold reads (#1755, #1756): what the reads found in the code that is not a decision of any file. None blocks the PRs; each is a code or design item on its own.

Bugs, mechanical

  • @gemstack/skill-tickets: priority comes back as a string from list and show ("priority":"7") while effort and uncertainty are numbers; a sort by priority orders "10" below "7".
  • @gemstack/agent-data: the branch time-budget rule scans the global options too (git.ts:84 filters args, not the stripped words), so git -C <repo> branch --list gets the write budget.
  • @gemstack/skill-branches: a forced worktree removal that also fails is swallowed and the reclaim answers ok: true with the checkout still on disk; prune loses its removed/skipped list when one checkout throws past the decision.
  • @gemstack/skill-tickets: a dot-prefixed filename (.x.md) passes as a bare name (isTicketFile) but is refused as the tickets/.x.md path (isTicketPath), so the two forms the skill calls equivalent are not.
  • @gemstack/skill-branches: the merged-branch rule accepts a remote-tracking ref of any remote while "pushed" means origin only; a branch reachable only from upstream/main is deleted without ever reaching origin.
  • @gemstack/skill-branches: remove <session-name> and remove <id> reclaim the same checkout but differ in whether the birth branch goes: the birth branch is derived from the argument (cli.ts:184), not from the checkout's folder.
  • @gemstack/skill-branches: branchesDeleted can name a branch whose deletion failed silently (deleteBranch swallows errors, reclaim.ts:130-137 records the name regardless).
  • @gemstack/skill-tickets: a queue edit committed but not pushed answers {ok:false} (queue.ts:140) while a claim or release in the same state counts as landed; and --ticket's label is interpolated unescaped, so a text containing a markdown link breaks the read-back (names.ts:72 takes the first link).
  • CI: the daemon test "a run loses its worktree once its work is on the remote" timed out twice at 12s on markdown-only commits, green on rerun.
  • Packaging: npm pack leaves "@gemstack/agent-data": "workspace:*" in both skill tarballs, which npm install refuses (EUNSUPPORTEDPROTOCOL); pnpm pack rewrites it. Publish with pnpm, or add a prepack rewrite.

Undocumented or unstated

  • tickets.ts skips a leading Source: line when picking a ticket's summary; neither DECISIONS.md nor the ticket format mentions it. Document or remove.
  • release prints the same shape as claim ({"ok":true,"file":…,"holder":…}), so a caller cannot see from the output that a lock was lifted.
  • queue prints a flat array with no priority, while the skill says "in order of work".

Design questions

  • The queue file: an entry added with no priority to a file that has no ## section yet is a plain line; the first --priority add then creates its section below it, so the unranked entry outranks Priority 10 forever. Same family as the level-1-title-only queue file getting sections appended.
  • The reclaim pushes whatever branch an agent's checkout ended on, the user's own included, when the program allows a push; only the deletion is limited to agent-*.
  • close does not touch the queue: an entry linking the closed ticket stays until queue done.
  • A scoped package (@acme/x) an agent installs in its checkout still writes into the user's node_modules, because the dependency links go one entry deep and a scope is one entry.

🤖 curated · Fable 5.1, effort high — the agent's cold reads and rig runs found these and wrote the lines; the grouping and the split into bugs versus design questions are mine.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions