1 Commits

2 changed files with 8 additions and 8 deletions
@@ -22,12 +22,12 @@ Steps:
3. git fetch <remote> --prune; confirm local master == <remote>/master (0 0). 3. git fetch <remote> --prune; confirm local master == <remote>/master (0 0).
4. Create the issue "<title>" (problem, scope, acceptance) and claim it 4. Create the issue "<title>" (problem, scope, acceptance) and claim it
(status:in-progress + a "starting work" comment naming the branch). (status:in-progress + a "starting work" comment naming the branch).
5. scripts/worktree-start <type>/issue-<n>-<slug> # type = fix|feat|docs 4. scripts/worktree-start <type>/issue-<n>-<slug> # type = fix|feat|docs
cd branches/<type>-issue-<n>-<slug> cd branches/<type>-issue-<n>-<slug>
6. Implement the narrow scope only; add/update focused tests if behavior changes. 5. Implement the narrow scope only; add/update focused tests if behavior changes.
7. Checks: run the test suite, compile/lint changed files, git diff --check, 6. Checks: run the test suite, compile/lint changed files, git diff --check,
and scan the diff for secrets. and scan the diff for secrets.
8. Commit (issue-linked message), push the branch, open a PR to master. 7. Commit (issue-linked message), push the branch, open a PR to master.
*The PR body MUST use closing keywords like `Closes #N` or `Fixes #N` to close the issue; do NOT use `Implements #N` or `Refs #N` for closing, as Gitea will not auto-close it.* *The PR body MUST use closing keywords like `Closes #N` or `Fixes #N` to close the issue; do NOT use `Implements #N` or `Refs #N` for closing, as Gitea will not auto-close it.*
Include an "LLM Handoff Metadata" block in the PR body (attribution only; Include an "LLM Handoff Metadata" block in the PR body (attribution only;
never an eligibility input — docs/llm-agent-sha.md): never an eligibility input — docs/llm-agent-sha.md):
@@ -40,7 +40,7 @@ Steps:
- Branch: <branch> - Branch: <branch>
- Worktree: <worktree path> - Worktree: <worktree path>
- Self-review allowed: no - Self-review allowed: no
9. Stop before review/merge — you are the author. 8. Stop before review/merge — you are the author.
Handoff: issue #, branch, worktree path, files changed, checks + results, PR URL — Handoff: issue #, branch, worktree path, files changed, checks + results, PR URL —
formatted as the Controller Handoff Summary (SKILL.md §K); end with formatted as the Controller Handoff Summary (SKILL.md §K); end with
+3 -3
View File
@@ -1656,16 +1656,16 @@ class TestTrackerHygieneCleanup(unittest.TestCase):
self.assertEqual(extract_linked_issue_numbers("Closes #123"), [123]) self.assertEqual(extract_linked_issue_numbers("Closes #123"), [123])
self.assertEqual(extract_linked_issue_numbers("Fixes #123"), [123]) self.assertEqual(extract_linked_issue_numbers("Fixes #123"), [123])
self.assertEqual(extract_linked_issue_numbers("Resolves #123"), [123]) self.assertEqual(extract_linked_issue_numbers("Resolves #123"), [123])
# New implements/implemented keywords # New implements/implemented keywords
self.assertEqual(extract_linked_issue_numbers("Implements #123"), [123]) self.assertEqual(extract_linked_issue_numbers("Implements #123"), [123])
self.assertEqual(extract_linked_issue_numbers("implemented #123"), [123]) self.assertEqual(extract_linked_issue_numbers("implemented #123"), [123])
self.assertEqual(extract_linked_issue_numbers("implement #123"), [123]) self.assertEqual(extract_linked_issue_numbers("implement #123"), [123])
# refs / ref should NOT match # refs / ref should NOT match
self.assertEqual(extract_linked_issue_numbers("Refs #123"), []) self.assertEqual(extract_linked_issue_numbers("Refs #123"), [])
self.assertEqual(extract_linked_issue_numbers("ref #123"), []) self.assertEqual(extract_linked_issue_numbers("ref #123"), [])
# branch name fallback # branch name fallback
self.assertEqual(extract_linked_issue_numbers("", branch_name="issue-123"), [123]) self.assertEqual(extract_linked_issue_numbers("", branch_name="issue-123"), [123])
self.assertEqual(extract_linked_issue_numbers("", branch_name="feat/issue-123-foo"), [123]) self.assertEqual(extract_linked_issue_numbers("", branch_name="feat/issue-123-foo"), [123])