Fix speech-core runtime packaging and poll send guard#88853
Conversation
|
Thanks for the context here. I swept through the related work, and this is now duplicate or superseded. Close: this mixed PR is no longer the right landing path because the speech-core half is superseded by a cleaner proof-positive PR, while the remaining poll/schema behavior is tracked by canonical open issues. Canonical path: Close this mixed branch, use #89899 for the speech-core package contract, and keep the remaining poll/schema decision on the two open message-send issues. So I’m closing this here and keeping the remaining discussion on #89899. Review detailsBest possible solution: Close this mixed branch, use #89899 for the speech-core package contract, and keep the remaining poll/schema decision on the two open message-send issues. Do we have a high-confidence way to reproduce the issue? Yes. Current main source and focused tests show the remaining poll failure for channel-extra poll fields, and source/release evidence shows the speech-core facade/package mismatch; I did not run tests or a live gateway in this read-only review. Is this the best way to solve the issue? No. This is not the best fix because it mixes two separate problems, adds an unsupported speech-core extension sidecar, lacks real proof, and is superseded by a cleaner speech-core PR plus canonical poll/schema issues. Security review: Security review cleared: No concrete security or supply-chain issue was found in the diff; it adds local wrappers, build-script exceptions, and tests without new dependencies, permissions, downloaded code, or secret handling. AGENTS.md: found and applied where relevant. What I checked:
Likely related people:
Codex review notes: model internal, reasoning high; reviewed against 7a7165ad22c4. |
|
ClawSweeper applied the proposed close for this PR.
|
Summary
speech-coreruntime surface wrappers sodist/extensions/speech-core/runtime-api.jsis built and packedspeech-coreruntime support outputs during bundled metadata copyaction: poll; onlypollQuestion/pollOptionanchors doWhy
Discord send payloads can include default poll metadata fields from shared tool schemas. Treating those metadata/default fields as poll creation blocks normal
action: sendreplies withPoll fields require action "poll". Separately, the npm/runtime packaging path can drop the manifestlessspeech-core/runtime-api.jssurface needed by runtime consumers.Validation
node scripts/run-vitest.mjs run src/poll-params.test.ts src/infra/outbound/message-action-runner.send-validation.test.ts src/plugins/copy-bundled-plugin-metadata.test.ts test/scripts/bundled-plugin-build-entries.test.ts --maxWorkers=1