clinkx 0.2.1 → 0.2.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.
Files changed (63) hide show
  1. package/clinkx-workflows/dist/clink-client.js +35 -10
  2. package/clinkx-workflows/dist/clink-client.js.map +1 -1
  3. package/clinkx-workflows/dist/config.d.ts +10 -0
  4. package/clinkx-workflows/dist/config.js +18 -0
  5. package/clinkx-workflows/dist/config.js.map +1 -1
  6. package/clinkx-workflows/dist/council-expander.d.ts +43 -0
  7. package/clinkx-workflows/dist/council-expander.js +330 -0
  8. package/clinkx-workflows/dist/council-expander.js.map +1 -0
  9. package/clinkx-workflows/dist/index.d.ts +14 -0
  10. package/clinkx-workflows/dist/index.js +264 -16
  11. package/clinkx-workflows/dist/index.js.map +1 -1
  12. package/clinkx-workflows/dist/server.d.ts +8 -1
  13. package/clinkx-workflows/dist/server.js +87 -1
  14. package/clinkx-workflows/dist/server.js.map +1 -1
  15. package/clinkx-workflows/dist/shutdown.d.ts +5 -9
  16. package/clinkx-workflows/dist/shutdown.js +6 -23
  17. package/clinkx-workflows/dist/shutdown.js.map +1 -1
  18. package/clinkx-workflows/dist/state.d.ts +13 -0
  19. package/clinkx-workflows/dist/state.js +198 -2
  20. package/clinkx-workflows/dist/state.js.map +1 -1
  21. package/clinkx-workflows/dist/transport.js +24 -8
  22. package/clinkx-workflows/dist/transport.js.map +1 -1
  23. package/clinkx-workflows/dist/workflow-tools.d.ts +14 -1
  24. package/clinkx-workflows/dist/workflow-tools.js +173 -12
  25. package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
  26. package/clinkx-workflows/dist/workflows/index.d.ts +4 -3
  27. package/clinkx-workflows/dist/workflows/index.js +4 -3
  28. package/clinkx-workflows/dist/workflows/index.js.map +1 -1
  29. package/clinkx-workflows/templates/council/answer-chairman.txt +49 -0
  30. package/clinkx-workflows/templates/council/answer-cross-reviewer.txt +37 -0
  31. package/clinkx-workflows/templates/council/answer-specialist.txt +40 -0
  32. package/clinkx-workflows/templates/council/chairman.txt +59 -0
  33. package/clinkx-workflows/templates/council/code-review-chairman.txt +57 -0
  34. package/clinkx-workflows/templates/council/code-review-cross-reviewer.txt +43 -0
  35. package/clinkx-workflows/templates/council/code-review-reviewer.txt +39 -0
  36. package/clinkx-workflows/templates/council/debug-chairman.txt +57 -0
  37. package/clinkx-workflows/templates/council/debug-cross-reviewer.txt +41 -0
  38. package/clinkx-workflows/templates/council/debug-debugger.txt +46 -0
  39. package/clinkx-workflows/templates/council/discover-analyst.txt +38 -0
  40. package/clinkx-workflows/templates/council/discover-chairman.txt +51 -0
  41. package/clinkx-workflows/templates/council/discover-cross-reviewer.txt +40 -0
  42. package/clinkx-workflows/templates/council/member.txt +48 -0
  43. package/clinkx-workflows/templates/council/reviewer.txt +57 -0
  44. package/clinkx-workflows/workflows/council-answer.yaml +147 -0
  45. package/clinkx-workflows/workflows/council-code-review.yaml +152 -0
  46. package/clinkx-workflows/workflows/council-debug.yaml +152 -0
  47. package/clinkx-workflows/workflows/council-default.yaml +147 -0
  48. package/clinkx-workflows/workflows/council-discover.yaml +147 -0
  49. package/dist/index.d.ts +11 -0
  50. package/dist/index.js +246 -14
  51. package/dist/index.js.map +1 -1
  52. package/dist/pipeline.d.ts +1 -1
  53. package/dist/pipeline.js +29 -5
  54. package/dist/pipeline.js.map +1 -1
  55. package/dist/runner.d.ts +2 -2
  56. package/dist/runner.js +24 -3
  57. package/dist/runner.js.map +1 -1
  58. package/dist/server.js +2 -1
  59. package/dist/server.js.map +1 -1
  60. package/package.json +7 -3
  61. package/clinkx-workflows/dist/workflows/council-default.d.ts +0 -123
  62. package/clinkx-workflows/dist/workflows/council-default.js +0 -141
  63. package/clinkx-workflows/dist/workflows/council-default.js.map +0 -1
@@ -0,0 +1,147 @@
1
+ name: council-answer
2
+ description: "Answer council: specialists respond, cross-reviewers evaluate, chairman synthesizes (1-10 members)"
3
+ version: 1.0.0
4
+
5
+ variables:
6
+ user_request:
7
+ type: string
8
+ required: true
9
+ description: The question to be answered
10
+ mode:
11
+ type: string
12
+ required: false
13
+ default: answer_questions
14
+ description: Answer mode
15
+ rubric:
16
+ type: string
17
+ required: false
18
+ default: '[{"name":"correctness","description":"Factual and logical accuracy","weight":30},{"name":"completeness","description":"Covers the full question and important nuances","weight":20},{"name":"clarity","description":"Clear explanation accessible to the audience","weight":20},{"name":"helpfulness","description":"Practical value and actionability","weight":15},{"name":"uncertainty_handling","description":"Honest about unknowns and confidence levels","weight":15}]'
19
+ description: Evaluation rubric for specialists and reviewers
20
+ context_files:
21
+ type: string[]
22
+ required: false
23
+ default: []
24
+ description: Optional file paths (absolute, or relative to workspace root) shared with the council
25
+ context_images:
26
+ type: string[]
27
+ required: false
28
+ default: []
29
+ description: Optional image paths (absolute, or relative to workspace root) shared with the council
30
+
31
+ settings:
32
+ timeout_seconds: 1800
33
+
34
+ stages:
35
+ - id: specialists
36
+ description: "Council members propose answers independently"
37
+ parallel: true
38
+ retry:
39
+ mode: all
40
+ max_retries: 1
41
+ backoff_seconds: 10
42
+ max_backoff_seconds: 60
43
+ on_failure: continue
44
+ calls:
45
+ - id: specialist_a
46
+ cli_name: codex
47
+ role: json-default
48
+ prompt_template: council/answer-specialist.txt
49
+ absolute_file_paths_from: context_files
50
+ images_from: context_images
51
+ validator_schema_id: council_answer_specialist_v2
52
+ - id: specialist_b
53
+ cli_name: codex
54
+ role: json-default
55
+ prompt_template: council/answer-specialist.txt
56
+ absolute_file_paths_from: context_files
57
+ images_from: context_images
58
+ validator_schema_id: council_answer_specialist_v2
59
+ - id: specialist_c
60
+ cli_name: claude
61
+ role: json-default
62
+ prompt_template: council/answer-specialist.txt
63
+ absolute_file_paths_from: context_files
64
+ images_from: context_images
65
+ validator_schema_id: council_answer_specialist_v2
66
+
67
+ - id: cross_review
68
+ description: "Cross-reviewers evaluate proposals anonymously"
69
+ parallel: true
70
+ retry:
71
+ mode: all
72
+ max_retries: 1
73
+ backoff_seconds: 10
74
+ max_backoff_seconds: 60
75
+ on_failure: continue
76
+ calls:
77
+ - id: cross_reviewer_a
78
+ cli_name: codex
79
+ role: json-default
80
+ absolute_file_paths_from: context_files
81
+ images_from: context_images
82
+ prompt_template: council/answer-cross-reviewer.txt
83
+ anonymize_context: true
84
+ context_from:
85
+ - specialists
86
+ validator_schema_id: council_answer_cross_reviewer_v4
87
+ - id: cross_reviewer_b
88
+ cli_name: codex
89
+ role: json-default
90
+ absolute_file_paths_from: context_files
91
+ images_from: context_images
92
+ prompt_template: council/answer-cross-reviewer.txt
93
+ anonymize_context: true
94
+ context_from:
95
+ - specialists
96
+ validator_schema_id: council_answer_cross_reviewer_v4
97
+ - id: cross_reviewer_c
98
+ cli_name: claude
99
+ role: json-default
100
+ absolute_file_paths_from: context_files
101
+ images_from: context_images
102
+ prompt_template: council/answer-cross-reviewer.txt
103
+ anonymize_context: true
104
+ context_from:
105
+ - specialists
106
+ validator_schema_id: council_answer_cross_reviewer_v4
107
+
108
+ - id: ranking_analysis
109
+ description: "Deterministic ranking of proposals"
110
+ parallel: false
111
+ retry:
112
+ mode: transport_only
113
+ max_retries: 0
114
+ backoff_seconds: 0
115
+ max_backoff_seconds: 0
116
+ on_failure: continue
117
+ calls:
118
+ - id: ranking
119
+ cli_name: codex
120
+ role: json-default
121
+ reducer: council_ranking_v1
122
+ prompt: "Deterministic ranking reducer"
123
+ context_from:
124
+ - cross_review
125
+ validator_schema_id: council_ranking_reducer_v1
126
+
127
+ - id: chairman
128
+ description: "Chairman synthesizes final answer"
129
+ parallel: false
130
+ retry:
131
+ mode: transport_only
132
+ max_retries: 1
133
+ backoff_seconds: 10
134
+ max_backoff_seconds: 60
135
+ on_failure: abort
136
+ calls:
137
+ - id: chairman
138
+ cli_name: codex
139
+ role: json-default
140
+ prompt_template: council/answer-chairman.txt
141
+ absolute_file_paths_from: context_files
142
+ images_from: context_images
143
+ context_from:
144
+ - specialists
145
+ - cross_review
146
+ - ranking_analysis
147
+ validator_schema_id: council_answer_chairman_v1
@@ -0,0 +1,152 @@
1
+ name: council-code-review
2
+ description: "Code review council: reviewers assess, cross-reviewers evaluate, chairman decides (1-10 members)"
3
+ version: 1.0.0
4
+
5
+ variables:
6
+ user_request:
7
+ type: string
8
+ required: true
9
+ description: The code review request including context
10
+ mode:
11
+ type: string
12
+ required: false
13
+ default: code_review
14
+ description: Review mode
15
+ rubric:
16
+ type: string
17
+ required: false
18
+ default: '[{"name":"correctness","description":"Logic correctness and bug detection","weight":25},{"name":"security","description":"Security vulnerability identification","weight":20},{"name":"performance","description":"Performance impact analysis","weight":15},{"name":"readability","description":"Code readability and maintainability","weight":15},{"name":"test_coverage","description":"Test adequacy and coverage gaps","weight":15},{"name":"api_stability","description":"API stability and backwards compatibility","weight":10}]'
19
+ description: Evaluation rubric for reviewers
20
+ diff_context:
21
+ type: string
22
+ required: false
23
+ default: ""
24
+ description: Optional diff or code context to review
25
+ context_files:
26
+ type: string[]
27
+ required: false
28
+ default: []
29
+ description: Optional file paths (absolute, or relative to workspace root) shared with the council
30
+ context_images:
31
+ type: string[]
32
+ required: false
33
+ default: []
34
+ description: Optional image paths (absolute, or relative to workspace root) shared with the council
35
+
36
+ settings:
37
+ timeout_seconds: 1800
38
+
39
+ stages:
40
+ - id: reviewers
41
+ description: "Council members review code independently"
42
+ parallel: true
43
+ retry:
44
+ mode: all
45
+ max_retries: 1
46
+ backoff_seconds: 10
47
+ max_backoff_seconds: 60
48
+ on_failure: continue
49
+ calls:
50
+ - id: reviewer_a
51
+ cli_name: codex
52
+ role: json-codereviewer
53
+ prompt_template: council/code-review-reviewer.txt
54
+ absolute_file_paths_from: context_files
55
+ images_from: context_images
56
+ validator_schema_id: council_code_review_reviewer_v1
57
+ - id: reviewer_b
58
+ cli_name: codex
59
+ role: json-codereviewer
60
+ prompt_template: council/code-review-reviewer.txt
61
+ absolute_file_paths_from: context_files
62
+ images_from: context_images
63
+ validator_schema_id: council_code_review_reviewer_v1
64
+ - id: reviewer_c
65
+ cli_name: claude
66
+ role: json-codereviewer
67
+ prompt_template: council/code-review-reviewer.txt
68
+ absolute_file_paths_from: context_files
69
+ images_from: context_images
70
+ validator_schema_id: council_code_review_reviewer_v1
71
+
72
+ - id: cross_review
73
+ description: "Cross-reviewers evaluate reviews anonymously"
74
+ parallel: true
75
+ retry:
76
+ mode: all
77
+ max_retries: 1
78
+ backoff_seconds: 10
79
+ max_backoff_seconds: 60
80
+ on_failure: continue
81
+ calls:
82
+ - id: cross_reviewer_a
83
+ cli_name: codex
84
+ role: json-codereviewer
85
+ prompt_template: council/code-review-cross-reviewer.txt
86
+ absolute_file_paths_from: context_files
87
+ images_from: context_images
88
+ anonymize_context: true
89
+ context_from:
90
+ - reviewers
91
+ validator_schema_id: council_code_review_cross_reviewer_v4
92
+ - id: cross_reviewer_b
93
+ cli_name: codex
94
+ role: json-codereviewer
95
+ prompt_template: council/code-review-cross-reviewer.txt
96
+ absolute_file_paths_from: context_files
97
+ images_from: context_images
98
+ anonymize_context: true
99
+ context_from:
100
+ - reviewers
101
+ validator_schema_id: council_code_review_cross_reviewer_v4
102
+ - id: cross_reviewer_c
103
+ cli_name: claude
104
+ role: json-codereviewer
105
+ prompt_template: council/code-review-cross-reviewer.txt
106
+ absolute_file_paths_from: context_files
107
+ images_from: context_images
108
+ anonymize_context: true
109
+ context_from:
110
+ - reviewers
111
+ validator_schema_id: council_code_review_cross_reviewer_v4
112
+
113
+ - id: ranking_analysis
114
+ description: "Deterministic ranking of reviews"
115
+ parallel: false
116
+ retry:
117
+ mode: transport_only
118
+ max_retries: 0
119
+ backoff_seconds: 0
120
+ max_backoff_seconds: 0
121
+ on_failure: continue
122
+ calls:
123
+ - id: ranking
124
+ cli_name: codex
125
+ role: json-codereviewer
126
+ reducer: council_ranking_v1
127
+ prompt: "Deterministic ranking reducer"
128
+ context_from:
129
+ - cross_review
130
+ validator_schema_id: council_ranking_reducer_v1
131
+
132
+ - id: chairman
133
+ description: "Chairman synthesizes code review verdict"
134
+ parallel: false
135
+ retry:
136
+ mode: transport_only
137
+ max_retries: 1
138
+ backoff_seconds: 10
139
+ max_backoff_seconds: 60
140
+ on_failure: abort
141
+ calls:
142
+ - id: chairman
143
+ cli_name: codex
144
+ role: json-codereviewer
145
+ prompt_template: council/code-review-chairman.txt
146
+ absolute_file_paths_from: context_files
147
+ images_from: context_images
148
+ context_from:
149
+ - reviewers
150
+ - cross_review
151
+ - ranking_analysis
152
+ validator_schema_id: council_code_review_chairman_v1
@@ -0,0 +1,152 @@
1
+ name: council-debug
2
+ description: "Debug council: debuggers analyze, cross-reviewers evaluate, chairman decides (1-10 members)"
3
+ version: 1.0.0
4
+
5
+ variables:
6
+ user_request:
7
+ type: string
8
+ required: true
9
+ description: The debugging request including bug description
10
+ mode:
11
+ type: string
12
+ required: false
13
+ default: debug
14
+ description: Debug mode
15
+ rubric:
16
+ type: string
17
+ required: false
18
+ default: '[{"name":"diagnostic_depth","description":"Breadth and depth of causal analysis","weight":25},{"name":"hypothesis_quality","description":"Plausibility and discriminative power of hypotheses","weight":20},{"name":"consistency_with_evidence","description":"Grounding in logs, code, and symptoms","weight":25},{"name":"safety_side_effect_awareness","description":"Awareness of rollback risk and blast radius","weight":15},{"name":"clarity_of_next_steps","description":"Actionable diagnostic and remediation plan","weight":15}]'
19
+ description: Evaluation rubric for debuggers and reviewers
20
+ error_context:
21
+ type: string
22
+ required: false
23
+ default: ""
24
+ description: Optional error logs, stack traces, or reproduction steps
25
+ context_files:
26
+ type: string[]
27
+ required: false
28
+ default: []
29
+ description: Optional file paths (absolute, or relative to workspace root) shared with the council
30
+ context_images:
31
+ type: string[]
32
+ required: false
33
+ default: []
34
+ description: Optional image paths (absolute, or relative to workspace root) shared with the council
35
+
36
+ settings:
37
+ timeout_seconds: 1800
38
+
39
+ stages:
40
+ - id: debuggers
41
+ description: "Council members diagnose the issue independently"
42
+ parallel: true
43
+ retry:
44
+ mode: all
45
+ max_retries: 1
46
+ backoff_seconds: 10
47
+ max_backoff_seconds: 60
48
+ on_failure: continue
49
+ calls:
50
+ - id: debugger_a
51
+ cli_name: codex
52
+ role: json-debug
53
+ prompt_template: council/debug-debugger.txt
54
+ absolute_file_paths_from: context_files
55
+ images_from: context_images
56
+ validator_schema_id: council_debug_debugger_v2
57
+ - id: debugger_b
58
+ cli_name: codex
59
+ role: json-debug
60
+ prompt_template: council/debug-debugger.txt
61
+ absolute_file_paths_from: context_files
62
+ images_from: context_images
63
+ validator_schema_id: council_debug_debugger_v2
64
+ - id: debugger_c
65
+ cli_name: claude
66
+ role: json-debug
67
+ prompt_template: council/debug-debugger.txt
68
+ absolute_file_paths_from: context_files
69
+ images_from: context_images
70
+ validator_schema_id: council_debug_debugger_v2
71
+
72
+ - id: cross_review
73
+ description: "Cross-reviewers evaluate diagnoses anonymously"
74
+ parallel: true
75
+ retry:
76
+ mode: all
77
+ max_retries: 1
78
+ backoff_seconds: 10
79
+ max_backoff_seconds: 60
80
+ on_failure: continue
81
+ calls:
82
+ - id: cross_reviewer_a
83
+ cli_name: codex
84
+ role: json-debug
85
+ prompt_template: council/debug-cross-reviewer.txt
86
+ absolute_file_paths_from: context_files
87
+ images_from: context_images
88
+ anonymize_context: true
89
+ context_from:
90
+ - debuggers
91
+ validator_schema_id: council_debug_cross_reviewer_v4
92
+ - id: cross_reviewer_b
93
+ cli_name: codex
94
+ role: json-debug
95
+ prompt_template: council/debug-cross-reviewer.txt
96
+ absolute_file_paths_from: context_files
97
+ images_from: context_images
98
+ anonymize_context: true
99
+ context_from:
100
+ - debuggers
101
+ validator_schema_id: council_debug_cross_reviewer_v4
102
+ - id: cross_reviewer_c
103
+ cli_name: claude
104
+ role: json-debug
105
+ prompt_template: council/debug-cross-reviewer.txt
106
+ absolute_file_paths_from: context_files
107
+ images_from: context_images
108
+ anonymize_context: true
109
+ context_from:
110
+ - debuggers
111
+ validator_schema_id: council_debug_cross_reviewer_v4
112
+
113
+ - id: ranking_analysis
114
+ description: "Deterministic ranking of diagnoses"
115
+ parallel: false
116
+ retry:
117
+ mode: transport_only
118
+ max_retries: 0
119
+ backoff_seconds: 0
120
+ max_backoff_seconds: 0
121
+ on_failure: continue
122
+ calls:
123
+ - id: ranking
124
+ cli_name: codex
125
+ role: json-debug
126
+ reducer: council_ranking_v1
127
+ prompt: "Deterministic ranking reducer"
128
+ context_from:
129
+ - cross_review
130
+ validator_schema_id: council_ranking_reducer_v1
131
+
132
+ - id: chairman
133
+ description: "Chairman synthesizes debugging verdict"
134
+ parallel: false
135
+ retry:
136
+ mode: transport_only
137
+ max_retries: 1
138
+ backoff_seconds: 10
139
+ max_backoff_seconds: 60
140
+ on_failure: abort
141
+ calls:
142
+ - id: chairman
143
+ cli_name: codex
144
+ role: json-debug
145
+ prompt_template: council/debug-chairman.txt
146
+ absolute_file_paths_from: context_files
147
+ images_from: context_images
148
+ context_from:
149
+ - debuggers
150
+ - cross_review
151
+ - ranking_analysis
152
+ validator_schema_id: council_debug_chairman_v1
@@ -0,0 +1,147 @@
1
+ name: council-default
2
+ description: "Multi-agent council: members propose, cross-reviewers evaluate, chairman decides (1-10 members)"
3
+ version: 1.0.0
4
+
5
+ variables:
6
+ user_request:
7
+ type: string
8
+ required: true
9
+ description: The user's request to be evaluated by the council
10
+ deliberation_style:
11
+ type: string
12
+ required: false
13
+ default: balanced
14
+ description: "Council deliberation style: balanced, creative, or conservative"
15
+ rubric:
16
+ type: string
17
+ required: false
18
+ default: '[{"name":"correctness","description":"Technical truth and fidelity to provided files","weight":25},{"name":"completeness","description":"Covers the full request and major edge cases","weight":20},{"name":"clarity","description":"Readable structure and directness","weight":15},{"name":"safety","description":"No harmful or incorrect recommendations","weight":10},{"name":"practicality","description":"Implementation realism and operational cost","weight":15},{"name":"depth_of_reasoning","description":"Analytical depth and evidence quality","weight":15}]'
19
+ description: Evaluation rubric for council members and reviewers
20
+ context_files:
21
+ type: string[]
22
+ required: false
23
+ default: []
24
+ description: Optional file paths (absolute, or relative to workspace root) shared with the council
25
+ context_images:
26
+ type: string[]
27
+ required: false
28
+ default: []
29
+ description: Optional image paths (absolute, or relative to workspace root) shared with the council
30
+
31
+ settings:
32
+ timeout_seconds: 1800
33
+
34
+ stages:
35
+ - id: members
36
+ description: "Council members propose solutions independently"
37
+ parallel: true
38
+ retry:
39
+ mode: all
40
+ max_retries: 1
41
+ backoff_seconds: 5
42
+ max_backoff_seconds: 30
43
+ on_failure: continue
44
+ calls:
45
+ - id: member_a
46
+ cli_name: codex
47
+ role: json-default
48
+ prompt_template: council/member.txt
49
+ absolute_file_paths_from: context_files
50
+ images_from: context_images
51
+ validator_schema_id: council_member_v2
52
+ - id: member_b
53
+ cli_name: codex
54
+ role: json-default
55
+ prompt_template: council/member.txt
56
+ absolute_file_paths_from: context_files
57
+ images_from: context_images
58
+ validator_schema_id: council_member_v2
59
+ - id: member_c
60
+ cli_name: claude
61
+ role: json-default
62
+ prompt_template: council/member.txt
63
+ absolute_file_paths_from: context_files
64
+ images_from: context_images
65
+ validator_schema_id: council_member_v2
66
+
67
+ - id: reviewers
68
+ description: "Cross-reviewers evaluate proposals anonymously"
69
+ parallel: true
70
+ retry:
71
+ mode: all
72
+ max_retries: 1
73
+ backoff_seconds: 5
74
+ max_backoff_seconds: 30
75
+ on_failure: continue
76
+ calls:
77
+ - id: reviewer_a
78
+ cli_name: codex
79
+ role: json-default
80
+ absolute_file_paths_from: context_files
81
+ images_from: context_images
82
+ prompt_template: council/reviewer.txt
83
+ anonymize_context: true
84
+ context_from:
85
+ - members
86
+ validator_schema_id: council_reviewer_v4
87
+ - id: reviewer_b
88
+ cli_name: codex
89
+ role: json-default
90
+ absolute_file_paths_from: context_files
91
+ images_from: context_images
92
+ prompt_template: council/reviewer.txt
93
+ anonymize_context: true
94
+ context_from:
95
+ - members
96
+ validator_schema_id: council_reviewer_v4
97
+ - id: reviewer_c
98
+ cli_name: claude
99
+ role: json-default
100
+ absolute_file_paths_from: context_files
101
+ images_from: context_images
102
+ prompt_template: council/reviewer.txt
103
+ anonymize_context: true
104
+ context_from:
105
+ - members
106
+ validator_schema_id: council_reviewer_v4
107
+
108
+ - id: ranking_analysis
109
+ description: "Deterministic ranking of proposals"
110
+ parallel: false
111
+ retry:
112
+ mode: transport_only
113
+ max_retries: 0
114
+ backoff_seconds: 0
115
+ max_backoff_seconds: 0
116
+ on_failure: continue
117
+ calls:
118
+ - id: ranking
119
+ cli_name: codex
120
+ role: json-default
121
+ reducer: council_ranking_v1
122
+ prompt: "Deterministic ranking reducer"
123
+ context_from:
124
+ - reviewers
125
+ validator_schema_id: council_ranking_reducer_v1
126
+
127
+ - id: chairman
128
+ description: "Chairman synthesizes final verdict"
129
+ parallel: false
130
+ retry:
131
+ mode: transport_only
132
+ max_retries: 1
133
+ backoff_seconds: 10
134
+ max_backoff_seconds: 60
135
+ on_failure: abort
136
+ calls:
137
+ - id: chairman
138
+ cli_name: codex
139
+ role: json-default
140
+ prompt_template: council/chairman.txt
141
+ absolute_file_paths_from: context_files
142
+ images_from: context_images
143
+ context_from:
144
+ - members
145
+ - reviewers
146
+ - ranking_analysis
147
+ validator_schema_id: council_chairman_v1