Skip to content

backlog(B-0537): memory/MEMORY.md index-entry lengths cleanup + CI gate (P3)#3580

Merged
AceHack merged 2 commits into
mainfrom
backlog/b0537-memory-index-entry-lengths-cleanup-gate-otto-cli-2026-05-15
May 15, 2026
Merged

backlog(B-0537): memory/MEMORY.md index-entry lengths cleanup + CI gate (P3)#3580
AceHack merged 2 commits into
mainfrom
backlog/b0537-memory-index-entry-lengths-cleanup-gate-otto-cli-2026-05-15

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 15, 2026

Summary

Files B-0537 — `memory/MEMORY.md` has 100 long entries (>200 chars target per CLAUDE.md convention). Detection exists in `audit-memory-index-entry-lengths.ts` (detect-only); CI gate missing.

Same pattern as B-0535: detect logic in place, wiring is the gap. Two-slice plan: cleanup (100 → 0) + gate.

ID allocation

Test plan

  • B-0537 ID free
  • Frontmatter parses; composes_with: B-0535, B-0536
  • CI green (markdownlint, archive-header §33, backlog ID uniqueness, backlog parent-child status)
  • Auto-merge arms

🤖 Generated with Claude Code

…te (P3)

Substrate-honest residual from this session's audit-first-then-decide
discipline. Tick 2031Z audit run surfaced 100 long entries in
memory/MEMORY.md (target ≤200 chars per CLAUDE.md convention).

Same catch-once-then-lint pattern as B-0535: detection logic exists in
audit-memory-index-entry-lengths.ts (detect-only, exits 0); CI wiring
is the gap. Two-slice plan:

- Slice A: tighten 100 entries to ≤200 chars (per-entry content judgment;
  ~50 min focused work; can be batched per-section)
- Slice B: --enforce-long-entries flag + lint-memory-index-entry-lengths
  gate.yml job (after baseline = 0)

ID allocation: B-0537 verified free (B-0531-B-0536 all taken/in-flight).

Composes with: B-0535 (sibling cleanup+gate pattern), B-0536 (sibling
substrate-honest residual capture), CLAUDE.md MEMORY.md convention.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 15, 2026 20:35
@AceHack AceHack enabled auto-merge (squash) May 15, 2026 20:35
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 file B-0537 capturing the work to clean up memory/MEMORY.md index entries that exceed the one-line length target and to wire the existing detect-only audit into the CI gate. Follows the catch-once-then-lint pattern established in sibling rows B-0535/B-0536.

Changes:

  • New backlog row file under docs/backlog/P3/ with frontmatter (id B-0537, P3, M effort, composes_with B-0535 and B-0536).
  • Two-slice plan: Slice A tightens ~100 long entries to ≤200 chars; Slice B adds an enforce flag plus a gate.yml job.
  • Scope explicitly excludes user-scope MEMORY.md and per-topic-file content quality.

AceHack added a commit that referenced this pull request May 15, 2026
…p + CI gate (#3581)

- PR #3574 + #3579 wait-CI
- PR #3580 — B-0537 backlog row filed (P3, 2-slice plan)
- Audit-driven session phase compounds: B-0536 + B-0537 = 2 substrate-honest residuals captured
- Pattern stable: audit-detect → row-file → cleanup → gate-wire
- 22-tick session arc

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Quote was attributed to CLAUDE.md but lives in the auto-memory
  system prompt; re-attribute accordingly (Copilot thread 1)
- Canonical standard is 150 chars (project_memory_format_standard.md),
  not 200; update Slice A target and Slice B wiring to --max 150
- Slice B plan referenced --enforce-long-entries (doesn't exist);
  the tool already has --enforce (exits code 2); update plan to match
  (Copilot thread 2)

Co-Authored-By: Claude <noreply@anthropic.com>
@AceHack AceHack merged commit d69083f into main May 15, 2026
24 of 25 checks passed
@AceHack AceHack deleted the backlog/b0537-memory-index-entry-lengths-cleanup-gate-otto-cli-2026-05-15 branch May 15, 2026 20:44
AceHack added a commit that referenced this pull request May 15, 2026
…(PR #3583) (#3584)

- PR #3580 (B-0537) + #3582 (2038Z shard) wait-CI
- PR #3583 — memory file naming audit-first-then-decide as named discipline
- Converts implicit 23-tick pattern → durable substrate per substrate-or-it-didn't-happen
- Resolves never-be-idle vs razor-discipline vs Standing-by tensions via audit-output routing
- 24-tick session arc

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 15, 2026
…rns (#3582)

* shard(tick): 2038Z — quiet checkpoint #3; row-filing diminishing returns; future-Otto hints recorded

- PR #3580 + #3581 wait-CI
- Surveyed 3 audits (formal-artifacts, cross-platform-parity, ci-cache-paths) — no single-tick scope
- Chose NOT to file 3rd backlog row this phase; razor-discipline + no-op-cadence rule
- Future-Otto hints in shard: 7 TLA+ specs, 13 .sh→.ps1 twins, 623 md032 hits, B-0536/B-0537
- 23-tick session arc; cron live

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(shard/2038Z): MD032 blank line, row-count accuracy, fix dead promotion-ledger path

- Add blank line before list (MD032/blanks-around-lists fix)
- Correct "filed 3 backlog rows" → "filed 2 backlog rows" (only B-0536 + B-0537 filed)
- Replace dead docs/research/promotion-ledger xref with actual paths:
  memory/promotion-ledger.jsonl + tools/hygiene/audit-promotion-ledger.ts
- Merge main to pull in B-0537 backlog row (resolves dead link finding)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

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