Skip to content

Commit ea2377f

Browse files
DanMeonclaude
andcommitted
revert: docs/upstream-pins.yaml + update_upstream_pin.py 제거 (YAGNI)
본 PR 진행 중 도입했던 yaml SSOT 가 사실상 중복 — 같은 정보가 (a) git submodule 자체 ('git ls-tree <tag> external/rhwp'), (b) CHANGELOG 산문 노트, (c) yaml 3 곳에 존재. 자동화 의도 (release notes 생성 등) 가 있긴 하나, 정작 yaml 을 *읽는* consumer 가 0개 — 쓰기만 하고 읽는 데 없음. YAGNI 적용: 자동화가 실재할 때 그 시점에 *실제 필요한 형태* 로 도입이 정확. 미리 만들면 (1) stale 위험 (매 릴리스마다 수기 갱신 부담), (2) 3 SSOT 충돌 시 우선순위 미정의, (3) 미래 자동화가 원하는 schema 와 안 맞을 가능성. 삭제 대상: - docs/upstream-pins.yaml - scripts/update_upstream_pin.py - pyproject.toml [dependency-groups] dev 의 pyyaml (sole consumer) - uv.lock 갱신 문서 정리: - docs/CONVENTIONS.md: § 디렉토리별 정책 의 tree 다이어그램에서 한 줄 제거 - AGENTS.md (= CLAUDE.md symlink): "SSOT: docs/upstream-pins.yaml" → "git ls-tree <tag> external/rhwp" 로 정정 - CONTRIBUTING.md / CONTRIBUTING_EN.md: '더 읽을 자료' 섹션의 yaml link → git submodule + CHANGELOG 안내로 변경 - CHANGELOG.md [Unreleased]: 본 entry 한 줄 제거 docs/implementation/spec-system-overhaul.md (Frozen) 의 D14 / Commit 5 섹션은 변경 없음 — historical record. 본 commit message + git log 가 "D14 를 도입했다가 YAGNI 로 철회" 의 SSOT. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 34e9e6b commit ea2377f

9 files changed

Lines changed: 5 additions & 164 deletions

File tree

AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Project-specific instructions. Inherits all rules from `~/.claude/CLAUDE.md` (gl
4848
- **Cargo.toml is the version source of truth** via `dynamic = ["version"]` in pyproject.toml. Always bump Cargo.toml before tagging — `publish.yml`'s `verify-version` aborts on mismatch
4949
- **No breaking changes across Phase boundaries** (Phase 1 → 2 must keep existing APIs)
5050
- Release trigger: GitHub Release `published` event fires `publish.yml`. Draft releases don't trigger
51-
- Every release records the `external/rhwp` submodule commit hash in CHANGELOG (SSOT: `docs/upstream-pins.yaml`)
51+
- Every release records the `external/rhwp` submodule commit hash in CHANGELOG. The git submodule itself (visible via `git ls-tree <tag> external/rhwp`) is the authoritative pin per release
5252
- Integration-only runtime deps (LangChain, typer, jsonschema) belong in `[project.optional-dependencies]`, never `[project] dependencies` — keeps the core wheel dependency-free
5353

5454
### Documentation

CHANGELOG.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1616
- `scripts/lint_docs.py` + `scripts/_doc_lint.py` (공통 lib) 신설 — frontmatter schema / supersede chain / kebab-case / 페어 / cross-link 방향성 / 깨진 링크 8 룰 일괄 검증. `.claude/hooks/docs-lint.py` 가 동일 lib 재사용. CI `docs.yml` workflow 분리 (paths-filter — build/test 와 독립).
1717
- `pytest.mark.spec("vX.Y.Z/topic#AC-N")` marker + `scripts/generate_spec_trace.py` (AST 정적 분석) → `docs/traces/coverage.md` (Living) 자동 매핑. v0.4.0+ 신규 spec 부터 적용, 기존 v0.1.0 ~ v0.3.0 Frozen 미변경.
1818
- `/new-spec <version> <topic>` Claude Code skill 신설 — 새 version spec + 짝 페어 ADR + README 인덱스 row + EARS placeholder 일괄 생성, lint 자동 검증.
19-
- `docs/upstream-pins.yaml` (Living) SSOT + `scripts/update_upstream_pin.py` (typer + pyyaml round-trip 안정) — `external/rhwp` 커밋 핀 자동 추출. CHANGELOG prose 와 yaml 어긋나면 yaml 이 SSOT.
2019
- `last_updated` 자동 갱신 hook (`.claude/hooks/update-last-updated.py`, PostToolUse) — Frozen / Superseded / Living 은 skip.
2120
- CONVENTIONS.md 갱신: EARS notation (v0.4.0+) / CHANGELOG ↔ implementation log 역할 분리 / 상대경로 implicit 표준 / Frozen 외부 의존성 부패 정책 / Trace report / verification 약화 / meta-level implementation 슬롯.
2221
- 부수 정리: 상류 `edwardkim/rhwp#390` (find_control_text_positions) 옵션 A 채택 → cherry-pick 머지 → 본 spec in-place Frozen 전환 + RESOLVED notice. design 파일 `<topic>-design-research.md``<topic>-research.md` 명명 통일 (v0.2.0/ir, v0.3.0/cli rename + 24 cross-link 일괄 정정).

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,4 @@ PR 의 90% 이상은 첫 행 (버그 수정 / 테스트) — spec 시스템 정
5858
- **프로젝트 규칙 + 아키텍처**: [AGENTS.md](AGENTS.md)`CLAUDE.md` 와 동일 내용 (symlink). async 패턴, GIL release 규칙, extras-gated 테스트 카운트 등
5959
- **문서 운영 정책**: [docs/CONVENTIONS.md](docs/CONVENTIONS.md) — 수명 (Living/Active/Draft/Frozen/Superseded), frontmatter schema, EARS notation, supersede chain
6060
- **활성 spec 인덱스**: [docs/roadmap/README.md](docs/roadmap/README.md) — 어떤 spec 이 GA 됐고 어떤 게 진행 중인지
61-
- **상류 commit pin**: [docs/upstream-pins.yaml](docs/upstream-pins.yaml) — 각 릴리스가 사용하는 `external/rhwp` commit
61+
- **상류 commit pin**: 각 릴리스 tag 의 git submodule 이 SSOT — `git ls-tree v0.3.0 external/rhwp` / CHANGELOG 의 산문 노트

CONTRIBUTING_EN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,4 @@ All of these run in CI; running locally first saves a round trip:
5858
- **Project rules + architecture**: [AGENTS.md](AGENTS.md) — same content as `CLAUDE.md` (symlink). Async patterns, GIL release rules, extras-gated test counting, etc.
5959
- **Documentation policy**: [docs/CONVENTIONS.md](docs/CONVENTIONS.md) — lifecycle (Living/Active/Draft/Frozen/Superseded), frontmatter schema, EARS notation, supersede chain
6060
- **Active spec index**: [docs/roadmap/README.md](docs/roadmap/README.md) — what's GA, what's in progress, what's planned
61-
- **Upstream commit pin**: [docs/upstream-pins.yaml](docs/upstream-pins.yaml) — which `external/rhwp` commit each release uses
61+
- **Upstream commit pin per release**: the git submodule itself is authoritative — `git ls-tree <tag> external/rhwp`, plus the prose note in CHANGELOG

docs/CONVENTIONS.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ docs/
140140
│ └── coverage.md Living — spec ↔ test 자동 매핑
141141
├── upstream/
142142
│ └── <topic>.md Active — 외부 (rhwp Rust 코어) 이슈 초안. 업스트림 머지 시 archive
143-
├── upstream-pins.yaml Living — external/rhwp 커밋 핀 SSOT
144143
└── verification/
145144
└── v<X.Y.Z>/... Frozen — 큰 단위 작업 검증 리포트 (한정)
146145
```

docs/upstream-pins.yaml

Lines changed: 0 additions & 25 deletions
This file was deleted.

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,7 @@ examples = [
7373
rhwp-py = "rhwp.cli:app"
7474

7575
[dependency-groups]
76-
# ^ pyyaml: scripts/update_upstream_pin.py 의 round-trip (load + modify + dump)
77-
dev = ["maturin>=1.7", "pyyaml>=6"]
76+
dev = ["maturin>=1.7"]
7877
testing = [
7978
{include-group = "dev"},
8079
"pytest>=8",

scripts/update_upstream_pin.py

Lines changed: 0 additions & 121 deletions
This file was deleted.

uv.lock

Lines changed: 1 addition & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)