opencode-swarm 7.164.3 → 7.164.5
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/dist/cli/{coder-settlement-m918n7qj.js → coder-settlement-x9wbqx46.js} +11 -11
- package/dist/cli/{config-doctor-5kytbwbx.js → config-doctor-axd9d6hs.js} +2 -2
- package/dist/cli/{core-anw5khk2.js → core-f1a1fk13.js} +1 -1
- package/dist/cli/{curation-policy-7pnmnfct.js → curation-policy-2cy7wejw.js} +6 -6
- package/dist/cli/{curator-yq6raqgs.js → curator-b104f7a7.js} +34 -34
- package/dist/cli/{curator-drift-ykrdf08r.js → curator-drift-3s3q4wsy.js} +4 -4
- package/dist/cli/curator-llm-factory-cv7ft0mb.js +66 -0
- package/dist/cli/{evidence-summary-service-8sbxvt2x.js → evidence-summary-service-5xsjs3x3.js} +15 -15
- package/dist/cli/{gate-evidence-53v7e938.js → gate-evidence-ypja4156.js} +7 -7
- package/dist/cli/guardrail-explain-cvha7b9p.js +67 -0
- package/dist/cli/{guardrail-log-q5sj7zby.js → guardrail-log-6t4e2j5f.js} +7 -7
- package/dist/cli/{guardrail-reset-dw45p5zc.js → guardrail-reset-es0bg976.js} +34 -34
- package/dist/cli/{hive-promoter-0axzw0h5.js → hive-promoter-yzv5g7jy.js} +34 -34
- package/dist/cli/{index-95hhrw1d.js → index-0trtcm9n.js} +9 -9
- package/dist/cli/{index-hcn69kp0.js → index-0zbze3n6.js} +1 -1
- package/dist/cli/{index-ac39znep.js → index-164m995b.js} +2 -2
- package/dist/cli/{index-bzd67m2j.js → index-1dz8hv7p.js} +4 -4
- package/dist/cli/{index-y2f5s2cf.js → index-1f4nandk.js} +1 -1
- package/dist/cli/{index-aty2dfmt.js → index-1q2dwv69.js} +1 -1
- package/dist/cli/{index-2xj34nkh.js → index-25jze7sf.js} +1 -1
- package/dist/cli/{index-5d7bzpfn.js → index-25z5qwkk.js} +1 -1
- package/dist/cli/{index-ehf0vjhx.js → index-3gb7bw7h.js} +88 -77
- package/dist/cli/{index-11st3tgy.js → index-3rrc5x4v.js} +2 -2
- package/dist/cli/{index-zs1jrsta.js → index-4emx8hhh.js} +2 -2
- package/dist/cli/{index-j98116cx.js → index-4jmtdtm9.js} +2 -2
- package/dist/cli/{index-w5jpjaqe.js → index-4krjn1gn.js} +2 -2
- package/dist/cli/{index-0145kpjr.js → index-50s9q4c1.js} +2 -2
- package/dist/cli/{index-4wneygfx.js → index-553veay1.js} +75 -23
- package/dist/cli/{index-88g6q52x.js → index-7rat6nyh.js} +4 -4
- package/dist/cli/{index-sn2vm710.js → index-8h9nng7f.js} +5 -5
- package/dist/cli/{index-xkqja15t.js → index-aaqbhn9h.js} +2 -2
- package/dist/cli/{index-5pxdtskj.js → index-aper29nf.js} +1 -1
- package/dist/cli/{index-8t11vcf5.js → index-ea7sehgy.js} +3 -3
- package/dist/cli/{index-kyayzfxp.js → index-er8ba9be.js} +4 -4
- package/dist/cli/{index-9pwa798m.js → index-fwebva1m.js} +7 -7
- package/dist/cli/{index-yep24wn4.js → index-fxxja498.js} +1 -1
- package/dist/cli/{index-sb4eanpv.js → index-hnjkpk57.js} +1 -1
- package/dist/cli/{index-kn0y788q.js → index-j9a4fsxg.js} +1 -1
- package/dist/cli/{index-493mxwj5.js → index-maxz22c1.js} +21 -21
- package/dist/cli/{index-0e34njnm.js → index-q0gtgwyr.js} +7 -7
- package/dist/cli/{index-fc153g7b.js → index-rc6hec4j.js} +4 -4
- package/dist/cli/{index-v56mhyhs.js → index-rz87mx1c.js} +1 -1
- package/dist/cli/{index-rhdwrfgc.js → index-s09b63xg.js} +5 -5
- package/dist/cli/{index-aaqzcnb9.js → index-ssb67ff6.js} +36 -36
- package/dist/cli/{index-f9nfknjg.js → index-tfa2p4y4.js} +3 -3
- package/dist/cli/{index-jwc2v92w.js → index-wbnyc50b.js} +5 -5
- package/dist/cli/{index-qbr05tbw.js → index-xj4kbtdw.js} +2 -2
- package/dist/cli/{index-yhpbcrdk.js → index-xm7dc14y.js} +13 -13
- package/dist/cli/{index-c8k4cs94.js → index-y42pra05.js} +5 -5
- package/dist/cli/{index-84qah5h6.js → index-yrsag0vs.js} +31 -52
- package/dist/cli/{index-3fpqmms2.js → index-ywtcznk2.js} +12 -4
- package/dist/cli/index.js +34 -34
- package/dist/cli/{knowledge-escalator-atn5tfy2.js → knowledge-escalator-evjd8g7y.js} +13 -13
- package/dist/cli/{knowledge-events-58ha93tx.js → knowledge-events-q46z1wy6.js} +11 -11
- package/dist/cli/{knowledge-link-2gh1cnk3.js → knowledge-link-ffmzf72f.js} +5 -5
- package/dist/cli/{knowledge-store-2vkn4qyy.js → knowledge-store-z82f5x9k.js} +6 -6
- package/dist/cli/{knowledge-validator-gcbfq9er.js → knowledge-validator-19gbnxx2.js} +8 -8
- package/dist/cli/{pending-delegations-esp3gpac.js → pending-delegations-t4cqk5ha.js} +6 -6
- package/dist/cli/{pr-subscriptions-sdv0n59c.js → pr-subscriptions-3enjtq0k.js} +6 -6
- package/dist/cli/{pr-workflow-gate-v5wh09wz.js → pr-workflow-gate-3ecgfsge.js} +34 -34
- package/dist/cli/{runner-m95v9d47.js → runner-wqy2hbxn.js} +6 -6
- package/dist/cli/{scan-cursor-6x0sqjer.js → scan-cursor-8wcy0dvf.js} +7 -7
- package/dist/cli/{schema-mgpsycrr.js → schema-hsw9r2tm.js} +5 -1
- package/dist/cli/{scope-persistence-pwqshfyr.js → scope-persistence-mbwt4grd.js} +9 -9
- package/dist/cli/{skill-generator-bywdfza0.js → skill-generator-kg32a5jy.js} +15 -15
- package/dist/cli/{telemetry-c4j18da8.js → telemetry-j14cj552.js} +1 -1
- package/dist/cli/{worktree-collision-ownership-71x5pqfz.js → worktree-collision-ownership-0rfw6kp3.js} +7 -7
- package/dist/cli/{worktree-isolation-e6tym281.js → worktree-isolation-qcwt09ve.js} +34 -34
- package/dist/config/index.d.ts +3 -3
- package/dist/config/loader.d.ts +34 -1
- package/dist/config/plan-schema.d.ts +1 -1
- package/dist/config/schema.d.ts +61 -7
- package/dist/council/council-review-identity.d.ts +1 -1
- package/dist/index.js +69 -69
- package/dist/plan/ledger.d.ts +56 -29
- package/dist/services/skill-optimizer/store.d.ts +1 -1
- package/dist/tools/build-check.d.ts +8 -0
- package/dist/tools/placeholder-scan.d.ts +10 -1
- package/dist/tools/pre-check-batch.d.ts +20 -8
- package/dist/tools/quality-budget.d.ts +2 -0
- package/dist/tools/sast-scan.d.ts +10 -2
- package/dist/tools/sbom-generate.d.ts +14 -0
- package/dist/tools/syntax-check.d.ts +11 -3
- package/package.json +1 -1
- package/dist/cli/curator-llm-factory-6swjnnb1.js +0 -66
- package/dist/cli/guardrail-explain-jhsqdzxr.js +0 -67
|
@@ -21,64 +21,64 @@ import {
|
|
|
21
21
|
sanitizeWorktreeTaskId,
|
|
22
22
|
standardWorktreeByCallID,
|
|
23
23
|
standardWorktreeSerializationSessions
|
|
24
|
-
} from "./index-
|
|
25
|
-
import"./index-
|
|
26
|
-
import"./index-
|
|
27
|
-
import"./index-
|
|
28
|
-
import"./index-
|
|
29
|
-
import"./index-
|
|
24
|
+
} from "./index-3gb7bw7h.js";
|
|
25
|
+
import"./index-25jze7sf.js";
|
|
26
|
+
import"./index-ea7sehgy.js";
|
|
27
|
+
import"./index-1q2dwv69.js";
|
|
28
|
+
import"./index-maxz22c1.js";
|
|
29
|
+
import"./index-4krjn1gn.js";
|
|
30
30
|
import"./index-txdagbh7.js";
|
|
31
31
|
import"./index-3146wmgv.js";
|
|
32
|
-
import"./index-
|
|
33
|
-
import"./index-
|
|
34
|
-
import"./index-
|
|
32
|
+
import"./index-7rat6nyh.js";
|
|
33
|
+
import"./index-s09b63xg.js";
|
|
34
|
+
import"./index-aaqbhn9h.js";
|
|
35
35
|
import"./index-70ha9e09.js";
|
|
36
|
-
import"./index-
|
|
37
|
-
import"./index-
|
|
36
|
+
import"./index-1f4nandk.js";
|
|
37
|
+
import"./index-0zbze3n6.js";
|
|
38
38
|
import"./index-zaab1wz9.js";
|
|
39
|
-
import"./index-
|
|
39
|
+
import"./index-y42pra05.js";
|
|
40
40
|
import"./index-zsrtt42s.js";
|
|
41
|
-
import"./index-
|
|
41
|
+
import"./index-fwebva1m.js";
|
|
42
42
|
import"./index-3f7hqtgg.js";
|
|
43
|
-
import"./index-
|
|
44
|
-
import"./index-
|
|
45
|
-
import"./index-
|
|
43
|
+
import"./index-xj4kbtdw.js";
|
|
44
|
+
import"./index-rc6hec4j.js";
|
|
45
|
+
import"./index-hnjkpk57.js";
|
|
46
46
|
import"./index-rtry5xyf.js";
|
|
47
|
-
import"./index-
|
|
48
|
-
import"./index-
|
|
49
|
-
import"./index-
|
|
47
|
+
import"./index-wbnyc50b.js";
|
|
48
|
+
import"./index-j9a4fsxg.js";
|
|
49
|
+
import"./index-er8ba9be.js";
|
|
50
50
|
import"./index-ddszzne4.js";
|
|
51
|
-
import"./index-
|
|
52
|
-
import"./index-
|
|
53
|
-
import"./index-
|
|
51
|
+
import"./index-8h9nng7f.js";
|
|
52
|
+
import"./index-xm7dc14y.js";
|
|
53
|
+
import"./index-50s9q4c1.js";
|
|
54
54
|
import"./index-556ja8an.js";
|
|
55
55
|
import"./index-4fwbbad3.js";
|
|
56
56
|
import"./index-b43rt5ph.js";
|
|
57
57
|
import"./index-q7sjgr1y.js";
|
|
58
|
-
import"./index-
|
|
59
|
-
import"./index-
|
|
58
|
+
import"./index-q0gtgwyr.js";
|
|
59
|
+
import"./index-0trtcm9n.js";
|
|
60
60
|
import {
|
|
61
61
|
resolveWorktreeIsolationConfig
|
|
62
|
-
} from "./index-
|
|
62
|
+
} from "./index-4jmtdtm9.js";
|
|
63
63
|
import"./index-zg9d392c.js";
|
|
64
64
|
import"./index-n832052r.js";
|
|
65
|
-
import"./index-
|
|
65
|
+
import"./index-rz87mx1c.js";
|
|
66
66
|
import"./index-z6xqpmqg.js";
|
|
67
67
|
import"./index-r3mvsbtq.js";
|
|
68
|
-
import"./index-
|
|
69
|
-
import"./index-
|
|
68
|
+
import"./index-553veay1.js";
|
|
69
|
+
import"./index-yrsag0vs.js";
|
|
70
70
|
import"./index-9e6fdz2h.js";
|
|
71
71
|
import"./index-4rhhvd1a.js";
|
|
72
|
-
import"./index-
|
|
72
|
+
import"./index-164m995b.js";
|
|
73
73
|
import"./index-m1nrd3yd.js";
|
|
74
74
|
import"./index-zjygnfay.js";
|
|
75
75
|
import"./index-ae75rja9.js";
|
|
76
|
-
import"./index-
|
|
77
|
-
import"./index-
|
|
76
|
+
import"./index-25z5qwkk.js";
|
|
77
|
+
import"./index-4emx8hhh.js";
|
|
78
78
|
import"./index-bk5tah7q.js";
|
|
79
|
-
import"./index-
|
|
80
|
-
import"./index-
|
|
81
|
-
import"./index-
|
|
79
|
+
import"./index-fxxja498.js";
|
|
80
|
+
import"./index-tfa2p4y4.js";
|
|
81
|
+
import"./index-1dz8hv7p.js";
|
|
82
82
|
import"./index-7g4c7s5r.js";
|
|
83
83
|
import"./index-bpmtbmy9.js";
|
|
84
84
|
import"./index-zgwm4ryv.js";
|
package/dist/config/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { ALL_AGENT_NAMES, ALL_SUBAGENT_NAMES, DEFAULT_MODELS, isQAAgent, isSubag
|
|
|
3
3
|
export type { ApprovalEvidence, BaseEvidence, DiffEvidence, Evidence, EvidenceBundle, EvidenceType, EvidenceVerdict, NoteEvidence, ReviewEvidence, TestEvidence, } from './evidence-schema';
|
|
4
4
|
export { ApprovalEvidenceSchema, BaseEvidenceSchema, DiffEvidenceSchema, EVIDENCE_MAX_JSON_BYTES, EVIDENCE_MAX_PATCH_BYTES, EVIDENCE_MAX_TASK_BYTES, EvidenceBundleSchema, EvidenceSchema, EvidenceTypeSchema, EvidenceVerdictSchema, NoteEvidenceSchema, ReviewEvidenceSchema, TestEvidenceSchema, } from './evidence-schema';
|
|
5
5
|
export type { ConfigBuildResult, ConfigLoadResult, ConfigRecovery, } from './loader';
|
|
6
|
-
export { getSafeDefaultConfigLoadResult, loadAgentPrompt, loadPluginConfig, loadPluginConfigWithMeta, loadPluginConfigWithMetaAsync, } from './loader';
|
|
6
|
+
export { getSafeDefaultConfigLoadResult, loadAgentPrompt, loadGateOverrides, loadPluginConfig, loadPluginConfigWithMeta, loadPluginConfigWithMetaAsync, resetConfigAdvisoryDedup, } from './loader';
|
|
7
7
|
import { loadPluginConfigWithMeta } from './loader';
|
|
8
8
|
/**
|
|
9
9
|
* Test-only dependency-injection seam — see `gitignore-warning.ts:_internals`
|
|
@@ -19,8 +19,8 @@ export declare const _internals: {
|
|
|
19
19
|
};
|
|
20
20
|
export type { ExecutionProfile, MigrationStatus, Phase, PhaseStatus, Plan, Task, TaskSize, TaskStatus, } from './plan-schema';
|
|
21
21
|
export { ExecutionProfileSchema, MigrationStatusSchema, PhaseSchema, PhaseStatusSchema, PlanSchema, TaskSchema, TaskSizeSchema, TaskStatusSchema, } from './plan-schema';
|
|
22
|
-
export type { AgentOverrideConfig, ApplyPatchConfig, AutomationCapabilities, AutomationConfig, AutomationMode, AutoReviewBurnInDecision, AutoReviewConfig, AutoReviewReleaseContext, LeanTurboConfig, MemoryConfig, ModelPricingConfig, PhaseCompleteConfig, PipelineConfig, PluginConfig, PricingConfig, RepoGraphConfig, SkillPropagationConfig, SwarmConfig, TurboConfig, WorktreeIsolationConfig, } from './schema';
|
|
23
|
-
export { AgentOverrideConfigSchema, ApplyPatchConfigSchema, AUTO_REVIEW_V8_BURN_IN_DECISION, AutomationCapabilitiesSchema, AutomationConfigSchema, AutomationModeSchema, AutoReviewConfigSchema, LeanTurboConfigSchema, MemoryConfigSchema, ModelPricingConfigSchema, PhaseCompleteConfigSchema, PipelineConfigSchema, PluginConfigSchema, PricingConfigSchema, RepoGraphConfigSchema, resolveAutoReviewConfig, SkillPropagationConfigSchema, SwarmConfigSchema, TurboConfigSchema, WorktreeIsolationConfigSchema, } from './schema';
|
|
22
|
+
export type { AgentOverrideConfig, ApplyPatchConfig, AutomationCapabilities, AutomationConfig, AutomationMode, AutoReviewBurnInDecision, AutoReviewConfig, AutoReviewReleaseContext, GateConfig, GateConfigOverrides, GateSectionName, LeanTurboConfig, MemoryConfig, ModelPricingConfig, PhaseCompleteConfig, PipelineConfig, PluginConfig, PricingConfig, RepoGraphConfig, SkillPropagationConfig, SwarmConfig, TurboConfig, WorktreeIsolationConfig, } from './schema';
|
|
23
|
+
export { AgentOverrideConfigSchema, ApplyPatchConfigSchema, AUTO_REVIEW_V8_BURN_IN_DECISION, AutomationCapabilitiesSchema, AutomationConfigSchema, AutomationModeSchema, AutoReviewConfigSchema, GATE_CONFIG_READERS, GATE_SECTION_SCHEMAS, LeanTurboConfigSchema, MemoryConfigSchema, ModelPricingConfigSchema, PhaseCompleteConfigSchema, PipelineConfigSchema, PluginConfigSchema, PricingConfigSchema, RepoGraphConfigSchema, resolveAutoReviewConfig, SkillPropagationConfigSchema, SwarmConfigSchema, TurboConfigSchema, WorktreeIsolationConfigSchema, } from './schema';
|
|
24
24
|
export type { DeltaSpec, Obligation, SpecDelta, SpecRequirement, SpecScenario, SpecSection, SwarmSpec, } from './spec-schema';
|
|
25
25
|
export { DeltaSpecSchema, ObligationSchema, SpecDeltaSchema, SpecRequirementSchema, SpecScenarioSchema, SpecSectionSchema, SwarmSpecSchema, validateSpecContent, } from './spec-schema';
|
|
26
26
|
export { resolveWorktreeIsolationConfig } from './worktree-isolation-config';
|
package/dist/config/loader.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
|
-
import { type PluginConfig } from './schema';
|
|
2
|
+
import { type GateConfigOverrides, type PluginConfig } from './schema';
|
|
3
3
|
export declare const MAX_CONFIG_FILE_BYTES = 102400;
|
|
4
4
|
export declare const _internals: {
|
|
5
5
|
resetUnknownTopLevelKeyWarning(): void;
|
|
6
|
+
resetGatesAdvisoryDedup(): void;
|
|
6
7
|
};
|
|
7
8
|
export { deepMerge, MAX_MERGE_DEPTH } from '../utils/merge';
|
|
8
9
|
/**
|
|
@@ -43,6 +44,14 @@ export type ConfigBuildResult = {
|
|
|
43
44
|
removedKeys: string[];
|
|
44
45
|
/** Human-readable summary messages about the recovery action. */
|
|
45
46
|
warnings: string[];
|
|
47
|
+
/**
|
|
48
|
+
* Post-sanitize raw `gates` section — only the keys the user actually wrote,
|
|
49
|
+
* before Zod-default materialization. Gate tools consult this via
|
|
50
|
+
* `loadGateOverrides` so schema defaults never masquerade as user intent
|
|
51
|
+
* (issue #2524). Absent when no `gates` object survived sanitization or the
|
|
52
|
+
* whole config fell back to defaults.
|
|
53
|
+
*/
|
|
54
|
+
rawGates?: Record<string, Record<string, unknown>>;
|
|
46
55
|
};
|
|
47
56
|
/**
|
|
48
57
|
* Full result from `loadPluginConfigWithMeta` and `loadPluginConfigWithMetaAsync`.
|
|
@@ -78,6 +87,30 @@ export declare function loadPluginConfig(directory: string): PluginConfig;
|
|
|
78
87
|
* exactly once, no double-read.
|
|
79
88
|
*/
|
|
80
89
|
export declare function loadPluginConfigWithMeta(directory: string): ConfigLoadResult;
|
|
90
|
+
/**
|
|
91
|
+
* Gate configuration overrides a user actually wrote (issue #2524).
|
|
92
|
+
*
|
|
93
|
+
* Returns the post-sanitize RAW `gates` section — only keys present in the
|
|
94
|
+
* user's config files, with unknown keys stripped and NO Zod-default
|
|
95
|
+
* materialization. Gate tools consult this instead of the parsed
|
|
96
|
+
* `config.gates` because zod fills every `.default()` on parse: the parsed
|
|
97
|
+
* section always carries full default lists once any `gates` object exists,
|
|
98
|
+
* and placeholder_scan (among others) would treat such a list as an explicit
|
|
99
|
+
* user customization. `undefined` here means "no gates section" — callers
|
|
100
|
+
* fall back to their in-module defaults.
|
|
101
|
+
*
|
|
102
|
+
* Fail-open: any unexpected loader failure returns `undefined` (gates run
|
|
103
|
+
* with defaults) rather than throwing into the tool boundary.
|
|
104
|
+
*/
|
|
105
|
+
export declare function loadGateOverrides(directory: string): GateConfigOverrides | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* Reset the module-level config-advisory dedup state (gates-section
|
|
108
|
+
* signatures + the unknown-top-level-key slot). Called once at session start
|
|
109
|
+
* next to `clearDeferredWarnings()` so a config problem that is fixed and
|
|
110
|
+
* later re-introduced warns again in the new session instead of staying
|
|
111
|
+
* suppressed by a signature recorded before the fix.
|
|
112
|
+
*/
|
|
113
|
+
export declare function resetConfigAdvisoryDedup(): void;
|
|
81
114
|
/**
|
|
82
115
|
* Safe-default `ConfigLoadResult` for init-path timeout / error fallback.
|
|
83
116
|
*
|
|
@@ -204,7 +204,7 @@ export type Plan = z.infer<typeof PlanSchema>;
|
|
|
204
204
|
* `PlanSchema` (see this file ~line 95 — a plain `z.object`, no `.passthrough()`,
|
|
205
205
|
* so Zod strips unknown keys), so `savePlan`'s `JSON.stringify(PlanSchema.parse(...))`
|
|
206
206
|
* can never write these to .swarm/plan.json. It is also excluded from plan hashing:
|
|
207
|
-
* both `
|
|
207
|
+
* both `computePlanLedgerHash` (src/plan/ledger.ts) and `computePlanContentHash`
|
|
208
208
|
* (src/plan/manager.ts) hash an explicit allow-list of fields, never the whole
|
|
209
209
|
* object. Because of this, AGENTS.md invariant-5's "six places" (ledger replay,
|
|
210
210
|
* projection, checkpoint import/export, get_approved_plan, tests, docs) do NOT
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -322,14 +322,44 @@ export declare const QualityBudgetConfigSchema: z.ZodObject<{
|
|
|
322
322
|
exclude_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
323
323
|
}, z.core.$strip>;
|
|
324
324
|
export type QualityBudgetConfig = z.infer<typeof QualityBudgetConfigSchema>;
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
325
|
+
/**
|
|
326
|
+
* Single source of truth for gate sections (issue #2524): `GateConfigSchema` is
|
|
327
|
+
* built from this map and `GATE_CONFIG_KNOWN_SECTION_KEYS` is derived from it,
|
|
328
|
+
* so the loader's strip registry can never drift from the schema. The previous
|
|
329
|
+
* hand-maintained copy omitted `placeholder_scan.sentinel_allowlist`, which
|
|
330
|
+
* made the loader strip a real schema key as "unknown".
|
|
331
|
+
*/
|
|
332
|
+
export declare const GATE_SECTION_SCHEMAS: {
|
|
333
|
+
readonly syntax_check: z.ZodObject<{
|
|
334
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
335
|
+
}, z.core.$strip>;
|
|
336
|
+
readonly placeholder_scan: z.ZodObject<{
|
|
337
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
338
|
+
deny_patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
339
|
+
allow_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
340
|
+
max_allowed_findings: z.ZodDefault<z.ZodNumber>;
|
|
341
|
+
sentinel_allowlist: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
342
|
+
}, z.core.$strip>;
|
|
343
|
+
readonly sast_scan: z.ZodObject<{
|
|
344
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
345
|
+
}, z.core.$strip>;
|
|
346
|
+
readonly sbom_generate: z.ZodObject<{
|
|
347
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
348
|
+
}, z.core.$strip>;
|
|
349
|
+
readonly build_check: z.ZodObject<{
|
|
350
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
351
|
+
}, z.core.$strip>;
|
|
352
|
+
readonly quality_budget: z.ZodObject<{
|
|
353
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
354
|
+
max_complexity_delta: z.ZodDefault<z.ZodNumber>;
|
|
355
|
+
max_public_api_delta: z.ZodDefault<z.ZodNumber>;
|
|
356
|
+
max_duplication_ratio: z.ZodDefault<z.ZodNumber>;
|
|
357
|
+
min_test_to_code_ratio: z.ZodDefault<z.ZodNumber>;
|
|
358
|
+
enforce_on_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
359
|
+
exclude_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
360
|
+
}, z.core.$strip>;
|
|
332
361
|
};
|
|
362
|
+
export type GateSectionName = keyof typeof GATE_SECTION_SCHEMAS;
|
|
333
363
|
export declare const GateConfigSchema: z.ZodObject<{
|
|
334
364
|
syntax_check: z.ZodDefault<z.ZodObject<{
|
|
335
365
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -361,6 +391,30 @@ export declare const GateConfigSchema: z.ZodObject<{
|
|
|
361
391
|
}, z.core.$strip>>;
|
|
362
392
|
}, z.core.$strip>;
|
|
363
393
|
export type GateConfig = z.infer<typeof GateConfigSchema>;
|
|
394
|
+
/**
|
|
395
|
+
* Per-section field keys, derived from `GATE_SECTION_SCHEMAS`. Consumed by
|
|
396
|
+
* `sanitizeGatesConfig` (config loader) and `collectRawGatesConfigFindings`
|
|
397
|
+
* (config doctor) to decide which `gates.*` keys are recognized.
|
|
398
|
+
*/
|
|
399
|
+
export declare const GATE_CONFIG_KNOWN_SECTION_KEYS: Record<GateSectionName, readonly string[]>;
|
|
400
|
+
/**
|
|
401
|
+
* Only the gate keys a user actually wrote. Zod materializes every `.default()`
|
|
402
|
+
* on parse, so the parsed `config.gates` always carries full default lists once
|
|
403
|
+
* any `gates` object exists; tools must not mistake those for user intent
|
|
404
|
+
* (e.g. placeholder_scan treats any provided `deny_patterns` list as custom
|
|
405
|
+
* patterns and disables its built-in string/code scanning). The loader exposes
|
|
406
|
+
* the post-sanitize raw section as this shape — see `loadGateOverrides`.
|
|
407
|
+
*/
|
|
408
|
+
export type GateConfigOverrides = {
|
|
409
|
+
[K in GateSectionName]?: Partial<z.infer<(typeof GATE_SECTION_SCHEMAS)[K]>>;
|
|
410
|
+
};
|
|
411
|
+
/**
|
|
412
|
+
* Drift-check contract (issue #2524): every `GateConfigSchema` section must
|
|
413
|
+
* list the production modules that read it. `scripts/drift-check-gates-docs.ts`
|
|
414
|
+
* enforces key parity with the schema; the gates-config-wiring tests prove the
|
|
415
|
+
* wiring dynamically through the registered tool objects.
|
|
416
|
+
*/
|
|
417
|
+
export declare const GATE_CONFIG_READERS: Record<GateSectionName, readonly string[]>;
|
|
364
418
|
export declare const PipelineConfigSchema: z.ZodObject<{
|
|
365
419
|
parallel_precheck: z.ZodDefault<z.ZodBoolean>;
|
|
366
420
|
}, z.core.$strip>;
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* - `identityDigest` — sha256 over the canonical identity object; this is
|
|
21
21
|
* the round-store scope/generation key and the evidence binding.
|
|
22
22
|
*
|
|
23
|
-
* `
|
|
23
|
+
* `computePlanLedgerHash` (ledger integrity) and `computePlanStructureHash`
|
|
24
24
|
* (plan-critic execution gate) are intentionally NOT reused or modified:
|
|
25
25
|
* the first is status-sensitive by design, and the second still hashes
|
|
26
26
|
* progress-like fields (`blocked_reason`, `current_phase`) while dropping
|