fix(repo): drop case-colliding .Jules/ duplicates of .jules/ worklogs - #1024
fix(repo): drop case-colliding .Jules/ duplicates of .jules/ worklogs#1024seonghobae wants to merge 1 commit into
Conversation
The committed tree carried both `.Jules/bolt.md|palette.md|sentinel.md` and `.jules/...` (plus `backend/.jules/sentinel.md`). On a case-insensitive filesystem (macOS APFS, git core.ignorecase=true) `.Jules/` and `.jules/` are the same directory, so only one case's blob can exist on disk while git holds an index entry for each. Every checkout/merge/rebase then left the other three files permanently "modified", which blocked rebases and forced each automated iteration into a throwaway `git stash` (three now-orphaned stash entries visible in the repo). Fix: keep the lowercase `.jules/` path (matches `backend/.jules/` and the Jules agent convention) and remove the case-exact `.Jules/` index entries. Worklog content is preserved from the surviving `.jules/` blobs; these are append-only agent learning notes, so any divergent lines re-accumulate on the next run. Also gitignore local tooling artifact dirs (.codegraph/, playwright-report/, test-results/) so the working tree stays clean for automated runs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013SeQS8tSee5QVeyGpJ9SaY
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
💤 Files with no reviewable changes (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough
Changes작업 산출물 무시
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This localized repository cleanup removes duplicate worklog paths and ignores generated local artifacts without changing product runtime behavior; no actionable merge-blocking risk remains beyond normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.) ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
| ## 2026-07-10 - Accessibility Anti-pattern: Excessive Tab Stops | ||
| **Learning:** Adding `tabIndex={0}` to static, non-interactive text badges (like `abbr` or `span`) just to expose their `title` or `aria-label` attributes to keyboard users is an accessibility anti-pattern. It creates excessive tab stops and severely degrades keyboard navigation for users who rely on tab to move through actionable elements. | ||
| **Action:** Never add `tabIndex={0}` to non-interactive elements unless they are specifically designed to be focusable for a functional reason. Use proper semantic HTML or let the screen reader read adjacent elements as part of natural navigation. | ||
| ## 2024-07-12 - [Accessibility] Unique aria-labels in dynamic lists | ||
| **Learning:** Screen readers cannot differentiate generic labels (like '컬럼명' or 'PK') when they repeat in dynamic lists or tables. Providing a static aria-label inside a mapped array causes screen readers to announce identical generic labels across different rows. | ||
| **Action:** Always prepend or append a uniquely identifiable name (e.g., prepending the row's specific item name) to the 'aria-label' attribute of interactive elements inside dynamic lists so screen readers can correctly distinguish between them. | ||
|
|
||
| ## 2024-05-18 - Native Keyboard Submission with Forms | ||
| **Learning:** Interactive input groups intended for submission (like the new group creation input and button) lack native keyboard support (e.g., submitting via Enter key) when built with plain `<div>` elements. | ||
| **Action:** Always wrap data submission input and button groups in a `<form>` element, set the primary action button to `type="submit"`, and handle `onSubmit` (preventing default). This automatically provides Enter-key submission capabilities and improves accessibility for keyboard users. | ||
| ## 2024-07-14 - Native Keyboard Submission with Forms for Modals | ||
| **Learning:** Modals designed with plain `<div>` elements as wrappers instead of `<form>` lack native keyboard submission support, forcing users to switch from keyboard to mouse to confirm actions like "Save". | ||
| **Action:** When designing modals or popups containing inputs, always use a `<form>` element to wrap the content, handle the `onSubmit` event (calling `e.preventDefault()`), and set the primary confirmation button to `type="submit"` to enable seamless Enter-key submission for keyboard users. |
- #949: replace the placeholder with the issue's seven-part bounded decomposition (plan authority, sandbox runtime, live preflight provider, approval/authorization, apply worker, convergence/recovery, ops/evidence) and the mandatory safety invariants. - #952: replace the placeholder with the three governed vertical workflows (reference-document attachment, grounded reversing spec, naruon projection) and the product boundary. Reconcile the contextual- orchestrator wording with the existing configuration-only /chat/completions integration in docs/llm-orchestrator-integration.md (CodeRabbit finding) — remaining work is governance (credential boundary, tenant context, discovery/routing/fallback delegation), not a missing transport. - #953: replace the placeholder with the release-integration scope (PR-queue shaping, dependency backlog with per-item decisions, required release evidence) and list #1040/#1024/#1025 as its increments. - #951: add #1041 (baseline harness) to the increment PRs; update the remaining increments. - Fix the stacked-PR count/list mismatch (Devin + CodeRabbit finding): 11 increment PRs + this document, with #942 called out separately. - Add a References (APA 7th) section (Devin "research grounding absent" finding): AERA/APA/NCME 2014, Codd 1971, NIST SP 800-218, SLSA v1.2, PostgreSQL 18 DDL. Docs-only; tests/test_docstrings.py green. Still blocked from merge by ContextualWisdomLab/.github#1531. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013SeQS8tSee5QVeyGpJ9SaY
Root cause
The committed tree carries both
.Jules/bolt.md|palette.md|sentinel.mdand.jules/...(plusbackend/.jules/sentinel.md). On a case-insensitive filesystem (macOS APFS; gitcore.ignorecase=true).Jules/and.jules/are the same directory — only one case's blob can occupy the disk while git keeps a separate index entry for each. Everycheckout/merge/rebasethen leaves the other three files permanently reported as modified (or deletes them), which:git rebase("unstaged changes") on every automated iteration, andgit stasheach run — three now-orphaned stash entries are visible in local clones (preserve … jules … pr774,… pr884).Fix
.jules/path (matchesbackend/.jules/and the Jules agent convention); remove the case-exact.Jules/index entries viagit -c core.ignorecase=false rm --cached..jules/blobs — these are append-only agent learning notes, so any divergent lines re-accumulate on the next run..gitignore: add local tooling artifact dirs (.codegraph/,frontend/playwright-report/,frontend/test-results/) so the working tree stays clean for automated runs.Verification
git ls-tree -r HEAD | grep -i jules→ only.jules/*andbackend/.jules/sentinel.md; zero.Jules/. Switching branches no longer leaves the worklog files dirty.🤖 Generated with Claude Code
Summary by CodeRabbit
문서
정리