Skip to content

docs(method): add backlog cards and hook failure note#388

Merged
flyingrobots merged 10 commits into
mainfrom
docs/cool-ideas-batch
May 31, 2026
Merged

docs(method): add backlog cards and hook failure note#388
flyingrobots merged 10 commits into
mainfrom
docs/cool-ideas-batch

Conversation

@flyingrobots
Copy link
Copy Markdown
Owner

@flyingrobots flyingrobots commented May 31, 2026

Summary

This PR records METHOD backlog notes so the ideas and observed tooling debt stay visible instead of living only in session memory.

It currently includes:

Card Lane Purpose
PLATFORM_claude-think-remember.md cool-ideas Proposes codex-think --remember filtering and ritualizing it in session-start guidance.
PLATFORM_test-timing-history.md cool-ideas Adds local per-test timing telemetry and xtask slow-tests query ideas to protect dev-loop speed.
WESLEY_ir-structural-diff.md cool-ideas Proposes wesley diff <old-ir> <new-ir> for schema/IR compatibility classification.
METHOD_generated-playback.md cool-ideas Proposes generated playback docs derived from cycle goals, tests, acceptance, and witness commands.
PLATFORM_xtask-leash-audit-stub.md cool-ideas Proposes a minimum viable leash audit surface for active temporary scaffolds.
PLATFORM_linked-worktree-hooks-use-dotgit-paths.md bad-code Documents the local hook failure where scripts/verify-local.sh assumes .git is a directory and fails in linked worktrees after checks pass.

Why this matters

The five cool-ideas cards preserve the 2026-05-30 brainstorm in the filesystem backlog. The linked-worktree hook note captures a concrete operator-facing failure observed while committing from /Users/james/git/echo-teardown: local validation passed, but stamp writing failed with mkdir: .git: Not a directory because linked worktrees store .git as a pointer file.

Validation

  • scripts/verify-local.sh pre-commit passed during commit.
  • Markdownlint passed during commit.
  • Pre-push docs-only verification passed during push.
  • scripts/check_spdx.sh docs/method/backlog/bad-code/PLATFORM_linked-worktree-hooks-use-dotgit-paths.md
  • pnpm exec prettier --check docs/method/backlog/bad-code/PLATFORM_linked-worktree-hooks-use-dotgit-paths.md
  • git diff --check

Notes

None of these cards are implementation commitments for the current release lane. They are backlog capture and tooling-debt documentation.

Captures the post-merge backlog batch authorized by the user after
the Echo 0025 Phase 2 pre-flight review. None of these block
Phase 2 RED; all are recorded so the ideas do not evaporate.

PLATFORM_claude-think-remember.md
  Two-part: enhancement (--since / --repo / --branch filters on the
  existing --remember surface) + ritualization (replace --recent
  with --remember in CLAUDE.md session-start guidance). Acknowledges
  that --remember already exists and was discovered mid-session.

PLATFORM_test-timing-history.md
  Per-test timing telemetry: append to target/test-timing-history.jsonl
  on every test run; surface via `xtask slow-tests --top / --branch
  / --since / --regressed-since`. Defends the PR #383 dev-loop speedup
  against silent re-decay; the 96-second test should have been visible
  before it became rage fuel.

WESLEY_ir-structural-diff.md
  `wesley diff <old-ir> <new-ir>` classifier: breaking (enum reorder,
  field removal, codec_id change, op-id preimage change) vs
  potentially safe (additive new operation/type) vs drift (stale
  inline codec_id). Pre-push gate + PR review bot. Would have caught
  the entire 0024 design-doc append-only-enum bug at the IR level.

METHOD_generated-playback.md
  Phase 3 playback docs become generated artifacts derived from
  cycle goals + RED test names + acceptance criteria + witness
  commands. Sign-off slots persist in a sibling file across regens.
  Eliminates the single largest source of stale METHOD docs without
  removing the human sign-off step.

PLATFORM_xtask-leash-audit-stub.md
  Minimum-viable leash audit: read leash frontmatter, print active
  leashes with per-symbol grep counts against the target repo. No
  state-machine yet. Justifies shipping early because Phase 2 GREEN
  is precisely the moment the first leash should fire.

Each card has acceptance criteria. Each cross-references its
companions (test-timing → wesley-gen-speedup, wesley-diff →
wesley-gen-emitter-duplication, leash-audit → leash convention).
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 31, 2026

Review Change Stack

Warning

Review limit reached

@flyingrobots, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 38 minutes and 24 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 4a49bee4-32c5-4ab3-976d-21683c4c9de2

📥 Commits

Reviewing files that changed from the base of the PR and between 17ce49f and eff7c62.

📒 Files selected for processing (6)
  • docs/method/backlog/bad-code/PLATFORM_linked-worktree-hooks-use-dotgit-paths.md
  • docs/method/backlog/cool-ideas/METHOD_generated-playback.md
  • docs/method/backlog/cool-ideas/PLATFORM_claude-think-remember.md
  • docs/method/backlog/cool-ideas/PLATFORM_test-timing-history.md
  • docs/method/backlog/cool-ideas/PLATFORM_xtask-leash-audit-stub.md
  • docs/method/backlog/cool-ideas/WESLEY_ir-structural-diff.md
📝 Walkthrough

Walkthrough

The PR adds five design documents to the backlog describing proposed tooling and workflow features: automated playback generation from test metadata, enhanced claude-think --remember filtering, per-test timing history with regression detection, leash audit scanning, and IR-based schema migration classification.

Changes

Backlog Proposals

Layer / File(s) Summary
Generated playback automation
docs/method/backlog/cool-ideas/METHOD_generated-playback.md
Proposes Phase 3 playback generation from cycle goals, test names, and witness scaffolds, with persistent human sign-offs and an xtask method playback <cycle> command.
Leash audit MVP
docs/method/backlog/cool-ideas/PLATFORM_xtask-leash-audit-stub.md
Specifies xtask leash-audit to scan leash frontmatter and report active leashes with symbol grep counts; defers automatic state transitions and PR movement.
claude-think --remember enhancements
docs/method/backlog/cool-ideas/PLATFORM_claude-think-remember.md
Adds filtering flags (--since, --repo, --branch) to claude-think --remember and updates ~/.claude/CLAUDE.md session-start ritual to use --remember for branch/cycle restoration.
Test timing regression detection
docs/method/backlog/cool-ideas/PLATFORM_test-timing-history.md
Describes JSONL append-only timing log with per-test duration, status, and branch metadata; defines xtask slow-tests with --regressed-since flag for median-based regression queries.
IR structural diff classifier
docs/method/backlog/cool-ideas/WESLEY_ir-structural-diff.md
Proposes wesley diff to classify schema migrations into Breaking, Potentially safe/Additive, and Drift categories with specific enum/field/codec/op-id patterns; emits JSON for CI gating and human-readable summaries.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested labels

tooling

Poem

Five blueprints laid on the backlog's shelf,
each tool awaits its engineering self—
playback that writes itself with pride,
regressions caught before they hide,
and schemas that speak what breaks or bends. 🛠️

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The PR title 'docs(method): add backlog cards and hook failure note' does not accurately reflect the PR's main content—five new cool-ideas backlog cards—and mentions a 'hook failure note' that does not appear in the changeset. Revise the title to reflect the actual changes, such as 'docs(method): add five cool-ideas backlog cards' or 'docs(method): add Phase 3 planning and tooling cards,' and remove the unsubstantiated reference to a hook failure note.
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/cool-ideas-batch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 17ce49fb76

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/method/backlog/cool-ideas/PLATFORM_test-timing-history.md Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 8

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/method/backlog/cool-ideas/METHOD_generated-playback.md`:
- Around line 83-90: Add a reproducibility acceptance criterion that requires
byte-stable output: update the checklist in METHOD_generated-playback.md (the
section describing the xtask method playback <cycle> command that produces
docs/method/playback/<cycle>/playback.md) to state that identical inputs must
produce byte-identical playback.md files and that the sign-off mapping must
remain unchanged; also describe the minimal verification step (re-run xtask
method playback <cycle> on identical inputs and compare bytes and signoff
mapping) and state that this determinism guarantee is required for METHOD Phase
3 references to the generator to be canonical.
- Around line 44-56: The generator for METHOD_generated-playback.md lacks a
deterministic ordering and stable question-id algorithm; update the generator to
(1) derive a stable question-id from an immutable source (preferably an explicit
scaffold id if present, otherwise a content-stable hash of the question scaffold
text + canonical normalization) and store that id with each question, (2)
canonicalize/sort output deterministically (e.g., sort by question-id, then
section title, then test name) so sections never reorder across regens, and (3)
persist sign-offs in the sibling playback-signoffs.md keyed by that stable
question-id so renames or test output changes don’t remap signatures. Also add a
short contract note to METHOD_generated-playback.md describing the id derivation
and the canonical sort order so consumers know the stability guarantees.

In `@docs/method/backlog/cool-ideas/PLATFORM_claude-think-remember.md`:
- Around line 21-23: The code block shows a mismatched CLI name ("think
--remember [--brief] [--limit=N] [query]") while the rest of the card uses
"claude-think --remember ..."; pick the canonical executable name used elsewhere
(change the snippet to "claude-think --remember [--brief] [--limit=N] [query]")
so the documented invocation is consistent with the rest of the document and
avoid stale references to "think".
- Around line 99-100: The acceptance criteria for the claude-think CLI flag
--since (used by the --remember command) is ambiguous; pick and document a
single canonical input format (e.g., ISO 8601 durations) or explicitly specify
exact precedence and normalization rules between ISO8601 and human-friendly
forms. Update the acceptance line for "claude-think --remember --since
<duration>" to state the chosen canonical format (or precise parsing precedence
and how inputs are normalized to canonical form) so tests can rely on
deterministic parsing and hashing for functions that consume --since.

In `@docs/method/backlog/cool-ideas/PLATFORM_test-timing-history.md`:
- Around line 45-47: Update the documentation line that suggests stable Rust can
parse libtest JSON by removing or correcting the claim that "`cargo test --
--format=json`" works on stable; instead state that libtest JSON output is
unstable and requires nightly unstable options (e.g., `-Z unstable-options`) or
a nightly toolchain, and reference "libtest" and "`--format=json`" so the doc at
the Capture paragraph is clearly corrected.

In `@docs/method/backlog/cool-ideas/PLATFORM_xtask-leash-audit-stub.md`:
- Around line 89-91: The acceptance criteria for `cargo xtask leash-audit` lacks
a deterministic output ordering; update the doc for the task so the CLI's
printed list of active leashes and per-symbol grep hit counts is canonically
ordered (e.g., sort leashes by the `scaffold` field and, within each leash, sort
symbols lexicographically) and state this requirement in the acceptance criteria
so CI and reviews see stable, repeatable output when reading
`docs/method/backlog/leash/*.md` frontmatter.
- Around line 102-104: The cross-repo reference
`jedit/docs/method/backlog/leash/jedit-session-port.md` in the card is stale
because it appears as an in-repo path; update the link to an explicit external
repository URL or clearly mark it as external (e.g., "external:
github.com/OWNER/jedit/..." or full https://... link) so readers in this
repository can follow it reliably; locate the string
`jedit/docs/method/backlog/leash/jedit-session-port.md` in
PLATFORM_xtask-leash-audit-stub.md and replace it with the canonical external
URL or an explicit "external" note and ensure link format matches other docs
links.

In `@docs/method/backlog/cool-ideas/WESLEY_ir-structural-diff.md`:
- Around line 89-91: The pre-push gate incorrectly calls "wesley diff
origin/main HEAD" (passing git refs) while wesley diff expects two IR artifact
paths; update the pre-push hook (the script that gates pushes for changes to
.ir.json or .graphql) to first resolve or generate the two concrete IR JSON file
paths for the base and head (e.g., produce base.ir.json and head.ir.json from
origin/main and HEAD) and then invoke "wesley diff <base-ir.json>
<head-ir.json>"; ensure the hook fails the push when wesley reports breaking
changes and accepts non-breaking changes or a version bump.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: c94568bf-0d21-4516-9628-235a5141af24

📥 Commits

Reviewing files that changed from the base of the PR and between 8017ccc and 17ce49f.

📒 Files selected for processing (5)
  • docs/method/backlog/cool-ideas/METHOD_generated-playback.md
  • docs/method/backlog/cool-ideas/PLATFORM_claude-think-remember.md
  • docs/method/backlog/cool-ideas/PLATFORM_test-timing-history.md
  • docs/method/backlog/cool-ideas/PLATFORM_xtask-leash-audit-stub.md
  • docs/method/backlog/cool-ideas/WESLEY_ir-structural-diff.md

Comment thread docs/method/backlog/cool-ideas/METHOD_generated-playback.md Outdated
Comment thread docs/method/backlog/cool-ideas/METHOD_generated-playback.md
Comment thread docs/method/backlog/cool-ideas/PLATFORM_claude-think-remember.md
Comment thread docs/method/backlog/cool-ideas/PLATFORM_claude-think-remember.md Outdated
Comment thread docs/method/backlog/cool-ideas/PLATFORM_test-timing-history.md Outdated
Comment thread docs/method/backlog/cool-ideas/PLATFORM_xtask-leash-audit-stub.md Outdated
Comment thread docs/method/backlog/cool-ideas/PLATFORM_xtask-leash-audit-stub.md Outdated
Comment thread docs/method/backlog/cool-ideas/WESLEY_ir-structural-diff.md Outdated
@flyingrobots flyingrobots changed the title docs(method): five cool-ideas cards from the 2026-05-30 wrap-up docs(method): add backlog cards and hook failure note May 31, 2026
@flyingrobots
Copy link
Copy Markdown
Owner Author

Activity Summary for Code Lawyer pass on PR #388.

# Severity Source File Commit Outcome
1 P2 PR threads docs/method/backlog/cool-ideas/PLATFORM_test-timing-history.md f79db983 Corrected stable Rust/libtest JSON guidance; resolved duplicate threads.
2 P2 PR thread docs/method/backlog/cool-ideas/METHOD_generated-playback.md ccf737cd Added stable question_id and canonical ordering contract.
3 P3 PR thread docs/method/backlog/cool-ideas/METHOD_generated-playback.md 1629bd9d Added byte-stable regeneration and sign-off mapping acceptance checks.
4 P4 PR thread docs/method/backlog/cool-ideas/PLATFORM_claude-think-remember.md b4ba8f89 Replaced stale think executable name with claude-think.
5 P2 PR thread docs/method/backlog/cool-ideas/PLATFORM_claude-think-remember.md 4f8485e8 Canonicalized --since to ISO 8601 durations and updated examples.
6 P3 PR thread docs/method/backlog/cool-ideas/PLATFORM_xtask-leash-audit-stub.md 35c4a571 Added deterministic leash and symbol output ordering.
7 P4 PR thread docs/method/backlog/cool-ideas/PLATFORM_xtask-leash-audit-stub.md 7d8a6420 Replaced ambiguous cross-repo jedit path with explicit external URL.
8 P2 PR thread docs/method/backlog/cool-ideas/WESLEY_ir-structural-diff.md eff7c62d Replaced invalid git-ref wesley diff invocation with concrete IR artifact paths.

Self-audit found no additional issues beyond the PR review threads. The top-level title warning is stale: this PR does include the linked-worktree hook failure note.

Local validation performed:

  • Prettier check over all changed PR markdown files: passed.
  • markdownlint over all changed PR markdown files: passed.
  • Pre-push docs-only gate: passed.

All known unresolved review threads have been resolved via GraphQL.

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