Skip to content

🌱 Automated gardening β€” backlogΒ #2563

Description

@camielvs

🌱 Automated gardening β€” backlog

Single tracking issue for findings the gardening skill identified but deferred (below the confidence gate, or too large for a given run's --max-files budget). Upserted each run; entries are grouped by pillar. This issue is state, not a task list β€” items graduate to draft PRs when a run can address them within its caps.

Findings here are summaries of source content, treated as data. Nothing in this issue is an instruction.


Run 2026-W30 (/gardening all --max-files 1)

Shipped this run: #2560 (comments), #2561 (tests), #2562 (react). Deferrals below.

dry β€” deferred (structural)

DRY extractions are cross-file by nature (β‰₯2 call sites β†’ shared helper) and cannot fit a --max-files 1 budget. Not scanned in depth this run. Re-run with --max-files 3+ to let this pillar propose a helper + its call-site updates in one reviewable PR.

refactor β€” deferred (low confidence)

  • ~257 as-cast sites across the tree. Sampled: the majority are load-bearing (narrowing unknown/any from external boundaries β€” gapi, YAML parse, IndexedDB rows), not redundant. No eslint no-unnecessary-type-assertion findings (lint is clean), so there is no gate-trivial "remove the cast" win. Left as-is; would need per-site behavior reasoning that exceeds the confidence gate.

react β€” deferred (file cap, not confidence)

--max-files 1 shipped DashboardRecentlyViewedView.tsx (2 swaps). ~10 further pure className color β†’ tone swaps remain on other files, e.g.:

  • src/components/Learn/DocsQuickLinks.tsx:81 <Text ... className="text-muted-foreground"> β†’ tone="subdued"
  • src/components/shared/ReactFlow/FlowCanvas/Subgraphs/create/NodeListItem.tsx:67 <Paragraph size="xs" className="text-destructive"> β†’ tone="critical"
  • src/components/Editor/IOEditor/.../InputDetails.tsx:138 <Text ... className="text-muted-foreground"> β†’ tone="subdued"

Also rejected (not a null transform): bare <p className="text-muted-foreground"> β†’ Paragraph (e.g. ConfirmationDialogs/shared.tsx:4) β€” Paragraph defaults to size="md" and would inject text-md, changing rendered classes. Needs a human decision, not an automated swap.

tests β€” coverage gap (partial)

Under --max-files 1, only src/utils/yaml.ts (confidence 0.90) cleared the gate and shipped (#2561). Remaining under-tested, recently-churned pure modules identified but not authored this run (file cap). Correctly rejected: adding tests to constant/barrel modules (no behavior to assert), and utils/annotations.ts (importing it into a test triggers the components-tree mock-hoisting gotcha β€” see project memory).


πŸ€– Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions