claude-flow-novice 2.16.0 → 2.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +1 -1
- package/.claude/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +1 -1
- package/.claude/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +1 -1
- package/.claude/cfn-extras/skills/google-sheets-progress/SKILL.md +1 -1
- package/.claude/commands/CFN_LOOP_FRONTEND.md +1 -1
- package/.claude/commands/cfn-loop-cli.md +124 -46
- package/.claude/commands/cfn-loop-frontend.md +1 -1
- package/.claude/commands/cfn-loop-task.md +2 -2
- package/.claude/commands/deprecated/cfn-loop.md +2 -2
- package/.claude/hooks/cfn-invoke-post-edit.sh +31 -5
- package/.claude/hooks/cfn-post-edit.config.json +9 -2
- package/.claude/root-claude-distribute/CFN-CLAUDE.md +1 -1
- package/.claude/skills/cfn-backlog-management/SKILL.md +1 -1
- package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_INDEX.md +1 -1
- package/claude-assets/agents/cfn-dev-team/analysts/root-cause-analyst.md +2 -2
- package/claude-assets/agents/cfn-dev-team/architecture/base-template-generator.md +1 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +2 -2
- package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +1 -1
- package/claude-assets/agents/cfn-dev-team/dev-ops/devops-engineer.md +1 -1
- package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +2 -2
- package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +2 -2
- package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +1 -1
- package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +1 -1
- package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +1 -1
- package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/documentation/pseudocode.md +1 -1
- package/claude-assets/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +1 -1
- package/claude-assets/agents/cfn-dev-team/product-owners/cto-agent.md +1 -1
- package/claude-assets/agents/cfn-dev-team/product-owners/power-user-persona.md +1 -1
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/unit/tdd-london-unit-swarm.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/agent-builder.md +11 -0
- package/claude-assets/agents/cfn-dev-team/utility/analyst.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/claude-code-expert.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/researcher.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +1 -1
- package/claude-assets/agents/custom/cfn-docker-expert.md +1 -0
- package/claude-assets/agents/custom/cfn-loops-cli-expert.md +326 -17
- package/claude-assets/agents/custom/cfn-redis-operations.md +529 -529
- package/claude-assets/agents/custom/cfn-system-expert.md +1 -1
- package/claude-assets/agents/custom/trigger-dev-expert.md +369 -0
- package/claude-assets/agents/docker-team/micro-sprint-planner.md +747 -747
- package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
- package/claude-assets/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +1 -1
- package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +1 -1
- package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +1 -1
- package/claude-assets/cfn-extras/skills/google-sheets-progress/SKILL.md +1 -1
- package/claude-assets/commands/CFN_LOOP_FRONTEND.md +1 -1
- package/claude-assets/commands/cfn-loop-cli.md +124 -46
- package/claude-assets/commands/cfn-loop-frontend.md +1 -1
- package/claude-assets/commands/cfn-loop-task.md +2 -2
- package/claude-assets/commands/deprecated/cfn-loop.md +2 -2
- package/claude-assets/hooks/GIT-HOOKS-USAGE-EXAMPLES.md +116 -0
- package/claude-assets/hooks/README-GIT-HOOKS.md +443 -0
- package/claude-assets/hooks/cfn-invoke-post-edit.sh +31 -5
- package/claude-assets/hooks/cfn-post-edit.config.json +9 -2
- package/claude-assets/hooks/install-git-hooks.sh +243 -0
- package/claude-assets/hooks/subagent-start.sh +98 -0
- package/claude-assets/hooks/subagent-stop.sh +93 -0
- package/claude-assets/hooks/validators/credential-scanner.sh +172 -0
- package/claude-assets/root-claude-distribute/CFN-CLAUDE.md +1 -1
- package/claude-assets/skills/cfn-backlog-management/SKILL.md +1 -1
- package/claude-assets/skills/cfn-dependency-ingestion/SKILL.md +41 -13
- package/claude-assets/skills/cfn-dependency-ingestion/ingest.sh +237 -0
- package/claude-assets/skills/cfn-dependency-ingestion/manifests/cli-mode-dependencies.txt +73 -0
- package/claude-assets/skills/cfn-dependency-ingestion/manifests/shared-dependencies.txt +57 -0
- package/claude-assets/skills/cfn-dependency-ingestion/manifests/trigger-dev-dependencies.txt +82 -0
- package/claude-assets/skills/cfn-dependency-ingestion/manifests/trigger-mode-dependencies.txt +80 -0
- package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +14 -4
- package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_INDEX.md +1 -1
- package/claude-assets/skills/cfn-provider-routing/SKILL.md +23 -0
- package/claude-assets/skills/docker-build/build.sh +1 -1
- package/dist/agent/skill-mcp-selector.js +2 -1
- package/dist/agent/skill-mcp-selector.js.map +1 -1
- package/dist/agents/agent-loader.js +165 -146
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/cli/agent-executor.js +470 -26
- package/dist/cli/agent-executor.js.map +1 -1
- package/dist/cli/agent-prompt-builder.js +2 -2
- package/dist/cli/agent-prompt-builder.js.map +1 -1
- package/dist/cli/agent-spawn.js +7 -4
- package/dist/cli/agent-spawn.js.map +1 -1
- package/dist/cli/agent-spawner.js +51 -4
- package/dist/cli/agent-spawner.js.map +1 -1
- package/dist/cli/agent-token-manager.js +2 -1
- package/dist/cli/agent-token-manager.js.map +1 -1
- package/dist/cli/anthropic-client.js +117 -11
- package/dist/cli/anthropic-client.js.map +1 -1
- package/dist/cli/cfn-context.js +2 -1
- package/dist/cli/cfn-context.js.map +1 -1
- package/dist/cli/cfn-metrics.js +2 -1
- package/dist/cli/cfn-metrics.js.map +1 -1
- package/dist/cli/cfn-redis.js +2 -1
- package/dist/cli/cfn-redis.js.map +1 -1
- package/dist/cli/cli-agent-context.js +2 -0
- package/dist/cli/cli-agent-context.js.map +1 -1
- package/dist/cli/config-manager.js +4 -252
- package/dist/cli/config-manager.js.map +1 -1
- package/dist/cli/conversation-fork-cleanup.js +2 -1
- package/dist/cli/conversation-fork-cleanup.js.map +1 -1
- package/dist/cli/conversation-fork.js +2 -1
- package/dist/cli/conversation-fork.js.map +1 -1
- package/dist/cli/coordination/agent-messaging.js +415 -0
- package/dist/cli/coordination/agent-messaging.js.map +1 -0
- package/dist/cli/coordination/wait-for-threshold.js +232 -0
- package/dist/cli/coordination/wait-for-threshold.js.map +1 -0
- package/dist/cli/iteration-history.js +2 -1
- package/dist/cli/iteration-history.js.map +1 -1
- package/dist/cli/process-lifecycle.js +5 -1
- package/dist/cli/process-lifecycle.js.map +1 -1
- package/dist/cli/spawn-agent-cli.js +41 -6
- package/dist/cli/spawn-agent-cli.js.map +1 -1
- package/dist/coordination/redis-waiting-mode.js +4 -0
- package/dist/coordination/redis-waiting-mode.js.map +1 -1
- package/dist/lib/artifact-registry.js +4 -0
- package/dist/lib/artifact-registry.js.map +1 -1
- package/dist/lib/connection-pool.js +390 -0
- package/dist/lib/connection-pool.js.map +1 -0
- package/dist/lib/environment-contract.js +258 -0
- package/dist/lib/environment-contract.js.map +1 -0
- package/dist/lib/query-optimizer.js +388 -0
- package/dist/lib/query-optimizer.js.map +1 -0
- package/dist/lib/result-cache.js +285 -0
- package/dist/lib/result-cache.js.map +1 -0
- package/dist/mcp/auth-middleware.js +2 -1
- package/dist/mcp/auth-middleware.js.map +1 -1
- package/dist/mcp/playwright-mcp-server-auth.js +2 -1
- package/dist/mcp/playwright-mcp-server-auth.js.map +1 -1
- package/package.json +3 -1
- package/scripts/build-agent-image.sh +1 -1
- package/scripts/cost-allocation-tracker.sh +632 -0
- package/scripts/docker-rebuild-all-agents.sh +2 -2
- package/scripts/reorganize-tests.sh +280 -0
- package/scripts/trigger-dev-setup.sh +12 -0
- package/tests/README.md +45 -0
- package/.claude/commands/cost-savings-status.md +0 -34
- package/.claude/commands/metrics-summary.md +0 -58
- package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +0 -768
- package/claude-assets/agents/custom/test-mcp-access.md +0 -24
- package/claude-assets/commands/cost-savings-status.md +0 -34
- package/claude-assets/commands/metrics-summary.md +0 -58
- package/tests/test-memory-leak-task-mode.sh +0 -435
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cto-agent
|
|
3
|
-
description: MUST BE USED
|
|
3
|
+
description: MUST BE USED for technical strategy, architecture decisions, technology evaluation. Use PROACTIVELY for tech stack selection, scalability planning. Keywords - strategy, architecture, CTO, technical leadership
|
|
4
4
|
keywords:
|
|
5
5
|
- technology-strategy
|
|
6
6
|
- executive-decision
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: power-user-persona
|
|
3
|
-
description: MUST BE USED
|
|
3
|
+
description: MUST BE USED for advanced workflow automation, productivity optimization. Use PROACTIVELY for complex integrations, power user features. Keywords - automation, productivity, advanced, power user
|
|
4
4
|
tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
|
|
5
5
|
model: haiku
|
|
6
6
|
color: cyan
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: security-specialist
|
|
3
3
|
type: validator
|
|
4
4
|
color: "#D32F2F"
|
|
5
|
-
description: MUST BE USED
|
|
5
|
+
description: MUST BE USED for security review, vulnerability assessment, threat modeling. Use PROACTIVELY for penetration testing, compliance. Keywords - security, vulnerability, threat, compliance
|
|
6
6
|
tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
|
|
7
7
|
model: haiku
|
|
8
8
|
priority: critical
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: api-testing-specialist
|
|
3
|
-
description: MUST BE USED for API
|
|
3
|
+
description: MUST BE USED for API testing, contract validation, integration testing. Use PROACTIVELY for REST/GraphQL testing, test automation. Keywords - API testing, integration, contract, validation
|
|
4
4
|
tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
|
|
5
5
|
model: sonnet
|
|
6
6
|
type: specialist
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: chaos-engineering-specialist
|
|
3
|
-
description: MUST BE USED for chaos engineering, resilience testing,
|
|
3
|
+
description: MUST BE USED for chaos engineering, resilience testing, failure injection. Use PROACTIVELY for system reliability, fault tolerance. Keywords - chaos, resilience, fault injection, reliability
|
|
4
4
|
tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
|
|
5
5
|
model: sonnet
|
|
6
6
|
type: specialist
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: contract-tester
|
|
3
|
-
description: MUST BE USED for
|
|
3
|
+
description: MUST BE USED for contract testing, API compatibility, consumer-driven contracts. Use PROACTIVELY for schema validation, version compatibility. Keywords - contract, compatibility, API, validation
|
|
4
4
|
tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
|
|
5
5
|
model: sonnet
|
|
6
6
|
type: specialist
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: playwright-tester
|
|
3
|
-
description:
|
|
3
|
+
description: MUST BE USED for end-to-end browser testing with Playwright. Use PROACTIVELY for UI testing, browser automation. Keywords - playwright, e2e, browser, UI testing, automation
|
|
4
4
|
tools: [Read, Write, Edit, Bash, Glob, Grep]
|
|
5
5
|
model: haiku
|
|
6
6
|
color: blue
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: integration-tester
|
|
3
|
-
description: MUST BE USED for integration testing,
|
|
3
|
+
description: MUST BE USED for integration testing, system verification, component interaction. Use PROACTIVELY for end-to-end testing, API integration. Keywords - integration, e2e, testing, verification
|
|
4
4
|
tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
|
|
5
5
|
model: sonnet
|
|
6
6
|
type: specialist
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: load-testing-specialist
|
|
3
|
-
description: MUST BE USED for
|
|
3
|
+
description: MUST BE USED for performance testing, load testing, stress testing. Use PROACTIVELY for capacity planning, bottleneck identification. Keywords - load, performance, stress, capacity, testing
|
|
4
4
|
tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
|
|
5
5
|
model: sonnet
|
|
6
6
|
type: specialist
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mutation-testing-specialist
|
|
3
|
-
description: MUST BE USED for mutation testing, test quality
|
|
3
|
+
description: MUST BE USED for mutation testing, test quality assessment, coverage enhancement. Use PROACTIVELY for test effectiveness validation. Keywords - mutation, test quality, coverage, validation
|
|
4
4
|
tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
|
|
5
5
|
model: sonnet
|
|
6
6
|
type: specialist
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tdd-london-unit-swarm
|
|
3
|
-
description:
|
|
3
|
+
description: MUST BE USED for TDD with London school approach, mock-based unit testing. Use PROACTIVELY for test-first development. Keywords - TDD, London, mocking, unit testing
|
|
4
4
|
tools: [Read, Write, Edit, Bash, Grep, Glob, TodoWrite]
|
|
5
5
|
model: haiku
|
|
6
6
|
color: yellow
|
|
@@ -86,6 +86,7 @@ description: MUST BE USED when specific use case. Keywords - relevant, terms
|
|
|
86
86
|
| `tools` | Yes | `[Tool1, Tool2, Tool3]` | `[Read, Write, Edit, Bash]` |
|
|
87
87
|
| `model` | Yes | `haiku\|sonnet\|opus` | `haiku` |
|
|
88
88
|
| `type` | Yes | `specialist\|coordinator\|validator` | `specialist` |
|
|
89
|
+
| `skills` | No | `skill1, skill2` | `cfn-coordination, cfn-agent-spawning` |
|
|
89
90
|
| `acl_level` | No | `1-5` | `1` |
|
|
90
91
|
| `capabilities` | No | `[cap-1, cap-2]` | `[api-dev, testing]` |
|
|
91
92
|
|
|
@@ -95,6 +96,16 @@ description: MUST BE USED when specific use case. Keywords - relevant, terms
|
|
|
95
96
|
description: MUST BE USED when [primary use case]. Use PROACTIVELY for [secondary scenarios]. Keywords - [searchable, terms, for, discovery]
|
|
96
97
|
```
|
|
97
98
|
|
|
99
|
+
### Claude Code Native Features (v2.0.43+)
|
|
100
|
+
|
|
101
|
+
**Skills Field (Task Mode Only):**
|
|
102
|
+
```yaml
|
|
103
|
+
# Auto-loads skills when Main Chat spawns via Task() tool
|
|
104
|
+
skills: cfn-coordination, cfn-agent-spawning, cfn-loop-validation
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**IMPORTANT:** The `skills` field only works for Task Mode agents (Main Chat spawning). For CLI Mode agents (production), skills must be manually injected via `agent-prompt-builder.ts` because CLI-spawned agents run as separate processes without access to Main Chat's frontmatter parsing.
|
|
108
|
+
|
|
98
109
|
## Agent Completion Protocol
|
|
99
110
|
|
|
100
111
|
When creating agent templates, include this standardized completion section:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: analyst
|
|
3
|
-
description: MUST BE USED
|
|
3
|
+
description: MUST BE USED for code analysis, metrics evaluation, quality assessment. Use PROACTIVELY for technical debt analysis, architecture review. Keywords - analysis, metrics, quality, technical debt
|
|
4
4
|
tools: [Read, Grep, Glob, TodoWrite]
|
|
5
5
|
model: haiku
|
|
6
6
|
type: specialist
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: claude-code-expert
|
|
3
|
-
description: MUST BE USED
|
|
3
|
+
description: MUST BE USED for Claude Code CLI expertise, workflow optimization, agent coordination. Use PROACTIVELY for CLI usage, best practices. Keywords - claude, CLI, workflow, agent
|
|
4
4
|
model: sonnet
|
|
5
5
|
type: specialist
|
|
6
6
|
acl_level: 2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: epic-creator
|
|
3
|
-
description: MUST BE USED
|
|
3
|
+
description: MUST BE USED for epic planning, user story creation, project decomposition. Use PROACTIVELY for feature breakdown, backlog management. Keywords - epic, user story, planning, backlog
|
|
4
4
|
tools: [Read, Write, Grep, Glob, TodoWrite]
|
|
5
5
|
model: sonnet
|
|
6
6
|
type: coordinator
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: memory-leak-specialist
|
|
3
|
-
description: MUST BE USED for memory leak detection,
|
|
3
|
+
description: MUST BE USED for memory leak detection, profiling, heap analysis. Use PROACTIVELY for memory optimization, resource management. Keywords - memory leak, profiling, heap, optimization
|
|
4
4
|
tools: [Read, Write, Edit, Grep, Glob, TodoWrite]
|
|
5
5
|
model: sonnet
|
|
6
6
|
type: specialist
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: researcher
|
|
3
|
-
description:
|
|
3
|
+
description: MUST BE USED for technical research, documentation review, technology evaluation. Use PROACTIVELY for feasibility studies, comparative analysis. Keywords - research, documentation, evaluation, analysis
|
|
4
4
|
tools: [Read, Grep, Glob, TodoWrite, Write, WebSearch, WebFetch]
|
|
5
5
|
model: haiku
|
|
6
6
|
type: specialist
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: z-ai-specialist
|
|
3
|
-
description: MUST BE USED for Z.ai
|
|
3
|
+
description: MUST BE USED for Z.ai API integration, provider routing, custom models. Use PROACTIVELY for cost optimization, model selection. Keywords - zai, provider, API, routing, models
|
|
4
4
|
tools: [Read, Write, Edit, Grep, Glob, TodoWrite]
|
|
5
5
|
model: sonnet
|
|
6
6
|
type: specialist
|
|
@@ -4,6 +4,7 @@ description: Specialized agent for maintaining CFN Loop Docker mode execution fl
|
|
|
4
4
|
tags: [cfn-loop, docker, container-orchestration, dependency-management, service-coordination]
|
|
5
5
|
priority: P0
|
|
6
6
|
tools: [Read, Write, Edit, Bash, Grep, Glob]
|
|
7
|
+
model: opus
|
|
7
8
|
version: 1.1.0
|
|
8
9
|
---
|
|
9
10
|
|
|
@@ -1,26 +1,87 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cfn-loops-cli-expert
|
|
3
|
-
description: Specialized agent for maintaining the CFN Loop CLI execution flow. You MUST use this agent when making edits to CFN Loops' CLI Mode. this agent is NOT for executing or coordinating CLI mode.
|
|
4
|
-
tags: [cfn-loop, cli, dependency-management, typescript-migration, coordination, provider-routing]
|
|
3
|
+
description: Specialized agent for maintaining the CFN Loop CLI execution flow (both CLI and Trigger.dev modes). You MUST use this agent when making edits to CFN Loops' CLI Mode or Trigger.dev Docker Mode. this agent is NOT for executing or coordinating CLI mode.
|
|
4
|
+
tags: [cfn-loop, cli, trigger-dev, docker, dependency-management, typescript-migration, coordination, provider-routing, collision-prevention]
|
|
5
5
|
priority: P0
|
|
6
|
-
tools: [Read, Write, Edit, Bash, Grep, Glob]
|
|
7
|
-
|
|
6
|
+
tools: [Read, Write, Edit, Bash, Grep, Glob];
|
|
7
|
+
model: opus
|
|
8
|
+
skills: [cfn-dependency-ingestion]
|
|
9
|
+
version: 1.3.0
|
|
8
10
|
---
|
|
9
11
|
|
|
10
|
-
# CFN CLI Mode Expert
|
|
12
|
+
# CFN CLI Mode Expert (CLI + Trigger.dev)
|
|
11
13
|
|
|
12
14
|
## Purpose
|
|
13
15
|
|
|
14
|
-
Maintain the CFN Loop CLI Mode execution flow
|
|
16
|
+
Maintain the CFN Loop CLI Mode execution flow for **both** execution environments:
|
|
17
|
+
1. **CLI Mode** - Local host execution with Main Chat coordination
|
|
18
|
+
2. **Trigger.dev Mode** - Container-based execution with Trigger.dev orchestration
|
|
19
|
+
|
|
20
|
+
Keep `readme\CLI_MODE_ARCHITECTURE.md` synchronized with the 2-layer coordination architecture and prevent collisions between execution modes.
|
|
15
21
|
|
|
16
22
|
## Architecture Context (v3.2.0+)
|
|
17
23
|
|
|
18
|
-
|
|
24
|
+
### CLI Mode (Local Host Execution)
|
|
25
|
+
|
|
26
|
+
**Redefinition Complete:**
|
|
19
27
|
- ❌ DEPRECATED: 3-layer coordination (Main Chat → CLI → Coordinator → Orchestrator → Agents)
|
|
20
28
|
- ✅ NEW: 2-layer coordination (Main Chat → Direct CLI Agent Spawning + Redis BLPOP)
|
|
21
29
|
- ✅ Provider routing: zai, kimi, anthropic, openrouter, max with fallback to Z.ai glm-4.6
|
|
22
30
|
- ✅ Simplified protocol: "CLI Mode Redis Completion Protocol"
|
|
23
31
|
|
|
32
|
+
**Execution Environment:**
|
|
33
|
+
- Host process execution (no containers)
|
|
34
|
+
- Direct Redis connection to localhost:6379
|
|
35
|
+
- Network: mcp-network (Docker Compose)
|
|
36
|
+
- Service discovery: `cfn-redis` service name
|
|
37
|
+
|
|
38
|
+
### Trigger.dev Mode (Container-Based Execution)
|
|
39
|
+
|
|
40
|
+
**Architecture:**
|
|
41
|
+
- Trigger.dev job orchestration
|
|
42
|
+
- Container-based agent execution
|
|
43
|
+
- Redis coordination via trigger-cfn-network
|
|
44
|
+
- Service discovery: `redis` service name
|
|
45
|
+
|
|
46
|
+
**Key Differences:**
|
|
47
|
+
- Orchestration: Trigger.dev jobs (not Main Chat)
|
|
48
|
+
- Network: trigger-cfn-network (isolated from mcp-network)
|
|
49
|
+
- Service names: `redis`, `postgres` (not `cfn-redis`, `cfn-postgres`)
|
|
50
|
+
- Task ID prefix: `trigger:` (vs `cli:` for CLI mode)
|
|
51
|
+
|
|
52
|
+
### 🔴 CRITICAL: Collision Prevention
|
|
53
|
+
|
|
54
|
+
**Redis Key Namespace Isolation (Phase 1 - REQUIRED):**
|
|
55
|
+
|
|
56
|
+
Both modes share 75% of coordination logic but use **different Redis key namespaces** to prevent interference:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# CLI Mode keys
|
|
60
|
+
cfn:task:cli:<task-id>:status
|
|
61
|
+
cfn:task:cli:<task-id>:completed
|
|
62
|
+
cfn:task:cli:<task-id>:result
|
|
63
|
+
|
|
64
|
+
# Trigger.dev Mode keys
|
|
65
|
+
cfn:task:trigger:<task-id>:status
|
|
66
|
+
cfn:task:trigger:<task-id>:completed
|
|
67
|
+
cfn:task:trigger:<task-id>:result
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Why Isolation Required:**
|
|
71
|
+
- ❌ Without prefixes: Task completion signals interfere between modes
|
|
72
|
+
- ❌ CLI agents exit prematurely (think Trigger completed their task)
|
|
73
|
+
- ❌ Trigger jobs skip work (think CLI already did it)
|
|
74
|
+
- ❌ Coordination deadlocks (waiting for wrong completion signal)
|
|
75
|
+
- ❌ Redis counters corrupted (task:completed incremented twice)
|
|
76
|
+
|
|
77
|
+
**Current Status (2025-11-24):**
|
|
78
|
+
- ✅ Task ID validation accepts mode prefixes: `/^([a-z]+:)?[a-zA-Z0-9_.-]+$/`
|
|
79
|
+
- ✅ Double-prefix bug fixed in generateTaskId()
|
|
80
|
+
- ❌ **Phase 1 NOT implemented** - Redis keys lack mode prefixes
|
|
81
|
+
- ⚠️ **HIGH COLLISION RISK** - Editing CLI without Phase 1 breaks Trigger.dev
|
|
82
|
+
|
|
83
|
+
**Reference:** `planning/trigger/CLI_TRIGGER_COLLISION_ANALYSIS.md`
|
|
84
|
+
|
|
24
85
|
## On Spawn (REQUIRED)
|
|
25
86
|
|
|
26
87
|
**Step 1:** Ingest all CLI dependencies atomically:
|
|
@@ -31,6 +92,96 @@ node .claude/skills/cfn-dependency-ingestion/dist/ingest-dependencies.js --injec
|
|
|
31
92
|
|
|
32
93
|
**Step 2:** If diagram and code diverge, update diagram FIRST.
|
|
33
94
|
|
|
95
|
+
## Dependency Management Workflow
|
|
96
|
+
|
|
97
|
+
**This agent is the SOLE MAINTAINER of CLI process documentation.**
|
|
98
|
+
|
|
99
|
+
### Dependency Ingestion
|
|
100
|
+
|
|
101
|
+
Before major edits, ingest dependencies to ensure full context:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Ingest CLI mode dependencies
|
|
105
|
+
node .claude/skills/cfn-dependency-ingestion/dist/ingest-dependencies.js \
|
|
106
|
+
--manifest .claude/skills/cfn-dependency-ingestion/manifests/cli-mode-dependencies.txt \
|
|
107
|
+
--inject-content \
|
|
108
|
+
--skip-validation
|
|
109
|
+
|
|
110
|
+
# Ingest Trigger mode dependencies (for collision analysis)
|
|
111
|
+
node .claude/skills/cfn-dependency-ingestion/dist/ingest-dependencies.js \
|
|
112
|
+
--manifest .claude/skills/cfn-dependency-ingestion/manifests/trigger-mode-dependencies.txt \
|
|
113
|
+
--inject-content \
|
|
114
|
+
--skip-validation
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Workflow Steps
|
|
118
|
+
|
|
119
|
+
1. **Before major edits:** Ingest dependencies via cfn-dependency-ingestion skill
|
|
120
|
+
2. **Review file overlaps:** Identify potential conflicts between CLI and Trigger.dev modes
|
|
121
|
+
3. **Update documentation:** Make changes with full context awareness
|
|
122
|
+
4. **Update manifests:** If files added/removed, update manifest files
|
|
123
|
+
5. **Validate cross-references:** Ensure all documentation links are correct
|
|
124
|
+
6. **Test both modes:** Verify changes don't break CLI or Trigger.dev execution
|
|
125
|
+
|
|
126
|
+
### Identifying Overlaps
|
|
127
|
+
|
|
128
|
+
Compare manifests to find shared files and potential collision points:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# Find files in both manifests (75% overlap expected)
|
|
132
|
+
comm -12 \
|
|
133
|
+
<(sort .claude/skills/cfn-dependency-ingestion/manifests/cli-mode-dependencies.txt | grep -v '^#' | grep -v '^$') \
|
|
134
|
+
<(sort .claude/skills/cfn-dependency-ingestion/manifests/trigger-mode-dependencies.txt | grep -v '^#' | grep -v '^$')
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Key Overlap Areas:**
|
|
138
|
+
- **Shared configuration:** docker-compose.yml, docker/runtime/cfn-runtime.contract.yml
|
|
139
|
+
- **Coordination protocols:** .claude/skills/cfn-coordination/*.sh (75% shared logic)
|
|
140
|
+
- **Test coverage:** Both modes need isolated test validation
|
|
141
|
+
- **Documentation cross-references:** CLI vs Trigger.dev comparison docs
|
|
142
|
+
|
|
143
|
+
**Critical Collision Points:**
|
|
144
|
+
- **Redis key namespaces:** MUST include mode prefix (cli: or trigger:)
|
|
145
|
+
- **Service names:** cfn-redis (CLI) vs redis (Trigger.dev)
|
|
146
|
+
- **Network names:** mcp-network (CLI) vs trigger-cfn-network (Trigger.dev)
|
|
147
|
+
- **Task ID prefixes:** cli:<id> vs trigger:<id>
|
|
148
|
+
|
|
149
|
+
### Manifest Maintenance
|
|
150
|
+
|
|
151
|
+
**When to update manifests:**
|
|
152
|
+
|
|
153
|
+
1. **New CLI implementation file added:**
|
|
154
|
+
- Add to `.claude/skills/cfn-dependency-ingestion/manifests/cli-mode-dependencies.txt`
|
|
155
|
+
- Update CLI_MODE_ARCHITECTURE.md FILE DEPENDENCIES section
|
|
156
|
+
- Document in version history
|
|
157
|
+
|
|
158
|
+
2. **New Trigger.dev job created:**
|
|
159
|
+
- Add to `.claude/skills/cfn-dependency-ingestion/manifests/trigger-mode-dependencies.txt`
|
|
160
|
+
- Update TRIGGER_CONTAINER_MODES_ARCHITECTURE.md FILE DEPENDENCIES section
|
|
161
|
+
- Document in version history
|
|
162
|
+
|
|
163
|
+
3. **Shared file modified:**
|
|
164
|
+
- Review both manifests to ensure consistency
|
|
165
|
+
- Check for mode-specific behavior requirements
|
|
166
|
+
- Update both architecture docs if behavior diverges
|
|
167
|
+
|
|
168
|
+
4. **File deprecated or removed:**
|
|
169
|
+
- Remove from relevant manifest
|
|
170
|
+
- Update architecture doc FILE DEPENDENCIES section
|
|
171
|
+
- Archive file reference in version history
|
|
172
|
+
|
|
173
|
+
### Validation Checklist
|
|
174
|
+
|
|
175
|
+
Before completing documentation updates:
|
|
176
|
+
|
|
177
|
+
- [ ] All referenced files in architecture docs are listed in manifests
|
|
178
|
+
- [ ] Manifests use relative paths from project root
|
|
179
|
+
- [ ] Mode-specific behavior differences are documented
|
|
180
|
+
- [ ] Collision prevention measures are highlighted
|
|
181
|
+
- [ ] Cross-references between docs are valid
|
|
182
|
+
- [ ] Both CLI and Trigger.dev test suites pass
|
|
183
|
+
- [ ] Version history updated with changes
|
|
184
|
+
|
|
34
185
|
## Core Rules
|
|
35
186
|
|
|
36
187
|
### CLI Mode Protocol Requirements
|
|
@@ -44,27 +195,27 @@ node .claude/skills/cfn-dependency-ingestion/dist/ingest-dependencies.js --injec
|
|
|
44
195
|
```bash
|
|
45
196
|
# ✅ CORRECT - CLI agent spawning with provider routing
|
|
46
197
|
npx tsx src/cli/spawn-agent-cli.ts backend-developer \
|
|
47
|
-
--task-id
|
|
198
|
+
--task-id cli:<id> --mode standard --provider kimi
|
|
48
199
|
|
|
49
200
|
# Environment variables injected:
|
|
50
201
|
# PROVIDER=kimi
|
|
51
202
|
# MODEL=claude-3.5-sonnet
|
|
52
|
-
# TASK_ID
|
|
203
|
+
# TASK_ID=cli:<id> # Note: "cli:" prefix
|
|
53
204
|
# MODE=standard
|
|
54
205
|
```
|
|
55
206
|
|
|
56
207
|
**Redis BLPOP Coordination:**
|
|
57
208
|
```bash
|
|
58
|
-
# ✅ CORRECT - Main Chat waits for agent completion
|
|
59
|
-
redis-cli BLPOP cfn:
|
|
209
|
+
# ✅ CORRECT - Main Chat waits for agent completion (with mode prefix)
|
|
210
|
+
redis-cli BLPOP cfn-completion:cli:<task-id> 120s
|
|
60
211
|
```
|
|
61
212
|
|
|
62
|
-
**Agent Completion Signaling:**
|
|
213
|
+
**Agent Completion Signaling (CLI Mode):**
|
|
63
214
|
```javascript
|
|
64
215
|
// ✅ CORRECT - CLI Mode protocol completion signal
|
|
65
216
|
const signal = {
|
|
66
217
|
agentId: 'backend-developer-1',
|
|
67
|
-
taskId: '
|
|
218
|
+
taskId: 'cli:<task-id>', // Mode prefix included
|
|
68
219
|
status: 'completed',
|
|
69
220
|
timestamp: new Date().toISOString(),
|
|
70
221
|
provider: process.env.PROVIDER || 'zai',
|
|
@@ -72,7 +223,60 @@ const signal = {
|
|
|
72
223
|
confidence: 0.90,
|
|
73
224
|
metadata: {
|
|
74
225
|
iteration: process.env.ITERATION || 1,
|
|
75
|
-
mode: process.env.MODE || 'standard'
|
|
226
|
+
mode: process.env.MODE || 'standard',
|
|
227
|
+
executionMode: 'cli' // Distinguishes from trigger mode
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Trigger.dev Mode Protocol Requirements
|
|
233
|
+
|
|
234
|
+
**Protocol Naming:**
|
|
235
|
+
- ✅ Use "Trigger.dev CLI Protocol" for Trigger.dev-specific implementations
|
|
236
|
+
- ✅ Job naming: `cfn-loop-3.ts`, `cfn-loop-2.ts` in trigger-dev/src/jobs/
|
|
237
|
+
- ✅ Container execution: Docker-based agent spawning
|
|
238
|
+
|
|
239
|
+
**Trigger.dev Job Orchestration:**
|
|
240
|
+
```typescript
|
|
241
|
+
// ✅ CORRECT - Trigger.dev job spawning
|
|
242
|
+
import { task } from "@trigger.dev/sdk/v3";
|
|
243
|
+
|
|
244
|
+
export const cfnLoop3 = task({
|
|
245
|
+
id: "cfn-loop-3",
|
|
246
|
+
run: async (payload: { taskId: string; agentType: string }) => {
|
|
247
|
+
const prefixedTaskId = `trigger:${payload.taskId}`;
|
|
248
|
+
|
|
249
|
+
// Spawn container with Trigger.dev orchestration
|
|
250
|
+
const container = await docker.createContainer({
|
|
251
|
+
Image: 'cfn-agent:latest',
|
|
252
|
+
Env: [
|
|
253
|
+
`TASK_ID=${prefixedTaskId}`,
|
|
254
|
+
`CFN_REDIS_HOST=redis`, // Note: "redis" not "cfn-redis"
|
|
255
|
+
`CFN_REDIS_PORT=6379`,
|
|
256
|
+
`PROVIDER=${payload.provider || 'zai'}`
|
|
257
|
+
],
|
|
258
|
+
NetworkMode: 'trigger-cfn-network'
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
**Agent Completion Signaling (Trigger.dev Mode):**
|
|
265
|
+
```javascript
|
|
266
|
+
// ✅ CORRECT - Trigger.dev protocol completion signal
|
|
267
|
+
const signal = {
|
|
268
|
+
agentId: 'backend-developer-1',
|
|
269
|
+
taskId: 'trigger:<task-id>', // Mode prefix included
|
|
270
|
+
status: 'completed',
|
|
271
|
+
timestamp: new Date().toISOString(),
|
|
272
|
+
provider: process.env.PROVIDER || 'zai',
|
|
273
|
+
model: process.env.MODEL || 'glm-4.6',
|
|
274
|
+
confidence: 0.90,
|
|
275
|
+
metadata: {
|
|
276
|
+
iteration: process.env.ITERATION || 1,
|
|
277
|
+
mode: process.env.MODE || 'standard',
|
|
278
|
+
executionMode: 'trigger', // Distinguishes from cli mode
|
|
279
|
+
triggerId: context.run.id // Trigger.dev specific
|
|
76
280
|
}
|
|
77
281
|
};
|
|
78
282
|
```
|
|
@@ -89,13 +293,17 @@ const signal = {
|
|
|
89
293
|
**Add CLI Mode file:** Update diagram → mark CLI mode sections → update VERSION HISTORY
|
|
90
294
|
**Remove old coordination:** Remove deprecated orchestrator paths → document in VERSION HISTORY
|
|
91
295
|
**Modify protocol:** Update CLI Mode protocol description in both code and diagram
|
|
296
|
+
**Add Trigger.dev support:** Document container-based execution paths → note service name differences
|
|
297
|
+
|
|
298
|
+
## Critical Components
|
|
92
299
|
|
|
93
|
-
|
|
300
|
+
### CLI Mode Files (Local Execution)
|
|
94
301
|
|
|
95
302
|
**Core Files:**
|
|
96
303
|
- `src/cli/agent-prompt-builder.ts` - CLI Mode protocol generation
|
|
97
304
|
- `src/cli/agent-command.ts` - Agent spawning with provider routing
|
|
98
|
-
- `src/cli/spawn-agent-cli.ts` - CLI agent entry point
|
|
305
|
+
- `src/cli/spawn-agent-cli.ts` - CLI agent entry point (task ID with "cli:" prefix)
|
|
306
|
+
- `src/cli/agent-spawner.ts` - Environment injection (CFN_REDIS_HOST=cfn-redis)
|
|
99
307
|
- `tests/cli/agent-prompt-builder.test.ts` - CLI Mode protocol validation
|
|
100
308
|
|
|
101
309
|
**Protocol Changes:**
|
|
@@ -103,17 +311,84 @@ const signal = {
|
|
|
103
311
|
- Simplified 3-step process: Complete Work → Signal Completion → Exit Cleanly
|
|
104
312
|
- Provider/model environment variables
|
|
105
313
|
- Main Chat Redis BLPOP coordination
|
|
314
|
+
- Task ID format: `cli:<task-id>`
|
|
315
|
+
|
|
316
|
+
### Trigger.dev Mode Files (Container Execution)
|
|
317
|
+
|
|
318
|
+
**Core Files:**
|
|
319
|
+
- `trigger-dev/src/jobs/cfn-loop3.ts` - Loop 3 agent orchestration
|
|
320
|
+
- `trigger-dev/src/jobs/cfn-loop2.ts` - Loop 2 validator orchestration
|
|
321
|
+
- `trigger-dev/src/jobs/product-owner.ts` - Product owner decision
|
|
322
|
+
- `docker/trigger-dev/docker-compose.yml` - Service definitions
|
|
323
|
+
|
|
324
|
+
**Protocol Changes:**
|
|
325
|
+
- Protocol name: "Trigger.dev CLI Protocol"
|
|
326
|
+
- Container-based execution with Docker API
|
|
327
|
+
- Network: trigger-cfn-network (isolated from mcp-network)
|
|
328
|
+
- Service names: `redis`, `postgres` (different from CLI mode)
|
|
329
|
+
- Task ID format: `trigger:<task-id>`
|
|
330
|
+
|
|
331
|
+
### Shared Components (Both Modes)
|
|
332
|
+
|
|
333
|
+
**Affected Files:**
|
|
334
|
+
- `.claude/skills/cfn-coordination/*.sh` - Redis coordination scripts
|
|
335
|
+
- `docker/runtime/cfn-runtime.contract.yml` - Environment contract
|
|
336
|
+
- `src/cli/agent-executor.ts` - Task ID validation (accepts both prefixes)
|
|
337
|
+
|
|
338
|
+
**Collision Points (CRITICAL):**
|
|
339
|
+
- Redis key patterns: Must include mode prefix (cli: or trigger:)
|
|
340
|
+
- Environment variables: Different defaults per mode
|
|
341
|
+
- Service discovery: Different service names per network
|
|
106
342
|
|
|
107
343
|
## Anti-Patterns
|
|
108
344
|
|
|
345
|
+
### General Anti-Patterns
|
|
109
346
|
❌ References to old "CFN Loop Redis Completion Protocol"
|
|
110
347
|
❌ Complex orchestrator spawning for simple CLI tasks
|
|
111
348
|
❌ Missing provider routing support in CLI agents
|
|
112
349
|
❌ Tests expecting old protocol structure
|
|
113
350
|
❌ Missing environment variable injection (PROVIDER, MODEL)
|
|
114
351
|
|
|
352
|
+
### Collision Anti-Patterns (CRITICAL)
|
|
353
|
+
❌ **Editing CLI files without considering Trigger.dev impact**
|
|
354
|
+
❌ **Redis keys without mode prefixes** (`cfn:task:<id>` should be `cfn:task:cli:<id>` or `cfn:task:trigger:<id>`)
|
|
355
|
+
❌ **Hardcoding service names** (use mode-aware defaults: `cfn-redis` for CLI, `redis` for Trigger)
|
|
356
|
+
❌ **Shared task IDs between modes** (always prefix: `cli:<id>` vs `trigger:<id>`)
|
|
357
|
+
❌ **Network name assumptions** (mcp-network ≠ trigger-cfn-network)
|
|
358
|
+
❌ **Testing only one mode** (changes must validate both CLI and Trigger.dev)
|
|
359
|
+
|
|
360
|
+
### Examples of Collision-Prone Edits
|
|
361
|
+
|
|
362
|
+
**❌ DANGEROUS - Will break Trigger.dev:**
|
|
363
|
+
```typescript
|
|
364
|
+
// FILE: src/cli/agent-spawner.ts
|
|
365
|
+
// Changing default without mode awareness
|
|
366
|
+
const redisHost = process.env.CFN_REDIS_HOST || 'redis'; // Breaks CLI mode
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
**✅ SAFE - Mode-aware defaults:**
|
|
370
|
+
```typescript
|
|
371
|
+
// FILE: src/cli/agent-spawner.ts
|
|
372
|
+
const redisHost = process.env.CFN_REDIS_HOST || 'cfn-redis'; // CLI mode
|
|
373
|
+
// FILE: trigger-dev/src/jobs/cfn-loop3.ts
|
|
374
|
+
const redisHost = process.env.CFN_REDIS_HOST || 'redis'; // Trigger mode
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
**❌ DANGEROUS - Missing mode prefix:**
|
|
378
|
+
```typescript
|
|
379
|
+
const taskId = `task-${Date.now()}`; // No mode prefix - collision risk
|
|
380
|
+
await redis.set(`cfn:task:${taskId}:status`, 'running');
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
**✅ SAFE - Mode prefix included:**
|
|
384
|
+
```typescript
|
|
385
|
+
const taskId = `cli:task-${Date.now()}`; // CLI mode prefix
|
|
386
|
+
await redis.set(`cfn:task:${taskId}:status`, 'running');
|
|
387
|
+
```
|
|
388
|
+
|
|
115
389
|
## Success Criteria
|
|
116
390
|
|
|
391
|
+
### CLI Mode Success Criteria
|
|
117
392
|
- ✅ Diagram reflects 2-layer CLI architecture
|
|
118
393
|
- ✅ CLI Mode protocol properly named and structured
|
|
119
394
|
- ✅ Provider routing implemented and tested
|
|
@@ -121,9 +396,43 @@ const signal = {
|
|
|
121
396
|
- ✅ All tests pass with new protocol expectations
|
|
122
397
|
- ✅ VERSION HISTORY updated with CLI mode redefinition
|
|
123
398
|
|
|
399
|
+
### Trigger.dev Mode Success Criteria
|
|
400
|
+
- ✅ Container-based execution documented
|
|
401
|
+
- ✅ Trigger.dev job orchestration patterns defined
|
|
402
|
+
- ✅ Network isolation (trigger-cfn-network) documented
|
|
403
|
+
- ✅ Service name differences clearly explained
|
|
404
|
+
- ✅ Task ID prefixing strategy documented
|
|
405
|
+
|
|
406
|
+
### Collision Prevention Success Criteria
|
|
407
|
+
- ❌ **Phase 1 NOT COMPLETE** - Redis keys lack mode prefixes
|
|
408
|
+
- ✅ Task ID validation accepts mode prefixes
|
|
409
|
+
- ✅ Double-prefix bug fixed
|
|
410
|
+
- ❌ **Network aliases NOT implemented** (Phase 2 pending)
|
|
411
|
+
- ❌ **Environment contract NOT unified** (Phase 3 pending)
|
|
412
|
+
|
|
413
|
+
**NEXT STEPS:** Implement Phase 1 (Redis key namespace isolation) before making further CLI edits.
|
|
414
|
+
|
|
124
415
|
## Key References
|
|
125
416
|
|
|
126
|
-
|
|
417
|
+
### CLI Mode References
|
|
418
|
+
- `readme/CLI_MODE_ARCHITECTURE.md` - 2-layer coordination architecture
|
|
127
419
|
- `tests/cli/agent-prompt-builder.test.ts` - CLI Mode protocol validation (57 tests pass)
|
|
128
420
|
- `src/cli/agent-prompt-builder.ts` - CLI Mode protocol implementation
|
|
129
421
|
- `.claude/commands/cfn-loop-cli.md` - CLI mode slash command documentation
|
|
422
|
+
- `planning/cli-changes-november/CLI_MODE_REDIS_COORDINATION_HANDOFF.md` - Recent fixes
|
|
423
|
+
|
|
424
|
+
### Trigger.dev Mode References
|
|
425
|
+
- `trigger-dev/src/jobs/cfn-loop3.ts` - Loop 3 orchestration
|
|
426
|
+
- `trigger-dev/src/jobs/cfn-loop2.ts` - Loop 2 validation
|
|
427
|
+
- `docker/trigger-dev/docker-compose.yml` - Service definitions
|
|
428
|
+
- `trigger-dev/package.json` - Dependencies and scripts
|
|
429
|
+
|
|
430
|
+
### Collision Prevention References
|
|
431
|
+
- `planning/trigger/CLI_TRIGGER_COLLISION_ANALYSIS.md` - **CRITICAL** - Collision analysis and mitigation strategy
|
|
432
|
+
- `planning/trigger/PHASE_4_SECURITY_VALIDATION_REPORT.md` - Socket proxy implementation (Phase 4 complete)
|
|
433
|
+
- `docker/runtime/cfn-runtime.contract.yml` - Environment contract (needs mode-aware extension)
|
|
434
|
+
|
|
435
|
+
### Testing References
|
|
436
|
+
- `tests/cli-mode/` - CLI mode integration tests
|
|
437
|
+
- `tests/docker-mode/` - Docker mode integration tests
|
|
438
|
+
- Both test suites must pass before production deployment
|