feat!: 하네스 v2 전면 재구축 및 v2.1.0 릴리스 - #51
Conversation
v1의 전제였던 실험적 Agent Teams API 소멸과 Workflow 도구 도입에 맞춰 전체를 재설계하고, 업무 특성 기반 모델 티어 선택 정책(v2.1.0)을 더한다. - TeamCreate/TeamDelete/team_name 및 실험 플래그 의존 전면 제거 - 3중 실행 모드 체계 도입: 워크플로우 오케스트레이션 / 퍼시스턴트 에이전트 협업 / 서브에이전트 위임 - skills/evolve (/harness:evolve) 신설: 5단계 하네스 진화 스킬 - 신규 레퍼런스: execution-modes, workflow-recipes, team-patterns, model-selection-guide + v1→v2 마이그레이션 문서 - 오케스트레이터 템플릿 3종 재작성, 6패턴에 v2 실행 모드 매핑 - 마케팅/사이트 자산(이미지 4종·index.html·privacy.html), _workspace 산출물, README_JA 제거 - 버전 정합성 2.1.0 동기화 (plugin.json·marketplace.json·README 뱃지)
- model-selection-guide.md를 3티어(fable/opus/sonnet)에서 2티어(opus/sonnet)로 재구성 - 기존 fable 담당 업무(장기 다단계 실행·방대한 자료 통합·아이디어 구체화)를 opus 적합 업무로 흡수 - "Fable vs Opus 구분 기준"을 "Opus vs Sonnet 구분 기준"으로 교체 - SKILL.md 핵심 원칙·Phase 3 모델 정책 표·판단 규칙, team-patterns/workflow-recipes 모델 정책 문구 갱신 - README(EN/KO)·마이그레이션 문서·CHANGELOG 2.1.0 항목의 티어 표기 정정
|
github-steward autopilot tick 2026-08-13 21:37 CEST: PR #51 is currently merge-blocked: mergeStateStatus=DIRTY against main cceac68. Bounded conflict probe was run in an isolated steward clone: /Users/rudlord/ORGANIZED/_agent-workspaces/github-steward/harness-pr51-conflict-20260813. No primary worktree was edited and nothing was pushed. Conflict files observed:
No status checks are attached to the PR. Because this is a broad v2 release rewrite and the head branch is owned by revfactory, steward is not resolving/pushing over the branch without explicit owner direction. Recommended next action: branch owner rebases/merges latest main and decides the modify/delete files intentionally; then add CI/checks before merge. |
|
GitHub Steward autopilot conflict note — 2026-08-13 22:20 CEST Objective merge gate state:
Unmerged conflict files observed in the probe:
Why I did not push a resolution this tick:
Recommended next safe lane:
No files were edited by github-steward in this PR during this tick. |
|
github-steward autopilot tick 2026-08-14 01:47 CEST update:
No owner-tagged Kanban gate was changed; this is a durable handoff only. |
|
Autopilot tick 2026-08-14 03:20 CEST follow-up: steward fork handoff is now live for the PR #51 conflict resolution.
Maintainer options:
|
|
Autopilot tick 2026-08-21 02:50 CEST: rechecked top merge-conflict blocker revfactory/harness PR #51. Current GitHub state is still mergeable=CONFLICTING / mergeStateStatus=DIRTY on maintainer-owned release/v2.1.0 @ 69917a9; PR has no check rollup. Existing steward resolution remains available as non-force fork branch chipoto69:steward/pr51-resolved-20260814 with commit 10e428a in /Users/rudlord/ORGANIZED/_agent-workspaces/github-steward/harness-pr51-resolve-20260814. No primary worktree edited; no duplicate PR opened; no force-push. Decision unchanged: maintainer must cherry-pick/merge 10e428a into release/v2.1.0 or explicitly authorize replacement PR/write path. |
|
Autopilot tick 2026-08-21 21:54 CEST: rechecked current top merge-conflict blocker.
Decision unchanged: steward will not overwrite the maintainer-owned head. Maintainer needs to cherry-pick/merge |
|
Autopilot tick 2026-08-23 05:04 CEST: rechecked highest merge-conflict blocker. Current state:
Decision: no overwrite of maintainer-owned release/v2.1.0, no force-push, no duplicate PR. Safe next step remains maintainer cherry-pick/merge 10e428a into release/v2.1.0 or explicitly authorize a replacement PR/write path. |
|
Autopilot tick 2026-08-23 06:42 CEST: rechecked top merge-conflict blocker. revfactory/harness PR #51 remains OPEN and GitHub reports mergeable=CONFLICTING / mergeStateStatus=DIRTY on maintainer-owned release/v2.1.0 @ 69917a9 with 0 checks. Existing steward resolution remains clean after fetch: /Users/rudlord/ORGANIZED/_agent-workspaces/github-steward/harness-pr51-resolve-20260814 at 10e428a; fork branch chipoto69:steward/pr51-resolved-20260814 has no open duplicate PR. No primary worktree edited, no force-push, no replacement PR opened because prior durable decision requires maintainer authorization. Next safe path: maintainer cherry-picks/merges 10e428a into release/v2.1.0 or explicitly authorizes a replacement PR/write path. |
|
Autopilot tick 2026-08-23 07:36 CEST: fresh recheck of top merge-conflict blocker. revfactory/harness PR #51 remains OPEN and GitHub reports mergeStateStatus=DIRTY on maintainer-owned release/v2.1.0 @ 69917a9 with 0 checks. Existing steward resolution remains available and already non-force pushed to fork branch chipoto69:steward/pr51-resolved-20260814 at commit 10e428a; local resolver workspace remains the safe handoff path: /Users/rudlord/ORGANIZED/_agent-workspaces/github-steward/harness-pr51-resolve-20260814. No primary worktree edited, no force-push, no duplicate PR. Decision unchanged: steward will not overwrite maintainer-owned head; maintainer must cherry-pick/merge 10e428a or explicitly authorize replacement PR/write path. |
|
Autopilot tick 2026-08-23 07:49 CEST recheck. Top conflict blocker remains revfactory/harness PR #51: GitHub still reports mergeable=CONFLICTING / mergeStateStatus=DIRTY on maintainer-owned release/v2.1.0 @ 69917a9, with no check rollup. Existing steward resolution remains clean and available: local workspace /Users/rudlord/ORGANIZED/_agent-workspaces/github-steward/harness-pr51-resolve-20260814 and fork branch chipoto69:steward/pr51-resolved-20260814 at 10e428a. No primary worktree edited, no force-push, no duplicate PR. Decision unchanged: steward cannot overwrite maintainer-owned head; maintainer must cherry-pick/merge 10e428a or explicitly authorize replacement PR/write path. Highest CI blocker remains ingestion-pipeline PR #17 / content-os t_7b6f3818: PR #17 is conflict-clean at d1346c16, but Actions still startup-fails before jobs exist. Latest run list still shows workflow_dispatch run 32613367967 on active CI plus push/PR runs 32613338112/32613340247 all conclusion=startup_failure with jobs=[]. Visible PR rollup only has CodeRabbit and Devin Review. No merge/self-approval; gate remains GitHub/account/repo Actions health or explicit operator override. Dangerous career-ops primary worktree remains blocked by owner:rudy decision on fleet t_4c4686d8, so no rebase/cleanup/push was attempted. |
|
Autopilot tick 2026-08-23 10:46 CEST: fresh recheck of top GitHub hygiene blockers. Highest merge-conflict blocker remains revfactory/harness PR #51:
Decision unchanged: no overwrite of maintainer-owned head, no force-push, no duplicate replacement PR without explicit authorization. Safe next step remains maintainer cherry-pick/merge 10e428a into release/v2.1.0 or explicitly authorize replacement PR/write path. Secondary checks:
|
|
Autopilot tick 2026-08-23 12:49 CEST recheck. Highest merge-conflict blocker remains revfactory/harness PR #51:
Decision unchanged: steward will not overwrite a maintainer-owned head. Safe next step remains maintainer cherry-pick/merge Secondary evidence this tick:
|
|
Autopilot tick 2026-08-23 13:03 CEST: fresh conflict recheck. PR #51 is still OPEN/non-draft and GitHub reports mergeable=CONFLICTING / mergeStateStatus=DIRTY on maintainer-owned head release/v2.1.0 @ 69917a9; statusCheckRollup is empty. Existing steward resolution remains clean and non-overwrite: fork branch chipoto69:steward/pr51-resolved-20260814 / local workspace /Users/rudlord/ORGANIZED/_agent-workspaces/github-steward/harness-pr51-resolve-20260814 @ 10e428a. Verification this tick: fetched origin, origin/main cceac68 is ancestor of resolver HEAD, and git diff --check origin/main...HEAD passed. No primary worktree edit, no force-push, no duplicate PR. Decision unchanged: maintainer must cherry-pick/merge 10e428a into release/v2.1.0 or explicitly authorize replacement PR/write path. |
|
Autopilot tick 2026-08-23 15:47 CEST: fresh top-blocker recheck. revfactory/harness PR #51 remains the highest merge-conflict blocker:
No primary worktree edit, no force-push, no duplicate PR. Decision unchanged: steward will not overwrite maintainer-owned release/v2.1.0. Maintainer must cherry-pick/merge 10e428a into release/v2.1.0 or explicitly authorize a replacement PR/write path. Secondary blockers checked this tick: ingestion-pipeline PR #17 remains conflict-clean but GitHub Actions startup_failure/jobs=[] leaves it non-green; career-ops t_4c4686d8 carries owner:rudy and was not modified; content-os owner-gated PR-opening tasks were not acted on. |
|
Autopilot tick 2026-08-23 16:46 CEST: fresh top-blocker recheck. revfactory/harness PR #51 remains the highest merge-conflict blocker:
Decision unchanged: no force-push, no overwrite of maintainer-owned release/v2.1.0, no duplicate replacement PR without explicit authorization. Safe next step remains maintainer cherry-pick/merge 10e428a into release/v2.1.0, or explicitly authorize replacement PR/write path. Secondary hygiene checked this tick:
|
|
Autopilot tick 2026-08-23 18:25 CEST: top conflict recheck. revfactory/harness PR #51 remains OPEN/non-draft and GitHub still reports mergeable=CONFLICTING / mergeStateStatus=DIRTY on maintainer-owned release/v2.1.0 @ 69917a9. The PR check rollup is still empty. Fresh verification in the steward resolver workspace:
Decision unchanged: no force-push, no overwrite of maintainer-owned release/v2.1.0, and no duplicate replacement PR without explicit authorization. Safe next step is still maintainer cherry-pick/merge 10e428a into release/v2.1.0, or explicitly authorize a replacement PR/write path. Secondary blocker snapshot: ingestion-pipeline PR #17/#19 remain conflict-clean but GitHub Actions still startup-fails before jobs exist; career-ops/WORKFLOWS/FLUX owner:rudy gates were left untouched. |
|
Autopilot tick 2026-08-24 00:54 CEST: fresh top-conflict recheck. revfactory/harness PR #51 remains OPEN/non-draft and GitHub still reports Steward resolver evidence refreshed this tick:
Decision unchanged: no force-push, no overwrite of maintainer-owned Secondary blocker snapshot: ingestion-pipeline PR #17 remains conflict-clean but GitHub Actions startup-failure still leaves it non-green; owner-tagged/dormant gates were not touched. |
|
Autopilot tick 2026-08-24 08:10 CEST: fresh top-conflict verification. revfactory/harness PR #51 remains OPEN/non-draft and GitHub still reports mergeStateStatus=DIRTY on maintainer-owned release/v2.1.0 -> main. Existing steward handoff remains valid and non-overwrite: fork branch chipoto69:steward/pr51-resolved-20260814, resolver workspace /Users/rudlord/ORGANIZED/_agent-workspaces/github-steward/harness-pr51-resolve-20260814, commit 10e428a. Fresh fetch completed; workspace stayed clean; origin/main cceac68 is ancestor of resolver HEAD; git diff --check origin/main...HEAD passed. Decision unchanged: no force-push, no overwrite of maintainer-owned release/v2.1.0, no duplicate PR. Safe next move remains maintainer cherry-pick/merge 10e428a or explicit authorization for replacement PR/write path. Owner-tagged Actions/account gates were left untouched. |
|
Autopilot tick 2026-08-25 01:24 CEST: fresh top-conflict verification. revfactory/harness PR #51 remains OPEN/non-draft with GitHub mergeStateStatus=DIRTY on maintainer-owned release/v2.1.0 -> main; maintainerCanModify=false, head 69917a9, statusCheckRollup empty. Existing steward resolution remains available and non-overwrite: /Users/rudlord/ORGANIZED/_agent-workspaces/github-steward/harness-pr51-resolve-20260814, upstream fork/steward/pr51-resolved-20260814, commit 10e428a. Fresh fetch completed; workspace clean; git diff --check origin/main...HEAD passed. Decision: do not force-push or overwrite maintainer branch. Safe path is maintainer cherry-pick/rebase from chipoto69:steward/pr51-resolved-20260814, then rerun a real validation gate. |
|
github-steward autopilot tick 2026-08-25 03:37 CEST: evidence-only recheck; owner:revfactory-maintainer gate respected. Fresh state:
Decision unchanged: no force-push, no overwrite of maintainer branch, no duplicate replacement PR. Safe next path is revfactory maintainer cherry-pick/merge 10e428a into release/v2.1.0, or explicitly authorize replacement PR/write path. |
|
github-steward autopilot tick 2026-08-25 04:33 CEST: PR #51 is still DIRTY/conflicting, has no checks, and its head |
|
Autopilot tick 2026-08-26 02:27 CEST: rechecked this blocker. Original PR #51 remains mergeStateStatus=DIRTY on maintainer-owned Current clean bridge is PR #56: #56 Fresh verification of the bridge in
Decision: no force-push/no maintainer-head overwrite. Safe next path is review/merge PR #56 as the replacement bridge, or maintainer cherry-picks the resolver commit into |
|
github-steward autopilot tick 2026-08-26 02:42 CEST: Current gate state:
Validation re-run locally in
Decision: do not merge #51 as-is. Use/review #56 as the reviewable merge bridge, then close superseded #51 only after maintainer/operator decision. No force-push used. |
|
github-steward autopilot tick 2026-08-26 22:44 CEST — conflict bridge refresh. Fresh GitHub readback:
Fresh local verification in the dedicated resolver workspace:
Decision unchanged: #56 is the safe replacement lane for retiring #51’s conflict. No force-push, no maintainer-head overwrite, no primary worktree edits, no merge/self-approval. Safe next action is revfactory maintainer review/merge #56 or cherry-pick |
|
github-steward autopilot tick 2026-08-27 12:02 CEST: rechecked original conflict blocker. PR #51 remains the maintainer-owned conflict surface ( Fresh safe path readback:
Decision unchanged: no force-push and no direct edit to |
|
github-steward autopilot tick 2026-08-28 05:50 CEST: refreshed the revfactory/harness conflict lane. Evidence:
Decision: do not mutate the maintainer-owned conflicted branch. Use PR #56 as the safe merge-conflict bridge, but objective remote CI is still missing because check rollup is empty; PR #55 remains the separate validation-gate PR. |
개요
v1의 전제였던 실험적 Agent Teams API가 현행 Claude Code에서 사라지고, 결정적 오케스트레이션을 위한 Workflow 도구가 새로 추가된 환경 변화에 맞춰 하네스를 전면 재구축(v2.0.0)하고, 업무 특성 기반 모델 티어 선택 정책(v2.1.0)을 더한 릴리스 PR입니다.
Breaking / Fixed
TeamCreate/TeamDelete/team_name전면 제거 — 현행 런타임에 존재하지 않는 API. 세션의 단일 암묵 팀 +Agent(name:)+SendMessage구조로 전 템플릿 재작성CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1의존 제거 — v2는 플래그 없이 동작model: "opus"일괄 강제 정책 폐기 → 업무 복잡도·기간·자율성·응답속도 기준의 fable/opus/sonnet 티어 선택으로 개편 (v2.1.0)/harness:evolve를 실제 스킬로 출시하여 문서-실체 불일치 해소Added
skills/evolve: 델타 수집 → 분류 → 일반화 반영 → 이력 갱신 → 보고의 5단계 진화 스킬execution-modes.md,workflow-recipes.md,team-patterns.md,model-selection-guide.md+docs/migration-v1-to-v2.mdChanged
plugin.json·marketplace.json· README 뱃지)Removed
harness_*.png4종,index.html,privacy.html)_workspace/런치 캠페인 산출물 (.gitignore에 추가),docs/experimental-dependency.md,README_JA.mdDiff
35 files changed, +1,597 / −5,991 — 상세 내역은
CHANGELOG.md의 [2.0.0] / [2.1.0] 항목 참조.