Skip to content

backlog(B-0028): gh-pr-state-summary tool TS extraction — third Otto-346 violation catch this session#549

Merged
AceHack merged 2 commits intomainfrom
backlog/B-0028-gh-pr-state-summary-tool-typescript-otto-346-recurring-pattern
Apr 26, 2026
Merged

backlog(B-0028): gh-pr-state-summary tool TS extraction — third Otto-346 violation catch this session#549
AceHack merged 2 commits intomainfrom
backlog/B-0028-gh-pr-state-summary-tool-typescript-otto-346-recurring-pattern

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 26, 2026

Summary

Aaron caught me using inline Python AGAIN this session: "also more dymanic python smell"

Same Otto-346 pattern (recurring dynamic Python = missing substrate primitive). Third instance this session:

  1. PR feat(hygiene): tools/hygiene/sort-tick-history-canonical.py — substrate-built-in instead of dynamic Python #541 — sort-tick-history-canonical.py (extracted)
  2. PR feat(hygiene): fix-markdown-md032-md026.py — recurring pattern extracted to substrate primitive (Otto-346 in action) #542 — fix-markdown-md032-md026.py (extracted)
  3. B-0028 (this row) — gh-pr-state-summary (owed)

The cumulative count IS the signal that B-0015's P2 TS migration needs to actually start shipping the first sibling.

Implementation target: TypeScript

Per Aaron's prior priority bump on B-0015 (P3 → P2): post-install tools target TypeScript. This is post-install (developer + CI machines have Bun).

Why this might be the right first POST-install TS migration

Aspect B-0015 (batch-resolve-pr-threads.sh) B-0027 (markdown-table-cell-count) B-0028 (gh-pr-state-summary)
Size 390 lines bash not yet built ~80-150 lines TS
Recurrence in real use high during drain reactive-only highest — daily during drain
First-migration suitability strong but big medium strong + small

Recommendation: B-0028 might be the cheapest precedent-setter for the post-install TS migration unblock.

Owed work cluster

Five-tool batch awaiting post-install TS migration:

Once the first lands, sibling-migration guardrail unblocks the rest.

Composes with

Test plan

  • BACKLOG row lands on main
  • Discoverable via grep on "B-0028" / "gh-pr-state-summary" / "third Otto-346"
  • No code changes — pure backlog discipline capture

🤖 Generated with Claude Code

@AceHack AceHack enabled auto-merge (squash) April 26, 2026 04:43
Copilot AI review requested due to automatic review settings April 26, 2026 04:43
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new P3 backlog row (B-0028) capturing the recurring “gh CLI JSON parsing via inline Python” pattern and proposing extraction of a post-install Bun+TypeScript tool (tools/git/pr-state-summary.ts) as an Otto-346-style substrate primitive.

Changes:

  • Introduces a new backlog row file documenting the motivation, intended behavior, and related work cluster for pr-state-summary.ts.
  • Captures the “third recurrence this session” meta-observation and ties it to the broader post-install TS migration push (referencing B-0015).

@AceHack AceHack force-pushed the backlog/B-0028-gh-pr-state-summary-tool-typescript-otto-346-recurring-pattern branch from 9d8291d to 49eb90f Compare April 26, 2026 07:47
@AceHack AceHack merged commit cf229e7 into main Apr 26, 2026
16 checks passed
@AceHack AceHack deleted the backlog/B-0028-gh-pr-state-summary-tool-typescript-otto-346-recurring-pattern branch April 26, 2026 07:51
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