refactor(specs): migrate SPEC.md to raw/design/specs/ski-NNN-*.md (issue-scoped)#34
Merged
Merged
Conversation
루트 SPEC.md 단일 파일 관행을 이슈 스코프 raw/design/specs/ski-NNN-*.md로 전환하기 위한 첫 단계. harness preamble 주입 대상에서 SPEC 제거. - scripts/execute.py GUARDRAIL_FILES tuple에서 "SPEC.md" 엔트리 제거 - tests/test_execute_script.py::test_load_guardrails_uses_repo_specific_documents fixture의 SPEC.md 생성 및 assertion 제거 이후 phase에서 skill/정책/문서가 raw/design/specs/ 경로를 가리키도록 업데이트되고 현재 uncommitted 루트 SPEC.md를 raw/design/specs/ski-011-*.md로 이동시킨다. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- spec SKILL.md: step 1에 raw/design/specs/ 파일명 스캔 추가, step 3을 이슈 스코프 ski-NNN-<slug>.md 생성으로 변경 - spec openai.yaml: default_prompt를 새 경로로 - plan SKILL.md: step 1을 raw/design/specs/ski-NNN-*.md 읽기로 - using-agent-skills SKILL.md: Repository Overrides의 spec artifacts 위치 기술을 raw/design/specs/ski-NNN-*.md로 교체 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…/ski-NNN 이슈 스코프 spec 관행을 공식 convention으로 반영. - .agents/policies/local-adaptation.md: * /spec 설명에 raw/design/specs/ski-NNN-*.md 명시 * Output Locations에서 스펙 경로 갱신 * Language Conventions의 SPEC.md 대상을 raw/design/specs/**로 확장 - README.md / README.ko.md: Graphify 입력 제외 목록에서 SPEC.md 드롭 + raw/design/specs/가 source corpus임을 명시 - raw/README.md: 동일 반영 (운영 원칙 섹션) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…phify-entrypoint.md 이슈 스코프 spec 관행의 첫 실적용. 루트 SPEC.md 삭제 + 현재 uncommitted 상태였던 SKI-11 (upstream Graphify public entrypoint 복구) 스펙 내용을 이슈 파일로 보존. - git mv로 rename 추적: 루트 SPEC.md → raw/design/specs/ski-011-*.md - working tree의 SKI-11 내용을 새 경로에 복원 (HEAD의 SKI-10 버전은 git history로 추적 가능) - 이동된 파일 내부 자기참조 3곳 정리: * line 5 가정 1: 루트 SPEC.md 교체 → 마이그레이션 맥락으로 재진술 * line 62 비목표: Graphify source input 승격 목록에서 SPEC.md 드롭 * line 160: non-source 디렉토리 bullet에서 SPEC.md 엔트리 삭제 이제 `.graphifyignore`가 `raw/`를 제외하지 않으므로 다음 graphify refresh에서 이 spec이 자동으로 source corpus에 포함된다. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
raw/design/specs/ski-011-upstream-graphify-entrypoint.md가 추가되면서 raw/ source corpus에 변경 발생 → auto-refresh가 code refresh를 트리거. 새 spec이 knowledge graph의 일부로 포함됨. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
한 줄 요약
SPEC.md단일 파일 관행을raw/design/specs/ski-NNN-<slug>.md이슈 스코프 레이아웃으로 전환합니다. 현재 uncommitted 상태였던 SKI-11 스펙(upstream Graphify public entrypoint 복구)을 첫 번째 파일(ski-011-*.md)로 실제 적용합니다.배경 / 문제
SPEC.md가 "현재 active spec"을 담는 단일 파일. 새 이슈마다 덮어쓰기.adr-NNN-*.md라 문제 없음).SPEC.md는 graphify 입력에서 명시 제외, 반면raw/design/specs/는 이미 source corpus. spec이 knowledge graph에 투명.raw/design/specs/를 보여줌 (CLAUDE.md:52) — 구조는 pre-authored, 관행만 아직 미전환.SPEC.md가 불일치 → 2중 편집 + main에 영구 uncommitted 변경 반복.PR 대시보드
SPEC.md를 외부 tool이 참조하지 않음)main변경 묶음별 리뷰 가이드
scripts/execute.py,tests/test_execute_script.pyGUARDRAIL_FILEStuple에서"SPEC.md"제거 + 대응 fixture/assertion 제거.agents/skills/{spec,plan,using-agent-skills}/SKILL.md,.agents/skills/spec/agents/openai.yaml/spec은raw/design/specs/ski-NNN-<slug>.md생성,/plan은 해당 경로 읽기, meta-skill bullet 갱신.agents/policies/local-adaptation.md(line 80/92/99),README.md/README.ko.md(line 387/345),raw/README.md(line 22)raw/design/specs/**가 한국어 유지 대상 + source corpus임 명시SPEC.md→raw/design/specs/ski-011-upstream-graphify-entrypoint.mdgit mv로 rename 추적. 현재 uncommitted SKI-11 내용 보존. 내부 자기참조 3곳 정리git log --follow로 rename 감지 확인graphify-out/*raw/변경 감지해 auto-refresh 돈 결과Before / After
Before
SPEC.md1개 파일 (현재 active만 보존, 이전 spec은 git history에만)GUARDRAIL_FILES가SPEC.md포함 → 매 executor preamble에 주입/spec스킬이 루트 경로를 지시After
raw/design/specs/ski-NNN-<slug>.md이슈 단위 파일 누적 (ADR 패턴)GUARDRAIL_FILES에서 SPEC 제거 → preamble 주입 없음. 에이전트가 on-demand Read/spec스킬이 새 경로 지시,/plan스킬이 해당 경로 읽기ski-011-upstream-graphify-entrypoint.md검증
uv run pytest --ignore=mlx_runtime,cli_smoke_mlx,graphify_auto_refresh -q→ 141 passeduv run ruff check .→ All checks passeduv run mypy src→ no issues (30 files)grep -rn "SPEC\.md"실제 소스 0 hit (의도된 ski-011 내부 history paragraph 1건만 유지)test ! -f SPEC.mdpassgit log --follow raw/design/specs/ski-011-*.md정상raw/변경 감지해 code refresh 수행,ski-011이 graph 포함남은 리스크 / 후속 작업
adr-NNN-*.md엔 있지만ski-NNN-*.md엔 미정. 후속 convention PR.SKI-NNN번호 동기화 관행 정립 — 현재 파일 sequence 자체로만 번호 매김.feature/graphify-upstream-entrypointworktree의 staleSPEC.md(SKI-10 버전) 처리 — 해당 worktree가 작업 완료 후 rebase 필요./plan또는 Read tool로 접근 (skill 문서에 이미 반영)./spec→/plan)이 같은 경로 규약을 가리키는지, 그리고raw/README.md의 source corpus 경계 기술이 현실과 일치하는지.