feat: Brane agent control plane#1
Open
0xbeam wants to merge 27 commits into
Open
Conversation
- Express + SQLite backend with Figma API sync engine - Session reconstruction from version history (30-min gap clustering) - 6 tabs: Overview, Designers, Projects, Design System, Reviews, Activity - Designer analytics, project intelligence, component health scoring - Comment feed with response time metrics - Cron-based auto-sync (every 5 min) + manual sync button - Settings panel with Figma PAT/Team config and Release Log - Last sync time KPI card on overview dashboard - Vercel deployment support (serverless API + cron) - Static data.json fallback mode when API unavailable Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Google OAuth and Figma OAuth login with session management - Login screen with provider buttons, user badge in header - Auth middleware protects API routes (passthrough when no OAuth configured) - Seed data system: exports DB snapshot, auto-loads on Vercel cold start - Release log tab in settings modal (v2.1.0, v2.0.0, v1.0.0) - Last sync time KPI card with exact timestamp tooltip - Settings tabs: Configuration + Release Log - cookie-parser dependency for session cookies - Updated .env.example with OAuth configuration vars Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add incremental sync engine that only fetches versions/comments for files modified since last sync. Add stale file alerts, designer profile modal with activity heatmap and session timeline, project velocity modal with weekly chart and contributor breakdown. Wire double-click on table rows to open detail modals. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
7 new feature modules: - Weekly Studio Digest with Markdown export for Slack/email - Workload Balancer with burnout risk detection (green/amber/red tiers) - File Version Timeline modal with labeled milestones feed - Comment Threading with status badges and response time analytics - Design System Governance with maturity model (active/stable/orphaned) - Collaboration Network with isolation alerts and cross-pollination score - Reports tab with project time reports and Markdown/JSON export Backend: 20+ new API endpoints, 4 new DB tables, post-sync computation hooks for collaboration edges, workload snapshots, and component snapshots. Unified api/index.js to re-export from server/index.js (no more duplication). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add Universal Gallery tab with thumbnail grid, search, filter by project, sort - 3x faster sync: parallel project/version/comment fetching (batches of 3) - Auto-sync every 5 minutes (was 15), replaced node-cron with native setInterval - Bidirectional Figma links: open files, versions, components directly in Figma - Persistent sync footer bar showing exact last sync time and interval - Increased Figma API concurrency (4 concurrent, 150ms min) for faster throughput - Added GET /api/gallery endpoint with search, sort, pagination - Added project_id to projects API for Figma project links Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Multi-source scraping engine with React dashboard that converts Slack threads, Figma comments, Twitter bookmarks, and generic URLs into structured agent instruction markdown. Includes adapter pattern, parallel dispatch, file-based persistence, and Gravity design system. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Refactored agent dispatch into a two-column layout. Left panel shows dispatch jobs and completed results as a selectable list. Right panel renders full instruction detail inline with progress bar, copy-as-markdown, and collapsible thread view. No more modal β results live next to the dispatch queue. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4 commands: - parc map <repo>: scan any git repo, generate Gravity-styled HTML architecture diagrams - parc serve <repo>: live dark-mode dashboard with rescan on port 4400 - parc agents <repo>: list all AI agents with tier detection - parc diff [ref]: architecture-aware git diff (routes, APIs, agents) Analyzer detects: Next.js/Vite/Express routes, API endpoints, AI agents, components, database tables, migrations, monorepo packages, and git metadata. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Static HTML landing page showcasing parc CLI features with Gravity design system styling. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Renamed from feedback-hub to brane across all files. Added Express API server (port 3210) with /api/scrape, /api/dispatch, /api/jobs, /api/index endpoints. Frontend now talks to the API with live job polling β dispatch a URL from the dashboard, it gets scraped in the background, and results appear automatically. CLI, adapters (Slack, Figma, Twitter, URL), and markdown generator all verified working end-to-end. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Analyzer: - Fix route extraction for monorepo structures (apps/dashboard/src/app/...) - Fix SvelteKit route extraction to capture full paths - Narrow agent detection to code files only (.ts/.tsx/.js/.jsx/.py) - Add GraphQL, tRPC, Hono, FastAPI, Flask, Django detection - Add Docker, Kubernetes, WebSocket feature detection - Add LOC counting (58k lines on sanctuary-dashboard) - Add incremental diff scanning via analyzeRepoDiff() Diagram: - Fix XSS vulnerability (data-tab attrs instead of inline onclick) - Add HTML escaping on all user data - Add search/filter across all tabs - Add dark mode toggle with localStorage persistence - Add mobile responsive layout (@media 640px) Server: - Add CORS OPTIONS preflight handling - Non-blocking rescan with /api/status polling - File watching with debounced auto-rescan (--watch flag) - Request logging with timestamps CLI: - Add --watch flag for live server - Add --format json option for map command - Architecture-level diff (grouped by routes/agents/APIs/components) - .parc.json config file support - Progress indicators with timestamps - Better error messages for missing git/package.json Landing page: - Animated terminal demo with typing effect - "How it works" section - Dark mode (prefers-color-scheme) - Hover animations and polish Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the boring processing spinner with a terminal-style live activity view. Each job now tracks pipeline stages (detect β connect β fetch β parse β categorize β generate β assets β save β done) with timestamped log entries that stream in real-time. Pipeline progress bar shows which stage is active. Dark terminal aesthetic with blinking cursor and auto-scroll. Also: 10s fetch timeout on URL adapter, API health now polls every 10s with refresh button in Settings, completed jobs show collapsible activity summary. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
β¦ration Add dual-mode browser scraping engine with fallback chain: Cloudflare Browser Rendering (edge, production) β Lightpanda (local, 11x Chrome) β plain fetch (fallback). Auto-detects SPA domains (x.com, notion.so, etc.) and routes through browser engine. Graceful degradation when no engine available. Phase 1 perf fixes: 15s timeout on Figma API, parallel image downloads (batch 5), concurrency limit (max 5 parallel dispatch jobs). New: core/browser/ module with BrowserEngine interface, CloudflareEngine, LightpandaEngine, BrowserManager singleton. Settings page shows engine status. Health API now reports browser engine connectivity. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Expand CSS theme with zinc palette, semantic colors, utility classes - Add architecture.html for sanctuary-parc system overview Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Repo renamed from sanctuary-parc to sanctuary. Fresh README with concise project map for the full monorepo. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Brane evolves from a feedback scraper into a full agent orchestration platform. Agents coordinate through a shared filesystem (~/.brane/), not the server. The filesystem is the protocol β if the server is down, agents still work. Backend: - Agent registry: discovers Claude Code sessions from ~/.claude/projects/, tracks 58+ agents with PID liveness, git branch, model info - Task manager: CRUD on ~/.brane/tasks/ supporting scrape/code/review/ deploy/research types with full lifecycle tracking - Message bus: append-only JSONL channels with EventEmitter for SSE relay - Knowledge store: markdown + YAML frontmatter entries with promote-to-skill and promote-to-instruction (writes to ~/.claude/skills/ or CLAUDE.md) - Git tracker: branch info, commits, switch/create branches per repo - Claude bridge: spawn background agents via claude CLI - MCP server: 11 brane_* tools for agent-to-agent coordination via stdio - 23 new REST endpoints for agents, tasks, messages, knowledge, git - Multi-strategy Twitter scraper (oEmbed β Syndication β fxtwitter β Browser β Nitter) with shared feedback categorizer Frontend: - 7-tab dashboard: Dashboard, Agents, Tasks, Feed, Knowledge, Messages, Settings with lucide icons - Dashboard: mission control with agent/task/knowledge/branch stats - Agent grid: card view with search, status filter, detail panel with git state and branch switching - Task list: filterable table with type/status filters, pipeline visualization, sub-task support - Knowledge browser: search, project filter, promote to skill/instruction - Message stream: SSE-powered terminal-style live channel viewer - 3 new React contexts: AgentContext (3s polling), TaskContext (2s polling), MessageContext (SSE streaming) Existing scraper and feed view retained for backward compatibility. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
β¦ knowledge dedup - Add /api/git/:agentId/branches endpoint (was 404, called by AgentDetailPanel) - Include sourceTaskId in knowledge index entries so syncFromScraped dedup works - Reset knowledge store to clear duplicated entries Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
β¦and agent grid Agents discovered from old Claude sessions with cwd="/" clutter the dashboard. Now filtered out of dashboard stats, agent overview, and agent grid view. Also filter "HEAD"/"unknown" from branch count. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Return 400 if prompt is missing instead of spawning an agent with empty arguments. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
β¦at grid Sidebar hides below md breakpoint (768px). Dashboard stat cards use 2-column grid on mobile, activity/overview sections stack vertically. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 0: Fix scrape persistence (dispatch.js uses task-manager instead of in-memory jobs), register MCP globally, auto-sync knowledge after scrape. Phase 1: Task execution engine with state machine (start/complete/fail/retry), new MCP tools (claim_task, complete_task, fail_task, report_progress), agent lifecycle (pause/resume/decommission). Phase 2: Git write operations (fetch/pull/push/stash) in git-tracker, API endpoints, and MCP tools. Phase 3: Master orchestrator module β persistent Claude agent that manages task queue and agent pool via MCP. Orchestrator chat via message bus. Fixed claude-bridge to capture output to log files. Phase 4: Knowledge pipeline β auto-analysis of scraped content, promotion to skills/instructions, agent notification. Phase 5: Obsidian PARA integration β one-way sync of agents, tasks, knowledge, and skills to ~/Documents/Vault/ with wiki-links for DAG. Phase 6: Interactive dashboard β orchestrator chat panel, agent lifecycle controls, git ops buttons, task cancel/retry, progress indicators. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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
~/.brane/), not the serverbrane_*tools), shared categorizerArchitecture
Test plan
~/.claude/projects/π€ Generated with Claude Code