fix(docs): use pinned CLI path in rekindle.md and fellowship SKILL.md#82
Merged
justinjdev merged 36 commits intofeat/command-dashboardfrom Mar 21, 2026
Merged
Conversation
- Darken accent from #8b6914 to #7a5a0e (4.1:1 → 5.1:1) - Darken scout from #4a8a9e to #377080 (3.3:1 → 4.7:1) - Darken monitor from #7b6ea4 to #635599 (3.4:1 → 4.8:1) - Update hover/focus colors to match new accent All light theme text/background pairs now pass WCAG AA (4.5:1+). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fix: light theme WCAG AA color contrast
Add gorilla/websocket-based Hub that manages connections and broadcasts events. Wire into existing gate approve/reject handlers so dashboard clients receive live notifications on quest state changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
File-backed command queue supporting spawn-quest, spawn-scout, kill-quest, and restart-quest actions with pending/completed/failed status tracking. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New endpoints enqueue commands to the file-backed queue and broadcast
WebSocket events: POST /api/quest/{spawn,kill,restart},
POST /api/scout/spawn, GET /api/commands.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New endpoints: GET /api/autopsies (list/detail), GET /api/tome/<quest> for quest history, GET/POST /api/config for reading and writing fellowship configuration at global or project scope. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace root handler with SPA-aware routing that serves static files when they exist and falls back to index.html for unmatched paths, enabling client-side routing in the dashboard frontend. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tests cover Hub broadcast with no connections, command enqueue with persistence verification, and empty queue loading. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…riven refresh Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…actions, herald, connection banner) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… badge Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…e, and herald tabs
…avigation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use `all:static` in embed directive to include `_app/` directory (Go embed skips underscore-prefixed paths by default) - Fix SPA fallback to properly serve static files before falling back to index.html, reusing a single http.FileServer instance Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ncy, accessibility - Add mutex locking to EnqueueCommand for concurrent safety - Return error on corrupt command queue instead of silent empty fallback - Add collision-resistant random bytes to autopsy filenames - Use datadir.Name() instead of hardcoded .fellowship for autopsy paths - Reject malformed config JSON instead of silently overwriting - Add WebSocket write deadline to prevent blocking on unresponsive clients - Guard against stale WebSocket lifecycle events - Handle iofs.Sub error in static file serving - Fix gorilla/websocket marked as indirect in go.mod - Add res.ok checks to all API mutation functions - Fix btoa() Unicode safety for non-ASCII worktree paths - Wrap read API helpers in try/catch for network failures - Keep command palette open on failed commands - Reset GateActions loading state on API failure (try/finally) - Support Ctrl+K alongside Cmd+K for command palette - Convert QuestCard from <a> to <div> to fix nested button a11y violation - Use $effect instead of onMount for reactive quest data loading - Add NaN guard for invalid timestamps in HeraldFeed - Use Promise.allSettled for timeline tome fetching - Add error handling for autopsies fetch - Replace onMount redirect with SvelteKit redirect() in +page.js - Add :focus-visible outline for quest filter select - Use pinned CLI path in SKILL.md and rekindle.md - Replace undefined zombie classification with stale in rekindle.md - Rebuild dashboard static assets Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add synchronous double-submit guard in GateActions approve/reject - Show error state instead of empty result on autopsies page load failure Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Previously, WSEvent broadcasts from gate approve/reject handlers and command enqueue handlers omitted the Timestamp field, resulting in zero values. Clients relying on event timestamps for ordering would see incorrect data. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Sanitize autopsy filename to prevent path traversal (reject non-base filenames) - Handle json.MarshalIndent error instead of discarding - Guard arrow-key navigation in CommandPalette when filtered list is empty - Prevent infinite retry loop on quest detail page fetch failure - Handle unknown phase in phaseStatus (return pending instead of marking all done) - Normalize backslashes in branch label path splitting - Self-host Google Fonts to eliminate CDN dependency (embedded binary model) - Rebuild dashboard static assets Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix CommandPalette submitInput logic bug: success-path code was outside try block, running even after failures - Fix $derived(() => ...) to $derived.by() in CommandPalette grouped - Add Content-Type: application/json headers to all JSON responses - Clean up orphaned tmp file on config rename failure - Sanitize internal error details in HTTP responses - Add double-call guards for startPolling/startHeraldPolling to prevent subscription leaks - Add dataLoaded guard to timeline to prevent redundant tome fetching - Guard against null/undefined tags in autopsies search filter - Fix quest detail page race condition: set dataLoaded after fetch completes, add loading guard to prevent concurrent fetches - Rebuild dashboard static assets Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Define zombie classification in rekindle recovery flow - Fix <main_repo> → <repo_root> placeholder in SKILL.md - Handle UserHomeDir failure gracefully in config read - Add all 8 herald tiding types to filter UI - Guard NaN dates in GanttChart timeline - Guard arrow-key navigation when command palette is empty - Fallback for branch label when path split yields empty Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add gitRoot field back to Server for file-based operations (command queue, config read/write) not yet migrated to SQLite - Port autopsy handler to use autopsy.Scan instead of removed file-based LoadByID/List functions - Port tome handler to use tome.Load with SQLite connection - Add Timestamp field to WSEvent broadcasts (from branch) - Update NewServer callers with gitRoot parameter Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace bare `fellowship` CLI references with the pinned path `~/.claude/fellowship/bin/fellowship` per the documented convention. Addresses CodeRabbit review comments from PR #76. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
fellowshipCLI references with pinned path~/.claude/fellowship/bin/fellowshipinplugin/commands/rekindle.mdandplugin/skills/fellowship/SKILL.mdChanges
plugin/commands/rekindle.md: 3 bare CLI paths fixed (lines 26, 95, 154)plugin/skills/fellowship/SKILL.md: 1 bare CLI path fixed (line 199)Test plan
fellowshipCLI refs in either file via grep🤖 Generated with Claude Code