Open
Conversation
Add new traversal subsystem that finds leaf tiles (tiles with no structural children) in a hexagonal hierarchy. Supports depth-first traversal in direction order (1-6), skipping composed children and hexplans. Key features: - getAllLeafTiles: Returns all leaves under a root coordinate - getNextIncompleteLeaf: Finds first incomplete leaf given a completion set - Handles meta-leaf pattern where tiles gain children between traversals Part of run orchestration feature (Plan 1 of 5). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
… orchestration - Add parseAgentResponse utility to extract structured status from agent responses - Update SYSTEM template with execution-instructions section and blockage context - Remove orchestrator template - orchestration now handled at API layer - Add wasBlocked/blockageReason fields to PromptData for resuming blocked runs - Update tests and documentation Plan 3 of run-orchestration feature. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add new _run-services subsystem to manage "run" objects that track autonomous execution state of SYSTEM tiles. Includes database table, repository, service, and 24 integration tests. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
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 You can disable this status message by setting the
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 |
Implements external orchestration pattern where each API call executes one leaf tile and returns. Callers loop until isComplete is true. - Add agentic.run tRPC mutation with tile type validation - Add run MCP tool handler for agent access - Integrate LeafTraversalService and RunService from domain layer - Parse agent responses for completion/blockage status - Include blockage context when resuming failed runs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add frontend integration for SYSTEM tile execution via the agentic.run endpoint. SYSTEM tiles and custom type tiles now show a "Run" action in the context menu that triggers execution. Changes: - Add useRun hook for managing run execution state and callbacks - Add run-actions.ts builder for SYSTEM tile menu items - Wire up onRunClick through context menu component chain - Add 18 tests for useRun hook covering all status transitions Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change coord_user_id from varchar(255) to text in schema to match actual database type (converted in migration 0010) - Regenerate snapshots 0007-0011 with correct UUID format - Add missing snapshots 0012-0017 for manual migrations This fixes drizzle-kit "malformed snapshot" errors and eliminates the data-loss warning when running migrations locally. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…ion input Replace immediate run execution with an interactive RunWidget that: - Accepts optional instructions before starting execution - Shows real-time execution progress with current step - Displays clickable tile navigation links for executed steps - Tracks elapsed time during execution - Handles blocked state with resume functionality - Shows completion summary with all executed steps The widget integrates with the existing useRun hook and follows the event-driven architecture pattern used by other widgets. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add hexecutePrompt to run mutation response for transparency - Create PromptDisplay component with collapsible prompt view - Update RunningState to show current step's prompt - Update StepsList with per-step prompt expansion - Update BlockedState with input field for resume context - Add resumeWithInput to pass user context when resuming Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Added hexplan content handling in useRunWidget, including current step and parent hexplan data. - Updated useRun hook to pass step title and hexplan content on step completion and blockage. - Modified RunService to resume blocked runs instead of creating new ones, ensuring proper state management. - Implemented hexplan fetching and instruction propagation in the agentic router. - Enhanced prompt generation to include hexplan content and instructions for better user guidance. - Updated tests to cover new hexplan functionality and ensure proper integration.
- Restructure prompt template: execution instructions at beginning, hexplan at end for better agent context - Update execution instructions to guide agents on editing hexplan (not creating) with discussion flow guidance - Remove [User input on resume] prefix - backend now handles formatting - Append user feedback to hexplan end instead of prepending instruction - Update hexplan generators to use Initial Instruction format and clearer status markers for discussion history Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
… RunWidget - Add ToolCallEntry type for tracking MCP tool calls during execution - Extend ExecutionLogEntry with hexplanContent and toolCalls fields - Update RunService.markStepCompleted/markStepBlocked to store new fields - Capture tool calls via StreamCallbacks in run mutation - Show executed steps in idle state for historical visibility - Add purple-themed tool calls display with collapsible arguments/results Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
getRunState was using getOpenRun() which only found runs with status='open', causing blocked runs to not display when opening the RunWidget. - Rename getOpenRun() to getResumableRun() for clarity - Use findResumableByRootCoords() to include both open and blocked runs - Remove unused findOpenByRootCoords() repository method - Update tests to verify blocked runs are now returned Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…edState UI - Add /run command: shows RunsListWidget (no args) or RunWidget (with coords) - Create RunsListWidget with status filter (Active/Closed/All) and run list - Add listRuns backend: repository, service, and tRPC procedure - Extract StepsList into subsystem with separate components for better maintainability - Redesign BlockedState with compact layout, collapsible sections, and inline controls - Add CollapsibleSection component for reusable expandable UI - Add cleanup-runs.ts script for database maintenance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…gation - Fix empty hexplan status bug: treat empty as PENDING, not COMPLETE - Simplify EXECUTION_INSTRUCTIONS_SECTION to concise one-liner - Simplify HEXRUN_INTRO to one-liner - Remove step-based orchestration from hexplan (RunService handles this) - Simplify generateParentHexplanContent/generateLeafHexplanContent to just contain instruction (no more 📋 steps tracking) - Restore ancestor hexplan inclusion for instruction propagation - Skip step-based instructions when hexplan is empty - Update tests to match simplified hexplan format The key insight: RunService now handles orchestration externally, so hexplans no longer need step tracking. They're now just for instruction propagation from root to subtasks via ancestor context. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
LeafTraversalService was explicitly excluding the root tile from being considered a leaf, even when it had no structural children. This caused `run` to immediately close without executing anything when called on a tile without subtasks. Now when getAllLeafTiles is called on a tile with no children, the tile itself is returned as the leaf to execute. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The Claude Agent SDK spawns a subprocess with the prompt as command-line arguments, which has OS size limits (~128KB-2MB). When prompts exceed this limit, Node throws a cryptic "spawn E2BIG" error. Added _checkPromptSize() helper that throws a helpful PAYLOAD_TOO_LARGE error with guidance on how to fix (move large content to context tiles). The check is applied to: - run procedure (before step execution) - executeTask procedure (before LLM call) - hexecute procedure (before returning prompt) Limit set to 100KB as a conservative threshold. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…storage Move hexplan storage from direction-0 tiles (ephemeral, per-task) to a run_hexplans join table (persistent, per-run). This enables: - Multiple runs to have independent hexplan state - Historical preservation of execution context - No need for deleteHexplan cleanup between runs - Cleaner separation between tile content and execution state Changes: - Add run_hexplans schema with composite primary key (runId, coords) - Add RunHexplanRepository for CRUD operations - Extend RunService with hexplan methods (get, set, getForRun) - Add updateRunHexplan mutation and getActiveRunForCoords query - Update hexecute MCP tool to use runId instead of deleteHexplan - Add updateRunHexplan MCP tool for agents to update run hexplans - Update RunWidget UI to use new API endpoints - Remove "Delete Hexplan" option from tile context menus - Update compose expansion to show center tile instead of direction-0 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When updating a tile with only content, the preview field was being unexpectedly set to null. The root cause was that updateRef was reconstructing an object with all properties (including undefined ones), which triggered hasOwnProperty checks in the repository layer, causing undefined ?? null to evaluate to null. Fix both service and actions layers to only include explicitly defined fields in update objects, preserving existing values for unspecified fields. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Relaxes the itemType hierarchy constraint to permit ORGANIZATIONAL tiles as children of CONTEXT tiles, enabling better organization within reference material hierarchies. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…/Monitor Replace abstract "system thinkers" framing with concrete product description: - Create: decompose goals, get AI help, attach context - Activate: run, observe, refine on failure - Share: publish, fork, learn from others - Compose: reuse context, systems as tools - Monitor: track usage and health across portfolio Remove MISSION.md as the mission isn't clear yet. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…ommand - Deleted the refactor for clarity guide from `.claude/commands/refactor-clarity.md`. - Removed the walkthrough command documentation from `.claude/commands/walkthrough.md`. chore: update .gitignore to include archive directory - Added `.claude/archive/` to the .gitignore file to prevent tracking of archive files. docs: enhance CLAUDE.md with subsystem architecture details - Introduced a new section on subsystem architecture, detailing the structure and constraints of subsystems. - Added workflows for feature planning, impact analysis, and new subsystem introduction. - Updated the core development section with additional commands for subsystem navigation. feat: add subsystem tree utility for visualizing subsystem hierarchy - Implemented a new script to dump the subsystem hierarchy as an ASCII tree or JSON. - Created `scripts/subsystem-tree/README.md` for usage instructions. - Added discovery and rendering logic for subsystem trees in `scripts/subsystem-tree/discovery.py` and `scripts/subsystem-tree/renderer.py`. - Introduced a CLI entry point in `scripts/subsystem-tree/main.py` to facilitate command-line usage.
…odule - Merge scripts/subsystem-tree/ into architecture/tree/ with relative imports - Move scripts/checks/shared/ (TypeScript parser) into architecture/shared/ - Update ruleof6 to import parser from architecture.shared - Remove deadcode checker and all references (CI, package.json, CLAUDE.md, tests) - Replace scripts/checks/architecture/ with git submodule (Diplow/subsystem-architecture) - Add submodules: recursive to architecture and ruleof6 CI checkout steps - Create scripts/checks/run-subsystem-tree.py as hexframe-specific wrapper Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Point subsystem-architecture submodule to rewritten README - Fix CLAUDE.md reference: scripts/subsystem-tree/README.md → scripts/checks/architecture/README.md Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update check:ruleof6 script to use submodule CLI - Delete hexframe-local ruleof6 directory (logic moved to submodule) - Add Rule of 6 section to CLAUDE.md - Update submodule to include ruleof6/ module Co-Authored-By: Claude Opus 4.5 <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.
No description provided.