| name | gt-workspace-cleanup |
| description | Archive exact cleanup candidates from a game-translation workspace, fully re-review and report them, then move separately approved files only to the recoverable operating-system Trash. Use when reconciling title folders, unscoped root artifacts, stale sessions, or workspace storage growth. |
gt-workspace-cleanup โ ์์
์ฅ ๋ฃจํธ ์ ๋ฆฌ
์์
์ฅ ๋ฃจํธ์ ํ์ดํ ์ปจํ
์ด๋ยท๊ณต์ฉ ๋๊ตฌยท๋ฏธ๋ฑ๋ก ์ฐ์ถ๋ฌผยท์ธ์
์์ฌ๋ฅผ ์กฐ์ฌํ๋ค. ์ ๋ฆฌ๋
๊ณํ โ ์์
์ฅ ๋ฐ ์์นด์ด๋ธ ์ด๋ โ ์ ์ฒด ์ฌ๊ฒํ ยท์ฌ์ฉ์ ์์ธ ๋ณด๊ณ โ ์ดํ ๋ณ๋ ์น์ธ์ ๋ฐ๋ฅธ ์ด์์ฒด์ ํด์งํต ์ด๋ ์์๋ก๋ง ์ํํ๋ค. ์๋ ์์น๋ ์์นด์ด๋ธ์ ํ์ผ์ ์๊ตฌ ์ญ์ ํ์ง ์๋๋ค.
ํ์ ์
๋ ฅ๊ณผ ์ฐจ๋จ ์กฐ๊ฑด
- ์์
์ฅ ๋ฃจํธ์ literal ์ ๋ ๊ฒฝ๋ก
- ๊ฐ ํ๋ก์ ํธ์
PROJECT.md, WORK_LOG.md, HANDOFF.md, canonical manifest
- ๊ฐ ํ๋ก์ ํธ์
90_tools/PROJECT_ARTIFACT_MANIFEST.tsv์ artifact-layout-contract.md
50_test/eden/SESSION.json๊ณผ ARTIFACT_MANIFEST.tsv, remote ์ธ์
์ํ
- active ํ๋ก์ธ์ค์
git status
$GT_HOME/common/SAFETY.md, project-structure.md, cleanup-contract.md
๋ฃจํธ ๊ฒฝ๊ณ์ _title/_titles ์ปจํ
์ด๋๋ฅผ ํ์ ํ์ง ๋ชปํ๊ฑฐ๋ ๊ณํยท๋ณด๊ณ ์ยท์์นด์ด๋ธ๋ฅผ
์์
์ฅ ๋ฐ์ ๋ ์ ์์ผ๋ฉด ์ด๋ํ์ง ๋ง๊ณ BLOCKED ์ง์์๋ง ๋ง๋ ๋ค.
1. ๊ณํ ์์ฑ
-
๋ฃจํธ ์ง๊ณ ํญ๋ชฉ๊ณผ ๋ชจ๋ _work ํ๋ก์ ํธ๋ฅผ inventoryํ๋ค. ๋น์ ๊ท ๋ฃจํธ ํด๋ยท๋ณต์ฌ๋ณธยท
์ธ์
์์ฌ๋ ์ด๋ฆ๋ง์ผ๋ก ํ์ ํ์ง ์๋๋ค.
-
๋ชจ๋ Handoff์ open evidence์ PROJECT/WORK_LOG/manifest/QA/๋ฆด๋ฆฌ์ค ์ฐธ์กฐ๋ฅผ ๋ณด์กด
anchor๋ก ์์งํ๋ค. project artifact manifest์ canonicalยทevidence๋ฅผ ๋ณด์กดํ๊ณ ,
reproducibleยทdisposable๊ณผ ๋ฏธ๋ฑ๋ก managed-root ํ์ผ์ ํ๋ก์ ํธ cleanup์ผ๋ก ์ธ๊ณํ๋ค.
-
active/pending/์์ ๊ถ ๋ถ๋ช
์ธ์
๊ณผ link/reparse point๋ BLOCKED๋ก ๋๋ค. ํ์ผ๋ง exact
ํ๋ณด๋ก ๋ง๋ค๋ฉฐ ๋๋ ํฐ๋ฆฌ๋ child-level ๊ณํ ์์ด๋ ์น์ธํ์ง ์๋๋ค.
-
๋ค์ ๋ช
๋ น์ผ๋ก ์์
์ฅ ๋ฐ์ ๊ณํ๊ณผ ์ง์์๋ฅผ ๋ง๋ ๋ค.
npm run workspace:cleanup -- --workspace-root "<๋ฃจํธ>" --report "<์ธ๋ถ ๋ณด๊ณ ์ ๊ฒฝ๋ก>"
๊ธฐ๋ณธ ์คํ์ ์ธ๋ถ CLEANUP_PLAN.json๊ณผ CLEANUP_INSTRUCTIONS.md๋ฅผ ๋ง๋ค ๋ฟ ์ด๋ยท
์ญ์ ํ์ง ์์ผ๋ฉฐ ๋ชจ๋ ํ๋ณด๋ approved=false๋ค.
2. ์น์ธ ํ๋ณด ์์นด์ด๋ธ
์ฌ์ฉ์๊ฐ ์ ๋ฆฌ ๋ฒ์๋ฅผ ์น์ธํ๋ฉด exact ํ์ผ๋ง approved=true๋ก ๋ฐ๊พธ๊ณ ํ์ฌ plan SHA-256์
์ฌ์ฉํ๋ค.
npm run workspace:cleanup -- --workspace-root "<๋ฃจํธ>" --plan "<์ธ๋ถ CLEANUP_PLAN.json>" --apply --plan-sha256 "<SHA-256>"
--apply๋ ๊ณํ ํ์ผ ์ workspace-cleanup-archive/<transaction>/files/๋ก ํ์ผ์ ์ฎ๊ธด๋ค.
์๋ณธยท์ฌ๋ณธ SHA-256๊ณผ ํฌ๊ธฐ๋ฅผ ํ์ธํ ๋ค์๋ง ์๋ ์์น์์ ์ด๋ ์ฒ๋ฆฌํ๋ฉฐ ์๊ตฌ ์ญ์ ํ์ง
์๋๋ค. ๋ค์ ํ์ผ์ ์์
์ฅ ๋ฐ transaction์ ์์ฑํ๋ค.
ARCHIVE_MANIFEST.json: ์๋ ๊ฒฝ๋ก, ์์นด์ด๋ธ ๊ฒฝ๋ก, ํฌ๊ธฐ, SHA-256
CLEANUP_ARCHIVE_REVIEW.md: ๋ชจ๋ ํ๋ก์ ํธยทHandoffยท์ธ์
ยทTitle IDยท๋จ์ ๋ฃจํธ ํ๋ณด์
์์นด์ด๋ธ ๋ฌด๊ฒฐ์ฑ์ ๋ค์ ์กฐ์ฌํ ์์ธ ๋ณด๊ณ ์
TRASH_PLAN.json: ํด์งํต ์ด๋์ฉ ๋ณ๋ ๊ณํ. ๋ชจ๋ ์น์ธ ํ๋๋ ๊ธฐ๋ณธ false
3. ์ ์ฒด ์ฌ๊ฒํ ์ ์ฌ์ฉ์ ์์ธ ๋ณด๊ณ
์์นด์ด๋ธ ํ ์์
์ฅ ์ ์ฒด๋ฅผ ๋ค์ inventoryํ๊ณ ๊ฐ ํ๋ก์ ํธ ๋ฌธ์ ํด์, Handoff ์ํ,
active/pending ์ธ์
, ์ค๋ณต Title ID, ๋จ์ ํ๋ณด, ์๋ ์์น ๋ถ์ฌ, ๋ชจ๋ ์์นด์ด๋ธ ํ์ผ์
ํฌ๊ธฐยทSHA-256์ ์ ์ ํ์ธํ๋ค. ์ํ๊ฐ ๋ฐ๋๋ฉด ๋ค์ ๋ช
๋ น์ผ๋ก ๋ค์ ๊ฒํ ํ๋ค.
npm run workspace:cleanup -- --workspace-root "<๋ฃจํธ>" --review-archive --archive-manifest "<ARCHIVE_MANIFEST.json>" --archive-manifest-sha256 "<SHA-256>"
์ฌ๊ฒํ ๋ ์์ธ ๋ณด๊ณ ์์ trash plan์ ๋ค์ ๋ง๋ค๊ณ ๋ชจ๋ ํด์งํต ์ด๋ ์น์ธ์ ์ด๊ธฐํํ๋ค. ํ์ผ๋ณ
์๋/์์นด์ด๋ธ ๊ฒฝ๋กยทํฌ๊ธฐยทํด์, ๊ตฌ์กฐ ๋ฌธ์ , ์ฐจ๋จ ํญ๋ชฉ, ๋จ์ ํ๋ณด, ๋ณต์ ๋ฐฉ๋ฒ์ ์ฌ์ฉ์์๊ฒ
์์ธํ ๋ณด๊ณ ํ ๋ค ํ์ฌ turn์ ์ข
๋ฃํ๋ค. ๊ฐ์ ์ฌ์ฉ์ ์์ฒญ/turn์์ ์์นด์ด๋ธ์ ํด์งํต ์ด๋์
์ฐ์ ์คํํ์ง ์๋๋ค.
4. ๋ณ๋ ์น์ธ ํ ํด์งํต ์ด๋
์ฌ์ฉ์๊ฐ ์์ธ ๋ณด๊ณ ๋ฅผ ๋ฐ์ ๋ค ์๋ก์ด ๋ช
์์ ์์ฒญ์ผ๋ก ์์นด์ด๋ธ ์ญ์ ๋ฅผ ์น์ธํ ๊ฒฝ์ฐ์๋ง
์งํํ๋ค. ์ฌ๊ธฐ์ ์ญ์ ๋ ๋ณต๊ตฌ ๊ฐ๋ฅํ ์ด์์ฒด์ ํด์งํต ์ด๋๋ง ๋ปํ๋ค. TRASH_PLAN.json์
review_reported_to_user=true, user_trash_approval=true, ๋ชจ๋ exact ํญ๋ชฉ์
approved=true๋ฅผ ๊ธฐ๋กํ๊ณ ํ์ฌ ํด์๋ก
๋ค์์ ์คํํ๋ค.
npm run workspace:cleanup -- --workspace-root "<๋ฃจํธ>" --trash --trash-plan "<TRASH_PLAN.json>" --trash-plan-sha256 "<SHA-256>" --user-confirmed-trash
์ง์ Remove-Item, rm, glob, ์ฌ๊ท ์ญ์ ๋ ์๊ตฌ ์ญ์ API๋ก ์ฐํํ์ง ์๋๋ค. --trash๋
์น์ธ๋ ์ธ๋ถ ์์นด์ด๋ธ exact ํ์ผ๋ง Windows ํด์งํต, macOS ํด์งํต ๋๋ Linux GIO ํด์งํต์ผ๋ก
๋ณด๋ธ๋ค. ํด์งํต์ด ์ง์๋์ง ์๊ฑฐ๋ ๋์์ ์คํจํ๋ฉด ํ์ผ์ ๋ณด์กดํ๊ณ BLOCKED๋ก ์ค๋จํ๋ฉฐ
์๊ตฌ ์ญ์ ๋ก ํด๋ฐฑํ์ง ์๋๋ค. ๋ณด๊ณ ์ดํ ์์
์ฅ ์ํยท๋ฌธ์ยท์์นด์ด๋ธ ํด์๊ฐ ๋ฐ๋๋ฉด ์ด๋์
๊ฑฐ๋ถํ๊ณ ์ ์ฒด ์ฌ๊ฒํ ์ ์ฌ์ฉ์ ๋ณด๊ณ ๋ถํฐ ๋ค์ ์ํํ๋ค. ์๋ฃ ํ TRASH_RECEIPT.json์
backendยท์๋ ์์นด์ด๋ธ ๊ฒฝ๋กยท๋ณต๊ตฌ ์ง์นจ๊ณผ root/project ์ฌinventory ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ๋ค. ์์
--purge์ DELETE_PLAN.json์ ํธํ ์
๋ ฅ์ผ ๋ฟ์ด๋ฉฐ ์คํ ๊ฒฐ๊ณผ๋ ๋์ผํ ํด์งํต ์ด๋์ด๋ค.
์๋ฃ ๊ธฐ์ค
์ ๋ฆฌ ๊ณํยท์์นด์ด๋ธยท์ญ์ ๋ ํ๋ก์ ํธ ์๋ฃ๋ ๋ฆด๋ฆฌ์ค PASS๋ฅผ ์๋ฏธํ์ง ์๋๋ค.