githubnext/chopinPublic

Let's compose rich plans together

Activate Jev conversation decisions in the workspace

Connect the durable conversation runtime to authenticated room lifecycle, question controls, evidence views, and document cards. Update browser compatibility and replace the scripted research child suite with record-backed recovery coverage.
MAMaggie Appleton authored
dbea4e4Patch
Parent087638d
179 files changed+16428-1086
StackedSplit
apps/server/src/agent/revise-open-decision-4.test.ts+3 โˆ’4
apps/server/src/conversation-plan/accepted-research-close.test.ts+76 โˆ’0
apps/server/src/conversation-plan/accepted-research-commit.test.ts+63 โˆ’0
apps/server/src/conversation-plan/accepted-research-gates.test.ts+79 โˆ’0
apps/server/src/conversation-plan/accepted-research-memory.test.ts+80 โˆ’0
apps/server/src/conversation-plan/accepted-research-socket.test-fixtures.ts+41 โˆ’0
apps/server/src/conversation-plan/accepted-research.test-fixtures.ts+135 โˆ’0
apps/server/src/conversation-plan/accepted-research.ts+79 โˆ’0
apps/server/src/conversation-plan/command-correction-memory.test-fixtures.ts+66 โˆ’0
apps/server/src/conversation-plan/command-correction-memory.test.ts+118 โˆ’0
apps/server/src/conversation-plan/commands.ts+130 โˆ’0
apps/server/src/conversation-plan/research-commands.ts+108 โˆ’0
apps/server/src/conversation-plan/save-command.test.ts+180 โˆ’0
apps/server/src/conversation-plan/save-command.ts+59 โˆ’0
apps/server/src/conversation-plan/service-opening-memory.test-fixtures.ts+66 โˆ’0
apps/server/src/conversation-plan/service-opening-memory.test.ts+337 โˆ’0
apps/server/src/conversation-plan/service-opening-order-memory.test.ts+290 โˆ’0
apps/server/src/conversation-plan/service-opening.test.ts+236 โˆ’0
apps/server/src/conversation-plan/service-opening.ts+111 โˆ’0
apps/server/src/harness/tool-names.ts+1 โˆ’0
apps/server/src/main.ts+176 โˆ’40
apps/server/src/questions/backfill-implementation.test.ts+79 โˆ’0
apps/server/src/questions/backfill.test.ts+256 โˆ’0
apps/server/src/questions/backfill.ts+142 โˆ’0
apps/server/src/socket/authorization.test.ts+60 โˆ’0
apps/server/src/socket/authorization.ts+26 โˆ’0
apps/server/src/testing/card-gap-document.ts+25 โˆ’0
apps/web/package.json+1 โˆ’0
apps/web/src/chat/chat.tsx+34 โˆ’1
apps/web/src/chat/decision-entry.test.tsx+267 โˆ’0
apps/web/src/chat/decision-entry.tsx+222 โˆ’0
apps/web/src/chat/markdown.css+4 โˆ’0
apps/web/src/chat/model.test.ts+15 โˆ’0
apps/web/src/chat/model.ts+8 โˆ’2
apps/web/src/chat/research-offer-observer.test.ts+127 โˆ’0
apps/web/src/chat/research-offer-transcript.test.ts+73 โˆ’0
apps/web/src/chat/research-offer.test-fixtures.ts+68 โˆ’0
apps/web/src/chat/research-offer.test.ts+77 โˆ’0
apps/web/src/chat/research-offer.tsx+318 โˆ’0
apps/web/src/chat/scoped-choice-entry.test.tsx+156 โˆ’0
apps/web/src/chat/scoped-choice-entry.tsx+141 โˆ’0
apps/web/src/chat/transcript-decisions.test-fixtures.ts+214 โˆ’0
apps/web/src/chat/transcript-decisions.test.tsx+50 โˆ’0
apps/web/src/chat/transcript-scoped-choice.test.tsx+75 โˆ’0
apps/web/src/chat/transcript-source.test.tsx+54 โˆ’0
apps/web/src/chat/transcript.test.tsx+160 โˆ’0
apps/web/src/chat/transcript.tsx+239 โˆ’14
apps/web/src/conversation-plan/analysis-action.ts+8 โˆ’0
apps/web/src/conversation-plan/analysis-labels.ts+32 โˆ’0
apps/web/src/conversation-plan/analysis-overview.test.tsx+58 โˆ’0
apps/web/src/conversation-plan/analysis-overview.tsx+240 โˆ’0
apps/web/src/conversation-plan/announcements.test.ts+168 โˆ’0
apps/web/src/conversation-plan/announcements.ts+27 โˆ’0
apps/web/src/conversation-plan/card-parts.tsx+29 โˆ’0
apps/web/src/conversation-plan/evidence-popover.test.tsx+151 โˆ’0
apps/web/src/conversation-plan/evidence-popover.tsx+115 โˆ’0
apps/web/src/conversation-plan/evidence.test.ts+247 โˆ’0
apps/web/src/conversation-plan/evidence.ts+109 โˆ’0
apps/web/src/conversation-plan/excerpt-correction.tsx+226 โˆ’0
apps/web/src/conversation-plan/links.test.ts+179 โˆ’0
apps/web/src/conversation-plan/links.ts+97 โˆ’0
apps/web/src/conversation-plan/markers.test.tsx+181 โˆ’0
apps/web/src/conversation-plan/markers.tsx+356 โˆ’0
apps/web/src/conversation-plan/planner-job-diagnostics.tsx+80 โˆ’0
apps/web/src/conversation-plan/source.css+5 โˆ’0
apps/web/src/conversation-plan/source.ts+58 โˆ’0
apps/web/src/conversation-plan/store.test.ts+119 โˆ’0
apps/web/src/conversation-plan/store.ts+74 โˆ’0
apps/web/src/document-workspace-host.tsx+4 โˆ’4
apps/web/src/room-workspace.tsx+375 โˆ’83
apps/web/src/theme.css+20 โˆ’2
apps/web/src/tokens.test.ts+60 โˆ’31
apps/web/src/workspace-model.test.ts+6 โˆ’8
apps/web/src/workspace-model.ts+1 โˆ’1
apps/web/src/workspace.tsx+23 โˆ’26
bun.lock+1 โˆ’0
e2e/decision-marker.e2e.ts+13 โˆ’13
e2e/discarded-mobile-geometry.e2e.ts+36 โˆ’0
e2e/document-tab-stability.e2e.ts+75 โˆ’0
e2e/editing.e2e.ts+4 โˆ’1
e2e/github.ts+17 โˆ’0
e2e/playwright.config.ts+28 โˆ’0
e2e/research-child-recovery.e2e.ts+173 โˆ’3
e2e/research-child-surface.e2e.ts+8 โˆ’1
e2e/research-recovery-database.ts+176 โˆ’0
e2e/responsive-decisions.e2e.ts+9 โˆ’3
e2e/responsive-workspace.e2e.ts+164 โˆ’44
e2e/shell.e2e.ts+6 โˆ’6
e2e/sidecar-card-states.e2e.ts+344 โˆ’0
e2e/sidecar-document-spacing.e2e.ts+119 โˆ’0
e2e/sidecar-draft-reopen.e2e.ts+110 โˆ’0
e2e/sidecar-evidence-absence.e2e.ts+14 โˆ’0
e2e/sidecar-option-async.e2e.ts+179 โˆ’0
e2e/sidecar-option-contracts.e2e.ts+286 โˆ’0
e2e/sidecar-spacing-database.ts+60 โˆ’0
e2e/sidecar.e2e.ts+52 โˆ’27
e2e/smoke.e2e.ts+4 โˆ’1
packages/editor/src/card-meta.test.ts+110 โˆ’0
packages/editor/src/card-meta.ts+93 โˆ’0
packages/editor/src/comment-geometry.test.ts+26 โˆ’1
packages/editor/src/comment-geometry.ts+28 โˆ’0
packages/editor/src/decision-pin.test.ts+54 โˆ’0
packages/editor/src/decision-pin.ts+37 โˆ’0
packages/editor/src/decision-placement.ts+7 โˆ’0
packages/editor/src/decision-state.test.ts+158 โˆ’2
packages/editor/src/decision-state.ts+32 โˆ’3
packages/editor/src/decisions-metadata.test.tsx+73 โˆ’0
packages/editor/src/decisions.tsx+40 โˆ’10
packages/editor/src/evidence-geometry.test.ts+44 โˆ’0
packages/editor/src/evidence-geometry.ts+44 โˆ’0
packages/editor/src/index.ts+3 โˆ’0
packages/editor/src/marks.test.ts+112 โˆ’1
packages/editor/src/marks.ts+80 โˆ’25
packages/editor/src/plan-editor.tsx+23 โˆ’1
packages/editor/src/presence-faces.tsx+5 โˆ’2
packages/editor/src/provider.test.ts+79 โˆ’4
packages/editor/src/provider.ts+21 โˆ’7
packages/editor/src/questionnaires.test.ts+199 โˆ’2
packages/editor/src/questionnaires.ts+95 โˆ’9
packages/editor/src/resolved-actions.ts+114 โˆ’0
packages/editor/src/resolved-layer.tsx+189 โˆ’27
packages/editor/src/resolved-metadata.test.ts+49 โˆ’0
packages/editor/src/resolved.ts+29 โˆ’0
packages/editor/src/styles.css+80 โˆ’1
packages/editor/src/threads.ts+2 โˆ’2
packages/editor/src/widget-options.ts+6 โˆ’0
packages/editor/src/widgets-plugin.tsx+6 โˆ’0
packages/editor/src/widgets/card-gap.test.ts+38 โˆ’0
packages/editor/src/widgets/card-gap.tsx+76 โˆ’0
packages/editor/src/widgets/decision-deletion.tsx+148 โˆ’0
packages/editor/src/widgets/decorator-selection.test.ts+38 โˆ’2
packages/editor/src/widgets/decorator-selection.tsx+3 โˆ’2
packages/editor/src/widgets/discarded-navigation-boundary.ts+27 โˆ’0
packages/editor/src/widgets/discarded-navigation.test.ts+63 โˆ’0
packages/editor/src/widgets/discarded-navigation.tsx+157 โˆ’0
packages/editor/src/widgets/evidence-hover.tsx+216 โˆ’0
packages/editor/src/widgets/index.ts+3 โˆ’0
packages/editor/src/widgets/questionnaire-collapse-list.test.tsx+77 โˆ’0
packages/editor/src/widgets/questionnaire-collapse-presence.test.tsx+58 โˆ’0
packages/editor/src/widgets/questionnaire-collapse-settled.test.tsx+73 โˆ’0
packages/editor/src/widgets/questionnaire-lifecycle.test.tsx+86 โˆ’0
packages/editor/src/widgets/questionnaire-metadata.test-fixtures.ts+28 โˆ’0
packages/editor/src/widgets/questionnaire-metadata.test.tsx+115 โˆ’0
packages/editor/src/widgets/questionnaire-people.test.tsx+36 โˆ’0
packages/editor/src/widgets/questionnaire-presentation.test.tsx+40 โˆ’0
packages/editor/src/widgets/questionnaire-previous.test.tsx+30 โˆ’0
packages/editor/src/widgets/questionnaire-source.test.tsx+36 โˆ’0
packages/editor/src/widgets/questionnaire-terminal-semantics.test.tsx+54 โˆ’0
packages/editor/src/widgets/questionnaire.tsx+288 โˆ’16
packages/icons/src/line.tsx+9 โˆ’10
packages/question/src/react/add-option.test.ts+63 โˆ’0
packages/question/src/react/index.ts+8 โˆ’0
packages/question/src/react/open-discard-compatibility.test.ts+29 โˆ’0
packages/question/src/react/open-discard.test.ts+25 โˆ’0
packages/question/src/react/previous-answer.test.ts+43 โˆ’0
packages/question/src/react/project-suggestion.test.ts+128 โˆ’0
packages/question/src/react/project-suggestion.ts+93 โˆ’0
packages/question/src/react/question-view-projection.test.ts+106 โˆ’0
packages/question/src/react/question-view-retained-contracts.test.ts+117 โˆ’0
packages/question/src/react/question-view-terminal-origin.test.ts+112 โˆ’0
packages/question/src/react/question-view.test-fixtures.ts+14 โˆ’0
packages/question/src/react/question-view.tsx+185 โˆ’60
packages/question/src/react/questionnaire-controller.ts+600 โˆ’0
packages/question/src/react/questionnaire-types.ts+43 โˆ’0
packages/question/src/react/refining.test.ts+16 โˆ’0
packages/question/src/react/resolved-actions.test.ts+84 โˆ’0
packages/question/src/react/resolved-actions.tsx+75 โˆ’0
packages/question/src/react/use-questionnaire-cancel.test.ts+68 โˆ’0
packages/question/src/react/use-questionnaire-definition.test.ts+103 โˆ’0
packages/question/src/react/use-questionnaire-lifecycle.test.ts+83 โˆ’0
packages/question/src/react/use-questionnaire-option-growth.test.ts+139 โˆ’0
packages/question/src/react/use-questionnaire-refresh-save.test.ts+133 โˆ’0
packages/question/src/react/use-questionnaire-save.test.ts+136 โˆ’0
packages/question/src/react/use-questionnaire.test-fixtures.ts+116 โˆ’0
packages/question/src/react/use-questionnaire.test.ts+12 โˆ’14
packages/question/src/react/use-questionnaire.ts+17 โˆ’520
scripts/design-contract/exceptions/dynamic-editor.json+51 โˆ’37
scripts/design-contract/exceptions/dynamic-packages.json+24 โˆ’10
scripts/design-contract/exceptions/dynamic-web.json+17 โˆ’3