clinkx 1.1.0 → 1.1.2

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 (162) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/README.md +210 -177
  3. package/clinkx-workflows/dist/architecture-comparison/admission.d.ts +5 -0
  4. package/clinkx-workflows/dist/architecture-comparison/admission.js +50 -0
  5. package/clinkx-workflows/dist/architecture-comparison/admission.js.map +1 -0
  6. package/clinkx-workflows/dist/architecture-comparison/contract.d.ts +995 -0
  7. package/clinkx-workflows/dist/architecture-comparison/contract.js +149 -0
  8. package/clinkx-workflows/dist/architecture-comparison/contract.js.map +1 -0
  9. package/clinkx-workflows/dist/architecture-comparison/runtime.d.ts +29 -0
  10. package/clinkx-workflows/dist/architecture-comparison/runtime.js +387 -0
  11. package/clinkx-workflows/dist/architecture-comparison/runtime.js.map +1 -0
  12. package/clinkx-workflows/dist/contained-file.js +1 -1
  13. package/clinkx-workflows/dist/contained-file.js.map +1 -1
  14. package/clinkx-workflows/dist/council-execution-policy.d.ts +4 -2
  15. package/clinkx-workflows/dist/council-execution-policy.js +5 -1
  16. package/clinkx-workflows/dist/council-execution-policy.js.map +1 -1
  17. package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +72 -72
  18. package/clinkx-workflows/dist/dashboard/contracts.d.ts +1564 -122
  19. package/clinkx-workflows/dist/dashboard/contracts.js +4 -0
  20. package/clinkx-workflows/dist/dashboard/contracts.js.map +1 -1
  21. package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +12 -12
  22. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.d.ts +8 -8
  23. package/clinkx-workflows/dist/dashboard/scanner.d.ts +3 -0
  24. package/clinkx-workflows/dist/dashboard/scanner.js +27 -0
  25. package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -1
  26. package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +48 -48
  27. package/clinkx-workflows/dist/dashboard/session-log-redaction.d.ts +2 -0
  28. package/clinkx-workflows/dist/dashboard/session-log-redaction.js +4 -0
  29. package/clinkx-workflows/dist/dashboard/session-log-redaction.js.map +1 -1
  30. package/clinkx-workflows/dist/dashboard/verified-repair-contract.d.ts +191 -0
  31. package/clinkx-workflows/dist/dashboard/verified-repair-contract.js +28 -0
  32. package/clinkx-workflows/dist/dashboard/verified-repair-contract.js.map +1 -0
  33. package/clinkx-workflows/dist/dashboard-ui/assets/index-BdpmbPps.js +115 -0
  34. package/clinkx-workflows/dist/dashboard-ui/assets/style-Im5i1iAs.css +1 -0
  35. package/clinkx-workflows/dist/dashboard-ui/index.html +2 -2
  36. package/clinkx-workflows/dist/engine.d.ts +6 -0
  37. package/clinkx-workflows/dist/engine.js +78 -7
  38. package/clinkx-workflows/dist/engine.js.map +1 -1
  39. package/clinkx-workflows/dist/index.d.ts +3 -0
  40. package/clinkx-workflows/dist/index.js +3 -2
  41. package/clinkx-workflows/dist/index.js.map +1 -1
  42. package/clinkx-workflows/dist/reducers/index.d.ts +9 -1
  43. package/clinkx-workflows/dist/reducers/index.js +22 -0
  44. package/clinkx-workflows/dist/reducers/index.js.map +1 -1
  45. package/clinkx-workflows/dist/state.js +17 -7
  46. package/clinkx-workflows/dist/state.js.map +1 -1
  47. package/clinkx-workflows/dist/validators/architecture-comparison.d.ts +2 -0
  48. package/clinkx-workflows/dist/validators/architecture-comparison.js +12 -0
  49. package/clinkx-workflows/dist/validators/architecture-comparison.js.map +1 -0
  50. package/clinkx-workflows/dist/validators/index.js +4 -0
  51. package/clinkx-workflows/dist/validators/index.js.map +1 -1
  52. package/clinkx-workflows/dist/validators/verified-repair.d.ts +2 -0
  53. package/clinkx-workflows/dist/validators/verified-repair.js +12 -0
  54. package/clinkx-workflows/dist/validators/verified-repair.js.map +1 -0
  55. package/clinkx-workflows/dist/verification-proof.d.ts +254 -0
  56. package/clinkx-workflows/dist/verification-proof.js +195 -0
  57. package/clinkx-workflows/dist/verification-proof.js.map +1 -0
  58. package/clinkx-workflows/dist/verified-repair/admission.d.ts +72 -0
  59. package/clinkx-workflows/dist/verified-repair/admission.js +63 -0
  60. package/clinkx-workflows/dist/verified-repair/admission.js.map +1 -0
  61. package/clinkx-workflows/dist/verified-repair/contract.d.ts +1910 -0
  62. package/clinkx-workflows/dist/verified-repair/contract.js +127 -0
  63. package/clinkx-workflows/dist/verified-repair/contract.js.map +1 -0
  64. package/clinkx-workflows/dist/verified-repair/host.d.ts +32 -0
  65. package/clinkx-workflows/dist/verified-repair/host.js +2 -0
  66. package/clinkx-workflows/dist/verified-repair/host.js.map +1 -0
  67. package/clinkx-workflows/dist/verified-repair/prompts.d.ts +12 -0
  68. package/clinkx-workflows/dist/verified-repair/prompts.js +58 -0
  69. package/clinkx-workflows/dist/verified-repair/prompts.js.map +1 -0
  70. package/clinkx-workflows/dist/verified-repair/result.d.ts +16 -0
  71. package/clinkx-workflows/dist/verified-repair/result.js +102 -0
  72. package/clinkx-workflows/dist/verified-repair/result.js.map +1 -0
  73. package/clinkx-workflows/dist/verified-repair/runtime.d.ts +28 -0
  74. package/clinkx-workflows/dist/verified-repair/runtime.js +186 -0
  75. package/clinkx-workflows/dist/verified-repair/runtime.js.map +1 -0
  76. package/clinkx-workflows/dist/workflow-tools.d.ts +3 -0
  77. package/clinkx-workflows/dist/workflow-tools.js +148 -14
  78. package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
  79. package/clinkx-workflows/dist/workflow-verification-contract.d.ts +539 -0
  80. package/clinkx-workflows/dist/workflow-verification-contract.js +52 -0
  81. package/clinkx-workflows/dist/workflow-verification-contract.js.map +1 -0
  82. package/clinkx-workflows/dist/workflow-verification.d.ts +15 -0
  83. package/clinkx-workflows/dist/workflow-verification.js +218 -0
  84. package/clinkx-workflows/dist/workflow-verification.js.map +1 -0
  85. package/clinkx-workflows/templates/architecture-comparison/candidate.txt +29 -0
  86. package/clinkx-workflows/templates/architecture-comparison/judge.txt +31 -0
  87. package/clinkx-workflows/templates/verified-repair/investigate.txt +20 -0
  88. package/clinkx-workflows/templates/verified-repair/repair.txt +11 -0
  89. package/clinkx-workflows/templates/verified-repair/review.txt +18 -0
  90. package/clinkx-workflows/workflows/architecture-comparison.yaml +133 -0
  91. package/clinkx-workflows/workflows/verified-repair.yaml +104 -0
  92. package/dist/allowed-roots.js +4 -1
  93. package/dist/allowed-roots.js.map +1 -1
  94. package/dist/codex/app-server-client.d.ts +1 -0
  95. package/dist/codex/app-server-client.js +3 -2
  96. package/dist/codex/app-server-client.js.map +1 -1
  97. package/dist/context-builder/diagnostics.d.ts +1 -0
  98. package/dist/context-builder/diagnostics.js +1 -1
  99. package/dist/context-builder/diagnostics.js.map +1 -1
  100. package/dist/context-builder/discovery.d.ts +18 -1
  101. package/dist/context-builder/discovery.js +69 -1
  102. package/dist/context-builder/discovery.js.map +1 -1
  103. package/dist/context-builder/handler.js +8 -1
  104. package/dist/context-builder/handler.js.map +1 -1
  105. package/dist/context-builder/lifecycle-contract.d.ts +24 -24
  106. package/dist/context-builder/refine-handler.js +16 -1
  107. package/dist/context-builder/refine-handler.js.map +1 -1
  108. package/dist/context-builder/secrets.d.ts +11 -0
  109. package/dist/context-builder/secrets.js +81 -1
  110. package/dist/context-builder/secrets.js.map +1 -1
  111. package/dist/context-builder/versions.d.ts +5 -2
  112. package/dist/context-builder/versions.js +5 -2
  113. package/dist/context-builder/versions.js.map +1 -1
  114. package/dist/dashboard-cli.js +10 -3
  115. package/dist/dashboard-cli.js.map +1 -1
  116. package/dist/dashboard-gateway/main.js +8 -3
  117. package/dist/dashboard-gateway/main.js.map +1 -1
  118. package/dist/index.d.ts +2 -0
  119. package/dist/index.js +8 -2
  120. package/dist/index.js.map +1 -1
  121. package/dist/project-verification/contract.d.ts +537 -0
  122. package/dist/project-verification/contract.js +40 -0
  123. package/dist/project-verification/contract.js.map +1 -0
  124. package/dist/project-verification/files.d.ts +23 -0
  125. package/dist/project-verification/files.js +80 -0
  126. package/dist/project-verification/files.js.map +1 -0
  127. package/dist/project-verification/process.d.ts +7 -0
  128. package/dist/project-verification/process.js +115 -0
  129. package/dist/project-verification/process.js.map +1 -0
  130. package/dist/project-verification/runner.d.ts +35 -0
  131. package/dist/project-verification/runner.js +185 -0
  132. package/dist/project-verification/runner.js.map +1 -0
  133. package/dist/project-verification/service.d.ts +37 -0
  134. package/dist/project-verification/service.js +151 -0
  135. package/dist/project-verification/service.js.map +1 -0
  136. package/dist/provider-doctor.d.ts +22 -0
  137. package/dist/provider-doctor.js +22 -0
  138. package/dist/provider-doctor.js.map +1 -0
  139. package/dist/server.js +29 -1
  140. package/dist/server.js.map +1 -1
  141. package/dist/verification-tools.d.ts +90 -0
  142. package/dist/verification-tools.js +120 -0
  143. package/dist/verification-tools.js.map +1 -0
  144. package/dist/verified-repair/files.d.ts +22 -0
  145. package/dist/verified-repair/files.js +114 -0
  146. package/dist/verified-repair/files.js.map +1 -0
  147. package/dist/verified-repair/host.d.ts +14 -0
  148. package/dist/verified-repair/host.js +612 -0
  149. package/dist/verified-repair/host.js.map +1 -0
  150. package/docs/configuration.md +493 -0
  151. package/docs/engineering-recipes.md +415 -0
  152. package/docs/security.md +293 -0
  153. package/docs/verification/README.md +59 -0
  154. package/docs/verification/dashboard-real-disk.md +436 -0
  155. package/docs/verification/project-checks.example.json +14 -0
  156. package/docs/verification/project-checks.md +444 -0
  157. package/docs/verification/workflow-handoff.md +113 -0
  158. package/package.json +13 -6
  159. package/scripts/provider-doctor-core.mjs +364 -0
  160. package/scripts/provider-doctor-probe.mjs +34 -0
  161. package/clinkx-workflows/dist/dashboard-ui/assets/index-JPHQVtn9.js +0 -106
  162. package/clinkx-workflows/dist/dashboard-ui/assets/style-DOMHk-j6.css +0 -1
@@ -0,0 +1,63 @@
1
+ import { bytesDigest, canonicalJson } from "../architecture-comparison/contract.js";
2
+ import { VERIFIED_REPAIR_WORKFLOW, RepairRouteSchema } from "./contract.js";
3
+ import { REPAIR_FIXED_PROMPTS, REPAIR_PROMPTS } from "./prompts.js";
4
+ export const REPAIR_STAGE_BINDINGS = [
5
+ { stage: "capture", call: "packet", reducer: "repair_capture_v1", validator: "repair_packet_v1", context: [], prompt: REPAIR_FIXED_PROMPTS.capture },
6
+ { stage: "investigate", call: "proposal", route: "investigator", validator: "repair_investigation_v1", context: ["capture.packet"], template: "verified-repair/investigate.txt", prompt: REPAIR_PROMPTS.investigate },
7
+ { stage: "reproduce", call: "proof", reducer: "repair_reproduce_v1", validator: "repair_packet_v1", context: ["investigate.proposal"], prompt: REPAIR_FIXED_PROMPTS.reproduce },
8
+ { stage: "repair", call: "proposal", route: "repair_author", validator: "repair_fix_v1", context: ["reproduce.proof"], template: "verified-repair/repair.txt", prompt: REPAIR_PROMPTS.repair },
9
+ { stage: "fixed", call: "proof", reducer: "repair_fixed_v1", validator: "repair_packet_v1", context: ["repair.proposal"], prompt: REPAIR_FIXED_PROMPTS.fixed },
10
+ { stage: "review", call: "review", route: "verifier", validator: "repair_review_v1", context: ["fixed.proof"], template: "verified-repair/review.txt", prompt: REPAIR_PROMPTS.review },
11
+ { stage: "independent", call: "proof", reducer: "repair_independent_v1", validator: "repair_packet_v1", context: ["review.review"], prompt: REPAIR_FIXED_PROMPTS.independent },
12
+ { stage: "record", call: "record", reducer: "repair_record_v1", validator: "repair_record_v1", context: [], prompt: REPAIR_FIXED_PROMPTS.record },
13
+ ];
14
+ /** A workflow name alone never grants the project-write capability. */
15
+ export function assertVerifiedRepairTopology(definition) {
16
+ if (definition.name !== VERIFIED_REPAIR_WORKFLOW)
17
+ throw new Error("repair capability requires the installed verified-repair topology");
18
+ if (definition.version !== "1.0.0" || definition.stages.length !== REPAIR_STAGE_BINDINGS.length || definition.settings.max_retries !== 0)
19
+ throw new Error("invalid verified-repair topology or retry policy");
20
+ for (const [index, expected] of REPAIR_STAGE_BINDINGS.entries()) {
21
+ const stage = definition.stages[index];
22
+ const call = stage?.calls[0];
23
+ if (stage === undefined || call === undefined || stage.id !== expected.stage || stage.parallel || stage.calls.length !== 1 || stage.on_failure !== "continue" || stage.retry.max_retries !== 0)
24
+ throw new Error(`invalid verified-repair stage ${expected.stage}`);
25
+ const reducer = "reducer" in expected ? expected.reducer : undefined;
26
+ if (call.id !== expected.call || call.reducer !== reducer || call.role !== "json" || call.validator_schema_id !== expected.validator || canonicalJson(call.context_from ?? []) !== canonicalJson(expected.context) || call.prompt !== expected.prompt || call.absolute_file_paths !== undefined || call.absolute_file_paths_from !== undefined || call.images !== undefined || call.images_from !== undefined || call.post_processor !== undefined || call.anonymize_context === true || call.plan_review_semantic_context !== undefined || call.plan_review_snapshot_text !== undefined)
27
+ throw new Error(`invalid verified-repair call binding ${expected.stage}.${expected.call}`);
28
+ if ("template" in expected && (call.template_path !== expected.template || call.template_hash !== bytesDigest(expected.prompt)))
29
+ throw new Error(`invalid verified-repair template ${expected.stage}`);
30
+ if (!("template" in expected) && (call.template_path !== undefined || call.template_hash !== undefined || call.model !== undefined || call.effort !== undefined))
31
+ throw new Error(`invalid fixed repair operation ${expected.stage}`);
32
+ }
33
+ const expectedNames = ["repair_contract_path", ...["investigator", "repair_author", "verifier"].flatMap((prefix) => [`${prefix}_cli`, `${prefix}_model`, `${prefix}_effort`])].sort();
34
+ if (canonicalJson(Object.keys(definition.variables).sort()) !== canonicalJson(expectedNames))
35
+ throw new Error("verified-repair variables differ from installed contract");
36
+ for (const [name, variable] of Object.entries(definition.variables)) {
37
+ if (variable.type !== "string" || variable.required !== (name === "repair_contract_path" || name.endsWith("_cli")) || variable.default !== undefined)
38
+ throw new Error(`invalid verified-repair variable ${name}`);
39
+ }
40
+ }
41
+ export function repairRoutesFromVariables(variables, available, validateOverrides) {
42
+ const routes = Object.fromEntries(["investigator", "repair_author", "verifier"].map((prefix) => {
43
+ const route = RepairRouteSchema.parse({ cli_name: variables[`${prefix}_cli`], ...(variables[`${prefix}_model`] !== undefined ? { model: variables[`${prefix}_model`] } : {}), ...(variables[`${prefix}_effort`] !== undefined ? { effort: variables[`${prefix}_effort`] } : {}) });
44
+ if (available !== undefined && !available.includes(route.cli_name))
45
+ throw new Error(`${prefix}_cli ${route.cli_name} is not an available JSON-capable route`);
46
+ validateOverrides?.(route.cli_name, { ...(route.model !== undefined ? { model: route.model } : {}), ...(route.effort !== undefined ? { effort: route.effort } : {}) });
47
+ return [prefix, route];
48
+ }));
49
+ return routes;
50
+ }
51
+ export function materializeVerifiedRepairRoutes(definition, variables, available, validateOverrides) {
52
+ if (definition.name !== VERIFIED_REPAIR_WORKFLOW)
53
+ return definition;
54
+ assertVerifiedRepairTopology(definition);
55
+ if (typeof variables["repair_contract_path"] !== "string" || variables["repair_contract_path"].trim() === "")
56
+ throw new Error("repair_contract_path must name reviewed host contract data");
57
+ const routes = repairRoutesFromVariables(variables, available, validateOverrides);
58
+ return { ...definition, stages: definition.stages.map((stage, index) => ({ ...stage, calls: stage.calls.map((call) => {
59
+ const binding = REPAIR_STAGE_BINDINGS[index];
60
+ return "route" in binding ? { ...call, ...routes[binding.route] } : { ...call, cli_name: routes.verifier.cli_name };
61
+ }) })) };
62
+ }
63
+ //# sourceMappingURL=admission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admission.js","sourceRoot":"","sources":["../../src/verified-repair/admission.ts"],"names":[],"mappings":"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"}