cc-codeconductor 0.4.3 → 1.0.0
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/README.md +95 -95
- package/dist/cli/errors.d.ts +65 -0
- package/dist/core/compilation/compile-checker.d.ts +51 -0
- package/dist/core/config/codeconductor-config.d.ts +42 -0
- package/dist/core/config/config-loader.d.ts +11 -0
- package/dist/core/filesystem/credential-guard.d.ts +18 -0
- package/dist/core/goal/goal-planner.d.ts +8 -0
- package/dist/core/goal/goal-state.d.ts +15 -0
- package/dist/core/loop/git-stats.d.ts +13 -0
- package/dist/core/loop/loop-engine.d.ts +79 -0
- package/dist/core/memory/episodic-store.d.ts +6 -0
- package/dist/core/memory/operational-state.d.ts +6 -0
- package/dist/core/orchestrator/runtime-orchestrator.d.ts +25 -0
- package/dist/core/planner/product-planner.d.ts +18 -0
- package/dist/core/presets/package-paths.d.ts +4 -0
- package/dist/core/product-graph/graph-store.d.ts +11 -0
- package/dist/core/product-graph/paths.d.ts +18 -0
- package/dist/core/verification/verification-runner.d.ts +57 -0
- package/dist/domain/loop/loop-state.d.ts +74 -0
- package/dist/domain/product/entities.d.ts +11 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +23721 -15064
- package/dist/library.js +2595 -0
- package/dist/utils/result.d.ts +36 -0
- package/dist/validation/schemas.d.ts +3660 -0
- package/package.json +15 -2
- package/policy.yml +12 -11
- package/presets/agy/AGENTS.md +11 -5
- package/presets/agy/gates/pre-commit/GATE.md +136 -0
- package/presets/agy/skills/cc-fix/SKILL.md +2 -2
- package/presets/agy/skills/cc-tdd-cycle/SKILL.md +11 -0
- package/presets/agy/skills/evaluation/SKILL.md +6 -0
- package/presets/agy/skills/openspec/SKILL.md +32 -0
- package/presets/agy/workflows/cc-api-contract.md +12 -0
- package/presets/agy/workflows/cc-ask.md +55 -0
- package/presets/agy/workflows/cc-clarify.md +33 -0
- package/presets/agy/workflows/cc-council.md +31 -7
- package/presets/agy/workflows/cc-db-migration.md +22 -9
- package/presets/agy/workflows/cc-explore.md +37 -0
- package/presets/agy/workflows/cc-feature.md +41 -19
- package/presets/agy/workflows/cc-fix.md +50 -23
- package/presets/agy/workflows/cc-handoff.md +42 -0
- package/presets/agy/workflows/cc-iterative.md +128 -0
- package/presets/agy/workflows/cc-openspec.md +75 -0
- package/presets/agy/workflows/cc-pagespeed.md +12 -0
- package/presets/agy/workflows/cc-prototype.md +39 -0
- package/presets/agy/workflows/cc-refactor.md +12 -0
- package/presets/agy/workflows/cc-review.md +12 -0
- package/presets/agy/workflows/cc-scorecard.md +29 -0
- package/presets/agy/workflows/cc-tdd-cycle.md +24 -0
- package/presets/agy/workflows/cc-test-plan.md +12 -0
- package/presets/agy/workflows/cc-triage.md +35 -0
- package/presets/claude/CLAUDE.md +64 -0
- package/presets/claude/commands/cc/api-contract.md +12 -0
- package/presets/claude/commands/cc/ask.md +55 -0
- package/presets/claude/commands/cc/clarify.md +32 -0
- package/presets/claude/commands/cc/council.md +87 -0
- package/presets/claude/commands/cc/db-migration.md +22 -9
- package/presets/claude/commands/cc/explore.md +36 -0
- package/presets/claude/commands/cc/feature.md +49 -22
- package/presets/claude/commands/cc/fix.md +74 -20
- package/presets/claude/commands/cc/handoff.md +44 -0
- package/presets/claude/commands/cc/iterative.md +132 -0
- package/presets/claude/commands/cc/openspec.md +169 -0
- package/presets/claude/commands/cc/pagespeed.md +12 -0
- package/presets/claude/commands/cc/prototype.md +38 -0
- package/presets/claude/commands/cc/refactor.md +152 -1
- package/presets/claude/commands/cc/review.md +90 -17
- package/presets/claude/commands/cc/scorecard.md +77 -0
- package/presets/claude/commands/cc/tdd-cycle.md +53 -3
- package/presets/claude/commands/cc/test-plan.md +12 -0
- package/presets/claude/commands/cc/triage.md +34 -0
- package/presets/claude/gates/pre-commit/GATE.md +136 -0
- package/presets/claude/settings.json +8 -46
- package/presets/claude/skills/evaluation/SKILL.md +42 -0
- package/presets/claude/skills/openspec/SKILL.md +54 -0
- package/presets/codex/AGENTS.md +62 -5
- package/presets/codex/commands/cc-ask.md +55 -0
- package/presets/codex/gates/pre-commit/GATE.md +136 -0
- package/presets/cursor/.cursorignore +15 -0
- package/presets/cursor/AGENTS.md +504 -0
- package/presets/cursor/agents/architect.md +211 -0
- package/presets/cursor/agents/business-agent.md +44 -0
- package/presets/cursor/agents/complexity-auditor.md +76 -0
- package/presets/cursor/agents/continuous-architect.md +37 -0
- package/presets/cursor/agents/contract-builder.md +75 -0
- package/presets/cursor/agents/docs.md +181 -0
- package/presets/cursor/agents/goal-planner.md +71 -0
- package/presets/cursor/agents/impact-analyst.md +43 -0
- package/presets/cursor/agents/implementer.md +161 -0
- package/presets/cursor/agents/orchestrator.md +377 -0
- package/presets/cursor/agents/repo-explorer.md +100 -0
- package/presets/cursor/agents/reviewer.md +237 -0
- package/presets/cursor/agents/security-reviewer.md +113 -0
- package/presets/cursor/agents/task-coach.md +145 -0
- package/presets/cursor/agents/tester.md +241 -0
- package/presets/cursor/commands/cc/api-contract.md +70 -0
- package/presets/cursor/commands/cc/ask.md +55 -0
- package/presets/cursor/commands/cc/clarify.md +32 -0
- package/presets/cursor/commands/cc/council.md +87 -0
- package/presets/cursor/commands/cc/db-migration.md +71 -0
- package/presets/cursor/commands/cc/explore.md +36 -0
- package/presets/cursor/commands/cc/feature.md +137 -0
- package/presets/cursor/commands/cc/fix.md +148 -0
- package/presets/cursor/commands/cc/handoff.md +41 -0
- package/presets/cursor/commands/cc/iterative.md +133 -0
- package/presets/cursor/commands/cc/openspec.md +159 -0
- package/presets/cursor/commands/cc/pagespeed.md +115 -0
- package/presets/cursor/commands/cc/prototype.md +38 -0
- package/presets/cursor/commands/cc/refactor.md +160 -0
- package/presets/cursor/commands/cc/review.md +149 -0
- package/presets/cursor/commands/cc/scorecard.md +77 -0
- package/presets/cursor/commands/cc/tdd-cycle.md +250 -0
- package/presets/cursor/commands/cc/test-plan.md +150 -0
- package/presets/cursor/commands/cc/triage.md +34 -0
- package/presets/cursor/gates/pre-commit/GATE.md +136 -0
- package/presets/cursor/rules/behavioral-discipline.mdc +14 -0
- package/presets/cursor/rules/context-budget.mdc +12 -0
- package/presets/cursor/rules/orchestration.mdc +12 -0
- package/presets/cursor/rules/yagni-stdlib.mdc +11 -0
- package/presets/cursor/skills/android/SKILL.md +122 -0
- package/presets/cursor/skills/api-versioning/SKILL.md +394 -0
- package/presets/cursor/skills/astro/SKILL.md +322 -0
- package/presets/cursor/skills/auth-token-inspector/SKILL.md +33 -0
- package/presets/cursor/skills/code-review/SKILL.md +208 -0
- package/presets/cursor/skills/conductor-setup/SKILL.md +127 -0
- package/presets/cursor/skills/django-orm/SKILL.md +463 -0
- package/presets/cursor/skills/django-testing/SKILL.md +417 -0
- package/presets/cursor/skills/django-uv/SKILL.md +409 -0
- package/presets/cursor/skills/drizzle-schema-architect/SKILL.md +54 -0
- package/presets/cursor/skills/evaluation/SKILL.md +8 -0
- package/presets/cursor/skills/fastapi-pydantic-strict/SKILL.md +46 -0
- package/presets/cursor/skills/find-skills/SKILL.md +144 -0
- package/presets/cursor/skills/jpa-nplusone-detector/SKILL.md +49 -0
- package/presets/cursor/skills/jpa-postgres/SKILL.md +626 -0
- package/presets/cursor/skills/laravel-specialist/SKILL.md +267 -0
- package/presets/cursor/skills/laravel-specialist/references/eloquent.md +351 -0
- package/presets/cursor/skills/laravel-specialist/references/livewire.md +512 -0
- package/presets/cursor/skills/laravel-specialist/references/queues.md +423 -0
- package/presets/cursor/skills/laravel-specialist/references/routing.md +362 -0
- package/presets/cursor/skills/laravel-specialist/references/testing.md +522 -0
- package/presets/cursor/skills/livewire-alpine-bridge/SKILL.md +39 -0
- package/presets/cursor/skills/multi-agent-orchestration/README.md +144 -0
- package/presets/cursor/skills/multi-agent-orchestration/SKILL.md +579 -0
- package/presets/cursor/skills/multi-agent-orchestration/examples/framework_implementations.py +362 -0
- package/presets/cursor/skills/multi-agent-orchestration/examples/orchestration_patterns.py +411 -0
- package/presets/cursor/skills/multi-agent-orchestration/scripts/agent_communication.py +334 -0
- package/presets/cursor/skills/multi-agent-orchestration/scripts/benchmarking.py +341 -0
- package/presets/cursor/skills/multi-agent-orchestration/scripts/workflow_management.py +334 -0
- package/presets/cursor/skills/nextjs-typescript/SKILL.md +394 -0
- package/presets/cursor/skills/openspec/SKILL.md +52 -0
- package/presets/cursor/skills/pagespeed-insights/SKILL.md +445 -0
- package/presets/cursor/skills/pagespeed-insights/reference.md +50 -0
- package/presets/cursor/skills/pagespeed-perf/SKILL.md +281 -0
- package/presets/cursor/skills/php-pro/SKILL.md +210 -0
- package/presets/cursor/skills/php-pro/references/async-patterns.md +412 -0
- package/presets/cursor/skills/php-pro/references/laravel-patterns.md +377 -0
- package/presets/cursor/skills/php-pro/references/modern-php-features.md +323 -0
- package/presets/cursor/skills/php-pro/references/symfony-patterns.md +466 -0
- package/presets/cursor/skills/php-pro/references/testing-quality.md +466 -0
- package/presets/cursor/skills/python/SKILL.md +613 -0
- package/presets/cursor/skills/python-django-stack/SKILL.md +500 -0
- package/presets/cursor/skills/python-fastapi-stack/SKILL.md +464 -0
- package/presets/cursor/skills/security/SKILL.md +384 -0
- package/presets/cursor/skills/seo-analytics-injector/SKILL.md +44 -0
- package/presets/cursor/skills/spring-auth-auditor/SKILL.md +33 -0
- package/presets/cursor/skills/spring-boot-feature/SKILL.md +566 -0
- package/presets/cursor/skills/spring-boot-kotlin/SKILL.md +408 -0
- package/presets/cursor/skills/spring-boot-testing-strategy/SKILL.md +479 -0
- package/presets/cursor/skills/sqlalchemy/SKILL.md +473 -0
- package/presets/cursor/skills/tailwind-responsive-auditor/SKILL.md +32 -0
- package/presets/cursor/skills/tdd-mutation-tester/SKILL.md +28 -0
- package/presets/cursor/skills/testing-tdd/SKILL.md +592 -0
- package/presets/cursor/skills/workflow-orchestration-patterns/SKILL.md +98 -0
- package/presets/cursor/skills/workflow-orchestration-patterns/references/details.md +223 -0
- package/presets/opencode/agents/architect.md +22 -2
- package/presets/opencode/agents/complexity-auditor.md +16 -0
- package/presets/opencode/agents/contract-builder.md +109 -0
- package/presets/opencode/agents/devil.md +158 -0
- package/presets/opencode/agents/docs.md +19 -2
- package/presets/opencode/agents/goal-planner.md +112 -0
- package/presets/opencode/agents/implementer.md +39 -2
- package/presets/opencode/agents/orchestrator.md +124 -19
- package/presets/opencode/agents/planner.md +61 -0
- package/presets/opencode/agents/repo-explorer.md +15 -0
- package/presets/opencode/agents/reviewer.md +53 -2
- package/presets/opencode/agents/security-reviewer.md +159 -0
- package/presets/opencode/agents/task-coach.md +69 -2
- package/presets/opencode/agents/tester.md +18 -2
- package/presets/opencode/commands/cc-api-contract.md +12 -0
- package/presets/opencode/commands/cc-ask.md +55 -0
- package/presets/opencode/commands/cc-clarify.md +31 -0
- package/presets/opencode/commands/cc-council.md +87 -0
- package/presets/opencode/commands/cc-db-migration.md +22 -9
- package/presets/opencode/commands/cc-explore.md +35 -0
- package/presets/opencode/commands/cc-feature.md +41 -19
- package/presets/opencode/commands/cc-fix.md +50 -23
- package/presets/opencode/commands/cc-handoff.md +40 -0
- package/presets/opencode/commands/cc-iterative.md +127 -0
- package/presets/opencode/commands/cc-openspec.md +74 -0
- package/presets/opencode/commands/cc-pagespeed.md +12 -0
- package/presets/opencode/commands/cc-prototype.md +37 -0
- package/presets/opencode/commands/cc-refactor.md +12 -0
- package/presets/opencode/commands/cc-review.md +12 -0
- package/presets/opencode/commands/cc-scorecard.md +28 -0
- package/presets/opencode/commands/cc-tdd-cycle.md +24 -0
- package/presets/opencode/commands/cc-test-plan.md +12 -0
- package/presets/opencode/commands/cc-triage.md +33 -0
- package/presets/opencode/gates/pre-commit/GATE.md +136 -0
- package/presets/opencode/prompts/v0.1.0/DEPRECATED.md +11 -0
- package/presets/opencode/prompts/v0.2.0/DEPRECATED.md +11 -0
- package/presets/opencode/prompts/v0.3.0/DEPRECATED.md +11 -0
- package/presets/opencode/prompts/v0.4.0/DEPRECATED.md +11 -0
- package/presets/opencode/prompts/v0.5.0/architect.md +222 -0
- package/presets/opencode/prompts/v0.5.0/complexity-auditor.md +91 -0
- package/presets/opencode/prompts/v0.5.0/contract-builder.md +84 -0
- package/presets/opencode/prompts/v0.5.0/docs.md +190 -0
- package/presets/opencode/prompts/v0.5.0/goal-planner.md +80 -0
- package/presets/opencode/prompts/v0.5.0/implementer.md +171 -0
- package/presets/opencode/prompts/v0.5.0/orchestrator.md +388 -0
- package/presets/opencode/prompts/v0.5.0/repo-explorer.md +111 -0
- package/presets/opencode/prompts/v0.5.0/reviewer.md +248 -0
- package/presets/opencode/prompts/v0.5.0/security-reviewer.md +123 -0
- package/presets/opencode/prompts/v0.5.0/task-coach.md +156 -0
- package/presets/opencode/prompts/v0.5.0/tester.md +252 -0
- package/presets/opencode/prompts/v0.6.0/implementer.md +35 -0
- package/presets/opencode/prompts/v0.6.0/planner.md +36 -0
- package/presets/opencode/prompts/v0.6.0/reviewer.md +40 -0
- package/presets/opencode/prompts/v1.0.0/README.md +47 -0
- package/presets/opencode/prompts/v1.0.0/architect.md +259 -0
- package/presets/opencode/prompts/v1.0.0/complexity-auditor.md +116 -0
- package/presets/opencode/prompts/v1.0.0/contract-builder.md +120 -0
- package/presets/opencode/prompts/v1.0.0/devil.md +169 -0
- package/presets/opencode/prompts/v1.0.0/docs.md +229 -0
- package/presets/opencode/prompts/v1.0.0/goal-planner.md +123 -0
- package/presets/opencode/prompts/v1.0.0/implementer.md +228 -0
- package/presets/opencode/prompts/v1.0.0/orchestrator.md +474 -0
- package/presets/opencode/prompts/v1.0.0/planner.md +72 -0
- package/presets/opencode/prompts/v1.0.0/repo-explorer.md +147 -0
- package/presets/opencode/prompts/v1.0.0/reviewer.md +295 -0
- package/presets/opencode/prompts/v1.0.0/security-reviewer.md +170 -0
- package/presets/opencode/prompts/v1.0.0/task-coach.md +235 -0
- package/presets/opencode/prompts/v1.0.0/tester.md +298 -0
- package/presets/opencode/skills/evaluation/SKILL.md +6 -0
- package/presets/opencode/skills/openspec/SKILL.md +50 -0
- package/presets/seo-hotel/settings.json +0 -17
- package/presets/templates/BACKLOG.md +33 -0
- package/presets/templates/execution-profile.yml +6 -0
- package/presets/templates/model-comparison.md +11 -0
- package/presets/templates/regression-checklist.yml +10 -0
- package/src/presets/manifests/agy.yml +2 -2
- package/src/presets/manifests/claude.yml +2 -2
- package/src/presets/manifests/codex.yml +2 -2
- package/src/presets/manifests/cursor.yml +19 -3
- package/src/presets/manifests/gemini.yml +2 -2
- package/src/presets/manifests/opencode.yml +2 -2
- package/src/presets/models/agy.yml +97 -49
- package/src/presets/models/claude.yml +83 -39
- package/src/presets/models/codex.yml +83 -40
- package/src/presets/models/cursor.yml +83 -39
- package/src/presets/models/gemini.yml +83 -39
- package/src/presets/models/opencode.yml +78 -34
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cc-triage
|
|
3
|
+
description:
|
|
4
|
+
Classify a request into type, risk, and the destination CodeConductor command.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Triage Workflow
|
|
8
|
+
|
|
9
|
+
Triage request: $ARGUMENTS
|
|
10
|
+
|
|
11
|
+
## Step 0 — CCEP Bootstrap
|
|
12
|
+
|
|
13
|
+
Command: `triage` (fixed for this workflow — do not infer from user text)
|
|
14
|
+
|
|
15
|
+
1. Run: `npx cc-codeconductor ccep parse --command triage "$ARGUMENTS" --output json`
|
|
16
|
+
2. Run: `npx cc-codeconductor ccep resolve --command triage "$ARGUMENTS" --output json`
|
|
17
|
+
3. Run: `npx cc-codeconductor ccep profile triage --output json`
|
|
18
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command triage --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
19
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Step 1 — Classify (task-coach)
|
|
24
|
+
|
|
25
|
+
Invoke `task-coach`. Produce: title, type (`feature` | `fix` | `refactor` | `review` | `docs` | `test`), risk, named scope, and the destination command (`feature`, `fix`, `refactor`, `review`, `explore`, …).
|
|
26
|
+
|
|
27
|
+
Ask one question per unresolved branch. If the human is unavailable, emit a Markdown questionnaire and stop at ConfirmationGate.
|
|
28
|
+
|
|
29
|
+
**STOP here. Show the classification and wait for confirmation before running the destination workflow.**
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Completion
|
|
34
|
+
|
|
35
|
+
Do not implement. Hand the human a destination slash command and a partial Task Card.
|
package/presets/claude/CLAUDE.md
CHANGED
|
@@ -384,6 +384,20 @@ contract tests. Does not write production code.
|
|
|
384
384
|
- Cover three cases for every behavior: happy path, edge case, error case.
|
|
385
385
|
- Test names must describe what is being tested and the expected outcome.
|
|
386
386
|
|
|
387
|
+
**Anti-pattern checklist** — before declaring tests ready, verify none of
|
|
388
|
+
these apply:
|
|
389
|
+
|
|
390
|
+
- **Implementation-coupled** — the test asserts internal implementation
|
|
391
|
+
details (private state, call order, mock invocations) instead of observable
|
|
392
|
+
behavior. It breaks when the implementation is refactored even if the
|
|
393
|
+
behavior is unchanged.
|
|
394
|
+
- **Tautological** — the test asserts something that cannot fail given the
|
|
395
|
+
test's own setup (e.g., asserting a value the test itself just hardcoded).
|
|
396
|
+
It always passes regardless of the code under test.
|
|
397
|
+
- **Horizontal slicing** — the test spans multiple unrelated behaviors or
|
|
398
|
+
layers in one assertion block instead of a single vertical slice of one
|
|
399
|
+
behavior.
|
|
400
|
+
|
|
387
401
|
**Test types:**
|
|
388
402
|
|
|
389
403
|
| Type | When to write |
|
|
@@ -494,6 +508,56 @@ _(none)_ if no suggestions
|
|
|
494
508
|
- **Verdict justification**: [one sentence]
|
|
495
509
|
```
|
|
496
510
|
|
|
511
|
+
|
|
512
|
+
**Two-Axis Review Model (Standards + Spec)**
|
|
513
|
+
|
|
514
|
+
The Reviewer role executes two independent, parallel sub-agents without reranking between them:
|
|
515
|
+
|
|
516
|
+
1.
|
|
517
|
+
|
|
518
|
+
_El modelo de dos ejes (Standards, Spec) es la estructura de ejecución de `/cc:review`; los review axes listados en la tabla anterior se aplican DENTRO de cada eje._ **Standards Axis** — Code smell detection against the Fowler baseline (Long Method, Large Class, Duplicated Code, Feature Envy, Shotgun Surgery, Primitive Obsession, Data Clumps, Switch Statements, Speculative Generality, Temporary Fields, Message Chains, Middle Man, Inappropriate Intimacy, Data Class, Comments-as-apology), with documented override allowed via repo standards documentation (e.g., CONTEXT.md or project norms).
|
|
519
|
+
|
|
520
|
+
2. **Spec Axis** — Alignment with Task Card, acceptance criteria, and scope boundaries.
|
|
521
|
+
|
|
522
|
+
Each axis produces findings independently. **No reranking** occurs between axes — each axis is evaluated in parallel and its findings remain independent. After parallel execution, a **combined verdict** integrates findings from both axes:
|
|
523
|
+
|
|
524
|
+
- If either axis finds CRITICAL issues → verdict is `blocked`
|
|
525
|
+
- Else if either axis finds WARNING → verdict is `approved with warnings`
|
|
526
|
+
- Else → verdict is `approved`
|
|
527
|
+
|
|
528
|
+
**Two-Axis Review Report format:**
|
|
529
|
+
|
|
530
|
+
```markdown
|
|
531
|
+
## Review Report
|
|
532
|
+
|
|
533
|
+
**Task**: [objective from Task Card] **Verdict**: [approved | approved with warnings | blocked]
|
|
534
|
+
|
|
535
|
+
---
|
|
536
|
+
|
|
537
|
+
### Standards Axis
|
|
538
|
+
|
|
539
|
+
Applies Fowler code smell baseline with documented overrides.
|
|
540
|
+
|
|
541
|
+
- [ ] [S1] [file:line] — [code smell] | Override: [documented or N/A] | Required action: [what must change] (CRITICAL) or Recommended action: [what must change] (WARNING)
|
|
542
|
+
|
|
543
|
+
_(none)_ if no findings
|
|
544
|
+
|
|
545
|
+
### Spec Axis
|
|
546
|
+
|
|
547
|
+
Validates Task Card, acceptance criteria, and scope alignment.
|
|
548
|
+
|
|
549
|
+
- [ ] [Sp1] [criterion number] — [description] | Evidence: [quote] | Required action: [what must change] (CRITICAL) or Recommended action: [what must change] (WARNING)
|
|
550
|
+
|
|
551
|
+
_(none)_ if no findings
|
|
552
|
+
|
|
553
|
+
### Combined Summary
|
|
554
|
+
|
|
555
|
+
- Standards findings: [count] (X CRITICAL, Y WARNING, Z SUGGESTION)
|
|
556
|
+
- Spec findings: [count] (X CRITICAL, Y WARNING, Z SUGGESTION)
|
|
557
|
+
- **Combined Verdict**: [approved | approved with warnings | blocked]
|
|
558
|
+
- **Verdict justification**: [one sentence]
|
|
559
|
+
```
|
|
560
|
+
|
|
497
561
|
---
|
|
498
562
|
|
|
499
563
|
### Complexity Auditor
|
|
@@ -8,6 +8,18 @@ description: >-
|
|
|
8
8
|
|
|
9
9
|
API contract request: $ARGUMENTS
|
|
10
10
|
|
|
11
|
+
## Step 0 — CCEP Bootstrap
|
|
12
|
+
|
|
13
|
+
Command: `api-contract` (fixed for this workflow — do not infer from user text)
|
|
14
|
+
|
|
15
|
+
1. Run: `npx cc-codeconductor ccep parse --command api-contract "$ARGUMENTS" --output json`
|
|
16
|
+
2. Run: `npx cc-codeconductor ccep resolve --command api-contract "$ARGUMENTS" --output json`
|
|
17
|
+
3. Run: `npx cc-codeconductor ccep profile api-contract --output json`
|
|
18
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command api-contract --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
19
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
11
23
|
## Step 1 — Task Card validation (Task Coach role)
|
|
12
24
|
|
|
13
25
|
Adopt the **Task Coach** role as defined in `CLAUDE.md`.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
[cc: alias] Recommend one CodeConductor slash command from a natural-language
|
|
4
|
+
problem. Does not start that workflow.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Ask — recommend a slash command
|
|
8
|
+
|
|
9
|
+
Problem: $ARGUMENTS
|
|
10
|
+
|
|
11
|
+
This is a **router**, not a delivery workflow. Recommend exactly one command.
|
|
12
|
+
Do **not** run the recommended `/cc:` command unless the human confirms.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Step 1 — Recommend (deterministic)
|
|
17
|
+
|
|
18
|
+
Run (local repo: `bun run dev`; published package: `npx cc-codeconductor`):
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
bun run dev ask "$ARGUMENTS" --output json
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
or:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx cc-codeconductor ask "$ARGUMENTS" --output json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The catalog is only:
|
|
31
|
+
|
|
32
|
+
| Slash | When |
|
|
33
|
+
| ----- | ---- |
|
|
34
|
+
| `/cc:feature` | new behavior |
|
|
35
|
+
| `/cc:fix` | bug / regression |
|
|
36
|
+
| `/cc:refactor` | structure, no behavior change |
|
|
37
|
+
| `/cc:review` | inspect a diff/PR |
|
|
38
|
+
| `/cc:tdd-cycle` | red → green → refactor |
|
|
39
|
+
| `/cc:openspec` | BACKLOG / BC-xxx delivery |
|
|
40
|
+
|
|
41
|
+
If the CLI is unavailable, apply the same catalog and the same priority:
|
|
42
|
+
openspec → tdd-cycle → review → refactor → fix → feature (default).
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Step 2 — Show and stop
|
|
47
|
+
|
|
48
|
+
Print:
|
|
49
|
+
|
|
50
|
+
- **Recommended:** the slash command
|
|
51
|
+
- **Why:** one or two sentences from the CLI `reason` (or your matching)
|
|
52
|
+
|
|
53
|
+
**STOP.** Wait for the human. Do not invoke the recommended workflow.
|
|
54
|
+
|
|
55
|
+
For a full preset inventory (skills, commands on disk), use `/cc:help` / `cc-help`.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
[cc: alias] Re-explain the last deliverable in Task Card vocabulary when it did not land.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Clarify Workflow
|
|
7
|
+
|
|
8
|
+
Clarify request: $ARGUMENTS
|
|
9
|
+
|
|
10
|
+
## Step 0 — CCEP Bootstrap
|
|
11
|
+
|
|
12
|
+
Command: `clarify` (fixed for this workflow — do not infer from user text)
|
|
13
|
+
|
|
14
|
+
1. Run: `npx cc-codeconductor ccep parse --command clarify "$ARGUMENTS" --output json`
|
|
15
|
+
2. Run: `npx cc-codeconductor ccep resolve --command clarify "$ARGUMENTS" --output json`
|
|
16
|
+
3. Run: `npx cc-codeconductor ccep profile clarify --output json`
|
|
17
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command clarify --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
18
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Step 1 — Re-explain (task-coach)
|
|
23
|
+
|
|
24
|
+
Invoke `task-coach` / `orchestrator`. Restate the last Task Card, plan, or review in the project's vocabulary. Do not add new scope. If questions remain, one question per branch.
|
|
25
|
+
|
|
26
|
+
**STOP if ConfirmationGate reports questions.**
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Completion
|
|
31
|
+
|
|
32
|
+
A plain-language restatement plus any remaining questions. Then resume the previous workflow.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Council-driven workflow with CCEP-1 bootstrap
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Council-Driven Workflow
|
|
6
|
+
|
|
7
|
+
Task request: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
## Step 0 — CCEP Bootstrap
|
|
10
|
+
|
|
11
|
+
Command: `council` (fixed for this workflow — do not infer from user text)
|
|
12
|
+
command: council
|
|
13
|
+
|
|
14
|
+
1. Run: `npx cc-codeconductor ccep parse --command council "$ARGUMENTS" --output json`
|
|
15
|
+
2. Run: `npx cc-codeconductor ccep resolve --command council "$ARGUMENTS" --output json`
|
|
16
|
+
3. Run: `npx cc-codeconductor ccep profile council --output json`
|
|
17
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command council --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
18
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Step 1 — Wayfinding (repo-explorer)
|
|
23
|
+
|
|
24
|
+
If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"` (and
|
|
25
|
+
`graphify path` / `graphify explain` when needed). Then invoke `repo-explorer`
|
|
26
|
+
to map impact radius before deliberation. Do not write code in this step.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Step 2 — Deliberation & Specification (SDD)
|
|
31
|
+
|
|
32
|
+
Invoke the `council` skill to analyze the request before writing any code. The council must act as a steering committee involving `task-coach` (Product), `architect`, and `devil`.
|
|
33
|
+
|
|
34
|
+
The council must:
|
|
35
|
+
1. Clarify the prompt and define the absolute minimum scope (Simplicity Gate).
|
|
36
|
+
2. Explicitly document all assumptions and run the Grilling protocol on each one (Think Before Coding).
|
|
37
|
+
3. Draft a Task Card & Technical Plan (The Specification).
|
|
38
|
+
|
|
39
|
+
**STOP here.** Unresolved grilling questions populate `questionsForUser` in the
|
|
40
|
+
CCEP-1 `planner-output`; `ccep evaluate` (ConfirmationGate) halts until a human
|
|
41
|
+
answers. Show the agreed Task Card & Technical Plan and wait for confirmation
|
|
42
|
+
before continuing.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Step 3 — Test Definition (TDD)
|
|
47
|
+
|
|
48
|
+
Invoke `tester` with the approved Task Card & Technical Plan.
|
|
49
|
+
|
|
50
|
+
tester must:
|
|
51
|
+
1. Write failing tests based on the Acceptance Criteria defined in the Task Card.
|
|
52
|
+
2. Confirm the tests fail as expected (Red state).
|
|
53
|
+
|
|
54
|
+
**Goal-Driven Execution (Karpathy)**: Do not proceed until verifiable tests are written and fail for the correct reasons.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Step 4 — Surgical Implementation
|
|
59
|
+
|
|
60
|
+
Invoke `implementer` with the failing tests and the Technical Plan.
|
|
61
|
+
|
|
62
|
+
implementer must:
|
|
63
|
+
1. Write the minimal code required to pass the tests.
|
|
64
|
+
2. Touch ONLY the files specified in the Technical Plan (Surgical Changes).
|
|
65
|
+
3. NOT refactor adjacent code, change existing styles, or build speculative features.
|
|
66
|
+
4. Run the tests. Loop `implementer` -> `tester` until all tests pass (Green state).
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Step 5 — Multi-Perspective Council Review
|
|
71
|
+
|
|
72
|
+
Invoke the `council` skill on the generated diff to perform the final review phase.
|
|
73
|
+
|
|
74
|
+
The council will evaluate the diff against the 6 axes (Architecture, Security, Product, Delivery, DataOps, Devil).
|
|
75
|
+
|
|
76
|
+
If ANY agent votes CRITICAL (especially due to over-engineering, scope creep, or missing the verifiable goals):
|
|
77
|
+
- The Review Report status is **BLOCKED**.
|
|
78
|
+
- Return to Step 4 with the feedback.
|
|
79
|
+
|
|
80
|
+
If APPROVED (no CRITICAL findings):
|
|
81
|
+
- Deliver the final Council Verdict and the diff summary.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Completion
|
|
86
|
+
|
|
87
|
+
Deliver the complete Council Verdict. The feature is only complete when tests pass and the council explicitly approves the implementation according to the specification.
|
|
@@ -8,6 +8,19 @@ description: >-
|
|
|
8
8
|
|
|
9
9
|
Migration request: $ARGUMENTS
|
|
10
10
|
|
|
11
|
+
## Step 0 — CCEP Bootstrap
|
|
12
|
+
|
|
13
|
+
Command: `db-migration` (fixed for this workflow — do not infer from user text)
|
|
14
|
+
|
|
15
|
+
1. Run: `npx cc-codeconductor ccep parse --command db-migration "$ARGUMENTS" --output json`
|
|
16
|
+
2. Run: `npx cc-codeconductor ccep resolve --command db-migration "$ARGUMENTS" --output json`
|
|
17
|
+
3. Run: `npx cc-codeconductor ccep profile db-migration --output json`
|
|
18
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command db-migration --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
19
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
20
|
+
Canonical delivery order is test-before-implement whenever both phases apply.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
11
24
|
## Step 1 — Task Card validation (Task Coach role)
|
|
12
25
|
|
|
13
26
|
Adopt the **Task Coach** role as defined in `CLAUDE.md`.
|
|
@@ -31,22 +44,22 @@ rollback/forward-fix notes, and test approach.
|
|
|
31
44
|
|
|
32
45
|
---
|
|
33
46
|
|
|
34
|
-
## Step 3 —
|
|
47
|
+
## Step 3 — Migration Tests (Tester role)
|
|
35
48
|
|
|
36
|
-
Adopt the **
|
|
49
|
+
Adopt the **Tester** role as defined in `CLAUDE.md`.
|
|
37
50
|
|
|
38
|
-
|
|
39
|
-
|
|
51
|
+
Cover migration-sensitive behavior where the stack supports it, including
|
|
52
|
+
existing-data edge cases and rollback/forward-fix notes when automated rollback
|
|
53
|
+
tests are not practical.
|
|
40
54
|
|
|
41
55
|
---
|
|
42
56
|
|
|
43
|
-
## Step 4 —
|
|
57
|
+
## Step 4 — Implementation (Implementer role)
|
|
44
58
|
|
|
45
|
-
Adopt the **
|
|
59
|
+
Adopt the **Implementer** role as defined in `CLAUDE.md`.
|
|
46
60
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
tests are not practical.
|
|
61
|
+
Keep model and migration changes together, avoid unrelated refactors, and
|
|
62
|
+
preserve the deployment order specified by architect.
|
|
50
63
|
|
|
51
64
|
---
|
|
52
65
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
[cc: alias] Map the repository and recommend the next CodeConductor slash command. Read-only.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Explore Workflow
|
|
7
|
+
|
|
8
|
+
Explore request: $ARGUMENTS
|
|
9
|
+
|
|
10
|
+
## Step 0 — CCEP Bootstrap
|
|
11
|
+
|
|
12
|
+
Command: `explore` (fixed for this workflow — do not infer from user text)
|
|
13
|
+
|
|
14
|
+
1. Run: `npx cc-codeconductor ccep parse --command explore "$ARGUMENTS" --output json`
|
|
15
|
+
2. Run: `npx cc-codeconductor ccep resolve --command explore "$ARGUMENTS" --output json`
|
|
16
|
+
3. Run: `npx cc-codeconductor ccep profile explore --output json`
|
|
17
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command explore --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
18
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Step 1 — Map (repo-explorer)
|
|
23
|
+
|
|
24
|
+
If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"`. Invoke `repo-explorer`. Produce a Repo Map. Do not write code.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Step 2 — Suggest next command (orchestrator)
|
|
29
|
+
|
|
30
|
+
Recommend exactly one next slash command (`/cc:feature`, `/cc:fix`, `/cc:refactor`, `/cc:review`, `/cc:triage`, …) with a one-sentence rationale. Do not start that workflow.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Completion
|
|
35
|
+
|
|
36
|
+
Report the Repo Map and the recommended next `/cc:` command.
|
|
@@ -10,22 +10,49 @@ Feature request: $ARGUMENTS
|
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
## Step
|
|
13
|
+
## Step 0 — CCEP Bootstrap
|
|
14
|
+
|
|
15
|
+
Command: `feature` (fixed for this workflow — do not infer from user text)
|
|
16
|
+
|
|
17
|
+
1. Run: `npx cc-codeconductor ccep parse --command feature "$ARGUMENTS" --output json`
|
|
18
|
+
2. Run: `npx cc-codeconductor ccep resolve --command feature "$ARGUMENTS" --output json`
|
|
19
|
+
3. Run: `npx cc-codeconductor ccep profile feature --output json`
|
|
20
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command feature --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
21
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
22
|
+
Canonical delivery order is test-before-implement whenever both phases apply.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Step 1 — Wayfinding (repo-explorer)
|
|
27
|
+
|
|
28
|
+
If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"` (and
|
|
29
|
+
`graphify path` / `graphify explain` when needed). Then invoke `repo-explorer`
|
|
30
|
+
to map modules, conventions, and impact radius. Do not write code in this step.
|
|
31
|
+
Record a Repo Map artifact before intake.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Step 2 — Task Card validation (Task Coach role)
|
|
14
36
|
|
|
15
37
|
Adopt the **Task Coach** role as defined in `CLAUDE.md`.
|
|
16
38
|
|
|
17
39
|
Produce a complete Task Card. The Task Card is ready when it contains: title,
|
|
18
|
-
type, risk classification, scope, context, acceptance criteria, and
|
|
40
|
+
type, risk classification, scope, context, acceptance criteria, and
|
|
41
|
+
constraints, and every assumption behind it has survived one grilling
|
|
42
|
+
question (Grilling protocol).
|
|
19
43
|
|
|
20
44
|
If any field is missing or ambiguous, ask one clarifying question at a time and
|
|
21
45
|
wait for the answer. Do not proceed with an incomplete Task Card.
|
|
22
46
|
|
|
23
|
-
**STOP here
|
|
24
|
-
|
|
47
|
+
**STOP here.** Unresolved grilling questions or missing fields populate
|
|
48
|
+
`questionsForUser` in the CCEP-1 `planner-output`; the `ConfirmationGate`
|
|
49
|
+
(`ccep evaluate`) reads that field and halts the workflow until a human
|
|
50
|
+
answers. Show the completed Task Card and wait for that confirmation before
|
|
51
|
+
continuing.
|
|
25
52
|
|
|
26
53
|
---
|
|
27
54
|
|
|
28
|
-
## Step
|
|
55
|
+
## Step 3 — Technical Plan (Architect role)
|
|
29
56
|
|
|
30
57
|
Adopt the **Architect** role as defined in `CLAUDE.md`.
|
|
31
58
|
|
|
@@ -43,7 +70,20 @@ not proceed to implementation until the plan is approved.**
|
|
|
43
70
|
|
|
44
71
|
---
|
|
45
72
|
|
|
46
|
-
## Step
|
|
73
|
+
## Step 4 — Test coverage (Tester role)
|
|
74
|
+
|
|
75
|
+
Adopt the **Tester** role as defined in `CLAUDE.md`.
|
|
76
|
+
|
|
77
|
+
Use the Implementation Summary and the Task Card.
|
|
78
|
+
|
|
79
|
+
1. Write or extend failing tests for the new behavior before implementation (RED).
|
|
80
|
+
2. Ensure all acceptance criteria from the Task Card have at least one test.
|
|
81
|
+
3. Run the full test suite and confirm it passes.
|
|
82
|
+
4. Produce a Test Report: test files added or modified, cases covered.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Step 5 — Implementation (Implementer role)
|
|
47
87
|
|
|
48
88
|
Adopt the **Implementer** role as defined in `CLAUDE.md`.
|
|
49
89
|
|
|
@@ -52,26 +92,13 @@ Implementer creates a Git Worktree before touching any file; all edits happen in
|
|
|
52
92
|
|
|
53
93
|
1. Read the Technical Plan before touching any file.
|
|
54
94
|
2. Apply the minimal diff — only what the plan specifies.
|
|
55
|
-
3. Run the project test suite
|
|
95
|
+
3. Run the project test suite and make the previously written failing tests pass.
|
|
56
96
|
4. Produce an Implementation Summary: what changed, which files, how to verify
|
|
57
97
|
locally.
|
|
58
98
|
|
|
59
99
|
---
|
|
60
100
|
|
|
61
|
-
## Step
|
|
62
|
-
|
|
63
|
-
Adopt the **Tester** role as defined in `CLAUDE.md`.
|
|
64
|
-
|
|
65
|
-
Use the Implementation Summary and the Task Card.
|
|
66
|
-
|
|
67
|
-
1. Write or extend tests to cover the new behavior.
|
|
68
|
-
2. Ensure all acceptance criteria from the Task Card have at least one test.
|
|
69
|
-
3. Run the full test suite and confirm it passes.
|
|
70
|
-
4. Produce a Test Report: test files added or modified, cases covered.
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## Step 5 — Code review (Reviewer role)
|
|
101
|
+
## Step 6 — Code review (Reviewer role)
|
|
75
102
|
|
|
76
103
|
Adopt the **Reviewer** role as defined in `CLAUDE.md`.
|
|
77
104
|
|
|
@@ -85,7 +112,7 @@ they are resolved and the diff is re-reviewed.
|
|
|
85
112
|
|
|
86
113
|
---
|
|
87
114
|
|
|
88
|
-
## Step
|
|
115
|
+
## Step 7 — Documentation (Docs role)
|
|
89
116
|
|
|
90
117
|
Adopt the **Docs** role as defined in `CLAUDE.md`.
|
|
91
118
|
|
|
@@ -18,7 +18,29 @@ Provide the following information in $ARGUMENTS:
|
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
## Step
|
|
21
|
+
## Step 0 — CCEP Bootstrap
|
|
22
|
+
|
|
23
|
+
Command: `fix` (fixed for this workflow — do not infer from user text)
|
|
24
|
+
|
|
25
|
+
1. Run: `npx cc-codeconductor ccep parse --command fix "$ARGUMENTS" --output json`
|
|
26
|
+
2. Run: `npx cc-codeconductor ccep resolve --command fix "$ARGUMENTS" --output json`
|
|
27
|
+
3. Run: `npx cc-codeconductor ccep profile fix --output json`
|
|
28
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command fix --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
29
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
30
|
+
Canonical delivery order is test-before-implement whenever both phases apply.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Step 1 — Wayfinding (repo-explorer)
|
|
35
|
+
|
|
36
|
+
If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"` (and
|
|
37
|
+
`graphify path` / `graphify explain` when needed). Then invoke `repo-explorer`
|
|
38
|
+
to map modules, conventions, and impact radius. Do not write code in this step.
|
|
39
|
+
Record a Repo Map artifact before intake.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Step 2 — Task Card validation (Task Coach role)
|
|
22
44
|
|
|
23
45
|
Adopt the **Task Coach** role as defined in `CLAUDE.md`.
|
|
24
46
|
|
|
@@ -32,11 +54,43 @@ Produce a Task Card that includes:
|
|
|
32
54
|
If reproduction steps are missing, ask for them before classifying risk. A bug
|
|
33
55
|
without a reproduction path cannot be classified reliably.
|
|
34
56
|
|
|
57
|
+
Capture evidence before tests: reproduction, logs or stack traces, and one
|
|
58
|
+
falsifiable hypothesis of the root cause. Do not patch without that evidence.
|
|
59
|
+
Redact secrets, tokens, and credential dumps from logs before they enter the
|
|
60
|
+
Task Card. Summarize stack traces; do not paste env files.
|
|
61
|
+
|
|
35
62
|
**STOP here. Show the Task Card and wait for human confirmation.**
|
|
36
63
|
|
|
37
64
|
---
|
|
38
65
|
|
|
39
|
-
## Step 2 —
|
|
66
|
+
## Step 2.5 — Red loop gate
|
|
67
|
+
|
|
68
|
+
Before hypothesizing about the root cause, produce a reproduction command:
|
|
69
|
+
one deterministic, tight command that exercises the real bug path and asserts
|
|
70
|
+
the exact symptom the user reported (not a proxy or a related error).
|
|
71
|
+
|
|
72
|
+
Requirements:
|
|
73
|
+
|
|
74
|
+
- The command must be **deterministic** — running it twice produces the same
|
|
75
|
+
result.
|
|
76
|
+
- The command's assertion must match the exact user-reported symptom (actual
|
|
77
|
+
vs. expected from the Task Card), not a generic failure.
|
|
78
|
+
- Run it at least once before continuing. Do not proceed to Step 3 until you
|
|
79
|
+
have run it and it reproduces the bug (RED).
|
|
80
|
+
|
|
81
|
+
Record the run as evidence so `cc verify` can see it: write a JSON file to
|
|
82
|
+
`.codeconductor/evidence/` matching `EvidenceSchema` with `type: 'test'` and a
|
|
83
|
+
`data` payload shaped like `ImplementerTestsSchema` (`runner`, `result`,
|
|
84
|
+
`failedTests`), e.g. `{ "runner": "<reproduction command>", "result": "failed" }`
|
|
85
|
+
for this red run. After the fix (Step 3/4a/4b), re-run the same command and
|
|
86
|
+
update the evidence to `"result": "passed"` — `cc verify --task <id>` reads
|
|
87
|
+
this evidence directly, no code changes required.
|
|
88
|
+
|
|
89
|
+
**Do not proceed to Step 2 without a reproduction command that has been run.**
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Step 3 — Route by risk
|
|
40
94
|
|
|
41
95
|
Read the risk field from the Task Card and follow the corresponding route.
|
|
42
96
|
|
|
@@ -45,16 +99,16 @@ Read the risk field from the Task Card and follow the corresponding route.
|
|
|
45
99
|
Applies when: the bug is isolated to a single component, existing tests cover
|
|
46
100
|
the affected code, and no public API or shared state is involved.
|
|
47
101
|
|
|
48
|
-
Route: Task Coach →
|
|
102
|
+
Route: Task Coach → Tester → Implementer
|
|
49
103
|
|
|
50
|
-
Proceed directly to Step
|
|
104
|
+
Proceed directly to Step 3 (tests), then Step 4a.
|
|
51
105
|
|
|
52
106
|
### Medium or high-risk route
|
|
53
107
|
|
|
54
108
|
Applies when: the bug touches shared state, a public API, auth or payment paths,
|
|
55
109
|
database writes, or the root cause is not yet understood.
|
|
56
110
|
|
|
57
|
-
Route: Task Coach → Architect →
|
|
111
|
+
Route: Task Coach → Architect → Tester → Implementer → Reviewer
|
|
58
112
|
|
|
59
113
|
Adopt the **Architect** role before implementation. Architect must:
|
|
60
114
|
|
|
@@ -68,19 +122,30 @@ before continuing.**
|
|
|
68
122
|
|
|
69
123
|
---
|
|
70
124
|
|
|
71
|
-
## Step
|
|
125
|
+
## Step 4 — Regression tests (Tester role)
|
|
126
|
+
|
|
127
|
+
Adopt the **Tester** role as defined in `CLAUDE.md`. Apply for all risk levels.
|
|
128
|
+
|
|
129
|
+
1. Write a regression test that reproduces the original bug and confirm it fails
|
|
130
|
+
before any fix (RED).
|
|
131
|
+
2. Verify that existing tests still pass.
|
|
132
|
+
3. Produce a Test Report: test added, case covered.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Step 5a — Implementation, low-risk (Implementer role)
|
|
72
137
|
|
|
73
138
|
Adopt the **Implementer** role as defined in `CLAUDE.md`. Use the Task Card.
|
|
74
139
|
Implementer creates a Git Worktree before touching any file; all edits happen inside it.
|
|
75
140
|
|
|
76
141
|
1. Locate the defect using the reproduction steps.
|
|
77
142
|
2. Apply the minimal fix — no unrelated changes.
|
|
78
|
-
3. Run the test
|
|
143
|
+
3. Run the suite and make the RED regression test pass.
|
|
79
144
|
4. Produce an Implementation Summary: root cause, fix applied, files changed.
|
|
80
145
|
|
|
81
146
|
---
|
|
82
147
|
|
|
83
|
-
## Step
|
|
148
|
+
## Step 5b — Implementation, medium/high-risk (Implementer role)
|
|
84
149
|
|
|
85
150
|
Adopt the **Implementer** role as defined in `CLAUDE.md`. Use the approved
|
|
86
151
|
Technical Plan and the Task Card.
|
|
@@ -91,18 +156,7 @@ After implementation, run the full test suite.
|
|
|
91
156
|
|
|
92
157
|
---
|
|
93
158
|
|
|
94
|
-
## Step
|
|
95
|
-
|
|
96
|
-
Adopt the **Tester** role as defined in `CLAUDE.md`. Apply for all risk levels.
|
|
97
|
-
|
|
98
|
-
1. Write a regression test that reproduces the original bug (fails before the
|
|
99
|
-
fix, passes after).
|
|
100
|
-
2. Verify that existing tests still pass.
|
|
101
|
-
3. Produce a Test Report: test added, case covered.
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Step 5 — Review (Reviewer role) — medium/high-risk only
|
|
159
|
+
## Step 6 — Review (Reviewer role) — medium/high-risk only
|
|
106
160
|
|
|
107
161
|
Adopt the **Reviewer** role as defined in `CLAUDE.md`. Use the diff and Task
|
|
108
162
|
Card.
|