You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Backlog item #6. Introduce gentle negative signals: messy git behavior (reverts, force-pushes, unusually huge red-diff days) spawns visible "pests" (aphids/weeds) on the plant that you clear by returning to healthy commit cadence. Turns the plant into a fuller behavioral mirror without becoming a nag.
Why it fits
Extends internal/gitstat to surface a few extra signals (revert commits, force-push markers) from data git already exposes, then internal/plant maps them to a bounded pest count, and internal/render draws them. Clean separation, each layer testable.
Keeps the "life you're responsible for" nudge from PLAN.md §3 stronger than a flat chart.
Design notes / scope guard
Detect reverts via commit-message convention (^Revert ") and/or git log --grep. Force-push detection is best-effort from reflog if available; if unavailable, skip gracefully (no hard dependency).
Pests are cosmetic + moral, never destroy growth: they cap at a small number and clear after a healthy commit day. No stage/streak penalty in v1 (stay gentle, opt-in for anything harsher).
Do NOT read commit content/diffs for anything beyond a size heuristic (respect PLAN.md §9 "no reading commit content").
Acceptance criteria
gitstat.Activity gains a small, well-documented signal (e.g. Reverts int within window) parsed purely from git log output; covered by fixture tests.
internal/plant maps signals → a bounded Pests int (clamped), pure and unit-tested; never lowers Stage/Streak in v1.
internal/render draws pests as small ASCII glyphs (e.g. %) on/around the plant, degrading under --no-color.
Pests clear after a clean healthy commit (state transition tested).
--no-pests flag to disable entirely for people who don't want it.
README documents what spawns pests and how to clear them.
Implemented in #26 — reverts now spawn bounded cosmetic pests (% glyphs) that clear on a clean commit, with a --no-pests opt-out. Never touches stage/streak/health.
Merged via #26 (squash). Reverts now spawn cosmetic aphids/weeds, capped at 3, cleared on a clean healthy commit; --no-pests opts out. Purely visual — never lowers stage/streak/health.
Activity
rwrife commentedon Jul 14, 2026
Implemented in #26 — reverts now spawn bounded cosmetic pests (
%glyphs) that clear on a clean commit, with a--no-pestsopt-out. Never touches stage/streak/health.Add cosmetic pests from revert commits (#23) (#26)
rwrife commentedon Jul 15, 2026
Merged via #26 (squash). Reverts now spawn cosmetic aphids/weeds, capped at 3, cleared on a clean healthy commit;
--no-pestsopts out. Purely visual — never lowers stage/streak/health.