Repository navigation
docs: add debugging patterns from eclair 404 fix learnings - #103
Conversation
- Add Chrome MCP tools guidance to CLAUDE.md for browser debugging - Add VitePress routing gotcha to apps/docs/CLAUDE.md - Add jsdom testing limitations to testing.md - Update task-workflow.md: never reuse squash-merged branches Co-Authored-By: Claude Opus 4.5 <[email protected]>
📝 WalkthroughWalkthroughAdds documentation updates covering browser debugging guidance, a VitePress routing gotcha, jsdom testing limitations, and expanded post-merge workflow instructions; also adds a new script Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 2✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Comment |
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||
PR Code Suggestions ✨No code suggestions found for the PR. |
Deploying living-architecture with
|
| Latest commit: |
a245d9a
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://f867b0bf.living-architecture.pages.dev |
| Branch Preview URL: | https://docs-debugging-patterns-lear.living-architecture.pages.dev |
|
Closing - need to recreate with corrected process documentation |
Correct order: reflect first (needs review files), create issues, cleanup worktree, then implement via normal task workflow. Co-Authored-By: Claude Opus 4.5 <[email protected]>
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||||
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In @docs/workflow/task-workflow.md:
- Line 51: The "Post-Merge Completion" note is ambiguous about review files;
update the text around the `/post-merge-completion` instruction to explicitly
state that review files are optional inputs and that the command will run
gracefully if they are absent (e.g., replace or expand "needs review files" with
"optional review files — command works if these are absent"). Also clarify that
other steps (creating issues, running `cleanup-task.sh`, and starting a new
task) remain the same and that merged branches must not be reused.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (2)
docs/workflow/task-workflow.mdscripts/create-tech-improvement-task.sh
🧰 Additional context used
📓 Path-based instructions (1)
**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
All code must follow
docs/conventions/codebase-structure.md
Files:
docs/workflow/task-workflow.md
🧠 Learnings (6)
📓 Common learnings
Learnt from: CR
Repo: NTCoding/living-architecture PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-09T18:58:21.008Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : When writing, editing, refactoring, or reviewing code, always follow `docs/conventions/software-design.md`
📚 Learning: 2026-01-09T18:10:15.724Z
Learnt from: NTCoding
Repo: NTCoding/living-architecture PR: 85
File: .claude/commands/post-merge-completion.md:35-39
Timestamp: 2026-01-09T18:10:15.724Z
Learning: In .claude/commands/post-merge-completion.md, the review files in `reviews/<branch>/` (code-review.md, bug-scanner.md, task-check.md, doc-suggestions.md) are optional inputs to the reflection process. The post-merge-completion command should work gracefully even if these files are missing or if /complete-task wasn't run before merging.
Applied to files:
docs/workflow/task-workflow.md
📚 Learning: 2026-01-09T18:58:21.008Z
Learnt from: CR
Repo: NTCoding/living-architecture PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-09T18:58:21.008Z
Learning: Whenever working on any task, follow docs/workflow/task-workflow.md from start to finish. Do not make any changes or commit any code without following these steps exactly
Applied to files:
docs/workflow/task-workflow.md
📚 Learning: 2026-01-09T18:58:21.008Z
Learnt from: CR
Repo: NTCoding/living-architecture PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-09T18:58:21.008Z
Learning: Always use scripts in `./scripts/` for git and GitHub operations (PRs, issues, tasks). Do not use `gh` or `git` commands directly unless no script exists. If you need functionality that doesn't have a script, propose creating one
Applied to files:
scripts/create-tech-improvement-task.sh
📚 Learning: 2026-01-06T18:02:51.422Z
Learnt from: NTCoding
Repo: NTCoding/living-architecture PR: 58
File: scripts/get-pr-feedback.sh:45-55
Timestamp: 2026-01-06T18:02:51.422Z
Learning: In shell scripts that call GraphQL APIs (e.g., scripts/get-pr-feedback.sh and similar), prefer using sed-based interpolation for GraphQL variables instead of gh api graphql's -f/-F flags. Rationale: sed-based interpolation is typically simpler and more robust in Bash contexts, avoids JSON encoding pitfalls, and keeps the script portable. Implement by building the GraphQL query as a string and substituting variables with sed or parameter expansion, ensuring proper escaping. If you must use -f/-F, provide clear justification in a comment.
Applied to files:
scripts/create-tech-improvement-task.sh
📚 Learning: 2026-01-06T18:13:47.289Z
Learnt from: NTCoding
Repo: NTCoding/living-architecture PR: 58
File: scripts/reply-to-thread.sh:1-12
Timestamp: 2026-01-06T18:13:47.289Z
Learning: In shell scripts across the repository (e.g., scripts/reply-to-thread.sh), keep the code simple by not adding explicit preflight tool-availability checks for external commands (like gh or jq) when those tools would fail on first use anyway. Such checks add boilerplate without changing behavior. If you must guard against missing tools, prefer a minimal, early startup check or rely on the script failing naturally at the point of use.
Applied to files:
scripts/create-tech-improvement-task.sh
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: main
- GitHub Check: Cloudflare Pages
🔇 Additional comments (5)
scripts/create-tech-improvement-task.sh (5)
1-6: LGTM!The script setup is correct with appropriate error handling via
set -e, and the usage comment matches the validation message below.
7-17: LGTM!The parameter validation is comprehensive, with clear usage documentation and proper error handling using stderr and exit code 1.
19-23: LGTM!Variable assignments are straightforward and use descriptive names for clarity.
25-35: LGTM!The body construction uses parameter expansion within double quotes, which correctly preserves special characters and newlines. The markdown formatting is clean and consistent.
37-44: LGTM!The
gh issue createcommand is properly structured with correctly quoted parameters. The script follows best practices by using the gh CLI for GitHub operations (per learnings), and the status messages provide good user feedback.
| **Re-check PR** — PR feedback addressed, needs CI verification. Run `/complete-task` again to re-run the full pipeline. | ||
|
|
||
| **Post-Merge Completion** — After PR is merged, run `/post-merge-completion` to reflect on feedback, suggest process improvements, and clean up the worktree. | ||
| **Post-Merge Completion** — After PR is merged: (1) Run `/post-merge-completion` from the worktree to reflect on feedback (needs review files). (2) Create GitHub issues for any improvement opportunities identified. (3) Run `cleanup-task.sh` to remove the worktree. (4) Implement improvements by starting the new task via normal workflow—**never reuse the merged branch** (squash merges create stale merge bases). |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
Clarify that review files are optional inputs.
The phrase "needs review files" could be misinterpreted as requiring them, when they're actually optional inputs to the reflection process. Based on learnings, the post-merge-completion command should work gracefully even if these files are missing.
📝 Suggested clarification
-**Post-Merge Completion** — After PR is merged: (1) Run `/post-merge-completion` from the worktree to reflect on feedback (needs review files). (2) Create GitHub issues for any improvement opportunities identified. (3) Run `cleanup-task.sh` to remove the worktree. (4) Implement improvements by starting the new task via normal workflow—**never reuse the merged branch** (squash merges create stale merge bases).
+**Post-Merge Completion** — After PR is merged: (1) Run `/post-merge-completion` from the worktree to reflect on feedback (optionally uses review files if available). (2) Create GitHub issues for any improvement opportunities identified. (3) Run `cleanup-task.sh` to remove the worktree. (4) Implement improvements by starting the new task via normal workflow—**never reuse the merged branch** (squash merges create stale merge bases).📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| **Post-Merge Completion** — After PR is merged: (1) Run `/post-merge-completion` from the worktree to reflect on feedback (needs review files). (2) Create GitHub issues for any improvement opportunities identified. (3) Run `cleanup-task.sh` to remove the worktree. (4) Implement improvements by starting the new task via normal workflow—**never reuse the merged branch** (squash merges create stale merge bases). | |
| **Post-Merge Completion** — After PR is merged: (1) Run `/post-merge-completion` from the worktree to reflect on feedback (optionally uses review files if available). (2) Create GitHub issues for any improvement opportunities identified. (3) Run `cleanup-task.sh` to remove the worktree. (4) Implement improvements by starting the new task via normal workflow—**never reuse the merged branch** (squash merges create stale merge bases). |
🤖 Prompt for AI Agents
In @docs/workflow/task-workflow.md at line 51, The "Post-Merge Completion" note
is ambiguous about review files; update the text around the
`/post-merge-completion` instruction to explicitly state that review files are
optional inputs and that the command will run gracefully if they are absent
(e.g., replace or expand "needs review files" with "optional review files —
command works if these are absent"). Also clarify that other steps (creating
issues, running `cleanup-task.sh`, and starting a new task) remain the same and
that merged branches must not be reused.



User description
Summary
Context
Patterns discovered during fix-eclair-demo-404 task. Also documents the correct post-merge reflection workflow to avoid stale merge base issues.
Test plan
PR Type
Documentation, Enhancement
Description
Add Chrome MCP tools guidance for browser debugging
Document VitePress routing gotcha and event handling solution
Add jsdom testing limitations and workarounds
Clarify post-merge workflow: reflect, create issues, cleanup, then implement
Create shell script for automating tech improvement task creation
Diagram Walkthrough
File Walkthrough
create-tech-improvement-task.sh
Add tech improvement task creation scriptscripts/create-tech-improvement-task.sh
tasks
full-details, acceptance-criteria
improvement label
CLAUDE.md
Add Chrome MCP browser debugging guidanceCLAUDE.md
code inspection
issues
CLAUDE.md
Document VitePress routing event handling gotchaapps/docs/CLAUDE.md
phase listener
testing.md
Add jsdom testing limitations and workaroundsdocs/conventions/testing.md
using Object.defineProperty
workaround
task-workflow.md
Clarify post-merge workflow and branch reuse warningdocs/workflow/task-workflow.md
worktree)
base issue)
Summary by CodeRabbit
Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.