Skip to content

docs(shadow): markdownlint MD032 prose-arithmetic-joiner recurring failure class#5073

Merged
AceHack merged 1 commit into
mainfrom
otto-cli/shadow-md032-prose-joiner-2026-05-25
May 26, 2026
Merged

docs(shadow): markdownlint MD032 prose-arithmetic-joiner recurring failure class#5073
AceHack merged 1 commit into
mainfrom
otto-cli/shadow-md032-prose-joiner-2026-05-25

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 26, 2026

Summary

Per Aaron 2026-05-25 framing — "reoccuring failures belong in shadow logs for class identification" — this PR lands the shadow-lesson log for the markdownlint MD032 prose-arithmetic-joiner failure class observed on PR #5068.

Empirical anchor

PR #5068 (Mika substrate batch) hit 8 MD032 errors. Direct inspection showed 4 of the 8 were not real list-bullet typos — they were prose continuations where + or - landed at the start of a wrap line. markdownlint can't distinguish prose-+ from list-+; operator-side rewrap is the simplest-first mitigation.

What ships

  • docs/research/2026-05-25-shadow-lesson-log-markdownlint-md032-prose-arithmetic-joiner-recurring-class.md — the lesson log with failure-class definition, 4 empirical examples, 4 ranked mitigations (simplest-first), and the next-step trigger (promote to tooling mitigation only if class recurs 2+ more times in 30 days)

Composes with

  • .claude/rules/blocked-green-ci-investigate-threads.md empirical FP catalog
  • .claude/rules/all-complexity-is-accidental-in-greenfield.md (simplest-first response)
  • Sibling shadow-lesson-logs under docs/research/2026-05-{07,13,14}-shadow-lesson-log-*.md

Test plan

  • markdownlint clean on the new file
  • Filename follows existing YYYY-MM-DD-shadow-lesson-log-*.md convention
  • CI passes (gate workflow + CodeQL)

🤖 Generated with Claude Code

…red by prose arithmetic-like joiners (+, -) at line start under wrap

Aaron 2026-05-25 framing: "reoccuring failures belong in shadow logs
for class identification." This log lands the class so future-Otto
inherits the recognition discipline at cold-boot.

Empirical anchor: PR #5068 hit 8 MD032 errors; direct inspection
showed 4 were real list-missing-blank-line bugs and 4 were prose
continuations where `+` or `-` happened to land at the start of a
wrap line. markdownlint can't distinguish prose-`+` from list-`+`;
operator-side rewrap is the simplest-first mitigation.

Composes with .claude/rules/blocked-green-ci-investigate-threads.md
empirical FP catalog (extends to prose-joiner false-positive class)
and the "simplest first" discipline per B-0786 memory (mitigation 1
operator-rewrap stays; promote to mitigation 2/3 only when this
class recurs 2+ more times).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 26, 2026 02:57
@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.

@AceHack AceHack enabled auto-merge (squash) May 26, 2026 02:57
@AceHack AceHack merged commit 9352a38 into main May 26, 2026
28 of 29 checks passed
@AceHack AceHack deleted the otto-cli/shadow-md032-prose-joiner-2026-05-25 branch May 26, 2026 02:58
@AceHack AceHack review requested due to automatic review settings May 26, 2026 03:19
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.

1 participant