@exaudeus/workrail 3.13.0 → 3.15.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/dist/application/services/validation-engine.js +4 -9
- package/dist/application/services/workflow-compiler.js +4 -6
- package/dist/console/assets/index-BZYIjrzJ.js +28 -0
- package/dist/console/assets/index-OLCKbDdm.css +1 -0
- package/dist/console/index.html +2 -2
- package/dist/engine/engine-factory.js +2 -2
- package/dist/engine/types.d.ts +1 -1
- package/dist/manifest.json +63 -63
- package/dist/mcp/handlers/shared/request-workflow-reader.d.ts +5 -0
- package/dist/mcp/handlers/shared/request-workflow-reader.js +47 -2
- package/dist/mcp/handlers/v2-advance-core/assessment-consequences.d.ts +1 -1
- package/dist/mcp/handlers/v2-advance-core/assessment-consequences.js +4 -5
- package/dist/mcp/handlers/v2-advance-core/index.js +1 -1
- package/dist/mcp/handlers/v2-advance-core/outcome-blocked.js +1 -1
- package/dist/mcp/handlers/v2-execution/start.d.ts +1 -0
- package/dist/mcp/handlers/v2-execution/start.js +20 -1
- package/dist/mcp/handlers/v2-workflow.d.ts +23 -0
- package/dist/mcp/handlers/v2-workflow.js +177 -10
- package/dist/mcp/output-schemas.d.ts +202 -8
- package/dist/mcp/output-schemas.js +38 -11
- package/dist/mcp/server.js +48 -1
- package/dist/mcp/tool-descriptions.js +17 -9
- package/dist/mcp/v2/tools.d.ts +6 -0
- package/dist/mcp/v2/tools.js +2 -0
- package/dist/mcp/workflow-protocol-contracts.js +5 -1
- package/dist/types/workflow-definition.d.ts +2 -2
- package/dist/v2/infra/local/workspace-anchor/index.js +4 -1
- package/dist/v2/usecases/console-routes.js +49 -1
- package/dist/v2/usecases/console-service.d.ts +1 -0
- package/dist/v2/usecases/console-service.js +4 -1
- package/dist/v2/usecases/console-types.d.ts +12 -0
- package/dist/v2/usecases/worktree-service.js +55 -7
- package/package.json +3 -2
- package/spec/authoring-spec.json +91 -3
- package/spec/workflow-tags.json +132 -0
- package/spec/workflow.schema.json +411 -97
- package/workflows/adaptive-ticket-creation.json +40 -22
- package/workflows/architecture-scalability-audit.json +65 -31
- package/workflows/bug-investigation.agentic.v2.json +36 -14
- package/workflows/coding-task-workflow-agentic.json +50 -38
- package/workflows/coding-task-workflow-agentic.lean.v2.json +124 -37
- package/workflows/coding-task-workflow-agentic.v2.json +90 -30
- package/workflows/cross-platform-code-conversion.v2.json +168 -48
- package/workflows/document-creation-workflow.json +47 -17
- package/workflows/documentation-update-workflow.json +8 -8
- package/workflows/intelligent-test-case-generation.json +2 -2
- package/workflows/learner-centered-course-workflow.json +267 -267
- package/workflows/mr-review-workflow.agentic.v2.json +81 -14
- package/workflows/personal-learning-materials-creation-branched.json +175 -175
- package/workflows/presentation-creation.json +159 -159
- package/workflows/production-readiness-audit.json +54 -15
- package/workflows/relocation-workflow-us.json +44 -35
- package/workflows/routines/tension-driven-design.json +1 -1
- package/workflows/scoped-documentation-workflow.json +25 -25
- package/workflows/test-artifact-loop-control.json +1 -2
- package/workflows/ui-ux-design-workflow.json +327 -0
- package/workflows/workflow-diagnose-environment.json +1 -1
- package/workflows/workflow-for-workflows.json +507 -484
- package/workflows/workflow-for-workflows.v2.json +90 -18
- package/workflows/wr.discovery.json +112 -30
- package/dist/console/assets/index-DW78t31j.css +0 -1
- package/dist/console/assets/index-EsSXrC_a.js +0 -28
|
@@ -1,165 +1,165 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
},
|
|
46
|
-
"verify": [
|
|
47
|
-
"Does every section contain specific, actionable detail rather than generic categories?",
|
|
48
|
-
"Could you use this profile to make a real content decision right now?"
|
|
49
|
-
]
|
|
50
|
-
},
|
|
51
|
-
"requireConfirmation": true
|
|
2
|
+
"id": "presentation-creation",
|
|
3
|
+
"name": "Presentation Creation Workflow",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "Use this to create a compelling presentation. Covers audience analysis, content strategy, slide structure, and delivery preparation. Output works with any presentation tool.",
|
|
6
|
+
"preconditions": [
|
|
7
|
+
"You have a clear presentation topic or objective.",
|
|
8
|
+
"You know roughly who your audience is.",
|
|
9
|
+
"You have access to any source materials or data you plan to reference."
|
|
10
|
+
],
|
|
11
|
+
"clarificationPrompts": [
|
|
12
|
+
"What is the main objective or key message of your presentation?",
|
|
13
|
+
"Who is your target audience and what is their professional context?"
|
|
14
|
+
],
|
|
15
|
+
"metaGuidance": [
|
|
16
|
+
"Ground every decision in your audience profile. Generic presentations fail because they are not written for anyone specific.",
|
|
17
|
+
"Each step should explicitly reference outputs from the previous step to avoid boilerplate drift.",
|
|
18
|
+
"Prioritize clarity over completeness. A tight presentation that lands one message beats a comprehensive one that loses the audience.",
|
|
19
|
+
"Build in engagement moments throughout, not just at the opening.",
|
|
20
|
+
"Every section should pass the 'so what?' test: if the audience cannot articulate why they should care, cut or reframe.",
|
|
21
|
+
"Always have a clear call-to-action. Tell the audience what you want them to do or believe after your presentation.",
|
|
22
|
+
"Test all technical elements well before your presentation day.",
|
|
23
|
+
"Prepare contingency plans for common problems: technology failures, timing overruns, tough questions."
|
|
24
|
+
],
|
|
25
|
+
"steps": [
|
|
26
|
+
{
|
|
27
|
+
"id": "audience-and-context-analysis",
|
|
28
|
+
"title": "Audience & Context Analysis",
|
|
29
|
+
"promptBlocks": {
|
|
30
|
+
"goal": "Build a concrete audience profile and context map that every downstream step will rely on. Shallow audience analysis is the root cause of generic presentations.",
|
|
31
|
+
"constraints": [
|
|
32
|
+
"Be specific, not categorical. 'Senior engineers at a fintech startup' is useful; 'technical professionals' is not.",
|
|
33
|
+
"Address both explicit needs (what they asked for) and implicit needs (what they actually need to hear).",
|
|
34
|
+
"Consider the broader context: what happens before and after your presentation? What mood will the audience be in?"
|
|
35
|
+
],
|
|
36
|
+
"procedure": [
|
|
37
|
+
"Define the audience: professional background, expertise level, role and seniority mix, and any relevant cultural or organizational context.",
|
|
38
|
+
"Identify audience motivations: what do they want to learn or decide? What pain points or pressures are they carrying into the room?",
|
|
39
|
+
"Analyze the presentation context: event type (conference, internal meeting, client pitch, webinar), setting (in-person, remote, hybrid), time constraints, and follow-up expectations.",
|
|
40
|
+
"Define success: what does a successful outcome look like for both you and the audience? What specific action or belief shift are you aiming for?",
|
|
41
|
+
"Identify risks: what might cause the audience to disengage, push back, or leave confused?"
|
|
42
|
+
],
|
|
43
|
+
"outputRequired": {
|
|
44
|
+
"audienceProfile": "A concise profile covering: demographics and expertise, motivations and pain points, context and setting, success definition, and key engagement risks."
|
|
52
45
|
},
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
46
|
+
"verify": [
|
|
47
|
+
"Does every section contain specific, actionable detail rather than generic categories?",
|
|
48
|
+
"Could you use this profile to make a real content decision right now?"
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
"requireConfirmation": true
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "content-strategy",
|
|
55
|
+
"title": "Content Strategy",
|
|
56
|
+
"promptBlocks": {
|
|
57
|
+
"goal": "Define the core message and argument structure that will guide every slide and talking point. Using your audience profile from the previous step, build a content strategy grounded in their specific needs.",
|
|
58
|
+
"constraints": [
|
|
59
|
+
"Start with one core message \u2014 a single, memorable sentence. Everything else should support it.",
|
|
60
|
+
"Supporting arguments should directly address the audience motivations and pain points you identified.",
|
|
61
|
+
"The narrative arc should feel natural for this audience in this context \u2014 not a generic template unless it actually fits."
|
|
62
|
+
],
|
|
63
|
+
"procedure": [
|
|
64
|
+
"State your core message: one clear, memorable sentence that captures the single most important thing you want the audience to take away.",
|
|
65
|
+
"Define 3-5 supporting arguments that reinforce your core message. For each, identify the key evidence, example, or story you will use.",
|
|
66
|
+
"Design the narrative arc: how will you take the audience from where they are now to where you want them to be? Map the logical and emotional journey.",
|
|
67
|
+
"Plan your engagement hooks: surprising statistics, thought-provoking questions, or moments of genuine interaction that break up information delivery.",
|
|
68
|
+
"Define your call-to-action: what specific thing do you want the audience to do, believe, or decide after your presentation?"
|
|
69
|
+
],
|
|
70
|
+
"outputRequired": {
|
|
71
|
+
"contentStrategy": "Core message (one sentence), supporting arguments with evidence, narrative arc description, engagement hooks, and call-to-action."
|
|
79
72
|
},
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
"requireConfirmation": true
|
|
73
|
+
"verify": [
|
|
74
|
+
"Does every supporting argument trace back to a specific audience need from your audience profile?",
|
|
75
|
+
"Does the narrative arc feel designed for this audience, or does it feel like a template?"
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
"requireConfirmation": false
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "slide-structure",
|
|
82
|
+
"title": "Slide Structure & Flow",
|
|
83
|
+
"promptBlocks": {
|
|
84
|
+
"goal": "Turn your content strategy into a numbered slide outline with clear purpose, content type, and rough timing for each slide. This becomes the blueprint for content development.",
|
|
85
|
+
"constraints": [
|
|
86
|
+
"One key idea per slide. If a slide is trying to say two things, split it.",
|
|
87
|
+
"Plan for pacing: balance information-dense slides with breathing room and interaction moments.",
|
|
88
|
+
"Think about how the slides will work if someone reads them later without you \u2014 titles should be informative, not just labels."
|
|
89
|
+
],
|
|
90
|
+
"procedure": [
|
|
91
|
+
"Opening (1-3 slides): attention-grabbing hook, context framing, and agenda or roadmap.",
|
|
92
|
+
"Core content blocks: group your supporting arguments into logical sections. For each slide, specify: title, main content type (bullets, chart, image, diagram, quote), and whether it has an interaction moment.",
|
|
93
|
+
"Transitions between major sections: a single bridging slide that signals the shift and re-grounds the audience.",
|
|
94
|
+
"Closing (2-3 slides): synthesis of core message, call-to-action, next steps or contact information.",
|
|
95
|
+
"For each slide, add an estimated time in minutes and mark which slides need significant visual design work."
|
|
96
|
+
],
|
|
97
|
+
"outputRequired": {
|
|
98
|
+
"slideOutline": "A numbered slide outline. Each entry: slide number, title, content type, estimated time, and any special notes."
|
|
107
99
|
},
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
100
|
+
"verify": [
|
|
101
|
+
"Does the outline tell a coherent story from opening to close?",
|
|
102
|
+
"Does the pacing feel right for the stated time budget?",
|
|
103
|
+
"Is there at least one engagement moment in the first third of the presentation?"
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
"requireConfirmation": true
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"id": "content-development",
|
|
110
|
+
"title": "Content Development",
|
|
111
|
+
"promptBlocks": {
|
|
112
|
+
"goal": "Write the actual presentation content \u2014 slide text and speaker notes \u2014 following the approved outline. Every piece of content should be grounded in your audience profile and core message.",
|
|
113
|
+
"constraints": [
|
|
114
|
+
"Write for the ear, not the eye. Slide text should be sparse; speaker notes should sound natural when spoken aloud.",
|
|
115
|
+
"Use active voice and concrete language. Replace abstractions with specific examples.",
|
|
116
|
+
"Prepare backup content for questions or extended time: 2-3 extra slides that can be shown if needed."
|
|
117
|
+
],
|
|
118
|
+
"procedure": [
|
|
119
|
+
"For each slide in your outline, write the visible slide content: headline, key bullets or visual description, and any data or quotes.",
|
|
120
|
+
"Write speaker notes for each slide: talking points, transitions to the next slide, and timing cues.",
|
|
121
|
+
"Develop your key stories and examples in full: the narrative, the specific detail that makes it vivid, and the connection back to your core message.",
|
|
122
|
+
"Prepare interaction scripts: questions for audience polls or discussion, expected responses, and how you will synthesize them back into your presentation.",
|
|
123
|
+
"Write backup slides for anticipated deep-dive questions on your most complex or contentious points."
|
|
124
|
+
],
|
|
125
|
+
"outputRequired": {
|
|
126
|
+
"slideContent": "Full slide content and speaker notes for every slide in the outline.",
|
|
127
|
+
"backupSlides": "Backup slides for anticipated deep-dive questions."
|
|
136
128
|
},
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
129
|
+
"verify": [
|
|
130
|
+
"Does every slide's content trace back to the core message and the audience's needs?",
|
|
131
|
+
"Do the speaker notes sound like something you would actually say?"
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
"askForFiles": true,
|
|
135
|
+
"requireConfirmation": false
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"id": "delivery-preparation",
|
|
139
|
+
"title": "Delivery Preparation",
|
|
140
|
+
"promptBlocks": {
|
|
141
|
+
"goal": "Create a delivery preparation plan tailored to your specific presentation context: the format (in-person, remote, recorded), the venue, and your personal readiness.",
|
|
142
|
+
"constraints": [
|
|
143
|
+
"Adapt this plan to the actual delivery context. Remote and in-person presentations have very different risk profiles.",
|
|
144
|
+
"Practice advice should be actionable, not generic. 'Practice out loud three times with slides' is useful; 'be confident' is not.",
|
|
145
|
+
"Q&A preparation matters as much as the main content for high-stakes presentations."
|
|
146
|
+
],
|
|
147
|
+
"procedure": [
|
|
148
|
+
"Define your practice schedule: how many run-throughs you need, at what level of realism (slides only vs. full setup), and target dates.",
|
|
149
|
+
"Set timing benchmarks: target time for each major section with acceptable variance. Identify which sections you can expand or compress if needed.",
|
|
150
|
+
"Prepare for technical setup: what equipment you need, what to test in advance, and what backup plans you have if something fails.",
|
|
151
|
+
"Anticipate the top 5-10 questions you are likely to receive and draft short, confident responses for each.",
|
|
152
|
+
"Plan your post-presentation follow-up: how will you share materials, continue conversations, and measure whether your call-to-action was effective?"
|
|
153
|
+
],
|
|
154
|
+
"outputRequired": {
|
|
155
|
+
"deliveryPlan": "Practice schedule, timing benchmarks, technical setup and backup plans, Q&A preparation, and follow-up plan."
|
|
156
|
+
},
|
|
157
|
+
"verify": [
|
|
158
|
+
"Is this plan specific to your actual delivery context, or would it apply to any presentation?",
|
|
159
|
+
"Have you accounted for the most likely failure modes given your setting?"
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
"requireConfirmation": false
|
|
163
|
+
}
|
|
164
|
+
]
|
|
165
165
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "production-readiness-audit",
|
|
3
|
-
"name": "Production Readiness Audit (v2
|
|
3
|
+
"name": "Production Readiness Audit (v2 \u2022 Evidence-Driven Readiness Review)",
|
|
4
4
|
"version": "0.1.0",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Use this to audit a codebase scope for production readiness. Checks debugging correctness, runtime operability, artifact realism, technical debt, and anything that would prevent honest production deployment.",
|
|
6
6
|
"recommendedPreferences": {
|
|
7
7
|
"recommendedAutonomy": "guided",
|
|
8
8
|
"recommendedRiskPolicy": "conservative"
|
|
@@ -43,7 +43,10 @@
|
|
|
43
43
|
"goal": "Build the minimum complete understanding needed to audit readiness honestly.",
|
|
44
44
|
"constraints": [
|
|
45
45
|
[
|
|
46
|
-
{
|
|
46
|
+
{
|
|
47
|
+
"kind": "ref",
|
|
48
|
+
"refId": "wr.refs.notes_first_durability"
|
|
49
|
+
}
|
|
47
50
|
],
|
|
48
51
|
"Use tools first. Ask only for true scope or permission gaps you cannot resolve yourself.",
|
|
49
52
|
"Separate in-scope code from adjacent noise before you classify rigor or risk."
|
|
@@ -67,8 +70,14 @@
|
|
|
67
70
|
},
|
|
68
71
|
"requireConfirmation": {
|
|
69
72
|
"or": [
|
|
70
|
-
{
|
|
71
|
-
|
|
73
|
+
{
|
|
74
|
+
"var": "scopeShape",
|
|
75
|
+
"equals": "whole_codebase"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"var": "riskLevel",
|
|
79
|
+
"equals": "High"
|
|
80
|
+
}
|
|
72
81
|
]
|
|
73
82
|
}
|
|
74
83
|
},
|
|
@@ -103,7 +112,10 @@
|
|
|
103
112
|
"goal": "Freeze a neutral readiness fact packet and decide how much reviewer-family parallelism is warranted.",
|
|
104
113
|
"constraints": [
|
|
105
114
|
[
|
|
106
|
-
{
|
|
115
|
+
{
|
|
116
|
+
"kind": "ref",
|
|
117
|
+
"refId": "wr.refs.notes_first_durability"
|
|
118
|
+
}
|
|
107
119
|
],
|
|
108
120
|
"The fact packet is the primary truth for downstream reviewer families.",
|
|
109
121
|
"Keep `readinessHypothesis` as a hypothesis to challenge, not a frame to defend.",
|
|
@@ -131,12 +143,18 @@
|
|
|
131
143
|
"promptFragments": [
|
|
132
144
|
{
|
|
133
145
|
"id": "phase-2-quick",
|
|
134
|
-
"when": {
|
|
146
|
+
"when": {
|
|
147
|
+
"var": "rigorMode",
|
|
148
|
+
"equals": "QUICK"
|
|
149
|
+
},
|
|
135
150
|
"text": "Keep the fact packet compact. QUICK should not manufacture a giant ceremony layer."
|
|
136
151
|
},
|
|
137
152
|
{
|
|
138
153
|
"id": "phase-2-thorough",
|
|
139
|
-
"when": {
|
|
154
|
+
"when": {
|
|
155
|
+
"var": "rigorMode",
|
|
156
|
+
"equals": "THOROUGH"
|
|
157
|
+
},
|
|
140
158
|
"text": "For THOROUGH rigor, make the hidden-risk surfaces explicit: blind spots, fake confidence vectors, and production assumptions that would hurt if wrong."
|
|
141
159
|
}
|
|
142
160
|
],
|
|
@@ -153,10 +171,16 @@
|
|
|
153
171
|
"goal": "Run the selected reviewer families in parallel from the same readiness fact packet, then synthesize their output as evidence rather than conclusions.",
|
|
154
172
|
"constraints": [
|
|
155
173
|
[
|
|
156
|
-
{
|
|
174
|
+
{
|
|
175
|
+
"kind": "ref",
|
|
176
|
+
"refId": "wr.refs.notes_first_durability"
|
|
177
|
+
}
|
|
157
178
|
],
|
|
158
179
|
[
|
|
159
|
-
{
|
|
180
|
+
{
|
|
181
|
+
"kind": "ref",
|
|
182
|
+
"refId": "wr.refs.synthesis_under_disagreement"
|
|
183
|
+
}
|
|
160
184
|
],
|
|
161
185
|
"Each reviewer family must use `readinessFactPacket` as primary truth.",
|
|
162
186
|
"Use `readinessHypothesis` only as comparison context.",
|
|
@@ -203,7 +227,10 @@
|
|
|
203
227
|
"goal": "If contradictions, blind spots, or important coverage gaps remain, run only the smallest targeted follow-up needed.",
|
|
204
228
|
"constraints": [
|
|
205
229
|
[
|
|
206
|
-
{
|
|
230
|
+
{
|
|
231
|
+
"kind": "ref",
|
|
232
|
+
"refId": "wr.refs.parallelize_cognition_serialize_synthesis"
|
|
233
|
+
}
|
|
207
234
|
],
|
|
208
235
|
"Prefer one compact targeted bundle over repeated broad delegation moments.",
|
|
209
236
|
"Do not regather broad context unless a contradiction proves the original fact packet is insufficient.",
|
|
@@ -291,10 +318,16 @@
|
|
|
291
318
|
"goal": "Stress-test the current readiness verdict before final handoff.",
|
|
292
319
|
"constraints": [
|
|
293
320
|
[
|
|
294
|
-
{
|
|
321
|
+
{
|
|
322
|
+
"kind": "ref",
|
|
323
|
+
"refId": "wr.refs.adversarial_challenge_rules"
|
|
324
|
+
}
|
|
295
325
|
],
|
|
296
326
|
[
|
|
297
|
-
{
|
|
327
|
+
{
|
|
328
|
+
"kind": "ref",
|
|
329
|
+
"refId": "wr.refs.synthesis_under_disagreement"
|
|
330
|
+
}
|
|
298
331
|
],
|
|
299
332
|
"Validation output is evidence to synthesize, not automatic authority."
|
|
300
333
|
],
|
|
@@ -319,8 +352,14 @@
|
|
|
319
352
|
},
|
|
320
353
|
"requireConfirmation": {
|
|
321
354
|
"or": [
|
|
322
|
-
{
|
|
323
|
-
|
|
355
|
+
{
|
|
356
|
+
"var": "finalConfidenceBand",
|
|
357
|
+
"equals": "Low"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"var": "finalVerdict",
|
|
361
|
+
"equals": "inconclusive"
|
|
362
|
+
}
|
|
324
363
|
]
|
|
325
364
|
}
|
|
326
365
|
},
|