feat: v3 (Current) — unified WorkItem model, 13 MCP tools, role-based workflow engine#32
Conversation
Removed session-start hook from plugin architecture as it duplicates functionality provided by orchestrator-prompt.txt system prompt. Changes: - Removed hook files: session-start.js, session-start.sh, hooks.json - Updated plugin.json to remove hooks reference - Updated documentation to remove hook sections - Fixed project-setup-workflow.md with v2.0 tool syntax and template discovery - Updated initialize-task-orchestrator.md to guide plugin installation - Updated migration docs to document v2.1 hook removal Benefits: - Eliminates redundancy: single source of truth for orchestration guidance - Token savings: ~600 tokens when using orchestrator mode - Cleaner architecture: one comprehensive system prompt vs fragmented hooks - Easier maintenance: update one file instead of syncing multiple sources Orchestrator mode (via system prompt) is now the recommended approach, providing both orchestration logic and communication style in one file. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
… tools) Remove features that Claude Code now provides natively, preserving the MCP's unique value: persistent hierarchical storage, templates, rich dependencies, token-optimized queries, and configurable status workflows. Deleted resources (~55 skill files, 10 agent files, plugin, workflows, output styles, config files). Removed 7 Kotlin tools: ListTagsTool, GetTagUsageTool, RenameTagTool, QueryWorkflowStateTool, SetupProjectTool, GetAgentDefinitionTool, RecommendAgentTool. Removed supporting services: AgentRecommendationService, AgentDirectoryManager, TaskOrchestratorConfigManager, AgentResources, WorkflowPromptsGuidance. Updated McpServer.kt registration, simplified MCP resources and AI guidance to remove Skills/Agent references. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New MCP tool that provides a higher-level interface for status transitions using named triggers (start, complete, cancel, block, hold) instead of raw status values. Validates transitions against the workflow config, checks prerequisites via StatusValidator, and detects cascade events after applying changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add role annotations (queue, work, review, blocked, terminal) to status definitions in default-config.yaml for all container types. Roles provide semantic context for AI decision-making about workflow state. Update NextStatusRecommendation.Ready with optional currentRole/nextRole fields. StatusProgressionServiceImpl parses roles from config with fallback inference from terminal/emergency status lists. GetNextStatusTool includes roles in JSON output. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove ~400 lines of Skills, Agents, Orchestration Mode, Decision Gates, and Specialist Routing content that referenced deleted features. Add concise MCP Tools section documenting all 12 tools with usage patterns for request_transition, scoped overview, and template discovery. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Delete claude-plugins/ directory (48 stale skill/agent files) - Delete 7 orphaned tool docs and 6 stale doc files - Update api-reference.md, quick-start.md, ai-guidelines.md, index.md to reflect current 12-tool architecture - Remove unimplemented config sections (parallelism, automation, etc.) - Add DEPLOYED status to ProjectStatus enum with V8 migration - Add GetBlockedTasksTool unit tests (33 tests) - Remove unused gradle deps (slf4j-nop, exposed-migration) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ceiling Templates now provide brief 4-7 line prompts telling the AI WHAT to document rather than prescriptive multi-page workflows telling HOW to plan. This preserves the template system's value (minimum required sections) while allowing Claude's native planning to evolve freely. Changes: - Trim 6 template creators from ~930 lines of contentSample to ~110 - Rename 3 templates: Task Implementation Workflow → Task Implementation, Bug Investigation Workflow → Bug Investigation, Testing Strategy → Test Plan - Delete 2 redundant sections: Technical Decision Log, Testing Checkpoints - Change 2 sections to optional: Integration Considerations, Production Readiness - Add V9 Flyway migration to update templates in existing databases - Update TemplateInitializerImpl with new template names - Update migration tests for new names, counts (26→24 sections), and titles Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…gration Replace the old MCP-tool-based deployment approach with a proper Claude Code plugin at claude-plugins/task-orchestrator/. The plugin provides 4 lean skills (task-orchestration, feature-orchestration, status-progression, dependency-analysis), a SessionStart hook for auto-overview, and marketplace distribution via the existing .claude-plugin/marketplace.json. Also fixes ~60 stale pre-v2.0 tool name references across MCP resources and prompts (list_templates, get_overview, create_task, etc.), adds missing get_next_status and request_transition documentation resources, and adds YAML frontmatter to deploy_to_docker command. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds an optional output style that transforms the main Claude session into a pure orchestrator — strips coding instructions and adds delegation patterns. Covers both standard subagents and experimental agent teams, with clear distinction between MCP task orchestrator (persistent) and Claude Code delegation (session-scoped). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…put style Adds one-way mirroring from MCP Task Orchestrator tasks to Claude Code's terminal task display (Ctrl+T). The output style deterministically requires mirroring when active; the skill provides detailed mapping patterns (14 MCP statuses → 3 CC statuses, dependency mirroring, metadata correlation). Only tasks related to the current focus are mirrored, not the entire database. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tyle Add deterministic reinforcement for three high-risk skill behaviors: partial updates (never fetch-modify-save), cascade event handling (check parent status after transitions), and feature completion verification (all tasks done, sections reviewed before completing). These ensure correct behavior even when skills don't probabilistically activate. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When a feature is completed or archived, its child tasks are transient work items that have served their purpose. This adds a configurable CompletionCleanupService that synchronously deletes child tasks (with their sections and dependencies) during status transitions. Bug-tagged tasks are retained for diagnostic value. Cleanup is config-gated via completion_cleanup.enabled and respects existing terminal_statuses from the workflow config to support custom flows. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move default-config.yaml from resources/claude/configuration/ to resources/configuration/ — the claude/ prefix was a holdover from before the plugin migration. Delete empty hooks/ directory and remove PLUGIN-STRUCTURE.md which referenced agents and files that no longer exist. Update all 5 references (3 tests, 2 docs). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…nd correctness - Add .dockerignore to reduce build context from ~412MB to ~8MB - Add non-root user (appuser:1001) to Dockerfile for security hardening - Add OCI metadata labels to Docker image - Optimize Dockerfile layer caching with dedicated dependency download step - Make LOG_LEVEL env var functional via logback.xml variable substitution - Modernize docker-compose.yml: add AGENT_CONFIG_DIR, project mount, resource limits, remove dead env vars (JAVA_TOOL_OPTIONS, MCP_DEBUG) - Replace misleading docker-clean-and-build.bat with cross-platform docker-build.sh and docker-build.bat scripts - Add Buildx, GHA cache, multi-platform (amd64/arm64), and Trivy scanning to CI/CD pipeline - Remove dead MCP_DEBUG env var references across all documentation - Update deploy skill, CLAUDE.md, installation guide, and troubleshooting docs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Migrate Tool.Input/Tool.Output to ToolSchema (types package reorganization) - Update all imports from sdk root to sdk.types subpackage - Handle nullable request.arguments with fallback to empty JsonObject - Rename _meta to meta in GetPromptResult (API change) - Update Role.assistant to Role.Assistant (enum case change) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Install shadow-utils via dnf for groupadd/useradd support on Amazon Linux 2023 minimal images, and move git install before Gradle dependency download since build.gradle.kts requires git at configuration time for version calculation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Addresses arbitrary code execution vulnerability via conditional configuration file processing (CVSS 5.9, medium severity). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The source field requires an object with source type and path, not a plain string. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix MCP SDK version (0.7.2 -> 0.8.3) - Fix Exposed ORM version (v1 -> 1.0.0-beta-2) - Fix tool count (12 -> 13) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Rewrite Quick Start with two clear paths: Claude Code (plugin install) and Other MCP Clients (Docker pull + configure) - Add GHCR MCP server declaration to plugin.json so plugin install includes the MCP server for Claude Code users - Remove phantom references (setup_project, initialize_task_orchestrator) - Fix MCP SDK version (0.7.2 -> 0.8.3) in Technical Stack - Fix broken docs/plugin-installation.md link - Reframe sub-agents as optional/configurable, not pre-packaged - Add .mcp.json to .gitignore (local dev MCP config) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
StatusProgressionServiceImpl now loads the bundled default-config.yaml from the classpath when no .taskorchestrator/config.yaml exists on the filesystem. This ensures get_next_status and request_transition work out of the box for new users without manual config setup. Malformed user configs still fail explicitly (no silent fallback). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Audited all tool docs against source implementations and fixed ~80 discrepancies across 12 of 13 tools. Key fixes: corrected status enum tables for all container types, replaced old tool name references, fixed response field names and formats, added missing response fields, removed phantom fields, added DEPRECATED notices. Also: restructured plugin for dev use (removed bundled mcpServers), consolidated session-start hook into plugin, updated README Quick Start and CONTRIBUTING.md with accurate developer setup instructions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix marketplace.json owner field to match schema (name only, no url) - Remove broken extraKnownMarketplaces from settings.json (relative directory paths not resolved by Claude Code, filed #23978) - Add explicit skills and hooks fields to plugin.json manifest - Rename hooks.json to session-hooks.json to avoid conflict with auto-discovery convention while keeping explicit manifest declaration Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GetNextTaskTool and GetBlockedTasksTool were incorrectly marked as deprecated pointing to non-existent query_tasks queryType parameters. Also fixes error code mapping in ManageContainerTool to return proper VALIDATION_ERROR/NOT_FOUND/CONFLICT codes instead of generic DATABASE_ERROR, and updates stale Related tool cross-references across tool descriptions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PreToolUse:EnterPlanMode hook guides the agent through structured planning: template discovery, container sizing, user confirmation, and plan writing with templates as the structural floor. PostToolUse:ExitPlanMode hook materializes approved plans into MCP containers with UUIDs written back into plan.md, dependency setup, and verification. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Git on Windows auto-converted LF to CRLF in shell scripts. The \r characters embedded in JSON output caused Claude Code to show "hook error" despite the context injection still working. Fixed all scripts to LF and added .gitattributes to enforce LF for *.sh files. Also updated hook scripts with refined planning workflow guidance: templates as structural floor, multiSelect template confirmation, and hookEventName field restored per docs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Added matcher: "startup" to the SessionStart hook so it only fires on new sessions. Previously it had no matcher, causing it to also fire on context compaction which interrupted the agent's current work by prompting a full project overview. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…k sync Add getRoleForStatus() to StatusProgressionService and include previousRole/ newRole fields in request_transition responses. Create two new plugin hooks: - PostToolUse status-sync hook detects role boundary crossings and reminds the agent to update mirrored CC task status - TaskCompleted hook enforces MCP-first completion order using a block-once pattern with temp file markers Update task mirroring convention to prefix CC task subjects with [short-hash] for visual correlation and hook-based identification. Update skills and output style with CC-MCP sync guidance. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ng content - Output style: 887→343 words (61% reduction). Removed sections duplicated by hooks (Session Start, Error Handling, Handoff) and skills (partial updates, cascade events). Keeps identity, response format, delegation pattern, and decision heuristics. - task-mirroring skill: 836→300 words (64% reduction). Hooks handle post-transition sync (status-sync.sh) and completion enforcement (task-complete-sync.sh) deterministically. Skill now only covers bootstrapping — initial mirror creation, status mapping, and dependency mirroring. - Cross-skill deduplication: Each concept now has a single owner skill. Status flows/triggers/tags → status-progression. CC mirror sync → task-mirroring. Partial updates → task-orchestration. Other skills reference the owner with one-liner pointers instead of repeating content. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ation from all skills New hooks: - PostToolUse on manage_container: auto-prompts CC mirror creation for new tasks - PostToolUseFailure on MCP tools: contextual error recovery guidance - SubagentStop: prompts MCP task status sync when subagents reference MCP entities SessionStart matcher expanded from "startup" to "startup|resume|compact" so MCP state reloads on session resume and after context compaction. New skills: template-management (manage_template, apply_template coverage), project-orchestration (project-tier lifecycle coordination). All 7 skills rewritten to remove verbose tool-call code blocks that duplicated the 9.4k tokens of parameter documentation already provided by tool schemas. Skills now contain only workflow patterns, decision heuristics, and key parameter hints. Total skill word count: 1,828 words across 7 files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- marketplace.json: fix source path (task-orchestrator → clockwork), add current-task-orchestrator as primary entry, rename v2 entry to clockwork - clockwork/plugin.json: rename internal name from task-orchestrator to clockwork Both plugins installable locally. When going public, drop the clockwork entry. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Documents the requirement to bump both marketplace.json and plugin.json versions whenever plugin content changes, to prevent Claude Code from serving stale cached scripts/skills/hooks. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- marketplace.json: shorten plugin name from current-task-orchestrator to current - docs/hook-integration-guide.md: update skills link from task-orchestrator/ to clockwork/ Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The current plugin's plugin.json used ../ paths (relative to its .claude-plugin/ subdirectory) for skills, hooks, and outputStyles. The Claude Code validator resolves these paths from the plugin source root, so ../ escaped the plugin directory and failed validation with "Invalid input" errors on all three fields. Changed all three paths from ../ to ./ so they resolve correctly from the plugin root directory, matching the pattern used by the clockwork plugin. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The Claude Code plugin system now requires hooks config to be a
{ "hooks": { "<EventName>": [...] } } object rather than a flat
array. Also switched command paths to use ${CLAUDE_PLUGIN_ROOT}
for reliable resolution regardless of working directory.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…alyst, bump to 1.0.4 - Remove stop-check.mjs and its hook entry (stop hooks lack conversation context and proved unreliable for MCP state checks) - Update hooks-config.json to object schema (already in progress) - Add Model Selection section to current-analyst.md output style with 3-tier haiku/sonnet/opus guidance keyed to task type - Bump current plugin 1.0.2 → 1.0.4 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
When a child item transitions to work role, the parent now automatically advances from queue to work via a new first_child_started cascade event. - Add StartCascadeConfig (enabled: true by default) loaded from config - Detect first_child_started in detectTaskCascades() (task→feature) and detectFeatureCascades() (feature→project) using role-based checks - Wire StartCascadeConfig into CascadeServiceImpl constructor via McpServer - Add start_cascade section to default-config.yaml - Add 6 new test cases in StartCascadeTests; update existing tests with required feature role mocks Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…to 1.0.5 Invalid JSON (trailing comma after last hooks entry) caused plugin load failure. Fixed and bumped patch version per claude-plugins/CLAUDE.md policy. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove all status-string cascade detection in favor of role comparisons. V3 architecture treats role as the canonical state — status_label is display-only and must never trigger cascades. - Remove first_task_started (checked taskStatus == "in-progress") - Remove RoleAggregationConfig, loadAggregationRules(), checkRoleAggregation(), countTasksByStatus() — all used target_feature_status (status strings) - Add Rule 2: all_children_in_review — when all siblings reach review or beyond and parent is in work, parent advances to review - Keep first_child_started (role-based: newRole == WORK, parent == QUEUE) - Completion cascade rewritten to check item.role == TERMINAL - Remove role_aggregation block from default-config.yaml; clarify start_cascade comment with explicit Rule 1/2 descriptions - Update cascade tests: remove aggregation tests, add 5 ReviewCascadeTests Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
… layout Renames the skill from project-summary to work-summary for domain-agnostic use across projects, recipes, todos, and any other container type. Redesigns the dashboard to lead with active items and breadcrumb paths, group containers by activity state, and collapse empty/terminal items to footer lines. Bumps plugin to 1.0.7. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bug fixes (current/ module): - B1: delete false success — check Result<Boolean> payload before counting deletes in ManageItemsTool and ManageNotesTool - B2: get_next_status predicts wrong next role for items without schema tags — mirror AdvanceItemTool's hasReviewPhase lookup - B3: create_work_tree rejects depth=3 due to >= vs > comparison — align with ManageItemsTool's > MAX_DEPTH check - B4: create_work_tree allows intra-batch circular dependencies — add in-memory DFS cycle check in SQLiteWorkTreeService before dependency insertion - B5: start cascade not firing — add detectStartCascades() to CascadeDetector and wire Phase 4b into AdvanceItemTool so parent auto-advances QUEUE→WORK when first child starts - B6: self-reparenting and circular reparenting allowed — add self-parent guard and bounded ancestor traversal in ManageItemsTool Validation change: - WorkItem.title: add 500-char upper bound (was uncapped) - WorkItem.summary: raise limit from 500 to 2000 chars All changes covered by new and updated tests; BUILD SUCCESSFUL. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add includeAncestors parameter to list-returning tools and includeChildren
to query_items overview, eliminating O(N×D) parent-walk call chains for
breadcrumb and location-aware display.
Changes:
- WorkItemRepository: add findByIds(Set<UUID>) and findAncestorChains(Set<UUID>)
(Kotlin BFS upward traversal, ≤3 rounds for depth cap)
- SQLiteWorkItemRepository: implement both methods within one transaction
- QueryItemsTool: includeAncestors on get/search; includeChildren on global overview
- GetContextTool: includeAncestors batches all active/blocked/stalled item IDs
- GetBlockedItemsTool: includeAncestors on blocked items list
- GetNextItemTool: includeAncestors on recommendations
- AdvanceItemTool: always include title in cascade event objects (no extra DB calls)
- work-summary skill: simplified from 4 steps to 3 — get_context(includeAncestors=true)
replaces manual parent-walk loop; dashboard now completes in 2 MCP calls
- Plugin bumped to 1.0.8
Ancestors format: [{id, title, depth}] ordered root → direct parent.
Root items get []. Children format: [{id, title, role, depth}].
618 tests passing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Closes a workflow gap: agents creating schema-tagged items had no way to know which queue-phase notes to fill before advance_item(trigger=start), forcing an extra get_context call or risking a gate block. Changes: - ManageItemsTool: after create, calls NoteSchemaService.getSchemaForTags() and includes tags (always) and expectedNotes (when schema matches) in each created item's response entry. expectedNotes omitted when no schema matches. exists is always false at creation time. - ManageItemsToolTest: 3 new tests covering schema match, no tags, and tags with no matching schema - CLAUDE.md: documented manage_items create response enrichment fields 618 tests passing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…Summary, context limit - search total now reflects full match count (countByFilters + offset pagination) - query_items(get) nonexistent ID error includes requestedId as structured field - create_work_tree userSummary extracts cause from result JSON (no longer generic) - get_context session-resume accepts limit param (1-200, default 50) Closes observations: 48763e28, fe89d620, 00378df7, 547b74ae Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- manage_items(delete, recursive=true) deletes all descendants before the root, traversing leaves-first to satisfy FK ordering - manage_items(delete) without recursive flag now returns a clean error message when the item has children (pre-flight findChildren check, no raw DB exception) - Added deleteAll(Set<UUID>) to WorkItemRepository for bulk deletion - Fixed ORM schema mismatch: NotesTable, DependenciesTable, RoleTransitionsTable now declare onDelete=ReferenceOption.CASCADE, matching the Flyway SQL migrations Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ner Done footer Three display improvements (v1.0.9): - In Progress: collapse children of active parents — if a parent is already shown as active, its active descendants are suppressed (parent implies active children) - Pending Work: only show containers with non-terminal children (queue/work/review > 0); containers whose children are all done are excluded - Done footer: two-tier format — named containers (≥1 child) listed by title, standalone items (0 children) collapsed to (+N standalone) count Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…paths - QueryItemsTool: extract error message from result envelope in userSummary so agents see "Query failed: WorkItem not found: <id>" instead of bare "Query failed" - ManageDependenciesTool: same fix — surfacing cycle/self-dep error detail - SetupVersionSyncTest: update file paths from claude-plugins/task-orchestrator/ to claude-plugins/clockwork/ (plugin was renamed during v3 refactor) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- git mv src/ → clockwork/src/ (history preserved) - Create clockwork/build.gradle.kts (derived from root, with deprecation header) - Create clockwork/DEPRECATED.md (archive docs, build/run instructions) - Add startup deprecation warning to clockwork/src/main/kotlin/Main.kt - Replace root build.gradle.kts with minimal aggregator (no src, apply false) - Update settings.gradle.kts: include :clockwork alongside :current - Dockerfile: :current:jar only in builder; update runtime-v2 copy path to clockwork/build/libs/; add COPY clockwork/build.gradle.kts and clockwork/src in builder stage - CI: :current:test only; explicit runtime-current Docker target; :clockwork:printTagVersion for version validation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ent/ Phase 1 - Archive v2 docs: - git mv docs/ → clockwork/docs/ (history preserved) - Update ToolDocumentationResources.kt: docs/tools/ → clockwork/docs/tools/ - Fix clockwork/src/main/resources/db/migration/README.md path reference - Update root CLAUDE.md Documentation section with correct paths Phase 2 - Remove docs from Dockerfile: - Remove COPY docs docs from builder stage - Remove COPY --from=builder /app/docs /app/docs from runtime-base - v3 (current) does not load docs at runtime Phase 3 - Write fresh v3 docs: - current/docs/quick-start.md — setup, config, first item - current/docs/api-reference.md — all 13 tools with parameters and examples - current/docs/workflow-guide.md — roles, note schemas, gates, dependencies Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…n to v1.0.12 HTTP transport: - Dockerfile: add MCP_HTTP_HOST/PORT env vars and EXPOSE 3001 - docker-compose.yml: add current-http profile service (port 3001) - CurrentMcpServer.kt: HTTP transport implementation via Ktor Streamable HTTP - CLAUDE.md: document MCP_TRANSPORT/MCP_HTTP_HOST/MCP_HTTP_PORT env vars and HTTP run command - gradle/libs.versions.toml: MCP SDK 0.8.3 → 0.8.4 (Ktor Streamable HTTP transport) Deploy skill (/deploy_to_docker): - Flip default target from runtime-v2 to runtime-current (v3 is now the default) - Rename --current flag to --clockwork (v2 is now opt-in, not v3) - Add transport mode selection step: STDIO (recommended) vs HTTP - HTTP mode: runs detached with port 3001, named container, .mcp.json reminder - Note SDK protocol version limitation (0.8.4 supports 2025-06-18, CC requires 2025-11-25) Plugin v1.0.9 → v1.0.12: - output-styles/current-analyst.md: full expansion with all 13 tools, note schema workflow, efficient patterns, delegation discipline, action items, analysis block rules - skills/schema-builder/skill.md: complete rewrite with schema mechanics documentation, interactive phase design, config generation, and companion skill creation - Version bumped in plugin.json, marketplace.json, and claude-plugins/CLAUDE.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Rewrites the README to accurately reflect the v3 WorkItem graph model: - Replace Projects/Features/Tasks hierarchy with unified WorkItem depth model - Remove v2-only sections: template system, planning tiers, completion gates - Update tool catalog to 13 v3 tools with accurate names and descriptions - Add Note Schemas section covering config, gates, and get_context usage - Add role-based workflow diagram with triggers table - Update Quick Start to match current/docs/quick-start.md (CLI-first) - Update all doc links to current/docs/, image tag :latest → :main, SDK 0.8.4 - Align Solution framing: "summary-based handoffs" maps to Anthropic research Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add PRAGMA journal_mode=WAL to DatabaseManager: eliminates read/write lock contention when two container instances share the same SQLite volume (Claude Code spawns concurrent MCP connections per session context) - Add PRAGMA busy_timeout=5000: prevents indefinite blocking on the rare write-write collision; surfaces SQLITE_BUSY after 5s instead of hanging - Add mapRowToWorkItemSafe to SQLiteWorkItemRepository: wraps all bulk-read .map calls with try-catch, skips corrupt rows (e.g. title > 500 chars) with a WARN log rather than crashing the entire tool call - Bump plugin to v1.0.13 with redesigned /work-summary skill: insight-driven dashboard with agent observation blocks, root item classification, and 3-call parallel data collection (no redundant queries) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…create)
Validation failures (self-dependency, circular dependency) now return
`{success:true, dependencies:[], created:0, failed:N, failures:[{index,error}]}`
instead of a top-level `{success:false, error:{...}}` envelope, matching
the response shape of manage_items and manage_notes on batch rejection.
Atomic behavior is preserved. Request-level errors (invalid type parameter,
infrastructure exceptions) continue to return errorResponse unchanged.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
PRAGMA journal_mode=WAL returns a result row. Using execute() without
closing the Statement leaves a dangling prepared statement on the JDBC
connection. When Exposed later calls setTransactionIsolation() ->
ensureAutoCommit() -> COMMIT, SQLite throws SQLITE_BUSY ("SQL statements
in progress") because the open statement is still attached.
Fix: wrap all three PRAGMA calls in a single statement.use {} block so
the statement is properly closed after setupConnection runs.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
New plugin skill (v1.0.14) that creates MCP work items intelligently from conversation context: - Scans existing containers via query_items(overview) to anchor items under the right category (Bugs, Features, Tech Debt, Observations, etc.) - Detects hierarchical vs flat structure; offers to create project root if none exists - Creates single items or work trees based on inferred scope - Applies correct tags (feature-implementation, agent-observation,*) - Pre-fills required queue-phase notes from conversation context Also updates output style to reference /create-item in the Action Items section for proactive agent use. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- CLAUDE.md: manage_dependencies fromTaskId/toTaskId → fromItemId/toItemId - CLAUDE.md: query_dependencies description corrected (BFS chain+depth, not critical path / bottlenecks / parallelizable groups) - workflow-guide.md: complete trigger now correctly states gates ARE enforced (was incorrectly described as "bypasses phase gates") - workflow-guide.md: get_context response example corrected — missing field is string array, top-level key is schema (not notes), guidancePointer is at data root (not inside gateStatus) - api-reference.md: complete_tree rootId mode now explicitly states root item is NOT completed, only descendants; added gate enforcement note for trigger=complete vs trigger=cancel Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
MEDIUM fixes (api-reference.md): - manage_items: document top-level requiresVerification is ignored (use per-item) - manage_items: add descendantsDeleted to delete response docs - manage_items: add requiresVerification to update response docs - manage_notes: document additive behavior of ids + itemId delete - manage_dependencies: document unblockAt omitted from response when default null - manage_dependencies: document RELATES_TO + unblockAt raises ValidationException - manage_dependencies: clarify validation failures apply to all ValidationExceptions - advance_item: document start cascade (child WORK -> parent QUEUE auto-advances) - advance_item: add error result shape for failed transitions - get_next_status: document suggestion field on BLOCKED role response - create_work_tree: fix depth cap description (children can reach depth 3) - create_work_tree: add tags field to children response example - get_blocked_items: clarify blockerCount is unsatisfied blockers only LOW fixes (api-reference.md + workflow-guide.md): - manage_items: fix complexity default (null, not 5) - manage_items: clarify delete failure is proactive check not DB constraint - query_items: add scoped overview response example; clarify global total meaning - manage_notes: document silent no-op on delete of non-existent note by key - manage_dependencies: note 0-based index in batch failures - manage_dependencies: add delete-by-relationship and deleteAll response examples - manage_dependencies: note pattern shortcuts return same response shape - get_next_status: enumerate recommendation field values (Ready/Blocked/Terminal) - create_work_tree: show populated notes array example when createNotes=true - complete_tree: enumerate skippedReason values; document all summary fields - get_blocked_items: define blockType values (explicit vs dependency) Skipped: L12 (flowType) — field does not exist in v3 codebase Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- current/build.gradle.kts: 0.1.0-alpha-01 → 2.0.0 - CHANGELOG.md: add [2.0.0] entry covering the full v3 (Current) architecture — unified WorkItem model, 13 MCP tools, role-based workflow engine, note schema gates, HTTP transport, WAL mode SQLite, Claude Code plugin v1.0.14, and complete doc audit Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Owner
Author
|
Closing to re-open with an updated PR that reflects all recent changes including cascade refactor, architecture bug fixes, release versioning overhaul, and documentation audit. |
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
This PR merges the
overhaulbranch intomain, releasing MCP Task Orchestrator v2.0.0 — a complete architectural rewrite of the server.Breaking changes
:clockworkGradle submoduleBug fixes included
manage_dependencies(create): validation failures now return consistent batch response shape matchingmanage_items/manage_notessetupConnectioncaused SQLITE_BUSY on every parallel MCP call — fixed by wrapping PRAGMAs inStatement.use {}Test plan
🤖 Generated with Claude Code