diff --git a/CHANGELOG.md b/CHANGELOG.md index 61d3bff9..59bcf620 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,3 @@ ---- -tags: - - project - - ai - - obsidian -created: 2026-06-02 -modified: 2026-09-13 ---- - # Changelog `* + +- 2026-10-05 외부 리뷰 엔진은 실행하지 않았다 — 제거·문서 정리이고 제품 동작 변화는 init의 gitignore 항목 하나뿐이다(Done evidence `review: optional`). + +## Learnings +- 개인 도구의 규칙 파일이 팀 저장소에 있으면, 저장소가 그 도구의 설정 저장소 역할까지 떠안는다. 개인 설정은 홈 디렉터리에 둔다. +- 2026-10-05 보완: `commands/harness-init.md`는 태그에 `obsidian`이 없어(`react`·`project`·`ai`) 첫 검색(`^ - obsidian$`)에서 빠졌다. + 같은 Obsidian 메타데이터라 함께 제거했다(총 33파일). 검색 기준은 태그 값이 아니라 `tags:`·`created:`·`modified:` 키여야 했다. diff --git a/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-context.md b/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-context.md new file mode 100644 index 00000000..678000b6 --- /dev/null +++ b/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-context.md @@ -0,0 +1,23 @@ +# remove-personal-tool-refs — Context Card + + +## Now +- Goal: 개인 도구 흔적 6건을 팀 하네스의 살아 있는 표면에서 제거 +- Current atomic step: 커밋 · PR +- Stop / human-decision condition: PR 머지는 사람 + +## Constraints and settled decisions +- 이력 표면(CHANGELOG·what-changes·기존 task 문서)은 고치지 않는다 +- AO 규칙 파일은 `~/.ao/`로 이동(삭제 아님) + +## JIT retrieval map +- Identifiers / symbols: `AI_GITIGNORE_ENTRIES` +- Narrow globs: `docs/index.html`, `commands/*.md` +- Read next: spec 성공 기준 grep +- Verification command: `npm run test && npm run docs:check` + +## Failure capsules (max 3 unresolved) +- (none) + +## Resume checklist +- spec의 성공 기준 grep 두 개가 0건인지 확인 diff --git a/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-handoff.md b/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-handoff.md new file mode 100644 index 00000000..c7d2d256 --- /dev/null +++ b/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-handoff.md @@ -0,0 +1,65 @@ +# remove-personal-tool-refs — Handoff + +(세션 종료 시 post-commit hook이 자동 갱신합니다) + +## 2026-10-05T07:14:35.759Z — 785aa3f chore: 개인 도구 흔적을 팀 하네스에서 제거한다 +CHANGELOG.md | 16 +- + MAINTAINING.md | 9 - + README.md | 10 - + commands/harness-clone.md | 6 - + commands/harness-comptest.md | 6 - + commands/harness-contrarian.md | 6 - + commands/harness-delete.md | 6 - + commands/harness-doctor.md | 6 - + commands/harness-interview.md | 6 - + commands/harness-inttest.md | 6 - + commands/harness-migrate.md | 6 - + commands/harness-release.md | 6 - + commands/harness-retro.md | 6 - + commands/harness-ship.md | 1 - + commands/harness-sim.md | 6 - + commands/harness-simplifier.md | 6 - + commands/harness-spec.md | 6 - + commands/harness-symlink.md | 6 - + commands/harness-sync.md | 6 - + commands/harness-task.md | 6 - + commands/harness-unittest.md | 6 - + commands/harness-upgrade.md | 6 - + docs/ao-worker-rules.md | 99 --- + docs/followups.md | 3 - + docs/harness-fleet-guide.html | 693 --------------------- + docs/harness-task-guide.html | 2 +- + .../remove-personal-tool-refs-artifact.md | 19 + + .../remove-personal-tool-refs-context.md | 23 + + .../remove-personal-tool-refs-handoff.md | 3 + + .../remove-personal-tool-refs-meta.json | 11 + + .../remove-personal-tool-refs-plan.md | 22 + + .../remove-personal-tool-refs-spec.md | 63 ++ + docs/index.html | 14 - + docs/prerequisites.md | 12 +- + .../plans/2026-04-23-backup-scripts-as-commands.md | 9 - + .../plans/2026-04-27-symlink-migration-support.md | 9 - + .../2026-05-28-charness-benchmark-improvements.md | 9 - + .../plans/2026-05-28-consolidated-0.7.0.md | 9 - + .../2026-05-28-ouroboros-inspired-spec-first.md | 9 - + .../plans/2026-05-28-release-sync-automation.md | 9 - + .../plans/2026-05-29-0.8.0-improvements.md | 9 - + ...2026-04-23-backup-scripts-as-commands-design.md | 9 - + .../2026-06-02-stack-declaration-gate-design.md | 9 - + src/harness.mjs | 2 - + templates/docs/README.md | 9 - + 45 files changed, 150 insertions(+), 1050 deletions(-) + +## 2026-10-05T07:15:01.150Z — 44586c4 chore(task): remove-personal-tool-refs plan·handoff 갱신 (PR #120) +.../remove-personal-tool-refs-handoff.md | 48 ++++++++++++++++++++++ + .../remove-personal-tool-refs-plan.md | 2 +- + 2 files changed, 49 insertions(+), 1 deletion(-) + +## 2026-10-05T08:24:05.752Z — 3aa41f4 chore: harness-init 명령의 Obsidian frontmatter도 제거한다 +CHANGELOG.md | 2 +- + commands/harness-init.md | 6 ------ + .../remove-personal-tool-refs/remove-personal-tool-refs-artifact.md | 2 ++ + .../remove-personal-tool-refs/remove-personal-tool-refs-handoff.md | 5 +++++ + .../remove-personal-tool-refs/remove-personal-tool-refs-plan.md | 2 +- + .../remove-personal-tool-refs/remove-personal-tool-refs-spec.md | 2 +- + 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-meta.json b/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-meta.json new file mode 100644 index 00000000..bbda1c9d --- /dev/null +++ b/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-meta.json @@ -0,0 +1,11 @@ +{ + "user": "hslee", + "task": "remove-personal-tool-refs", + "created": "2026-10-05", + "firstActivatedAt": "2026-10-05T07:13:17.749Z", + "status": "open", + "closedAt": null, + "forcedAt": null, + "forcedIssues": null, + "reviews": [] +} diff --git a/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-plan.md b/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-plan.md new file mode 100644 index 00000000..96c51730 --- /dev/null +++ b/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-plan.md @@ -0,0 +1,22 @@ +# remove-personal-tool-refs — Plan + +## 목표 +개인 도구(AO, Orca·firstmate)와 개인 환경 흔적을 팀 하네스의 살아 있는 표면에서 걷어 낸다. + +## 단계 +- [x] AO 규칙 파일을 `~/.ao/ao-worker-rules.md`로 옮기고 저장소에서 제거, 참조 정리(index·prerequisites) +- [x] Orca fleet 가이드 제거, 참조 정리(README·index·task-guide) +- [x] Obsidian frontmatter 키 제거(33파일) +- [x] `oh-my-openagent.json` gitignore 항목 제거 +- [x] `codex-shipcheck` 예시 줄 제거 +- [x] followups의 개인 스킬 경로 문단 제거 +- [x] 검증: grep 0건 · `npm run test` · `npm run docs:check` +- [x] 커밋 · PR (#120) + +## Ontology 변경 로그 +*개념이 새로 정의되거나 의미가 바뀌면 한 줄로 기록. spec.md의 Ontology 섹션을 갱신할 트리거가 된다.* + +- 2026-10-05 "개인 도구 흔적"·"이력 표면" 정의 추가(spec Ontology). + +## 참고 +- 머지 후 종결(`done`·`summary --write`)은 기본 브랜치 몫이다. diff --git a/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-spec.md b/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-spec.md new file mode 100644 index 00000000..a5a802a9 --- /dev/null +++ b/docs/hslee/remove-personal-tool-refs/remove-personal-tool-refs-spec.md @@ -0,0 +1,63 @@ +# remove-personal-tool-refs — Spec + +## 목적 / 요구사항 +*문제(오늘 무엇이 안 되는가) → 영향받는 사용자·시스템 → 기대 결과 → 제약 순으로 쓴다. +답 없는 질문은 요구가 아니다 — `## 참고` 절에 `- (open) …`으로 남긴다.* + +- **문제**: 메인테이너가 개인적으로 쓰는 도구(AO, Orca·firstmate)의 규칙·가이드와 개인 환경 흔적(Obsidian 볼트 frontmatter, + 개인 스킬 이름, D7 이후 남은 OpenCode 항목)이 팀 하네스 저장소에 들어 있다. 소비자 프로젝트로 설치되지는 않지만, + 플러그인 캐시로 팀원에게 복사되고 README·docs 색인에서 팀 문서처럼 보인다. +- **영향**: 플러그인을 설치한 팀원(캐시·문서), 소비자 프로젝트(`templates/docs/README.md` frontmatter, init이 쓰는 gitignore 항목). +- **기대 결과**: 살아 있는 표면에서 위 흔적이 사라진다. 이력(CHANGELOG, what-changes 스냅샷, 기존 task 문서)은 그대로 둔다. +- **제약**: AO 규칙 파일은 지우지 않고 `~/.ao/ao-worker-rules.md`로 옮긴다(메인테이너 개인 설정이 계속 쓸 수 있도록). + 명령 파일 frontmatter의 Claude Code 키(`description`·`phase`·`argument-hint`)는 보존한다. + +## 설계 / 접근 +2026-10-05 메인테이너 결정 6건을 그대로 적용한다. +1. `docs/ao-worker-rules.md` → `~/.ao/ao-worker-rules.md`로 복사 후 저장소에서 제거. 참조(`docs/index.html` 2곳, `docs/prerequisites.md`) 정리. +2. `docs/harness-fleet-guide.html`(Orca·firstmate 크루 가이드) 제거. 참조(README 문서 표, `docs/index.html` 크루 운용 경로·Guides, `docs/harness-task-guide.html`) 정리. +3. Obsidian frontmatter 키 `tags`·`created`·`modified` 제거(33파일). 블록이 비면 블록째 제거. +4. `src/harness.mjs` `AI_GITIGNORE_ENTRIES`의 `oh-my-openagent.json` 제거(D7 잔재). +5. `commands/harness-ship.md` 보고 예시의 `codex-shipcheck` 줄 제거. +6. `docs/followups.md`의 개인 스킬(`delegation-router`) 경로 문단 제거. +- superpowers는 "설치돼 있으면 쓴다"는 현재 문구를 유지한다(결정 2). + +## Ontology +*이 task가 다루는 핵심 개념의 정의. "X가 정확히 뭔가?"에 답한다.* + +- **개인 도구 흔적**: 메인테이너 한 사람의 도구·환경에만 의미가 있는 규칙·가이드·메타데이터. 팀 하네스의 사이클(S0–S8)이나 가로축 어디에도 봉사하지 않는다. +- **이력 표면**: CHANGELOG·what-changes 버전 스냅샷·기존 task 문서. 당시 사실의 기록이라 고치지 않는다. + +## Ambiguity 자가진단 +*각 항목이 명확하면 체크. 3개 이상 미체크면 구현 진입 금지 — 인터뷰/브레인스토밍으로 복귀해 +모호성을 제거한다. 게이트를 통과하면 그 근거를 위 Ontology 섹션에 한 줄로 남긴다.* + +- [x] **Goal 명확도** (40%) — 목표가 한 문장으로 구체화되었는가? +- [x] **Constraint 명확도** (30%) — 기술/시간/범위 제약이 명시되었는가? +- [x] **Success 기준** (30%) — 완료를 어떻게 측정하는가? +- [x] **Context 명확도** (brownfield 한정) — 영향 받는 기존 코드/파일을 식별했는가? +- [x] **Ambiguity ≤ 0.2** — 위 항목 가중합 ≥ 0.8 + +근거: 대상 6건과 파일이 메인테이너 결정으로 확정됐고, 성공 기준은 아래 grep 0건 + `npm test`·`docs:check` 통과다. + + +## Done evidence +```json +{ "version": 1, "review": "optional", "tests": "skip" } +``` +`tests: skip` 사유: 소스 변경은 gitignore 상수에서 죽은 항목 하나를 지운 것뿐이고, 기존 테스트가 그 항목을 참조하지 않는다. 회귀는 전체 `npm test`로 확인한다. + +성공 기준(재현 명령): +- `git grep -n -i "ao-worker\|fleet-guide\|oh-my-openagent\|codex-shipcheck\|delegation-router" -- . ':!docs/*/*/*' ':!CHANGELOG.md' ':!docs/what-changes-*'` → 0건 +- `git grep -l -E '^(tags|created|modified):' -- . ':!docs/*/*/*'` → 본문 예시(README·harness-task의 `created:` 출력 예, 테스트 fixture)만 남음 +- `npm run test`, `npm run docs:check` 통과 + +## 참고 +*코드 기반 참조가 산문 설계보다 정밀하다 — 테스트 스위트·Boundary contract(JSON Schema)· +다이어그램·기존 코드 경로를 우선 링크하고, 산문은 코드로 표현 못 하는 의도만 담는다.* + +- 배경: `docs/harness-cycle-draft.md`(미커밋 초안) D11 후보 "개인 도구·서드파티 오케스트레이터 의존 금지". +- 남긴 것: `docs/loop-graph-workflow-qna-0.13.html:271`의 firstmate 언급(버전 고정 스냅샷, 이력). +- (open) Obsidian의 frontmatter 자동 갱신 플러그인이 이 폴더에서 켜져 있으면 `modified:`가 다시 생길 수 있다 — 볼트 설정에서 이 폴더 제외 필요. diff --git a/docs/index.html b/docs/index.html index 11b68391..28d71b7e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -139,17 +139,6 @@
근거·이력은 decisions.md의 D2 · D6가 정본
-격리 없이 병렬로 쓰면 무엇이 실제로 깨지는지부터 봅니다.
-근거는 decisions.md의 D4(단일 스레드 쓰기) · D5(격리 병렬은 허용)
-소비자 프로젝트가 아니라 이 저장소를 손대는 경우.
npm install·lockfile 생성 금지 등npm run docs:generate로 갱신되는 생성물