Jev 10: integrate durable decision services and scoped Planner tools #262MergedMaggieAppletonmerged 1 commit intomainfromrefs/pull/262/headConversationFiles changed175 files changed+17246-888StackedSplitapps/server/src/agent/card-tool-context.ts+10 −0apps/server/src/agent/decision-prose-1.test.ts+53 −0apps/server/src/agent/decision-prose-2.test.ts+98 −0apps/server/src/agent/decision-prose-3.test.ts+48 −0apps/server/src/agent/decision-prose-4.test.ts+70 −0apps/server/src/agent/decision-prose-5.test.ts+56 −0apps/server/src/agent/decision-prose-fields.ts+16 −0apps/server/src/agent/decision-prose.test-fixtures.ts+112 −0apps/server/src/agent/decision-prose.ts+104 −0apps/server/src/agent/heading-harness.test-fixtures.ts+133 −0apps/server/src/agent/heading-harness.test.ts+129 −0apps/server/src/agent/heading-tool.test-bridge.ts+18 −0apps/server/src/agent/heading-tool.test.ts+226 −0apps/server/src/agent/heading-tool.ts+124 −0apps/server/src/agent/job-scope.test.ts+134 −0apps/server/src/agent/job-scope.ts+71 −0apps/server/src/agent/job-tool-context.ts+18 −0apps/server/src/agent/job-tools.ts+66 −0apps/server/src/agent/refine-fields.ts+96 −0apps/server/src/agent/refine-placement.ts+43 −0apps/server/src/agent/refine-tool-1.test.ts+129 −0apps/server/src/agent/refine-tool-2.test.ts+36 −0apps/server/src/agent/refine-tool-3.test.ts+161 −0apps/server/src/agent/refine-tool-4.test.ts+109 −0apps/server/src/agent/refine-tool-5.test.ts+107 −0apps/server/src/agent/refine-tool-6.test.ts+96 −0apps/server/src/agent/refine-tool-7.test.ts+80 −0apps/server/src/agent/refine-tool-8.test.ts+116 −0apps/server/src/agent/refine-tool-9.test.ts+38 −0apps/server/src/agent/refine-tool.test-fixtures.ts+188 −0apps/server/src/agent/refine-tool.ts+181 −0apps/server/src/agent/revise-fields.ts+57 −0apps/server/src/agent/revise-open-decision-1.test.ts+167 −0apps/server/src/agent/revise-open-decision-2.test.ts+129 −0apps/server/src/agent/revise-open-decision-3.test.ts+87 −0apps/server/src/agent/revise-open-decision-4.test.ts+87 −0apps/server/src/agent/revise-open-decision-5.test.ts+113 −0apps/server/src/agent/revise-open-decision-requests.test.ts+124 −0apps/server/src/agent/revise-open-decision.test-fixtures.ts+58 −0apps/server/src/agent/revise-open-decision.ts+69 −0apps/server/src/agent/revise-requests.ts+90 −0apps/server/src/agent/scoped-prose-tool.ts+37 −0apps/server/src/agent/scoped-refine-tool.ts+80 −0apps/server/src/agent/scoped-request-boundary.test.ts+47 −0apps/server/src/agent/scoped-revise-tool.ts+53 −0apps/server/src/agent/scoped-tool-result.ts+19 −0apps/server/src/agent/scoped-tools.test-bridge.ts+25 −0apps/server/src/agent/scoped-tools.test-configuration.ts+86 −0apps/server/src/agent/scoped-tools.ts+7 −0apps/server/src/agent/tools.ts+6 −0apps/server/src/chat/job-boundary.test.ts+71 −0apps/server/src/chat/job-fence.ts+20 −0apps/server/src/chat/job-handoff.test.ts+47 −0apps/server/src/chat/job-harness.test-fixtures.ts+68 −0apps/server/src/chat/job-heading-harness.test-fixtures.ts+100 −0apps/server/src/chat/job-lifecycle.test.ts+77 −0apps/server/src/chat/job-notice.test.ts+26 −0apps/server/src/chat/job-profiles.test.ts+110 −0apps/server/src/chat/job-queue.test.ts+83 −0apps/server/src/chat/job-queue.ts+152 −0apps/server/src/chat/job-signal.test.ts+56 −0apps/server/src/chat/job-stream.test-fixtures.ts+109 −0apps/server/src/chat/job-tools.test.ts+96 −0apps/server/src/chat/job-translate.ts+67 −0apps/server/src/chat/job.test-fixtures.ts+58 −0apps/server/src/chat/job.test.ts+95 −0apps/server/src/chat/notice-idempotency.test.ts+87 −0apps/server/src/chat/notice-persistence.test.ts+140 −0apps/server/src/chat/notice-publication.test.ts+59 −0apps/server/src/chat/notice.test-fixtures.ts+39 −0apps/server/src/chat/notices.ts+125 −0apps/server/src/chat/service.ts+205 −42apps/server/src/conversation-plan/option-capacity.ts+106 −0apps/server/src/conversation-plan/prose-job-anchor.test.ts+150 −0apps/server/src/conversation-plan/prose-job.test-fixtures.ts+19 −0apps/server/src/conversation-plan/prose-job.test.ts+70 −0apps/server/src/conversation-plan/prose-job.ts+122 −0apps/server/src/harness/agents.ts+30 −15apps/server/src/harness/session.ts+27 −2apps/server/src/harness/tool-names.ts+17 −0apps/server/src/main.ts+8 −0apps/server/src/mcp/update-lifecycle.test.ts+1 −1apps/server/src/plan/conversation-analysis-persistence.test.ts+123 −0apps/server/src/plan/conversation-option-persistence.test.ts+110 −0apps/server/src/plan/conversation-outbox-persistence.test.ts+113 −0apps/server/src/plan/conversation-persistence.test-fixtures.ts+35 −0apps/server/src/plan/notice-validation.ts+149 −0apps/server/src/plan/persistence.test.ts+10 −8apps/server/src/plan/planner-jobs-failure.test.ts+68 −0apps/server/src/plan/planner-jobs-restoration.test.ts+80 −0apps/server/src/plan/planner-jobs.test-fixtures.ts+23 −0apps/server/src/plan/planner-jobs.test.ts+72 −0apps/server/src/plan/projection-submit.test-fixtures.ts+88 −0apps/server/src/plan/protected-projection.test-fixtures.ts+111 −0apps/server/src/plan/protected-projection.test.ts+149 −0apps/server/src/plan/question-record-persistence.test.ts+176 −0apps/server/src/plan/question-record-sources.test.ts+130 −0apps/server/src/plan/question-record.test-fixtures.ts+55 −0apps/server/src/plan/research-placement-1.test.ts+39 −0apps/server/src/plan/research-placement-2.test.ts+57 −0apps/server/src/plan/research-placement.test-fixtures.ts+24 −0apps/server/src/plan/research-projection-authority.test.ts+117 −0apps/server/src/plan/research-projection-jobs.test-fixtures.ts+101 −0apps/server/src/plan/research-projection-lifecycle.test.ts+79 −0apps/server/src/plan/research-projection-race.test.ts+67 −0apps/server/src/plan/research-projection.test-fixtures.ts+52 −0apps/server/src/plan/room.ts+40 −5apps/server/src/plan/service.ts+458 −67apps/server/src/plan/staged-publication-guards.test.ts+54 −0apps/server/src/plan/staged-publication.test-fixtures.ts+25 −0apps/server/src/plan/staged-publication.test.ts+73 −0apps/server/src/question-service-deferral.test-fixtures.ts+111 −0apps/server/src/question-service.test-fixtures.ts+120 −0apps/server/src/questions-service-durability-1.test.ts+174 −0apps/server/src/questions-service-durability-2.test.ts+156 −0apps/server/src/questions-service-durability-3.test.ts+213 −0apps/server/src/questions-service-durability-4.test.ts+217 −0apps/server/src/questions-service-durability-5.test.ts+194 −0apps/server/src/questions-service-durability-6.test.ts+167 −0apps/server/src/questions-service-durability-7.test.ts+170 −0apps/server/src/questions-service-durability-8.test.ts+223 −0apps/server/src/questions-service-durability-9.test.ts+102 −0apps/server/src/questions.anchors.test.ts+1 −1apps/server/src/questions.service.test.ts+7 −54apps/server/src/questions/anchors.test.ts+4 −0apps/server/src/questions/card-insertion.ts+133 −0apps/server/src/questions/card-involved.ts+37 −0apps/server/src/questions/card-notifications.ts+82 −0apps/server/src/questions/card-option-relabel.ts+163 −0apps/server/src/questions/card-planner-revision.ts+145 −0apps/server/src/questions/card-reopen-1.test.ts+211 −0apps/server/src/questions/card-reopen-2.test.ts+147 −0apps/server/src/questions/card-reopen.test-fixtures.ts+110 −0apps/server/src/questions/card-retitle.ts+93 −0apps/server/src/questions/card-server-options.ts+236 −0apps/server/src/questions/card-suggestions.ts+57 −0apps/server/src/questions/conversation-card-1.test.ts+201 −0apps/server/src/questions/conversation-card-2.test.ts+197 −0apps/server/src/questions/conversation-card-3.test.ts+214 −0apps/server/src/questions/conversation-card-4.test.ts+152 −0apps/server/src/questions/conversation-card-5.test.ts+120 −0apps/server/src/questions/conversation-card-6.test.ts+171 −0apps/server/src/questions/conversation-card-8.test.ts+207 −0apps/server/src/questions/conversation-card.test-fixtures.ts+130 −0apps/server/src/questions/decision-anchor-lifecycle.test.ts+100 −0apps/server/src/questions/option-match.ts+45 −0apps/server/src/questions/prose-1.test.ts+211 −0apps/server/src/questions/prose-2.test.ts+179 −0apps/server/src/questions/prose-3.test.ts+135 −0apps/server/src/questions/prose.test-fixtures.ts+50 −0apps/server/src/questions/prose.ts+60 −0apps/server/src/questions/question-option-source-1.test.ts+202 −0apps/server/src/questions/question-option-source-2.test.ts+56 −0apps/server/src/questions/question-option-source.test-fixtures.ts+106 −0apps/server/src/questions/service-append-option.ts+188 −0apps/server/src/questions/service-ask.ts+179 −0apps/server/src/questions/service-cancel.ts+140 −0apps/server/src/questions/service-definition.ts+71 −0apps/server/src/questions/service-discard.ts+143 −0apps/server/src/questions/service-draft.ts+117 −0apps/server/src/questions/service-relationships.ts+128 −0apps/server/src/questions/service-reopen.ts+216 −0apps/server/src/questions/service-submit.ts+222 −0apps/server/src/questions/service.ts+37 −675apps/server/src/questions/write-prose.test.ts+152 −0apps/server/src/questions/write-prose.ts+91 −0apps/server/src/storage/postgres/conversation-restart.test.ts+114 −0e2e/research-child-documents.e2e.ts+34 −11e2e/research-recovery-database.ts+136 −0e2e/responsive-decisions.e2e.ts+11 −2e2e/sidecar.e2e.ts+5 −1packages/protocol/chat.d.ts+26 −1packages/protocol/index.d.ts+2 −0packages/protocol/plan.d.ts+11 −0packages/protocol/question.d.ts+89 −3