From 8d169945435d1a0134b4b05e0f9539a6105846b0 Mon Sep 17 00:00:00 2001 From: coralstay <231006716+coralstay@users.noreply.github.com> Date: Mon, 5 Oct 2026 16:49:38 +0900 Subject: [PATCH 1/6] =?UTF-8?q?[docs][backlog]=20interlock=20=EC=9D=B4?= =?UTF-8?q?=EB=A6=84=20=EB=B3=80=EA=B2=BD=20draft=20=EB=93=B1=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 AI-Tool: claude-code AI-Tool-Version: 2.1.285 Co-Authored-By: Claude Tokens-Used: unavailable (transcript-not-found) Tool-Calls: unavailable (transcript-not-found) Hooks-Commit: a4ccdf9 Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com> --- ...4-\353\260\224\352\276\270\352\270\260.md" | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 "backlog/drafts/draft-22 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" diff --git "a/backlog/drafts/draft-22 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" "b/backlog/drafts/draft-22 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" new file mode 100644 index 0000000..39f4209 --- /dev/null +++ "b/backlog/drafts/draft-22 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" @@ -0,0 +1,21 @@ +--- +id: DRAFT-22 +title: claude-rails 언급을 interlock으로 바꾸기 +status: Draft +assignee: [] +created_date: '2026-10-05 07:49' +labels: + - rename +dependencies: [] +--- + +## Description + + +claude-rails 저장소가 interlock(coralstay/interlock)으로 이름이 바뀐다. 계획: ~/.claude/plans/typed-chasing-conway.md + +수용 기준(승격 시 AC로 등록): +1. .claude-rails.json을 .interlock.json으로 바꾼다 (interlock이 옛 이름도 읽으므로 순서 무관) +2. README·레퍼런스 문서·코드 주석의 claude-rails 이름과 링크를 interlock / coralstay/interlock으로 바꾼다. 완료 태스크·decision 기록은 그대로 둔다 +3. 테스트 게이트 통과 + From 67038876a6204b48efc362601d9ce856805c7693 Mon Sep 17 00:00:00 2001 From: coralstay <231006716+coralstay@users.noreply.github.com> Date: Mon, 5 Oct 2026 16:53:06 +0900 Subject: [PATCH 2/6] =?UTF-8?q?[docs][backlog]=20interlock=20=EC=9D=B4?= =?UTF-8?q?=EB=A6=84=20=EB=B3=80=EA=B2=BD=20draft=EB=A5=BC=20GF-144?= =?UTF-8?q?=EB=A1=9C=20=EC=8A=B9=EA=B2=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Task-Id: GF-144 AI-Tool: claude-code AI-Tool-Version: 2.1.285 Co-Authored-By: Claude Tokens-Used: unavailable (transcript-not-found) Tool-Calls: unavailable (transcript-not-found) Hooks-Commit: 5385ab7 Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com> --- ...4\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename "backlog/drafts/draft-22 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" => "backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" (96%) diff --git "a/backlog/drafts/draft-22 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" "b/backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" similarity index 96% rename from "backlog/drafts/draft-22 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" rename to "backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" index 39f4209..efb6dbe 100644 --- "a/backlog/drafts/draft-22 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" +++ "b/backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" @@ -1,7 +1,7 @@ --- -id: DRAFT-22 +id: GF-144 title: claude-rails 언급을 interlock으로 바꾸기 -status: Draft +status: To Do assignee: [] created_date: '2026-10-05 07:49' labels: From 9e6ba791c90855afb7982346ce3b375d5de3bd5f Mon Sep 17 00:00:00 2001 From: coralstay <231006716+coralstay@users.noreply.github.com> Date: Mon, 5 Oct 2026 17:08:08 +0900 Subject: [PATCH 3/6] =?UTF-8?q?[docs][interlock]=20claude-rails=20?= =?UTF-8?q?=EC=96=B8=EA=B8=89=EC=9D=84=20interlock=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 살아 있는 레퍼런스 문서(backlog/readme.md, doc-20, doc-21)의 claude-rails를 interlock으로 바꿨다. 기록 문서(doc-11·13·19, decision, draft, 다른 태스크)는 당시 이름 그대로 둔다. Co-Authored-By: Claude Opus 5.5 Task-Id: GF-144 AI-Tool: claude-code AI-Tool-Version: 2.1.285 Co-Authored-By: Claude Tokens-Used: unavailable (transcript-not-found) Tool-Calls: unavailable (transcript-not-found) Hooks-Commit: fda4b60 Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com> --- ...240\200\354\236\245\354\206\214-\354\204\244\354\240\225.md" | 2 +- ...265\254\355\230\204\353\217\274-\354\236\210\353\202\230.md" | 2 +- backlog/readme.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git "a/backlog/docs/doc-20 - GitHub-\354\233\220\352\262\251-\352\260\225\354\240\234-\354\204\244\354\240\225-\352\264\200\353\246\254-\342\200\224-rulesets\354\231\200-\354\240\200\354\236\245\354\206\214-\354\204\244\354\240\225.md" "b/backlog/docs/doc-20 - GitHub-\354\233\220\352\262\251-\352\260\225\354\240\234-\354\204\244\354\240\225-\352\264\200\353\246\254-\342\200\224-rulesets\354\231\200-\354\240\200\354\236\245\354\206\214-\354\204\244\354\240\225.md" index 05e8823..6d7aeb1 100644 --- "a/backlog/docs/doc-20 - GitHub-\354\233\220\352\262\251-\352\260\225\354\240\234-\354\204\244\354\240\225-\352\264\200\353\246\254-\342\200\224-rulesets\354\231\200-\354\240\200\354\236\245\354\206\214-\354\204\244\354\240\225.md" +++ "b/backlog/docs/doc-20 - GitHub-\354\233\220\352\262\251-\352\260\225\354\240\234-\354\204\244\354\240\225-\352\264\200\353\246\254-\342\200\224-rulesets\354\231\200-\354\240\200\354\236\245\354\206\214-\354\204\244\354\240\225.md" @@ -58,7 +58,7 @@ decision-24(append-only)는 **로컬 훅만으로 달성할 수 없다.** `--no- | 규칙 | 상태 | 조건 | | --- | --- | --- | | `required_signatures` | 끔 | 현재 이 저장소 커밋은 `%G?`가 `N`으로 나온다. 켜면 자기 push가 막힌다. 서명 설정(ssh-agent에 키 등록 등)을 먼저 정리한 뒤 검토 | -| `pull_request` (PR 필수) | 끔 | 로컬 claude-rails 훅이 이미 main 직접 push를 막고 있다. 이중으로 걸 가치가 있는지 판단 필요 | +| `pull_request` (PR 필수) | 끔 | 로컬 interlock 훅이 이미 main 직접 push를 막고 있다. 이중으로 걸 가치가 있는지 판단 필요 | | `required_status_checks` | 끔 | CI 통과를 병합 조건으로 강제할지. 지금은 사람이 확인하고 병합한다 | | 대상을 `~ALL`로 확대 | 끔 | 현재 `main`만 보호한다. task 브랜치까지 force push를 막으면 "push 후 rebase 금지"가 완전해지지만, 운영 부담을 먼저 판단해야 한다 | diff --git "a/backlog/docs/doc-21 - \352\260\234\353\205\220-\354\247\200\353\217\204-\342\200\224-trail\302\267provenance\302\267attestation\302\267audit\354\235\264-\354\226\264\353\224\224\354\227\220-\352\265\254\355\230\204\353\217\274-\354\236\210\353\202\230.md" "b/backlog/docs/doc-21 - \352\260\234\353\205\220-\354\247\200\353\217\204-\342\200\224-trail\302\267provenance\302\267attestation\302\267audit\354\235\264-\354\226\264\353\224\224\354\227\220-\352\265\254\355\230\204\353\217\274-\354\236\210\353\202\230.md" index a8dd7fa..1cf5191 100644 --- "a/backlog/docs/doc-21 - \352\260\234\353\205\220-\354\247\200\353\217\204-\342\200\224-trail\302\267provenance\302\267attestation\302\267audit\354\235\264-\354\226\264\353\224\224\354\227\220-\352\265\254\355\230\204\353\217\274-\354\236\210\353\202\230.md" +++ "b/backlog/docs/doc-21 - \352\260\234\353\205\220-\354\247\200\353\217\204-\342\200\224-trail\302\267provenance\302\267attestation\302\267audit\354\235\264-\354\226\264\353\224\224\354\227\220-\352\265\254\355\230\204\353\217\274-\354\236\210\353\202\230.md" @@ -37,7 +37,7 @@ git-trail이라는 이전 이름(decision-26)과 설명에 쓰는 네 용어가 **빈 곳** - 로컬에서 cherry-pick·`--amend`·squash를 막지 않는다. `is_replay_commit()`은 면제만 한다. 차단은 DRAFT-18 계획. - 재생·병합 커밋의 기록이 의도와 다르다. revert에는 트레일러가 붙지만, cherry-pick·rebase 중에는 `post-commit`의 amend가 실패해(트레이스백) 붙지 않고, `git merge`는 `post-commit`을 아예 실행하지 않아 붙지 않는다. 의도(merge·revert는 기록, 재생은 면제)는 decision-24, DRAFT-18, GF-128에서 만든다. -- 원격 보호는 이 저장소의 main 브랜치뿐이다. task 브랜치와 태그는 보호되지 않고, main 직접 push도 원격이 막지 않는다(로컬 claude-rails 훅만 막는다, DRAFT-20). 컨슈머 저장소는 각자 설정해야 한다(README, doc-20). +- 원격 보호는 이 저장소의 main 브랜치뿐이다. task 브랜치와 태그는 보호되지 않고, main 직접 push도 원격이 막지 않는다(로컬 interlock 훅만 막는다, DRAFT-20). 컨슈머 저장소는 각자 설정해야 한다(README, doc-20). - 웹 UI 커밋과 PR 머지 버튼으로 만든 머지 커밋은 훅을 거치지 않아 트레일러가 하나도 없다(DRAFT-19). ## provenance — 출처 기록 diff --git a/backlog/readme.md b/backlog/readme.md index 45f2fa1..3650ae0 100644 --- a/backlog/readme.md +++ b/backlog/readme.md @@ -22,4 +22,4 @@ `GF-<번호>` 패턴(`gitformat.taskPrefixDefault`)을 찾아 `Task-Id` 트레일러를 강제로 붙인다 — backlog CLI의 태스크 접두어(`GF`)와 git-format 자신의 훅 기본값이 같은 문자열을 쓰도록 우연이 아니라 의도적으로 맞춰져 있다. 다른 backlog.md -프로젝트(예: claude-rails, 접두어 `task`)를 옮겨 다닐 때 이 점이 헷갈릴 수 있다. +프로젝트(예: interlock, 접두어 `task`)를 옮겨 다닐 때 이 점이 헷갈릴 수 있다. From 6140afbe87a7d63c869fe73bd6db7e439e5e273e Mon Sep 17 00:00:00 2001 From: coralstay <231006716+coralstay@users.noreply.github.com> Date: Mon, 5 Oct 2026 17:08:16 +0900 Subject: [PATCH 4/6] =?UTF-8?q?[docs][backlog]=20GF-144=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Task-Id: GF-144 AI-Tool: claude-code AI-Tool-Version: 2.1.285 Co-Authored-By: Claude Tokens-Used: unavailable (transcript-not-found) Tool-Calls: unavailable (transcript-not-found) Hooks-Commit: 5ebc40c Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com> --- ...\234-\353\260\224\352\276\270\352\270\260.md" | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git "a/backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" "b/backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" index efb6dbe..2c9d9bf 100644 --- "a/backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" +++ "b/backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" @@ -1,9 +1,10 @@ --- id: GF-144 title: claude-rails 언급을 interlock으로 바꾸기 -status: To Do +status: Done assignee: [] created_date: '2026-10-05 07:49' +updated_date: '2026-10-05 08:08' labels: - rename dependencies: [] @@ -19,3 +20,16 @@ claude-rails 저장소가 interlock(coralstay/interlock)으로 이름이 바뀐 2. README·레퍼런스 문서·코드 주석의 claude-rails 이름과 링크를 interlock / coralstay/interlock으로 바꾼다. 완료 태스크·decision 기록은 그대로 둔다 3. 테스트 게이트 통과 + +## Acceptance Criteria + +- [x] #1 .claude-rails.json을 .interlock.json으로 바꾼다 +- [x] #2 README·레퍼런스 문서·코드 주석의 claude-rails 이름과 링크를 interlock / coralstay/interlock으로 바꾼다. 완료 태스크·decision 기록은 그대로 +- [x] #3 테스트 게이트 통과 + + +## Final Summary + + +살아 있는 레퍼런스 문서 backlog/readme.md·doc-20(가이드)·doc-21(개념 지도)의 claude-rails를 interlock으로 바꿨다(9e6ba79). AC#1: 이 저장소에는 .claude-rails.json이 원래 없어(doc-13 참고) 옮길 파일이 없었고, .gitignore에도 .claude-rails/ 항목이 없었다 — 새 .interlock.json은 만들지 않았다. README·hooks·install.sh·CI·tests에는 claude-rails 언급이 없었다. 남긴 것: 기록 문서 doc-11(GF-107 우회 기록)·doc-13(재설계 계획)·doc-19(실측), decision-24, draft-18·20, 다른 태스크 기록. 검증: python3 -m unittest discover -s tests → Ran 106 tests OK, ruff check hooks/ tests/ → All checks passed (bats 스위트는 decision-21로 unittest에 이관돼 없음). + From 4a0f36e697799625e098f6e2e7c68adb88fa7e08 Mon Sep 17 00:00:00 2001 From: coralstay <231006716+coralstay@users.noreply.github.com> Date: Mon, 5 Oct 2026 20:44:35 +0900 Subject: [PATCH 5/6] =?UTF-8?q?[docs][claude-code-agile-hooks]=20=EC=B5=9C?= =?UTF-8?q?=EC=A2=85=20=EC=9D=B4=EB=A6=84=EC=9C=BC=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit interlock 이름을 claude-code-agile-hooks로 확정했다(interlock은 배포된 적 없음). 살아 있는 레퍼런스 문서(backlog/readme.md, doc-20, doc-21)의 interlock을 claude-code-agile-hooks로 바꿨다. 기록 문서는 그대로 둔다. Co-Authored-By: Claude Opus 5.5 Task-Id: GF-144 AI-Tool: claude-code AI-Tool-Version: 2.1.285 Co-Authored-By: Claude Tokens-Used: unavailable (transcript-not-found) Tool-Calls: unavailable (transcript-not-found) Hooks-Commit: 2eb1ad2 Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com> --- ...240\200\354\236\245\354\206\214-\354\204\244\354\240\225.md" | 2 +- ...265\254\355\230\204\353\217\274-\354\236\210\353\202\230.md" | 2 +- backlog/readme.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git "a/backlog/docs/doc-20 - GitHub-\354\233\220\352\262\251-\352\260\225\354\240\234-\354\204\244\354\240\225-\352\264\200\353\246\254-\342\200\224-rulesets\354\231\200-\354\240\200\354\236\245\354\206\214-\354\204\244\354\240\225.md" "b/backlog/docs/doc-20 - GitHub-\354\233\220\352\262\251-\352\260\225\354\240\234-\354\204\244\354\240\225-\352\264\200\353\246\254-\342\200\224-rulesets\354\231\200-\354\240\200\354\236\245\354\206\214-\354\204\244\354\240\225.md" index 6d7aeb1..73c92c5 100644 --- "a/backlog/docs/doc-20 - GitHub-\354\233\220\352\262\251-\352\260\225\354\240\234-\354\204\244\354\240\225-\352\264\200\353\246\254-\342\200\224-rulesets\354\231\200-\354\240\200\354\236\245\354\206\214-\354\204\244\354\240\225.md" +++ "b/backlog/docs/doc-20 - GitHub-\354\233\220\352\262\251-\352\260\225\354\240\234-\354\204\244\354\240\225-\352\264\200\353\246\254-\342\200\224-rulesets\354\231\200-\354\240\200\354\236\245\354\206\214-\354\204\244\354\240\225.md" @@ -58,7 +58,7 @@ decision-24(append-only)는 **로컬 훅만으로 달성할 수 없다.** `--no- | 규칙 | 상태 | 조건 | | --- | --- | --- | | `required_signatures` | 끔 | 현재 이 저장소 커밋은 `%G?`가 `N`으로 나온다. 켜면 자기 push가 막힌다. 서명 설정(ssh-agent에 키 등록 등)을 먼저 정리한 뒤 검토 | -| `pull_request` (PR 필수) | 끔 | 로컬 interlock 훅이 이미 main 직접 push를 막고 있다. 이중으로 걸 가치가 있는지 판단 필요 | +| `pull_request` (PR 필수) | 끔 | 로컬 claude-code-agile-hooks 훅이 이미 main 직접 push를 막고 있다. 이중으로 걸 가치가 있는지 판단 필요 | | `required_status_checks` | 끔 | CI 통과를 병합 조건으로 강제할지. 지금은 사람이 확인하고 병합한다 | | 대상을 `~ALL`로 확대 | 끔 | 현재 `main`만 보호한다. task 브랜치까지 force push를 막으면 "push 후 rebase 금지"가 완전해지지만, 운영 부담을 먼저 판단해야 한다 | diff --git "a/backlog/docs/doc-21 - \352\260\234\353\205\220-\354\247\200\353\217\204-\342\200\224-trail\302\267provenance\302\267attestation\302\267audit\354\235\264-\354\226\264\353\224\224\354\227\220-\352\265\254\355\230\204\353\217\274-\354\236\210\353\202\230.md" "b/backlog/docs/doc-21 - \352\260\234\353\205\220-\354\247\200\353\217\204-\342\200\224-trail\302\267provenance\302\267attestation\302\267audit\354\235\264-\354\226\264\353\224\224\354\227\220-\352\265\254\355\230\204\353\217\274-\354\236\210\353\202\230.md" index 1cf5191..68a85b5 100644 --- "a/backlog/docs/doc-21 - \352\260\234\353\205\220-\354\247\200\353\217\204-\342\200\224-trail\302\267provenance\302\267attestation\302\267audit\354\235\264-\354\226\264\353\224\224\354\227\220-\352\265\254\355\230\204\353\217\274-\354\236\210\353\202\230.md" +++ "b/backlog/docs/doc-21 - \352\260\234\353\205\220-\354\247\200\353\217\204-\342\200\224-trail\302\267provenance\302\267attestation\302\267audit\354\235\264-\354\226\264\353\224\224\354\227\220-\352\265\254\355\230\204\353\217\274-\354\236\210\353\202\230.md" @@ -37,7 +37,7 @@ git-trail이라는 이전 이름(decision-26)과 설명에 쓰는 네 용어가 **빈 곳** - 로컬에서 cherry-pick·`--amend`·squash를 막지 않는다. `is_replay_commit()`은 면제만 한다. 차단은 DRAFT-18 계획. - 재생·병합 커밋의 기록이 의도와 다르다. revert에는 트레일러가 붙지만, cherry-pick·rebase 중에는 `post-commit`의 amend가 실패해(트레이스백) 붙지 않고, `git merge`는 `post-commit`을 아예 실행하지 않아 붙지 않는다. 의도(merge·revert는 기록, 재생은 면제)는 decision-24, DRAFT-18, GF-128에서 만든다. -- 원격 보호는 이 저장소의 main 브랜치뿐이다. task 브랜치와 태그는 보호되지 않고, main 직접 push도 원격이 막지 않는다(로컬 interlock 훅만 막는다, DRAFT-20). 컨슈머 저장소는 각자 설정해야 한다(README, doc-20). +- 원격 보호는 이 저장소의 main 브랜치뿐이다. task 브랜치와 태그는 보호되지 않고, main 직접 push도 원격이 막지 않는다(로컬 claude-code-agile-hooks 훅만 막는다, DRAFT-20). 컨슈머 저장소는 각자 설정해야 한다(README, doc-20). - 웹 UI 커밋과 PR 머지 버튼으로 만든 머지 커밋은 훅을 거치지 않아 트레일러가 하나도 없다(DRAFT-19). ## provenance — 출처 기록 diff --git a/backlog/readme.md b/backlog/readme.md index 3650ae0..c3c6cb4 100644 --- a/backlog/readme.md +++ b/backlog/readme.md @@ -22,4 +22,4 @@ `GF-<번호>` 패턴(`gitformat.taskPrefixDefault`)을 찾아 `Task-Id` 트레일러를 강제로 붙인다 — backlog CLI의 태스크 접두어(`GF`)와 git-format 자신의 훅 기본값이 같은 문자열을 쓰도록 우연이 아니라 의도적으로 맞춰져 있다. 다른 backlog.md -프로젝트(예: interlock, 접두어 `task`)를 옮겨 다닐 때 이 점이 헷갈릴 수 있다. +프로젝트(예: claude-code-agile-hooks, 접두어 `task`)를 옮겨 다닐 때 이 점이 헷갈릴 수 있다. From 273fa6b04570b8a63025806211da75fd171a39f0 Mon Sep 17 00:00:00 2001 From: coralstay <231006716+coralstay@users.noreply.github.com> Date: Mon, 5 Oct 2026 20:44:54 +0900 Subject: [PATCH 6/6] =?UTF-8?q?[docs][backlog]=20GF-144=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C=20=EC=B2=98=EB=A6=AC(=EC=B5=9C=EC=A2=85=20=EC=9D=B4?= =?UTF-8?q?=EB=A6=84=20=EB=B0=98=EC=98=81)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 태스크 제목·설명·AC·final summary를 claude-code-agile-hooks 기준으로 고쳐 쓰고 Done으로 옮겼다. 태스크 파일명도 새 제목에 맞췄다. Co-Authored-By: Claude Opus 5.5 Task-Id: GF-144 AI-Tool: claude-code AI-Tool-Version: 2.1.285 Co-Authored-By: Claude Tokens-Used: unavailable (transcript-not-found) Tool-Calls: unavailable (transcript-not-found) Hooks-Commit: 280cb28 Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com> --- ...4-\353\260\224\352\276\270\352\270\260.md" | 35 +++++++++++++++++++ ...4-\353\260\224\352\276\270\352\270\260.md" | 35 ------------------- 2 files changed, 35 insertions(+), 35 deletions(-) create mode 100644 "backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-claude-code-agile-hooks\353\241\234-\353\260\224\352\276\270\352\270\260.md" delete mode 100644 "backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" diff --git "a/backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-claude-code-agile-hooks\353\241\234-\353\260\224\352\276\270\352\270\260.md" "b/backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-claude-code-agile-hooks\353\241\234-\353\260\224\352\276\270\352\270\260.md" new file mode 100644 index 0000000..37918d7 --- /dev/null +++ "b/backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-claude-code-agile-hooks\353\241\234-\353\260\224\352\276\270\352\270\260.md" @@ -0,0 +1,35 @@ +--- +id: GF-144 +title: claude-rails 언급을 claude-code-agile-hooks로 바꾸기 +status: Done +assignee: [] +created_date: '2026-10-05 07:49' +updated_date: '2026-10-05 11:44' +labels: + - rename +dependencies: [] +--- + +## Description + + +claude-rails 저장소의 이름이 claude-code-agile-hooks(coralstay/claude-code-agile-hooks)로 바뀐다. 계획: ~/.claude/plans/typed-chasing-conway.md + +수용 기준(승격 시 AC로 등록): +1. .claude-rails.json을 .claude-code-agile-hooks.json으로 바꾼다 (claude-code-agile-hooks가 이 파일을 먼저 읽고 옛 이름으로 fallback하므로 순서 무관) +2. README·레퍼런스 문서·코드 주석의 claude-rails 이름과 링크를 claude-code-agile-hooks / coralstay/claude-code-agile-hooks로 바꾼다. 완료 태스크·decision 기록은 그대로 둔다 +3. 테스트 게이트 통과 + + +## Acceptance Criteria + +- [x] #1 .claude-rails.json을 .claude-code-agile-hooks.json으로 바꾼다 +- [x] #2 README·레퍼런스 문서·코드 주석의 claude-rails 이름과 링크를 claude-code-agile-hooks / coralstay/claude-code-agile-hooks로 바꾼다. 완료 태스크·decision 기록은 그대로 +- [x] #3 테스트 게이트 통과 + + +## Final Summary + + +claude-rails를 claude-code-agile-hooks(coralstay/claude-code-agile-hooks)로 바꿨다. 배포된 적 없는 중간 이름을 거쳤으나 그 흔적은 모두 지웠다. 살아 있는 레퍼런스 문서 backlog/readme.md·doc-20(가이드)·doc-21(개념 지도)의 claude-rails를 claude-code-agile-hooks로 바꿨다(9e6ba79, 4a0f36e). AC#1: 이 저장소에는 .claude-rails.json이 원래 없어(doc-13 참고) 옮길 파일이 없었고, .gitignore에도 로그 디렉토리 항목이 없었다 — 새 .claude-code-agile-hooks.json은 만들지 않았다. README·hooks·install.sh·CI·tests에는 claude-rails 언급이 없었다. 남긴 것: 기록 문서 doc-11(GF-107 우회 기록)·doc-13(재설계 계획)·doc-19(실측), decision-24, draft-18·20, 다른 태스크 기록. 검증: python3 -m unittest discover -s tests → Ran 106 tests OK, ruff check hooks/ tests/ → All checks passed (bats 스위트는 decision-21로 unittest에 이관돼 없음). + diff --git "a/backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" "b/backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" deleted file mode 100644 index 2c9d9bf..0000000 --- "a/backlog/tasks/gf-144 - claude-rails-\354\226\270\352\270\211\354\235\204-interlock\354\234\274\353\241\234-\353\260\224\352\276\270\352\270\260.md" +++ /dev/null @@ -1,35 +0,0 @@ ---- -id: GF-144 -title: claude-rails 언급을 interlock으로 바꾸기 -status: Done -assignee: [] -created_date: '2026-10-05 07:49' -updated_date: '2026-10-05 08:08' -labels: - - rename -dependencies: [] ---- - -## Description - - -claude-rails 저장소가 interlock(coralstay/interlock)으로 이름이 바뀐다. 계획: ~/.claude/plans/typed-chasing-conway.md - -수용 기준(승격 시 AC로 등록): -1. .claude-rails.json을 .interlock.json으로 바꾼다 (interlock이 옛 이름도 읽으므로 순서 무관) -2. README·레퍼런스 문서·코드 주석의 claude-rails 이름과 링크를 interlock / coralstay/interlock으로 바꾼다. 완료 태스크·decision 기록은 그대로 둔다 -3. 테스트 게이트 통과 - - -## Acceptance Criteria - -- [x] #1 .claude-rails.json을 .interlock.json으로 바꾼다 -- [x] #2 README·레퍼런스 문서·코드 주석의 claude-rails 이름과 링크를 interlock / coralstay/interlock으로 바꾼다. 완료 태스크·decision 기록은 그대로 -- [x] #3 테스트 게이트 통과 - - -## Final Summary - - -살아 있는 레퍼런스 문서 backlog/readme.md·doc-20(가이드)·doc-21(개념 지도)의 claude-rails를 interlock으로 바꿨다(9e6ba79). AC#1: 이 저장소에는 .claude-rails.json이 원래 없어(doc-13 참고) 옮길 파일이 없었고, .gitignore에도 .claude-rails/ 항목이 없었다 — 새 .interlock.json은 만들지 않았다. README·hooks·install.sh·CI·tests에는 claude-rails 언급이 없었다. 남긴 것: 기록 문서 doc-11(GF-107 우회 기록)·doc-13(재설계 계획)·doc-19(실측), decision-24, draft-18·20, 다른 태스크 기록. 검증: python3 -m unittest discover -s tests → Ran 106 tests OK, ruff check hooks/ tests/ → All checks passed (bats 스위트는 decision-21로 unittest에 이관돼 없음). -