cc-codeconductor 1.5.1 → 1.6.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/README.md +9 -9
- package/dist/core/runner/runner-target.d.ts +4 -4
- package/dist/core/verification/rdd-receipt.d.ts +19 -0
- package/dist/core/verification/verification-runner.d.ts +16 -0
- package/dist/index.js +1377 -635
- package/dist/library.js +52 -14
- package/dist/validation/schemas.d.ts +27 -22
- package/package.json +2 -1
- package/presets/agy/skills/cc-feature/SKILL.md +17 -16
- package/presets/agy/skills/cc-fix/SKILL.md +28 -34
- package/presets/agy/skills/openspec/SKILL.md +39 -11
- package/presets/agy/workflows/cc-council.md +4 -2
- package/presets/claude/commands/cc/council.md +2 -83
- package/presets/claude/commands/cc/openspec.md +20 -1
- package/presets/claude/skills/openspec/SKILL.md +39 -11
- package/presets/codex/skills/cc-council/SKILL.md +2 -93
- package/presets/codex/skills/cc-openspec/SKILL.md +20 -1
- package/presets/codex/skills/openspec/SKILL.md +39 -11
- package/presets/cursor/commands/cc/council.md +2 -83
- package/presets/cursor/commands/cc/openspec.md +20 -1
- package/presets/cursor/skills/openspec/SKILL.md +39 -11
- package/presets/gemini/commands/cc/council.toml +2 -83
- package/presets/gemini/commands/cc/openspec.toml +20 -1
- package/presets/muse/AGENTS.md +46 -0
- package/presets/muse/hooks.json +30 -0
- package/presets/opencode/commands/cc-council.md +2 -83
- package/presets/opencode/commands/cc-openspec.md +5 -3
- package/presets/opencode/skills/openspec/SKILL.md +39 -11
- package/src/presets/manifests/muse.yml +18 -0
- package/src/presets/models/muse.yml +4 -0
- package/src/presets/models/roles.yml +14 -0
- package/src/presets/targets/muse.yml +12 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Stop prompting. Start orchestrating.**
|
|
4
4
|
|
|
5
|
-
[](https://badge.socket.dev/npm/package/cc-codeconductor/1.6.1)
|
|
6
6
|
|
|
7
7
|
CodeConductor is an open-source framework for building structured, reproducible
|
|
8
8
|
AI-assisted software engineering workflows.
|
|
@@ -15,19 +15,19 @@ contracts, task cards, and risk-based routing.
|
|
|
15
15
|
>
|
|
16
16
|
> ## Current Scope
|
|
17
17
|
>
|
|
18
|
-
> Published package is **1.
|
|
18
|
+
> Published package is **1.6.1** (current stable line: **1.6.x**). Limitations
|
|
19
19
|
> matrix:
|
|
20
20
|
> [docs/current-status.md](docs/current-status.md). This repository:
|
|
21
21
|
> `bun run dev …` (not `npx`) while iterating.
|
|
22
22
|
>
|
|
23
|
-
> Shipped in the 1.
|
|
23
|
+
> Shipped in the 1.6.x stable line:
|
|
24
24
|
>
|
|
25
25
|
> - `npx cc-codeconductor setup --target <target> --yes` — onboarding flow
|
|
26
26
|
> - `npx cc-codeconductor init` — detects project stack, writes
|
|
27
27
|
> `.codeconductor/config.yml`, copies `council.yml` and `policy.yml` into
|
|
28
28
|
> `.codeconductor/presets/`
|
|
29
|
-
> - `npx cc-codeconductor install council --target <opencode|claude|codex|agy|all>`
|
|
30
|
-
> - `npx cc-codeconductor install preset --target <opencode|claude|codex|gemini|cursor|agy|all>`
|
|
29
|
+
> - `npx cc-codeconductor install council --target <opencode|claude|codex|gemini|cursor|agy|pi|all>`
|
|
30
|
+
> - `npx cc-codeconductor install preset --target <opencode|claude|codex|gemini|cursor|agy|pi|muse|all>`
|
|
31
31
|
> - `npx cc-codeconductor install lsp --target <…>`
|
|
32
32
|
> - `npx cc-codeconductor detect` / `status` / `version` / `doctor` / `update` /
|
|
33
33
|
> `migrate`
|
|
@@ -246,7 +246,7 @@ Details: [docs/v1.3.0-release-notes.md](docs/v1.3.0-release-notes.md) and
|
|
|
246
246
|
### Migrate from v0.5.0
|
|
247
247
|
|
|
248
248
|
```bash
|
|
249
|
-
npx cc-codeconductor install preset --target=<opencode|claude|cursor|codex|gemini|agy> --force
|
|
249
|
+
npx cc-codeconductor install preset --target=<opencode|claude|cursor|codex|gemini|agy|pi|muse> --force
|
|
250
250
|
```
|
|
251
251
|
|
|
252
252
|
---
|
|
@@ -325,14 +325,14 @@ Task Card → Risk Classification → Routing Policy → Conductor Agent → Del
|
|
|
325
325
|
|
|
326
326
|
## Supply chain
|
|
327
327
|
|
|
328
|
-
Published **1.
|
|
328
|
+
Published **1.6.1** declares two production dependencies (`package.json`
|
|
329
329
|
`dependencies`; same on
|
|
330
330
|
[npm](https://www.npmjs.com/package/cc-codeconductor)). Neither has further
|
|
331
331
|
npm transitive dependencies.
|
|
332
332
|
|
|
333
333
|
```mermaid
|
|
334
334
|
graph LR
|
|
335
|
-
cc["cc-codeconductor@1.
|
|
335
|
+
cc["cc-codeconductor@1.6.1"]
|
|
336
336
|
zod["zod@^3.23.8"]
|
|
337
337
|
yaml["yaml@^2.4.5"]
|
|
338
338
|
cc --> zod
|
|
@@ -860,7 +860,7 @@ codeconductor/
|
|
|
860
860
|
|
|
861
861
|
## Roadmap
|
|
862
862
|
|
|
863
|
-
Published package: **1.
|
|
863
|
+
Published package: **1.6.x (current stable: 1.6.1)**. Remaining gaps (sandbox, policy compiler, full
|
|
864
864
|
stack-specific asset pruning): [docs/current-status.md](docs/current-status.md).
|
|
865
865
|
Release history: [CHANGELOG.md](CHANGELOG.md).
|
|
866
866
|
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Runner target type
|
|
3
3
|
*/
|
|
4
|
-
export type RunnerTarget = 'opencode' | 'claude' | 'codex' | 'gemini' | 'cursor' | 'agy' | 'pi' | 'all';
|
|
4
|
+
export type RunnerTarget = 'opencode' | 'claude' | 'codex' | 'gemini' | 'cursor' | 'agy' | 'pi' | 'muse' | 'all';
|
|
5
5
|
/**
|
|
6
6
|
* Valid runner targets
|
|
7
7
|
*/
|
|
8
|
-
export declare const RUNNER_TARGETS: readonly ["opencode", "claude", "codex", "gemini", "cursor", "agy", "pi", "all"];
|
|
8
|
+
export declare const RUNNER_TARGETS: readonly ["opencode", "claude", "codex", "gemini", "cursor", "agy", "pi", "muse", "all"];
|
|
9
9
|
/**
|
|
10
10
|
* Individual runner targets (excluding 'all')
|
|
11
11
|
*/
|
|
12
|
-
export declare const INDIVIDUAL_TARGETS: readonly ["opencode", "claude", "codex", "gemini", "cursor", "agy", "pi"];
|
|
12
|
+
export declare const INDIVIDUAL_TARGETS: readonly ["opencode", "claude", "codex", "gemini", "cursor", "agy", "pi", "muse"];
|
|
13
13
|
/**
|
|
14
14
|
* A single, installable runner target — every RunnerTarget value except
|
|
15
15
|
* 'all'. The single source for the union type repeated inline across
|
|
16
16
|
* loaders/commands (manifest-loader.ts, install.command.ts, ...) — import
|
|
17
|
-
* this instead of re-listing the
|
|
17
|
+
* this instead of re-listing the 8 targets, so adding a 9th only requires
|
|
18
18
|
* updating INDIVIDUAL_TARGETS above.
|
|
19
19
|
*/
|
|
20
20
|
export type IndividualRunnerTarget = (typeof INDIVIDUAL_TARGETS)[number];
|
|
@@ -13,6 +13,14 @@ export interface RddReceipt {
|
|
|
13
13
|
readonly command?: string;
|
|
14
14
|
readonly outcome: 'passed' | 'failed';
|
|
15
15
|
readonly capturedAt: string;
|
|
16
|
+
/**
|
|
17
|
+
* Random capture binding minted by captureReceipt and registered under
|
|
18
|
+
* `.codeconductor/rdd-receipts/`. A receipt whose nonce was never
|
|
19
|
+
* registered — including hand-written JSON with correct hashes — never
|
|
20
|
+
* verifies. Optional so previously persisted shapes still parse (and then
|
|
21
|
+
* fail closed at verification).
|
|
22
|
+
*/
|
|
23
|
+
readonly nonce?: string;
|
|
16
24
|
}
|
|
17
25
|
export interface ReceiptVerification {
|
|
18
26
|
readonly valid: boolean;
|
|
@@ -37,3 +45,14 @@ export declare function captureReceipt(projectRoot: string, input: {
|
|
|
37
45
|
*/
|
|
38
46
|
export declare function collectReceiptPaths(projectRoot: string): Promise<string[]>;
|
|
39
47
|
export declare function verifyReceipt(projectRoot: string, receipt: RddReceipt): Promise<ReceiptVerification>;
|
|
48
|
+
export interface ReceiptLockVerification {
|
|
49
|
+
readonly valid: boolean;
|
|
50
|
+
readonly changedPaths: readonly string[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Re-verify a persisted receipt lock (cc-spec-mutation pattern: freeze
|
|
54
|
+
* specs+tests behind a SHA-256 lock, recompute before every gate, abort on
|
|
55
|
+
* any single-byte difference). A missing, corrupt, or non-receipt lock fails
|
|
56
|
+
* closed — it reports invalid, never valid.
|
|
57
|
+
*/
|
|
58
|
+
export declare function verifyReceiptLock(projectRoot: string, lockPath: string): Promise<ReceiptLockVerification>;
|
|
@@ -38,6 +38,22 @@ export declare function runVerification(projectRoot: string, taskId: string, goa
|
|
|
38
38
|
* unreadable evidence all block completion.
|
|
39
39
|
*/
|
|
40
40
|
export declare function gateTaskCompletion(projectRoot: string, taskId: string, evidenceRequired: string[], evidenceIds?: string[]): Promise<Result<boolean, Error>>;
|
|
41
|
+
export interface SpecTestDiffGateOptions {
|
|
42
|
+
readonly changedFiles: readonly string[];
|
|
43
|
+
/** True only when the mutation_testing HANDS_OFF protocol routed back to add the missing test. */
|
|
44
|
+
readonly handover?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface SpecTestDiffGateResult {
|
|
47
|
+
readonly passed: boolean;
|
|
48
|
+
readonly violations: readonly string[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* No specs/tests diffs except via HANDS_OFF (cc-spec-mutation Stage 3 hard
|
|
52
|
+
* rule + Stage 5 hands-off): specs/ and tests/ are read-only for
|
|
53
|
+
* implementers, and only the mutation runner routing back to the craftsman
|
|
54
|
+
* may add the missing test.
|
|
55
|
+
*/
|
|
56
|
+
export declare function gateSpecTestDiffs(options: SpecTestDiffGateOptions): SpecTestDiffGateResult;
|
|
41
57
|
export declare const TDD_EVIDENCE_SOURCE = "cc verify";
|
|
42
58
|
export declare const TDD_CAPTURED_BY = "verification-runner";
|
|
43
59
|
export interface CaptureTddSuiteOptions extends RunVerificationOptions {
|