cad-land: surface open issues and the ones this branch references #121

Closed
opened 2026-08-13 15:45:10 +00:00 by john · 0 comments
Owner

Nothing in the spine ever looks at the issue tracker. Landing work without checking whether it addressed an open issue is the most frequent process miss in real use, and Cadence has no answer for it.

Where it goes

/cad-land step 1, not a new command.

Step 1 already detects the remote host from the origin URL, and already resolves a tea login to decide the PR mechanism (skills/cad-land/SKILL.md:31-38). The host and the CLI are already in hand at exactly that point. gh, glab and tea are already first-class in this skill and in references/git-publish.md, so this adds no new dependency class.

Shape

Add to step 1's state report:

  1. Open issues on the detected host.
  2. Any issue number referenced by a commit on this branch, from git log <base>..HEAD scanned for #N, closes #N, fixes #N.

The second is the one that earns its place. "Your branch references #42 and #47; #42 is still open" is a specific discrepancy that is hard to skim past. A bare list is easy to ignore, and is the fallback when no commit references anything.

Rules

  • Degrade in one line, never fail. No remote, unrecognized host, no CLI, no login, or the CLI returns nonzero: one line saying issues were not checked and why. Never block the land, never retry, never fabricate a list.
  • Bound it. This is the first time /cad-land reads remote state that is not git. A slow or hanging forge CLI must not stall a land.
  • Default on. It is read-only and informational, so it does not violate the skill's "never decides how you publish" objective. Closing an issue stays an explicit ask at publish time and is never implied by landing.
  • Never auto-close an issue. Same reason /cad-land never auto-pushes.

Naming trap

git.auto_close ALREADY means "merge the integration branch unattended" - skills/cad-land/SKILL.md step 4b, bin/land-cleanup.mjs, lib/close-decision.mjs, and decideGateHalt keys on that meaning.

Do NOT name the new key anything containing auto_close, and do not let "close an issue" and "close a branch" share vocabulary in the prose. That collision would be a permanent source of misreading in the exact file where the existing meaning is load-bearing.

Suggest git.issue_check, bool, default true.

Registration is part of the requirement

skills/cad-help, README.md, .planning/DOCS-CLAIMS.md, and the config catalog for the new key.

Nothing in the spine ever looks at the issue tracker. Landing work without checking whether it addressed an open issue is the most frequent process miss in real use, and Cadence has no answer for it. ## Where it goes `/cad-land` step 1, not a new command. Step 1 already detects the remote host from the origin URL, and already resolves a `tea` login to decide the PR mechanism (`skills/cad-land/SKILL.md:31-38`). The host and the CLI are already in hand at exactly that point. `gh`, `glab` and `tea` are already first-class in this skill and in `references/git-publish.md`, so this adds no new dependency class. ## Shape Add to step 1's state report: 1. Open issues on the detected host. 2. Any issue number referenced by a commit on this branch, from `git log <base>..HEAD` scanned for `#N`, `closes #N`, `fixes #N`. The second is the one that earns its place. "Your branch references #42 and #47; #42 is still open" is a specific discrepancy that is hard to skim past. A bare list is easy to ignore, and is the fallback when no commit references anything. ## Rules - **Degrade in one line, never fail.** No remote, unrecognized host, no CLI, no login, or the CLI returns nonzero: one line saying issues were not checked and why. Never block the land, never retry, never fabricate a list. - **Bound it.** This is the first time `/cad-land` reads remote state that is not git. A slow or hanging forge CLI must not stall a land. - **Default on.** It is read-only and informational, so it does not violate the skill's "never decides how you publish" objective. Closing an issue stays an explicit ask at publish time and is never implied by landing. - **Never auto-close an issue.** Same reason `/cad-land` never auto-pushes. ## Naming trap `git.auto_close` ALREADY means "merge the integration branch unattended" - `skills/cad-land/SKILL.md` step 4b, `bin/land-cleanup.mjs`, `lib/close-decision.mjs`, and `decideGateHalt` keys on that meaning. Do NOT name the new key anything containing `auto_close`, and do not let "close an issue" and "close a branch" share vocabulary in the prose. That collision would be a permanent source of misreading in the exact file where the existing meaning is load-bearing. Suggest `git.issue_check`, bool, default true. ## Registration is part of the requirement `skills/cad-help`, `README.md`, `.planning/DOCS-CLAIMS.md`, and the config catalog for the new key.
john added this to the v3.2.0 milestone 2026-08-13 15:45:10 +00:00
john modified the milestone from v3.2.0 to v3.4.0 2026-08-15 14:59:45 +00:00
john closed this issue 2026-08-15 17:00:53 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: crenshawdev/cadence-archived#121
No description provided.