mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-08 22:21:45 +00:00
parent
b764f0c0f2
commit
f3a4b54407
6 changed files with 178 additions and 0 deletions
62
checkpoint.json
Normal file
62
checkpoint.json
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
{
|
||||
"timestamp": "2026-03-20T22:16:08.755754Z",
|
||||
"current_node": "triage",
|
||||
"completed_nodes": [
|
||||
"start",
|
||||
"triage"
|
||||
],
|
||||
"node_retries": {
|
||||
"start": 1,
|
||||
"triage": 1
|
||||
},
|
||||
"context_values": {
|
||||
"internal.retry_count.start": 1,
|
||||
"current_node": "triage",
|
||||
"failure_class": "",
|
||||
"response.triage": "Now I have all the data needed. Here's the full triage summary:\n\n---\n\n## 📋 Triage Summary — fabro-sh/fabro\n**Date:** 2026-03-20\n\n---\n\n### 📊 Totals\n\n| Category | Count |\n|---|---|\n| Open Pull Requests | **0** |\n| Open Issues | **11** |\n\n---\n\n### 🔀 Open Pull Requests\n\n**None.** No open PRs at this time. The repo appears to operate with a direct-to-main or fast-merge workflow — the 10 most recent commits in git log all landed directly (no PR merge commits visible).\n\n---\n\n### 🐛 Open Issues (11 total)\n\n| # | Title | Author | Age | Labels | Assigned |\n|---|---|---|---|---|---|\n| [#126](https://github.com/fabro-sh/fabro/issues/126) | Use short hex IDs for subagents instead of UUIDs | `brynary` | <1h | ❌ none | ❌ none |\n| [#125](https://github.com/fabro-sh/fabro/issues/125) | Fix stall watchdog false positives on active handlers | `brynary` | ~2h | ❌ none | ❌ none |\n| [#124](https://github.com/fabro-sh/fabro/issues/124) | Externalize LLM prompts as MiniJinja .j2 templates | `brynary` | ~2h | ❌ none | ❌ none |\n| [#123](https://github.com/fabro-sh/fabro/issues/123) | Publish Docker agent image to GHCR | `brynary` | ~2h | ❌ none | ❌ none |\n| [#121](https://github.com/fabro-sh/fabro/issues/121) | Refactor fabro-model: OOP redesign with Catalog, LanguageModel trait, ModelRef | `brynary` | ~2h | ❌ none | ❌ none |\n| [#120](https://github.com/fabro-sh/fabro/issues/120) | Support Anthropic fast mode (`speed: fast`) | `brynary` | ~3h | ❌ none | ❌ none |\n| [#119](https://github.com/fabro-sh/fabro/issues/119) | Linux arm64 binary? | `mikegehard` | ~9h | ❌ none | ❌ none |\n| [#118](https://github.com/fabro-sh/fabro/issues/118) | Stall watchdog kills review_fanout after 1800s despite branches running | `natea` | ~20h | ❌ none | ❌ none |\n| [#107](https://github.com/fabro-sh/fabro/issues/107) | Cannot pull fabro-agent Docker image: 404 / pull access denied | `natea` | ~22h | ❌ none | ❌ none |\n| [#98](https://github.com/fabro-sh/fabro/issues/98) | Installed Fabro cannot launch the documented server/web UI workflow | `zakelfassi` | 1 day | ❌ none | ❌ none |\n| [#93](https://github.com/fabro-sh/fabro/issues/93) | ACP protocol for CLI agents | `zharinov` | 2 days | ❌ none | ❌ none |\n\n---\n\n### ⏱️ Stale PRs (>7 days, no review activity)\n\n**None** — no open PRs.\n\n---\n\n### ⚠️ Issues Needing Attention\n\n#### 🔴 All issues are unassigned and unlabeled\nEvery single open issue has **no labels** and **no assignee**. This makes prioritisation, filtering, and routing impossible. Labelling is the highest-leverage triage action right now.\n\n#### 🔗 Linked Issue Clusters\n\n**Docker / GHCR cluster (2 issues):**\n- **#107** — Community bug: `fabro-agent:latest` returns a 404 on Docker Hub; users can't run any workflow using the Docker sandbox.\n- **#123** — Maintainer-filed: Publish the Docker agent image to GHCR. This is the direct fix for #107.\n- **Action:** Link #107 → #123. Once #123 ships, close #107 with a release note.\n\n**Stall watchdog cluster (2 issues):**\n- **#118** — Community bug: Stall watchdog fires after 1800s on a `review_fanout` fan-out node even though child branches were actively running. `brynary` has responded and asked for `progress.jsonl`.\n- **#125** — Maintainer-filed: Fix stall watchdog false positives on active handlers. This appears to be the tracking issue for the fix.\n- **Action:** Link #118 → #125. Close #118 when #125 ships.\n\n---\n\n### 🗂️ Issue Classification\n\n| Category | Issues |\n|---|---|\n| 🐞 **Bugs (community-reported)** | #118 (stall watchdog), #107 (Docker 404), #119 (arm64 binary question) |\n| 📐 **UX / Docs / Product clarity** | #98 (server/web UI launch story) |\n| 🚀 **Feature requests (community)** | #93 (ACP protocol), #119 (arm64 binary) |\n| 🛠️ **Planned work (maintainer-filed)** | #120, #121, #123, #124, #125, #126 |\n\n---\n\n### ✅ Recommended Actions\n\n1. **Add labels** to all 11 issues — at minimum `bug`, `enhancement`, `question`, `documentation`. Zero labels is the biggest triage gap.\n2. **Assign owners** — especially to the 3 user-reported bugs (#107, #118, #98) so reporters know someone is on it.\n3. **Link related issues** — #107 ↔ #123 and #118 ↔ #125 should reference each other explicitly.\n4. **Respond to #98** (`zakelfassi`) and **#93** (`zharinov`) — both are community members who have invested thought and are waiting for a product signal. `zharinov` is even volunteering to implement ACP support.\n5. **Close #119** once the arm64 binary (added in recent commit `bbfea71b`) is confirmed published to releases — it may already be resolved.",
|
||||
"thread.start.current_node": "triage",
|
||||
"internal.retry_count.triage": 1,
|
||||
"current.preamble": "Goal: Check open PRs and issues using the gh CLI and produce a triage summary\n",
|
||||
"internal.thread_id": "start",
|
||||
"last_stage": "triage",
|
||||
"internal.fidelity": "compact",
|
||||
"internal.node_visit_count": 1,
|
||||
"failure_signature": "",
|
||||
"internal.run_id": "01KM6N16D0BZQSM1W02XVPTKS9",
|
||||
"graph.rankdir": "LR",
|
||||
"graph.goal": "Check open PRs and issues using the gh CLI and produce a triage summary",
|
||||
"outcome": "success",
|
||||
"last_response": "Now I have all the data needed. Here's the full triage summary:\n\n---\n\n## 📋 Triage Summary — fabro-sh/fabro\n**Date:** 2026-03-20\n\n---\n\n### 📊 Totals\n\n| Category | Count |\n|---|---|\n| Open Pull R"
|
||||
},
|
||||
"logs": [],
|
||||
"node_outcomes": {
|
||||
"start": {
|
||||
"status": "success",
|
||||
"duration_ms": 0
|
||||
},
|
||||
"triage": {
|
||||
"status": "success",
|
||||
"context_updates": {
|
||||
"response.triage": "Now I have all the data needed. Here's the full triage summary:\n\n---\n\n## 📋 Triage Summary — fabro-sh/fabro\n**Date:** 2026-03-20\n\n---\n\n### 📊 Totals\n\n| Category | Count |\n|---|---|\n| Open Pull Requests | **0** |\n| Open Issues | **11** |\n\n---\n\n### 🔀 Open Pull Requests\n\n**None.** No open PRs at this time. The repo appears to operate with a direct-to-main or fast-merge workflow — the 10 most recent commits in git log all landed directly (no PR merge commits visible).\n\n---\n\n### 🐛 Open Issues (11 total)\n\n| # | Title | Author | Age | Labels | Assigned |\n|---|---|---|---|---|---|\n| [#126](https://github.com/fabro-sh/fabro/issues/126) | Use short hex IDs for subagents instead of UUIDs | `brynary` | <1h | ❌ none | ❌ none |\n| [#125](https://github.com/fabro-sh/fabro/issues/125) | Fix stall watchdog false positives on active handlers | `brynary` | ~2h | ❌ none | ❌ none |\n| [#124](https://github.com/fabro-sh/fabro/issues/124) | Externalize LLM prompts as MiniJinja .j2 templates | `brynary` | ~2h | ❌ none | ❌ none |\n| [#123](https://github.com/fabro-sh/fabro/issues/123) | Publish Docker agent image to GHCR | `brynary` | ~2h | ❌ none | ❌ none |\n| [#121](https://github.com/fabro-sh/fabro/issues/121) | Refactor fabro-model: OOP redesign with Catalog, LanguageModel trait, ModelRef | `brynary` | ~2h | ❌ none | ❌ none |\n| [#120](https://github.com/fabro-sh/fabro/issues/120) | Support Anthropic fast mode (`speed: fast`) | `brynary` | ~3h | ❌ none | ❌ none |\n| [#119](https://github.com/fabro-sh/fabro/issues/119) | Linux arm64 binary? | `mikegehard` | ~9h | ❌ none | ❌ none |\n| [#118](https://github.com/fabro-sh/fabro/issues/118) | Stall watchdog kills review_fanout after 1800s despite branches running | `natea` | ~20h | ❌ none | ❌ none |\n| [#107](https://github.com/fabro-sh/fabro/issues/107) | Cannot pull fabro-agent Docker image: 404 / pull access denied | `natea` | ~22h | ❌ none | ❌ none |\n| [#98](https://github.com/fabro-sh/fabro/issues/98) | Installed Fabro cannot launch the documented server/web UI workflow | `zakelfassi` | 1 day | ❌ none | ❌ none |\n| [#93](https://github.com/fabro-sh/fabro/issues/93) | ACP protocol for CLI agents | `zharinov` | 2 days | ❌ none | ❌ none |\n\n---\n\n### ⏱️ Stale PRs (>7 days, no review activity)\n\n**None** — no open PRs.\n\n---\n\n### ⚠️ Issues Needing Attention\n\n#### 🔴 All issues are unassigned and unlabeled\nEvery single open issue has **no labels** and **no assignee**. This makes prioritisation, filtering, and routing impossible. Labelling is the highest-leverage triage action right now.\n\n#### 🔗 Linked Issue Clusters\n\n**Docker / GHCR cluster (2 issues):**\n- **#107** — Community bug: `fabro-agent:latest` returns a 404 on Docker Hub; users can't run any workflow using the Docker sandbox.\n- **#123** — Maintainer-filed: Publish the Docker agent image to GHCR. This is the direct fix for #107.\n- **Action:** Link #107 → #123. Once #123 ships, close #107 with a release note.\n\n**Stall watchdog cluster (2 issues):**\n- **#118** — Community bug: Stall watchdog fires after 1800s on a `review_fanout` fan-out node even though child branches were actively running. `brynary` has responded and asked for `progress.jsonl`.\n- **#125** — Maintainer-filed: Fix stall watchdog false positives on active handlers. This appears to be the tracking issue for the fix.\n- **Action:** Link #118 → #125. Close #118 when #125 ships.\n\n---\n\n### 🗂️ Issue Classification\n\n| Category | Issues |\n|---|---|\n| 🐞 **Bugs (community-reported)** | #118 (stall watchdog), #107 (Docker 404), #119 (arm64 binary question) |\n| 📐 **UX / Docs / Product clarity** | #98 (server/web UI launch story) |\n| 🚀 **Feature requests (community)** | #93 (ACP protocol), #119 (arm64 binary) |\n| 🛠️ **Planned work (maintainer-filed)** | #120, #121, #123, #124, #125, #126 |\n\n---\n\n### ✅ Recommended Actions\n\n1. **Add labels** to all 11 issues — at minimum `bug`, `enhancement`, `question`, `documentation`. Zero labels is the biggest triage gap.\n2. **Assign owners** — especially to the 3 user-reported bugs (#107, #118, #98) so reporters know someone is on it.\n3. **Link related issues** — #107 ↔ #123 and #118 ↔ #125 should reference each other explicitly.\n4. **Respond to #98** (`zakelfassi`) and **#93** (`zharinov`) — both are community members who have invested thought and are waiting for a product signal. `zharinov` is even volunteering to implement ACP support.\n5. **Close #119** once the arm64 binary (added in recent commit `bbfea71b`) is confirmed published to releases — it may already be resolved.",
|
||||
"last_stage": "triage",
|
||||
"last_response": "Now I have all the data needed. Here's the full triage summary:\n\n---\n\n## 📋 Triage Summary — fabro-sh/fabro\n**Date:** 2026-03-20\n\n---\n\n### 📊 Totals\n\n| Category | Count |\n|---|---|\n| Open Pull R"
|
||||
},
|
||||
"notes": "Stage completed: triage",
|
||||
"usage": {
|
||||
"model": "claude-sonnet-4-6",
|
||||
"input_tokens": 6550,
|
||||
"output_tokens": 5010,
|
||||
"cache_read_tokens": 10083,
|
||||
"cache_write_tokens": 6590,
|
||||
"reasoning_tokens": 1476,
|
||||
"cost": 0.0948
|
||||
},
|
||||
"duration_ms": 82212
|
||||
}
|
||||
},
|
||||
"next_node_id": "exit",
|
||||
"node_visits": {
|
||||
"triage": 1,
|
||||
"start": 1
|
||||
}
|
||||
}
|
||||
6
nodes/start/status.json
Normal file
6
nodes/start/status.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"status": "success",
|
||||
"notes": null,
|
||||
"failure_reason": null,
|
||||
"timestamp": "2026-03-20T22:14:46.540816+00:00"
|
||||
}
|
||||
14
nodes/triage/prompt.md
Normal file
14
nodes/triage/prompt.md
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
Goal: Check open PRs and issues using the gh CLI and produce a triage summary
|
||||
|
||||
|
||||
Use the gh CLI to check the current repo for open pull requests and issues. Run these commands:
|
||||
|
||||
1. gh pr list --state open --limit 20
|
||||
2. gh issue list --state open --limit 20
|
||||
|
||||
Then produce a triage summary that includes:
|
||||
- Total count of open PRs and issues
|
||||
- For each PR: number, title, author, age, review status
|
||||
- For each issue: number, title, labels, age
|
||||
- Any PRs that look stale (older than 7 days with no review activity)
|
||||
- Any issues that are unassigned or unlabeled
|
||||
5
nodes/triage/provider_used.json
Normal file
5
nodes/triage/provider_used.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"mode": "agent",
|
||||
"provider": "anthropic",
|
||||
"model": "claude-sonnet-4-6"
|
||||
}
|
||||
85
nodes/triage/response.md
Normal file
85
nodes/triage/response.md
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
Now I have all the data needed. Here's the full triage summary:
|
||||
|
||||
---
|
||||
|
||||
## 📋 Triage Summary — fabro-sh/fabro
|
||||
**Date:** 2026-03-20
|
||||
|
||||
---
|
||||
|
||||
### 📊 Totals
|
||||
|
||||
| Category | Count |
|
||||
|---|---|
|
||||
| Open Pull Requests | **0** |
|
||||
| Open Issues | **11** |
|
||||
|
||||
---
|
||||
|
||||
### 🔀 Open Pull Requests
|
||||
|
||||
**None.** No open PRs at this time. The repo appears to operate with a direct-to-main or fast-merge workflow — the 10 most recent commits in git log all landed directly (no PR merge commits visible).
|
||||
|
||||
---
|
||||
|
||||
### 🐛 Open Issues (11 total)
|
||||
|
||||
| # | Title | Author | Age | Labels | Assigned |
|
||||
|---|---|---|---|---|---|
|
||||
| [#126](https://github.com/fabro-sh/fabro/issues/126) | Use short hex IDs for subagents instead of UUIDs | `brynary` | <1h | ❌ none | ❌ none |
|
||||
| [#125](https://github.com/fabro-sh/fabro/issues/125) | Fix stall watchdog false positives on active handlers | `brynary` | ~2h | ❌ none | ❌ none |
|
||||
| [#124](https://github.com/fabro-sh/fabro/issues/124) | Externalize LLM prompts as MiniJinja .j2 templates | `brynary` | ~2h | ❌ none | ❌ none |
|
||||
| [#123](https://github.com/fabro-sh/fabro/issues/123) | Publish Docker agent image to GHCR | `brynary` | ~2h | ❌ none | ❌ none |
|
||||
| [#121](https://github.com/fabro-sh/fabro/issues/121) | Refactor fabro-model: OOP redesign with Catalog, LanguageModel trait, ModelRef | `brynary` | ~2h | ❌ none | ❌ none |
|
||||
| [#120](https://github.com/fabro-sh/fabro/issues/120) | Support Anthropic fast mode (`speed: fast`) | `brynary` | ~3h | ❌ none | ❌ none |
|
||||
| [#119](https://github.com/fabro-sh/fabro/issues/119) | Linux arm64 binary? | `mikegehard` | ~9h | ❌ none | ❌ none |
|
||||
| [#118](https://github.com/fabro-sh/fabro/issues/118) | Stall watchdog kills review_fanout after 1800s despite branches running | `natea` | ~20h | ❌ none | ❌ none |
|
||||
| [#107](https://github.com/fabro-sh/fabro/issues/107) | Cannot pull fabro-agent Docker image: 404 / pull access denied | `natea` | ~22h | ❌ none | ❌ none |
|
||||
| [#98](https://github.com/fabro-sh/fabro/issues/98) | Installed Fabro cannot launch the documented server/web UI workflow | `zakelfassi` | 1 day | ❌ none | ❌ none |
|
||||
| [#93](https://github.com/fabro-sh/fabro/issues/93) | ACP protocol for CLI agents | `zharinov` | 2 days | ❌ none | ❌ none |
|
||||
|
||||
---
|
||||
|
||||
### ⏱️ Stale PRs (>7 days, no review activity)
|
||||
|
||||
**None** — no open PRs.
|
||||
|
||||
---
|
||||
|
||||
### ⚠️ Issues Needing Attention
|
||||
|
||||
#### 🔴 All issues are unassigned and unlabeled
|
||||
Every single open issue has **no labels** and **no assignee**. This makes prioritisation, filtering, and routing impossible. Labelling is the highest-leverage triage action right now.
|
||||
|
||||
#### 🔗 Linked Issue Clusters
|
||||
|
||||
**Docker / GHCR cluster (2 issues):**
|
||||
- **#107** — Community bug: `fabro-agent:latest` returns a 404 on Docker Hub; users can't run any workflow using the Docker sandbox.
|
||||
- **#123** — Maintainer-filed: Publish the Docker agent image to GHCR. This is the direct fix for #107.
|
||||
- **Action:** Link #107 → #123. Once #123 ships, close #107 with a release note.
|
||||
|
||||
**Stall watchdog cluster (2 issues):**
|
||||
- **#118** — Community bug: Stall watchdog fires after 1800s on a `review_fanout` fan-out node even though child branches were actively running. `brynary` has responded and asked for `progress.jsonl`.
|
||||
- **#125** — Maintainer-filed: Fix stall watchdog false positives on active handlers. This appears to be the tracking issue for the fix.
|
||||
- **Action:** Link #118 → #125. Close #118 when #125 ships.
|
||||
|
||||
---
|
||||
|
||||
### 🗂️ Issue Classification
|
||||
|
||||
| Category | Issues |
|
||||
|---|---|
|
||||
| 🐞 **Bugs (community-reported)** | #118 (stall watchdog), #107 (Docker 404), #119 (arm64 binary question) |
|
||||
| 📐 **UX / Docs / Product clarity** | #98 (server/web UI launch story) |
|
||||
| 🚀 **Feature requests (community)** | #93 (ACP protocol), #119 (arm64 binary) |
|
||||
| 🛠️ **Planned work (maintainer-filed)** | #120, #121, #123, #124, #125, #126 |
|
||||
|
||||
---
|
||||
|
||||
### ✅ Recommended Actions
|
||||
|
||||
1. **Add labels** to all 11 issues — at minimum `bug`, `enhancement`, `question`, `documentation`. Zero labels is the biggest triage gap.
|
||||
2. **Assign owners** — especially to the 3 user-reported bugs (#107, #118, #98) so reporters know someone is on it.
|
||||
3. **Link related issues** — #107 ↔ #123 and #118 ↔ #125 should reference each other explicitly.
|
||||
4. **Respond to #98** (`zakelfassi`) and **#93** (`zharinov`) — both are community members who have invested thought and are waiting for a product signal. `zharinov` is even volunteering to implement ACP support.
|
||||
5. **Close #119** once the arm64 binary (added in recent commit `bbfea71b`) is confirmed published to releases — it may already be resolved.
|
||||
6
nodes/triage/status.json
Normal file
6
nodes/triage/status.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"status": "success",
|
||||
"notes": "Stage completed: triage",
|
||||
"failure_reason": null,
|
||||
"timestamp": "2026-03-20T22:16:08.755019+00:00"
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue