diff --git a/docs/audits/2026-06-24-backlog-pr-audit.md b/docs/audits/2026-06-24-backlog-pr-audit.md new file mode 100644 index 0000000000..bd1175e892 --- /dev/null +++ b/docs/audits/2026-06-24-backlog-pr-audit.md @@ -0,0 +1,264 @@ +# Cloud Backlog and PR Integrity Audit Report + +## 1. Scope and timestamp + +| Field | Value | +|---|---| +| Repository | [Kilo-Org/cloud](https://github.com/Kilo-Org/cloud) | +| Audit date | 2026-06-24 | +| Scope | All open GitHub issues and all open pull requests at audit time | +| Open issues | 284 | +| Open pull requests | 64 | +| Total open items | 348 | + +This report consolidates three prior analyses into a single actionable document. No GitHub mutations were performed. + +## 2. Methodology and definitions + +### Data sources + +- GitHub issue/PR metadata, titles, bodies, labels, comments, reviews, and check status obtained via the GitHub API (`gh`). +- Diffs and changed-file lists for substantive pull requests. +- No local repository source code was executed or altered for the audit itself. + +### Definitions + +| Term | Definition | +|---|---| +| Proven duplicate issue | Issues with identical or near-identical titles and bodies, or body-token similarity ≥ 0.60, indicating a shared root cause and materially equivalent desired outcome. | +| Symptom cluster | Issues sharing broad keywords and body-token similarity ≥ 0.30. These are **not** claimed as proven duplicates. | +| Substantive PR | A feature/fix PR with more than 8 changed files or a large diff. Routine version bumps and dependency updates are excluded. | +| Issue-less PR | A substantive PR with no linked tracking issue. | +| Duplicate/competing PR | PRs with identical titles (ignoring version numbers) or strong title similarity plus ≥ 50% changed-file overlap. | +| Substantive human validation | A human-authored review (APPROVED / CHANGES_REQUESTED / COMMENTED with content) or a human comment that engages with the change, excluding stale-bot warnings and meta questions. | +| Automation indicator | Bot authorship, bot-only reviews, `Co-Authored-By` automation lines, or self-reported refinery markers. These are indicators, not proof of low quality. | + +### Confidence levels + +| Level | Meaning | +|---|---| +| High | Objective structural evidence (identical titles, > 0.60 body similarity, > 50% file overlap, or direct code concern). | +| Medium | Strong pattern match requiring human confirmation before action. | +| Low | Routine or low-risk item; documented for completeness. | + +## 3. Reconciled counts + +| Category | Count | +|---|---| +| Open issues | 284 | +| Open pull requests | 64 | +| High-confidence duplicate issue groups | 10 groups (21 issues) | +| Open issues already labeled `kilo-duplicate` | 6 | +| PRs referencing open issues without a closing keyword | 0 | +| Substantive issue-less PRs | 36 | +| Duplicate/competing PR groups | 2 groups (3 PRs) | +| Medium-confidence symptom clusters | 5 clusters (16 issues) | +| Bot-authored open PRs | 14 | +| Open PRs with no substantive human validation | 45 | + +## 4. Duplicate open issues (high confidence) + +Each row states a **proven** duplicate relationship based on title/body identity or ≥ 0.60 body-token similarity. The recommended action is to close the duplicate(s) in favor of the canonical issue. + +| Group | Canonical issue | Duplicate(s) | Evidence | Confidence | Recommended action | +|---|---|---|---|---|---| +| 1 | [#4186](https://github.com/Kilo-Org/cloud/issues/4186) [Gastown] Update: patrol triage role mismatch loop is unfixable from mayor side + self-feeding on escalations | [#4187](https://github.com/Kilo-Org/cloud/issues/4187) | Identical title; consolidated group of 2 with shared rig/symptom/outcome and pairwise body similarity ≥ 0.60. | High | Close #4187 as duplicate of #4186. | +| 2 | [#4147](https://github.com/Kilo-Org/cloud/issues/4147) [Gastown] Triage dispatch loop: patrol creates triage beads for non-triage-role poles, infinite retry with no back-off | [#4148](https://github.com/Kilo-Org/cloud/issues/4148) | Identical title; consolidated group of 2 with shared rig/symptom/outcome and pairwise body similarity ≥ 0.60. | High | Close #4148 as duplicate of #4147. | +| 3 | [#2019](https://github.com/Kilo-Org/cloud/issues/2019) [Gastown] Create PRs at start of refinery step with full review status visibility | [#2020](https://github.com/Kilo-Org/cloud/issues/2020) | Identical title; consolidated group of 2 with shared rig/symptom/outcome and pairwise body similarity ≥ 0.60. | High | Close #2020 as duplicate of #2019. | +| 4 | [#2016](https://github.com/Kilo-Org/cloud/issues/2016) [Gastown] Feature request: Allow custom Docker image mount for agents | [#2017](https://github.com/Kilo-Org/cloud/issues/2017) | Identical title; consolidated group of 2 with shared rig/symptom/outcome and pairwise body similarity ≥ 0.60. | High | Close #2017 as duplicate of #2016. | +| 5 | [#2014](https://github.com/Kilo-Org/cloud/issues/2014) [Gastown] Convoy dependency enforcement bypassed: beads dispatched despite failed merge requests | [#2015](https://github.com/Kilo-Org/cloud/issues/2015) | Identical title; consolidated group of 2 with shared rig/symptom/outcome and pairwise body similarity ≥ 0.60. | High | Close #2015 as duplicate of #2014. | +| 6 | [#2004](https://github.com/Kilo-Org/cloud/issues/2004) [Gastown] Dispatch system stalled - all agents idle despite open beads in active convoys | [#2005](https://github.com/Kilo-Org/cloud/issues/2005) | Identical title; consolidated group of 2 with shared rig/symptom/outcome and pairwise body similarity ≥ 0.60. | High | Close #2005 as duplicate of #2004. | +| 7 | [#1980](https://github.com/Kilo-Org/cloud/issues/1980) [Gastown] Phantom escalation loop: "Duplicated code in VoiceJoin handler" fires repeatedly with no valid escalation ID | [#1981](https://github.com/Kilo-Org/cloud/issues/1981) | Identical title; consolidated group of 2 with shared rig/symptom/outcome and pairwise body similarity ≥ 0.60. | High | Close #1981 as duplicate of #1980. | +| 8 | [#1882](https://github.com/Kilo-Org/cloud/issues/1882) [Gastown] Recurring GitHub token expiration blocking git push on rig ef798611 (thegent-shm) | [#1883](https://github.com/Kilo-Org/cloud/issues/1883) | Identical title; consolidated group of 2 with shared rig/symptom/outcome and pairwise body similarity ≥ 0.60. | High | Close #1883 as duplicate of #1882. | +| 9 | [#1807](https://github.com/Kilo-Org/cloud/issues/1807) [Gastown] Polecat agents get 403 permission error when resolving triage requests | [#1808](https://github.com/Kilo-Org/cloud/issues/1808) | Identical title; consolidated group of 2 with shared rig/symptom/outcome and pairwise body similarity ≥ 0.60. | High | Close #1808 as duplicate of #1807. | +| 10 | [#1961](https://github.com/Kilo-Org/cloud/issues/1961) [Gastown] Critical infinite loop: Polecat agent continuously dispatched to triage | [#1962](https://github.com/Kilo-Org/cloud/issues/1962), [#1963](https://github.com/Kilo-Org/cloud/issues/1963) | Consolidated group of 3 with shared rig/symptom/outcome and pairwise body similarity ≥ 0.60. | High | Close #1962 and #1963 as duplicates of #1961. | + +## 5. Missing issue-PR relationships + +### 5.1 PRs referencing open issues without a closing keyword + +No open PRs were found that reference an open issue without an explicit closing keyword. The only PRs with issue links use closing keywords: + +- [#4137](https://github.com/Kilo-Org/cloud/pull/4137) closes [#4136](https://github.com/Kilo-Org/cloud/issues/4136). +- [#1432](https://github.com/Kilo-Org/cloud/pull/1432) closes [#1297](https://github.com/Kilo-Org/cloud/issues/1297). + +### 5.2 Substantive PRs without a tracking issue + +The following 36 PRs are substantive feature or fix work with no linked issue. These are **recommendations** to create a tracking issue or document why none is needed. + +| PR | Title | Author | Files | Approx. line changes | Evidence | Confidence | Recommended action | +|---|---|---|---|---|---|---|---| +| [#4220](https://github.com/Kilo-Org/cloud/pull/4220) | feat(coding-plans): expose managed plan usage | Human | 9 | +666 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#4218](https://github.com/Kilo-Org/cloud/pull/4218) | Bitbucket - Add Bitbucket Integration | Human | 105 | +39,150 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#4211](https://github.com/Kilo-Org/cloud/pull/4211) | feat(api): add usage email filters and members endpoint | Human | 11 | +1,208 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#4206](https://github.com/Kilo-Org/cloud/pull/4206) | feat(usage): add ask usage | Human | 72 | +37,872 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#4199](https://github.com/Kilo-Org/cloud/pull/4199) | fix(cloud-agent-next): persist kilo import diagnostics | Bot | 13 | +789 | Substantive fix PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#4197](https://github.com/Kilo-Org/cloud/pull/4197) | feat(headroom): add compress worker | Human | 21 | +1,834 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#4168](https://github.com/Kilo-Org/cloud/pull/4168) | feat(mcp): add native /mcp for cost control | Human | 39 | +36,198 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#4164](https://github.com/Kilo-Org/cloud/pull/4164) | feat(extension): add browser agent side panel | Human | 100 | +16,158 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#4134](https://github.com/Kilo-Org/cloud/pull/4134) | feat(mcp-gateway): durable per-client OAuth grants and Authorized Clients UI | Human | 172 | +8,983 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#4133](https://github.com/Kilo-Org/cloud/pull/4133) | chore(dev): cloud reviews local testing E2E | Human | 20 | +1,528 | Substantive tooling PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#4056](https://github.com/Kilo-Org/cloud/pull/4056) | feat(ai-gateway): add organization auto model routing | Human | 42 | +5,004 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#4035](https://github.com/Kilo-Org/cloud/pull/4035) | feat: AgentCard OAuth integration + agent skill | Human | 33 | +34,050 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#4005](https://github.com/Kilo-Org/cloud/pull/4005) | feat(auto-routing): Morph model router decisions for kilo-auto tiers | Human | 15 | +1,130 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3980](https://github.com/Kilo-Org/cloud/pull/3980) | Cloud Agent Next - Add Guarded PR Staging Deployments | Human | 10 | +729 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3974](https://github.com/Kilo-Org/cloud/pull/3974) | feat(cloud-agent): cache prepared workspaces | Human | 25 | +2,350 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3973](https://github.com/Kilo-Org/cloud/pull/3973) | fix(code-reviews): expire stale reviews | Human | 8 | +269 | Substantive fix PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3957](https://github.com/Kilo-Org/cloud/pull/3957) | refactor(cloud-agent): remove legacy runtime | Human | 189 | +13,635 | Substantive refactor PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3919](https://github.com/Kilo-Org/cloud/pull/3919) | fix(cloud-agent-next): refresh generic git credentials | Human | 13 | +508 | Substantive fix PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3908](https://github.com/Kilo-Org/cloud/pull/3908) | fix(cloud-agent): recover sessions after runtime starvation | Human | 22 | +1,363 | Substantive fix PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3860](https://github.com/Kilo-Org/cloud/pull/3860) | feat(cloud-agent): expand Kilo facade session API | Human | 90 | +42,344 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3817](https://github.com/Kilo-Org/cloud/pull/3817) | fix(ai-gateway): make SSE rewriting stream-safe | Human | 8 | +591 | Substantive fix PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3649](https://github.com/Kilo-Org/cloud/pull/3649) | fix(gastown): stop logging town config secrets | Bot | 9 | +522 | Substantive fix PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3632](https://github.com/Kilo-Org/cloud/pull/3632) | fix(cloud-agent-next): diagnose kilo import failures | Bot | 5 | +685 | Substantive fix PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3623](https://github.com/Kilo-Org/cloud/pull/3623) | fix(kilo-pass): remove grandfathered second-month 50% bonus promo | Bot | 17 | +483 | Substantive billing/promo PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3459](https://github.com/Kilo-Org/cloud/pull/3459) | fix(users): populate derived emails for bots and deletions | Human | 10 | +202 | Substantive fix PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3432](https://github.com/Kilo-Org/cloud/pull/3432) | feat(gastown): show admin bead failure reasons | Bot | 27 | +1,145 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3428](https://github.com/Kilo-Org/cloud/pull/3428) | fix(gastown): tag structured logs with town IDs | Bot | 26 | +1,210 | Substantive fix PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3424](https://github.com/Kilo-Org/cloud/pull/3424) | feat(ui): add Gastown badge to SessionsList | Human | 18 | +933 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3353](https://github.com/Kilo-Org/cloud/pull/3353) | chore(gastown): stage release updates | Human | 61 | +4,395 | Substantive release chore with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3327](https://github.com/Kilo-Org/cloud/pull/3327) | feat(teams): add Microsoft Teams bot integration | Human | 31 | +25,694 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3311](https://github.com/Kilo-Org/cloud/pull/3311) | feat(kilo-chat): auto-open chat conversations | Human | 8 | +773 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#3209](https://github.com/Kilo-Org/cloud/pull/3209) | feat(github): MVP commit-as-user via GitHub App user-to-server tokens | Bot | 40 | +24,510 | Substantive security feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#2851](https://github.com/Kilo-Org/cloud/pull/2851) | feat(emails): transactional emails for top-up and KiloClaw purchase | Bot | 12 | +20,104 | Substantive billing feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#1646](https://github.com/Kilo-Org/cloud/pull/1646) | adding bulk trial extension dash | Human | 12 | +15,689 | Substantive feature PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#1528](https://github.com/Kilo-Org/cloud/pull/1528) | fix(cloud-agent): surface setup stderr during preparation | Human | 13 | +219 | Substantive fix PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | +| [#1401](https://github.com/Kilo-Org/cloud/pull/1401) | fix(cloud-agent): return 4xx for branch-not-found instead of 500 | Human | 10 | +543 | Substantive fix PR with no issue reference. | Medium | Create a tracking issue or document why none is needed. | + +## 6. Duplicate or competing PRs + +Duplicate/competing PRs were identified by identical title pattern or strong title similarity plus ≥ 50% changed-file overlap. The recommendation considers correctness, scope, review state, and maintainability rather than age alone. + +| Group | Preferred PR | Duplicate/competing PR(s) | Overlap evidence | Check/review state | Recommended action | Confidence | +|---|---|---|---|---|---|---| +| A | [#4231](https://github.com/Kilo-Org/cloud/pull/4231) `feat(kiloclaw): bump openclaw to version 2026.6.10` | [#4145](https://github.com/Kilo-Org/cloud/pull/4145) `feat(kiloclaw): bump openclaw to version 2026.6.9` | Identical title pattern; both bump the same dependency in the same package. #4231 targets the newer version (2026.6.10); #4145 targets 2026.6.9. | Both draft; no reviews or comments; both authored by `github-actions[bot]`. No failing required checks. | Retain #4231 as the more current version bump. Close #4145 once #4231 is merged or confirmed to supersede it. | High | +| B | [#4199](https://github.com/Kilo-Org/cloud/pull/4199) `fix(cloud-agent-next): persist kilo import diagnostics` | [#3632](https://github.com/Kilo-Org/cloud/pull/3632) `fix(cloud-agent-next): diagnose kilo import failures` | 60% changed-file overlap in `services/cloud-agent-next/wrapper/src/restore-session.test.ts`, `restore-session.ts`, and `utils.ts`; title similarity 0.60. | Neither PR has substantive human review. #4199 is more recent and broader in scope (persist diagnostics vs. diagnose failures). | Review both together. If #4199 covers the same problem and includes the diagnostics persistence logic, close #3632 in favor of #4199. | High | + +## 7. Symptom clusters (medium confidence, not proven duplicates) + +These clusters group issues that share broad symptom keywords and body-token similarity ≥ 0.30. They are **not** proven duplicates; human review is needed to determine whether they are distinct manifestations of the same root cause or should be consolidated. + +| Canonical issue | Cluster members | Evidence | Confidence | Recommended action | +|---|---|---|---|---| +| [#4147](https://github.com/Kilo-Org/cloud/issues/4147) [Gastown] Triage dispatch loop: patrol creates triage beads for non-triage-role poles, infinite retry with no back-off | [#4147](https://github.com/Kilo-Org/cloud/issues/4147), [#4148](https://github.com/Kilo-Org/cloud/issues/4148), [#4186](https://github.com/Kilo-Org/cloud/issues/4186), [#4187](https://github.com/Kilo-Org/cloud/issues/4187) | 4 issues sharing broad symptom keywords and body similarity ≥ 0.30; may share root cause. #4147/#4148 and #4186/#4187 are already flagged as high-confidence duplicates in §4. | Medium | Review cluster to identify true duplicates vs. distinct manifestations; consolidate where appropriate. | +| [#3883](https://github.com/Kilo-Org/cloud/issues/3883) [Gastown] Patrol agent in infinite escalation loop on missing bead references | [#3883](https://github.com/Kilo-Org/cloud/issues/3883), [#3884](https://github.com/Kilo-Org/cloud/issues/3884), [#3885](https://github.com/Kilo-Org/cloud/issues/3885) | 3 issues sharing broad symptom keywords and body similarity ≥ 0.30. | Medium | Review cluster to identify true duplicates vs. distinct manifestations; consolidate where appropriate. | +| [#3780](https://github.com/Kilo-Org/cloud/issues/3780) [Gastown] Patrol assigned gt:triage batch to polecat instead of triage-capable agent | [#3780](https://github.com/Kilo-Org/cloud/issues/3780), [#3785](https://github.com/Kilo-Org/cloud/issues/3785), [#3786](https://github.com/Kilo-Org/cloud/issues/3786) | 3 issues sharing broad symptom keywords and body similarity ≥ 0.30. | Medium | Review cluster to identify true duplicates vs. distinct manifestations; consolidate where appropriate. | +| [#2009](https://github.com/Kilo-Org/cloud/issues/2009) [Gastown] Git push authentication failures blocking bead completion | [#2009](https://github.com/Kilo-Org/cloud/issues/2009), [#2010](https://github.com/Kilo-Org/cloud/issues/2010), [#2018](https://github.com/Kilo-Org/cloud/issues/2018) | 3 issues sharing broad symptom keywords and body similarity ≥ 0.30. | Medium | Review cluster to identify true duplicates vs. distinct manifestations; consolidate where appropriate. | +| [#1957](https://github.com/Kilo-Org/cloud/issues/1957) [Gastown] Polecat agent stuck in triage role mismatch loop | [#1957](https://github.com/Kilo-Org/cloud/issues/1957), [#1962](https://github.com/Kilo-Org/cloud/issues/1962), [#1965](https://github.com/Kilo-Org/cloud/issues/1965) | 3 issues sharing broad symptom keywords and body similarity ≥ 0.30. #1962 is already flagged as a high-confidence duplicate of #1961 in §4. | Medium | Review cluster to identify true duplicates vs. distinct manifestations; consolidate where appropriate. | + +## 8. Issues already labeled `kilo-duplicate` + +These issues already carry the `kilo-duplicate` label. The recommended action assumes the referenced open issue is the canonical one. + +| Issue | References open issue(s) | Evidence | Recommended action | +|---|---|---|---| +| [#1515](https://github.com/Kilo-Org/cloud/issues/1515) fix(gastown): PTY sessions disconnect when switching agents — should persist in background | [#1489](https://github.com/Kilo-Org/cloud/issues/1489) | Carries `kilo-duplicate` label and references open issue #1489. | Close #1515 as duplicate of #1489 if #1489 is canonical. | +| [#1512](https://github.com/Kilo-Org/cloud/issues/1512) feat(gastown): Per-role model configuration in town settings — mayor, refinery, polecat | None found | Carries `kilo-duplicate` label; no open issue references found in body/comments. | Locate the canonical issue and close #1512 as duplicate, or remove the label if no duplicate exists. | +| [#1489](https://github.com/Kilo-Org/cloud/issues/1489) fix(gastown): Terminal PTY view corrupts intermittently — blacked out rows/columns until TUI redraw | None found | Carries `kilo-duplicate` label; no open issue references found in body/comments. | Locate the canonical issue and close #1489 as duplicate, or remove the label if no duplicate exists. | +| [#1402](https://github.com/Kilo-Org/cloud/issues/1402) feat(gastown): Billing integration — usage metering, limits, and cost visibility | [#1297](https://github.com/Kilo-Org/cloud/issues/1297) | Carries `kilo-duplicate` label and references open issue #1297. | Close #1402 as duplicate of #1297 if #1297 is canonical. | +| [#1136](https://github.com/Kilo-Org/cloud/issues/1136) Gastown Sync Update: 2026-03-16 — v0.7.0 through v0.12.1 | [#447](https://github.com/Kilo-Org/cloud/issues/447), [#1040](https://github.com/Kilo-Org/cloud/issues/1040) | Carries `kilo-duplicate` label and references open issues #447 and #1040. | Close #1136 as duplicate of the appropriate canonical issue, or remove the label if it is not a duplicate. | +| [#1073](https://github.com/Kilo-Org/cloud/issues/1073) Parallel Refinery: Per-Convoy Refinery Agents | None found | Carries `kilo-duplicate` label; no open issue references found in body/comments. | Locate the canonical issue and close #1073 as duplicate, or remove the label if no duplicate exists. | + +## 9. PR quality and human-validation gaps + +### 9.1 High-confidence findings + +High-confidence findings combine concrete quality concerns with absent substantive human validation. + +#### 9.1.1 Bot-authored repository policy changes with no human approval + +| PR | Title | Author | Changed files | Quality concern | Automation indicator | Human validation | Confidence | Recommended action | +|---|---|---|---|---|---|---|---|---| +| [#3420](https://github.com/Kilo-Org/cloud/pull/3420) | docs(review): enforce rule against challenging PR's stated intent | `app/kilo-code-bot` / `kiloconnect[bot]` | `REVIEW.md` (+17/-0) | Adds an "ABSOLUTE RULE" that reviewers must not challenge a PR's stated goal, scope, or design decisions unless the approach is "objectively unsafe." This weakens review standards and could suppress legitimate architectural or correctness concerns. | Bot-authored; commit message and body match an automation-generated policy draft. | None. Latest review and only comments are from `kilo-code-bot` and a stale-bot warning. | High | Block merge until a human maintainer reviews and either rejects or heavily revises the rule. | +| [#4105](https://github.com/Kilo-Org/cloud/pull/4105) | docs(review): update REVIEW.md guidance | `app/kilo-code-bot` / `kilo-code-bot[bot]` | `REVIEW.md` (+1/-0) | Adds a bullet claiming three "maintainer-accepted fixes" relate to audit-log correctness, but provides no links, issue references, or evidence of maintainer acceptance. The PR body contains ``, suggesting it originated from an automated memory mechanism. | Bot-authored with an automated-change-request marker. | None. No reviews or human comments. | High | Request the bot author or a human to cite the maintainer discussions or issue links that justify the guidance change. | + +#### 9.1.2 Large bot-authored feature PRs with no human validation + +| PR | Title | Author | Size | Quality concern | Automation indicator | Human validation | Confidence | Recommended action | +|---|---|---|---|---|---|---|---|---| +| [#3209](https://github.com/Kilo-Org/cloud/pull/3209) | feat(github): MVP commit-as-user via GitHub App user-to-server tokens | `app/kilo-code-bot` | +24,510 / -59, 40 files, 15 commits | Adds a new database table (`user_github_app_tokens`), encryption-key plumbing, OAuth callback routes, a migration, GDPR soft-delete handling, and worker utilities. A feature of this security sensitivity should not land without human security review. | Entirely bot-authored; multiple self-reported "Refinery code review passed" comments from the same bot. | None. Reviews are exclusively from `kilo-code-bot`, and the only other activity is from bots. | High | Require human security and domain review before merge. Do not rely solely on bot self-review. | +| [#2851](https://github.com/Kilo-Org/cloud/pull/2851) | feat(emails): transactional emails for top-up and KiloClaw purchase | `app/kilo-code-bot` / `kiloconnect[bot]` | +20,100 / -4, 12 files, 11 commits | Introduces billing-related transactional emails with idempotency logic tied to `credit_transactions.stripe_payment_id` and a new `kiloclaw_email_log` table. Sensitive to duplicate sends and subscription lifecycle edge cases. | Bot-authored. | Minimal. `jobrietbergen` asked "@evanjacobson this is already finished right? Can we close this?" — a meta question, not a review. Stale-bot warning present. No approving or change-requesting human review. | High | Either close as abandoned or route to a human reviewer for billing/email correctness validation. | + +### 9.2 Medium-confidence findings + +Medium-confidence findings have either a quality concern or a clear validation gap, but the evidence is less severe. + +#### 9.2.1 Bot-authored code changes with missing tests and no human review + +| PR | Title | Author | Size | Quality concern | Human validation | Confidence | Recommended action | +|---|---|---|---|---|---|---|---| +| [#3854](https://github.com/Kilo-Org/cloud/pull/3854) | fix(auto-triage): avoid regex code fence parsing | `app/kilo-code-bot` | +53 / -9, 1 file | Rewrites code-block extraction with a custom state machine; no new tests added. | None (only bot ``). | Medium | Require a human reviewer or add targeted tests before merge. | +| [#3384](https://github.com/Kilo-Org/cloud/pull/3384) | feat(posthog): add Redis-backed flag definition cache for local evaluation | `app/kilo-code-bot` | +154 / -23, 7 files | New distributed-lock cache implementation; no tests for lock contention, failure, or TTL edge cases. | None (bot + stale-bot only). | Medium | Require a human reviewer or add targeted tests before merge. | +| [#3658](https://github.com/Kilo-Org/cloud/pull/3658) | feat(bot): include Slack unfurled link previews in conversation context | `app/kilo-code-bot` | +63 / -5, 1 file | New attachment parsing logic; no tests. | None (only bot). | Medium | Require a human reviewer or add targeted tests before merge. | +| [#3812](https://github.com/Kilo-Org/cloud/pull/3812) | fix(admin): default trial org plan to enterprise when created from admin dashboard | `app/kilo-code-bot` | +7 / -1, 1 file | Single hard-coded `'enterprise'` string passed to `createOrganization`; no test coverage for the new default. | None (only bot). | Medium | Require a human reviewer or add targeted tests before merge. | +| [#3623](https://github.com/Kilo-Org/cloud/pull/3623) | fix(kilo-pass): remove grandfathered second-month 50% bonus promo | `app/kilo-code-bot` | +53 / -430, 17 files | Removes promo logic and updates tests accordingly; appears correct but is a billing/promotional change with no human review. | None (only bot). | Medium | Require a human reviewer or add targeted tests before merge. | + +#### 9.2.2 Large human-authored feature PRs with no human review + +These PRs are authored by humans but have no independent human review. Author self-comments and follow-up commits may be present. The absence of human review for large architectural changes is itself a risk. + +| PR | Author | Title | Size | Notes | Confidence | Recommended action | +|---|---|---|---|---|---|---| +| [#4134](https://github.com/Kilo-Org/cloud/pull/4134) | `pandemicsyn` | feat(mcp-gateway): durable per-client OAuth grants and Authorized Clients UI | +74,612 / -1,763, 172 files | Adds new table, migration, OAuth grant lifecycle, UI. Author self-reported follow-up commits, but no human reviewer. Verification checklist is empty. | Medium | Assign human security and domain reviewers before merge. | +| [#4218](https://github.com/Kilo-Org/cloud/pull/4218) | `eshurakov` | Bitbucket - Add Bitbucket Integration | +40,093 / -229, 105 files | Large new integration. Only bot review. | Medium | Assign human domain reviewers before merge. | +| [#4206](https://github.com/Kilo-Org/cloud/pull/4206) | `alex-alecu` | feat(usage): add ask usage | +37,537 / -335, 72 files | New usage telemetry. Only bot review. | Medium | Assign human domain reviewers before merge. | +| [#4168](https://github.com/Kilo-Org/cloud/pull/4168) | `alex-alecu` | feat(mcp): add native /mcp for cost control | +35,994 / -204, 39 files | Draft. Only bot + author self-comment. | Medium | Assign human domain reviewers before merge. | +| [#4035](https://github.com/Kilo-Org/cloud/pull/4035) | `keyserfaty` | feat: AgentCard OAuth integration + agent skill | +33,909 / -141, 33 files | Includes `Co-Authored-By: Claude Opus 4.8` in commit. Only bot review. | Medium | Assign human security and domain reviewers before merge. | +| [#3327](https://github.com/Kilo-Org/cloud/pull/3327) | `RSO` | feat(teams): add Microsoft Teams bot integration | +25,578 / -116, 31 files | Stale; only bot + stale-bot. | Medium | Assign human domain reviewers or close as abandoned. | +| [#4164](https://github.com/Kilo-Org/cloud/pull/4164) | `iscekic` | feat(extension): add browser agent side panel | +16,070 / -88, 100 files | New `apps/extension` package. Only bot review. | Medium | Assign human domain reviewers before merge. | + +#### 9.2.3 Unchecked verification claims + +| PR | Claim | Issue | Confidence | Recommended action | +|---|---|---|---|---| +| [#4134](https://github.com/Kilo-Org/cloud/pull/4134) | Verification checklist is empty (`- [ ]`). | Author did not confirm manual testing in the PR template. | Medium | Require verification evidence or independent reproduction. | +| [#4168](https://github.com/Kilo-Org/cloud/pull/4168) | Author commented "Manual test passed." | Self-reported only; no independent verification. | Medium | Require verification evidence or independent reproduction. | +| [#4105](https://github.com/Kilo-Org/cloud/pull/4105) | Claims "Three maintainer-accepted fixes" with no citations. | Unverified assertion in a policy doc. | Medium | Require verification evidence or independent reproduction. | + +### 9.3 Low-confidence / routine findings + +| PR | Title | State | Notes | Confidence | Recommended action | +|---|---|---|---|---|---| +| [#4231](https://github.com/Kilo-Org/cloud/pull/4231) | feat(kiloclaw): bump openclaw to version 2026.6.10 | Draft, no reviews/comments | Routine dependency bump by `github-actions[bot]`. Low risk but unvalidated. | Low | Close stale duplicates (#4145 vs #4231) and merge or route active drafts to reviewers when ready. | +| [#4145](https://github.com/Kilo-Org/cloud/pull/4145) | feat(kiloclaw): bump openclaw to version 2026.6.9 | Draft, no reviews/comments | Same as above; superseded by #4231. | Low | Close in favor of #4231 if redundant. | +| [#4220](https://github.com/Kilo-Org/cloud/pull/4220) | feat(coding-plans): expose managed plan usage | Draft, no reviews/comments | Well-tested; validation gap only. | Low | Route to reviewers when ready. | +| [#4197](https://github.com/Kilo-Org/cloud/pull/4197) | feat(headroom): add compress worker | Draft, no reviews/comments | New worker; no review. | Low | Route to reviewers when ready. | +| [#4005](https://github.com/Kilo-Org/cloud/pull/4005) | feat(auto-routing): Morph model router decisions for kilo-auto tiers | Draft, no reviews/comments | New routing logic; no review. | Low | Route to reviewers when ready. | +| [#2120](https://github.com/Kilo-Org/cloud/pull/2120) | feat(cloud-agent): prompt autocomplete (ghost text) | Draft, only author self-comment + stale-bot | Long-running draft. | Low | Route to reviewers or close as abandoned. | +| [#1582](https://github.com/Kilo-Org/cloud/pull/1582) | fix(claw): add Upgrade option to all toasts when adding secrets | Draft, human comments | Human comments present; not a validation gap. | Low | Continue existing review. | +| [#1379](https://github.com/Kilo-Org/cloud/pull/1379) | Add initial churnkey implementation spec | Draft, human comments | Spec-only; human discussion present. | Low | Continue existing review. | + +## 10. Cross-references and consistency notes + +The following issues appear in more than one section. The report resolves each consistently: + +| Issue | Sections | Resolution | +|---|---|---| +| #4147, #4148 | §4 (high-confidence duplicates) and §7 (symptom cluster) | Treated as proven duplicates in §4; the cluster in §7 is the broader medium-confidence grouping from which they were promoted. | +| #4186, #4187 | §4 (high-confidence duplicates) and §7 (symptom cluster) | Same as above: proven duplicates in §4, broader cluster in §7. | +| #1962 | §4 (duplicate of #1961) and §7 (cluster with #1957/#1965) | Treated as a proven duplicate of #1961 in §4; the cluster in §7 notes the related symptom set. | +| #4199, #3632 | §5.2 (issue-less PRs) and §6 (competing PRs) | Both lack tracking issues; #4199 is preferred in §6 due to broader scope, but both need human review. | + +No issue or PR is assigned contradictory actions across sections. + +## 11. Prioritized action checklist + +1. **Block or human-review policy PRs** [#3420](https://github.com/Kilo-Org/cloud/pull/3420) and [#4105](https://github.com/Kilo-Org/cloud/pull/4105) before merge. +2. **Require human security review** for [#3209](https://github.com/Kilo-Org/cloud/pull/3209) (GitHub App user-to-server tokens). +3. **Close proven duplicate issues** listed in §4 (10 groups, 21 issues). +4. **Resolve already-labeled duplicate issues** in §8: confirm canonical issues and close or relabel. +5. **Close or actively triage** [#2851](https://github.com/Kilo-Org/cloud/pull/2851) (questioned as finished) and [#4145](https://github.com/Kilo-Org/cloud/pull/4145) (superseded by #4231). +6. **Assign human reviewers** to large unaudited feature PRs in §9.2.2. +7. **Resolve competing PRs** in §6: merge or close #3632 and #4145 based on scope overlap with #4199 and #4231. +8. **Create tracking issues** for the 36 substantive issue-less PRs in §5.2, or document why none is needed. +9. **Add tests or human review** for the bot-authored changes in §9.2.1. +10. **Investigate symptom clusters** in §7 to identify additional duplicates or root-cause groupings. +11. **Update process guidance** so that bot-authored reviews are not treated as sufficient for non-trivial code, security, billing, or policy changes. + +## 12. Limitations + +- This audit inspected issue/PR metadata, diffs, comments, and reviews but did not execute tests or fully trace every code path. +- Automation indicators are based on authorship, bot-only activity, and explicit markers (e.g., ``, `Co-Authored-By`), not on prose-style heuristics. +- The analysis did not re-query live GitHub state during consolidation; counts reflect the snapshot taken on 2026-06-24. +- Body-token similarity thresholds (0.60 for duplicates, 0.30 for clusters) are conservative; some near-duplicates may fall below the threshold. +- Recommendations are reversible and intended for human review before any GitHub mutation. diff --git a/docs/audits/work/00-cloud-inventory.md b/docs/audits/work/00-cloud-inventory.md deleted file mode 100644 index c77894d4a5..0000000000 --- a/docs/audits/work/00-cloud-inventory.md +++ /dev/null @@ -1,391 +0,0 @@ -# Cloud Open Issues and Pull Requests Inventory - -**Scope:** Kilo-Org/cloud -**Date:** 2026-06-24 -**Open issues:** 284 -**Open pull requests:** 64 - -## Issue labels - -| Label | Count | -|---|---| -| stale | 84 | -| enhancement | 47 | -| kilo-triaged | 38 | -| bug | 34 | -| kilo-auto-fix | 32 | -| gt:core | 30 | -| P2 | 26 | -| P1 | 24 | -| gt:ui | 20 | -| design | 14 | -| gt:container | 12 | -| gt:mayor | 11 | -| P0 | 8 | -| P3 | 7 | -| gt:refinery | 6 | -| kilo-duplicate | 6 | -| gt:observability | 5 | -| gt:onboarding | 3 | -| documentation | 1 | -| help wanted | 1 | -| gt:billing | 1 | - -## Open issues list - -| # | Title | Labels | Created | Updated | -|---|---|---|---|---| -| [#4226](https://github.com/Kilo-Org/cloud/issues/4226) | [Gastown] Patrol triage doom-loop: empty dispatch + regenerating failed triage beads | | 2026-06-24 | 2026-06-24 | -| [#4222](https://github.com/Kilo-Org/cloud/issues/4222) | [Gastown] Triage patrol creating infinite loop of failed beads for mayor-level escalations | | 2026-06-24 | 2026-06-24 | -| [#4217](https://github.com/Kilo-Org/cloud/issues/4217) | [Gastown] PR #140: Syntax errors in P24 test_miniguide_page_schema.py | | 2026-06-23 | 2026-06-23 | -| [#4216](https://github.com/Kilo-Org/cloud/issues/4216) | [Gastown] Polecats in headless mode hang indefinitely on `edit` and `write` tool calls (requires UI confirmation) | | 2026-06-23 | 2026-06-23 | -| [#4214](https://github.com/Kilo-Org/cloud/issues/4214) | [Gastown] pr-feedback / rework dispatcher creates new beads indefinitely on MERGED/CLOSED PRs | | 2026-06-23 | 2026-06-23 | -| [#4213](https://github.com/Kilo-Org/cloud/issues/4213) | [Gastown] Patrol service spams "Triage batch" beads every ~60s in town 6b110d52 | | 2026-06-23 | 2026-06-23 | -| [#4195](https://github.com/Kilo-Org/cloud/issues/4195) | feat(web): use primary yellow for active/selected navigation item in app.kilo.ai | design | 2026-06-23 | 2026-06-23 | -| [#4187](https://github.com/Kilo-Org/cloud/issues/4187) | [Gastown] Update: patrol triage role mismatch loop is unfixable from mayor side + self-feeding on escalations | | 2026-06-22 | 2026-06-22 | -| [#4186](https://github.com/Kilo-Org/cloud/issues/4186) | [Gastown] Update: patrol triage role mismatch loop is unfixable from mayor side + self-feeding on escalations | | 2026-06-22 | 2026-06-22 | -| [#4182](https://github.com/Kilo-Org/cloud/issues/4182) | fix(web): repair app-shell landmarks and navigation state | bug, P1, design | 2026-06-22 | 2026-06-23 | -| [#4181](https://github.com/Kilo-Org/cloud/issues/4181) | fix(web): normalize UX copy to Kilo voice and terminology | enhancement, P2, design | 2026-06-22 | 2026-06-23 | -| [#4180](https://github.com/Kilo-Org/cloud/issues/4180) | fix(web): standardize responsive and accessible data tables | bug, P1, design | 2026-06-22 | 2026-06-23 | -| [#4179](https://github.com/Kilo-Org/cloud/issues/4179) | fix(web): make audited layouts and controls mobile-safe | bug, P1, design | 2026-06-22 | 2026-06-23 | -| [#4178](https://github.com/Kilo-Org/cloud/issues/4178) | fix(web): flatten nested cards and remove decorative product surfaces | enhancement, P2, design | 2026-06-22 | 2026-06-23 | -| [#4177](https://github.com/Kilo-Org/cloud/issues/4177) | fix(web): normalize product typography and technical-number formatting | enhancement, P2, design | 2026-06-22 | 2026-06-23 | -| [#4176](https://github.com/Kilo-Org/cloud/issues/4176) | fix(web): restore single-primary-action hierarchy and canonical button variants | enhancement, P1, design | 2026-06-22 | 2026-06-23 | -| [#4175](https://github.com/Kilo-Org/cloud/issues/4175) | fix(web): migrate feature colors and status mappings to semantic tokens | enhancement, P1, design | 2026-06-22 | 2026-06-23 | -| [#4174](https://github.com/Kilo-Org/cloud/issues/4174) | fix(web): honor reduced-motion preferences across product UI | bug, P1, design | 2026-06-22 | 2026-06-23 | -| [#4173](https://github.com/Kilo-Org/cloud/issues/4173) | fix(web): migrate custom overlays and confirmations to Radix primitives | bug, P1, design | 2026-06-22 | 2026-06-23 | -| [#4172](https://github.com/Kilo-Org/cloud/issues/4172) | fix(web): complete accessible form labeling and error associations | bug, P1, design | 2026-06-22 | 2026-06-23 | -| [#4171](https://github.com/Kilo-Org/cloud/issues/4171) | fix(web): replace nonsemantic controls with accessible interaction semantics | bug, P1, design | 2026-06-22 | 2026-06-23 | -| [#4170](https://github.com/Kilo-Org/cloud/issues/4170) | fix(web): align shared UI primitives with DESIGN.md | enhancement, P1, design | 2026-06-22 | 2026-06-23 | -| [#4160](https://github.com/Kilo-Org/cloud/issues/4160) | Mirror experimental.sandbox config key in cloud JSON schema | | 2026-06-22 | 2026-06-22 | -| [#4159](https://github.com/Kilo-Org/cloud/issues/4159) | feat(gastown): Slack notifications for convoys and town events | | 2026-06-22 | 2026-06-22 | -| [#4158](https://github.com/Kilo-Org/cloud/issues/4158) | Opencode go: estimated costs are not attracted | | 2026-06-22 | 2026-06-22 | -| [#4157](https://github.com/Kilo-Org/cloud/issues/4157) | Kilo Bot github app needs to have workflow privileges | | 2026-06-22 | 2026-06-22 | -| [#4148](https://github.com/Kilo-Org/cloud/issues/4148) | [Gastown] Triage dispatch loop: patrol creates triage beads for non-triage-role poles, infinite retry with no back-off | | 2026-06-22 | 2026-06-22 | -| [#4147](https://github.com/Kilo-Org/cloud/issues/4147) | [Gastown] Triage dispatch loop: patrol creates triage beads for non-triage-role poles, infinite retry with no back-off | | 2026-06-22 | 2026-06-22 | -| [#4146](https://github.com/Kilo-Org/cloud/issues/4146) | [Gastown] Escalation acknowledgment API returning 404 | | 2026-06-21 | 2026-06-21 | -| [#4144](https://github.com/Kilo-Org/cloud/issues/4144) | Creating PTY session... | bug | 2026-06-21 | 2026-06-21 | -| [#4143](https://github.com/Kilo-Org/cloud/issues/4143) | [Gastown] gt_request_changes API returning 500 blocks PR reviews | | 2026-06-20 | 2026-06-20 | -| [#4142](https://github.com/Kilo-Org/cloud/issues/4142) | [Gastown] Triage agent type/dispatch configuration error in katauser-go-be rig | | 2026-06-20 | 2026-06-20 | -| [#4141](https://github.com/Kilo-Org/cloud/issues/4141) | [Gastown] gt_request_changes API returns 500 while reviewing PR #2 | | 2026-06-20 | 2026-06-20 | -| [#4140](https://github.com/Kilo-Org/cloud/issues/4140) | feat(gateway): Add Hyper (hyper.charm.land) as a BYOK provider | | 2026-06-20 | 2026-06-20 | -| [#4138](https://github.com/Kilo-Org/cloud/issues/4138) | [Gastown] Gjentakende repo-korruptio: working tree tømmes ved hver dispatch (blokkerer hele riggen) | | 2026-06-20 | 2026-06-20 | -| [#4136](https://github.com/Kilo-Org/cloud/issues/4136) | Unauthenticated users can access /subscriptions and see raw authentication error | bug | 2026-06-20 | 2026-06-20 | -| [#4135](https://github.com/Kilo-Org/cloud/issues/4135) | [Gastown] Triage agents get 403 Forbidden when resolving triage requests on aruna rig | | 2026-06-19 | 2026-06-19 | -| [#4132](https://github.com/Kilo-Org/cloud/issues/4132) | [Gastown] Triage dispatch infinite loop: polecats lack triage role (403), escalations self-regenerate | | 2026-06-19 | 2026-06-19 | -| [#4121](https://github.com/Kilo-Org/cloud/issues/4121) | [Gastown] Vercel agent-session deploy hooks fail: noreply author email not associated with account | | 2026-06-19 | 2026-06-19 | -| [#4113](https://github.com/Kilo-Org/cloud/issues/4113) | [Gastown] Triage dispatch routes to polecat lacking gt_triage_resolve permission, causing infinite failure loop | | 2026-06-18 | 2026-06-18 | -| [#4104](https://github.com/Kilo-Org/cloud/issues/4104) | Support one company SSO setup across multiple organizations | | 2026-06-18 | 2026-06-18 | -| [#4084](https://github.com/Kilo-Org/cloud/issues/4084) | [Gastown] Polecat cannot close PRs created by other authors — gh token lacks ClosePullRequest permission on cross-author PRs | | 2026-06-18 | 2026-06-18 | -| [#4065](https://github.com/Kilo-Org/cloud/issues/4065) | [GasTown] Feature: CRUD Tooling for Rigs | | 2026-06-17 | 2026-06-17 | -| [#4061](https://github.com/Kilo-Org/cloud/issues/4061) | [Gastown] Feature: expose rig deletion in Mayor tools — `gt_delete_rig` with safety checks | | 2026-06-17 | 2026-06-17 | -| [#4060](https://github.com/Kilo-Org/cloud/issues/4060) | [Gastown] Feature: expose rig creation in Mayor tools — `gt_create_rig` (no gt install HQ required) | | 2026-06-17 | 2026-06-17 | -| [#4058](https://github.com/Kilo-Org/cloud/issues/4058) | [Gastown] Convoy marked "landed" with zero code changes — beads closed but no commits on branch | | 2026-06-17 | 2026-06-17 | -| [#4057](https://github.com/Kilo-Org/cloud/issues/4057) | [Gastown] Feature: polecat rate-limit awareness with model fallback and window-aware backoff | | 2026-06-17 | 2026-06-17 | -| [#4042](https://github.com/Kilo-Org/cloud/issues/4042) | [Gastown] Control-plane read/delete inconsistencies: empty gt_list_beads during convoy landing + gt_bead_delete returns 404 while succeeding | | 2026-06-16 | 2026-06-16 | -| [#4038](https://github.com/Kilo-Org/cloud/issues/4038) | [Gastown] Patrol assigns triage beads to polecats causing repeated escalations | | 2026-06-16 | 2026-06-16 | -| [#4021](https://github.com/Kilo-Org/cloud/issues/4021) | [Gastown] Patrol repeatedly creates triage batches for polecat when no triage-agent role exists | | 2026-06-15 | 2026-06-15 | -| [#4016](https://github.com/Kilo-Org/cloud/issues/4016) | [Gastown] GitHub authentication fails for bkg.rocks repository - all PR pushes blocked | | 2026-06-15 | 2026-06-15 | -| [#4015](https://github.com/Kilo-Org/cloud/issues/4015) | Channel Support: Matrix/Element for Kiloclaw | | 2026-06-14 | 2026-06-14 | -| [#4010](https://github.com/Kilo-Org/cloud/issues/4010) | Feat: Codex-style highly screenshot-able usage overview | | 2026-06-13 | 2026-06-13 | -| [#4007](https://github.com/Kilo-Org/cloud/issues/4007) | [Gastown] GitHub credentials invalid while creating PRs for DEVAPP convoy beads | | 2026-06-12 | 2026-06-12 | -| [#4006](https://github.com/Kilo-Org/cloud/issues/4006) | Review bot generates invalid redirect URL (/cloud-agent-fork/review/) | | 2026-06-12 | 2026-06-12 | -| [#3985](https://github.com/Kilo-Org/cloud/issues/3985) | [Gastown] Polecat agent Toast not picking up work consistently | | 2026-06-12 | 2026-06-12 | -| [#3953](https://github.com/Kilo-Org/cloud/issues/3953) | [Gastown] GitHub token invalid - cannot push branches or create PRs | | 2026-06-11 | 2026-06-11 | -| [#3944](https://github.com/Kilo-Org/cloud/issues/3944) | [Gastown] HERMES NEXUS patrol creates infinite triage batch beads - cannot be stopped by Mayor | | 2026-06-11 | 2026-06-18 | -| [#3886](https://github.com/Kilo-Org/cloud/issues/3886) | [Gastown] Polecat agents lack triage role permission — systemic escalation loop | | 2026-06-10 | 2026-06-10 | -| [#3885](https://github.com/Kilo-Org/cloud/issues/3885) | [Gastown] Patrol agent escalation loop persists after all work completed | | 2026-06-10 | 2026-06-10 | -| [#3884](https://github.com/Kilo-Org/cloud/issues/3884) | [Gastown] Patrol agent stuck in infinite triage loop - creates cascading escalations | | 2026-06-10 | 2026-06-10 | -| [#3883](https://github.com/Kilo-Org/cloud/issues/3883) | [Gastown] Patrol agent in infinite escalation loop on missing bead references | | 2026-06-10 | 2026-06-10 | -| [#3880](https://github.com/Kilo-Org/cloud/issues/3880) | [Gastown] HERMES NEXUS patrol loop - infinite triage batch creation with no agents | | 2026-06-09 | 2026-06-09 | -| [#3791](https://github.com/Kilo-Org/cloud/issues/3791) | [Placeholder] Smoke Test failure tacking | | 2026-06-08 | 2026-06-14 | -| [#3788](https://github.com/Kilo-Org/cloud/issues/3788) | [Gastown] Polecat agents corrupting git repository - staging all files for deletion | | 2026-06-07 | 2026-06-07 | -| [#3787](https://github.com/Kilo-Org/cloud/issues/3787) | Gas Town Major Repeatedly stuck | bug | 2026-06-07 | 2026-06-07 | -| [#3786](https://github.com/Kilo-Org/cloud/issues/3786) | [Gastown] Critical recurrence: gt:triage batches fail with missing gt_triage_resolve permission | | 2026-06-07 | 2026-06-07 | -| [#3785](https://github.com/Kilo-Org/cloud/issues/3785) | [Gastown] Patrol repeatedly assigns gt:triage batches to polecat agents | | 2026-06-07 | 2026-06-07 | -| [#3784](https://github.com/Kilo-Org/cloud/issues/3784) | [Gastown] Convoy dispatched integration bead while upstream dependencies were still in review/rework | | 2026-06-07 | 2026-06-07 | -| [#3783](https://github.com/Kilo-Org/cloud/issues/3783) | [Gastown] Triage agent role mismatch menyebabkan infinite escalation loop | | 2026-06-07 | 2026-06-07 | -| [#3782](https://github.com/Kilo-Org/cloud/issues/3782) | [Gastown] Beads failing after repeated dispatch attempts - merge queue/refinery issues | | 2026-06-06 | 2026-06-06 | -| [#3781](https://github.com/Kilo-Org/cloud/issues/3781) | [Gastown] Mayor chat window does not open when clicked in dashboard | | 2026-06-06 | 2026-06-06 | -| [#3780](https://github.com/Kilo-Org/cloud/issues/3780) | [Gastown] Patrol assigned gt:triage batch to polecat instead of triage-capable agent | | 2026-06-06 | 2026-06-06 | -| [#3767](https://github.com/Kilo-Org/cloud/issues/3767) | Creating PTY session.. Issue | bug | 2026-06-05 | 2026-06-21 | -| [#3756](https://github.com/Kilo-Org/cloud/issues/3756) | [Gastown] Polecats failing to complete work in waveterm-pwsh7-mcp rig | | 2026-06-05 | 2026-06-05 | -| [#3720](https://github.com/Kilo-Org/cloud/issues/3720) | [Gastown] GitHub API token (GH_TOKEN) invalid - PR creation blocked | | 2026-06-03 | 2026-06-03 | -| [#3716](https://github.com/Kilo-Org/cloud/issues/3716) | [Feature Request] Expose real-time MiniMax quota / remaining requests for Token Plan Plus users | | 2026-06-03 | 2026-06-14 | -| [#3708](https://github.com/Kilo-Org/cloud/issues/3708) | [Gastown] Convoy review-then-land blocks all beads when one fails review | | 2026-06-03 | 2026-06-03 | -| [#3707](https://github.com/Kilo-Org/cloud/issues/3707) | [Gastown] Unclear error message when gt_sling_batch missing depends_on and parallel not set | | 2026-06-03 | 2026-06-03 | -| [#3706](https://github.com/Kilo-Org/cloud/issues/3706) | [Gastown] Rig repository checkout results in empty working tree with all files deleted | | 2026-06-03 | 2026-06-03 | -| [#3670](https://github.com/Kilo-Org/cloud/issues/3670) | [Gastown] Triage agent (Birch) stuck in permission/role mismatch loop — spawns endless failed triage batches | | 2026-06-02 | 2026-06-02 | -| [#3669](https://github.com/Kilo-Org/cloud/issues/3669) | [Gastown] Polecat agents lack .NET SDK — cannot build/test .NET projects | | 2026-06-02 | 2026-06-02 | -| [#3654](https://github.com/Kilo-Org/cloud/issues/3654) | fix(ai-gateway): distinguish Alibaba explicit and implicit cache pricing | | 2026-06-02 | 2026-06-02 | -| [#3652](https://github.com/Kilo-Org/cloud/issues/3652) | bug(usage): Considerable delay in usage population | | 2026-06-02 | 2026-06-02 | -| [#3645](https://github.com/Kilo-Org/cloud/issues/3645) | [Gastown] Convoy lands while tracked beads are still failed | | 2026-06-01 | 2026-06-01 | -| [#3607](https://github.com/Kilo-Org/cloud/issues/3607) | [Gastown] GitHub token authentication failure and Vercel access issues blocking polecat deployments | | 2026-05-30 | 2026-05-30 | -| [#3604](https://github.com/Kilo-Org/cloud/issues/3604) | [Gastown] Phoenix project initialization stalled on Elixir download | | 2026-05-29 | 2026-05-29 | -| [#3600](https://github.com/Kilo-Org/cloud/issues/3600) | [Gastown] Polecats stuck in "working" state with zero code output for 5+ hours | | 2026-05-29 | 2026-05-29 | -| [#3586](https://github.com/Kilo-Org/cloud/issues/3586) | feat(usage): Add an individual sessions view | | 2026-05-29 | 2026-06-02 | -| [#3585](https://github.com/Kilo-Org/cloud/issues/3585) | ux(usage): Save last used filters to local storage so they automatically repopulate | | 2026-05-29 | 2026-06-02 | -| [#3584](https://github.com/Kilo-Org/cloud/issues/3584) | regression(usage): Cached token usage no longer displayed | | 2026-05-29 | 2026-06-02 | -| [#3570](https://github.com/Kilo-Org/cloud/issues/3570) | [Gastown] Spawning triage escalations even after resolution | | 2026-05-28 | 2026-05-28 | -| [#3538](https://github.com/Kilo-Org/cloud/issues/3538) | [Gastown] Beads flap in_progress↔open while polecat is heartbeating (container eviction event mishandled) | gt:core | 2026-05-27 | 2026-05-27 | -| [#3511](https://github.com/Kilo-Org/cloud/issues/3511) | [Gastown] Patrol creates triage batch beads assigned to polecats that lack triage permission | | 2026-05-27 | 2026-05-27 | -| [#3505](https://github.com/Kilo-Org/cloud/issues/3505) | Enrich Stripe abuse event payloads for Radar and charge summaries | | 2026-05-26 | 2026-05-26 | -| [#3503](https://github.com/Kilo-Org/cloud/issues/3503) | [Gastown] GitHub CLI authentication failure preventing PR creation | | 2026-05-26 | 2026-05-26 | -| [#3486](https://github.com/Kilo-Org/cloud/issues/3486) | [Gastown] Kilo Code Review model unavailable — refinery cannot review PRs on hema-gear-hub rig | | 2026-05-26 | 2026-05-26 | -| [#3476](https://github.com/Kilo-Org/cloud/issues/3476) | Mayor lost the plan | bug | 2026-05-26 | 2026-05-26 | -| [#3475](https://github.com/Kilo-Org/cloud/issues/3475) | Says it asked questions, but no questions in sight | bug | 2026-05-26 | 2026-05-26 | -| [#3472](https://github.com/Kilo-Org/cloud/issues/3472) | [Gastown] Triage loop: escalations create triage batches that fail, creating more escalations infinitely | | 2026-05-25 | 2026-05-25 | -| [#3457](https://github.com/Kilo-Org/cloud/issues/3457) | [Gastown] gt_request_changes API returning 500 on hema-gear-hub rig | | 2026-05-25 | 2026-05-25 | -| [#3450](https://github.com/Kilo-Org/cloud/issues/3450) | [Gastown] Polecat agent (Toast) not creating files - dispatch attempts maxing out without progress | | 2026-05-25 | 2026-05-25 | -| [#3441](https://github.com/Kilo-Org/cloud/issues/3441) | [Gastown] GitHub token lacks write:packages permission for Aruna rig (GitHub Packages publishing) | | 2026-05-24 | 2026-05-24 | -| [#3438](https://github.com/Kilo-Org/cloud/issues/3438) | [Gastown] Triage patrol repeatedly creates failed gt:triage beads after GitHub token 401 | | 2026-05-23 | 2026-05-23 | -| [#3437](https://github.com/Kilo-Org/cloud/issues/3437) | Getting 500 errors when using Gas Town | bug | 2026-05-22 | 2026-05-22 | -| [#3436](https://github.com/Kilo-Org/cloud/issues/3436) | [Gastown] Convoy dependency resolution dispatches beads before dependencies are closed | | 2026-05-22 | 2026-05-22 | -| [#3430](https://github.com/Kilo-Org/cloud/issues/3430) | [Gastown] Polecat agent Toast repeatedly fails on objektkeepr rig - zero commits after 10+ dispatch attempts | | 2026-05-22 | 2026-05-22 | -| [#3410](https://github.com/Kilo-Org/cloud/issues/3410) | [Gastown] Triage agent has polecat role — gets 403 Forbidden on triage resolve API | | 2026-05-22 | 2026-05-22 | -| [#3409](https://github.com/Kilo-Org/cloud/issues/3409) | [Gastown] Triage resolve API returning 500 errors in rig 1c8bcfd9 | | 2026-05-22 | 2026-05-22 | -| [#3377](https://github.com/Kilo-Org/cloud/issues/3377) | [Gastown] No agents registered in rig after convoy dispatch | | 2026-05-21 | 2026-05-21 | -| [#3368](https://github.com/Kilo-Org/cloud/issues/3368) | Improve Gastown cold-start to mayor-ready latency | | 2026-05-20 | 2026-05-20 | -| [#3351](https://github.com/Kilo-Org/cloud/issues/3351) | feat(gastown): use container outbound handlers for provider API access | | 2026-05-19 | 2026-05-19 | -| [#3350](https://github.com/Kilo-Org/cloud/issues/3350) | bug(wasteland): wl done can skip completion insert on in-review branch | | 2026-05-19 | 2026-05-19 | -| [#3343](https://github.com/Kilo-Org/cloud/issues/3343) | [Gastown] Repeated triage batch bead failures during early Gastown use | | 2026-05-19 | 2026-05-19 | -| [#3306](https://github.com/Kilo-Org/cloud/issues/3306) | feat(gastown): add per-rig setup commands | | 2026-05-18 | 2026-05-18 | -| [#3242](https://github.com/Kilo-Org/cloud/issues/3242) | feat(admin): add session context and cost observer | enhancement, gt:ui, gt:observability | 2026-05-14 | 2026-05-14 | -| [#3240](https://github.com/Kilo-Org/cloud/issues/3240) | you can't copy commands into the terminal | bug | 2026-05-14 | 2026-05-14 | -| [#3207](https://github.com/Kilo-Org/cloud/issues/3207) | [Gastown] Design exploration: per-task-type model selection | gt:core | 2026-05-12 | 2026-05-12 | -| [#3190](https://github.com/Kilo-Org/cloud/issues/3190) | [Gastown] Design exploration: local-mode (compute on user's machine, data in cloud) | gt:core, gt:container | 2026-05-11 | 2026-05-11 | -| [#3085](https://github.com/Kilo-Org/cloud/issues/3085) | fix(usage): Usage tab displays dates in UTC instead of user's local timezone | | 2026-05-07 | 2026-05-07 | -| [#3076](https://github.com/Kilo-Org/cloud/issues/3076) | [Gastown] Convoy beads not dispatching to agents | | 2026-05-06 | 2026-05-06 | -| [#3046](https://github.com/Kilo-Org/cloud/issues/3046) | [Gastown] Refinery stuck: 4 beads in_review for 40+ minutes with no review/merge | | 2026-05-05 | 2026-05-05 | -| [#3036](https://github.com/Kilo-Org/cloud/issues/3036) | Cloud Agent asks whether to implement in new session or here - after implementation is done. | | 2026-05-04 | 2026-05-04 | -| [#2976](https://github.com/Kilo-Org/cloud/issues/2976) | [Gastown] Rig has no agents - beads cannot be dispatched | | 2026-04-30 | 2026-04-30 | -| [#2973](https://github.com/Kilo-Org/cloud/issues/2973) | feat(gastown): Redesign onboarding — seeded working town, mayor-guided setup, user-assigned beads | enhancement, gt:ui, gt:onboarding, gt:mayor, P1 | 2026-04-30 | 2026-04-30 | -| [#2880](https://github.com/Kilo-Org/cloud/issues/2880) | [Gastown] Gastown API returning 401 Token expired after token refresh | | 2026-04-29 | 2026-04-29 | -| [#2878](https://github.com/Kilo-Org/cloud/issues/2878) | [Gastown] 403 on gt_triage_resolve - triage batch blocked | | 2026-04-29 | 2026-04-29 | -| [#2853](https://github.com/Kilo-Org/cloud/issues/2853) | Clean up provider policy migration marker after allow-list backfill | | 2026-04-28 | 2026-04-28 | -| [#2850](https://github.com/Kilo-Org/cloud/issues/2850) | feat(claw): Add kimi-coding/kimi-for-coding to KiloClaw model allowlist | | 2026-04-28 | 2026-04-28 | -| [#2817](https://github.com/Kilo-Org/cloud/issues/2817) | [Gastown] CRITICAL: Recurring triage agent role mismatch - system down | | 2026-04-25 | 2026-04-25 | -| [#2816](https://github.com/Kilo-Org/cloud/issues/2816) | [Gastown] High-severity escalation: Triage agent role mismatch | | 2026-04-25 | 2026-04-25 | -| [#2812](https://github.com/Kilo-Org/cloud/issues/2812) | [Gastown] Verification-only convoy re-escalates on empty review branch diff | stale | 2026-04-25 | 2026-06-24 | -| [#2811](https://github.com/Kilo-Org/cloud/issues/2811) | [Gastown] Polecats repeatedly stage deletion of all files in shared main repo worktree | stale | 2026-04-24 | 2026-06-24 | -| [#2805](https://github.com/Kilo-Org/cloud/issues/2805) | feat(claw): Add list of `openai-codex` models to the "Default Model" configuration | | 2026-04-24 | 2026-06-04 | -| [#2789](https://github.com/Kilo-Org/cloud/issues/2789) | [Gastown] Request for Fixer tier escalation - paid model required | stale | 2026-04-24 | 2026-06-24 | -| [#2771](https://github.com/Kilo-Org/cloud/issues/2771) | feat: Create Bead UI with AI enrichment and mayor notification | enhancement, stale | 2026-04-23 | 2026-06-23 | -| [#2745](https://github.com/Kilo-Org/cloud/issues/2745) | [Gastown] gt_triage_resolve returning HTTP 500 — triage agents cannot close escalations | stale | 2026-04-23 | 2026-06-23 | -| [#2737](https://github.com/Kilo-Org/cloud/issues/2737) | Gastown API Error (401): Token Expired | bug, stale | 2026-04-23 | 2026-06-23 | -| [#2638](https://github.com/Kilo-Org/cloud/issues/2638) | [Gastown] Toast agent stuck on scaffolding bead, convoy blocked | stale | 2026-04-20 | 2026-06-20 | -| [#2599](https://github.com/Kilo-Org/cloud/issues/2599) | feat: add option to hide forks when selecting repos | stale | 2026-04-20 | 2026-06-20 | -| [#2596](https://github.com/Kilo-Org/cloud/issues/2596) | [Gastown] Polecat loops indefinitely reading files when task is already complete (no gt_done call) | stale | 2026-04-19 | 2026-06-19 | -| [#2595](https://github.com/Kilo-Org/cloud/issues/2595) | [Gastown] Recurring "Cannot find feature branch for review" escalation loop | stale | 2026-04-19 | 2026-06-19 | -| [#2594](https://github.com/Kilo-Org/cloud/issues/2594) | [Gastown] Cannot find feature branch for review - bead closed without work pushed | stale | 2026-04-19 | 2026-06-20 | -| [#2592](https://github.com/Kilo-Org/cloud/issues/2592) | [Gastown] Main worktree has all files staged for deletion — blocks refinery merge | stale | 2026-04-19 | 2026-06-20 | -| [#2590](https://github.com/Kilo-Org/cloud/issues/2590) | [Gastown] Convoy dispatch never executed - all beads marked failed without agent dispatch | | 2026-04-19 | 2026-04-19 | -| [#2585](https://github.com/Kilo-Org/cloud/issues/2585) | [Gastown] Triage agent (patrol) fails to start in container | stale | 2026-04-18 | 2026-06-18 | -| [#2573](https://github.com/Kilo-Org/cloud/issues/2573) | Feature: Support Auto-Triage for Gitlab | stale | 2026-04-18 | 2026-06-18 | -| [#2464](https://github.com/Kilo-Org/cloud/issues/2464) | [Gastown] Rig worktree checkout fails due to missing git remote in agent workspaces | stale | 2026-04-15 | 2026-06-15 | -| [#2424](https://github.com/Kilo-Org/cloud/issues/2424) | [Gastown] Agent files deleted during live data integration test - critical data loss | stale | 2026-04-14 | 2026-06-14 | -| [#2398](https://github.com/Kilo-Org/cloud/issues/2398) | [Gastown] Persistent GitHub authentication failures across all merge requests - PR polling returning null 10 consecutive times | stale | 2026-04-14 | 2026-06-14 | -| [#2387](https://github.com/Kilo-Org/cloud/issues/2387) | IDENTITY.md is overwritten on every redeploy, clobbering user edits | stale | 2026-04-13 | 2026-06-13 | -| [#2384](https://github.com/Kilo-Org/cloud/issues/2384) | BYOK models (zai-coding/*) silently missing from OpenClaw local catalog — BYOK unusable via Kiloclaw | stale | 2026-04-13 | 2026-06-13 | -| [#2368](https://github.com/Kilo-Org/cloud/issues/2368) | feat(gastown): Fork Town — create a new town from an existing town's settings and bead history | enhancement, stale, gt:core, gt:ui, P2 | 2026-04-13 | 2026-06-13 | -| [#2340](https://github.com/Kilo-Org/cloud/issues/2340) | [Gastown] Duplicate escalation beads created for identical code review failures | stale | 2026-04-13 | 2026-06-15 | -| [#2336](https://github.com/Kilo-Org/cloud/issues/2336) | [Gastown] Stale escalation beads for non-existent branches | stale | 2026-04-12 | 2026-06-12 | -| [#2333](https://github.com/Kilo-Org/cloud/issues/2333) | [Gastown] Refinery role mismatch - cannot merge reviewed convoy | stale | 2026-04-12 | 2026-06-12 | -| [#2329](https://github.com/Kilo-Org/cloud/issues/2329) | [Gastown] Security violation: credentials reverted to plaintext | stale | 2026-04-11 | 2026-06-11 | -| [#2324](https://github.com/Kilo-Org/cloud/issues/2324) | [Gastown] Container eviction prevents polecats from completing work | stale | 2026-04-11 | 2026-06-11 | -| [#2319](https://github.com/Kilo-Org/cloud/issues/2319) | [Gastown] Rig "qwen-micro" missing browse worktree | stale | 2026-04-10 | 2026-06-10 | -| [#2316](https://github.com/Kilo-Org/cloud/issues/2316) | [Gastown] Chat freezes and tasks not executing | stale | 2026-04-10 | 2026-06-10 | -| [#2305](https://github.com/Kilo-Org/cloud/issues/2305) | [Gastown] Dashboard conversation state not persisting on page refresh | stale | 2026-04-10 | 2026-06-10 | -| [#2286](https://github.com/Kilo-Org/cloud/issues/2286) | [Gastown] Bead reassignment API returns 500 during dispatch-stall recovery | stale | 2026-04-10 | 2026-06-10 | -| [#2284](https://github.com/Kilo-Org/cloud/issues/2284) | [Gastown] Agent remains idle while hooked bead fails to stay in_progress | stale | 2026-04-10 | 2026-06-10 | -| [#2272](https://github.com/Kilo-Org/cloud/issues/2272) | [Gastown] Git push failing - token invalid in rig veronica | stale | 2026-04-09 | 2026-06-09 | -| [#2260](https://github.com/Kilo-Org/cloud/issues/2260) | bug(gastown): create_landing_mr loops infinitely when convoy branches have no PR URL | bug, gt:core, P0 | 2026-04-09 | 2026-04-13 | -| [#2252](https://github.com/Kilo-Org/cloud/issues/2252) | fix(gastown): Admin panel — broken CF links, missing owner/created_at, worker logging gaps | stale, gt:core, gt:ui, gt:observability, P1 | 2026-04-09 | 2026-06-09 | -| [#2212](https://github.com/Kilo-Org/cloud/issues/2212) | [Gastown] Infinite review bead dispatch loop on convoy failure | stale | 2026-04-09 | 2026-06-09 | -| [#2208](https://github.com/Kilo-Org/cloud/issues/2208) | feat(gastown): Hybrid TownDO ↔ Container state reconciliation — boot accelerator + continuous sync | enhancement, gt:core, gt:container, P1 | 2026-04-08 | 2026-04-30 | -| [#2171](https://github.com/Kilo-Org/cloud/issues/2171) | App Builder CLoud | stale | 2026-04-08 | 2026-06-08 | -| [#2158](https://github.com/Kilo-Org/cloud/issues/2158) | [Gastown] Work bead closes prematurely before its review bead / PR is merged (review-then-land) | bug, stale, gt:mayor | 2026-04-08 | 2026-06-08 | -| [#2155](https://github.com/Kilo-Org/cloud/issues/2155) | [Gastown] Refinery not processing in_review beads | stale | 2026-04-08 | 2026-06-08 | -| [#2149](https://github.com/Kilo-Org/cloud/issues/2149) | feat(admin): Operations Dashboard — standalone app on Cloudflare Containers with Grafana OSS | enhancement, stale, gt:observability, P1 | 2026-04-07 | 2026-06-07 | -| [#2145](https://github.com/Kilo-Org/cloud/issues/2145) | [Gastown] Polecats not spawning in rig — all beads hit max 5 dispatch attempts and fail | stale | 2026-04-07 | 2026-06-07 | -| [#2144](https://github.com/Kilo-Org/cloud/issues/2144) | [Gastown] gastown.createRig fails with 500 Internal Server Error | stale | 2026-04-07 | 2026-06-07 | -| [#2129](https://github.com/Kilo-Org/cloud/issues/2129) | [Gastown] Convoy shows as landed but feature branch does not exist | stale | 2026-04-07 | 2026-06-07 | -| [#2126](https://github.com/Kilo-Org/cloud/issues/2126) | feat(gastown): First-class Bead Artifacts — flexible outputs beyond just PRs | enhancement, stale, gt:core, gt:ui, P2 | 2026-04-07 | 2026-06-07 | -| [#2122](https://github.com/Kilo-Org/cloud/issues/2122) | [Gastown] Convoy merged out of order, main broken - missing imports | stale | 2026-04-07 | 2026-06-07 | -| [#2104](https://github.com/Kilo-Org/cloud/issues/2104) | feat: Support multiple connected Github/Gitlab organizations | | 2026-04-07 | 2026-06-02 | -| [#2085](https://github.com/Kilo-Org/cloud/issues/2085) | feat(gastown): add Retry button for failed beads | stale | 2026-04-06 | 2026-06-06 | -| [#2077](https://github.com/Kilo-Org/cloud/issues/2077) | [Gastown] Cannot install JDK and Maven - permission denied | stale | 2026-04-06 | 2026-06-06 | -| [#2072](https://github.com/Kilo-Org/cloud/issues/2072) | [Gastown] Dispatch alarm not hooking agents to open beads | stale | 2026-04-06 | 2026-06-06 | -| [#2059](https://github.com/Kilo-Org/cloud/issues/2059) | [Gastown] System-wide agent dispatch failure - all 32 agents idle for 20+ minutes | stale | 2026-04-06 | 2026-06-06 | -| [#2042](https://github.com/Kilo-Org/cloud/issues/2042) | [Gastown] Refinery merge failing - target branch does not exist | stale | 2026-04-06 | 2026-06-06 | -| [#2035](https://github.com/Kilo-Org/cloud/issues/2035) | [Gastown] Convoy status reports failed beads as closed, refinery stuck in retry loop | stale | 2026-04-05 | 2026-06-05 | -| [#2021](https://github.com/Kilo-Org/cloud/issues/2021) | [Gastown] Convoy beads repeatedly fail to dispatch to agents - work never lands | stale | 2026-04-05 | 2026-06-05 | -| [#2020](https://github.com/Kilo-Org/cloud/issues/2020) | [Gastown] Create PRs at start of refinery step with full review status visibility | stale | 2026-04-05 | 2026-06-05 | -| [#2019](https://github.com/Kilo-Org/cloud/issues/2019) | [Gastown] Create PRs at start of refinery step with full review status visibility | stale | 2026-04-05 | 2026-06-05 | -| [#2018](https://github.com/Kilo-Org/cloud/issues/2018) | [Gastown] GitHub authentication completely broken - token invalid/expired | stale | 2026-04-05 | 2026-06-04 | -| [#2017](https://github.com/Kilo-Org/cloud/issues/2017) | [Gastown] Feature request: Allow custom Docker image mount for agents | stale | 2026-04-05 | 2026-06-04 | -| [#2016](https://github.com/Kilo-Org/cloud/issues/2016) | [Gastown] Feature request: Allow custom Docker image mount for agents | stale | 2026-04-05 | 2026-06-04 | -| [#2015](https://github.com/Kilo-Org/cloud/issues/2015) | [Gastown] Convoy dependency enforcement bypassed: beads dispatched despite failed merge requests | stale | 2026-04-05 | 2026-06-04 | -| [#2014](https://github.com/Kilo-Org/cloud/issues/2014) | [Gastown] Convoy dependency enforcement bypassed: beads dispatched despite failed merge requests | stale | 2026-04-05 | 2026-06-04 | -| [#2010](https://github.com/Kilo-Org/cloud/issues/2010) | [Gastown] Critical: Git push authentication blocking all bead completions - 4th retry | stale | 2026-04-04 | 2026-06-04 | -| [#2009](https://github.com/Kilo-Org/cloud/issues/2009) | [Gastown] Git push authentication failures blocking bead completion | | 2026-04-04 | 2026-04-04 | -| [#2008](https://github.com/Kilo-Org/cloud/issues/2008) | [Gastown] System bug: Escalations being re-raised after acknowledgment and closure | | 2026-04-04 | 2026-04-04 | -| [#2005](https://github.com/Kilo-Org/cloud/issues/2005) | [Gastown] Dispatch system stalled - all agents idle despite open beads in active convoys | | 2026-04-04 | 2026-04-04 | -| [#2004](https://github.com/Kilo-Org/cloud/issues/2004) | [Gastown] Dispatch system stalled - all agents idle despite open beads in active convoys | | 2026-04-04 | 2026-04-04 | -| [#2002](https://github.com/Kilo-Org/cloud/issues/2002) | [Gastown] GitHub token expiry escalations repeat without resolution path in UI | bug, gt:mayor | 2026-04-04 | 2026-04-05 | -| [#1997](https://github.com/Kilo-Org/cloud/issues/1997) | [Gastown] Mayor control-plane auth remains expired, blocking escalation triage in cloud rig | bug, gt:mayor | 2026-04-04 | 2026-04-05 | -| [#1992](https://github.com/Kilo-Org/cloud/issues/1992) | [Gastown] Dependency: picomatch has ReDoS vulnerability | stale | 2026-04-03 | 2026-06-03 | -| [#1991](https://github.com/Kilo-Org/cloud/issues/1991) | [Gastown] Dependency: brace-expansion memory exhaustion | stale | 2026-04-03 | 2026-06-03 | -| [#1988](https://github.com/Kilo-Org/cloud/issues/1988) | fix(gastown): Agent GC deleteAgent() bypasses terminal state guard — re-opens closed/failed beads | bug, stale, gt:core, P0 | 2026-04-03 | 2026-06-03 | -| [#1986](https://github.com/Kilo-Org/cloud/issues/1986) | audit(gastown): Reconciler code quality audit — bugs, gaps, and hardening recommendations | stale, gt:core, P1 | 2026-04-03 | 2026-06-03 | -| [#1984](https://github.com/Kilo-Org/cloud/issues/1984) | feat(gastown): Support wrangler dev with Containers inside gastown — Docker-in-Docker for self-debugging | enhancement, stale, gt:container, P2 | 2026-04-03 | 2026-06-03 | -| [#1981](https://github.com/Kilo-Org/cloud/issues/1981) | [Gastown] Phantom escalation loop: "Duplicated code in VoiceJoin handler" fires repeatedly with no valid escalation ID | stale | 2026-04-03 | 2026-06-03 | -| [#1980](https://github.com/Kilo-Org/cloud/issues/1980) | [Gastown] Phantom escalation loop: "Duplicated code in VoiceJoin handler" fires repeatedly with no valid escalation ID | stale | 2026-04-03 | 2026-06-03 | -| [#1970](https://github.com/Kilo-Org/cloud/issues/1970) | [Gastown] Polecat cannot resolve triage requests - permission mismatch | | 2026-04-03 | 2026-04-03 | -| [#1966](https://github.com/Kilo-Org/cloud/issues/1966) | [Gastown] Terminal infinite critical escalation loop - rig 991366d8-60b3-4257-b2cc-d73e9d2817cb | | 2026-04-03 | 2026-04-03 | -| [#1965](https://github.com/Kilo-Org/cloud/issues/1965) | [Gastown] Critical: Authentication token expired during infinite escalation loop | | 2026-04-03 | 2026-04-03 | -| [#1964](https://github.com/Kilo-Org/cloud/issues/1964) | [Gastown] Triage/refinery agent dispatched as polecat lacks permission to resolve triage requests | | 2026-04-03 | 2026-04-03 | -| [#1963](https://github.com/Kilo-Org/cloud/issues/1963) | [Gastown] Infinite critical escalation loop renders rig completely unusable | | 2026-04-03 | 2026-04-03 | -| [#1962](https://github.com/Kilo-Org/cloud/issues/1962) | [Gastown] Critical infinite escalation loop: Rig cannot be recovered | | 2026-04-03 | 2026-04-03 | -| [#1961](https://github.com/Kilo-Org/cloud/issues/1961) | [Gastown] Critical infinite loop: Polecat agent continuously dispatched to triage | | 2026-04-03 | 2026-04-03 | -| [#1960](https://github.com/Kilo-Org/cloud/issues/1960) | [Gastown] Systemic dispatch failure: Polecats permanently routed to triage | | 2026-04-03 | 2026-04-03 | -| [#1957](https://github.com/Kilo-Org/cloud/issues/1957) | [Gastown] Polecat agent stuck in triage role mismatch loop | | 2026-04-03 | 2026-04-03 | -| [#1953](https://github.com/Kilo-Org/cloud/issues/1953) | [Gastown] Polecat agent not picking up assigned beads from convoy | | 2026-04-03 | 2026-04-03 | -| [#1945](https://github.com/Kilo-Org/cloud/issues/1945) | [Gastown] GitHub App token expired - subora rig blocked | stale | 2026-04-02 | 2026-06-02 | -| [#1943](https://github.com/Kilo-Org/cloud/issues/1943) | feat(gastown): Workflows — visual DAG builder with scheduled and event-triggered execution | enhancement, gt:core, gt:ui, P2 | 2026-04-02 | 2026-04-03 | -| [#1940](https://github.com/Kilo-Org/cloud/issues/1940) | feat(gastown): Slack integration — talk to the Mayor from Slack | enhancement, gt:core, gt:mayor, P2 | 2026-04-02 | 2026-04-03 | -| [#1938](https://github.com/Kilo-Org/cloud/issues/1938) | [Gastown] GitHub token tidak terhubung ke rig | stale | 2026-04-02 | 2026-06-02 | -| [#1932](https://github.com/Kilo-Org/cloud/issues/1932) | fix(gastown): Agents permanently stuck after exhausting dispatch_attempts — no reset mechanism | bug, gt:core, P0 | 2026-04-02 | 2026-04-09 | -| [#1889](https://github.com/Kilo-Org/cloud/issues/1889) | [Gastown] Review blocked: polecats commit locally but don't push branches to remote | stale | 2026-04-02 | 2026-06-02 | -| [#1883](https://github.com/Kilo-Org/cloud/issues/1883) | [Gastown] Recurring GitHub token expiration blocking git push on rig ef798611 (thegent-shm) | stale | 2026-04-02 | 2026-06-02 | -| [#1882](https://github.com/Kilo-Org/cloud/issues/1882) | [Gastown] Recurring GitHub token expiration blocking git push on rig ef798611 (thegent-shm) | stale | 2026-04-02 | 2026-06-02 | -| [#1878](https://github.com/Kilo-Org/cloud/issues/1878) | [Gastown] Triage loop: polecats repeatedly dispatched to escalation beads they cannot resolve | stale | 2026-04-02 | 2026-06-01 | -| [#1870](https://github.com/Kilo-Org/cloud/issues/1870) | [Gastown] Convoy head branch not created at dispatch — refinery fails with "Target branch missing" | stale | 2026-04-01 | 2026-06-01 | -| [#1866](https://github.com/Kilo-Org/cloud/issues/1866) | [Gastown] Recurring: GitHub token invalid - cannot push branches | | 2026-04-01 | 2026-04-02 | -| [#1861](https://github.com/Kilo-Org/cloud/issues/1861) | [Gastown] GitHub token only has read access — all push operations fail on both rigs | stale | 2026-04-01 | 2026-06-01 | -| [#1850](https://github.com/Kilo-Org/cloud/issues/1850) | fix(gastown): Platform-wide polecat dispatch failures — 4K failures/hour across 151+ towns | bug, gt:core, gt:container, P0 | 2026-04-01 | 2026-04-01 | -| [#1831](https://github.com/Kilo-Org/cloud/issues/1831) | [Gastown] Escalation system fires repeatedly on closed/deleted bead references — ghost alerts cannot be silenced | | 2026-04-01 | 2026-04-01 | -| [#1823](https://github.com/Kilo-Org/cloud/issues/1823) | [Gastown] Convoy closed without landing feature branch to target branch | bug, gt:mayor | 2026-04-01 | 2026-04-03 | -| [#1820](https://github.com/Kilo-Org/cloud/issues/1820) | [Gastown] Escalation for convoy branch with no changes persists after closing bead | stale | 2026-04-01 | 2026-05-31 | -| [#1813](https://github.com/Kilo-Org/cloud/issues/1813) | [Gastown] Agent loop burned credits on already-completed task — refinery dispatch_attempts: 20 over 2+ hours | stale | 2026-03-31 | 2026-05-31 | -| [#1810](https://github.com/Kilo-Org/cloud/issues/1810) | feat(gastown): Hosted Wasteland service — managed commons with Kilo auth/billing proxy | enhancement, gt:core, P2 | 2026-03-31 | 2026-04-04 | -| [#1808](https://github.com/Kilo-Org/cloud/issues/1808) | [Gastown] Polecat agents get 403 permission error when resolving triage requests | stale | 2026-03-31 | 2026-05-31 | -| [#1807](https://github.com/Kilo-Org/cloud/issues/1807) | [Gastown] Polecat agents get 403 permission error when resolving triage requests | stale | 2026-03-31 | 2026-05-31 | -| [#1768](https://github.com/Kilo-Org/cloud/issues/1768) | [Gastown] Refinery polling interval too slow for small document reviews | | 2026-03-31 | 2026-03-31 | -| [#1762](https://github.com/Kilo-Org/cloud/issues/1762) | [Gastown] Refinery push fails with "Invalid GitHub token" — all merge requests stall | | 2026-03-31 | 2026-03-31 | -| [#1757](https://github.com/Kilo-Org/cloud/issues/1757) | [Gastown] Refinery repeatedly stuck on unrelated beads, blocking convoy review queues | stale | 2026-03-31 | 2026-05-30 | -| [#1739](https://github.com/Kilo-Org/cloud/issues/1739) | feat(gastown): Make the refinery optional — allow polecats to merge directly without review | enhancement, stale, gt:core, gt:refinery, P2 | 2026-03-30 | 2026-05-30 | -| [#1723](https://github.com/Kilo-Org/cloud/issues/1723) | [Gastown] Support configurable refinery (reviewer) agent count per rig | enhancement, gt:refinery, P3 | 2026-03-30 | 2026-03-30 | -| [#1702](https://github.com/Kilo-Org/cloud/issues/1702) | [Gastown] Terminal connections fail in worker proxy layer despite container PTY working | bug, gt:container, gt:ui, P1 | 2026-03-29 | 2026-03-30 | -| [#1654](https://github.com/Kilo-Org/cloud/issues/1654) | [Gastown] Polecat containers missing libicu dependency for .NET tests | bug, gt:container, P2 | 2026-03-27 | 2026-03-30 | -| [#1643](https://github.com/Kilo-Org/cloud/issues/1643) | OpenCode users on Kilo Gateway missing MiMo Omni and MiMo Pro models | | 2026-03-27 | 2026-03-31 | -| [#1642](https://github.com/Kilo-Org/cloud/issues/1642) | bug(claw): MiMo Omni and MiMo Pro models not visible to OpenCode users on older OpenClaw versions | stale | 2026-03-27 | 2026-05-27 | -| [#1632](https://github.com/Kilo-Org/cloud/issues/1632) | fix(gastown): PR-strategy MR beads stuck in_progress when github_token is missing — agents re-dispatched for completed work | bug, kilo-triaged, kilo-auto-fix, stale, gt:core, gt:refinery, P0, P1 | 2026-03-26 | 2026-05-26 | -| [#1607](https://github.com/Kilo-Org/cloud/issues/1607) | [Gastown] Refinery repeatedly gets stuck working on phantom/closed bead IDs after gt_done | bug, gt:core, gt:refinery, P1 | 2026-03-26 | 2026-03-30 | -| [#1572](https://github.com/Kilo-Org/cloud/issues/1572) | feat(gastown): Convoy context sharing — inject prior bead summaries into agent prompts | enhancement, kilo-triaged, kilo-auto-fix, stale, gt:core, gt:container, P2 | 2026-03-25 | 2026-05-26 | -| [#1567](https://github.com/Kilo-Org/cloud/issues/1567) | chore(gastown): Remove system topology view and mail page | kilo-triaged, kilo-auto-fix, stale, gt:ui, P1 | 2026-03-25 | 2026-05-28 | -| [#1558](https://github.com/Kilo-Org/cloud/issues/1558) | feat(gastown): mayor should focus on outcomes over implementation details in bead prompts | enhancement, kilo-triaged, kilo-auto-fix, gt:mayor | 2026-03-25 | 2026-03-25 | -| [#1543](https://github.com/Kilo-Org/cloud/issues/1543) | feat(gastown): Real-time container CPU, memory, and disk usage in town UI | enhancement, kilo-triaged, kilo-auto-fix, gt:container, gt:ui, gt:observability, P2 | 2026-03-25 | 2026-03-25 | -| [#1535](https://github.com/Kilo-Org/cloud/issues/1535) | "copy to clipboard" broken | bug, kilo-triaged, kilo-auto-fix, gt:ui, gt:mayor, P2 | 2026-03-25 | 2026-04-03 | -| [#1515](https://github.com/Kilo-Org/cloud/issues/1515) | fix(gastown): PTY sessions disconnect when switching agents — should persist in background | bug, kilo-triaged, kilo-duplicate, gt:container, gt:ui, P1 | 2026-03-25 | 2026-03-25 | -| [#1512](https://github.com/Kilo-Org/cloud/issues/1512) | feat(gastown): Per-role model configuration in town settings — mayor, refinery, polecat | enhancement, kilo-triaged, kilo-duplicate, gt:core, gt:ui, P2 | 2026-03-25 | 2026-03-25 | -| [#1501](https://github.com/Kilo-Org/cloud/issues/1501) | feat(gastown): Contributing guide with bounty program — curated issues with Kilo credit rewards | documentation, enhancement, help wanted, kilo-triaged, kilo-auto-fix, gt:ui, gt:onboarding, P1 | 2026-03-24 | 2026-04-10 | -| [#1492](https://github.com/Kilo-Org/cloud/issues/1492) | feature: Add support for openAI codex auth model providers | enhancement, kilo-triaged, kilo-auto-fix, gt:mayor, P3 | 2026-03-24 | 2026-03-30 | -| [#1489](https://github.com/Kilo-Org/cloud/issues/1489) | fix(gastown): Terminal PTY view corrupts intermittently — blacked out rows/columns until TUI redraw | bug, kilo-triaged, stale, kilo-duplicate, gt:container, gt:ui, P1 | 2026-03-24 | 2026-05-24 | -| [#1470](https://github.com/Kilo-Org/cloud/issues/1470) | [Gastown] Convoy landing review beads have null body and no task progress granularity | enhancement, kilo-triaged, kilo-auto-fix, gt:core, P2 | 2026-03-24 | 2026-03-30 | -| [#1428](https://github.com/Kilo-Org/cloud/issues/1428) | perf(gastown): Reduce alarm loop latency for active towns | enhancement, kilo-triaged, kilo-auto-fix, gt:core, P2 | 2026-03-23 | 2026-03-23 | -| [#1425](https://github.com/Kilo-Org/cloud/issues/1425) | fix(gastown): Agent sessions crash on Anthropic models — "does not support assistant message prefill" | bug, kilo-triaged, kilo-auto-fix, gt:core, gt:container, P0 | 2026-03-23 | 2026-03-23 | -| [#1424](https://github.com/Kilo-Org/cloud/issues/1424) | feat(gastown): Premier mobile experience — PWA, push notifications, and potential standalone mobile client | enhancement, kilo-triaged, kilo-auto-fix, gt:ui, gt:mayor, P2, P3 | 2026-03-23 | 2026-03-23 | -| [#1421](https://github.com/Kilo-Org/cloud/issues/1421) | feat(gastown): Redesign Overview page — town cards with sparklines, aggregate stats sidebar | enhancement, kilo-triaged, kilo-auto-fix, gt:ui, P2 | 2026-03-23 | 2026-03-23 | -| [#1402](https://github.com/Kilo-Org/cloud/issues/1402) | feat(gastown): Billing integration — usage metering, limits, and cost visibility | enhancement, kilo-triaged, kilo-duplicate, gt:billing, P0 | 2026-03-23 | 2026-03-23 | -| [#1350](https://github.com/Kilo-Org/cloud/issues/1350) | feat(gastown): GitHub OAuth Device Flow for user-scoped git identity and attribution | enhancement, kilo-triaged, kilo-auto-fix, gt:onboarding, P0 | 2026-03-20 | 2026-04-10 | -| [#1307](https://github.com/Kilo-Org/cloud/issues/1307) | Parse agent status from H1 headers in output — replace gt_status tool | enhancement, kilo-triaged, kilo-auto-fix, gt:container, gt:ui, P1 | 2026-03-19 | 2026-04-10 | -| [#1297](https://github.com/Kilo-Org/cloud/issues/1297) | Real-time throughput gauges and timeseries — tokens/sec, cost/sec, gas tank | enhancement, kilo-triaged, kilo-auto-fix, gt:ui, gt:observability, P2 | 2026-03-19 | 2026-03-23 | -| [#1290](https://github.com/Kilo-Org/cloud/issues/1290) | Kiloclaw as Meta-Mayor — fleet coordinator across multiple Gastown towns | enhancement, kilo-triaged, kilo-auto-fix, gt:mayor, P3 | 2026-03-19 | 2026-03-23 | -| [#1174](https://github.com/Kilo-Org/cloud/issues/1174) | Upstream branch cleanup — delete merged polecat and convoy branches | enhancement, kilo-triaged, kilo-auto-fix, gt:core, P1 | 2026-03-17 | 2026-04-10 | -| [#1136](https://github.com/Kilo-Org/cloud/issues/1136) | Gastown Sync Update: 2026-03-16 — v0.7.0 through v0.12.1 | kilo-triaged, kilo-duplicate, P3 | 2026-03-16 | 2026-03-23 | -| [#1130](https://github.com/Kilo-Org/cloud/issues/1130) | Kiloclaw: fast-fail starting status when background start() throws early | enhancement, kilo-triaged, kilo-auto-fix | 2026-03-16 | 2026-03-16 | -| [#1073](https://github.com/Kilo-Org/cloud/issues/1073) | Parallel Refinery: Per-Convoy Refinery Agents | kilo-triaged, kilo-duplicate, gt:core, gt:refinery, P2 | 2026-03-12 | 2026-03-23 | -| [#1040](https://github.com/Kilo-Org/cloud/issues/1040) | Integrating with the Wasteland — Dolt sync + DoltHub onboarding | enhancement, kilo-triaged, kilo-auto-fix, gt:core, P3 | 2026-03-11 | 2026-03-31 | -| [#1024](https://github.com/Kilo-Org/cloud/issues/1024) | need to periodically refresh kilo api key | enhancement, kilo-triaged, kilo-auto-fix | 2026-03-11 | 2026-03-11 | -| [#1014](https://github.com/Kilo-Org/cloud/issues/1014) | Return openclaw running version in a more performant manner | enhancement, kilo-triaged, kilo-auto-fix | 2026-03-11 | 2026-03-11 | -| [#1005](https://github.com/Kilo-Org/cloud/issues/1005) | Bead archival — clean up old beads without deleting | enhancement, kilo-triaged, kilo-auto-fix, gt:core, gt:ui, P2 | 2026-03-10 | 2026-03-23 | -| [#1004](https://github.com/Kilo-Org/cloud/issues/1004) | Automatic merge conflict resolution on open PRs | enhancement, kilo-triaged, kilo-auto-fix, gt:refinery, P2 | 2026-03-10 | 2026-03-23 | -| [#1003](https://github.com/Kilo-Org/cloud/issues/1003) | Track commits in bead history with SCM links | enhancement, kilo-triaged, kilo-auto-fix, gt:core, gt:ui, P2 | 2026-03-10 | 2026-03-23 | -| [#1000](https://github.com/Kilo-Org/cloud/issues/1000) | Investigate Fly machine auto restart policy | bug, kilo-triaged, kilo-auto-fix | 2026-03-10 | 2026-03-10 | -| [#953](https://github.com/Kilo-Org/cloud/issues/953) | feat(gastown): convoy-aware escalation handling in triage | enhancement, kilo-triaged, kilo-auto-fix, gt:core, P2 | 2026-03-09 | 2026-03-23 | -| [#952](https://github.com/Kilo-Org/cloud/issues/952) | Implement Billing Subscription | enhancement, kilo-triaged, kilo-auto-fix | 2026-03-09 | 2026-03-09 | -| [#921](https://github.com/Kilo-Org/cloud/issues/921) | Feature: Gateway usage summary endpoint (GET /api/gateway/usage) | enhancement, kilo-triaged, kilo-auto-fix | 2026-03-08 | 2026-03-11 | -| [#825](https://github.com/Kilo-Org/cloud/issues/825) | Gastown: Revisit bead metadata column vs. satellite metadata tables | enhancement, kilo-triaged, kilo-auto-fix, gt:core, P2 | 2026-03-05 | 2026-03-23 | -| [#685](https://github.com/Kilo-Org/cloud/issues/685) | Cloud Agent timeout after waiting indefinitely for a dev server command | bug, kilo-triaged, kilo-auto-fix, stale | 2026-02-28 | 2026-04-30 | -| [#447](https://github.com/Kilo-Org/cloud/issues/447) | Cloud Gastown: Future ideas — capabilities unique to or enhanced by the cloud model | enhancement, kilo-triaged, kilo-auto-fix, P3 | 2026-02-22 | 2026-03-23 | - -## Open PRs list - -| # | Title | Changed files | Created | Updated | -|---|---|---|---|---| -| [#4232](https://github.com/Kilo-Org/cloud/pull/4232) | Cloud Agent Next - Reject plan follow-up questions | 2 | 2026-06-24 | 2026-06-24 | -| [#4231](https://github.com/Kilo-Org/cloud/pull/4231) | feat(kiloclaw): bump openclaw to version 2026.6.10 | 6 | 2026-06-24 | 2026-06-24 | -| [#4220](https://github.com/Kilo-Org/cloud/pull/4220) | feat(coding-plans): expose managed plan usage | 9 | 2026-06-24 | 2026-06-24 | -| [#4218](https://github.com/Kilo-Org/cloud/pull/4218) | Bitbucket - Add Bitbucket Integration | 105 | 2026-06-23 | 2026-06-23 | -| [#4211](https://github.com/Kilo-Org/cloud/pull/4211) | feat(api): add usage email filters and members endpoint | 11 | 2026-06-23 | 2026-06-24 | -| [#4206](https://github.com/Kilo-Org/cloud/pull/4206) | feat(usage): add ask usage | 72 | 2026-06-23 | 2026-06-24 | -| [#4199](https://github.com/Kilo-Org/cloud/pull/4199) | fix(cloud-agent-next): persist kilo import diagnostics | 13 | 2026-06-23 | 2026-06-24 | -| [#4197](https://github.com/Kilo-Org/cloud/pull/4197) | feat(headroom): add compress worker | 21 | 2026-06-23 | 2026-06-23 | -| [#4168](https://github.com/Kilo-Org/cloud/pull/4168) | feat(mcp): add native /mcp for cost control | 39 | 2026-06-22 | 2026-06-23 | -| [#4165](https://github.com/Kilo-Org/cloud/pull/4165) | fix(gastown): prevent duplicate bead prompt | 2 | 2026-06-22 | 2026-06-22 | -| [#4164](https://github.com/Kilo-Org/cloud/pull/4164) | feat(extension): add browser agent side panel | 100 | 2026-06-22 | 2026-06-24 | -| [#4145](https://github.com/Kilo-Org/cloud/pull/4145) | feat(kiloclaw): bump openclaw to version 2026.6.9 | 6 | 2026-06-21 | 2026-06-21 | -| [#4137](https://github.com/Kilo-Org/cloud/pull/4137) | fix: redirect unauthenticated users from subscriptions page | 2 | 2026-06-20 | 2026-06-20 | -| [#4134](https://github.com/Kilo-Org/cloud/pull/4134) | feat(mcp-gateway): durable per-client OAuth grants and Authorized Clients UI | 172 | 2026-06-19 | 2026-06-21 | -| [#4133](https://github.com/Kilo-Org/cloud/pull/4133) | chore(dev): cloud reviews local testing E2E | 20 | 2026-06-19 | 2026-06-21 | -| [#4120](https://github.com/Kilo-Org/cloud/pull/4120) | fix(cloud-agent): center GitHub/GitLab integration dialog vertically | 1 | 2026-06-19 | 2026-06-19 | -| [#4118](https://github.com/Kilo-Org/cloud/pull/4118) | ci(cloud-agent-next): add staging worker config | 5 | 2026-06-19 | 2026-06-19 | -| [#4116](https://github.com/Kilo-Org/cloud/pull/4116) | feat(code-review): resolve addressed threads | 4 | 2026-06-19 | 2026-06-19 | -| [#4107](https://github.com/Kilo-Org/cloud/pull/4107) | chore: unignore plan files from .gitignore | 1 | 2026-06-18 | 2026-06-18 | -| [#4105](https://github.com/Kilo-Org/cloud/pull/4105) | docs(review): update REVIEW.md guidance | 1 | 2026-06-18 | 2026-06-18 | -| [#4056](https://github.com/Kilo-Org/cloud/pull/4056) | feat(ai-gateway): add organization auto model routing | 42 | 2026-06-17 | 2026-06-20 | -| [#4039](https://github.com/Kilo-Org/cloud/pull/4039) | fix(code-review): deprecate custom instructions | 4 | 2026-06-16 | 2026-06-16 | -| [#4035](https://github.com/Kilo-Org/cloud/pull/4035) | feat: AgentCard OAuth integration + agent skill | 33 | 2026-06-15 | 2026-06-23 | -| [#4005](https://github.com/Kilo-Org/cloud/pull/4005) | feat(auto-routing): Morph model router decisions for kilo-auto tiers | 15 | 2026-06-12 | 2026-06-12 | -| [#3980](https://github.com/Kilo-Org/cloud/pull/3980) | Cloud Agent Next - Add Guarded PR Staging Deployments | 10 | 2026-06-11 | 2026-06-11 | -| [#3974](https://github.com/Kilo-Org/cloud/pull/3974) | feat(cloud-agent): cache prepared workspaces | 25 | 2026-06-11 | 2026-06-11 | -| [#3973](https://github.com/Kilo-Org/cloud/pull/3973) | fix(code-reviews): expire stale reviews | 8 | 2026-06-11 | 2026-06-19 | -| [#3957](https://github.com/Kilo-Org/cloud/pull/3957) | refactor(cloud-agent): remove legacy runtime | 189 | 2026-06-11 | 2026-06-11 | -| [#3947](https://github.com/Kilo-Org/cloud/pull/3947) | fix(ai-gateway): retain streamed upstream responses | 3 | 2026-06-11 | 2026-06-11 | -| [#3919](https://github.com/Kilo-Org/cloud/pull/3919) | fix(cloud-agent-next): refresh generic git credentials | 13 | 2026-06-10 | 2026-06-10 | -| [#3908](https://github.com/Kilo-Org/cloud/pull/3908) | fix(cloud-agent): recover sessions after runtime starvation | 22 | 2026-06-10 | 2026-06-10 | -| [#3860](https://github.com/Kilo-Org/cloud/pull/3860) | feat(cloud-agent): expand Kilo facade session API | 90 | 2026-06-09 | 2026-06-11 | -| [#3854](https://github.com/Kilo-Org/cloud/pull/3854) | fix(auto-triage): avoid regex code fence parsing | 1 | 2026-06-09 | 2026-06-09 | -| [#3836](https://github.com/Kilo-Org/cloud/pull/3836) | fix(code-indexing): use sha256 for Milvus IDs | 1 | 2026-06-09 | 2026-06-09 | -| [#3817](https://github.com/Kilo-Org/cloud/pull/3817) | fix(ai-gateway): make SSE rewriting stream-safe | 8 | 2026-06-08 | 2026-06-08 | -| [#3812](https://github.com/Kilo-Org/cloud/pull/3812) | fix(admin): default trial org plan to enterprise when created from admin dashboard | 1 | 2026-06-08 | 2026-06-08 | -| [#3658](https://github.com/Kilo-Org/cloud/pull/3658) | feat(bot): include Slack unfurled link previews in conversation context | 1 | 2026-06-02 | 2026-06-02 | -| [#3649](https://github.com/Kilo-Org/cloud/pull/3649) | fix(gastown): stop logging town config secrets | 9 | 2026-06-01 | 2026-06-01 | -| [#3632](https://github.com/Kilo-Org/cloud/pull/3632) | fix(cloud-agent-next): diagnose kilo import failures | 5 | 2026-06-01 | 2026-06-08 | -| [#3623](https://github.com/Kilo-Org/cloud/pull/3623) | fix(kilo-pass): remove grandfathered second-month 50% bonus promo | 17 | 2026-06-01 | 2026-06-01 | -| [#3568](https://github.com/Kilo-Org/cloud/pull/3568) | feat(auto-model): route Auto Balanced Opus modes to Qwen3.7 Max | 3 | 2026-05-28 | 2026-05-28 | -| [#3546](https://github.com/Kilo-Org/cloud/pull/3546) | fix(kiloclaw): select weather units from user location | 2 | 2026-05-27 | 2026-05-29 | -| [#3459](https://github.com/Kilo-Org/cloud/pull/3459) | fix(users): populate derived emails for bots and deletions | 10 | 2026-05-25 | 2026-06-15 | -| [#3432](https://github.com/Kilo-Org/cloud/pull/3432) | feat(gastown): show admin bead failure reasons | 27 | 2026-05-22 | 2026-05-28 | -| [#3428](https://github.com/Kilo-Org/cloud/pull/3428) | fix(gastown): tag structured logs with town IDs | 26 | 2026-05-22 | 2026-05-28 | -| [#3424](https://github.com/Kilo-Org/cloud/pull/3424) | feat(ui): add Gastown badge to SessionsList | 18 | 2026-05-22 | 2026-05-28 | -| [#3420](https://github.com/Kilo-Org/cloud/pull/3420) | docs(review): enforce rule against challenging PR's stated intent | 1 | 2026-05-22 | 2026-06-22 | -| [#3384](https://github.com/Kilo-Org/cloud/pull/3384) | feat(posthog): add Redis-backed flag definition cache for local evaluation | 7 | 2026-05-21 | 2026-06-21 | -| [#3354](https://github.com/Kilo-Org/cloud/pull/3354) | feat(kiloclaw): polish onboarding previews with shared chat shell | 7 | 2026-05-20 | 2026-06-20 | -| [#3353](https://github.com/Kilo-Org/cloud/pull/3353) | chore(gastown): stage release updates | 61 | 2026-05-20 | 2026-05-30 | -| [#3345](https://github.com/Kilo-Org/cloud/pull/3345) | feat(gastown): add wasteland delete affordance to overview cards | 2 | 2026-05-19 | 2026-06-19 | -| [#3327](https://github.com/Kilo-Org/cloud/pull/3327) | feat(teams): add Microsoft Teams bot integration | 31 | 2026-05-19 | 2026-06-19 | -| [#3315](https://github.com/Kilo-Org/cloud/pull/3315) | fix(code-reviews): retry transient sandbox prepareSession failures | 2 | 2026-05-18 | 2026-06-18 | -| [#3311](https://github.com/Kilo-Org/cloud/pull/3311) | feat(kilo-chat): auto-open chat conversations | 8 | 2026-05-18 | 2026-06-18 | -| [#3209](https://github.com/Kilo-Org/cloud/pull/3209) | feat(github): MVP commit-as-user via GitHub App user-to-server tokens | 40 | 2026-05-12 | 2026-06-23 | -| [#2851](https://github.com/Kilo-Org/cloud/pull/2851) | feat(emails): transactional emails for top-up and KiloClaw purchase | 12 | 2026-04-28 | 2026-06-05 | -| [#2120](https://github.com/Kilo-Org/cloud/pull/2120) | feat(cloud-agent): prompt autocomplete (ghost text) | 7 | 2026-04-07 | 2026-05-12 | -| [#1664](https://github.com/Kilo-Org/cloud/pull/1664) | fix(claw): handle Fly 'destroyed' state on start after admin force-delete | 3 | 2026-03-27 | 2026-05-23 | -| [#1646](https://github.com/Kilo-Org/cloud/pull/1646) | adding bulk trial extension dash | 12 | 2026-03-27 | 2026-05-23 | -| [#1582](https://github.com/Kilo-Org/cloud/pull/1582) | fix(claw): add Upgrade option to all toasts when adding secrets | 2 | 2026-03-26 | 2026-05-24 | -| [#1528](https://github.com/Kilo-Org/cloud/pull/1528) | fix(cloud-agent): surface setup stderr during preparation | 13 | 2026-03-25 | 2026-05-24 | -| [#1432](https://github.com/Kilo-Org/cloud/pull/1432) | feat(gastown): add real-time throughput gauges and timeseries charts | 16 | 2026-03-23 | 2026-04-06 | -| [#1401](https://github.com/Kilo-Org/cloud/pull/1401) | fix(cloud-agent): return 4xx for branch-not-found instead of 500 | 10 | 2026-03-23 | 2026-04-06 | -| [#1379](https://github.com/Kilo-Org/cloud/pull/1379) | Add initial churnkey implementation spec | 1 | 2026-03-23 | 2026-04-06 | - diff --git a/docs/audits/work/01-cloud-duplicate-relationship-findings.md b/docs/audits/work/01-cloud-duplicate-relationship-findings.md deleted file mode 100644 index 50aec4f042..0000000000 --- a/docs/audits/work/01-cloud-duplicate-relationship-findings.md +++ /dev/null @@ -1,352 +0,0 @@ -# Cloud Duplicate Issues and Missing Issue-PR Relationships Findings - -**Scope:** Kilo-Org/cloud open issues and pull requests -**Date:** 2026-06-24 -**Counts:** 284 open issues, 64 open PRs - -## Methodology - -- Duplicate issues require identical or near-identical titles and bodies, or body token similarity ≥0.60, indicating shared root cause and materially equivalent desired outcome. -- Symptom clusters group issues that share broad keywords and body similarity ≥0.30 but are explicitly not claimed as proven duplicates. -- Missing PR links are detected when a PR explicitly mentions an open issue without a closing keyword. Semantic PR/issue similarity did not surface any additional high-confidence matches. -- Issue-less PRs are substantive feature/fix PRs (>8 files or large diffs) with no issue reference; routine version bumps and dependency updates are excluded. -- Duplicate/competing PRs require identical titles (ignoring version numbers) or strong title similarity plus ≥50% changed-file overlap. -- No action was taken on GitHub; all findings are recommendations for human review. - -## Summary counts - -- Highly confident duplicate open issues: 10 -- PRs related to open issues but lacking explicit closing link: 0 -- Substantive PRs without tracking issue: 36 -- Duplicate or competing PRs: 2 -- Symptom clusters (medium confidence): 5 -- Issues already labeled `kilo-duplicate`: 6 - -## 1. Highly confident duplicate open issues - -**Confidence:** high -**Canonical:** [#4186](https://github.com/Kilo-Org/cloud/issues/4186) [Gastown] Update: patrol triage role mismatch loop is unfixable from mayor side + self-feeding on escalations -**Duplicate(s):** [#4187](https://github.com/Kilo-Org/cloud/issues/4187) [Gastown] Update: patrol triage role mismatch loop is unfixable from mayor side + self-feeding on escalations -**Evidence:** Consolidated group of 2 issues with shared rig/symptom/outcome; pairwise body similarity ≥0.60 or identical. -**Suggested action:** Close #4187 as duplicate of #4186. - -**Confidence:** high -**Canonical:** [#4147](https://github.com/Kilo-Org/cloud/issues/4147) [Gastown] Triage dispatch loop: patrol creates triage beads for non-triage-role poles, infinite retry with no back-off -**Duplicate(s):** [#4148](https://github.com/Kilo-Org/cloud/issues/4148) [Gastown] Triage dispatch loop: patrol creates triage beads for non-triage-role poles, infinite retry with no back-off -**Evidence:** Consolidated group of 2 issues with shared rig/symptom/outcome; pairwise body similarity ≥0.60 or identical. -**Suggested action:** Close #4148 as duplicate of #4147. - -**Confidence:** high -**Canonical:** [#2019](https://github.com/Kilo-Org/cloud/issues/2019) [Gastown] Create PRs at start of refinery step with full review status visibility -**Duplicate(s):** [#2020](https://github.com/Kilo-Org/cloud/issues/2020) [Gastown] Create PRs at start of refinery step with full review status visibility -**Evidence:** Consolidated group of 2 issues with shared rig/symptom/outcome; pairwise body similarity ≥0.60 or identical. -**Suggested action:** Close #2020 as duplicate of #2019. - -**Confidence:** high -**Canonical:** [#2016](https://github.com/Kilo-Org/cloud/issues/2016) [Gastown] Feature request: Allow custom Docker image mount for agents -**Duplicate(s):** [#2017](https://github.com/Kilo-Org/cloud/issues/2017) [Gastown] Feature request: Allow custom Docker image mount for agents -**Evidence:** Consolidated group of 2 issues with shared rig/symptom/outcome; pairwise body similarity ≥0.60 or identical. -**Suggested action:** Close #2017 as duplicate of #2016. - -**Confidence:** high -**Canonical:** [#2014](https://github.com/Kilo-Org/cloud/issues/2014) [Gastown] Convoy dependency enforcement bypassed: beads dispatched despite failed merge requests -**Duplicate(s):** [#2015](https://github.com/Kilo-Org/cloud/issues/2015) [Gastown] Convoy dependency enforcement bypassed: beads dispatched despite failed merge requests -**Evidence:** Consolidated group of 2 issues with shared rig/symptom/outcome; pairwise body similarity ≥0.60 or identical. -**Suggested action:** Close #2015 as duplicate of #2014. - -**Confidence:** high -**Canonical:** [#2004](https://github.com/Kilo-Org/cloud/issues/2004) [Gastown] Dispatch system stalled - all agents idle despite open beads in active convoys -**Duplicate(s):** [#2005](https://github.com/Kilo-Org/cloud/issues/2005) [Gastown] Dispatch system stalled - all agents idle despite open beads in active convoys -**Evidence:** Consolidated group of 2 issues with shared rig/symptom/outcome; pairwise body similarity ≥0.60 or identical. -**Suggested action:** Close #2005 as duplicate of #2004. - -**Confidence:** high -**Canonical:** [#1980](https://github.com/Kilo-Org/cloud/issues/1980) [Gastown] Phantom escalation loop: "Duplicated code in VoiceJoin handler" fires repeatedly with no valid escalation ID -**Duplicate(s):** [#1981](https://github.com/Kilo-Org/cloud/issues/1981) [Gastown] Phantom escalation loop: "Duplicated code in VoiceJoin handler" fires repeatedly with no valid escalation ID -**Evidence:** Consolidated group of 2 issues with shared rig/symptom/outcome; pairwise body similarity ≥0.60 or identical. -**Suggested action:** Close #1981 as duplicate of #1980. - -**Confidence:** high -**Canonical:** [#1882](https://github.com/Kilo-Org/cloud/issues/1882) [Gastown] Recurring GitHub token expiration blocking git push on rig ef798611 (thegent-shm) -**Duplicate(s):** [#1883](https://github.com/Kilo-Org/cloud/issues/1883) [Gastown] Recurring GitHub token expiration blocking git push on rig ef798611 (thegent-shm) -**Evidence:** Consolidated group of 2 issues with shared rig/symptom/outcome; pairwise body similarity ≥0.60 or identical. -**Suggested action:** Close #1883 as duplicate of #1882. - -**Confidence:** high -**Canonical:** [#1807](https://github.com/Kilo-Org/cloud/issues/1807) [Gastown] Polecat agents get 403 permission error when resolving triage requests -**Duplicate(s):** [#1808](https://github.com/Kilo-Org/cloud/issues/1808) [Gastown] Polecat agents get 403 permission error when resolving triage requests -**Evidence:** Consolidated group of 2 issues with shared rig/symptom/outcome; pairwise body similarity ≥0.60 or identical. -**Suggested action:** Close #1808 as duplicate of #1807. - -**Confidence:** high -**Canonical:** [#1961](https://github.com/Kilo-Org/cloud/issues/1961) [Gastown] Critical infinite loop: Polecat agent continuously dispatched to triage -**Duplicate(s):** [#1962](https://github.com/Kilo-Org/cloud/issues/1962) [Gastown] Critical infinite escalation loop: Rig cannot be recovered; [#1963](https://github.com/Kilo-Org/cloud/issues/1963) [Gastown] Infinite critical escalation loop renders rig completely unusable -**Evidence:** Consolidated group of 3 issues with shared rig/symptom/outcome; pairwise body similarity ≥0.60 or identical. -**Suggested action:** Close #1962, #1963 as duplicate of #1961. - -## 2. PRs related to existing open issues but lacking explicit closing link - -_Only two open PRs reference open issues using a closing keyword: #4137 closes #4136, and #1432 closes #1297. No PRs reference open issues without an explicit closing link._ - -## 3. Substantive PRs that should have a tracking issue - -The following substantive feature/fix PRs have no linked issue. The list excludes routine version bumps and dependency updates. - -**Confidence:** medium -**PR:** [#4220](https://github.com/Kilo-Org/cloud/pull/4220) feat(coding-plans): expose managed plan usage -**Evidence:** Substantive feature/fix PR (9 files changed, 666 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#4218](https://github.com/Kilo-Org/cloud/pull/4218) Bitbucket - Add Bitbucket Integration -**Evidence:** Substantive feature/fix PR (105 files changed, 39150 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#4211](https://github.com/Kilo-Org/cloud/pull/4211) feat(api): add usage email filters and members endpoint -**Evidence:** Substantive feature/fix PR (11 files changed, 1208 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#4206](https://github.com/Kilo-Org/cloud/pull/4206) feat(usage): add ask usage -**Evidence:** Substantive feature/fix PR (72 files changed, 37872 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#4199](https://github.com/Kilo-Org/cloud/pull/4199) fix(cloud-agent-next): persist kilo import diagnostics -**Evidence:** Substantive feature/fix PR (13 files changed, 789 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#4197](https://github.com/Kilo-Org/cloud/pull/4197) feat(headroom): add compress worker -**Evidence:** Substantive feature/fix PR (21 files changed, 1834 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#4168](https://github.com/Kilo-Org/cloud/pull/4168) feat(mcp): add native /mcp for cost control -**Evidence:** Substantive feature/fix PR (39 files changed, 36198 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#4164](https://github.com/Kilo-Org/cloud/pull/4164) feat(extension): add browser agent side panel -**Evidence:** Substantive feature/fix PR (100 files changed, 16158 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#4134](https://github.com/Kilo-Org/cloud/pull/4134) feat(mcp-gateway): durable per-client OAuth grants and Authorized Clients UI -**Evidence:** Substantive feature/fix PR (172 files changed, 8983 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#4133](https://github.com/Kilo-Org/cloud/pull/4133) chore(dev): cloud reviews local testing E2E -**Evidence:** Substantive feature/fix PR (20 files changed, 1528 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#4056](https://github.com/Kilo-Org/cloud/pull/4056) feat(ai-gateway): add organization auto model routing -**Evidence:** Substantive feature/fix PR (42 files changed, 5004 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#4035](https://github.com/Kilo-Org/cloud/pull/4035) feat: AgentCard OAuth integration + agent skill -**Evidence:** Substantive feature/fix PR (33 files changed, 34050 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#4005](https://github.com/Kilo-Org/cloud/pull/4005) feat(auto-routing): Morph model router decisions for kilo-auto tiers -**Evidence:** Substantive feature/fix PR (15 files changed, 1130 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3980](https://github.com/Kilo-Org/cloud/pull/3980) Cloud Agent Next - Add Guarded PR Staging Deployments -**Evidence:** Substantive feature/fix PR (10 files changed, 729 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3974](https://github.com/Kilo-Org/cloud/pull/3974) feat(cloud-agent): cache prepared workspaces -**Evidence:** Substantive feature/fix PR (25 files changed, 2350 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3973](https://github.com/Kilo-Org/cloud/pull/3973) fix(code-reviews): expire stale reviews -**Evidence:** Substantive feature/fix PR (8 files changed, 269 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3957](https://github.com/Kilo-Org/cloud/pull/3957) refactor(cloud-agent): remove legacy runtime -**Evidence:** Substantive feature/fix PR (189 files changed, 13635 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3919](https://github.com/Kilo-Org/cloud/pull/3919) fix(cloud-agent-next): refresh generic git credentials -**Evidence:** Substantive feature/fix PR (13 files changed, 508 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3908](https://github.com/Kilo-Org/cloud/pull/3908) fix(cloud-agent): recover sessions after runtime starvation -**Evidence:** Substantive feature/fix PR (22 files changed, 1363 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3860](https://github.com/Kilo-Org/cloud/pull/3860) feat(cloud-agent): expand Kilo facade session API -**Evidence:** Substantive feature/fix PR (90 files changed, 42344 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3817](https://github.com/Kilo-Org/cloud/pull/3817) fix(ai-gateway): make SSE rewriting stream-safe -**Evidence:** Substantive feature/fix PR (8 files changed, 591 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3649](https://github.com/Kilo-Org/cloud/pull/3649) fix(gastown): stop logging town config secrets -**Evidence:** Substantive feature/fix PR (9 files changed, 522 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3632](https://github.com/Kilo-Org/cloud/pull/3632) fix(cloud-agent-next): diagnose kilo import failures -**Evidence:** Substantive feature/fix PR (5 files changed, 685 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3623](https://github.com/Kilo-Org/cloud/pull/3623) fix(kilo-pass): remove grandfathered second-month 50% bonus promo -**Evidence:** Substantive feature/fix PR (17 files changed, 483 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3459](https://github.com/Kilo-Org/cloud/pull/3459) fix(users): populate derived emails for bots and deletions -**Evidence:** Substantive feature/fix PR (10 files changed, 202 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3432](https://github.com/Kilo-Org/cloud/pull/3432) feat(gastown): show admin bead failure reasons -**Evidence:** Substantive feature/fix PR (27 files changed, 1145 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3428](https://github.com/Kilo-Org/cloud/pull/3428) fix(gastown): tag structured logs with town IDs -**Evidence:** Substantive feature/fix PR (26 files changed, 1210 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3424](https://github.com/Kilo-Org/cloud/pull/3424) feat(ui): add Gastown badge to SessionsList -**Evidence:** Substantive feature/fix PR (18 files changed, 933 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3353](https://github.com/Kilo-Org/cloud/pull/3353) chore(gastown): stage release updates -**Evidence:** Substantive feature/fix PR (61 files changed, 4395 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3327](https://github.com/Kilo-Org/cloud/pull/3327) feat(teams): add Microsoft Teams bot integration -**Evidence:** Substantive feature/fix PR (31 files changed, 25694 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3311](https://github.com/Kilo-Org/cloud/pull/3311) feat(kilo-chat): auto-open chat conversations -**Evidence:** Substantive feature/fix PR (8 files changed, 773 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#3209](https://github.com/Kilo-Org/cloud/pull/3209) feat(github): MVP commit-as-user via GitHub App user-to-server tokens -**Evidence:** Substantive feature/fix PR (40 files changed, 24569 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#2851](https://github.com/Kilo-Org/cloud/pull/2851) feat(emails): transactional emails for top-up and KiloClaw purchase -**Evidence:** Substantive feature/fix PR (12 files changed, 20104 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#1646](https://github.com/Kilo-Org/cloud/pull/1646) adding bulk trial extension dash -**Evidence:** Substantive feature/fix PR (12 files changed, 15689 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#1528](https://github.com/Kilo-Org/cloud/pull/1528) fix(cloud-agent): surface setup stderr during preparation -**Evidence:** Substantive feature/fix PR (13 files changed, 219 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -**Confidence:** medium -**PR:** [#1401](https://github.com/Kilo-Org/cloud/pull/1401) fix(cloud-agent): return 4xx for branch-not-found instead of 500 -**Evidence:** Substantive feature/fix PR (10 files changed, 543 line changes) with no issue reference. -**Suggested action:** Create a tracking issue and link it in the PR description, or document why none is needed. - -## 4. Duplicate or competing PRs - -**Confidence:** high -**Preferred PR:** [#4231](https://github.com/Kilo-Org/cloud/pull/4231) feat(kiloclaw): bump openclaw to version 2026.6.10 -**Duplicate/competing PR(s):** [#4145](https://github.com/Kilo-Org/cloud/pull/4145) feat(kiloclaw): bump openclaw to version 2026.6.9 -**Evidence:** Identical PR titles (2 PRs). Newer version bump is preferred. -**Suggested action:** Review both; consider closing #4145 in favor of #4231 if redundant. - -**Confidence:** high -**Preferred PR:** [#4199](https://github.com/Kilo-Org/cloud/pull/4199) fix(cloud-agent-next): persist kilo import diagnostics -**Duplicate/competing PR(s):** [#3632](https://github.com/Kilo-Org/cloud/pull/3632) fix(cloud-agent-next): diagnose kilo import failures -**Evidence:** 60% changed-file overlap (3 files: services/cloud-agent-next/wrapper/src/restore-session.test.ts, services/cloud-agent-next/wrapper/src/restore-session.ts, services/cloud-agent-next/wrapper/src/utils.ts), title similarity 0.60. -**Suggested action:** Review both; consider closing #3632 in favor of #4199 if redundant. - -## Appendix A: Symptom clusters (medium confidence, not proven duplicates) - -**Confidence:** medium -**Canonical issue:** [#4147](https://github.com/Kilo-Org/cloud/issues/4147) [Gastown] Triage dispatch loop: patrol creates triage beads for non-triage-role poles, infinite retry with no back-off -**Cluster members (4):** [#4147](https://github.com/Kilo-Org/cloud/issues/4147), [#4148](https://github.com/Kilo-Org/cloud/issues/4148), [#4186](https://github.com/Kilo-Org/cloud/issues/4186), [#4187](https://github.com/Kilo-Org/cloud/issues/4187) -**Evidence:** Cluster of 4 issues sharing broad symptom keywords and body similarity ≥0.30; may share root cause or be duplicates. -**Suggested action:** Review cluster to identify true duplicates vs. distinct manifestations; consolidate if appropriate. - -**Confidence:** medium -**Canonical issue:** [#3883](https://github.com/Kilo-Org/cloud/issues/3883) [Gastown] Patrol agent in infinite escalation loop on missing bead references -**Cluster members (3):** [#3883](https://github.com/Kilo-Org/cloud/issues/3883), [#3884](https://github.com/Kilo-Org/cloud/issues/3884), [#3885](https://github.com/Kilo-Org/cloud/issues/3885) -**Evidence:** Cluster of 3 issues sharing broad symptom keywords and body similarity ≥0.30; may share root cause or be duplicates. -**Suggested action:** Review cluster to identify true duplicates vs. distinct manifestations; consolidate if appropriate. - -**Confidence:** medium -**Canonical issue:** [#3780](https://github.com/Kilo-Org/cloud/issues/3780) [Gastown] Patrol assigned gt:triage batch to polecat instead of triage-capable agent -**Cluster members (3):** [#3780](https://github.com/Kilo-Org/cloud/issues/3780), [#3785](https://github.com/Kilo-Org/cloud/issues/3785), [#3786](https://github.com/Kilo-Org/cloud/issues/3786) -**Evidence:** Cluster of 3 issues sharing broad symptom keywords and body similarity ≥0.30; may share root cause or be duplicates. -**Suggested action:** Review cluster to identify true duplicates vs. distinct manifestations; consolidate if appropriate. - -**Confidence:** medium -**Canonical issue:** [#2009](https://github.com/Kilo-Org/cloud/issues/2009) [Gastown] Git push authentication failures blocking bead completion -**Cluster members (3):** [#2009](https://github.com/Kilo-Org/cloud/issues/2009), [#2010](https://github.com/Kilo-Org/cloud/issues/2010), [#2018](https://github.com/Kilo-Org/cloud/issues/2018) -**Evidence:** Cluster of 3 issues sharing broad symptom keywords and body similarity ≥0.30; may share root cause or be duplicates. -**Suggested action:** Review cluster to identify true duplicates vs. distinct manifestations; consolidate if appropriate. - -**Confidence:** medium -**Canonical issue:** [#1957](https://github.com/Kilo-Org/cloud/issues/1957) [Gastown] Polecat agent stuck in triage role mismatch loop -**Cluster members (3):** [#1957](https://github.com/Kilo-Org/cloud/issues/1957), [#1962](https://github.com/Kilo-Org/cloud/issues/1962), [#1965](https://github.com/Kilo-Org/cloud/issues/1965) -**Evidence:** Cluster of 3 issues sharing broad symptom keywords and body similarity ≥0.30; may share root cause or be duplicates. -**Suggested action:** Review cluster to identify true duplicates vs. distinct manifestations; consolidate if appropriate. - -## Appendix B: Issues already labeled `kilo-duplicate` - -These issues already carry the `kilo-duplicate` label. Cross-check that the open references below are intentional and that duplicates are still open. - -**Issue:** [#1515](https://github.com/Kilo-Org/cloud/issues/1515) fix(gastown): PTY sessions disconnect when switching agents — should persist in background -**Evidence:** Issue already carries the `kilo-duplicate` label. References open issue(s): #1489. -**Suggested action:** If the referenced open issue is the canonical one, close #1515 as duplicate. - -**Issue:** [#1512](https://github.com/Kilo-Org/cloud/issues/1512) feat(gastown): Per-role model configuration in town settings — mayor, refinery, polecat -**Evidence:** Issue already carries the `kilo-duplicate` label. No open issue references found in body/comments. -**Suggested action:** If the referenced open issue is the canonical one, close #1512 as duplicate. - -**Issue:** [#1489](https://github.com/Kilo-Org/cloud/issues/1489) fix(gastown): Terminal PTY view corrupts intermittently — blacked out rows/columns until TUI redraw -**Evidence:** Issue already carries the `kilo-duplicate` label. No open issue references found in body/comments. -**Suggested action:** If the referenced open issue is the canonical one, close #1489 as duplicate. - -**Issue:** [#1402](https://github.com/Kilo-Org/cloud/issues/1402) feat(gastown): Billing integration — usage metering, limits, and cost visibility -**Evidence:** Issue already carries the `kilo-duplicate` label. References open issue(s): #1297. -**Suggested action:** If the referenced open issue is the canonical one, close #1402 as duplicate. - -**Issue:** [#1136](https://github.com/Kilo-Org/cloud/issues/1136) Gastown Sync Update: 2026-03-16 — v0.7.0 through v0.12.1 -**Evidence:** Issue already carries the `kilo-duplicate` label. References open issue(s): #447, #1040. -**Suggested action:** If the referenced open issue is the canonical one, close #1136 as duplicate. - -**Issue:** [#1073](https://github.com/Kilo-Org/cloud/issues/1073) Parallel Refinery: Per-Convoy Refinery Agents -**Evidence:** Issue already carries the `kilo-duplicate` label. No open issue references found in body/comments. -**Suggested action:** If the referenced open issue is the canonical one, close #1073 as duplicate. - -## Appendix C: Lower-confidence or excluded candidates - -_Pairs below the similarity/overlap thresholds were excluded to keep findings conservative. Where issues share only thematic overlap (e.g., many unrelated Gastown operational incidents), they were not flagged as duplicates._ - diff --git a/docs/audits/work/pr-quality-findings.md b/docs/audits/work/pr-quality-findings.md deleted file mode 100644 index ae9a6fe10d..0000000000 --- a/docs/audits/work/pr-quality-findings.md +++ /dev/null @@ -1,169 +0,0 @@ -# Cloud PR Quality and Human-Validation Gap Findings - -**Audit date:** 2026-06-24 -**Scope:** All open pull requests in `Kilo-Org/cloud` -**Source inventory:** Built directly from GitHub via `gh pr list --state open` (64 open PRs). The task-0 inventory file was not present in the repo or worktrees, so this analysis uses a fresh inventory extracted from the API. -**Methodology:** Query PR metadata, review/comment authors, check status, inspect diffs, and evaluate whether substantive human validation is present. No PRs were mutated. - -## Executive summary - -- **64 open PRs** were examined. -- **14 are bot-authored** (`app/kilo-code-bot` / `kiloconnect[bot]` / `github-actions[bot]`). -- **45 PRs** have **no substantive human review or comment** (only bot comments, stale-bot warnings, or silence). -- **No open PR currently has a failing required check** in the latest rollup; status is either success/skipped or unavailable. -- The most serious pattern is **bot-authored changes to repository policy/guidance with no human approval**, followed by **large feature PRs authored or heavily assisted by automation with no human review**. -- Findings below are split into **objective quality findings**, **likely automated/AI-assisted indicators**, and **absence of human validation**, with confidence ratings. - -## Definitions - -| Term | Meaning | -|---|---| -| Substantive human validation | A human-authored review (APPROVED / CHANGES_REQUESTED / COMMENTED with content) or a human comment that engages with the change, not just a stale-bot warning or a question about whether the PR is finished. | -| Bot-only activity | Only comments/reviews from `kilo-code-bot`, `github-actions`, or other bots. `kilo-code-bot` comments in this repo are frequently just `` placeholders or self-reported refinery summaries. | -| AI-assisted indicator | Evidence such as bot authorship, "Co-Authored-By: Claude" lines, or PR bodies generated through Kilo for Slack. These are indicators, not proof of low quality. | -| Quality deficiency | Missing tests for new logic, fabricated/unverified claims, placeholder text, sweeping changes without review, or changes that contradict repository conventions. | - -## Inventory totals - -| Category | Count | -|---|---| -| Total open PRs | 64 | -| Bot-authored | 14 | -| Draft PRs | 12 | -| With human review (latest) | 10 | -| With human comment | 14 | -| Bot-only / no human validation | 45 | -| `REVIEW_REQUIRED` with only bot review | 33 | - -## High-confidence findings - -High-confidence findings have **concrete quality concerns** **and** **absent substantive human validation**. - -### 1. Bot-authored repository policy changes with no human approval - -#### PR #3420 — docs(review): enforce rule against challenging PR's stated intent -- **URL:** https://github.com/Kilo-Org/cloud/pull/3420 -- **Author:** `app/kilo-code-bot` (`kiloconnect[bot]`) -- **Changed:** `REVIEW.md` (+17/-0) -- **Quality concern:** Adds an "ABSOLUTE RULE" that reviewers must not challenge a PR's stated goal, scope, or design decisions unless the approach is "objectively unsafe." This materially weakens review standards and could suppress legitimate architectural or correctness concerns. It was added as a top-level rule overriding all other guidance. -- **AI-assisted indicator:** Bot-authored; commit message and body match an AI-generated policy draft. -- **Human validation:** None. Latest review and only comments are from `kilo-code-bot` and a stale-bot warning. -- **Confidence:** High -- **Recommended action:** Human review required before merge. Consider rejecting or heavily revising the rule. - -#### PR #4105 — docs(review): update REVIEW.md guidance -- **URL:** https://github.com/Kilo-Org/cloud/pull/4105 -- **Author:** `app/kilo-code-bot` (`kilo-code-bot[bot]`) -- **Changed:** `REVIEW.md` (+1/-0) -- **Quality concern:** Adds a bullet claiming three "maintainer-accepted fixes" relate to audit-log correctness, but provides no links, issue references, or evidence of maintainer acceptance. The PR body includes ``, suggesting it was generated from an automated memory mechanism. -- **AI-assisted indicator:** Bot-authored with an automated-change-request marker. -- **Human validation:** None. No reviews or human comments. -- **Confidence:** High -- **Recommended action:** Request the bot author (or a human) to cite the maintainer discussions or issue links that justify the guidance change. - -### 2. Large feature PRs authored by bots with no human validation - -#### PR #3209 — feat(github): MVP commit-as-user via GitHub App user-to-server tokens -- **URL:** https://github.com/Kilo-Org/cloud/pull/3209 -- **Author:** `app/kilo-code-bot` -- **Size:** +24,510 / -59, 40 files, 15 commits -- **Quality concern:** Adds a new database table (`user_github_app_tokens`), encryption-key plumbing, OAuth callback routes, a migration, GDPR soft-delete handling, and worker utilities. While the code appears structured, a feature of this security sensitivity (token encryption, user-to-server GitHub authorization) should not land without human security review. -- **AI-assisted indicator:** Entirely bot-authored; multiple self-reported "Refinery code review passed" comments from the same bot. -- **Human validation:** None. Reviews are exclusively from `kilo-code-bot` (multiple `COMMENTED` reviews), and the only other activity is from bots — multiple `kilo-code-bot[bot]` issue comments and a `github-actions` stale warning. -- **Confidence:** High -- **Recommended action:** Require human security and domain review before merge. Do not rely solely on bot self-review. - -#### PR #2851 — feat(emails): transactional emails for top-up and KiloClaw purchase -- **URL:** https://github.com/Kilo-Org/cloud/pull/2851 -- **Author:** `app/kilo-code-bot` (`kiloconnect[bot]`) -- **Size:** +20,100 / -4, 12 files, 11 commits -- **Quality concern:** Introduces billing-related transactional emails with idempotency logic tied to `credit_transactions.stripe_payment_id` and a new `kiloclaw_email_log` table. The logic is sensitive to duplicate sends and subscription lifecycle edge cases. -- **AI-assisted indicator:** Bot-authored. -- **Human validation:** Minimal. `jobrietbergen` commented "@evanjacobson this is already finished right? Can we close this?" — a meta question, not a review. Stale-bot warning present. No approving or change-requesting human review. -- **Confidence:** High -- **Recommended action:** Either close as abandoned (per the comment) or route to a human reviewer for billing/email correctness validation. - -## Medium-confidence findings - -Medium-confidence findings have either a quality concern **or** a clear validation gap, but the evidence is less severe. - -### 3. Bot-authored code changes with missing tests and no human review - -| PR | Title | Author | Size | Quality concern | Human validation | -|---|---|---|---|---|---| -| #3854 | fix(auto-triage): avoid regex code fence parsing | `app/kilo-code-bot` | +53 / -9, 1 file | Rewrites code-block extraction with a custom state machine; no new tests added. | None (only bot ``). | -| #3384 | feat(posthog): add Redis-backed flag definition cache for local evaluation | `app/kilo-code-bot` | +154 / -23, 7 files | New distributed-lock cache implementation; no tests for lock contention, failure, or TTL edge cases. | None (bot + stale-bot only). | -| #3658 | feat(bot): include Slack unfurled link previews in conversation context | `app/kilo-code-bot` | +63 / -5, 1 file | New attachment parsing logic; no tests. | None (only bot). | -| #3812 | fix(admin): default trial org plan to enterprise when created from admin dashboard | `app/kilo-code-bot` | +7 / -1, 1 file | Single hard-coded `'enterprise'` string passed to `createOrganization`; no test coverage for the new default. | None (only bot). | -| #3623 | fix(kilo-pass): remove grandfathered second-month 50% bonus promo | `app/kilo-code-bot` | +53 / -430, 17 files | Removes promo logic and updates tests accordingly; appears correct but is a billing/promotional change with no human review. | None (only bot). | - -**Confidence:** Medium -**Recommended action:** For each, require a human reviewer or add targeted tests before merge. - -### 4. Large human-authored feature PRs with no human review - -These PRs are authored by humans but have no independent human review. Author self-comments and follow-up commits may be present, but no reviewer has engaged with the change. The code may be high quality, but the absence of human review for large architectural changes is itself a risk. - -| PR | Author | Title | Size | Notes | -|---|---|---|---|---| -| #4134 | `pandemicsyn` | feat(mcp-gateway): durable per-client OAuth grants and Authorized Clients UI | +74,612 / -1,763, 172 files | Adds new table, migration, OAuth grant lifecycle, UI. Author self-reported follow-up commits, but no human reviewer. | -| #4218 | `eshurakov` | Bitbucket - Add Bitbucket Integration | +40,093 / -229, 105 files | Large new integration. Only bot review. | -| #4206 | `alex-alecu` | feat(usage): add ask usage | +37,537 / -335, 72 files | New usage telemetry. Only bot review. | -| #4168 | `alex-alecu` | feat(mcp): add native /mcp for cost control | +35,994 / -204, 39 files | Draft. Only bot + author self-comment. | -| #4035 | `keyserfaty` | feat: AgentCard OAuth integration + agent skill | +33,909 / -141, 33 files | Includes `Co-Authored-By: Claude Opus 4.8` in commit. Only bot review. | -| #3327 | `RSO` | feat(teams): add Microsoft Teams bot integration | +25,578 / -116, 31 files | Stale; only bot + stale-bot. | -| #4164 | `iscekic` | feat(extension): add browser agent side panel | +16,070 / -88, 100 files | New `apps/extension` package. Only bot review. | - -**Confidence:** Medium (validation gap is clear; quality defects not proven) -**Recommended action:** Assign human reviewers with relevant domain expertise before merge. - -### 5. Unchecked verification claims - -| PR | Claim | Issue | -|---|---|---| -| #4134 | Verification checklist is empty (`- [ ]`). | Author did not confirm manual testing in the PR template. | -| #4168 | Author commented "Manual test passed." | Self-reported only; no independent verification. | -| #4105 | Claims "Three maintainer-accepted fixes" with no citations. | Unverified assertion in a policy doc. | - -**Confidence:** Medium -**Recommended action:** Require verification evidence or independent reproduction. - -## Low-confidence findings - -### 6. Draft/version-bump PRs with no activity - -| PR | Title | State | Notes | -|---|---|---|---| -| #4231 | feat(kiloclaw): bump openclaw to version 2026.6.10 | Draft, no reviews/comments | Routine dependency bump by `github-actions[bot]`. Low risk but unvalidated. | -| #4145 | feat(kiloclaw): bump openclaw to version 2026.6.9 | Draft, no reviews/comments | Same as above; superseded by #4231. | -| #4220 | feat(coding-plans): expose managed plan usage | Draft, no reviews/comments | Well-tested; validation gap only. | -| #4197 | feat(headroom): add compress worker | Draft, no reviews/comments | New worker; no review. | -| #4005 | feat(auto-routing): Morph model router decisions for kilo-auto tiers | Draft, no reviews/comments | New routing logic; no review. | -| #2120 | feat(cloud-agent): prompt autocomplete (ghost text) | Draft, only author self-comment + stale-bot | Long-running draft. | -| #1582 | fix(claw): add Upgrade option to all toasts when adding secrets | Draft, human comments | Human comments present; not a validation gap. | -| #1379 | Add initial churnkey implementation spec | Draft, human comments | Spec-only; human discussion present. | - -**Confidence:** Low -**Recommended action:** Close stale duplicates (#4145 vs #4231) and route active drafts to reviewers when ready. - -## Overall risk patterns - -1. **Bot self-review is not human validation.** `kilo-code-bot` is the latest reviewer on 33 PRs. Its comments are often just `` placeholders or self-reported summaries. Treating these as reviewed is a process failure. -2. **Policy docs changed by bots.** Two of the most concerning PRs modify `REVIEW.md`, the project's own review contract, without human approval. -3. **Large security/billing features landing unaudited.** Token encryption, OAuth grants, billing emails, and promotional cleanup are being authored or driven by automation without domain expert sign-off. -4. **Stale PRs accumulating.** Several PRs have `github-actions` stale warnings (e.g., #3420, #3384, #3327, #3315, #3209, #2851) indicating long inactivity with no human triage. - -## Recommendations - -1. **Block merges of #3420 and #4105** until a human maintainer reviews and either rejects or rewrites the REVIEW.md changes. -2. **Require human security review for #3209** before any merge. -3. **Close or actively triage #2851** (questioned as potentially finished) and #4145 (superseded by #4231). -4. **Assign domain reviewers** to the large unaudited feature PRs in section 4. -5. **Do not count `kilo-code-bot` reviews as sufficient** for non-trivial changes; update branch-protection rules or process docs to require at least one human reviewer for code and policy changes. -6. **Add test coverage** for the bot-authored logic changes in section 3 before merge. - -## Limitations - -- This audit inspected diffs and metadata but did not run tests or fully trace every code path. -- "AI-generated" classification is based on authorship markers and process evidence, not prose style or heuristic guesses. -- The task-0 inventory was not available, so the PR list was rebuilt from GitHub. Counts may differ slightly if the original inventory used different filters or timestamps.