opencode-swarm 6.81.1 → 6.82.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 +829 -0
- package/dist/adversarial-tests.test.d.ts +1 -0
- package/dist/agents/architect.d.ts +1 -1
- package/dist/cli/index.js +9 -3
- package/dist/commands/registry.d.ts +1 -1
- package/dist/config/schema.d.ts +4 -4
- package/dist/db/qa-gate-profile.d.ts +4 -1
- package/dist/index.js +409 -15
- package/dist/mutation/__tests__/generator.test.d.ts +1 -0
- package/dist/mutation/generator.d.ts +16 -0
- package/dist/tools/convene-council.d.ts +3 -3
- package/dist/tools/generate-mutants.d.ts +15 -0
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/set-qa-gates.d.ts +1 -0
- package/dist/tools/tool-names.d.ts +1 -1
- package/dist/tools/write-mutation-evidence.d.ts +34 -0
- package/dist/tools/write-mutation-evidence.test.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -31,7 +31,7 @@ export declare function buildCouncilWorkflow(council?: CouncilWorkflowConfig): s
|
|
|
31
31
|
* inline path). The dialogue is dialogue-only — persistence happens during
|
|
32
32
|
* MODE: PLAN after `save_plan` creates `plan.json`.
|
|
33
33
|
*
|
|
34
|
-
* The lead-in sentence varies per mode, but the body (
|
|
34
|
+
* The lead-in sentence varies per mode, but the body (eight gates with
|
|
35
35
|
* defaults, one-shot accept-or-customize prompt) is shared so SPECIFY,
|
|
36
36
|
* BRAINSTORM, and PLAN inline paths stay in lockstep.
|
|
37
37
|
*/
|
package/dist/cli/index.js
CHANGED
|
@@ -18687,6 +18687,7 @@ var TOOL_NAMES = [
|
|
|
18687
18687
|
"test_runner",
|
|
18688
18688
|
"test_impact",
|
|
18689
18689
|
"mutation_test",
|
|
18690
|
+
"generate_mutants",
|
|
18690
18691
|
"detect_domains",
|
|
18691
18692
|
"gitingest",
|
|
18692
18693
|
"retrieve_summary",
|
|
@@ -18698,6 +18699,7 @@ var TOOL_NAMES = [
|
|
|
18698
18699
|
"write_retro",
|
|
18699
18700
|
"write_drift_evidence",
|
|
18700
18701
|
"write_hallucination_evidence",
|
|
18702
|
+
"write_mutation_evidence",
|
|
18701
18703
|
"declare_scope",
|
|
18702
18704
|
"knowledge_query",
|
|
18703
18705
|
"doc_scan",
|
|
@@ -18777,6 +18779,8 @@ var AGENT_TOOL_MAP = {
|
|
|
18777
18779
|
"test_runner",
|
|
18778
18780
|
"test_impact",
|
|
18779
18781
|
"mutation_test",
|
|
18782
|
+
"generate_mutants",
|
|
18783
|
+
"write_mutation_evidence",
|
|
18780
18784
|
"todo_extract",
|
|
18781
18785
|
"update_task_status",
|
|
18782
18786
|
"lint_spec",
|
|
@@ -19823,7 +19827,8 @@ var DEFAULT_QA_GATES = {
|
|
|
19823
19827
|
sme_enabled: true,
|
|
19824
19828
|
critic_pre_plan: true,
|
|
19825
19829
|
hallucination_guard: false,
|
|
19826
|
-
sast_enabled: true
|
|
19830
|
+
sast_enabled: true,
|
|
19831
|
+
mutation_test: false
|
|
19827
19832
|
};
|
|
19828
19833
|
function rowToProfile(row) {
|
|
19829
19834
|
let parsed = {};
|
|
@@ -43278,7 +43283,8 @@ var ALL_GATE_NAMES = [
|
|
|
43278
43283
|
"sme_enabled",
|
|
43279
43284
|
"critic_pre_plan",
|
|
43280
43285
|
"hallucination_guard",
|
|
43281
|
-
"sast_enabled"
|
|
43286
|
+
"sast_enabled",
|
|
43287
|
+
"mutation_test"
|
|
43282
43288
|
];
|
|
43283
43289
|
function derivePlanId(plan) {
|
|
43284
43290
|
return `${plan.swarm}-${plan.title}`.replace(/[^a-zA-Z0-9-_]/g, "_");
|
|
@@ -44801,7 +44807,7 @@ var COMMAND_REGISTRY = {
|
|
|
44801
44807
|
handler: (ctx) => handleQaGatesCommand(ctx.directory, ctx.args, ctx.sessionID),
|
|
44802
44808
|
description: "View or modify QA gate profile for the current plan [enable|override <gate>...]",
|
|
44803
44809
|
args: "[show|enable|override] <gate>...",
|
|
44804
|
-
details: "show: display spec-level, session-override, and effective QA gates for the current plan. enable: persist gate(s) into the locked-once profile (architect; rejected after critic approval lock). override: session-only ratchet-tighter enable. Valid gates: reviewer, test_engineer, council_mode, sme_enabled, critic_pre_plan, hallucination_guard, sast_enabled."
|
|
44810
|
+
details: "show: display spec-level, session-override, and effective QA gates for the current plan. enable: persist gate(s) into the locked-once profile (architect; rejected after critic approval lock). override: session-only ratchet-tighter enable. Valid gates: reviewer, test_engineer, council_mode, sme_enabled, critic_pre_plan, hallucination_guard, sast_enabled, mutation_test."
|
|
44805
44811
|
},
|
|
44806
44812
|
promote: {
|
|
44807
44813
|
handler: (ctx) => handlePromoteCommand(ctx.directory, ctx.args),
|
|
@@ -160,7 +160,7 @@ export declare const COMMAND_REGISTRY: {
|
|
|
160
160
|
readonly handler: (ctx: CommandContext) => Promise<string>;
|
|
161
161
|
readonly description: "View or modify QA gate profile for the current plan [enable|override <gate>...]";
|
|
162
162
|
readonly args: "[show|enable|override] <gate>...";
|
|
163
|
-
readonly details: "show: display spec-level, session-override, and effective QA gates for the current plan. enable: persist gate(s) into the locked-once profile (architect; rejected after critic approval lock). override: session-only ratchet-tighter enable. Valid gates: reviewer, test_engineer, council_mode, sme_enabled, critic_pre_plan, hallucination_guard, sast_enabled.";
|
|
163
|
+
readonly details: "show: display spec-level, session-override, and effective QA gates for the current plan. enable: persist gate(s) into the locked-once profile (architect; rejected after critic approval lock). override: session-only ratchet-tighter enable. Valid gates: reviewer, test_engineer, council_mode, sme_enabled, critic_pre_plan, hallucination_guard, sast_enabled, mutation_test.";
|
|
164
164
|
};
|
|
165
165
|
readonly promote: {
|
|
166
166
|
readonly handler: (ctx: CommandContext) => Promise<string>;
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -203,8 +203,8 @@ export declare const PhaseCompleteConfigSchema: z.ZodObject<{
|
|
|
203
203
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
204
204
|
required_agents: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
205
205
|
reviewer: "reviewer";
|
|
206
|
-
test_engineer: "test_engineer";
|
|
207
206
|
coder: "coder";
|
|
207
|
+
test_engineer: "test_engineer";
|
|
208
208
|
}>>>;
|
|
209
209
|
require_docs: z.ZodDefault<z.ZodBoolean>;
|
|
210
210
|
policy: z.ZodDefault<z.ZodEnum<{
|
|
@@ -233,8 +233,8 @@ export type ReviewPassesConfig = z.infer<typeof ReviewPassesConfigSchema>;
|
|
|
233
233
|
export declare const AdversarialDetectionConfigSchema: z.ZodObject<{
|
|
234
234
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
235
235
|
policy: z.ZodDefault<z.ZodEnum<{
|
|
236
|
-
gate: "gate";
|
|
237
236
|
warn: "warn";
|
|
237
|
+
gate: "gate";
|
|
238
238
|
ignore: "ignore";
|
|
239
239
|
}>>;
|
|
240
240
|
pairs: z.ZodDefault<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodString], null>>>;
|
|
@@ -575,8 +575,8 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
575
575
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
576
576
|
required_agents: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
577
577
|
reviewer: "reviewer";
|
|
578
|
-
test_engineer: "test_engineer";
|
|
579
578
|
coder: "coder";
|
|
579
|
+
test_engineer: "test_engineer";
|
|
580
580
|
}>>>;
|
|
581
581
|
require_docs: z.ZodDefault<z.ZodBoolean>;
|
|
582
582
|
policy: z.ZodDefault<z.ZodEnum<{
|
|
@@ -760,8 +760,8 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
760
760
|
adversarial_detection: z.ZodOptional<z.ZodObject<{
|
|
761
761
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
762
762
|
policy: z.ZodDefault<z.ZodEnum<{
|
|
763
|
-
gate: "gate";
|
|
764
763
|
warn: "warn";
|
|
764
|
+
gate: "gate";
|
|
765
765
|
ignore: "ignore";
|
|
766
766
|
}>>;
|
|
767
767
|
pairs: z.ZodDefault<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodString], null>>>;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Sessions can only ratchet gates tighter (enable more), never disable them.
|
|
8
8
|
*/
|
|
9
9
|
/**
|
|
10
|
-
* QA gate flags. All
|
|
10
|
+
* QA gate flags. All eight gates are tracked explicitly.
|
|
11
11
|
*/
|
|
12
12
|
export interface QaGates {
|
|
13
13
|
reviewer: boolean;
|
|
@@ -17,6 +17,7 @@ export interface QaGates {
|
|
|
17
17
|
critic_pre_plan: boolean;
|
|
18
18
|
hallucination_guard: boolean;
|
|
19
19
|
sast_enabled: boolean;
|
|
20
|
+
mutation_test: boolean;
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
23
|
* Default QA gate configuration for newly-created profiles.
|
|
@@ -89,6 +90,8 @@ export declare function computeProfileHash(profile: QaGateProfile): string;
|
|
|
89
90
|
* - sast_enabled — consumed inside pre_check_batch tool.
|
|
90
91
|
* - hallucination_guard — src/tools/phase-complete.ts Gate 3 (blocks phase_complete
|
|
91
92
|
* until .swarm/evidence/{phase}/hallucination-guard.json has APPROVED verdict).
|
|
93
|
+
* - mutation_test — src/tools/phase-complete.ts Gate 4 (blocks phase_complete
|
|
94
|
+
* until .swarm/evidence/{phase}/mutation-gate.json has pass verdict; warn does not block)
|
|
92
95
|
*
|
|
93
96
|
* Session overrides are intentionally ephemeral — they live only in
|
|
94
97
|
* in-memory `AgentSessionState.qaGateSessionOverrides` and are NOT
|