peaks-loop 4.0.0-beta → 4.0.0-beta.3
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/CHANGELOG.md +105 -87
- package/README-en.md +17 -4
- package/README.md +17 -4
- package/dist/src/cli/commands/asset-commands.d.ts +45 -0
- package/dist/src/cli/commands/asset-commands.js +404 -0
- package/dist/src/cli/commands/bee-commands.d.ts +26 -0
- package/dist/src/cli/commands/bee-commands.js +169 -0
- package/dist/src/cli/commands/{solo-commands.d.ts → code-commands.d.ts} +24 -24
- package/dist/src/cli/commands/{solo-commands.js → code-commands.js} +78 -78
- package/dist/src/cli/commands/core/skill-command.js +1 -1
- package/dist/src/cli/commands/dispatch-from-dag.js +1 -1
- package/dist/src/cli/commands/evolution-commands.d.ts +27 -0
- package/dist/src/cli/commands/evolution-commands.js +393 -0
- package/dist/src/cli/commands/hook-handle.js +7 -7
- package/dist/src/cli/commands/job-commands.js +2 -2
- package/dist/src/cli/commands/loop-commands.d.ts +19 -13
- package/dist/src/cli/commands/loop-commands.js +147 -13
- package/dist/src/cli/commands/sediment-commands.js +9 -0
- package/dist/src/cli/commands/session-auto-compact-hook-command.js +2 -2
- package/dist/src/cli/commands/skill-loop-engineering-readiness-commands.d.ts +67 -0
- package/dist/src/cli/commands/skill-loop-engineering-readiness-commands.js +173 -0
- package/dist/src/cli/commands/sub-agent-shared.d.ts +1 -1
- package/dist/src/cli/commands/user-touchpoint-commands.d.ts +4 -4
- package/dist/src/cli/commands/user-touchpoint-commands.js +14 -14
- package/dist/src/cli/commands/workflow-commands.js +22 -22
- package/dist/src/cli/program.js +23 -6
- package/dist/src/services/artifacts/repair-cycle-service.js +1 -1
- package/dist/src/services/audit/enforcers/active-skill-resolver.d.ts +1 -1
- package/dist/src/services/audit/enforcers/active-skill-resolver.js +1 -1
- package/dist/src/services/audit/enforcers/{solo-code-ban.d.ts → code-ban.d.ts} +6 -6
- package/dist/src/services/audit/enforcers/{solo-code-ban.js → code-ban.js} +6 -6
- package/dist/src/services/audit/red-line-catalog.d.ts +2 -2
- package/dist/src/services/audit/red-line-catalog.js +5 -5
- package/dist/src/services/audit/types.d.ts +2 -2
- package/dist/src/services/{solo → code}/auto-compact-orchestrator.d.ts +1 -1
- package/dist/src/services/{solo → code}/auto-compact-orchestrator.js +3 -3
- package/dist/src/services/{solo → code}/dag-orchestrator.d.ts +1 -1
- package/dist/src/services/{solo → code}/dag-orchestrator.js +1 -1
- package/dist/src/services/{solo → code}/emit-handoff.d.ts +1 -1
- package/dist/src/services/{solo → code}/emit-handoff.js +1 -1
- package/dist/src/services/{solo → code}/job-shape-decision.d.ts +1 -1
- package/dist/src/services/{solo → code}/job-shape-decision.js +5 -5
- package/dist/src/services/{solo → code}/mode-gate.d.ts +9 -9
- package/dist/src/services/{solo → code}/mode-gate.js +5 -5
- package/dist/src/services/{solo → code}/post-compact-detector.d.ts +3 -3
- package/dist/src/services/{solo → code}/post-compact-detector.js +4 -4
- package/dist/src/services/{solo → code}/step-08-gate.d.ts +4 -4
- package/dist/src/services/{solo → code}/step-08-gate.js +4 -4
- package/dist/src/services/{solo → code}/user-touchpoint-classifier.d.ts +1 -1
- package/dist/src/services/{solo → code}/user-touchpoint-classifier.js +1 -1
- package/dist/src/services/context/auto-compact-dispatcher.d.ts +2 -2
- package/dist/src/services/context/auto-compact-dispatcher.js +2 -2
- package/dist/src/services/context/auto-compact-types.d.ts +1 -1
- package/dist/src/services/crystallization/crystallization-service.d.ts +239 -0
- package/dist/src/services/crystallization/crystallization-service.js +397 -0
- package/dist/src/services/crystallization/crystallization-store.d.ts +75 -0
- package/dist/src/services/crystallization/crystallization-store.js +193 -0
- package/dist/src/services/crystallization/crystallization-types.d.ts +313 -0
- package/dist/src/services/crystallization/crystallization-types.js +299 -0
- package/dist/src/services/crystallization/evidence-brief-builder.d.ts +237 -0
- package/dist/src/services/crystallization/evidence-brief-builder.js +240 -0
- package/dist/src/services/dispatch/slice-dag.d.ts +2 -2
- package/dist/src/services/dispatch/test-tool-detection.d.ts +1 -1
- package/dist/src/services/dispatch/test-tool-detection.js +1 -1
- package/dist/src/services/evolution/evolution-service.d.ts +137 -0
- package/dist/src/services/evolution/evolution-service.js +281 -0
- package/dist/src/services/evolution/evolution-store.d.ts +57 -0
- package/dist/src/services/evolution/evolution-store.js +232 -0
- package/dist/src/services/evolution/evolution-types.d.ts +706 -0
- package/dist/src/services/evolution/evolution-types.js +286 -0
- package/dist/src/services/evolution/independent-evaluator-runner.d.ts +90 -0
- package/dist/src/services/evolution/independent-evaluator-runner.js +106 -0
- package/dist/src/services/evolution/regression-skeptic-runner.d.ts +64 -0
- package/dist/src/services/evolution/regression-skeptic-runner.js +113 -0
- package/dist/src/services/feedback/feedback-promotion-service.js +2 -2
- package/dist/src/services/job/job-progress-store.d.ts +1 -1
- package/dist/src/services/job/job-progress-store.js +1 -1
- package/dist/src/services/loop/loop-bee-relation-service.d.ts +107 -0
- package/dist/src/services/loop/loop-bee-relation-service.js +211 -0
- package/dist/src/services/loop/loop-bee-relation-store.d.ts +53 -0
- package/dist/src/services/loop/loop-bee-relation-store.js +130 -0
- package/dist/src/services/loop/loop-bee-relation-types.d.ts +118 -0
- package/dist/src/services/loop/loop-bee-relation-types.js +114 -0
- package/dist/src/services/loop/loop-release-service.d.ts +46 -0
- package/dist/src/services/loop/loop-release-service.js +66 -0
- package/dist/src/services/loop/loop-release-store.d.ts +55 -0
- package/dist/src/services/loop/loop-release-store.js +134 -0
- package/dist/src/services/loop/loop-release-types.d.ts +250 -0
- package/dist/src/services/loop/loop-release-types.js +162 -0
- package/dist/src/services/preferences/preferences-service.d.ts +1 -1
- package/dist/src/services/preferences/preferences-types.d.ts +1 -1
- package/dist/src/services/rd/standards-diagnostic.d.ts +1 -1
- package/dist/src/services/rd/standards-diagnostic.js +2 -2
- package/dist/src/services/recommendations/capability-seed-items.js +1 -1
- package/dist/src/services/recommendations/capability-seed-mappings.js +1 -1
- package/dist/src/services/recommendations/recommendation-service.js +1 -1
- package/dist/src/services/refactor/refactor-service.d.ts +1 -1
- package/dist/src/services/share/bundle-reader.d.ts +100 -0
- package/dist/src/services/share/bundle-reader.js +434 -0
- package/dist/src/services/share/bundle-types.d.ts +392 -0
- package/dist/src/services/share/bundle-types.js +318 -0
- package/dist/src/services/share/bundle-writer.d.ts +97 -0
- package/dist/src/services/share/bundle-writer.js +429 -0
- package/dist/src/services/share/run-state-contract.d.ts +133 -0
- package/dist/src/services/share/run-state-contract.js +138 -0
- package/dist/src/services/signal/cancel-handler.js +3 -3
- package/dist/src/services/skill/resume-detector.js +1 -1
- package/dist/src/services/skillhub/release-import.js +7 -2
- package/dist/src/services/skillhub/release-retain.js +6 -1
- package/dist/src/services/skillhub/sqlite-store.js +17 -1
- package/dist/src/services/skillhub/types.d.ts +10 -0
- package/dist/src/services/skills/skill-presence-service.d.ts +1 -1
- package/dist/src/services/standards/loop-engineering-lint.d.ts +38 -0
- package/dist/src/services/standards/loop-engineering-lint.js +101 -0
- package/dist/src/services/standards/loop-engineering-readiness-lint.d.ts +111 -0
- package/dist/src/services/standards/loop-engineering-readiness-lint.js +248 -0
- package/dist/src/services/upgrade/1x-detector-service.js +1 -1
- package/dist/src/services/workflow/pipeline-verify-service.d.ts +1 -1
- package/dist/src/services/workflow/pipeline-verify-service.js +3 -3
- package/dist/src/services/workflow/workflow-autonomous-service.d.ts +3 -3
- package/dist/src/services/workflow/workflow-autonomous-service.js +2 -2
- package/dist/src/services/workflow/workflow-router-service.d.ts +6 -6
- package/dist/src/services/workflow/workflow-router-service.js +33 -33
- package/dist/src/services/workspace/claude-settings-template.d.ts +1 -1
- package/dist/src/services/workspace/claude-settings-template.js +5 -5
- package/dist/src/shared/version.d.ts +1 -1
- package/dist/src/shared/version.js +1 -1
- package/examples/video-demo/README.md +57 -0
- package/examples/video-demo/out/en-closing-960.png +0 -0
- package/examples/video-demo/out/zh-closing-960.png +0 -0
- package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
- package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
- package/output-styles/peaks-skill-swarm.md +3 -3
- package/package.json +6 -2
- package/skills/bee/peaks-qa/SKILL.md +1 -1
- package/skills/bee/peaks-qa/references/artifact-per-request.md +3 -3
- package/skills/bee/peaks-qa/references/qa-sub-agent-dispatch.md +6 -6
- package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +1 -1
- package/skills/bee/peaks-rd/references/rd-runbook.md +1 -1
- package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +11 -11
- package/skills/bee/peaks-rd/references/rd-transition-gates.md +1 -1
- package/skills/bee/peaks-sc/SKILL.md +1 -1
- package/skills/bee/peaks-txt/SKILL.md +3 -3
- package/skills/bee/peaks-ui/SKILL.md +8 -8
- package/skills/peaks-code/SKILL.md +34 -21
- package/skills/peaks-code/references/anchoring-and-session-info.md +2 -2
- package/skills/peaks-code/references/artifact-contracts.md +1 -1
- package/skills/peaks-code/references/boundaries.md +3 -3
- package/skills/peaks-code/references/codegraph-orchestration.md +1 -1
- package/skills/peaks-code/references/dag-orchestrator.md +7 -7
- package/skills/peaks-code/references/external-references.md +2 -2
- package/skills/peaks-code/references/fanout-mandatory.md +3 -3
- package/skills/peaks-code/references/fast-mode.md +2 -2
- package/skills/peaks-code/references/frontend-only-mode.md +9 -9
- package/skills/peaks-code/references/job-loop.md +1 -1
- package/skills/peaks-code/references/local-artifact-workspace.md +2 -2
- package/skills/peaks-code/references/micro-cycle.md +14 -14
- package/skills/peaks-code/references/mode-selection-with-stale-presence.md +5 -5
- package/skills/peaks-code/references/mode-selection.md +3 -3
- package/skills/peaks-code/references/openspec-workflow.md +16 -16
- package/skills/peaks-code/references/periodic-checkpoint.md +4 -4
- package/skills/peaks-code/references/quality-gate-cheatsheet.md +1 -1
- package/skills/peaks-code/references/refactor-mode.md +1 -1
- package/skills/peaks-code/references/runbook.md +15 -15
- package/skills/peaks-code/references/step-0-55-1x-detection.md +1 -1
- package/skills/peaks-code/references/step-0-8-gate.md +11 -11
- package/skills/peaks-code/references/sub-agent-dispatch.md +8 -8
- package/skills/peaks-code/references/swarm-dispatch-contract.md +17 -17
- package/skills/peaks-code/references/workflow-gates-and-types.md +2 -2
- package/skills/peaks-code/references/workflow.md +5 -5
- package/skills/peaks-content/SKILL.md +272 -0
- package/skills/peaks-issue-fix-orchestrator/SKILL.md +307 -0
- package/skills/peaks-resume/SKILL.md +2 -2
- package/skills/peaks-status/SKILL.md +2 -2
- package/skills/peaks-test/SKILL.md +2 -2
- /package/dist/src/services/{solo → code}/batch-heartbeat-poller.d.ts +0 -0
- /package/dist/src/services/{solo → code}/batch-heartbeat-poller.js +0 -0
- /package/dist/src/services/{solo → code}/status-line-renderer.d.ts +0 -0
- /package/dist/src/services/{solo → code}/status-line-renderer.js +0 -0
|
@@ -0,0 +1,706 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* EvolutionEvaluation — spec §4.4 / §6.
|
|
4
|
+
*
|
|
5
|
+
* The Darwin-style ratchet stores one row per evolution round. The
|
|
6
|
+
* table is the durable evidence of the round; the in-memory
|
|
7
|
+
* `EvolutionProposal` is the create payload; the in-memory
|
|
8
|
+
* `EvolutionEvaluation` is the post-skeptic aggregation.
|
|
9
|
+
*
|
|
10
|
+
* Hard rules from spec §6.1 (enforced at the service layer, NOT
|
|
11
|
+
* only in the Zod schema — defense in depth):
|
|
12
|
+
*
|
|
13
|
+
* 1. Single editable asset per round (target_count === 1).
|
|
14
|
+
* 2. Single optimization dimension per round (dimensions.length === 1).
|
|
15
|
+
* 3. Independent-context evaluation (author_id !== evaluator_id).
|
|
16
|
+
* 4. Regression skeptic (skeptic_id !== evaluator_id and
|
|
17
|
+
* skeptic_id !== author_id; skeptic is a SEPARATE agent).
|
|
18
|
+
* 5. Score delta threshold (score_delta >= score_delta_min).
|
|
19
|
+
* 6. User confirmation (user_confirmation_pointer is set on `keep`).
|
|
20
|
+
* 7. No self-scored evolution (the author cannot be the scorer).
|
|
21
|
+
*
|
|
22
|
+
* Out of scope (deferred to later slices):
|
|
23
|
+
* - Crystallization event integration (M5).
|
|
24
|
+
* - Revert audit trail table (M5 / M7).
|
|
25
|
+
*/
|
|
26
|
+
export declare const EvolutionTargetKindSchema: z.ZodEnum<["loop", "bee", "policy", "gate", "evaluator"]>;
|
|
27
|
+
export type EvolutionTargetKind = z.infer<typeof EvolutionTargetKindSchema>;
|
|
28
|
+
export declare const EVOLUTION_TARGET_KINDS: readonly EvolutionTargetKind[];
|
|
29
|
+
export declare const EvolutionVerdictSchema: z.ZodEnum<["keep", "revert", "needs-user-decision"]>;
|
|
30
|
+
export type EvolutionVerdict = z.infer<typeof EvolutionVerdictSchema>;
|
|
31
|
+
export declare const EVOLUTION_VERDICTS: readonly EvolutionVerdict[];
|
|
32
|
+
/**
|
|
33
|
+
* EvolutionProposal — the create payload.
|
|
34
|
+
*
|
|
35
|
+
* `single_object` and `single_optimization_dimension` are boolean
|
|
36
|
+
* markers the LLM must declare at proposal time. The service layer
|
|
37
|
+
* rejects proposals that violate them. The `target_count` is always
|
|
38
|
+
* 1; `dimensions` is always length 1.
|
|
39
|
+
*
|
|
40
|
+
* `before_score` / `after_score` are per-dimension scores on the
|
|
41
|
+
* 0..10 scale; the proposal is rejected at `keep` time when
|
|
42
|
+
* `after_score - before_score < score_delta_min` (default 1.0).
|
|
43
|
+
*/
|
|
44
|
+
export declare const EvolutionProposalInputSchema: z.ZodObject<{
|
|
45
|
+
target_kind: z.ZodEnum<["loop", "bee", "policy", "gate", "evaluator"]>;
|
|
46
|
+
target_release_id: z.ZodString;
|
|
47
|
+
/**
|
|
48
|
+
* Single optimization dimension (AC-8). Multi-dimension proposals
|
|
49
|
+
* must be split into multiple rounds.
|
|
50
|
+
*/
|
|
51
|
+
optimization_dimension: z.ZodString;
|
|
52
|
+
before_snapshot: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
53
|
+
after_snapshot: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
54
|
+
diff: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
55
|
+
before_score: z.ZodNumber;
|
|
56
|
+
after_score: z.ZodNumber;
|
|
57
|
+
score_delta_min: z.ZodDefault<z.ZodNumber>;
|
|
58
|
+
author_id: z.ZodString;
|
|
59
|
+
/**
|
|
60
|
+
* The LLM-side marker that this proposal targets a SINGLE object
|
|
61
|
+
* (AC-8). Multi-object proposals must be split into multiple
|
|
62
|
+
* rounds. The service layer rejects proposals with
|
|
63
|
+
* `single_object !== true`.
|
|
64
|
+
*/
|
|
65
|
+
single_object: z.ZodLiteral<true>;
|
|
66
|
+
/**
|
|
67
|
+
* The LLM-side marker that this proposal targets a SINGLE
|
|
68
|
+
* optimization dimension (AC-8). The service layer rejects
|
|
69
|
+
* proposals with `single_optimization_dimension !== true`.
|
|
70
|
+
*/
|
|
71
|
+
single_optimization_dimension: z.ZodLiteral<true>;
|
|
72
|
+
rubric: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
73
|
+
red_lines: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
74
|
+
source_traces: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
75
|
+
}, "strip", z.ZodTypeAny, {
|
|
76
|
+
diff: Record<string, unknown>;
|
|
77
|
+
target_kind: "bee" | "gate" | "loop" | "evaluator" | "policy";
|
|
78
|
+
target_release_id: string;
|
|
79
|
+
optimization_dimension: string;
|
|
80
|
+
before_snapshot: Record<string, unknown>;
|
|
81
|
+
after_snapshot: Record<string, unknown>;
|
|
82
|
+
before_score: number;
|
|
83
|
+
after_score: number;
|
|
84
|
+
score_delta_min: number;
|
|
85
|
+
author_id: string;
|
|
86
|
+
single_object: true;
|
|
87
|
+
single_optimization_dimension: true;
|
|
88
|
+
rubric: Record<string, unknown>;
|
|
89
|
+
red_lines: string[];
|
|
90
|
+
source_traces: string[];
|
|
91
|
+
}, {
|
|
92
|
+
target_kind: "bee" | "gate" | "loop" | "evaluator" | "policy";
|
|
93
|
+
target_release_id: string;
|
|
94
|
+
optimization_dimension: string;
|
|
95
|
+
before_score: number;
|
|
96
|
+
after_score: number;
|
|
97
|
+
author_id: string;
|
|
98
|
+
single_object: true;
|
|
99
|
+
single_optimization_dimension: true;
|
|
100
|
+
diff?: Record<string, unknown> | undefined;
|
|
101
|
+
before_snapshot?: Record<string, unknown> | undefined;
|
|
102
|
+
after_snapshot?: Record<string, unknown> | undefined;
|
|
103
|
+
score_delta_min?: number | undefined;
|
|
104
|
+
rubric?: Record<string, unknown> | undefined;
|
|
105
|
+
red_lines?: string[] | undefined;
|
|
106
|
+
source_traces?: string[] | undefined;
|
|
107
|
+
}>;
|
|
108
|
+
export type EvolutionProposalInput = z.input<typeof EvolutionProposalInputSchema>;
|
|
109
|
+
/**
|
|
110
|
+
* The PERSISTED proposal shape — adds `dimensions` (a length-1
|
|
111
|
+
* array) and `target_count` (always 1) for storage. The
|
|
112
|
+
* `optimization_dimension` scalar is normalized into the
|
|
113
|
+
* `dimensions` array on persist.
|
|
114
|
+
*/
|
|
115
|
+
export declare const EvolutionProposalSchema: z.ZodObject<{
|
|
116
|
+
target_kind: z.ZodEnum<["loop", "bee", "policy", "gate", "evaluator"]>;
|
|
117
|
+
target_release_id: z.ZodString;
|
|
118
|
+
/**
|
|
119
|
+
* Single optimization dimension (AC-8). Multi-dimension proposals
|
|
120
|
+
* must be split into multiple rounds.
|
|
121
|
+
*/
|
|
122
|
+
optimization_dimension: z.ZodString;
|
|
123
|
+
before_snapshot: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
124
|
+
after_snapshot: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
125
|
+
diff: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
126
|
+
before_score: z.ZodNumber;
|
|
127
|
+
after_score: z.ZodNumber;
|
|
128
|
+
score_delta_min: z.ZodDefault<z.ZodNumber>;
|
|
129
|
+
author_id: z.ZodString;
|
|
130
|
+
/**
|
|
131
|
+
* The LLM-side marker that this proposal targets a SINGLE object
|
|
132
|
+
* (AC-8). Multi-object proposals must be split into multiple
|
|
133
|
+
* rounds. The service layer rejects proposals with
|
|
134
|
+
* `single_object !== true`.
|
|
135
|
+
*/
|
|
136
|
+
single_object: z.ZodLiteral<true>;
|
|
137
|
+
/**
|
|
138
|
+
* The LLM-side marker that this proposal targets a SINGLE
|
|
139
|
+
* optimization dimension (AC-8). The service layer rejects
|
|
140
|
+
* proposals with `single_optimization_dimension !== true`.
|
|
141
|
+
*/
|
|
142
|
+
single_optimization_dimension: z.ZodLiteral<true>;
|
|
143
|
+
rubric: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
144
|
+
red_lines: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
145
|
+
source_traces: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
146
|
+
} & {
|
|
147
|
+
id: z.ZodString;
|
|
148
|
+
dimensions: z.ZodArray<z.ZodString, "many">;
|
|
149
|
+
target_count: z.ZodLiteral<1>;
|
|
150
|
+
schema_version: z.ZodDefault<z.ZodLiteral<"peaks.evolution/1">>;
|
|
151
|
+
created_at: z.ZodString;
|
|
152
|
+
score_delta: z.ZodNumber;
|
|
153
|
+
}, "strip", z.ZodTypeAny, {
|
|
154
|
+
schema_version: "peaks.evolution/1";
|
|
155
|
+
id: string;
|
|
156
|
+
diff: Record<string, unknown>;
|
|
157
|
+
created_at: string;
|
|
158
|
+
target_kind: "bee" | "gate" | "loop" | "evaluator" | "policy";
|
|
159
|
+
target_release_id: string;
|
|
160
|
+
optimization_dimension: string;
|
|
161
|
+
before_snapshot: Record<string, unknown>;
|
|
162
|
+
after_snapshot: Record<string, unknown>;
|
|
163
|
+
before_score: number;
|
|
164
|
+
after_score: number;
|
|
165
|
+
score_delta_min: number;
|
|
166
|
+
author_id: string;
|
|
167
|
+
single_object: true;
|
|
168
|
+
single_optimization_dimension: true;
|
|
169
|
+
rubric: Record<string, unknown>;
|
|
170
|
+
red_lines: string[];
|
|
171
|
+
source_traces: string[];
|
|
172
|
+
dimensions: string[];
|
|
173
|
+
target_count: 1;
|
|
174
|
+
score_delta: number;
|
|
175
|
+
}, {
|
|
176
|
+
id: string;
|
|
177
|
+
created_at: string;
|
|
178
|
+
target_kind: "bee" | "gate" | "loop" | "evaluator" | "policy";
|
|
179
|
+
target_release_id: string;
|
|
180
|
+
optimization_dimension: string;
|
|
181
|
+
before_score: number;
|
|
182
|
+
after_score: number;
|
|
183
|
+
author_id: string;
|
|
184
|
+
single_object: true;
|
|
185
|
+
single_optimization_dimension: true;
|
|
186
|
+
dimensions: string[];
|
|
187
|
+
target_count: 1;
|
|
188
|
+
score_delta: number;
|
|
189
|
+
schema_version?: "peaks.evolution/1" | undefined;
|
|
190
|
+
diff?: Record<string, unknown> | undefined;
|
|
191
|
+
before_snapshot?: Record<string, unknown> | undefined;
|
|
192
|
+
after_snapshot?: Record<string, unknown> | undefined;
|
|
193
|
+
score_delta_min?: number | undefined;
|
|
194
|
+
rubric?: Record<string, unknown> | undefined;
|
|
195
|
+
red_lines?: string[] | undefined;
|
|
196
|
+
source_traces?: string[] | undefined;
|
|
197
|
+
}>;
|
|
198
|
+
export type EvolutionProposal = z.infer<typeof EvolutionProposalSchema>;
|
|
199
|
+
/**
|
|
200
|
+
* The independent evaluator's verdict. AC-12 / AC-13: the evaluator
|
|
201
|
+
* is a SEPARATE sub-agent that only sees the evaluation package.
|
|
202
|
+
*/
|
|
203
|
+
export declare const IndependentEvaluatorResultSchema: z.ZodObject<{
|
|
204
|
+
score: z.ZodNumber;
|
|
205
|
+
riskTags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
206
|
+
refuteParagraph: z.ZodString;
|
|
207
|
+
}, "strip", z.ZodTypeAny, {
|
|
208
|
+
score: number;
|
|
209
|
+
riskTags: string[];
|
|
210
|
+
refuteParagraph: string;
|
|
211
|
+
}, {
|
|
212
|
+
score: number;
|
|
213
|
+
refuteParagraph: string;
|
|
214
|
+
riskTags?: string[] | undefined;
|
|
215
|
+
}>;
|
|
216
|
+
export type IndependentEvaluatorResult = z.infer<typeof IndependentEvaluatorResultSchema>;
|
|
217
|
+
/**
|
|
218
|
+
* The regression skeptic's verdict. AC-14: a separate sub-agent
|
|
219
|
+
* that attempts to refute the proposal.
|
|
220
|
+
*/
|
|
221
|
+
export declare const RegressionSkepticResultSchema: z.ZodObject<{
|
|
222
|
+
driftRisks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
223
|
+
overfitRisks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
224
|
+
safetyRegressionRisks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
225
|
+
blocker: z.ZodOptional<z.ZodString>;
|
|
226
|
+
}, "strip", z.ZodTypeAny, {
|
|
227
|
+
driftRisks: string[];
|
|
228
|
+
overfitRisks: string[];
|
|
229
|
+
safetyRegressionRisks: string[];
|
|
230
|
+
blocker?: string | undefined;
|
|
231
|
+
}, {
|
|
232
|
+
blocker?: string | undefined;
|
|
233
|
+
driftRisks?: string[] | undefined;
|
|
234
|
+
overfitRisks?: string[] | undefined;
|
|
235
|
+
safetyRegressionRisks?: string[] | undefined;
|
|
236
|
+
}>;
|
|
237
|
+
export type RegressionSkepticResult = z.infer<typeof RegressionSkepticResultSchema>;
|
|
238
|
+
/**
|
|
239
|
+
* The full evolution evaluation row as persisted. Differs from the
|
|
240
|
+
* proposal in that it carries the evaluator + skeptic verdicts, the
|
|
241
|
+
* `score_delta` (computed), and the final `verdict` aggregation.
|
|
242
|
+
*
|
|
243
|
+
* Field semantics — see spec §4.4 for full prose. Highlights:
|
|
244
|
+
*
|
|
245
|
+
* - `evaluator_id` and `skeptic_id` are SEPARATE agents (AC-14).
|
|
246
|
+
* - `user_confirmation_pointer` is a path/ID to a user choice
|
|
247
|
+
* record; it is REQUIRED for `verdict = 'keep'` (AC-15: user
|
|
248
|
+
* confirmation is the final gate).
|
|
249
|
+
* - `brief_pointer` is a path/ID to the evidence brief used in
|
|
250
|
+
* the recommendation (spec §4.7 / §10 RL-7).
|
|
251
|
+
*/
|
|
252
|
+
export declare const EvolutionEvaluationInputSchema: z.ZodObject<{
|
|
253
|
+
id: z.ZodString;
|
|
254
|
+
proposal: z.ZodObject<{
|
|
255
|
+
target_kind: z.ZodEnum<["loop", "bee", "policy", "gate", "evaluator"]>;
|
|
256
|
+
target_release_id: z.ZodString;
|
|
257
|
+
/**
|
|
258
|
+
* Single optimization dimension (AC-8). Multi-dimension proposals
|
|
259
|
+
* must be split into multiple rounds.
|
|
260
|
+
*/
|
|
261
|
+
optimization_dimension: z.ZodString;
|
|
262
|
+
before_snapshot: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
263
|
+
after_snapshot: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
264
|
+
diff: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
265
|
+
before_score: z.ZodNumber;
|
|
266
|
+
after_score: z.ZodNumber;
|
|
267
|
+
score_delta_min: z.ZodDefault<z.ZodNumber>;
|
|
268
|
+
author_id: z.ZodString;
|
|
269
|
+
/**
|
|
270
|
+
* The LLM-side marker that this proposal targets a SINGLE object
|
|
271
|
+
* (AC-8). Multi-object proposals must be split into multiple
|
|
272
|
+
* rounds. The service layer rejects proposals with
|
|
273
|
+
* `single_object !== true`.
|
|
274
|
+
*/
|
|
275
|
+
single_object: z.ZodLiteral<true>;
|
|
276
|
+
/**
|
|
277
|
+
* The LLM-side marker that this proposal targets a SINGLE
|
|
278
|
+
* optimization dimension (AC-8). The service layer rejects
|
|
279
|
+
* proposals with `single_optimization_dimension !== true`.
|
|
280
|
+
*/
|
|
281
|
+
single_optimization_dimension: z.ZodLiteral<true>;
|
|
282
|
+
rubric: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
283
|
+
red_lines: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
284
|
+
source_traces: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
285
|
+
} & {
|
|
286
|
+
id: z.ZodString;
|
|
287
|
+
dimensions: z.ZodArray<z.ZodString, "many">;
|
|
288
|
+
target_count: z.ZodLiteral<1>;
|
|
289
|
+
schema_version: z.ZodDefault<z.ZodLiteral<"peaks.evolution/1">>;
|
|
290
|
+
created_at: z.ZodString;
|
|
291
|
+
score_delta: z.ZodNumber;
|
|
292
|
+
}, "strip", z.ZodTypeAny, {
|
|
293
|
+
schema_version: "peaks.evolution/1";
|
|
294
|
+
id: string;
|
|
295
|
+
diff: Record<string, unknown>;
|
|
296
|
+
created_at: string;
|
|
297
|
+
target_kind: "bee" | "gate" | "loop" | "evaluator" | "policy";
|
|
298
|
+
target_release_id: string;
|
|
299
|
+
optimization_dimension: string;
|
|
300
|
+
before_snapshot: Record<string, unknown>;
|
|
301
|
+
after_snapshot: Record<string, unknown>;
|
|
302
|
+
before_score: number;
|
|
303
|
+
after_score: number;
|
|
304
|
+
score_delta_min: number;
|
|
305
|
+
author_id: string;
|
|
306
|
+
single_object: true;
|
|
307
|
+
single_optimization_dimension: true;
|
|
308
|
+
rubric: Record<string, unknown>;
|
|
309
|
+
red_lines: string[];
|
|
310
|
+
source_traces: string[];
|
|
311
|
+
dimensions: string[];
|
|
312
|
+
target_count: 1;
|
|
313
|
+
score_delta: number;
|
|
314
|
+
}, {
|
|
315
|
+
id: string;
|
|
316
|
+
created_at: string;
|
|
317
|
+
target_kind: "bee" | "gate" | "loop" | "evaluator" | "policy";
|
|
318
|
+
target_release_id: string;
|
|
319
|
+
optimization_dimension: string;
|
|
320
|
+
before_score: number;
|
|
321
|
+
after_score: number;
|
|
322
|
+
author_id: string;
|
|
323
|
+
single_object: true;
|
|
324
|
+
single_optimization_dimension: true;
|
|
325
|
+
dimensions: string[];
|
|
326
|
+
target_count: 1;
|
|
327
|
+
score_delta: number;
|
|
328
|
+
schema_version?: "peaks.evolution/1" | undefined;
|
|
329
|
+
diff?: Record<string, unknown> | undefined;
|
|
330
|
+
before_snapshot?: Record<string, unknown> | undefined;
|
|
331
|
+
after_snapshot?: Record<string, unknown> | undefined;
|
|
332
|
+
score_delta_min?: number | undefined;
|
|
333
|
+
rubric?: Record<string, unknown> | undefined;
|
|
334
|
+
red_lines?: string[] | undefined;
|
|
335
|
+
source_traces?: string[] | undefined;
|
|
336
|
+
}>;
|
|
337
|
+
evaluator_id: z.ZodString;
|
|
338
|
+
skeptic_id: z.ZodString;
|
|
339
|
+
evaluator_result: z.ZodObject<{
|
|
340
|
+
score: z.ZodNumber;
|
|
341
|
+
riskTags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
342
|
+
refuteParagraph: z.ZodString;
|
|
343
|
+
}, "strip", z.ZodTypeAny, {
|
|
344
|
+
score: number;
|
|
345
|
+
riskTags: string[];
|
|
346
|
+
refuteParagraph: string;
|
|
347
|
+
}, {
|
|
348
|
+
score: number;
|
|
349
|
+
refuteParagraph: string;
|
|
350
|
+
riskTags?: string[] | undefined;
|
|
351
|
+
}>;
|
|
352
|
+
skeptic_result: z.ZodObject<{
|
|
353
|
+
driftRisks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
354
|
+
overfitRisks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
355
|
+
safetyRegressionRisks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
356
|
+
blocker: z.ZodOptional<z.ZodString>;
|
|
357
|
+
}, "strip", z.ZodTypeAny, {
|
|
358
|
+
driftRisks: string[];
|
|
359
|
+
overfitRisks: string[];
|
|
360
|
+
safetyRegressionRisks: string[];
|
|
361
|
+
blocker?: string | undefined;
|
|
362
|
+
}, {
|
|
363
|
+
blocker?: string | undefined;
|
|
364
|
+
driftRisks?: string[] | undefined;
|
|
365
|
+
overfitRisks?: string[] | undefined;
|
|
366
|
+
safetyRegressionRisks?: string[] | undefined;
|
|
367
|
+
}>;
|
|
368
|
+
verdict: z.ZodEnum<["keep", "revert", "needs-user-decision"]>;
|
|
369
|
+
user_confirmation_pointer: z.ZodOptional<z.ZodString>;
|
|
370
|
+
brief_pointer: z.ZodOptional<z.ZodString>;
|
|
371
|
+
schema_version: z.ZodDefault<z.ZodLiteral<"peaks.evolution/1">>;
|
|
372
|
+
created_at: z.ZodString;
|
|
373
|
+
}, "strip", z.ZodTypeAny, {
|
|
374
|
+
schema_version: "peaks.evolution/1";
|
|
375
|
+
id: string;
|
|
376
|
+
proposal: {
|
|
377
|
+
schema_version: "peaks.evolution/1";
|
|
378
|
+
id: string;
|
|
379
|
+
diff: Record<string, unknown>;
|
|
380
|
+
created_at: string;
|
|
381
|
+
target_kind: "bee" | "gate" | "loop" | "evaluator" | "policy";
|
|
382
|
+
target_release_id: string;
|
|
383
|
+
optimization_dimension: string;
|
|
384
|
+
before_snapshot: Record<string, unknown>;
|
|
385
|
+
after_snapshot: Record<string, unknown>;
|
|
386
|
+
before_score: number;
|
|
387
|
+
after_score: number;
|
|
388
|
+
score_delta_min: number;
|
|
389
|
+
author_id: string;
|
|
390
|
+
single_object: true;
|
|
391
|
+
single_optimization_dimension: true;
|
|
392
|
+
rubric: Record<string, unknown>;
|
|
393
|
+
red_lines: string[];
|
|
394
|
+
source_traces: string[];
|
|
395
|
+
dimensions: string[];
|
|
396
|
+
target_count: 1;
|
|
397
|
+
score_delta: number;
|
|
398
|
+
};
|
|
399
|
+
created_at: string;
|
|
400
|
+
verdict: "revert" | "keep" | "needs-user-decision";
|
|
401
|
+
evaluator_id: string;
|
|
402
|
+
skeptic_id: string;
|
|
403
|
+
evaluator_result: {
|
|
404
|
+
score: number;
|
|
405
|
+
riskTags: string[];
|
|
406
|
+
refuteParagraph: string;
|
|
407
|
+
};
|
|
408
|
+
skeptic_result: {
|
|
409
|
+
driftRisks: string[];
|
|
410
|
+
overfitRisks: string[];
|
|
411
|
+
safetyRegressionRisks: string[];
|
|
412
|
+
blocker?: string | undefined;
|
|
413
|
+
};
|
|
414
|
+
user_confirmation_pointer?: string | undefined;
|
|
415
|
+
brief_pointer?: string | undefined;
|
|
416
|
+
}, {
|
|
417
|
+
id: string;
|
|
418
|
+
proposal: {
|
|
419
|
+
id: string;
|
|
420
|
+
created_at: string;
|
|
421
|
+
target_kind: "bee" | "gate" | "loop" | "evaluator" | "policy";
|
|
422
|
+
target_release_id: string;
|
|
423
|
+
optimization_dimension: string;
|
|
424
|
+
before_score: number;
|
|
425
|
+
after_score: number;
|
|
426
|
+
author_id: string;
|
|
427
|
+
single_object: true;
|
|
428
|
+
single_optimization_dimension: true;
|
|
429
|
+
dimensions: string[];
|
|
430
|
+
target_count: 1;
|
|
431
|
+
score_delta: number;
|
|
432
|
+
schema_version?: "peaks.evolution/1" | undefined;
|
|
433
|
+
diff?: Record<string, unknown> | undefined;
|
|
434
|
+
before_snapshot?: Record<string, unknown> | undefined;
|
|
435
|
+
after_snapshot?: Record<string, unknown> | undefined;
|
|
436
|
+
score_delta_min?: number | undefined;
|
|
437
|
+
rubric?: Record<string, unknown> | undefined;
|
|
438
|
+
red_lines?: string[] | undefined;
|
|
439
|
+
source_traces?: string[] | undefined;
|
|
440
|
+
};
|
|
441
|
+
created_at: string;
|
|
442
|
+
verdict: "revert" | "keep" | "needs-user-decision";
|
|
443
|
+
evaluator_id: string;
|
|
444
|
+
skeptic_id: string;
|
|
445
|
+
evaluator_result: {
|
|
446
|
+
score: number;
|
|
447
|
+
refuteParagraph: string;
|
|
448
|
+
riskTags?: string[] | undefined;
|
|
449
|
+
};
|
|
450
|
+
skeptic_result: {
|
|
451
|
+
blocker?: string | undefined;
|
|
452
|
+
driftRisks?: string[] | undefined;
|
|
453
|
+
overfitRisks?: string[] | undefined;
|
|
454
|
+
safetyRegressionRisks?: string[] | undefined;
|
|
455
|
+
};
|
|
456
|
+
schema_version?: "peaks.evolution/1" | undefined;
|
|
457
|
+
user_confirmation_pointer?: string | undefined;
|
|
458
|
+
brief_pointer?: string | undefined;
|
|
459
|
+
}>;
|
|
460
|
+
export type EvolutionEvaluationInput = z.input<typeof EvolutionEvaluationInputSchema>;
|
|
461
|
+
/**
|
|
462
|
+
* The PERSISTED evolution evaluation row. Differs from the input
|
|
463
|
+
* in that `score_delta` is computed and stored.
|
|
464
|
+
*/
|
|
465
|
+
export declare const EvolutionEvaluationSchema: z.ZodObject<{
|
|
466
|
+
id: z.ZodString;
|
|
467
|
+
proposal: z.ZodObject<{
|
|
468
|
+
target_kind: z.ZodEnum<["loop", "bee", "policy", "gate", "evaluator"]>;
|
|
469
|
+
target_release_id: z.ZodString;
|
|
470
|
+
/**
|
|
471
|
+
* Single optimization dimension (AC-8). Multi-dimension proposals
|
|
472
|
+
* must be split into multiple rounds.
|
|
473
|
+
*/
|
|
474
|
+
optimization_dimension: z.ZodString;
|
|
475
|
+
before_snapshot: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
476
|
+
after_snapshot: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
477
|
+
diff: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
478
|
+
before_score: z.ZodNumber;
|
|
479
|
+
after_score: z.ZodNumber;
|
|
480
|
+
score_delta_min: z.ZodDefault<z.ZodNumber>;
|
|
481
|
+
author_id: z.ZodString;
|
|
482
|
+
/**
|
|
483
|
+
* The LLM-side marker that this proposal targets a SINGLE object
|
|
484
|
+
* (AC-8). Multi-object proposals must be split into multiple
|
|
485
|
+
* rounds. The service layer rejects proposals with
|
|
486
|
+
* `single_object !== true`.
|
|
487
|
+
*/
|
|
488
|
+
single_object: z.ZodLiteral<true>;
|
|
489
|
+
/**
|
|
490
|
+
* The LLM-side marker that this proposal targets a SINGLE
|
|
491
|
+
* optimization dimension (AC-8). The service layer rejects
|
|
492
|
+
* proposals with `single_optimization_dimension !== true`.
|
|
493
|
+
*/
|
|
494
|
+
single_optimization_dimension: z.ZodLiteral<true>;
|
|
495
|
+
rubric: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
496
|
+
red_lines: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
497
|
+
source_traces: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
498
|
+
} & {
|
|
499
|
+
id: z.ZodString;
|
|
500
|
+
dimensions: z.ZodArray<z.ZodString, "many">;
|
|
501
|
+
target_count: z.ZodLiteral<1>;
|
|
502
|
+
schema_version: z.ZodDefault<z.ZodLiteral<"peaks.evolution/1">>;
|
|
503
|
+
created_at: z.ZodString;
|
|
504
|
+
score_delta: z.ZodNumber;
|
|
505
|
+
}, "strip", z.ZodTypeAny, {
|
|
506
|
+
schema_version: "peaks.evolution/1";
|
|
507
|
+
id: string;
|
|
508
|
+
diff: Record<string, unknown>;
|
|
509
|
+
created_at: string;
|
|
510
|
+
target_kind: "bee" | "gate" | "loop" | "evaluator" | "policy";
|
|
511
|
+
target_release_id: string;
|
|
512
|
+
optimization_dimension: string;
|
|
513
|
+
before_snapshot: Record<string, unknown>;
|
|
514
|
+
after_snapshot: Record<string, unknown>;
|
|
515
|
+
before_score: number;
|
|
516
|
+
after_score: number;
|
|
517
|
+
score_delta_min: number;
|
|
518
|
+
author_id: string;
|
|
519
|
+
single_object: true;
|
|
520
|
+
single_optimization_dimension: true;
|
|
521
|
+
rubric: Record<string, unknown>;
|
|
522
|
+
red_lines: string[];
|
|
523
|
+
source_traces: string[];
|
|
524
|
+
dimensions: string[];
|
|
525
|
+
target_count: 1;
|
|
526
|
+
score_delta: number;
|
|
527
|
+
}, {
|
|
528
|
+
id: string;
|
|
529
|
+
created_at: string;
|
|
530
|
+
target_kind: "bee" | "gate" | "loop" | "evaluator" | "policy";
|
|
531
|
+
target_release_id: string;
|
|
532
|
+
optimization_dimension: string;
|
|
533
|
+
before_score: number;
|
|
534
|
+
after_score: number;
|
|
535
|
+
author_id: string;
|
|
536
|
+
single_object: true;
|
|
537
|
+
single_optimization_dimension: true;
|
|
538
|
+
dimensions: string[];
|
|
539
|
+
target_count: 1;
|
|
540
|
+
score_delta: number;
|
|
541
|
+
schema_version?: "peaks.evolution/1" | undefined;
|
|
542
|
+
diff?: Record<string, unknown> | undefined;
|
|
543
|
+
before_snapshot?: Record<string, unknown> | undefined;
|
|
544
|
+
after_snapshot?: Record<string, unknown> | undefined;
|
|
545
|
+
score_delta_min?: number | undefined;
|
|
546
|
+
rubric?: Record<string, unknown> | undefined;
|
|
547
|
+
red_lines?: string[] | undefined;
|
|
548
|
+
source_traces?: string[] | undefined;
|
|
549
|
+
}>;
|
|
550
|
+
evaluator_id: z.ZodString;
|
|
551
|
+
skeptic_id: z.ZodString;
|
|
552
|
+
evaluator_result: z.ZodObject<{
|
|
553
|
+
score: z.ZodNumber;
|
|
554
|
+
riskTags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
555
|
+
refuteParagraph: z.ZodString;
|
|
556
|
+
}, "strip", z.ZodTypeAny, {
|
|
557
|
+
score: number;
|
|
558
|
+
riskTags: string[];
|
|
559
|
+
refuteParagraph: string;
|
|
560
|
+
}, {
|
|
561
|
+
score: number;
|
|
562
|
+
refuteParagraph: string;
|
|
563
|
+
riskTags?: string[] | undefined;
|
|
564
|
+
}>;
|
|
565
|
+
skeptic_result: z.ZodObject<{
|
|
566
|
+
driftRisks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
567
|
+
overfitRisks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
568
|
+
safetyRegressionRisks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
569
|
+
blocker: z.ZodOptional<z.ZodString>;
|
|
570
|
+
}, "strip", z.ZodTypeAny, {
|
|
571
|
+
driftRisks: string[];
|
|
572
|
+
overfitRisks: string[];
|
|
573
|
+
safetyRegressionRisks: string[];
|
|
574
|
+
blocker?: string | undefined;
|
|
575
|
+
}, {
|
|
576
|
+
blocker?: string | undefined;
|
|
577
|
+
driftRisks?: string[] | undefined;
|
|
578
|
+
overfitRisks?: string[] | undefined;
|
|
579
|
+
safetyRegressionRisks?: string[] | undefined;
|
|
580
|
+
}>;
|
|
581
|
+
verdict: z.ZodEnum<["keep", "revert", "needs-user-decision"]>;
|
|
582
|
+
user_confirmation_pointer: z.ZodOptional<z.ZodString>;
|
|
583
|
+
brief_pointer: z.ZodOptional<z.ZodString>;
|
|
584
|
+
schema_version: z.ZodDefault<z.ZodLiteral<"peaks.evolution/1">>;
|
|
585
|
+
created_at: z.ZodString;
|
|
586
|
+
} & {
|
|
587
|
+
score_delta: z.ZodNumber;
|
|
588
|
+
}, "strip", z.ZodTypeAny, {
|
|
589
|
+
schema_version: "peaks.evolution/1";
|
|
590
|
+
id: string;
|
|
591
|
+
proposal: {
|
|
592
|
+
schema_version: "peaks.evolution/1";
|
|
593
|
+
id: string;
|
|
594
|
+
diff: Record<string, unknown>;
|
|
595
|
+
created_at: string;
|
|
596
|
+
target_kind: "bee" | "gate" | "loop" | "evaluator" | "policy";
|
|
597
|
+
target_release_id: string;
|
|
598
|
+
optimization_dimension: string;
|
|
599
|
+
before_snapshot: Record<string, unknown>;
|
|
600
|
+
after_snapshot: Record<string, unknown>;
|
|
601
|
+
before_score: number;
|
|
602
|
+
after_score: number;
|
|
603
|
+
score_delta_min: number;
|
|
604
|
+
author_id: string;
|
|
605
|
+
single_object: true;
|
|
606
|
+
single_optimization_dimension: true;
|
|
607
|
+
rubric: Record<string, unknown>;
|
|
608
|
+
red_lines: string[];
|
|
609
|
+
source_traces: string[];
|
|
610
|
+
dimensions: string[];
|
|
611
|
+
target_count: 1;
|
|
612
|
+
score_delta: number;
|
|
613
|
+
};
|
|
614
|
+
created_at: string;
|
|
615
|
+
verdict: "revert" | "keep" | "needs-user-decision";
|
|
616
|
+
score_delta: number;
|
|
617
|
+
evaluator_id: string;
|
|
618
|
+
skeptic_id: string;
|
|
619
|
+
evaluator_result: {
|
|
620
|
+
score: number;
|
|
621
|
+
riskTags: string[];
|
|
622
|
+
refuteParagraph: string;
|
|
623
|
+
};
|
|
624
|
+
skeptic_result: {
|
|
625
|
+
driftRisks: string[];
|
|
626
|
+
overfitRisks: string[];
|
|
627
|
+
safetyRegressionRisks: string[];
|
|
628
|
+
blocker?: string | undefined;
|
|
629
|
+
};
|
|
630
|
+
user_confirmation_pointer?: string | undefined;
|
|
631
|
+
brief_pointer?: string | undefined;
|
|
632
|
+
}, {
|
|
633
|
+
id: string;
|
|
634
|
+
proposal: {
|
|
635
|
+
id: string;
|
|
636
|
+
created_at: string;
|
|
637
|
+
target_kind: "bee" | "gate" | "loop" | "evaluator" | "policy";
|
|
638
|
+
target_release_id: string;
|
|
639
|
+
optimization_dimension: string;
|
|
640
|
+
before_score: number;
|
|
641
|
+
after_score: number;
|
|
642
|
+
author_id: string;
|
|
643
|
+
single_object: true;
|
|
644
|
+
single_optimization_dimension: true;
|
|
645
|
+
dimensions: string[];
|
|
646
|
+
target_count: 1;
|
|
647
|
+
score_delta: number;
|
|
648
|
+
schema_version?: "peaks.evolution/1" | undefined;
|
|
649
|
+
diff?: Record<string, unknown> | undefined;
|
|
650
|
+
before_snapshot?: Record<string, unknown> | undefined;
|
|
651
|
+
after_snapshot?: Record<string, unknown> | undefined;
|
|
652
|
+
score_delta_min?: number | undefined;
|
|
653
|
+
rubric?: Record<string, unknown> | undefined;
|
|
654
|
+
red_lines?: string[] | undefined;
|
|
655
|
+
source_traces?: string[] | undefined;
|
|
656
|
+
};
|
|
657
|
+
created_at: string;
|
|
658
|
+
verdict: "revert" | "keep" | "needs-user-decision";
|
|
659
|
+
score_delta: number;
|
|
660
|
+
evaluator_id: string;
|
|
661
|
+
skeptic_id: string;
|
|
662
|
+
evaluator_result: {
|
|
663
|
+
score: number;
|
|
664
|
+
refuteParagraph: string;
|
|
665
|
+
riskTags?: string[] | undefined;
|
|
666
|
+
};
|
|
667
|
+
skeptic_result: {
|
|
668
|
+
blocker?: string | undefined;
|
|
669
|
+
driftRisks?: string[] | undefined;
|
|
670
|
+
overfitRisks?: string[] | undefined;
|
|
671
|
+
safetyRegressionRisks?: string[] | undefined;
|
|
672
|
+
};
|
|
673
|
+
schema_version?: "peaks.evolution/1" | undefined;
|
|
674
|
+
user_confirmation_pointer?: string | undefined;
|
|
675
|
+
brief_pointer?: string | undefined;
|
|
676
|
+
}>;
|
|
677
|
+
export type EvolutionEvaluation = z.infer<typeof EvolutionEvaluationSchema>;
|
|
678
|
+
/**
|
|
679
|
+
* Default for `score_delta_min` per spec §6.1 #5.
|
|
680
|
+
*/
|
|
681
|
+
export declare const EVOLUTION_DEFAULT_DELTA_MIN = 1;
|
|
682
|
+
/**
|
|
683
|
+
* Convenience: strict-parse an unknown payload into an
|
|
684
|
+
* EvolutionEvaluation row. Throws ZodError on failure.
|
|
685
|
+
*/
|
|
686
|
+
export declare function parseEvolutionEvaluation(input: unknown): EvolutionEvaluation;
|
|
687
|
+
/**
|
|
688
|
+
* Convenience: safe-parse that returns a Result-like shape so
|
|
689
|
+
* callers (CLI / service layer) can render findings without
|
|
690
|
+
* try/catch noise.
|
|
691
|
+
*/
|
|
692
|
+
export declare function safeParseEvolutionEvaluation(input: unknown): {
|
|
693
|
+
ok: true;
|
|
694
|
+
row: EvolutionEvaluation;
|
|
695
|
+
} | {
|
|
696
|
+
ok: false;
|
|
697
|
+
findings: Array<{
|
|
698
|
+
path: string;
|
|
699
|
+
message: string;
|
|
700
|
+
}>;
|
|
701
|
+
};
|
|
702
|
+
/**
|
|
703
|
+
* Convenience: strict-parse an unknown payload into an
|
|
704
|
+
* EvolutionProposal. Throws ZodError on failure.
|
|
705
|
+
*/
|
|
706
|
+
export declare function parseEvolutionProposal(input: unknown): EvolutionProposal;
|