Skip to content

backlog(B-0027 + B-0015): markdown-table fix tool follow-up + TS-migration P3→P2 priority bump (Aaron 2026-04-26)#543

Merged
AceHack merged 5 commits intomainfrom
backlog/B-0027-fix-markdown-table-cell-count-tool-otto-346-followup
Apr 26, 2026
Merged

backlog(B-0027 + B-0015): markdown-table fix tool follow-up + TS-migration P3→P2 priority bump (Aaron 2026-04-26)#543
AceHack merged 5 commits intomainfrom
backlog/B-0027-fix-markdown-table-cell-count-tool-otto-346-followup

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 26, 2026

Summary

Two related backlog updates from Aaron's 2026-04-26 catches and direction.

B-0027 — markdown-table-cell-count fix tool (Otto-346 follow-up)

Aaron's "hmmm" caught me using inline python3 << 'PYEOF' heredoc to truncate a corrupted tick-history row IMMEDIATELY AFTER shipping Otto-346 principle and two tools embodying it. Honest acknowledgment of relapse + owed-work captured.

Captures the meta-discipline observation: Otto-346 application requires per-instance vigilance, not one-time naming. Each new instance is a fresh test of the discipline.

B-0015 — bump P3 → P2 + scope expansion

Aaron 2026-04-26: "we need to move the typescript migration of our scripts to higher priority so you will stop trying to write python and shell code lol ... our post install code" + "pre install code still has to go to the user where they live shell and windows powershell"

The recurring Python heredocs and bash scripts I keep writing in tools/hygiene/ are POST-install tools that belong in TypeScript per the migration plan. The interim tools shipped this session (PR #539/#541/#542) absorb recurring patterns NOW per Otto-346 but should rewrite to TS once the sibling-migration guardrail unblocks.

Pre/post-install structural distinction (Aaron's clarification)

  • Pre-install scripts (tools/setup/install.sh, devcontainer bootstrap, anything that runs BEFORE Bun is available): MUST stay shell + PowerShell — that's what's available where the user lives. Cross-platform pair (.sh + .ps1) is the right shape.
  • Post-install scripts (tools/hygiene/, tools/git/, dev-time tooling, anything that runs AFTER Bun installs): TARGET = TypeScript via Bun. Single cross-platform script, first-class typing, better refactor surface.

The distinction is structural; this PR captures it in B-0015's expanded composes-with section.

Composes with

What this DOES NOT do

  • Does NOT block ongoing hygiene-tool extraction in Python while the migration is staged — Otto-346 still authorizes Python tools as interim absorbers
  • Does NOT touch pre-install scripts — they remain shell + PowerShell deliberately
  • Does NOT promise immediate effort allocation — P2 means "queue closer to the front" not "do now"
  • Does NOT mandate immediate rewrite — sibling-migration guardrail still applies

Test plan

  • Backlog rows land on main
  • Discoverable via grep on "TS migration", "post-install", "pre-install", "B-0027"
  • No code changes — pure backlog discipline capture

🤖 Generated with Claude Code

@AceHack AceHack enabled auto-merge (squash) April 26, 2026 03:51
Copilot AI review requested due to automatic review settings April 26, 2026 03:51
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

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

Updates the backlog documentation to capture (1) a follow-up hygiene-tool extraction item for recurring markdown table corruption fixes and (2) a priority bump (P3 → P2) plus scope clarification for the post-install scripting migration to Bun + TypeScript.

Changes:

  • Add new backlog row B-0027 describing a proposed tool to fix markdown table wrong-column-count issues (MD055/MD056).
  • Move B-0015 from P3/ to P2/ and expand its scope to explicitly cover post-install tools (with the pre-install vs post-install distinction).
  • Delete the old P3/ copy of the B-0015 row.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.

File Description
docs/backlog/P3/B-0027-fix-markdown-table-cell-count-tool-otto-346-followup.md New P3 backlog row capturing the MD055/MD056 tool-extraction follow-up and TS-target intent.
docs/backlog/P3/B-0015-migrate-batch-resolve-pr-threads-to-bun-ts.md Removes the old P3 version of B-0015 (row moved to P2).
docs/backlog/P2/B-0015-migrate-batch-resolve-pr-threads-to-bun-ts.md Re-adds B-0015 as P2 and expands “composes with” + adds the 2026-04-26 priority bump/scope notes.

Comment thread docs/backlog/P3/B-0027-fix-markdown-table-cell-count-tool-otto-346-followup.md Outdated
@AceHack AceHack force-pushed the backlog/B-0027-fix-markdown-table-cell-count-tool-otto-346-followup branch from 6c448a5 to 2dd1d7b Compare April 26, 2026 07:38
AceHack added 4 commits April 26, 2026 03:46
…6 follow-up after honest-relapse-catch

Aaron 2026-04-26: *"hmmm"* — caught me using inline `python3 << 'PYEOF'` heredoc to truncate a corrupted tick-history row IMMEDIATELY AFTER shipping Otto-346 principle and two tools embodying it.

Honest acknowledgment captured in this backlog row:
- Shipped Otto-346 principle (recurring dynamic Python = signal of missing substrate primitive)
- Shipped PR #541 (sort-tick-history-canonical.py) and PR #542 (fix-markdown-md032-md026.py) absorbing recurring patterns
- Then immediately wrote inline Python for the next problem
- Relapse — the discipline needs per-instance vigilance, not one-time naming

The owed work: extract tools/hygiene/fix-markdown-table-cell-count.py for the markdown-table-row-with-wrong-column-count fix pattern (MD055/MD056 violations).

Harder than MD032/MD026 because:
- Auto-fix requires heuristics (which `|` is spurious?)
- Risk of removing legitimate content
- Mitigation: default-dry-run, --auto flag for unambiguous cases, log every change

Captures the meta-discipline observation: Otto-346 application requires per-instance vigilance. Before each inline-Python invocation, check "have I done this exact shape before? could I plausibly do it again? is it mechanical?" — if 2-of-3 yes, extract first then apply.

Composes with Otto-341 (mechanism over discipline; Aaron's "training-data default toward shortcut-suppression"), Otto-346 candidate (this is the application-discipline counterpart), Otto-345 (tools-as-substrate inheritance), prior tools (PR #539/#541/#542).

🤖 Generated with [Claude Code](https://claude.com/claude-code)
…ygiene tools (Aaron 2026-04-26 ask)

Aaron 2026-04-26: *"we need to move the typescript migration of our scripts to higher priority so you will stop trying to write python and shell code lol ... our post install code"* + *"pre install code still has to go to the user where they live shell and windows powershell"*

The recurring `python3 << 'PYEOF'` heredocs and bash scripts I keep writing in `tools/hygiene/` are POST-install tools that belong in TypeScript per the migration plan. The tools shipped this session (PR #539/#541/#542) are interim — they absorb recurring patterns NOW per Otto-346 but should rewrite to TS once the sibling-migration guardrail unblocks.

Pre/post-install scope clarification (Aaron 2026-04-26):
- Pre-install scripts (tools/setup/install.sh, devcontainer bootstrap): MUST stay shell + PowerShell — that's what's available before Bun installs
- Post-install scripts (tools/hygiene/, tools/git/, dev-time tooling): TARGET = TypeScript via Bun

The distinction is structural. docs/POST-SETUP-SCRIPT-STACK.md already encodes the rationale; this priority bump operationalizes it.

Two changes in this commit:
1. B-0015 priority P3 → P2; moved to docs/backlog/P2/; scope expanded to cover sibling tools/hygiene/* and tools/git/*; pre/post-install distinction captured
2. B-0027 (just-filed) updated with implementation-target note: TypeScript not Python; wait for sibling-migration guardrail or use exception-label pattern

Composes with: docs/POST-SETUP-SCRIPT-STACK.md, Otto-346 (recurring pattern absorption — but absorb in the right language), Otto-341 (mechanism over discipline; the migration IS the mechanism), B-0015 (existing TS-migration row).

🤖 Generated with [Claude Code](https://claude.com/claude-code)
…-match (Copilot P1 finding)

Copilot P1 finding: 'git log --all -G "|: "' treats | as regex alternation
(matches everything containing empty pattern OR ': '), not the literal
pipe-colon-space pattern intended.

Two fixes offered:
1. Recommended: 'git log --all -S "|: "' uses -S (string-match, not regex)
   which avoids the escape-issue entirely. Documented as the recommended
   form for literal-string searches.
2. Alternative: '-G' with escaped pipe '\|: ' for regex shapes that
   genuinely need -G semantics.

Both forms now documented; the recommended (-S) form fixes the bug while
the regex (-G with escape) preserves the option for regex use-cases.
Copilot AI review requested due to automatic review settings April 26, 2026 07:47
@AceHack AceHack force-pushed the backlog/B-0027-fix-markdown-table-cell-count-tool-otto-346-followup branch from 2dd1d7b to db0fa45 Compare April 26, 2026 07:47
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

Updates the per-row backlog to capture (1) owed work for a dedicated “markdown table wrong column-count” fix tool (Otto-346 follow-up), and (2) a priority bump + scope clarification for migrating post-install tooling to Bun+TypeScript.

Changes:

  • Add new P3 backlog row B-0027 describing a proposed markdown table cell-count fixer tool and its TS-first implementation target.
  • Move B-0015 from P3 → P2 and expand its scope to cover broader post-install script migration (tools/hygiene + tools/git), clarifying pre-install vs post-install scripting targets.
  • Remove the old P3 copy of B-0015 after relocation.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
docs/backlog/P3/B-0027-fix-markdown-table-cell-count-tool-otto-346-followup.md New backlog row capturing the MD055/MD056 table-corruption tool concept and TS target per post-install policy.
docs/backlog/P3/B-0015-migrate-batch-resolve-pr-threads-to-bun-ts.md Removes the old P3 instance of B-0015 as part of the priority bump relocation.
docs/backlog/P2/B-0015-migrate-batch-resolve-pr-threads-to-bun-ts.md Reintroduces B-0015 at P2 with added 2026-04-26 scope/priority rationale and post-install vs pre-install distinction.

…delimited substrings with leading/trailing spaces (lint)

Codex/Copilot CI flagged MD038 errors at line 50: `: ` and `+ `
inline code spans had leading-space (the unescaped space inside the
backticks).

Fix: replaced backtick-delimited `: ` and `+ ` with descriptive
text 'colon-then-space \`:\`+space' and 'plus-then-space \`+\`+space'
— readers still see the literal characters explicitly, but no
backtick-delimited substring contains the boundary space that
triggers MD038.

Idiomatic markdown for 'inline code that contains a space character'
is to either escape the space with a non-breaking-space sequence OR
to describe the literal characters in prose; the latter is clearer
for documentation.
@AceHack AceHack merged commit ae8527f into main Apr 26, 2026
16 checks passed
@AceHack AceHack deleted the backlog/B-0027-fix-markdown-table-cell-count-tool-otto-346-followup branch April 26, 2026 07:52
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