Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ Lightweight human-readable summary of meaningful repository changes.
manifest — documenting `cline skill add SHcommit/ADR-toolkit` plus a manual
symlink fallback. Manually verified against Cline CLI 3.0.61.
- Expanded `improvements.md` backlog with High and Medium priority items: ReDoS cross-platform safety, 2-phase atomic transaction rollback for `supersede`, ADR overlap/similarity Eval framework, weekly automated maintenance workflows, PR significance bot, `adr lint --fix` auto-repair, interactive HTML graph viewer, and code drift detection.
- Logged a Medium-priority backlog item to fold the Cline CLI adapter into the `harness-parity` CI job (currently manually verified against Cline CLI 3.0.61 only), so Cline/ClinePass version drift is caught automatically like the Codex, Gemini, and Antigravity adapters.

## v1.0.1 (2026-09-02)

Expand Down
72 changes: 34 additions & 38 deletions handoff.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,55 +2,51 @@

## Current task

OSS repository governance hardening implementation and independent review.
Original SDD Tasks 1–9 are complete; the follow-up review corrected false live
GitHub assumptions and closed additional supply-chain/configuration gaps.
Cline CLI adapter harness-parity CI coverage gap — logged as a Medium backlog
item. The Cline adapter is currently "Manually verified against Cline CLI 3.0.61"
only; the `harness-parity` CI job does not yet install Cline and exercise it on
push/PR. Codex, Gemini, and Antigravity adapters are already automated.

## Touched files

- Governance config: `.github/CODEOWNERS`, `.github/dependabot.yml`,
`.github/labeler.yml`, `.github/labels.yml`, `.github/ISSUE_TEMPLATE/**`,
`.github/workflows/{labeler,labels,test,release}.yml`.
- Tooling/tests: `pyproject.toml`, `scripts/export_dev_requirements.py`,
`tests/unit/test_github_governance.py`, pre-existing ruff cleanup files.
- Docs: `SECURITY.md`, `project-roadmap.md`, `docs/enterprise-adoption.md`,
`docs/oss-repository-governance-audit.md`, governance design spec,
`changelog.md`, `improvements.md`.
- `improvements.md` — added Medium item "harness-parity CI에 Cline CLI 편입"
with prerequisites (npm package name/version pin, install-path verification,
`preflight`/`init`/`validate` `ok:true` checks).
- `project-roadmap.md` — added "Automate the Cline CLI adapter install-and-run
verification — Backlog." entry under "Harness parity".
- `changelog.md` — one Unreleased line recording the backlog item.
- `handoff.md` — this file (current task + next step).

## Live GitHub changes applied
## Diagnosis (for the next session)

- Synced labels without deleting unrelated labels; added `type:epic` this session.
- Enabled Discussions, Dependabot security updates/alerts, secret scanning and
push protection, private vulnerability reporting, and delete-branch-on-merge.
- Re-verified active branch ruleset `22101891` and tag ruleset `22102322`.
Cline CLI 3.0.61 is installed at `/Users/yangseunghyeon/.npm-global/bin/cline`.
`cline skill list` from the repo root shows `adr-toolkit` as a **Project Skill**
(source: local, from `~/Development/ADR-toolkit/skills/adr-toolkit`) — i.e. the
repo's own `skills/` directory is auto-detected, NOT a global install.
`cline plugin list` is empty and `~/.agents/skills/` is empty, confirming the
adapter is README-only (no Cline TS plugin) and nothing was globally installed.

## Next step

1. Merge PR #34 (`feat(github): add OSS repository governance & supply-chain
hardening`) into `develop` after its CI checks pass.
2. After merge, update ruleset `22101891`: remove the two Python 3.9 contexts;
add all three Python 3.10 contexts plus `lint` and `dependency-audit`; query
effective rules again.
1. (Optional, for personal use) `cline skill add SHcommit/ADR-toolkit --global -y`
to make the skill available outside this repo.
2. (Future PR) Implement the Medium backlog item: confirm `cline`'s npm package
name/version-pin, add a Cline step to `.github/workflows/test.yml`
`harness-parity` job, verify `cline skill add ... --global --yes`, and run
`preflight`/`init`/`validate` from the installed snapshot on each push/PR.
Open a `feature/*` branch per the git flow and merge into `develop` via PR.

## Verification

- CI-equivalent pytest + branch coverage: 558 passed, 92.74% coverage.
- `ruff check .`: passed.
- scoped `mypy --strict`: passed.
- `sync_version.py --check` and `verify_examples.py --check`: passed.
- `pip-audit --strict` in a clean dev-tool environment: no known vulnerabilities.
- actionlint v1.7.12: passed after fixing PR-title expression injection.
- Python package build: wheel and sdist built successfully; emitted only the
tracked PyPA license-metadata deprecation warning.
- Antigravity 1.1.27 artifact: official SHA-512 matched and archive contained
the expected `antigravity` binary.
- `tests/unit/test_cline_adapter.py`: pass (doc-only change, code unaffected).
- `ruff check .`: to be confirmed below.

## Open risks

- Until the governance PR is merged and ruleset contexts are updated, the live
ruleset still names removed Python 3.9 checks and does not require the new
`lint`/`dependency-audit` jobs.
- `pypa/gh-action-pypi-publish` remains `continue-on-error: true`, so a release
can partially succeed; tracked in `improvements.md`.
- Project/milestone/stale automation is deliberately deferred until issue/PR
volume meets the triggers in the audit report.
- Until the Cline harness-parity step lands, Cline CLI/ClinePass version drift
(e.g. `cline skill add` path or `~/.agents/skills/` location changing) will
not be caught by CI. The `adapters/cline/README.md` verification block stays
pinned to 3.0.61 until automated.
- Inherits the prior Open risks from the OSS governance hardening handoff
(ruleset context sync, `continue-on-error` PyPI publish, deferred
issue/PR automation).
11 changes: 11 additions & 0 deletions improvements.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,17 @@ Backlog derived from `docs/adr-toolkit-audit-report.md`, operational experiences

### Medium

- [ ] **harness-parity CI에 Cline CLI 편입** — `adapters/cline/README.md` 기준
여전히 "Manually verified against Cline CLI 3.0.61"뿐, push/PR마다 자동
검증이 없어 Cline CLI/ClinePass 버전업 시 회귀를 CI가 못 잡음. Codex/Gemini
어댑터는 이미 harness-parity job에서 자동 검증 중(`project-roadmap.md`
"Harness parity" 참조). Cline CLI는 npm 글로벌 설치가 가능하므로
Antigravity(공개 패키지 레지스트리 미지원)와 달리 전제조건은 이미 충족.
선행 검증 항목: (1) `cline` npm 패키지명/배포 채널/안정 버전 핀 값 확인,
(2) CI runner에서 `cline skill add SHcommit/ADR-toolkit --global --yes` 후
`~/.agents/skills/adr-toolkit` 설치 경로 검증, (3) `preflight`/`init`/
`validate` 전 단계 `ok:true` 검증 구간 추가. (`project-roadmap.md` "Harness
parity", `adapters/cline/README.md` "Verification status")
- [ ] **ADR 중첩/유사도 감지 및 파편화 방지 Eval 시스템** — 작성하려 하거나 기존에 존재하는 ADR 간 내용/주제/영향 범위의 중첩(overlap) 및 파편화를 사전 감지하는 로직과, ADR 집합의 중복·충돌·일관성을 지속해서 평가/검증하는 Evaluation 프레임워크 구축. (유사도 기반 `supersede` 권장, 중복 작성 방지)
- [ ] **개발용 플러그인 메인 저장소 Symlink 자동화 스크립트** — local development 시 `~/.gemini/config/plugins/adr-toolkit`이 임시 워크트리가 아닌 메인 저장소를 항상 바라보도록 하고, 버전 갱신 시 symlink 유효성을 체크하는 도구/가이드 정립.
- [ ] **주간 자동 ADR 헬스체크 및 무효화/깨진 링크 점검 오토메이션** — 주 1회(GitHub Actions Scheduled Workflow 등) 실행되어 오래 방치된 `PROPOSED` ADR, 리팩터링으로 깨진 `affected_paths` 경로, 버전 드리프트를 자동 점검하고 이슈/알림을 생성하는 주간 유지보수 시스템.
Expand Down
7 changes: 7 additions & 0 deletions project-roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,13 @@ before implementation. Concrete selected work belongs in `improvements.md`.
— **Done (2026-09-05).** `harness-parity` downloads a versioned Linux release
artifact, verifies its official SHA-512 digest, and exercises the adapter.
The mutable `curl | bash` bootstrapper is intentionally not executed in CI.
- **Automate the Cline CLI adapter install-and-run verification** — Backlog.
`adapters/cline/` is manually verified against Cline CLI 3.0.61 only; the
`harness-parity` job does not yet install Cline and exercise `cline skill add`
+ `preflight`/`init`/`validate`. Cline CLI is npm-installable, so the
precondition (public package registry) is met — tracked as a Medium item in
`improvements.md`. Revisit once the npm package name/version-pin and the
install-path verification steps are confirmed.
- **Harness-specific hook support beyond Claude Code SessionStart when equivalent stable extension points exist** — **Evaluated, not pursued (2026-08-31).** The precondition is now true: Codex CLI has a config-driven `SessionStart`/`UserPromptSubmit` hook system (`~/.codex/hooks.json`), and Gemini CLI ships `gemini hooks migrate` specifically to port Claude Code hooks over. But ADR Toolkit doesn't use a hook even on Claude Code today (it relies entirely on skill auto-discovery), and a hook that fires on every session regardless of relevance cuts against this project's own restraint principle (max 3 questions, judge what's significant, minimize interruption). The plausible use cases (nudge about an unfinished draft ADR, warn about a governed path) are already covered by deliberately invoking `discover` and `check` rather than an always-on hook. Revisit only if real usage shows people miss something that `discover`/`check` can't catch without a session-start nudge -- not just because the extension points now exist.

## ADR navigation and scale
Expand Down
Loading