clinkx 0.3.0 → 1.0.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/CHANGELOG.md +33 -0
- package/LICENSE +10 -0
- package/README.md +82 -26
- package/clinkx-workflows/dist/allowed-roots.d.ts +1 -0
- package/clinkx-workflows/dist/allowed-roots.js +5 -0
- package/clinkx-workflows/dist/allowed-roots.js.map +1 -0
- package/clinkx-workflows/dist/artifacts.d.ts +20 -1
- package/clinkx-workflows/dist/artifacts.js +38 -9
- package/clinkx-workflows/dist/artifacts.js.map +1 -1
- package/clinkx-workflows/dist/backend.d.ts +4 -0
- package/clinkx-workflows/dist/citation-check.d.ts +40 -0
- package/clinkx-workflows/dist/citation-check.js +348 -0
- package/clinkx-workflows/dist/citation-check.js.map +1 -0
- package/clinkx-workflows/dist/clink-client.d.ts +2 -1
- package/clinkx-workflows/dist/clink-client.js +17 -4
- package/clinkx-workflows/dist/clink-client.js.map +1 -1
- package/clinkx-workflows/dist/config.d.ts +145 -16
- package/clinkx-workflows/dist/config.js +384 -26
- package/clinkx-workflows/dist/config.js.map +1 -1
- package/clinkx-workflows/dist/contained-file.d.ts +172 -0
- package/clinkx-workflows/dist/contained-file.js +483 -0
- package/clinkx-workflows/dist/contained-file.js.map +1 -0
- package/clinkx-workflows/dist/context-builder-lifecycle-contract.d.ts +416 -0
- package/clinkx-workflows/dist/context-builder-lifecycle-contract.js +328 -0
- package/clinkx-workflows/dist/context-builder-lifecycle-contract.js.map +1 -0
- package/clinkx-workflows/dist/context-builder-lifecycle-router.d.ts +24 -0
- package/clinkx-workflows/dist/context-builder-lifecycle-router.js +39 -0
- package/clinkx-workflows/dist/context-builder-lifecycle-router.js.map +1 -0
- package/clinkx-workflows/dist/context-cache-key.d.ts +53 -0
- package/clinkx-workflows/dist/context-cache-key.js +91 -0
- package/clinkx-workflows/dist/context-cache-key.js.map +1 -0
- package/clinkx-workflows/dist/context-mode-resolver.d.ts +27 -0
- package/clinkx-workflows/dist/context-mode-resolver.js +126 -0
- package/clinkx-workflows/dist/context-mode-resolver.js.map +1 -0
- package/clinkx-workflows/dist/context-preflight.d.ts +184 -0
- package/clinkx-workflows/dist/context-preflight.js +91 -0
- package/clinkx-workflows/dist/context-preflight.js.map +1 -0
- package/clinkx-workflows/dist/council-expander.d.ts +1 -1
- package/clinkx-workflows/dist/council-expander.js +2 -1
- package/clinkx-workflows/dist/council-expander.js.map +1 -1
- package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +165 -0
- package/clinkx-workflows/dist/dashboard/activity-contract.js +105 -0
- package/clinkx-workflows/dist/dashboard/activity-contract.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/activity-lease.d.ts +25 -0
- package/clinkx-workflows/dist/dashboard/activity-lease.js +34 -0
- package/clinkx-workflows/dist/dashboard/activity-lease.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/activity-reader.d.ts +86 -0
- package/clinkx-workflows/dist/dashboard/activity-reader.js +480 -0
- package/clinkx-workflows/dist/dashboard/activity-reader.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/api-routes.d.ts +36 -0
- package/clinkx-workflows/dist/dashboard/api-routes.js +1047 -0
- package/clinkx-workflows/dist/dashboard/api-routes.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/artifact-index.d.ts +37 -0
- package/clinkx-workflows/dist/dashboard/artifact-index.js +145 -0
- package/clinkx-workflows/dist/dashboard/artifact-index.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/auth/challenge-store.d.ts +31 -0
- package/clinkx-workflows/dist/dashboard/auth/challenge-store.js +65 -0
- package/clinkx-workflows/dist/dashboard/auth/challenge-store.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/auth/controller.d.ts +26 -0
- package/clinkx-workflows/dist/dashboard/auth/controller.js +596 -0
- package/clinkx-workflows/dist/dashboard/auth/controller.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/auth/credential-store.d.ts +60 -0
- package/clinkx-workflows/dist/dashboard/auth/credential-store.js +776 -0
- package/clinkx-workflows/dist/dashboard/auth/credential-store.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.d.ts +9 -0
- package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js +44 -0
- package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/auth/session-store.d.ts +17 -0
- package/clinkx-workflows/dist/dashboard/auth/session-store.js +77 -0
- package/clinkx-workflows/dist/dashboard/auth/session-store.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/auth/webauthn-service.d.ts +25 -0
- package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js +71 -0
- package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/context-run-liveness.d.ts +37 -0
- package/clinkx-workflows/dist/dashboard/context-run-liveness.js +49 -0
- package/clinkx-workflows/dist/dashboard/context-run-liveness.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/context-run-reader.d.ts +222 -0
- package/clinkx-workflows/dist/dashboard/context-run-reader.js +1178 -0
- package/clinkx-workflows/dist/dashboard/context-run-reader.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/contracts.d.ts +8936 -0
- package/clinkx-workflows/dist/dashboard/contracts.js +1157 -0
- package/clinkx-workflows/dist/dashboard/contracts.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/generation.d.ts +14 -0
- package/clinkx-workflows/dist/dashboard/generation.js +41 -0
- package/clinkx-workflows/dist/dashboard/generation.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/index.d.ts +28 -0
- package/clinkx-workflows/dist/dashboard/index.js +16 -0
- package/clinkx-workflows/dist/dashboard/index.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/lazy-content.d.ts +101 -0
- package/clinkx-workflows/dist/dashboard/lazy-content.js +748 -0
- package/clinkx-workflows/dist/dashboard/lazy-content.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +303 -0
- package/clinkx-workflows/dist/dashboard/progress-report-contract.js +221 -0
- package/clinkx-workflows/dist/dashboard/progress-report-contract.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/progress-report-reader.d.ts +50 -0
- package/clinkx-workflows/dist/dashboard/progress-report-reader.js +581 -0
- package/clinkx-workflows/dist/dashboard/progress-report-reader.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.d.ts +89 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js +71 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-store.d.ts +28 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-store.js +110 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-store.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/read-model.d.ts +86 -0
- package/clinkx-workflows/dist/dashboard/read-model.js +440 -0
- package/clinkx-workflows/dist/dashboard/read-model.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/request-admission.d.ts +31 -0
- package/clinkx-workflows/dist/dashboard/request-admission.js +126 -0
- package/clinkx-workflows/dist/dashboard/request-admission.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/scanner.d.ts +75 -0
- package/clinkx-workflows/dist/dashboard/scanner.js +1110 -0
- package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/server-factory.d.ts +50 -0
- package/clinkx-workflows/dist/dashboard/server-factory.js +431 -0
- package/clinkx-workflows/dist/dashboard/server-factory.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +2611 -0
- package/clinkx-workflows/dist/dashboard/session-log-contract.js +480 -0
- package/clinkx-workflows/dist/dashboard/session-log-contract.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/session-log-identity.d.ts +21 -0
- package/clinkx-workflows/dist/dashboard/session-log-identity.js +101 -0
- package/clinkx-workflows/dist/dashboard/session-log-identity.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/session-log-journal.d.ts +43 -0
- package/clinkx-workflows/dist/dashboard/session-log-journal.js +522 -0
- package/clinkx-workflows/dist/dashboard/session-log-journal.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/session-log-reader.d.ts +61 -0
- package/clinkx-workflows/dist/dashboard/session-log-reader.js +378 -0
- package/clinkx-workflows/dist/dashboard/session-log-reader.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/session-log-redaction.d.ts +6 -0
- package/clinkx-workflows/dist/dashboard/session-log-redaction.js +367 -0
- package/clinkx-workflows/dist/dashboard/session-log-redaction.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/session-log-retention.d.ts +23 -0
- package/clinkx-workflows/dist/dashboard/session-log-retention.js +212 -0
- package/clinkx-workflows/dist/dashboard/session-log-retention.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/static-responses.d.ts +10 -0
- package/clinkx-workflows/dist/dashboard/static-responses.js +94 -0
- package/clinkx-workflows/dist/dashboard/static-responses.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/worker-lock-observer.d.ts +28 -0
- package/clinkx-workflows/dist/dashboard/worker-lock-observer.js +241 -0
- package/clinkx-workflows/dist/dashboard/worker-lock-observer.js.map +1 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/index-DOkMXTfB.js +25 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/style-ChJsn0KD.css +1 -0
- package/clinkx-workflows/dist/dashboard-ui/contracts/council-plan-review-input-v1.json +158 -0
- package/clinkx-workflows/dist/dashboard-ui/index.html +15 -0
- package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Mono-OFL.txt +93 -0
- package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Sans-OFL.txt +93 -0
- package/clinkx-workflows/dist/dashboard-ui/licenses/JetBrains-Mono-OFL.txt +93 -0
- package/clinkx-workflows/dist/dashboard-ui/licenses/NOTICE.md +32 -0
- package/clinkx-workflows/dist/dashboard-ui/theme-init.js +8 -0
- package/clinkx-workflows/dist/definition-normalizer.d.ts +19 -0
- package/clinkx-workflows/dist/definition-normalizer.js.map +1 -1
- package/clinkx-workflows/dist/delegate-validate.d.ts +78 -0
- package/clinkx-workflows/dist/delegate-validate.js +97 -0
- package/clinkx-workflows/dist/delegate-validate.js.map +1 -0
- package/clinkx-workflows/dist/engine.d.ts +141 -0
- package/clinkx-workflows/dist/engine.js +882 -28
- package/clinkx-workflows/dist/engine.js.map +1 -1
- package/clinkx-workflows/dist/errors.d.ts +2 -0
- package/clinkx-workflows/dist/errors.js.map +1 -1
- package/clinkx-workflows/dist/fingerprint.d.ts +1 -1
- package/clinkx-workflows/dist/fingerprint.js +1 -1
- package/clinkx-workflows/dist/index.d.ts +19 -0
- package/clinkx-workflows/dist/index.js +15 -0
- package/clinkx-workflows/dist/index.js.map +1 -1
- package/clinkx-workflows/dist/loader.d.ts +9 -3
- package/clinkx-workflows/dist/loader.js +92 -21
- package/clinkx-workflows/dist/loader.js.map +1 -1
- package/clinkx-workflows/dist/plan-review/admission.d.ts +160 -0
- package/clinkx-workflows/dist/plan-review/admission.js +290 -0
- package/clinkx-workflows/dist/plan-review/admission.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/context-policy.d.ts +55 -0
- package/clinkx-workflows/dist/plan-review/context-policy.js +146 -0
- package/clinkx-workflows/dist/plan-review/context-policy.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/contract.d.ts +763 -0
- package/clinkx-workflows/dist/plan-review/contract.js +289 -0
- package/clinkx-workflows/dist/plan-review/contract.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/digest.d.ts +68 -0
- package/clinkx-workflows/dist/plan-review/digest.js +241 -0
- package/clinkx-workflows/dist/plan-review/digest.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/discovery.d.ts +45 -0
- package/clinkx-workflows/dist/plan-review/discovery.js +36 -0
- package/clinkx-workflows/dist/plan-review/discovery.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/execution-contract.d.ts +298 -0
- package/clinkx-workflows/dist/plan-review/execution-contract.js +194 -0
- package/clinkx-workflows/dist/plan-review/execution-contract.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/expander.d.ts +48 -0
- package/clinkx-workflows/dist/plan-review/expander.js +243 -0
- package/clinkx-workflows/dist/plan-review/expander.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/projector.d.ts +126 -0
- package/clinkx-workflows/dist/plan-review/projector.js +437 -0
- package/clinkx-workflows/dist/plan-review/projector.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/publication.d.ts +95 -0
- package/clinkx-workflows/dist/plan-review/publication.js +182 -0
- package/clinkx-workflows/dist/plan-review/publication.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/ranking-reducer.d.ts +34 -0
- package/clinkx-workflows/dist/plan-review/ranking-reducer.js +139 -0
- package/clinkx-workflows/dist/plan-review/ranking-reducer.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/resume.d.ts +38 -0
- package/clinkx-workflows/dist/plan-review/resume.js +122 -0
- package/clinkx-workflows/dist/plan-review/resume.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/rubric.d.ts +7 -0
- package/clinkx-workflows/dist/plan-review/rubric.js +24 -0
- package/clinkx-workflows/dist/plan-review/rubric.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/run-state.d.ts +398 -0
- package/clinkx-workflows/dist/plan-review/run-state.js +183 -0
- package/clinkx-workflows/dist/plan-review/run-state.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/runtime-policy.d.ts +74 -0
- package/clinkx-workflows/dist/plan-review/runtime-policy.js +186 -0
- package/clinkx-workflows/dist/plan-review/runtime-policy.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/snapshot.d.ts +81 -0
- package/clinkx-workflows/dist/plan-review/snapshot.js +170 -0
- package/clinkx-workflows/dist/plan-review/snapshot.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/stage-error.d.ts +19 -0
- package/clinkx-workflows/dist/plan-review/stage-error.js +20 -0
- package/clinkx-workflows/dist/plan-review/stage-error.js.map +1 -0
- package/clinkx-workflows/dist/post-processors/index.d.ts +20 -0
- package/clinkx-workflows/dist/post-processors/index.js +21 -0
- package/clinkx-workflows/dist/post-processors/index.js.map +1 -0
- package/clinkx-workflows/dist/prompt-budget.d.ts +7 -0
- package/clinkx-workflows/dist/prompt-budget.js +7 -1
- package/clinkx-workflows/dist/prompt-budget.js.map +1 -1
- package/clinkx-workflows/dist/reducers/index.js +2 -0
- package/clinkx-workflows/dist/reducers/index.js.map +1 -1
- package/clinkx-workflows/dist/run-lock-heartbeat.d.ts +2 -0
- package/clinkx-workflows/dist/run-lock-heartbeat.js +3 -0
- package/clinkx-workflows/dist/run-lock-heartbeat.js.map +1 -0
- package/clinkx-workflows/dist/run-summary/cards/council-plan-review.d.ts +34 -0
- package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js +74 -0
- package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js.map +1 -0
- package/clinkx-workflows/dist/run-summary/cards/index.js +5 -0
- package/clinkx-workflows/dist/run-summary/cards/index.js.map +1 -1
- package/clinkx-workflows/dist/run-summary.d.ts +13 -0
- package/clinkx-workflows/dist/run-summary.js +29 -1
- package/clinkx-workflows/dist/run-summary.js.map +1 -1
- package/clinkx-workflows/dist/schema.d.ts +76 -21
- package/clinkx-workflows/dist/schema.js +10 -1
- package/clinkx-workflows/dist/schema.js.map +1 -1
- package/clinkx-workflows/dist/seed-terms.d.ts +30 -0
- package/clinkx-workflows/dist/seed-terms.js +176 -0
- package/clinkx-workflows/dist/seed-terms.js.map +1 -0
- package/clinkx-workflows/dist/server.d.ts +5 -2
- package/clinkx-workflows/dist/server.js +82 -52
- package/clinkx-workflows/dist/server.js.map +1 -1
- package/clinkx-workflows/dist/shutdown.d.ts +18 -20
- package/clinkx-workflows/dist/shutdown.js +43 -61
- package/clinkx-workflows/dist/shutdown.js.map +1 -1
- package/clinkx-workflows/dist/state-schema.d.ts +38 -0
- package/clinkx-workflows/dist/state.d.ts +170 -3
- package/clinkx-workflows/dist/state.js +1275 -28
- package/clinkx-workflows/dist/state.js.map +1 -1
- package/clinkx-workflows/dist/transport.d.ts +15 -0
- package/clinkx-workflows/dist/transport.js +19 -10
- package/clinkx-workflows/dist/transport.js.map +1 -1
- package/clinkx-workflows/dist/types.d.ts +14 -2
- package/clinkx-workflows/dist/validators/council.d.ts +318 -85
- package/clinkx-workflows/dist/validators/council.js +52 -13
- package/clinkx-workflows/dist/validators/council.js.map +1 -1
- package/clinkx-workflows/dist/validators/index.d.ts +1 -0
- package/clinkx-workflows/dist/validators/index.js +3 -0
- package/clinkx-workflows/dist/validators/index.js.map +1 -1
- package/clinkx-workflows/dist/validators/plan-review.d.ts +398 -0
- package/clinkx-workflows/dist/validators/plan-review.js +316 -0
- package/clinkx-workflows/dist/validators/plan-review.js.map +1 -0
- package/clinkx-workflows/dist/workflow-receipt.js +188 -4
- package/clinkx-workflows/dist/workflow-receipt.js.map +1 -1
- package/clinkx-workflows/dist/workflow-tools.d.ts +48 -3
- package/clinkx-workflows/dist/workflow-tools.js +1402 -59
- package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
- package/clinkx-workflows/dist/workspace-signature.d.ts +16 -0
- package/clinkx-workflows/dist/workspace-signature.js +388 -0
- package/clinkx-workflows/dist/workspace-signature.js.map +1 -0
- package/clinkx-workflows/templates/council/answer-specialist.txt +2 -1
- package/clinkx-workflows/templates/council/code-review-chairman.txt +13 -0
- package/clinkx-workflows/templates/council/code-review-cross-reviewer.txt +4 -1
- package/clinkx-workflows/templates/council/code-review-reviewer.txt +19 -3
- package/clinkx-workflows/templates/council/debug-debugger.txt +2 -1
- package/clinkx-workflows/templates/council/discover-analyst.txt +2 -1
- package/clinkx-workflows/templates/council/member.txt +2 -1
- package/clinkx-workflows/templates/council/plan-review-chairman.txt +68 -0
- package/clinkx-workflows/templates/council/plan-review-cross-reviewer.txt +51 -0
- package/clinkx-workflows/templates/council/plan-review-reviewer.txt +60 -0
- package/clinkx-workflows/templates/plan-review/chairman.txt +48 -0
- package/clinkx-workflows/templates/plan-review/cross-review.txt +52 -0
- package/clinkx-workflows/templates/plan-review/ranking.txt +16 -0
- package/clinkx-workflows/templates/plan-review/reviewer.txt +57 -0
- package/clinkx-workflows/workflows/council-answer.yaml +97 -8
- package/clinkx-workflows/workflows/council-code-review.yaml +103 -8
- package/clinkx-workflows/workflows/council-debug.yaml +97 -8
- package/clinkx-workflows/workflows/council-default.yaml +97 -8
- package/clinkx-workflows/workflows/council-discover.yaml +97 -8
- package/clinkx-workflows/workflows/council-plan-review.yaml +250 -0
- package/clinkx-workflows/workflows/plan-review-receipts.yaml +230 -0
- package/conf/adapters/agy.json +49 -0
- package/conf/adapters/claude.json +5 -0
- package/conf/adapters/codex-app-server.json +44 -0
- package/conf/adapters/codex.json +7 -2
- package/conf/adapters/glm.json +5 -0
- package/conf/adapters/grok.json +60 -0
- package/conf/adapters/hapi/agy.json +52 -0
- package/conf/adapters/hapi/claude.json +5 -0
- package/conf/adapters/hapi/codex.json +7 -2
- package/conf/adapters/hapi/glm.json +5 -0
- package/dist/activity-journal.d.ts +42 -0
- package/dist/activity-journal.js +381 -0
- package/dist/activity-journal.js.map +1 -0
- package/dist/allowed-roots.d.ts +41 -0
- package/dist/allowed-roots.js +125 -3
- package/dist/allowed-roots.js.map +1 -1
- package/dist/codex/activity-session-log.d.ts +14 -0
- package/dist/codex/activity-session-log.js +206 -0
- package/dist/codex/activity-session-log.js.map +1 -0
- package/dist/codex/agent-tools.d.ts +23 -0
- package/dist/codex/agent-tools.js +1270 -0
- package/dist/codex/agent-tools.js.map +1 -0
- package/dist/codex/app-server-client.d.ts +76 -0
- package/dist/codex/app-server-client.js +582 -0
- package/dist/codex/app-server-client.js.map +1 -0
- package/dist/codex/app-server-registry.d.ts +389 -0
- package/dist/codex/app-server-registry.js +1407 -0
- package/dist/codex/app-server-registry.js.map +1 -0
- package/dist/codex/client-types.d.ts +109 -0
- package/dist/codex/client-types.js +2 -0
- package/dist/codex/client-types.js.map +1 -0
- package/dist/codex/protocol.d.ts +5375 -0
- package/dist/codex/protocol.js +614 -0
- package/dist/codex/protocol.js.map +1 -0
- package/dist/codex/session.d.ts +263 -0
- package/dist/codex/session.js +466 -0
- package/dist/codex/session.js.map +1 -0
- package/dist/config.d.ts +185 -19
- package/dist/config.js +82 -16
- package/dist/config.js.map +1 -1
- package/dist/context-builder/anchors.d.ts +1 -0
- package/dist/context-builder/anchors.js +3 -0
- package/dist/context-builder/anchors.js.map +1 -1
- package/dist/context-builder/bundle.d.ts +35 -2
- package/dist/context-builder/bundle.js +342 -2417
- package/dist/context-builder/bundle.js.map +1 -1
- package/dist/context-builder/codemap.d.ts +5 -0
- package/dist/context-builder/codemap.js +387 -13
- package/dist/context-builder/codemap.js.map +1 -1
- package/dist/context-builder/config.d.ts +1 -0
- package/dist/context-builder/config.js +12 -0
- package/dist/context-builder/config.js.map +1 -1
- package/dist/context-builder/context-run-catalog.d.ts +17 -0
- package/dist/context-builder/context-run-catalog.js +99 -0
- package/dist/context-builder/context-run-catalog.js.map +1 -0
- package/dist/context-builder/delegate-packet.d.ts +37 -0
- package/dist/context-builder/delegate-packet.js +359 -67
- package/dist/context-builder/delegate-packet.js.map +1 -1
- package/dist/context-builder/delegate-validation.d.ts +10 -1
- package/dist/context-builder/delegate-validation.js +153 -41
- package/dist/context-builder/delegate-validation.js.map +1 -1
- package/dist/context-builder/delegate.d.ts +2 -0
- package/dist/context-builder/delegate.js +1 -0
- package/dist/context-builder/delegate.js.map +1 -1
- package/dist/context-builder/diagnostics.d.ts +11 -2
- package/dist/context-builder/diagnostics.js +39 -6
- package/dist/context-builder/diagnostics.js.map +1 -1
- package/dist/context-builder/discovery.d.ts +29 -1
- package/dist/context-builder/discovery.js +475 -175
- package/dist/context-builder/discovery.js.map +1 -1
- package/dist/context-builder/globs.js +10 -10
- package/dist/context-builder/globs.js.map +1 -1
- package/dist/context-builder/handler.d.ts +26 -2
- package/dist/context-builder/handler.js +1158 -2416
- package/dist/context-builder/handler.js.map +1 -1
- package/dist/context-builder/lifecycle-contract.d.ts +424 -0
- package/dist/context-builder/lifecycle-contract.js +523 -0
- package/dist/context-builder/lifecycle-contract.js.map +1 -0
- package/dist/context-builder/lifecycle-journal.d.ts +62 -0
- package/dist/context-builder/lifecycle-journal.js +88 -0
- package/dist/context-builder/lifecycle-journal.js.map +1 -0
- package/dist/context-builder/lifecycle-observer.d.ts +102 -0
- package/dist/context-builder/lifecycle-observer.js +258 -0
- package/dist/context-builder/lifecycle-observer.js.map +1 -0
- package/dist/context-builder/lifecycle-reconcile.d.ts +32 -0
- package/dist/context-builder/lifecycle-reconcile.js +191 -0
- package/dist/context-builder/lifecycle-reconcile.js.map +1 -0
- package/dist/context-builder/lifecycle-recovery.d.ts +2 -0
- package/dist/context-builder/lifecycle-recovery.js +14 -0
- package/dist/context-builder/lifecycle-recovery.js.map +1 -0
- package/dist/context-builder/path-signals.js +9 -5
- package/dist/context-builder/path-signals.js.map +1 -1
- package/dist/context-builder/progress.d.ts +3 -1
- package/dist/context-builder/progress.js +23 -0
- package/dist/context-builder/progress.js.map +1 -1
- package/dist/context-builder/receipt.d.ts +6 -4
- package/dist/context-builder/receipt.js +12 -1
- package/dist/context-builder/receipt.js.map +1 -1
- package/dist/context-builder/refine-handler.d.ts +14 -0
- package/dist/context-builder/refine-handler.js +790 -0
- package/dist/context-builder/refine-handler.js.map +1 -0
- package/dist/context-builder/review-coverage.d.ts +84 -0
- package/dist/context-builder/review-coverage.js +437 -0
- package/dist/context-builder/review-coverage.js.map +1 -0
- package/dist/context-builder/schema.d.ts +239 -1
- package/dist/context-builder/schema.js +112 -6
- package/dist/context-builder/schema.js.map +1 -1
- package/dist/context-builder/secrets.d.ts +28 -0
- package/dist/context-builder/secrets.js +1473 -44
- package/dist/context-builder/secrets.js.map +1 -1
- package/dist/context-builder/selection.d.ts +7 -3
- package/dist/context-builder/selection.js +200 -738
- package/dist/context-builder/selection.js.map +1 -1
- package/dist/context-builder/session-log-identity.d.ts +1 -0
- package/dist/context-builder/session-log-identity.js +66 -0
- package/dist/context-builder/session-log-identity.js.map +1 -0
- package/dist/context-builder/slice-range-math.d.ts +16 -0
- package/dist/context-builder/slice-range-math.js +137 -0
- package/dist/context-builder/slice-range-math.js.map +1 -0
- package/dist/context-builder/status.d.ts +22 -1
- package/dist/context-builder/status.js +59 -4
- package/dist/context-builder/status.js.map +1 -1
- package/dist/context-builder/storage.d.ts +35 -2
- package/dist/context-builder/storage.js +271 -14
- package/dist/context-builder/storage.js.map +1 -1
- package/dist/context-builder/token-estimate.d.ts +13 -2
- package/dist/context-builder/token-estimate.js +77 -4
- package/dist/context-builder/token-estimate.js.map +1 -1
- package/dist/context-builder/versions.d.ts +29 -0
- package/dist/context-builder/versions.js +30 -0
- package/dist/context-builder/versions.js.map +1 -0
- package/dist/context-builder/workflow-runner.d.ts +69 -0
- package/dist/context-builder/workflow-runner.js +1051 -0
- package/dist/context-builder/workflow-runner.js.map +1 -0
- package/dist/context-builder/write-watchdog.d.ts +14 -0
- package/dist/context-builder/write-watchdog.js +38 -0
- package/dist/context-builder/write-watchdog.js.map +1 -0
- package/dist/dashboard-adapter-catalog.d.ts +9 -0
- package/dist/dashboard-adapter-catalog.js +46 -0
- package/dist/dashboard-adapter-catalog.js.map +1 -0
- package/dist/dashboard-cli.d.ts +79 -0
- package/dist/dashboard-cli.js +585 -0
- package/dist/dashboard-cli.js.map +1 -0
- package/dist/dashboard-companion/client.d.ts +36 -0
- package/dist/dashboard-companion/client.js +210 -0
- package/dist/dashboard-companion/client.js.map +1 -0
- package/dist/dashboard-companion/config.d.ts +8 -0
- package/dist/dashboard-companion/config.js +52 -0
- package/dist/dashboard-companion/config.js.map +1 -0
- package/dist/dashboard-companion/http-proxy.d.ts +10 -0
- package/dist/dashboard-companion/http-proxy.js +234 -0
- package/dist/dashboard-companion/http-proxy.js.map +1 -0
- package/dist/dashboard-companion/protocol.d.ts +80 -0
- package/dist/dashboard-companion/protocol.js +455 -0
- package/dist/dashboard-companion/protocol.js.map +1 -0
- package/dist/dashboard-companion/standalone-assets.d.ts +12 -0
- package/dist/dashboard-companion/standalone-assets.js +72 -0
- package/dist/dashboard-companion/standalone-assets.js.map +1 -0
- package/dist/dashboard-companion/standalone-entry.d.ts +1 -0
- package/dist/dashboard-companion/standalone-entry.js +17 -0
- package/dist/dashboard-companion/standalone-entry.js.map +1 -0
- package/dist/dashboard-gateway/config.d.ts +9 -0
- package/dist/dashboard-gateway/config.js +44 -0
- package/dist/dashboard-gateway/config.js.map +1 -0
- package/dist/dashboard-gateway/index.d.ts +11 -0
- package/dist/dashboard-gateway/index.js +755 -0
- package/dist/dashboard-gateway/index.js.map +1 -0
- package/dist/dashboard-gateway/main.d.ts +1 -0
- package/dist/dashboard-gateway/main.js +25 -0
- package/dist/dashboard-gateway/main.js.map +1 -0
- package/dist/dashboard-pairing-token.d.ts +1 -0
- package/dist/dashboard-pairing-token.js +5 -0
- package/dist/dashboard-pairing-token.js.map +1 -0
- package/dist/elaris/client.d.ts +73 -0
- package/dist/elaris/client.js +825 -0
- package/dist/elaris/client.js.map +1 -0
- package/dist/elaris/config.d.ts +18 -0
- package/dist/elaris/config.js +75 -0
- package/dist/elaris/config.js.map +1 -0
- package/dist/elaris/errors.d.ts +41 -0
- package/dist/elaris/errors.js +205 -0
- package/dist/elaris/errors.js.map +1 -0
- package/dist/elaris/github-repo.d.ts +18 -0
- package/dist/elaris/github-repo.js +89 -0
- package/dist/elaris/github-repo.js.map +1 -0
- package/dist/elaris/index.d.ts +10 -0
- package/dist/elaris/index.js +11 -0
- package/dist/elaris/index.js.map +1 -0
- package/dist/elaris/redact.d.ts +89 -0
- package/dist/elaris/redact.js +423 -0
- package/dist/elaris/redact.js.map +1 -0
- package/dist/elaris/run-id.d.ts +5 -0
- package/dist/elaris/run-id.js +20 -0
- package/dist/elaris/run-id.js.map +1 -0
- package/dist/elaris/status.d.ts +45 -0
- package/dist/elaris/status.js +122 -0
- package/dist/elaris/status.js.map +1 -0
- package/dist/elaris/tool-schemas.d.ts +314 -0
- package/dist/elaris/tool-schemas.js +208 -0
- package/dist/elaris/tool-schemas.js.map +1 -0
- package/dist/elaris/tools.d.ts +73 -0
- package/dist/elaris/tools.js +1065 -0
- package/dist/elaris/tools.js.map +1 -0
- package/dist/elaris/types.d.ts +1541 -0
- package/dist/elaris/types.js +252 -0
- package/dist/elaris/types.js.map +1 -0
- package/dist/errors.d.ts +16 -0
- package/dist/errors.js +19 -0
- package/dist/errors.js.map +1 -1
- package/dist/handler.d.ts +4 -0
- package/dist/handler.js +10 -1
- package/dist/handler.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +13 -3
- package/dist/index.js.map +1 -1
- package/dist/local-clink-backend.d.ts +3 -0
- package/dist/local-clink-backend.js +4 -0
- package/dist/local-clink-backend.js.map +1 -1
- package/dist/package-info.d.ts +2 -0
- package/dist/package-info.js +18 -0
- package/dist/package-info.js.map +1 -0
- package/dist/parsers/codex-jsonl.js +48 -3
- package/dist/parsers/codex-jsonl.js.map +1 -1
- package/dist/parsers/extract.d.ts +10 -1
- package/dist/parsers/extract.js +11 -3
- package/dist/parsers/extract.js.map +1 -1
- package/dist/pipeline.d.ts +4 -0
- package/dist/pipeline.js +129 -8
- package/dist/pipeline.js.map +1 -1
- package/dist/run-dir.d.ts +24 -0
- package/dist/run-dir.js +201 -2
- package/dist/run-dir.js.map +1 -1
- package/dist/runner.d.ts +13 -0
- package/dist/runner.js +184 -15
- package/dist/runner.js.map +1 -1
- package/dist/safety.d.ts +4 -4
- package/dist/safety.js +4 -4
- package/dist/schema.d.ts +7 -7
- package/dist/server.d.ts +1 -0
- package/dist/server.js +359 -17
- package/dist/server.js.map +1 -1
- package/dist/session-log-stream.d.ts +18 -0
- package/dist/session-log-stream.js +319 -0
- package/dist/session-log-stream.js.map +1 -0
- package/package.json +46 -5
- package/conf/adapters/gemini.json +0 -44
- package/conf/adapters/hapi/gemini.json +0 -47
- package/dist/parsers/gemini-json.d.ts +0 -2
- package/dist/parsers/gemini-json.js +0 -72
- package/dist/parsers/gemini-json.js.map +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
You are a cross-reviewer evaluating other reviewers' assessments of an implementation plan.
|
|
2
|
+
|
|
3
|
+
IMPORTANT: This is the LITE plan review. The plan arrives as an ordinary attached file, and nothing you produce here can create, repair, replace, upgrade, or downgrade any reviewer's assessment — you are adding a second opinion for the record, not adjudicating.
|
|
4
|
+
|
|
5
|
+
## Original Request
|
|
6
|
+
{{user_request}}
|
|
7
|
+
|
|
8
|
+
## Rubric
|
|
9
|
+
{{rubric}}
|
|
10
|
+
|
|
11
|
+
## Do not mutate anything
|
|
12
|
+
You must not write, edit, create, or delete any file, and you must not run any mutating command. This call is read-only BY INSTRUCTION ONLY — it is on you to honor it.
|
|
13
|
+
|
|
14
|
+
## Repository Context Availability
|
|
15
|
+
context_available = {{context_available}}
|
|
16
|
+
|
|
17
|
+
## Review Lens
|
|
18
|
+
{{call.id}}
|
|
19
|
+
- If your call ID ends in _a: missed blockers and false positives first.
|
|
20
|
+
- If your call ID ends in _b: evidence quality and unverified claims first.
|
|
21
|
+
- If your call ID ends in _c: signal-to-noise, calibration, and verification relevance first.
|
|
22
|
+
|
|
23
|
+
## Anonymity Notice
|
|
24
|
+
Your own review is included anonymously in the set below. You are not told which one it is. Evaluate all reviews — including your own — strictly by content. Do not attempt to identify which one is yours.
|
|
25
|
+
|
|
26
|
+
## Phase 1: Independent Baseline
|
|
27
|
+
Before reading the anonymized reviewer assessments, independently review the attached plan against the request and rubric above: is it implementable as written, and what are its real blockers, verification gaps, and risks? Record this as your independent_baseline. A baseline formed after reading peers is just an echo of them.
|
|
28
|
+
|
|
29
|
+
## Phase 2: Evaluate Reviewer Assessments
|
|
30
|
+
You will receive both attached context files and anonymized reviewer assessment JSON files via absolute_file_paths. The reviewer assessments are the JSON objects containing plan-review findings — evaluate those against your independent baseline and the rubric.
|
|
31
|
+
|
|
32
|
+
Evaluate each candidate independently and score them BEFORE producing the ranking. The ranking should follow from your scores, not the reverse.
|
|
33
|
+
|
|
34
|
+
For each reviewer's assessment: identify agreement/disagreement, plan defects the reviewer missed (`missed_issues`), and raised issues that are not real defects — preferences inflated into blockers, or claims with no anchor (`false_positives`). Rank the reviewers by review quality: is the review anchored in evidence, calibrated, and honest about what it could not verify?
|
|
35
|
+
- Return exactly one JSON object matching the schema below.
|
|
36
|
+
- Do not wrap the JSON in markdown fences.
|
|
37
|
+
- Do not output prose before or after the JSON.
|
|
38
|
+
- Use empty arrays instead of placeholder strings.
|
|
39
|
+
- Score each candidate BEFORE producing the ranking; the ranking must follow from the scores. A deterministic reducer downstream depends on both `ranking` and each candidate's `overall_score_100`, so always populate both.
|
|
40
|
+
- Each `per_review_feedback[]` entry MAY ALSO include optional structured `missed_issue_refs` and `false_positive_refs` arrays ALONGSIDE — not replacing — the existing `missed_issues` and `false_positives` string arrays. Keep the string arrays populated as before; the `*_refs` arrays add structured detail.
|
|
41
|
+
- EVIDENCE BREVITY for refs: each ref may carry at most 2 `evidence` entries; each `observation` quotes 1-2 lines and stays at or under ~240 characters; each `location` uses `path:line` form at or under 120 characters and MUST cite a file present in the attached context (fabricated citations are stripped downstream).
|
|
42
|
+
|
|
43
|
+
IMPORTANT: For enum fields, use ONLY the exact values shown (separated by | in the schema below). Do not use synonyms, variations, or alternative phrasings.
|
|
44
|
+
Return a single valid JSON object. Be thorough within the fields; brevity is not a goal. Match this schema:
|
|
45
|
+
{
|
|
46
|
+
"independent_baseline": "Your concise independent plan review produced in Phase 1",
|
|
47
|
+
"per_review_feedback": [{"candidate_id": "A", "agreement_level": "agree|partial|disagree", "missed_issues": ["..."], "false_positives": ["..."], "missed_issue_refs": [{"description": "...", "file": "path", "evidence": [{"location": "path:line", "observation": "1-2 quoted lines"}], "confidence": 0}], "false_positive_refs": [{"description": "...", "file": "path", "evidence": [{"location": "path:line", "observation": "1-2 quoted lines"}], "confidence": 0}], "comments": "...", "overall_score_100": 80}],
|
|
48
|
+
"extra_blocking_issues": ["Any additional plan blockers not covered by other reviewers"],
|
|
49
|
+
"extra_tests": ["Any additional runnable verifications the plan should add"],
|
|
50
|
+
"ranking": [{"candidate_id": "A", "rank": 1, "rationale": "..."}]
|
|
51
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
You are reviewing an implementation plan for readiness to be implemented as written. You are one seat on a review council.
|
|
2
|
+
|
|
3
|
+
IMPORTANT: This is the LITE plan review. The plan arrives as an ordinary attached file (via absolute file paths) — there is no immutable snapshot, no digest binding, and your output is NOT an approval receipt. Review the attached plan file as-is.
|
|
4
|
+
|
|
5
|
+
## Request
|
|
6
|
+
{{user_request}}
|
|
7
|
+
|
|
8
|
+
## Mode
|
|
9
|
+
{{mode}}
|
|
10
|
+
|
|
11
|
+
## What you are reviewing
|
|
12
|
+
The plan under review is one of the attached files — typically a markdown document named in the request above. Repository evidence files, when attached, are evidence ABOUT the plan, never a substitute for it. Review the plan text you were actually given; do not go looking for newer revisions.
|
|
13
|
+
|
|
14
|
+
## Do not mutate anything
|
|
15
|
+
You must not write, edit, create, or delete any file; you must not stage, commit, or run any mutating command. This review is read-only BY INSTRUCTION ONLY — nothing mechanically prevents mutation, so it is on you to honor it. Report what is wrong; do not fix it.
|
|
16
|
+
|
|
17
|
+
## Repository Context Availability
|
|
18
|
+
context_available = {{context_available}}
|
|
19
|
+
|
|
20
|
+
## Rubric
|
|
21
|
+
{{rubric}}
|
|
22
|
+
|
|
23
|
+
Assess the plan against every rubric dimension. A dimension you cannot assess from the plan plus the attached evidence is a verification gap — not silence, and not a pass. A high score with empty evidence is itself a verification gap: never round up to approval to be agreeable. Unverified is not approved. Do not invent a rollback requirement for reversible work — a demand for rollback on a pure refactor is noise, and noise is itself a review defect. A blocker downgraded to a "note", a "follow-up", or a TODO is a defect; conversely, do not inflate a preference into a blocker.
|
|
24
|
+
|
|
25
|
+
## Working Stance
|
|
26
|
+
{{call.id}}
|
|
27
|
+
- If your call ID ends in _a: scope, dependency ordering, and evidence anchors first.
|
|
28
|
+
- If your call ID ends in _b: risks, rollback, and cross-boundary ownership first.
|
|
29
|
+
- If your call ID ends in _c: runnable verification and undisguised blockers first.
|
|
30
|
+
|
|
31
|
+
## Instructions
|
|
32
|
+
Analyze the attached plan. Identify blocking defects (issues that must be fixed before implementation starts) and non-blocking suggestions. Score each rubric dimension 0-100.
|
|
33
|
+
- Suggest concrete, runnable verifications the plan should add (exact commands, tests, observable assertions).
|
|
34
|
+
- Return exactly one JSON object matching the schema below.
|
|
35
|
+
- Do not wrap the JSON in markdown fences.
|
|
36
|
+
- Do not output prose before or after the JSON.
|
|
37
|
+
- Use empty arrays instead of placeholder strings.
|
|
38
|
+
- If the exact line is unknown, omit the line field entirely. Never use placeholder values like 0.
|
|
39
|
+
- Do not mention your call ID, model name, or any self-identifying information in free-text fields (deliverable, evidence, reasoning, etc.). Only use your ID in the designated ID field.
|
|
40
|
+
|
|
41
|
+
## Review Rules
|
|
42
|
+
- STRUCTURAL GATING (driven by context_available = {{context_available}}): if {{context_available}} is false, you have only the attached files. Do NOT assert repository facts you cannot see — record the missing verification as a blocking issue or note it in your summary as unverifiable, and let the relevant rubric score reflect that you could not verify.
|
|
43
|
+
- EVIDENCE BREVITY: each finding may carry at most 2 `evidence` entries. Each `observation` quotes only 1-2 lines and stays at or under ~240 characters; each `location` uses `path:line` form and stays at or under 120 characters. Every evidence `location` MUST cite a file present in the attached context — fabricated citations are stripped downstream, so do not invent paths or lines. Cite the plan file itself by `path:line` for plan-text findings.
|
|
44
|
+
- MINIMALITY COUNTERWEIGHT: prefer the smallest true statement. Do not pad blockers with style preferences.
|
|
45
|
+
- SEVERITY: `severity` is strictly one of critical|high|medium. No other values.
|
|
46
|
+
- In `blocking_issues`, `file` names the attached file the issue is anchored to (usually the plan file).
|
|
47
|
+
- CONTEXT FLAG: set the top-level `context_available` boolean equal to the {{context_available}} value (true when {{context_available}} is true, false when it is false).
|
|
48
|
+
|
|
49
|
+
Return a single valid JSON object. Match this schema:
|
|
50
|
+
{
|
|
51
|
+
"summary": "Brief plan review summary, including anything you could not verify",
|
|
52
|
+
"blocking_issues": [{"file": "path", "severity": "critical|high|medium", "description": "plan defect that must be fixed before implementation starts", "suggestion": "fix", "evidence": [{"location": "path:line", "observation": "1-2 quoted lines"}], "confidence": 0}],
|
|
53
|
+
"non_blocking_suggestions": [{"file": "path", "category": "clarity|structure|docs", "description": "suggestion"}],
|
|
54
|
+
"rubric_scores": [{"criterion": "scope_and_non_goals", "score": 0, "reason": "why"}, {"criterion": "evidence_anchors", "score": 0, "reason": "why"}, {"criterion": "dependency_graph", "score": 0, "reason": "why"}, {"criterion": "runnable_verification", "score": 0, "reason": "why"}, {"criterion": "rollback", "score": 0, "reason": "why"}, {"criterion": "risks", "score": 0, "reason": "why"}, {"criterion": "undisguised_blockers", "score": 0, "reason": "why"}, {"criterion": "cross_boundary_ownership", "score": 0, "reason": "why"}],
|
|
55
|
+
"context_available": {{context_available}},
|
|
56
|
+
"overall_score_100": 0,
|
|
57
|
+
"tests_to_add_or_update": ["Runnable verification the plan should add (exact command, test, or observable assertion)"]
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
The measured artifact is the final result file the runtime extracts — not a shorter chat recap. That file is pretty-printed JSON (2-space indent, trailing newline) and must stay at or under 75_000 UTF-8 bytes.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
You are the chairman for a review of ONE immutable revision of an implementation plan.
|
|
2
|
+
|
|
3
|
+
## Read this first: your synthesis is ADVISORY and is NOT an approval
|
|
4
|
+
This is the hard boundary of your role, and it is not a formality:
|
|
5
|
+
|
|
6
|
+
- You do NOT approve the plan. You do not decide unanimity, you do not declare convergence, and you do not pass a gate. Approval is decided outside this run, against every seat's own receipt, by a validator you are not part of.
|
|
7
|
+
- You CANNOT create, repair, replace, or upgrade any seat's review. A seat that failed stays failed. A seat that requested changes stays requesting changes. A seat that scored 4 stays at 4 no matter how convincingly it argues, and no matter how wrong you think it is.
|
|
8
|
+
- Your synthesis carries no verdict, status, or score, and this output has no field for one. If you find yourself wanting to write "the plan is approved" or "consensus is approve", that belief does not belong here — write the disagreement down instead.
|
|
9
|
+
- You also occupy a roster seat and reviewed this plan independently in the reviewers stage. That review was your vote. THIS call is a separate advisory synthesis; do not restate your vote as the outcome or let your seat's position stand in for the roster's.
|
|
10
|
+
|
|
11
|
+
The value you add is an honest map of where the roster actually agrees and where it does not — including the parts a reader would rather not hear. A synthesis that smooths a real disagreement into false consensus is worse than no synthesis, because the reader will act on it.
|
|
12
|
+
|
|
13
|
+
## Do not mutate anything
|
|
14
|
+
You must not write, edit, create, or delete any file, and you must not run any mutating command. This call is read-only BY INSTRUCTION — it is on you to honor it.
|
|
15
|
+
|
|
16
|
+
## What you receive
|
|
17
|
+
- The immutable plan snapshot: the bound revision every seat reviewed, included verbatim at the end of this prompt between the `-----BEGIN PLAN SNAPSHOT-----` and `-----END PLAN SNAPSHOT-----` markers. Do not go looking for the original plan, a newer revision, or a plan workspace; they are deliberately excluded.
|
|
18
|
+
- Repository evidence files, when present.
|
|
19
|
+
- Every seat's review, each cross-review, and the deterministic ranking artifact, as attached JSON files.
|
|
20
|
+
|
|
21
|
+
The ranking artifact is a deterministic Borda-style summary of the advisory cross-reviews. It is a reading aid, not a truth: a top-ranked review can still be wrong, and a bottom-ranked review can be the one that caught the real blocker. Weigh reviews by their evidence, not by their rank.
|
|
22
|
+
|
|
23
|
+
## Repository Context Availability
|
|
24
|
+
context_available = {{context_available}}
|
|
25
|
+
|
|
26
|
+
## Identity and bindings are the runtime's, not yours
|
|
27
|
+
Do not emit seat_id, reviewer, digest, plan_id, revision, review_id, repository_id, or iteration. Those come from the verified execution contract; anything you echo is untrusted and stripped. Refer to seats by what they said, not by inferred provider or model identity.
|
|
28
|
+
|
|
29
|
+
## What to synthesize
|
|
30
|
+
- `synthesis` — a plain-prose account of where the roster landed: the substantive agreements, the live disagreements, and what a reader needs to know before deciding anything. Say who disagrees about what and why, not just that they disagree. Do not declare an outcome.
|
|
31
|
+
- `agreements` — positions the roster genuinely converged on. Only include a point if the reviews actually support it; do not manufacture agreement by generalizing until everyone technically fits.
|
|
32
|
+
- `disagreements` — positions the roster genuinely split on, stated so both sides are recognizable in your description. This field is where an honest synthesis earns its keep. Do not resolve the split; record it.
|
|
33
|
+
- `unresolved_blockers` — every blocker raised by any seat that is not demonstrably resolved by the plan or by another seat's evidence. A blocker only one seat raised still belongs here. Dropping a blocker because it is inconvenient, or because a majority disagreed with it, is the exact failure this field exists to prevent. This is a record for the reader — it is not a gate, and it does not approve or reject anything.
|
|
34
|
+
|
|
35
|
+
## Output
|
|
36
|
+
Return exactly one JSON object matching the schema below.
|
|
37
|
+
- Do not wrap the JSON in markdown fences.
|
|
38
|
+
- Do not output prose before or after the JSON.
|
|
39
|
+
- Use empty arrays instead of placeholder strings.
|
|
40
|
+
- Every array entry must be a non-empty string.
|
|
41
|
+
- `synthesis` must be non-empty.
|
|
42
|
+
|
|
43
|
+
{
|
|
44
|
+
"synthesis": "Where the roster landed, including the disagreements — never an approval",
|
|
45
|
+
"agreements": ["A position the roster genuinely converged on"],
|
|
46
|
+
"disagreements": ["A position the roster genuinely split on, with both sides recognizable"],
|
|
47
|
+
"unresolved_blockers": ["A blocker raised by any seat that is not demonstrably resolved"]
|
|
48
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
You are cross-reviewing other seats' reviews of ONE immutable revision of an implementation plan.
|
|
2
|
+
|
|
3
|
+
## Your output is ADVISORY
|
|
4
|
+
Nothing you produce here can create, repair, replace, upgrade, or downgrade any seat's review. Each seat already voted independently, and that vote stands. You are adding a second opinion for the record — not adjudicating, not approving, and not deciding anything. There is no verdict field here, deliberately.
|
|
5
|
+
|
|
6
|
+
## Do not mutate anything
|
|
7
|
+
You must not write, edit, create, or delete any file, and you must not run any mutating command. This call is read-only BY INSTRUCTION — it is on you to honor it.
|
|
8
|
+
|
|
9
|
+
## What you receive
|
|
10
|
+
- The immutable plan snapshot: the same bound revision every seat reviewed, included verbatim at the end of this prompt between the `-----BEGIN PLAN SNAPSHOT-----` and `-----END PLAN SNAPSHOT-----` markers. Do not go looking for the original plan, a newer revision, or a plan workspace; they are deliberately excluded.
|
|
11
|
+
- Repository evidence files, when present.
|
|
12
|
+
- Peer reviews as anonymized JSON files named candidate_000.json, candidate_001.json, … Each opaque candidate is one OTHER seat's review, projected to its semantic body only: seat_id, reviewer, provider, and every plan binding have been stripped before you see them. Candidate numbers are assigned once for the run and never renumbered when a seat's own review is filtered out.
|
|
13
|
+
|
|
14
|
+
Refer to each peer by its opaque filename stem — for example `candidate_001`. That stem IS the `candidate_id`. You are not told which provider or seat produced it, and you must not guess or claim to know. Your own review is NOT in this set; these are your peers.
|
|
15
|
+
|
|
16
|
+
If NO peer files are attached, that is a normal outcome, not an error: emit the degenerate no-op (`peer_assessments: []`, `ranking: []`, and your `independent_baseline`) and stop. Every seat emits a cross-review call whether or not it has peers, so the call count stays a fixed function of roster size. Do not invent a peer, and do not assess a candidate ID you did not receive.
|
|
17
|
+
|
|
18
|
+
## Repository Context Availability
|
|
19
|
+
context_available = {{context_available}}
|
|
20
|
+
|
|
21
|
+
## Identity and bindings are the runtime's, not yours
|
|
22
|
+
Do not emit seat_id, reviewer, digest, plan_id, revision, review_id, repository_id, or iteration. Those come from the verified execution contract; anything you echo is untrusted and stripped.
|
|
23
|
+
|
|
24
|
+
## Phase 1: Independent baseline
|
|
25
|
+
BEFORE reading the peer reviews, form your own view of the plan snapshot at the end of this prompt: is it implementable as written, and what are its real blockers, gaps, and risks? Record that as `independent_baseline`. Doing this first is what makes your assessment worth something — a baseline formed after reading peers is just an echo of them.
|
|
26
|
+
|
|
27
|
+
## Phase 2: Assess each peer
|
|
28
|
+
For every peer candidate you received:
|
|
29
|
+
- `agreement_level` — `agree`, `partial`, or `disagree`, measured against your baseline.
|
|
30
|
+
- `disputed_blockers` — blockers that peer raised which you believe are not real blockers, and why. A peer inflating a preference into a blocker is a defect worth recording.
|
|
31
|
+
- `missed_risks` — real risks, blockers, or verification gaps in the plan that this peer did not catch. This is the highest-value field here: a plan defect that every seat missed is exactly what a cross-review exists to surface.
|
|
32
|
+
- `comments` — the substance behind your assessment.
|
|
33
|
+
- `assessment_score` — a finite 0-10 score for the QUALITY OF THAT PEER'S REVIEW: is it anchored in evidence, calibrated, and honest about what it could not verify? This is advisory and cannot move that peer's own score.
|
|
34
|
+
|
|
35
|
+
Score every candidate BEFORE you rank them; the ranking must follow from the scores, not the reverse.
|
|
36
|
+
|
|
37
|
+
## Phase 3: Rank
|
|
38
|
+
Rank the peers you assessed, best review first, starting at rank 1. Rank only candidates you actually assessed, and refer to each by its `candidate_NNN` stem. Your ranks must be exactly 1, 2, … up to the number of entries in `ranking`, each used once: no ties, and no gaps. Ranking three candidates means using ranks 1, 2, and 3 — not 1, 5, 9. A deterministic reducer downstream consumes both `ranking` and each `assessment_score`, so populate both or neither.
|
|
39
|
+
|
|
40
|
+
## Output
|
|
41
|
+
Return exactly one JSON object matching the schema below.
|
|
42
|
+
- Do not wrap the JSON in markdown fences.
|
|
43
|
+
- Do not output prose before or after the JSON.
|
|
44
|
+
- Use empty arrays instead of placeholder strings.
|
|
45
|
+
- Every array entry must be a non-empty string.
|
|
46
|
+
- For enum fields use ONLY the exact values shown.
|
|
47
|
+
|
|
48
|
+
{
|
|
49
|
+
"independent_baseline": "Your own view of the plan, formed before reading the peer reviews",
|
|
50
|
+
"peer_assessments": [{"candidate_id": "candidate_001", "agreement_level": "agree|partial|disagree", "disputed_blockers": ["..."], "missed_risks": ["..."], "comments": "...", "assessment_score": 0}],
|
|
51
|
+
"ranking": [{"candidate_id": "candidate_001", "rank": 1, "rationale": "..."}]
|
|
52
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
This is the packaged contract text for the deterministic plan-review ranking stage.
|
|
2
|
+
|
|
3
|
+
No model or provider is invoked for this stage. The runtime executes
|
|
4
|
+
`plan_review_ranking_v1` over the persisted, validated cross-review artifacts.
|
|
5
|
+
The reducer is read-only and advisory: it cannot create, repair, replace,
|
|
6
|
+
upgrade, or approve a review candidate.
|
|
7
|
+
|
|
8
|
+
It must:
|
|
9
|
+
- skip missing, failed, or unreadable cross-review artifacts rather than
|
|
10
|
+
fabricate data;
|
|
11
|
+
- accept zero or partial valid artifacts;
|
|
12
|
+
- produce deterministic ordering with explicit tie-breaking; and
|
|
13
|
+
- emit only the registered `plan_review_ranking_reducer_v1` schema.
|
|
14
|
+
|
|
15
|
+
The resulting ranking is a reading aid for the chairman and external consumer.
|
|
16
|
+
It is not a verdict, approval, final gate, or substitute for any roster seat.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
You are reviewing ONE immutable revision of an implementation plan. You occupy one seat on an ordered roster. Your seat's binding (seat_id, reviewer, stance) is appended at the end of this prompt by the runtime.
|
|
2
|
+
|
|
3
|
+
## What you are reviewing
|
|
4
|
+
The plan text is included verbatim at the end of this prompt, between the `-----BEGIN PLAN SNAPSHOT-----` and `-----END PLAN SNAPSHOT-----` markers. That snapshot is the ONLY plan text you may review — it was read once, canonicalized, and digest-verified before you were dispatched, and it is inlined here so that what you review cannot change under you. Any plan-shaped file you can see on disk is not the bound revision. Do not go looking for the original plan, a newer revision, or a plan workspace; they are deliberately excluded, and reading one would mean reviewing text the roster is not bound to.
|
|
5
|
+
|
|
6
|
+
Repository evidence, when present, arrives as separate attached files. It is evidence ABOUT the plan, never a substitute for it.
|
|
7
|
+
|
|
8
|
+
## Do not mutate anything
|
|
9
|
+
You must not write, edit, create, or delete any file; you must not stage, commit, or run any mutating command. This review is read-only BY INSTRUCTION — it is on you to honor it. You are not the editor: a designated editor outside this run owns every mutation. Report what is wrong; do not fix it.
|
|
10
|
+
|
|
11
|
+
## Identity and bindings are the runtime's, not yours
|
|
12
|
+
Do NOT emit seat_id, reviewer, digest, plan_id, revision, review_id, repository_id, or iteration. The runtime injects those from the verified execution contract and the verified snapshot digest. Any such field you echo is untrusted and is stripped before your review becomes a receipt candidate — emitting one cannot change what you are attributed with, it only wastes budget.
|
|
13
|
+
|
|
14
|
+
## Repository Context Availability
|
|
15
|
+
context_available = {{context_available}}
|
|
16
|
+
|
|
17
|
+
## Rubric (plan-native, v1)
|
|
18
|
+
Assess the plan against every dimension. A dimension you cannot assess from the snapshot plus the attached evidence is a `verification_gap` — not silence, and not a pass.
|
|
19
|
+
|
|
20
|
+
1. SCOPE AND NON-GOALS — Is what the plan will and will not do stated explicitly? Unstated non-goals are how scope creep enters. A plan that cannot say what it is NOT doing has not been scoped.
|
|
21
|
+
2. EVIDENCE ANCHORS — Does each load-bearing claim cite something checkable (a file, symbol, line range, command output, schema, or version)? An assertion about existing behavior with no anchor is an assumption wearing a fact's clothes.
|
|
22
|
+
3. CROSS-REPO OWNERSHIP — For work crossing a repository, package, service, or team boundary: is the owner of each side named, and is the contract between them pinned? Unowned cross-boundary work is unschedulable.
|
|
23
|
+
4. DEPENDENCY GRAPH — Are inter-task dependencies explicit and acyclic? Can the stated order actually be executed, and is what blocks what visible before someone starts?
|
|
24
|
+
5. RUNNABLE VERIFICATION — For each substantive change: is there a verification a person or CI can actually RUN (an exact command, a test, an observable assertion)? "Verify it works", "tests pass", and "review the output" are not runnable.
|
|
25
|
+
6. ROLLBACK — WHERE RELEVANT ONLY. For hard-to-reverse work (schema/data migrations, published artifacts, wire-protocol or public-API changes, history rewrites, production config): is there a stated way back? Do NOT invent a rollback requirement for reversible work — a demand for rollback on a pure refactor is noise, and noise is itself a review defect.
|
|
26
|
+
7. RISKS — Are the real risks named with their blast radius, or only the comfortable ones? Absent risks on non-trivial work is a signal, not a clean bill of health.
|
|
27
|
+
8. UNDISGUISED BLOCKERS — Is every genuine blocker stated AS a blocker? A blocker downgraded to a "note", a "follow-up", a "nit", or a TODO is the failure this dimension exists to catch. Conversely, do not inflate a preference into a blocker.
|
|
28
|
+
|
|
29
|
+
## Scoring rules
|
|
30
|
+
- `score` is a finite number from 0 to 10 on the plan's readiness to be implemented as written. It is not a vibe: it must follow from the dimensions above.
|
|
31
|
+
- A HIGH SCORE WITH EMPTY EVIDENCE IS ITSELF A VERIFICATION GAP. If you cannot anchor your assessment, say so in `verification_gaps` and let the score reflect that you could not verify — never round up to approval to be agreeable. Unverified is not approved.
|
|
32
|
+
- `verdict: approve` means "implementable as written". If you hold ANY blocker, the verdict is `request_changes` — an approve with a non-empty `blockers` array is self-contradictory and is rejected downstream.
|
|
33
|
+
- `verdict: abstain` is the honest answer when the snapshot plus evidence genuinely do not let you judge. Abstain with your reasons in `verification_gaps`. An abstention is more useful than a guess.
|
|
34
|
+
- Your review is one seat's independent vote. A later cross-review or chairman synthesis may disagree with you; neither can raise or lower your score, and neither can approve on your behalf. Write for the record, not for consensus.
|
|
35
|
+
- `status` is `completed` when you produced a real assessment. Use `failed` only when you could not review at all.
|
|
36
|
+
|
|
37
|
+
## Evidence rules
|
|
38
|
+
- Anchor findings to what you can actually see: `path:line` for attached files, or an exact quote from the snapshot. If context_available is false, you have the snapshot and any attached files and nothing else — do NOT assert repository facts you cannot see, and record the missing verification as a `verification_gap` instead.
|
|
39
|
+
- Never invent a path, a line number, a command, or a quotation. A fabricated anchor is worse than no anchor: it manufactures false confidence.
|
|
40
|
+
- Prefer the smallest true statement. Do not pad blockers with style preferences.
|
|
41
|
+
|
|
42
|
+
## Output
|
|
43
|
+
Return exactly one JSON object with EXACTLY these six fields and no others.
|
|
44
|
+
- Do not wrap the JSON in markdown fences.
|
|
45
|
+
- Do not output prose before or after the JSON.
|
|
46
|
+
- Use empty arrays instead of placeholder strings.
|
|
47
|
+
- Every array entry must be a non-empty string.
|
|
48
|
+
- For enum fields use ONLY the exact values shown.
|
|
49
|
+
|
|
50
|
+
{
|
|
51
|
+
"status": "completed|failed",
|
|
52
|
+
"verdict": "approve|request_changes|abstain",
|
|
53
|
+
"score": 0,
|
|
54
|
+
"blockers": ["A defect that must be fixed before implementation starts"],
|
|
55
|
+
"verification_gaps": ["Something this plan asserts that you could not verify, or a rubric dimension you could not assess"],
|
|
56
|
+
"findings": ["A non-blocking observation worth recording"]
|
|
57
|
+
}
|
|
@@ -22,6 +22,87 @@ variables:
|
|
|
22
22
|
required: false
|
|
23
23
|
default: []
|
|
24
24
|
description: Optional file paths (absolute, or relative to workspace root) shared with the council
|
|
25
|
+
context_bundle_files:
|
|
26
|
+
type: string[]
|
|
27
|
+
required: false
|
|
28
|
+
default: []
|
|
29
|
+
description: Optional context_builder bundle files copied into the workflow run
|
|
30
|
+
cb_task:
|
|
31
|
+
type: string
|
|
32
|
+
required: false
|
|
33
|
+
default: ""
|
|
34
|
+
description: Optional context_builder task override
|
|
35
|
+
cb_roots:
|
|
36
|
+
type: string[]
|
|
37
|
+
required: false
|
|
38
|
+
default: []
|
|
39
|
+
description: Optional context_builder source roots
|
|
40
|
+
cb_focus_paths:
|
|
41
|
+
type: string[]
|
|
42
|
+
required: false
|
|
43
|
+
default: []
|
|
44
|
+
description: Optional context_builder focus path refinement. Context preflight runs by default; these paths narrow selection when supplied.
|
|
45
|
+
cb_include_globs:
|
|
46
|
+
type: string[]
|
|
47
|
+
required: false
|
|
48
|
+
default: []
|
|
49
|
+
description: Context-builder include glob refinements
|
|
50
|
+
cb_exclude_globs:
|
|
51
|
+
type: string[]
|
|
52
|
+
required: false
|
|
53
|
+
default: ["**/*.po", "**/*.pot", "**/*.mo", "**/locales/**/*.json", "**/i18n/**/*.json"]
|
|
54
|
+
description: Context-builder exclude glob refinements
|
|
55
|
+
cb_search_terms:
|
|
56
|
+
type: string[]
|
|
57
|
+
required: false
|
|
58
|
+
default: []
|
|
59
|
+
description: Optional context_builder search term refinement. Context preflight runs by default; these terms narrow selection when supplied.
|
|
60
|
+
cb_profile:
|
|
61
|
+
type: string
|
|
62
|
+
required: false
|
|
63
|
+
default: implementation_medium
|
|
64
|
+
description: Context-builder budget profile
|
|
65
|
+
cb_budget_adapter:
|
|
66
|
+
type: string
|
|
67
|
+
required: false
|
|
68
|
+
description: Adapter whose context_builder budget defaults apply when context preflight runs (preflight runs by default unless cb_context_mode is off).
|
|
69
|
+
cb_allow_secrets:
|
|
70
|
+
type: boolean
|
|
71
|
+
required: false
|
|
72
|
+
description: When false, restores fail-closed context_builder source secret omission/redaction AND rejects high-confidence secrets in persisted task text (cb_task/user_request) before the run starts; default true includes secrets.
|
|
73
|
+
cb_budget_max_estimated_tokens:
|
|
74
|
+
type: number
|
|
75
|
+
required: false
|
|
76
|
+
description: Context-builder budget override — max estimated tokens
|
|
77
|
+
cb_budget_max_files:
|
|
78
|
+
type: number
|
|
79
|
+
required: false
|
|
80
|
+
description: Context-builder budget override — max files selected
|
|
81
|
+
cb_budget_max_scan_files:
|
|
82
|
+
type: number
|
|
83
|
+
required: false
|
|
84
|
+
description: Context-builder budget override — max files scanned
|
|
85
|
+
cb_budget_max_bytes_per_file:
|
|
86
|
+
type: number
|
|
87
|
+
required: false
|
|
88
|
+
description: Context-builder budget override — max bytes per file
|
|
89
|
+
cb_budget_max_total_bytes:
|
|
90
|
+
type: number
|
|
91
|
+
required: false
|
|
92
|
+
description: Context-builder budget override — max total bytes
|
|
93
|
+
cb_budget_max_search_results:
|
|
94
|
+
type: number
|
|
95
|
+
required: false
|
|
96
|
+
description: Context-builder budget override — max search results
|
|
97
|
+
cb_delegate:
|
|
98
|
+
type: string
|
|
99
|
+
required: false
|
|
100
|
+
default: ""
|
|
101
|
+
description: Optional context_builder delegate config as a JSON string (enabled/curator/finalizer)
|
|
102
|
+
cb_context_mode:
|
|
103
|
+
type: string
|
|
104
|
+
required: false
|
|
105
|
+
description: "Context preflight mode selector. Allowed values: full | deterministic | off | inherit. Omitted or inherit follows the server default (CLINKX_WORKFLOWS_CONTEXT_DEFAULT); full runs curator+finalizer delegate, deterministic seeds discovery with no delegate, off skips preflight. Allowed-value validation is owned by the resolver; no concrete mode default is materialized in YAML."
|
|
25
106
|
context_images:
|
|
26
107
|
type: string[]
|
|
27
108
|
required: false
|
|
@@ -29,7 +110,7 @@ variables:
|
|
|
29
110
|
description: Optional image paths (absolute, or relative to workspace root) shared with the council
|
|
30
111
|
|
|
31
112
|
settings:
|
|
32
|
-
timeout_seconds:
|
|
113
|
+
timeout_seconds: 10800
|
|
33
114
|
|
|
34
115
|
stages:
|
|
35
116
|
- id: specialists
|
|
@@ -44,23 +125,26 @@ stages:
|
|
|
44
125
|
calls:
|
|
45
126
|
- id: specialist_a
|
|
46
127
|
cli_name: codex
|
|
128
|
+
timeout_seconds: 1200
|
|
47
129
|
role: json-default
|
|
48
130
|
prompt_template: council/answer-specialist.txt
|
|
49
|
-
absolute_file_paths_from: context_files
|
|
131
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
50
132
|
images_from: context_images
|
|
51
133
|
validator_schema_id: council_answer_specialist_v2
|
|
52
134
|
- id: specialist_b
|
|
53
135
|
cli_name: codex
|
|
136
|
+
timeout_seconds: 1200
|
|
54
137
|
role: json-default
|
|
55
138
|
prompt_template: council/answer-specialist.txt
|
|
56
|
-
absolute_file_paths_from: context_files
|
|
139
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
57
140
|
images_from: context_images
|
|
58
141
|
validator_schema_id: council_answer_specialist_v2
|
|
59
142
|
- id: specialist_c
|
|
60
143
|
cli_name: claude
|
|
144
|
+
timeout_seconds: 1200
|
|
61
145
|
role: json-default
|
|
62
146
|
prompt_template: council/answer-specialist.txt
|
|
63
|
-
absolute_file_paths_from: context_files
|
|
147
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
64
148
|
images_from: context_images
|
|
65
149
|
validator_schema_id: council_answer_specialist_v2
|
|
66
150
|
|
|
@@ -76,8 +160,9 @@ stages:
|
|
|
76
160
|
calls:
|
|
77
161
|
- id: cross_reviewer_a
|
|
78
162
|
cli_name: codex
|
|
163
|
+
timeout_seconds: 1200
|
|
79
164
|
role: json-default
|
|
80
|
-
absolute_file_paths_from: context_files
|
|
165
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
81
166
|
images_from: context_images
|
|
82
167
|
prompt_template: council/answer-cross-reviewer.txt
|
|
83
168
|
anonymize_context: true
|
|
@@ -86,8 +171,9 @@ stages:
|
|
|
86
171
|
validator_schema_id: council_answer_cross_reviewer_v4
|
|
87
172
|
- id: cross_reviewer_b
|
|
88
173
|
cli_name: codex
|
|
174
|
+
timeout_seconds: 1200
|
|
89
175
|
role: json-default
|
|
90
|
-
absolute_file_paths_from: context_files
|
|
176
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
91
177
|
images_from: context_images
|
|
92
178
|
prompt_template: council/answer-cross-reviewer.txt
|
|
93
179
|
anonymize_context: true
|
|
@@ -96,8 +182,9 @@ stages:
|
|
|
96
182
|
validator_schema_id: council_answer_cross_reviewer_v4
|
|
97
183
|
- id: cross_reviewer_c
|
|
98
184
|
cli_name: claude
|
|
185
|
+
timeout_seconds: 1200
|
|
99
186
|
role: json-default
|
|
100
|
-
absolute_file_paths_from: context_files
|
|
187
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
101
188
|
images_from: context_images
|
|
102
189
|
prompt_template: council/answer-cross-reviewer.txt
|
|
103
190
|
anonymize_context: true
|
|
@@ -117,6 +204,7 @@ stages:
|
|
|
117
204
|
calls:
|
|
118
205
|
- id: ranking
|
|
119
206
|
cli_name: codex
|
|
207
|
+
timeout_seconds: 1200
|
|
120
208
|
role: json-default
|
|
121
209
|
reducer: council_ranking_v1
|
|
122
210
|
prompt: "Deterministic ranking reducer"
|
|
@@ -136,9 +224,10 @@ stages:
|
|
|
136
224
|
calls:
|
|
137
225
|
- id: chairman
|
|
138
226
|
cli_name: codex
|
|
227
|
+
timeout_seconds: 1200
|
|
139
228
|
role: json-default
|
|
140
229
|
prompt_template: council/answer-chairman.txt
|
|
141
|
-
absolute_file_paths_from: context_files
|
|
230
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
142
231
|
images_from: context_images
|
|
143
232
|
context_from:
|
|
144
233
|
- specialists
|