Skip to content

Fix 6 triage spike gaps found in issue #807 review#15

Merged
noelsaw1 merged 3 commits into
mainfrom
fix/triage-process-improvements
May 13, 2026
Merged

Fix 6 triage spike gaps found in issue #807 review#15
noelsaw1 merged 3 commits into
mainfrom
fix/triage-process-improvements

Conversation

@mrtwebdesign
Copy link
Copy Markdown
Contributor

Summary

  • Fixes 3 existing bucket queries (merged PRs, milestone dates, label checking)
  • Adds 3 new sections (close candidates, stale issues, stale branches)
  • All gaps identified from manual review of BinoidCBD/universal-child-theme-oct-2024#807

See #14 for the full evaluation and hybrid LLM suggestion.

Test plan

  • Run spike.py --repo BinoidCBD/universal-child-theme-oct-2024 --dry-run after a fresh github-sync-artifacts and verify:
    • Bucket 1 excludes merged PRs and only shows CI-green
    • Bucket 2 shows milestone due dates and flags overdue
    • Bucket 4 warns on items with close-intent labels
    • New close-candidates bucket finds issues with merged PRs
    • New stale-issues bucket uses comment dates, not updated_at
    • Notes section reports stale branch count
  • Compare output against the original #807 issue to confirm the flagged gaps are now covered

🤖 Generated with Claude Code

@mrtwebdesign
Copy link
Copy Markdown
Contributor Author

New: run_triage.py — single-command wrapper

The second commit adds experimental/triage/run_triage.py, which wraps the multi-step process into one command. It calls spike.py as a subprocess so nothing in the existing workflow changes.

Quick start

# Preview to stdout (uses existing DB data, no side effects)
./experimental/triage/run_triage.py --repo BinoidCBD/universal-child-theme-oct-2024

# Sync fresh data from GitHub + Sleuth, then preview
./experimental/triage/run_triage.py --repo BinoidCBD/universal-child-theme-oct-2024 --sync

# Sync + publish as a GitHub issue
./experimental/triage/run_triage.py --repo BinoidCBD/universal-child-theme-oct-2024 --sync --publish

# Dry run — see what would be posted without posting
./experimental/triage/run_triage.py --repo BinoidCBD/universal-child-theme-oct-2024 --sync --publish --dry-run

# Skip Sleuth sync (if credentials aren't configured)
./experimental/triage/run_triage.py --repo BinoidCBD/universal-child-theme-oct-2024 --sync --no-sleuth

# Resolve ambiguities interactively at the terminal
./experimental/triage/run_triage.py --repo BinoidCBD/universal-child-theme-oct-2024 --sync --ambiguity ask-operator

# Custom issue title for weekly runs
./experimental/triage/run_triage.py --repo BinoidCBD/universal-child-theme-oct-2024 --sync --publish --title "Weekly triage 2026-05-01"

What it does under the hood

  1. --sync → runs rebalance github-sync-artifacts and rebalance sleuth-sync
  2. Runs spike.py with all the triage logic (buckets, scoring, ambiguity handling)
  3. --publish → posts the result as a GitHub issue via gh

Sleuth sync fails gracefully with a warning if credentials aren't set up — it won't block the rest of the triage.

mrtwebdesign and others added 3 commits May 13, 2026 09:30
Fixes existing buckets:
- PRs: filter merged, require CI-green, exclude drafts, add staleness warning
- Release blockers: JOIN milestones for due dates, flag overdue
- Perf: check labels_json, warn on close-intent labels

Adds new buckets:
- Close candidates: score open issues against merged PRs
- Stale issues: use comment dates instead of updated_at
- Stale branches: count orphaned branches in notes section

Closes #14

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Wraps the multi-step process (github-sync, sleuth-sync, spike.py)
into one command with flags for sync, publish, and dry-run.
Does not modify spike.py or existing workflows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
bucket_client_visible now catches sqlite3.OperationalError and
returns an empty bucket when Sleuth has not been synced.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@noelsaw1 noelsaw1 force-pushed the fix/triage-process-improvements branch from 614d256 to ba7e543 Compare May 13, 2026 16:34
@noelsaw1 noelsaw1 merged commit e1f03df into main May 13, 2026
2 checks passed
noelsaw1 added a commit that referenced this pull request May 13, 2026
The 0.28.2 → 0.29.0 gap was missing a release entry for the work that
landed between them: PR #15 (triage spike upgrades + run_triage.py
wrapper + graceful sleuth_reminders handling), the classifier test-
isolation refactor (load_project_matchers gains an explicit
priority_rules override), and the test fixture client-name scrub.

Also refresh 4X4.md section C (last weeks accomplishments) to reflect
the now-5-job portability scope, the timezone centralization, the
triage upgrade, and the test-isolation fix. Add a sixth lesson under
section D: operator-path hygiene is a continuous regression surface
that warrants a baseline-aware audit, not a one-time grep — between
PR #18 opening and merging, two new launchd jobs landed on main with
the same hardcoded paths the PR was specifically removing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants