承認する前に、エージェントが何を変えたかを見る。
エージェントは、それぞれの git worktree で作業します。「変更」は、その1つ1つについて、ブランチ、タスク、エージェント、master に入っているか、そして完全な diff を表示します。
!Files changed in more than one worktree: 1
api/orders.go
feat/checkout-api · #2 · shop-backend
feat/recalc-totals · #4 · shop-frontend
masterproject folderpushed
~/work/acme-shop
feat/checkout-apinot pushed
~/work/acme-shop-wt/checkout-api
feat/recalc-totalsnot pushed
~/work/acme-shop-wt/recalc-totals
fix/cart-totalparkedpushed
~/work/acme-shop-wt/cart-total
fix/readme-typoitem closedin master
~/work/acme-shop-wt/readme-typo
見る
すべての worktree を、プロジェクトごとに。
「変更」は「タスク」の隣にあります。プロジェクトのすべての git worktree を、ブランチ、属するタスク、そこで作業しているエージェントとともに一覧します。
各ブランチの現在地。
master に入っている、まだプッシュされていない、保留中。それぞれの worktree が、コミットの行き先を示すので、これから反映すべきものがわかります。
完全な diff。
ブランチを開くと、触れているファイルと diff 全体が、全幅で表示されます。タスクカードも、ブランチの上にそのまま開きます。
問題になる前に
2つのエージェントが、1つのファイルに。
稼働中の2つの worktree が同じファイルを変更すると、ホームが重複を警告し、両方のタスクのリードにも知らせます。
通知の強さは、お好みで。
警告もリードへのメッセージも要らない場合は、システム › 通知で、それぞれをオフにできます。
片付ける
反映済みのものを片付ける。
コミットがすべてベースのブランチに入っている worktree は、確認したうえで、1つずつでも、まとめてでも削除できます。
使用中のものは、消えない。
直近12時間に使われた worktree は残ります(config.yaml の changes.recent_hours)。detached のもの(多くはレビュー担当のコピー)は、警告つきで1つずつだけ削除されます。
エージェントがコードを書く速さに、私の読む速さが追いつかない。
harnsy では全行を読む必要はありません:タスクはロールからロールへ進み、あなたは完成した結果を承認します。
レビューでは「承認」か「差し戻し」を押すだけではありません。直してほしい点を書けば、そのコメントがすぐにリードのセッションに届きます。リードはあなたの言葉を添えて、担当者にタスクを戻します。
仕組み:リードが割り振り、各ロールが根拠を添えて次に渡し、完了したカードは琥珀色になります。見たいときは「変更」で各 worktree の diff を確認できます。
あなたの対応待ち
- analyst-7a · アナリスト受け入れ基準
- site-9a · 開発者実装
- qa-5e · テスターテストと証跡
- あなた · あなたの対応待ち#42 を開いて承認するか、コメントを付けて差し戻します
タスクを開いて、直す点をリードに伝えましょう。
feat/checkout-apinot pushed~/work/acme-shop-wt/checkout-api
#2 チェックアウト API:注文を検証して決済する · in progress · shop-backend running
In the branch’s commits 2
- addedAapi/charge.go
- modifiedMapi/orders.go
Uncommitted 1
- modifiedMapi/charge.go
api/orders.goIn the branch’s commits
@@ -12,7 +12,14 @@ func CreateOrder(w, r)
var req OrderRequest
if err := decode(r, &req); err != nil {
fail(w, 400, "bad order")
return
}
order := newOrder(req)
if err := req.Validate(); err != nil {
fail(w, 422, err.Error())
return
}
order := newOrder(req)
if err := charge(order); err != nil {
fail(w, 402, "payment declined")
return
}
save(order)
できないことも、正直に
- 「変更」は見るためのものです。コードを編集してコミットするのはエージェントで、ダッシュボードは表示するだけです。
- プロジェクトの git worktree を読み取ります。git の外での作業は、ここには表示されません。
最初のチームは、ひと言で始められます。
インストールはエージェントへのひと言で済みます。エージェントを代わりに開くため、harnsy は端末を操作します。Linux と macOS では tmux、Windows では独自の端末ホストです。
https://harnsy.dev/llms.txt の手順に従って harnsy をインストールして