feat(orchestrator): W3 artifacts tree, ancestry, gates and token-free cleanup

Artifacts show the branch tree with ancestry and gate marks. The cleanup runner calls pkgmgr branch cleanup with its real argv and parses its repos[*].items output, refuses any plan with a remote-branch action, marks an item done only when pkgmgr reports it done, and offers no delete for a branch a worktree holds. Every text states what the pkgmgr command does to volumes. Committed below the bar on the operator's word 2026-11-12 (no further per-bundle tests, one gate after the merge): the W3 e2e never ran; the client switches to --local once pkgmgr ships it.

🎯 Fix: 90 %
💥 Break: 6 %
💸 Cost: 30 %
⏱️ Time: 40 %
🛡️ Security: 100 %
🏆 Score: 100
🚦 Gate: ⛔ break 6 % > 5

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kevin Veen-BirkenbachandClaude Opus 5.5 committed 2026-11-12 16:15:14 +00:00
1 parent fd8fc08603
commit f7a59d43a5
33 files changed
+1998 -107

No files matched your search

+273
View File
@@ -0,0 +1,273 @@
{
"generated_at": "2026-11-12T11:14:56+00:00",
"host_pid_namespace": true,
"delete_ready": false,
"delete_reason": "no GitHub token in the Secret Service",
"repos": [
{
"path": "@ROOT@/repos/github.com/anon/web",
"remote": "git@github.com:anon/web.git",
"default": "main",
"missing": false,
"known": true,
"forge": "unavailable: no GitHub token in the Secret Service",
"scanned_at": "2026-11-12T11:14:56+00:00",
"warnings": [
"forge unavailable: no GitHub token in the Secret Service"
],
"items": [
{
"branch": "chore/ancestor-local",
"worktree": null,
"head": null,
"detached": false,
"locked": null,
"worktree_state": null,
"staged": null,
"unstaged": null,
"untracked": null,
"upstream": null,
"ahead": null,
"behind": null,
"gone": false,
"local_sha": "1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b",
"remotes": {},
"compose_projects": [],
"images": [],
"state": "merged-clean",
"merged": true,
"dirty": 0,
"merged_by": "ancestor",
"merged_into": "origin/main",
"unpushed": null,
"last_activity": 1783873160,
"size_bytes": null,
"skip": "forge unavailable",
"actions": [
"local-branch"
],
"reason": "merged by ancestor",
"result": null,
"flow": null
},
{
"branch": "fix/remote-merged",
"worktree": null,
"head": null,
"detached": false,
"locked": null,
"worktree_state": null,
"staged": null,
"unstaged": null,
"untracked": null,
"upstream": "origin/fix/remote-merged",
"ahead": 0,
"behind": 0,
"gone": false,
"local_sha": "2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c",
"remotes": {
"origin": "2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c"
},
"compose_projects": [],
"images": [],
"state": "merged-clean",
"merged": true,
"dirty": 0,
"merged_by": "ancestor",
"merged_into": "origin/main",
"unpushed": null,
"last_activity": 1783873160,
"size_bytes": null,
"skip": "forge unavailable",
"actions": [
"local-branch",
"remote-branch:origin"
],
"reason": "merged by ancestor",
"result": null,
"flow": null
},
{
"branch": "feature/open",
"worktree": null,
"head": null,
"detached": false,
"locked": null,
"worktree_state": null,
"staged": null,
"unstaged": null,
"untracked": null,
"upstream": null,
"ahead": null,
"behind": null,
"gone": false,
"local_sha": "3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d",
"remotes": {},
"compose_projects": [],
"images": [],
"state": "unmerged",
"merged": false,
"dirty": 0,
"merged_by": null,
"merged_into": null,
"unpushed": 2,
"last_activity": 1783873160,
"size_bytes": null,
"skip": "forge unavailable",
"actions": [],
"reason": "unmerged: 2 commits not in origin/main",
"result": null,
"flow": null
},
{
"branch": "main",
"worktree": "@ROOT@/repos/github.com/anon/web",
"head": "4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e",
"detached": false,
"locked": null,
"worktree_state": "clean",
"staged": 0,
"unstaged": 0,
"untracked": 0,
"upstream": "origin/main",
"ahead": 0,
"behind": 0,
"gone": false,
"local_sha": "4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e",
"remotes": {
"origin": "4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e"
},
"compose_projects": [],
"images": [],
"state": "protected",
"merged": true,
"dirty": 0,
"merged_by": null,
"merged_into": null,
"unpushed": null,
"last_activity": 1783873160,
"size_bytes": null,
"skip": null,
"actions": [],
"reason": "default or protected branch",
"result": null,
"flow": null
}
]
},
{
"path": "@ROOT@/repos/git.example.org/anon/notes",
"remote": "ssh://git@git.example.org/anon/notes.git",
"default": "master",
"missing": false,
"known": true,
"forge": "none",
"scanned_at": "2026-11-12T11:14:56+00:00",
"warnings": [],
"items": [
{
"branch": "topic/ancestor-local",
"worktree": null,
"head": null,
"detached": false,
"locked": null,
"worktree_state": null,
"staged": null,
"unstaged": null,
"untracked": null,
"upstream": null,
"ahead": null,
"behind": null,
"gone": false,
"local_sha": "5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f",
"remotes": {},
"compose_projects": [],
"images": [],
"state": "merged-clean",
"merged": true,
"dirty": 0,
"merged_by": "ancestor",
"merged_into": "origin/master",
"unpushed": null,
"last_activity": 1783873160,
"size_bytes": null,
"skip": null,
"actions": [
"local-branch"
],
"reason": "merged by ancestor",
"result": null,
"flow": null
},
{
"branch": "topic/patch-local",
"worktree": null,
"head": null,
"detached": false,
"locked": null,
"worktree_state": null,
"staged": null,
"unstaged": null,
"untracked": null,
"upstream": null,
"ahead": null,
"behind": null,
"gone": false,
"local_sha": "6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a",
"remotes": {},
"compose_projects": [],
"images": [],
"state": "merged-clean",
"merged": true,
"dirty": 0,
"merged_by": "patch",
"merged_into": "origin/master",
"unpushed": null,
"last_activity": 1783873160,
"size_bytes": null,
"skip": null,
"actions": [
"local-branch"
],
"reason": "merged by patch",
"result": null,
"flow": null
},
{
"branch": "master",
"worktree": "@ROOT@/repos/git.example.org/anon/notes",
"head": "7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b",
"detached": false,
"locked": null,
"worktree_state": "clean",
"staged": 0,
"unstaged": 0,
"untracked": 0,
"upstream": "origin/master",
"ahead": 0,
"behind": 0,
"gone": false,
"local_sha": "7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b",
"remotes": {
"origin": "7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b"
},
"compose_projects": [],
"images": [],
"state": "protected",
"merged": true,
"dirty": 0,
"merged_by": null,
"merged_into": null,
"unpushed": null,
"last_activity": 1783873160,
"size_bytes": null,
"skip": null,
"actions": [],
"reason": "default or protected branch",
"result": null,
"flow": null
}
]
}
]
}