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
|
@@ -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: analysts
|
|
@@ -44,23 +125,26 @@ stages:
|
|
|
44
125
|
calls:
|
|
45
126
|
- id: analyst_a
|
|
46
127
|
cli_name: codex
|
|
128
|
+
timeout_seconds: 1200
|
|
47
129
|
role: json-default
|
|
48
130
|
prompt_template: council/discover-analyst.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_discover_analyst_v2
|
|
52
134
|
- id: analyst_b
|
|
53
135
|
cli_name: codex
|
|
136
|
+
timeout_seconds: 1200
|
|
54
137
|
role: json-default
|
|
55
138
|
prompt_template: council/discover-analyst.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_discover_analyst_v2
|
|
59
142
|
- id: analyst_c
|
|
60
143
|
cli_name: claude
|
|
144
|
+
timeout_seconds: 1200
|
|
61
145
|
role: json-default
|
|
62
146
|
prompt_template: council/discover-analyst.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_discover_analyst_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/discover-cross-reviewer.txt
|
|
83
168
|
anonymize_context: true
|
|
@@ -86,8 +171,9 @@ stages:
|
|
|
86
171
|
validator_schema_id: council_discover_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/discover-cross-reviewer.txt
|
|
93
179
|
anonymize_context: true
|
|
@@ -96,8 +182,9 @@ stages:
|
|
|
96
182
|
validator_schema_id: council_discover_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/discover-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/discover-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
|
- analysts
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
# GENERIC plan review council — the sixth generic council (members/chairman/user_request).
|
|
2
|
+
# The typed approval transport is the separate plan-review-receipts workflow. Guarantee
|
|
3
|
+
# delta versus plan-review-receipts: NO immutable-revision binding, NO execution-contract
|
|
4
|
+
# digest, NO immutable snapshot, and NO receipt candidates — the plan travels as a mutable
|
|
5
|
+
# file path via context_files, reviewer non-mutation is a prompt instruction only (not an
|
|
6
|
+
# enforced boundary), and the result is a generic council verdict that CANNOT feed an
|
|
7
|
+
# approval gate.
|
|
8
|
+
# Use plan-review-receipts (typed plan_review contract) when those guarantees matter.
|
|
9
|
+
name: council-plan-review
|
|
10
|
+
description: "Plan review council: reviewers critique a plan file, cross-reviewers evaluate, chairman synthesizes (1-10 members). No typed contract, digest binding, or receipts — the typed transport is plan-review-receipts."
|
|
11
|
+
version: 1.0.0
|
|
12
|
+
|
|
13
|
+
variables:
|
|
14
|
+
user_request:
|
|
15
|
+
type: string
|
|
16
|
+
required: true
|
|
17
|
+
description: The plan review request including context (what the plan is for, what to scrutinize)
|
|
18
|
+
mode:
|
|
19
|
+
type: string
|
|
20
|
+
required: false
|
|
21
|
+
default: plan_review
|
|
22
|
+
description: Review mode
|
|
23
|
+
rubric:
|
|
24
|
+
type: string
|
|
25
|
+
required: false
|
|
26
|
+
default: '[{"name":"scope_and_non_goals","description":"Explicit scope and stated non-goals","weight":15},{"name":"evidence_anchors","description":"Load-bearing claims cite checkable files, symbols, or commands","weight":15},{"name":"dependency_graph","description":"Explicit, acyclic, executable task ordering","weight":10},{"name":"runnable_verification","description":"Each substantive change has a verification a person or CI can actually run","weight":15},{"name":"rollback","description":"A stated way back for hard-to-reverse work only","weight":10},{"name":"risks","description":"Real risks named with blast radius","weight":15},{"name":"undisguised_blockers","description":"Genuine blockers stated as blockers, preferences not inflated","weight":10},{"name":"cross_boundary_ownership","description":"Owners and pinned contracts for work crossing repo, package, or service boundaries","weight":10}]'
|
|
27
|
+
description: Evaluation rubric for plan reviewers
|
|
28
|
+
context_files:
|
|
29
|
+
type: string[]
|
|
30
|
+
required: false
|
|
31
|
+
default: []
|
|
32
|
+
description: Optional file paths (absolute, or relative to workspace root) shared with the council; include the plan file here
|
|
33
|
+
context_bundle_files:
|
|
34
|
+
type: string[]
|
|
35
|
+
required: false
|
|
36
|
+
default: []
|
|
37
|
+
description: Optional context_builder bundle files copied into the workflow run
|
|
38
|
+
cb_task:
|
|
39
|
+
type: string
|
|
40
|
+
required: false
|
|
41
|
+
default: ""
|
|
42
|
+
description: Optional context_builder task override
|
|
43
|
+
cb_roots:
|
|
44
|
+
type: string[]
|
|
45
|
+
required: false
|
|
46
|
+
default: []
|
|
47
|
+
description: Optional context_builder source roots
|
|
48
|
+
cb_focus_paths:
|
|
49
|
+
type: string[]
|
|
50
|
+
required: false
|
|
51
|
+
default: []
|
|
52
|
+
description: Optional context_builder focus path refinement. Context preflight runs by default; these paths narrow selection when supplied.
|
|
53
|
+
cb_include_globs:
|
|
54
|
+
type: string[]
|
|
55
|
+
required: false
|
|
56
|
+
default: []
|
|
57
|
+
description: Context-builder include glob refinements
|
|
58
|
+
cb_exclude_globs:
|
|
59
|
+
type: string[]
|
|
60
|
+
required: false
|
|
61
|
+
default: ["**/*.po", "**/*.pot", "**/*.mo", "**/locales/**/*.json", "**/i18n/**/*.json"]
|
|
62
|
+
description: Context-builder exclude glob refinements
|
|
63
|
+
cb_search_terms:
|
|
64
|
+
type: string[]
|
|
65
|
+
required: false
|
|
66
|
+
default: []
|
|
67
|
+
description: Optional context_builder search term refinement. Context preflight runs by default; these terms narrow selection when supplied.
|
|
68
|
+
cb_profile:
|
|
69
|
+
type: string
|
|
70
|
+
required: false
|
|
71
|
+
default: review_deep
|
|
72
|
+
description: Context-builder budget profile
|
|
73
|
+
cb_budget_adapter:
|
|
74
|
+
type: string
|
|
75
|
+
required: false
|
|
76
|
+
description: Adapter whose context_builder budget defaults apply when context preflight runs (preflight runs by default unless cb_context_mode is off).
|
|
77
|
+
cb_allow_secrets:
|
|
78
|
+
type: boolean
|
|
79
|
+
required: false
|
|
80
|
+
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.
|
|
81
|
+
cb_budget_max_estimated_tokens:
|
|
82
|
+
type: number
|
|
83
|
+
required: false
|
|
84
|
+
description: Context-builder budget override — max estimated tokens
|
|
85
|
+
cb_budget_max_files:
|
|
86
|
+
type: number
|
|
87
|
+
required: false
|
|
88
|
+
description: Context-builder budget override — max files selected
|
|
89
|
+
cb_budget_max_scan_files:
|
|
90
|
+
type: number
|
|
91
|
+
required: false
|
|
92
|
+
description: Context-builder budget override — max files scanned
|
|
93
|
+
cb_budget_max_bytes_per_file:
|
|
94
|
+
type: number
|
|
95
|
+
required: false
|
|
96
|
+
description: Context-builder budget override — max bytes per file
|
|
97
|
+
cb_budget_max_total_bytes:
|
|
98
|
+
type: number
|
|
99
|
+
required: false
|
|
100
|
+
description: Context-builder budget override — max total bytes
|
|
101
|
+
cb_budget_max_search_results:
|
|
102
|
+
type: number
|
|
103
|
+
required: false
|
|
104
|
+
description: Context-builder budget override — max search results
|
|
105
|
+
cb_delegate:
|
|
106
|
+
type: string
|
|
107
|
+
required: false
|
|
108
|
+
default: ""
|
|
109
|
+
description: Optional context_builder delegate config as a JSON string (enabled/curator/finalizer)
|
|
110
|
+
cb_context_mode:
|
|
111
|
+
type: string
|
|
112
|
+
required: false
|
|
113
|
+
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."
|
|
114
|
+
context_images:
|
|
115
|
+
type: string[]
|
|
116
|
+
required: false
|
|
117
|
+
default: []
|
|
118
|
+
description: Optional image paths (absolute, or relative to workspace root) shared with the council
|
|
119
|
+
|
|
120
|
+
settings:
|
|
121
|
+
timeout_seconds: 10800
|
|
122
|
+
|
|
123
|
+
stages:
|
|
124
|
+
- id: reviewers
|
|
125
|
+
description: "Council members review the plan independently"
|
|
126
|
+
parallel: true
|
|
127
|
+
retry:
|
|
128
|
+
mode: all
|
|
129
|
+
max_retries: 1
|
|
130
|
+
backoff_seconds: 10
|
|
131
|
+
max_backoff_seconds: 60
|
|
132
|
+
on_failure: continue
|
|
133
|
+
calls:
|
|
134
|
+
- id: reviewer_a
|
|
135
|
+
cli_name: codex
|
|
136
|
+
timeout_seconds: 1200
|
|
137
|
+
role: json-codereviewer
|
|
138
|
+
prompt_template: council/plan-review-reviewer.txt
|
|
139
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
140
|
+
images_from: context_images
|
|
141
|
+
validator_schema_id: council_code_review_reviewer_v1
|
|
142
|
+
post_processor: citation_check
|
|
143
|
+
- id: reviewer_b
|
|
144
|
+
cli_name: codex
|
|
145
|
+
timeout_seconds: 1200
|
|
146
|
+
role: json-codereviewer
|
|
147
|
+
prompt_template: council/plan-review-reviewer.txt
|
|
148
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
149
|
+
images_from: context_images
|
|
150
|
+
validator_schema_id: council_code_review_reviewer_v1
|
|
151
|
+
post_processor: citation_check
|
|
152
|
+
- id: reviewer_c
|
|
153
|
+
cli_name: claude
|
|
154
|
+
timeout_seconds: 1200
|
|
155
|
+
role: json-codereviewer
|
|
156
|
+
prompt_template: council/plan-review-reviewer.txt
|
|
157
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
158
|
+
images_from: context_images
|
|
159
|
+
validator_schema_id: council_code_review_reviewer_v1
|
|
160
|
+
post_processor: citation_check
|
|
161
|
+
|
|
162
|
+
- id: cross_review
|
|
163
|
+
description: "Cross-reviewers evaluate plan reviews anonymously"
|
|
164
|
+
parallel: true
|
|
165
|
+
retry:
|
|
166
|
+
mode: all
|
|
167
|
+
max_retries: 1
|
|
168
|
+
backoff_seconds: 10
|
|
169
|
+
max_backoff_seconds: 60
|
|
170
|
+
on_failure: continue
|
|
171
|
+
calls:
|
|
172
|
+
- id: cross_reviewer_a
|
|
173
|
+
cli_name: codex
|
|
174
|
+
timeout_seconds: 1200
|
|
175
|
+
role: json-codereviewer
|
|
176
|
+
prompt_template: council/plan-review-cross-reviewer.txt
|
|
177
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
178
|
+
images_from: context_images
|
|
179
|
+
anonymize_context: true
|
|
180
|
+
context_from:
|
|
181
|
+
- reviewers
|
|
182
|
+
validator_schema_id: council_code_review_cross_reviewer_v4
|
|
183
|
+
post_processor: citation_check
|
|
184
|
+
- id: cross_reviewer_b
|
|
185
|
+
cli_name: codex
|
|
186
|
+
timeout_seconds: 1200
|
|
187
|
+
role: json-codereviewer
|
|
188
|
+
prompt_template: council/plan-review-cross-reviewer.txt
|
|
189
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
190
|
+
images_from: context_images
|
|
191
|
+
anonymize_context: true
|
|
192
|
+
context_from:
|
|
193
|
+
- reviewers
|
|
194
|
+
validator_schema_id: council_code_review_cross_reviewer_v4
|
|
195
|
+
post_processor: citation_check
|
|
196
|
+
- id: cross_reviewer_c
|
|
197
|
+
cli_name: claude
|
|
198
|
+
timeout_seconds: 1200
|
|
199
|
+
role: json-codereviewer
|
|
200
|
+
prompt_template: council/plan-review-cross-reviewer.txt
|
|
201
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
202
|
+
images_from: context_images
|
|
203
|
+
anonymize_context: true
|
|
204
|
+
context_from:
|
|
205
|
+
- reviewers
|
|
206
|
+
validator_schema_id: council_code_review_cross_reviewer_v4
|
|
207
|
+
post_processor: citation_check
|
|
208
|
+
|
|
209
|
+
- id: ranking_analysis
|
|
210
|
+
description: "Deterministic ranking of plan reviews"
|
|
211
|
+
parallel: false
|
|
212
|
+
retry:
|
|
213
|
+
mode: transport_only
|
|
214
|
+
max_retries: 0
|
|
215
|
+
backoff_seconds: 0
|
|
216
|
+
max_backoff_seconds: 0
|
|
217
|
+
on_failure: continue
|
|
218
|
+
calls:
|
|
219
|
+
- id: ranking
|
|
220
|
+
cli_name: codex
|
|
221
|
+
timeout_seconds: 1200
|
|
222
|
+
role: json-codereviewer
|
|
223
|
+
reducer: council_ranking_v1
|
|
224
|
+
prompt: "Deterministic ranking reducer"
|
|
225
|
+
context_from:
|
|
226
|
+
- cross_review
|
|
227
|
+
validator_schema_id: council_ranking_reducer_v1
|
|
228
|
+
|
|
229
|
+
- id: chairman
|
|
230
|
+
description: "Chairman synthesizes plan review verdict"
|
|
231
|
+
parallel: false
|
|
232
|
+
retry:
|
|
233
|
+
mode: transport_only
|
|
234
|
+
max_retries: 1
|
|
235
|
+
backoff_seconds: 10
|
|
236
|
+
max_backoff_seconds: 60
|
|
237
|
+
on_failure: abort
|
|
238
|
+
calls:
|
|
239
|
+
- id: chairman
|
|
240
|
+
cli_name: codex
|
|
241
|
+
timeout_seconds: 1200
|
|
242
|
+
role: json-codereviewer
|
|
243
|
+
prompt_template: council/plan-review-chairman.txt
|
|
244
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
245
|
+
images_from: context_images
|
|
246
|
+
context_from:
|
|
247
|
+
- reviewers
|
|
248
|
+
- cross_review
|
|
249
|
+
- ranking_analysis
|
|
250
|
+
validator_schema_id: council_code_review_chairman_v1
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
name: plan-review-receipts
|
|
2
|
+
description: "Plan review council: one immutable plan revision, one ordered roster, one advisory synthesis. Returns receipt candidates, never approval (B-1)"
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
|
|
5
|
+
# Exact seat composition is NOT expressed here. This file is the four-stage SEED
|
|
6
|
+
# the isolated plan-review expander (A-3, src/plan-review/expander.ts) fans out:
|
|
7
|
+
# it requires these exact stage IDs in this exact order, each holding exactly one
|
|
8
|
+
# seed call, and clones the reviewer/cross_review blueprints once per admitted
|
|
9
|
+
# roster seat. The workflow grammar (src/schema.ts) has no `foreach` and no
|
|
10
|
+
# object variables, and the roster deliberately never travels as a generic
|
|
11
|
+
# variable — it rides the typed `plan_review` input (A-1/A-2).
|
|
12
|
+
#
|
|
13
|
+
# This seed must NOT declare static `absolute_file_paths`: the expander INLINES
|
|
14
|
+
# the verified canonical plan snapshot into each actor's prompt and EMPTIES the
|
|
15
|
+
# file list (A-6/D9), so a path named here would be dropped — naming one would
|
|
16
|
+
# only mislead.
|
|
17
|
+
#
|
|
18
|
+
# Actors run under their adapter's default permissions. Non-mutation is a PROMPT
|
|
19
|
+
# INSTRUCTION carried by the packaged templates, not an enforced boundary; the
|
|
20
|
+
# runtime makes no containment claim and this file must not imply one.
|
|
21
|
+
|
|
22
|
+
variables:
|
|
23
|
+
# ---------------------------------------------------------------------------
|
|
24
|
+
# Rubric binding (server-packaged v1; caller may only echo its exact digest)
|
|
25
|
+
# ---------------------------------------------------------------------------
|
|
26
|
+
# The runtime computes and binds this digest; the default merely advertises
|
|
27
|
+
# the value clients need when precomputing expected_execution_contract_digest.
|
|
28
|
+
rubric_digest:
|
|
29
|
+
type: string
|
|
30
|
+
required: false
|
|
31
|
+
default: 92625957e2afd55f4c55943a74d8d059a10df4fe3d3febda6a1bce80f6df6681
|
|
32
|
+
description: Server-packaged plan-review rubric digest. If supplied, it must exactly match this value.
|
|
33
|
+
|
|
34
|
+
# ---------------------------------------------------------------------------
|
|
35
|
+
# Context anchors / overrides (repo evidence only — never the plan)
|
|
36
|
+
# ---------------------------------------------------------------------------
|
|
37
|
+
# The plan itself is force-excluded from selection by the non-overridable
|
|
38
|
+
# plan-review context policy (A-7), in both the pre-dispatch exclusion fold and
|
|
39
|
+
# the post-finalization filter. These anchors select REPO EVIDENCE that sits
|
|
40
|
+
# alongside the immutable snapshot; they cannot re-admit the plan.
|
|
41
|
+
# Deliberately DEFAULTLESS: a `default: ""` would fabricate a blank task that is
|
|
42
|
+
# indistinguishable from genuine omission, and would publish that invented blank
|
|
43
|
+
# into the advertised public variable schema and the generated discovery fixture.
|
|
44
|
+
# Defaultless keeps omission observable as omission.
|
|
45
|
+
#
|
|
46
|
+
# `required: false` is deliberate, NOT an oversight. `required` gates on a STATIC
|
|
47
|
+
# proxy, but the real precondition is dynamic: "a contextBuilderRunner is present".
|
|
48
|
+
# A runner-absent server (CLINKX_WORKFLOWS_CONTEXT_PREFLIGHT_ENABLED=false) runs no
|
|
49
|
+
# preflight and needs no seed, so a static `required: true` would reject a request
|
|
50
|
+
# that is perfectly valid there. The actual enforcement is
|
|
51
|
+
# validateContextSeedSourceAtAdmission, which fires pre-mutex only when a runner
|
|
52
|
+
# made the context policy non-null.
|
|
53
|
+
cb_task:
|
|
54
|
+
type: string
|
|
55
|
+
required: false
|
|
56
|
+
description: "Context_builder seed describing what repo evidence the review needs. CONDITIONALLY REQUIRED: whenever context preflight is available — the default deployment — this must be supplied and trimmed-nonblank, and admission rejects a blank or omitted value with -32602 before any run state is created. It is genuinely optional only on servers where preflight is unavailable (no context-builder runner, e.g. the hard bypass CLINKX_WORKFLOWS_CONTEXT_PREFLIGHT_ENABLED=false), where no seed is consumed. Optionally narrow selection with cb_focus_paths or cb_search_terms."
|
|
57
|
+
cb_roots:
|
|
58
|
+
type: string[]
|
|
59
|
+
required: false
|
|
60
|
+
default: []
|
|
61
|
+
description: Optional context_builder source roots
|
|
62
|
+
cb_focus_paths:
|
|
63
|
+
type: string[]
|
|
64
|
+
required: false
|
|
65
|
+
default: []
|
|
66
|
+
description: Optional context_builder focus path refinement. Context preflight runs by default; these paths narrow selection when supplied. Paths resolving to the bound plan or any plan-workspace PLAN.md are rejected at admission.
|
|
67
|
+
cb_include_globs:
|
|
68
|
+
type: string[]
|
|
69
|
+
required: false
|
|
70
|
+
default: []
|
|
71
|
+
description: Context-builder include glob refinements
|
|
72
|
+
cb_exclude_globs:
|
|
73
|
+
type: string[]
|
|
74
|
+
required: false
|
|
75
|
+
default: ["**/*.po", "**/*.pot", "**/*.mo", "**/locales/**/*.json", "**/i18n/**/*.json"]
|
|
76
|
+
description: Context-builder exclude glob refinements. The plan-review plan exclusions are folded in on top of these and cannot be dropped.
|
|
77
|
+
cb_search_terms:
|
|
78
|
+
type: string[]
|
|
79
|
+
required: false
|
|
80
|
+
default: []
|
|
81
|
+
description: Optional context_builder search term refinement. Context preflight runs by default; these terms narrow selection when supplied.
|
|
82
|
+
# `review_deep` is chosen for its BUDGET (~96k est. tokens / 300 files): plan review needs broad
|
|
83
|
+
# repo evidence. It also couples in the code-review-shaped `review_deep_v1` coverage policy, which
|
|
84
|
+
# can report `degraded` here — an "unclassifiable" target (tests exist but no confident link) can
|
|
85
|
+
# never be satisfied yet still folds into missing_required:["regression_test"]. That is WARN-ONLY
|
|
86
|
+
# with no dispatch effect: fail_on_degraded_context_coverage defaults false and no workflow sets
|
|
87
|
+
# it, and `context_quality` is read by no template — so the budget is worth the noisy warning.
|
|
88
|
+
# Coverage policy lives in the ROOT package: src/context-builder/review-coverage.ts
|
|
89
|
+
# (evaluateContextCoverage, buildContextReviewObligations, resolveContextCoveragePolicy).
|
|
90
|
+
# council-code-review and council-debug share the same policy.
|
|
91
|
+
cb_profile:
|
|
92
|
+
type: string
|
|
93
|
+
required: false
|
|
94
|
+
default: review_deep
|
|
95
|
+
description: Context-builder budget profile
|
|
96
|
+
cb_budget_adapter:
|
|
97
|
+
type: string
|
|
98
|
+
required: false
|
|
99
|
+
description: Adapter whose context_builder budget defaults apply when context preflight runs (preflight runs by default unless cb_context_mode is off).
|
|
100
|
+
cb_allow_secrets:
|
|
101
|
+
type: boolean
|
|
102
|
+
required: false
|
|
103
|
+
description: When false, restores fail-closed context_builder source secret omission/redaction AND rejects high-confidence secrets in persisted task text (cb_task) before the run starts; default true includes secrets.
|
|
104
|
+
# Declared so callers can actually pass the mode the descriptions above reference; the resolver
|
|
105
|
+
# owns allowed values and the default, so no concrete mode is materialized here.
|
|
106
|
+
# NOTE: soft `off` still resolves a NON-NULL policy (resolveWorkflowContextMode), so the
|
|
107
|
+
# admission seed check STILL fires. Declaring this does NOT waive the nonblank cb_task
|
|
108
|
+
# requirement for soft-off callers — a deliberate owner decision, not an oversight.
|
|
109
|
+
cb_context_mode:
|
|
110
|
+
type: string
|
|
111
|
+
required: false
|
|
112
|
+
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."
|
|
113
|
+
|
|
114
|
+
# ---------------------------------------------------------------------------
|
|
115
|
+
# Evidence file channels
|
|
116
|
+
# ---------------------------------------------------------------------------
|
|
117
|
+
# Entries resolving to the bound plan or any plan-workspace PLAN.md are
|
|
118
|
+
# rejected pre-mutex (A-7): a caller must not be able to hand actors a MUTABLE
|
|
119
|
+
# plan alongside the immutable snapshot.
|
|
120
|
+
context_files:
|
|
121
|
+
type: string[]
|
|
122
|
+
required: false
|
|
123
|
+
default: []
|
|
124
|
+
description: Optional repo evidence file paths (absolute, or relative to workspace root) shared with the roster. The bound plan and plan-workspace PLAN.md files are rejected.
|
|
125
|
+
context_bundle_files:
|
|
126
|
+
type: string[]
|
|
127
|
+
required: false
|
|
128
|
+
default: []
|
|
129
|
+
description: Optional context_builder bundle files copied into the workflow run. Preflight appends the curated bundle here; the bound plan and plan-workspace PLAN.md files are rejected.
|
|
130
|
+
|
|
131
|
+
settings:
|
|
132
|
+
timeout_seconds: 10800
|
|
133
|
+
|
|
134
|
+
stages:
|
|
135
|
+
# Every roster seat votes (D2). One call per seat, cloned from this blueprint.
|
|
136
|
+
# `parallel`/`on_failure` are re-asserted by the expander: a failed seat stays
|
|
137
|
+
# that exact failed seat (D3, no substitution) and must not abort its peers.
|
|
138
|
+
- id: reviewers
|
|
139
|
+
description: "Each roster seat reviews the immutable plan snapshot independently"
|
|
140
|
+
parallel: true
|
|
141
|
+
retry:
|
|
142
|
+
mode: all
|
|
143
|
+
max_retries: 1
|
|
144
|
+
backoff_seconds: 10
|
|
145
|
+
max_backoff_seconds: 60
|
|
146
|
+
on_failure: continue
|
|
147
|
+
calls:
|
|
148
|
+
- id: reviewer_seed
|
|
149
|
+
cli_name: codex
|
|
150
|
+
timeout_seconds: 1200
|
|
151
|
+
role: json
|
|
152
|
+
prompt_template: plan-review/reviewer.txt
|
|
153
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
154
|
+
validator_schema_id: plan_review_reviewer_v1
|
|
155
|
+
|
|
156
|
+
# Advisory (D2). FIXED cardinality: one call per roster seat, unconditionally —
|
|
157
|
+
# a seat with no valid peer artifacts still runs and persists a degenerate
|
|
158
|
+
# no-op. The expander rewrites `context_from` to this seat's PEERS only and
|
|
159
|
+
# projects each peer to its semantic body, so the anonymized set never carries
|
|
160
|
+
# a seat_id, provider, or plan binding.
|
|
161
|
+
- id: cross_review
|
|
162
|
+
description: "Each seat cross-reviews its peers' anonymized reviews (advisory)"
|
|
163
|
+
parallel: true
|
|
164
|
+
retry:
|
|
165
|
+
mode: all
|
|
166
|
+
max_retries: 1
|
|
167
|
+
backoff_seconds: 10
|
|
168
|
+
max_backoff_seconds: 60
|
|
169
|
+
on_failure: continue
|
|
170
|
+
calls:
|
|
171
|
+
- id: cross_seed
|
|
172
|
+
cli_name: codex
|
|
173
|
+
timeout_seconds: 1200
|
|
174
|
+
role: json
|
|
175
|
+
prompt_template: plan-review/cross-review.txt
|
|
176
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
177
|
+
anonymize_context: true
|
|
178
|
+
context_from:
|
|
179
|
+
- reviewers
|
|
180
|
+
validator_schema_id: plan_review_cross_review_v1
|
|
181
|
+
|
|
182
|
+
# Deterministic reducer (B-5) — no LLM, no provider, nothing spawned. The
|
|
183
|
+
# packaged ranking template documents the reducer contract but is never sent
|
|
184
|
+
# anywhere; the engine runs the reducer in place of the call.
|
|
185
|
+
- id: ranking_analysis
|
|
186
|
+
description: "Deterministic advisory ranking over cross-review artifacts"
|
|
187
|
+
parallel: false
|
|
188
|
+
retry:
|
|
189
|
+
mode: transport_only
|
|
190
|
+
max_retries: 0
|
|
191
|
+
backoff_seconds: 0
|
|
192
|
+
max_backoff_seconds: 0
|
|
193
|
+
on_failure: continue
|
|
194
|
+
calls:
|
|
195
|
+
- id: ranking
|
|
196
|
+
cli_name: codex
|
|
197
|
+
timeout_seconds: 1200
|
|
198
|
+
role: json
|
|
199
|
+
reducer: plan_review_ranking_v1
|
|
200
|
+
prompt_template: plan-review/ranking.txt
|
|
201
|
+
context_from:
|
|
202
|
+
- cross_review
|
|
203
|
+
validator_schema_id: plan_review_ranking_reducer_v1
|
|
204
|
+
|
|
205
|
+
# Advisory (D2). The chairman occupies a roster seat and votes like any other
|
|
206
|
+
# seat in `reviewers`; this stage is its SEPARATE synthesis call, which can
|
|
207
|
+
# never create, repair, or replace a receipt. `on_failure: continue` states the
|
|
208
|
+
# intent that a chairman failure is advisory metadata, not a run failure — the
|
|
209
|
+
# engine's terminal decision is Track C's (C-4) to change.
|
|
210
|
+
- id: chairman
|
|
211
|
+
description: "Chairman synthesizes an advisory view — never an approval or final gate"
|
|
212
|
+
parallel: false
|
|
213
|
+
retry:
|
|
214
|
+
mode: transport_only
|
|
215
|
+
max_retries: 1
|
|
216
|
+
backoff_seconds: 10
|
|
217
|
+
max_backoff_seconds: 60
|
|
218
|
+
on_failure: continue
|
|
219
|
+
calls:
|
|
220
|
+
- id: chairman
|
|
221
|
+
cli_name: codex
|
|
222
|
+
timeout_seconds: 1200
|
|
223
|
+
role: json
|
|
224
|
+
prompt_template: plan-review/chairman.txt
|
|
225
|
+
absolute_file_paths_from: [context_files, context_bundle_files]
|
|
226
|
+
context_from:
|
|
227
|
+
- reviewers
|
|
228
|
+
- cross_review
|
|
229
|
+
- ranking_analysis
|
|
230
|
+
validator_schema_id: plan_review_chairman_v1
|