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
@@ -28,6 +28,7 @@ import { deriveDecisiveFailure } from "./run-summary-derived.js";
28
28
  import { buildRunSummaryOrUndefined, buildFailureRunSummary } from "./run-summary.js";
29
29
  import { extractCard } from "./run-summary/cards/index.js";
30
30
  import { renderWorkflowReceipt } from "./workflow-receipt.js";
31
+ import { supportsRuntimeMembers, COUNCIL_RUNTIME_MEMBER_WORKFLOWS, expandCouncilComposition } from "./council-expander.js";
31
32
  // ---------------------------------------------------------------------------
32
33
  // Admission control
33
34
  // ---------------------------------------------------------------------------
@@ -43,6 +44,87 @@ function acquireMutex(runId) {
43
44
  function releaseMutex() {
44
45
  activeMutex = null;
45
46
  }
47
+ export function parseMembersOverride(raw, knownCliNames) {
48
+ if (raw == null)
49
+ return undefined;
50
+ if (!Array.isArray(raw)) {
51
+ throw new McpError(ErrorCode.InvalidParams, "members must be an array");
52
+ }
53
+ if (raw.length === 0) {
54
+ throw new McpError(ErrorCode.InvalidParams, "members array must not be empty");
55
+ }
56
+ if (raw.length > 10) {
57
+ throw new McpError(ErrorCode.InvalidParams, "members array must have at most 10 entries");
58
+ }
59
+ const result = [];
60
+ for (let i = 0; i < raw.length; i++) {
61
+ const item = raw[i];
62
+ if (item == null || typeof item !== "object" || Array.isArray(item)) {
63
+ throw new McpError(ErrorCode.InvalidParams, `members[${i}] must be a non-null object`);
64
+ }
65
+ const keys = Object.keys(item);
66
+ const allowedKeys = new Set(["cli_name", "stance"]);
67
+ for (const key of keys) {
68
+ if (!allowedKeys.has(key)) {
69
+ throw new McpError(ErrorCode.InvalidParams, `members[${i}] has unexpected key "${key}"`);
70
+ }
71
+ }
72
+ const obj = item;
73
+ if (typeof obj["cli_name"] !== "string") {
74
+ throw new McpError(ErrorCode.InvalidParams, `members[${i}].cli_name must be a string`);
75
+ }
76
+ const cliName = obj["cli_name"].trim();
77
+ if (cliName === "") {
78
+ throw new McpError(ErrorCode.InvalidParams, `members[${i}].cli_name must not be empty`);
79
+ }
80
+ if (knownCliNames != null && !knownCliNames.has(cliName)) {
81
+ const available = [...knownCliNames].sort().join(", ");
82
+ throw new McpError(ErrorCode.InvalidParams, `members[${i}].cli_name "${cliName}" is not a known adapter. Available: ${available}`);
83
+ }
84
+ const entry = { cli_name: cliName };
85
+ if (obj["stance"] !== undefined) {
86
+ if (typeof obj["stance"] !== "string") {
87
+ throw new McpError(ErrorCode.InvalidParams, `members[${i}].stance must be a string`);
88
+ }
89
+ const trimmed = obj["stance"].trim();
90
+ const collapsed = trimmed.replace(/\s+/g, " ");
91
+ if (collapsed === "") {
92
+ throw new McpError(ErrorCode.InvalidParams, `members[${i}].stance must not be blank`);
93
+ }
94
+ if (collapsed.includes("{{") || collapsed.includes("}}")) {
95
+ throw new McpError(ErrorCode.InvalidParams, "stance must not contain {{ or }}");
96
+ }
97
+ if (collapsed.length > 200) {
98
+ throw new McpError(ErrorCode.InvalidParams, `members[${i}].stance must be at most 200 characters after normalization`);
99
+ }
100
+ entry.stance = collapsed;
101
+ }
102
+ else if (i >= 3) {
103
+ throw new McpError(ErrorCode.InvalidParams, "stance is required for members at index 3 and above");
104
+ }
105
+ result.push(entry);
106
+ }
107
+ return result;
108
+ }
109
+ // ---------------------------------------------------------------------------
110
+ // Chairman override parser
111
+ // ---------------------------------------------------------------------------
112
+ export function parseChairmanOverride(raw, knownCliNames) {
113
+ if (raw == null)
114
+ return undefined;
115
+ if (typeof raw !== "string") {
116
+ throw new McpError(ErrorCode.InvalidParams, "chairman must be a string");
117
+ }
118
+ const trimmed = raw.trim();
119
+ if (trimmed === "") {
120
+ throw new McpError(ErrorCode.InvalidParams, "chairman must not be empty");
121
+ }
122
+ if (knownCliNames != null && !knownCliNames.has(trimmed)) {
123
+ const available = [...knownCliNames].sort().join(", ");
124
+ throw new McpError(ErrorCode.InvalidParams, `chairman "${trimmed}" is not a known adapter. Available: ${available}`);
125
+ }
126
+ return trimmed;
127
+ }
46
128
  // ---------------------------------------------------------------------------
47
129
  // Variable validation (6-6)
48
130
  // ---------------------------------------------------------------------------
@@ -616,18 +698,33 @@ async function executeRunWorkflow(server, options, args, signal, progressToken)
616
698
  const validatorRegistry = createValidatorRegistry();
617
699
  const loaded = loadWorkflow(workflow, {
618
700
  templatesRoot: options.templatesRoot ?? getTemplatesPath(),
701
+ workflowsPath: options.workflowsPath,
619
702
  validatorRegistry,
620
703
  });
704
+ const knownCliNames = options.availableCliNames != null
705
+ ? new Set(options.availableCliNames)
706
+ : undefined;
707
+ const parsedMembers = parseMembersOverride(args["members"], knownCliNames);
708
+ const parsedChairman = parseChairmanOverride(args["chairman"], knownCliNames);
709
+ if (parsedMembers != null && !COUNCIL_RUNTIME_MEMBER_WORKFLOWS.has(workflow)) {
710
+ throw new McpError(ErrorCode.InvalidParams, `members parameter is not supported for workflow "${workflow}"`);
711
+ }
712
+ if (parsedChairman != null && !COUNCIL_RUNTIME_MEMBER_WORKFLOWS.has(workflow)) {
713
+ throw new McpError(ErrorCode.InvalidParams, `chairman parameter is not supported for workflow "${workflow}"`);
714
+ }
621
715
  const resolvedVariables = validateVariables(variables, loaded.definition.variables);
622
716
  acquireMutex(runId);
623
717
  let store = null;
624
718
  let backend = null;
625
719
  let reporter;
626
720
  try {
721
+ const effectiveDefinition = (parsedMembers != null || parsedChairman != null)
722
+ ? expandCouncilComposition(loaded.normalized, parsedMembers ?? undefined, workflow, parsedChairman)
723
+ : loaded.normalized;
627
724
  // Create state store (resumable if child config path is set)
628
725
  store = await WorkflowStateStore.create({
629
726
  runId,
630
- definition: loaded.normalized,
727
+ definition: effectiveDefinition,
631
728
  variables: resolvedVariables,
632
729
  debugKeepArtifacts: debug,
633
730
  });
@@ -652,7 +749,7 @@ async function executeRunWorkflow(server, options, args, signal, progressToken)
652
749
  // Build engine hooks — capture store in a const for closure narrowing
653
750
  const storeRef = store;
654
751
  reporter = progressToken != null
655
- ? new WorkflowProgressReporter(server, progressToken, runId, loaded.normalized)
752
+ ? new WorkflowProgressReporter(server, progressToken, runId, effectiveDefinition)
656
753
  : undefined;
657
754
  const rpt = reporter; // local const for closure narrowing
658
755
  const hooks = {
@@ -671,7 +768,7 @@ async function executeRunWorkflow(server, options, args, signal, progressToken)
671
768
  : {}),
672
769
  };
673
770
  const engine = new WorkflowEngine({
674
- definition: loaded.normalized,
771
+ definition: effectiveDefinition,
675
772
  session: backend,
676
773
  variables: resolvedVariables,
677
774
  validatorRegistry,
@@ -686,7 +783,7 @@ async function executeRunWorkflow(server, options, args, signal, progressToken)
686
783
  let summary;
687
784
  if (receipt) {
688
785
  try {
689
- const cardExtractor = createCardExtractor(loaded.normalized);
786
+ const cardExtractor = createCardExtractor(effectiveDefinition);
690
787
  summary = buildRunSummaryOrUndefined(result, store, cardExtractor);
691
788
  }
692
789
  catch (err) {
@@ -901,8 +998,8 @@ async function executeResumeWorkflow(server, options, args, signal, progressToke
901
998
  releaseMutex();
902
999
  }
903
1000
  }
904
- function executeListWorkflows() {
905
- const workflows = listWorkflowCatalog();
1001
+ function executeListWorkflows(workflowsPath, availableCliNames) {
1002
+ const workflows = listWorkflowCatalog(workflowsPath);
906
1003
  const entries = [];
907
1004
  for (const [name, entry] of workflows) {
908
1005
  const def = entry.definition;
@@ -912,6 +1009,13 @@ function executeListWorkflows() {
912
1009
  version: def.version,
913
1010
  source: entry.source,
914
1011
  shadowed_yaml: entry.shadowedYaml,
1012
+ supports_members: supportsRuntimeMembers(name),
1013
+ supports_chairman: supportsRuntimeMembers(name),
1014
+ ...(supportsRuntimeMembers(name) ? {
1015
+ members_min: 1,
1016
+ members_max: 10,
1017
+ members_stance_required_from_index: 3,
1018
+ } : {}),
915
1019
  ...(entry.path != null ? { path: basename(entry.path) } : {}),
916
1020
  variables: Object.fromEntries(Object.entries(def.variables).map(([varName, varDef]) => [
917
1021
  varName,
@@ -924,11 +1028,15 @@ function executeListWorkflows() {
924
1028
  ])),
925
1029
  });
926
1030
  }
1031
+ const response = { workflows: entries };
1032
+ if (availableCliNames != null && availableCliNames.length > 0) {
1033
+ response["available_cli_names"] = [...availableCliNames].sort();
1034
+ }
927
1035
  return {
928
1036
  content: [
929
1037
  {
930
1038
  type: "text",
931
- text: JSON.stringify({ workflows: entries }, null, 2),
1039
+ text: JSON.stringify(response, null, 2),
932
1040
  },
933
1041
  ],
934
1042
  };
@@ -964,6 +1072,31 @@ const RUN_WORKFLOW_SCHEMA = {
964
1072
  description: "When true, append a structured receipt summarizing the workflow run as a content block",
965
1073
  default: false,
966
1074
  },
1075
+ members: {
1076
+ type: "array",
1077
+ description: "Optional runtime council member composition override. Accepted only for council workflows (council-default, council-answer, council-code-review, council-debug, council-discover). Each entry specifies a CLI adapter and an optional analytical stance. Seats at indices 0-2 may omit stance (inherits default); seats at indices 3-9 MUST provide stance. When provided, both the member stage (stage 0) and reviewer stage (stage 1) are expanded to match the specified count and CLI mapping. Reviewer stances are NOT inherited — reviewers keep their default review lens.",
1078
+ minItems: 1,
1079
+ maxItems: 10,
1080
+ items: {
1081
+ type: "object",
1082
+ properties: {
1083
+ cli_name: {
1084
+ type: "string",
1085
+ description: "Name of the CLI adapter to use for this council seat",
1086
+ },
1087
+ stance: {
1088
+ type: "string",
1089
+ description: "Analytical stance or perspective for this council seat. Required for seats at indices 3-9. Server enforces a 200-character limit after whitespace normalization (trim + collapse). Must not contain {{ or }}.",
1090
+ },
1091
+ },
1092
+ required: ["cli_name"],
1093
+ additionalProperties: false,
1094
+ },
1095
+ },
1096
+ chairman: {
1097
+ type: "string",
1098
+ description: "Optional CLI adapter name override for the council chairman seat. Accepted only for council workflows. Only changes the LLM adapter; the chairman's role and prompt template are preserved.",
1099
+ },
967
1100
  },
968
1101
  required: ["workflow", "run_id"],
969
1102
  additionalProperties: false,
@@ -1001,10 +1134,10 @@ const LIST_WORKFLOWS_SCHEMA = {
1001
1134
  * Dynamically discovers available workflows to include in the
1002
1135
  * run_workflow description. Safe to call repeatedly — no side effects.
1003
1136
  */
1004
- export function getWorkflowToolDefinitions() {
1137
+ export function getWorkflowToolDefinitions(workflowsPath, availableCliNames) {
1005
1138
  let catalogEntries;
1006
1139
  try {
1007
- catalogEntries = listWorkflowCatalog();
1140
+ catalogEntries = listWorkflowCatalog(workflowsPath);
1008
1141
  }
1009
1142
  catch {
1010
1143
  // Non-fatal — list_workflows will report the error at call time
@@ -1018,6 +1151,34 @@ export function getWorkflowToolDefinitions() {
1018
1151
  const props = runSchema["properties"];
1019
1152
  props["workflow"] = { ...props["workflow"], enum: names };
1020
1153
  }
1154
+ // C1a: Inject dynamic enum for cli_name in members items + chairman
1155
+ if (availableCliNames != null && availableCliNames.length > 0) {
1156
+ const props = runSchema["properties"];
1157
+ const sorted = [...availableCliNames].sort();
1158
+ // members[].cli_name enum
1159
+ const members = props["members"];
1160
+ if (members != null) {
1161
+ const items = members["items"];
1162
+ if (items != null) {
1163
+ const itemProps = items["properties"];
1164
+ if (itemProps?.["cli_name"] != null) {
1165
+ itemProps["cli_name"] = {
1166
+ ...itemProps["cli_name"],
1167
+ enum: sorted,
1168
+ description: `Name of the CLI adapter to use for this council seat. Available: ${sorted.join(", ")}`,
1169
+ };
1170
+ }
1171
+ }
1172
+ }
1173
+ // chairman enum
1174
+ if (props["chairman"] != null) {
1175
+ props["chairman"] = {
1176
+ ...props["chairman"],
1177
+ enum: sorted,
1178
+ description: `CLI adapter for the chairman seat. Available: ${sorted.join(", ")}`,
1179
+ };
1180
+ }
1181
+ }
1021
1182
  // C2 + C3: Build rich description with per-workflow variables
1022
1183
  let workflowSuffix = "";
1023
1184
  if (names.length > MAX_INLINE_WORKFLOW_DETAILS) {
@@ -1051,7 +1212,7 @@ export function getWorkflowToolDefinitions() {
1051
1212
  return [
1052
1213
  {
1053
1214
  name: "run_workflow",
1054
- description: `Start a new multi-stage workflow execution.${workflowSuffix}`,
1215
+ description: `Start a new multi-stage workflow execution.${workflowSuffix}\nAccepts optional \`members\` and \`chairman\` parameters for council workflows (council-default, council-answer, council-code-review, council-debug, council-discover) to override member/reviewer composition and chairman CLI adapter at runtime.`,
1055
1216
  inputSchema: runSchema,
1056
1217
  },
1057
1218
  {
@@ -1087,7 +1248,7 @@ export async function handleWorkflowToolCall(server, options, name, args, signal
1087
1248
  case "resume_workflow":
1088
1249
  return await executeResumeWorkflow(server, options, args, signal, progressToken);
1089
1250
  case "list_workflows":
1090
- return executeListWorkflows();
1251
+ return executeListWorkflows(options.workflowsPath, options.availableCliNames);
1091
1252
  default:
1092
1253
  return null;
1093
1254
  }
@@ -1111,7 +1272,7 @@ export async function handleWorkflowToolCall(server, options, name, args, signal
1111
1272
  export function registerWorkflowTools(server, options) {
1112
1273
  // tools/list
1113
1274
  server.setRequestHandler(ListToolsRequestSchema, async () => {
1114
- return { tools: getWorkflowToolDefinitions() };
1275
+ return { tools: getWorkflowToolDefinitions(options.workflowsPath, options.availableCliNames) };
1115
1276
  });
1116
1277
  // tools/call
1117
1278
  server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-tools.js","sourceRoot":"","sources":["../src/workflow-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-tools.js","sourceRoot":"","sources":["../src/workflow-tools.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * Built-in workflow registry for clinkx-workflows.
3
3
  *
4
- * v1a: only built-in TypeScript definitions no YAML, no filesystem discovery.
5
- * Export a registry map from workflow name to raw definition object.
4
+ * Shipped YAML files are the canonical workflow definitions. This registry is
5
+ * intentionally empty by default and exists only as an optional fallback
6
+ * extension point.
6
7
  */
7
8
  /**
8
- * Get the registry of built-in workflow definitions.
9
+ * Get optional built-in fallback workflow definitions.
9
10
  * Returns a Map from workflow name to raw definition object
10
11
  * (will be parsed through WorkflowDefinitionSchema by the loader).
11
12
  */
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * Built-in workflow registry for clinkx-workflows.
3
3
  *
4
- * v1a: only built-in TypeScript definitions no YAML, no filesystem discovery.
5
- * Export a registry map from workflow name to raw definition object.
4
+ * Shipped YAML files are the canonical workflow definitions. This registry is
5
+ * intentionally empty by default and exists only as an optional fallback
6
+ * extension point.
6
7
  */
7
8
  /**
8
- * Get the registry of built-in workflow definitions.
9
+ * Get optional built-in fallback workflow definitions.
9
10
  * Returns a Map from workflow name to raw definition object
10
11
  * (will be parsed through WorkflowDefinitionSchema by the loader).
11
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,GAAG,EAAmB,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,GAAG,EAAmB,CAAC;AACpC,CAAC"}
@@ -0,0 +1,49 @@
1
+ You are the council chairman synthesizing the final answer.
2
+
3
+ ## Original Request
4
+ {{user_request}}
5
+
6
+ ## Mode
7
+ {{mode}}
8
+
9
+ ## Rubric
10
+ {{rubric}}
11
+
12
+ ## Instructions
13
+ You have been provided with JSON files containing:
14
+ 1. Specialist answers (from the specialists stage)
15
+ 2. Cross-reviewer evaluations (from the cross-review stage)
16
+ 3. Ranking analysis (advisory, from the ranking_analysis stage): A summary of reviewer consensus rankings, score averages, and disagreement spread. Use it as one signal among many, not as ground truth.
17
+
18
+ Read all provided files. Synthesize into a final, authoritative answer to the original question.
19
+ Use `cross_review` as the JSON key name inside `considered_artifacts`.
20
+ - Act as the council editor/moderator, not a new first-principles author.
21
+ - Prefer consensus when well-supported, but do not erase strong minority concerns.
22
+ - If you depart from reviewer consensus, explain why in rationale.
23
+ - Do not introduce major claims unsupported by the provided artifacts. If you must infer, mark it clearly in rationale.
24
+ - If fewer than 2 upstream stage artifacts exist, say the result is degraded and lower confidence in consensus claims.
25
+ - selected_approach must name exact call IDs or an explicit synthesis expression.
26
+ - Cross-review and ranking artifacts reference candidates by alias letters (A, B, C, ...) assigned in definition order of the upstream specialist artifacts. Map A to the first specialist, B to the second, and so on. Use the original call IDs from specialist artifact filenames in your output, not alias letters.
27
+ - considered_artifacts must count only artifacts actually read, not expected counts.
28
+ - Return exactly one JSON object matching the schema below.
29
+ - Do not wrap the JSON in markdown fences.
30
+ - Do not output prose before or after the JSON.
31
+ - Use empty arrays instead of placeholder strings.
32
+
33
+ Respond with valid JSON matching this schema:
34
+ {
35
+ "decision": "Final authoritative answer",
36
+ "final_answer": "Final authoritative answer",
37
+ "rationale": "Why this answer is best",
38
+ "selected_approach": "Which specialist/synthesis was chosen",
39
+ "considered_artifacts": {"specialists": 0, "cross_review": 0},
40
+ "action_items": ["Follow-up 1"],
41
+ "council_summary": {
42
+ "agreements": ["Consensus point"],
43
+ "disagreements": ["Open disagreement"],
44
+ "minority_views": ["Minority concern"]
45
+ },
46
+ "confidence": 0-100,
47
+ "final_score_100": 0-100,
48
+ "final_score_10": 0-10
49
+ }
@@ -0,0 +1,37 @@
1
+ You are a cross-reviewer evaluating specialist answers.
2
+
3
+ ## Original Request
4
+ {{user_request}}
5
+
6
+ ## Rubric
7
+ {{rubric}}
8
+
9
+ ## Review Lens
10
+ {{call.id}}
11
+ - If your call ID ends in _a: prioritize factual accuracy.
12
+ - If your call ID ends in _b: prioritize completeness and coverage.
13
+ - If your call ID ends in _c: prioritize caveats, uncertainty, and source discipline.
14
+
15
+ ## Anonymity Notice
16
+ Your own answer is included anonymously in the set below. You are not told which one it is. Evaluate all answers — including your own — strictly by content. Do not attempt to identify which one is yours.
17
+
18
+ ## Phase 1: Independent Baseline
19
+ Before reading the anonymized specialist answers, independently answer the user_request above using the rubric. Produce your own concise answer covering the key points. Record this as your independent_baseline.
20
+
21
+ ## Phase 2: Evaluate Specialist Answers
22
+ You will receive both source context files and anonymized specialist answer JSON files via absolute_file_paths. The specialist answers are the JSON objects containing specialist output — evaluate those against your independent baseline and the rubric.
23
+
24
+ Evaluate each candidate independently and score them BEFORE producing the ranking. The ranking should follow from your scores, not the reverse.
25
+
26
+ Evaluate each specialist's accuracy and completeness, identify issues, and rank them.
27
+ - Return exactly one JSON object matching the schema below.
28
+ - Do not wrap the JSON in markdown fences.
29
+ - Do not output prose before or after the JSON.
30
+ - Use empty arrays instead of placeholder strings.
31
+
32
+ Return a single valid JSON object. Be thorough within the fields; brevity is not a goal. Match this schema:
33
+ {
34
+ "independent_baseline": "Your concise independent answer produced in Phase 1",
35
+ "per_specialist_feedback": [{"candidate_id": "A", "accuracy_score": 85, "completeness_score": 90, "issues": ["..."], "rubric_scores": [{"criterion": "accuracy", "score": 85, "reason": "Factually sound"}], "overall_score_100": 87, "strengths": ["Clear reasoning"], "weaknesses": ["Missing edge case"]}],
36
+ "ranking": [{"candidate_id": "A", "rank": 1, "rationale": "..."}]
37
+ }