Repository navigation
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d7995763d5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ...(expectedRevision === undefined ? {} : {expectedRevision}), | ||
| }) | ||
| } | ||
| const response = await client.voip.updateCallSettings(name, body) |
There was a problem hiding this comment.
Upgrade the SDK before exposing standalone simultaneous calls
With the pinned @polymorfa/sdk version, voip.updateCallSettings still validates requests against the old settings fields and throws Send at least one call setting to change. when the body contains only simultaneousCalls (plus acknowledgeRisk). Consequently the newly documented standalone enable and disable commands fail before sending an HTTP request; the added success tests conceal this by always including --conference-mode. Upgrade the SDK or otherwise bypass its obsolete validator before exposing these commands.
Useful? React with 👍 / 👎.
calls settings set gains --simultaneous-calls=<true|false> and --acknowledge-risk. Turning simultaneous calls on without the acknowledgment exits with code 2 before any request. Settings output and claim view show the new fields from polymorfa/polymorfa#559. Co-Authored-By: Claude <noreply@anthropic.com>
d799576 to
cb1fb99
Compare
calls settings get and set print "Ban Insurance exclusion ends" with the server's simultaneousCallsCoverageExcludedUntil while simultaneous calls are off and that time has not passed. Nothing is printed while on, for a null or missing end, or once it passes. --json passes the field through unchanged, and it is never sent in an update. The field is typed locally as response-only until an accepted, published SDK supplies it; the SDK pin is unchanged.
Summary
The held coverage-output candidate is now included in this owning draft. When simultaneous calls are off and the server supplies a valid future
simultaneousCallsCoverageExcludedUntil, human output prints that exact exclusion-end timestamp. JSON preserves the server field. The field is never sent in a settings update. The output does not establish current insurance coverage.Adds simultaneous calls to
calls settingsand shows the new Ban Insurance claim fields. Contract source: polymorfa/polymorfa#559 (merged source). SDK types: polymorfa/sdks#346 (merged source). This branch still pins the older SDK version below; matching published SDK adoption and deployed acceptance remain merge/release gates.calls settings set --simultaneous-calls=<true|false>follows the existing--host-cloud-api-calls=<true|false>flag style.--simultaneous-calls=truerequires--acknowledge-risk. Without it the command exits with code 2 (configuration) before any request. The message says that Ban Insurance does not cover the number while the setting is on and for 30 days after it is turned off, and says to re-run with--acknowledge-risk. There is no interactive prompt; the flag is required in every mode.--acknowledge-riskwithout--simultaneous-calls=trueexits with code 2, because the API rejectsacknowledgeRiskon its own.--simultaneous-calls=falseneeds no acknowledgment.calls settings getandsetprintSimultaneous calls off, oron (Ban Insurance does not cover this number). JSON passessimultaneousCallsthrough unchanged.bansafe claim viewprintsSimultaneous calls on in window yes|nowhen the claim recordsevidence.simultaneousCalls. Verdictsimultaneous_callsalready prints as-is. JSON passes through unchanged.Blocked: SDK bump. The pinned SDK (
@polymorfa/sdk0.1.0-dev.20261004024706) predates these fields. The CLI widens the SDK types locally (CallSettingsandCallSettingsUpdateBodyinsrc/services/calls.ts,simultaneousCallsEvidenceinsrc/services/bansafe.ts). There is noany, and comments mark the code for removal. The pinned SDK also rejects an update whose only setting issimultaneousCalls("Send at least one call setting to change."), socalls settings set --session s --simultaneous-calls=true --acknowledge-riskfails today before any request. Combined with another setting it sends the right body. Before merge:package.json"@polymorfa/sdk": "0.1.0-dev.20261004024706"to that exact0.1.0-dev.<timestamp>, and runnpm install --save-exact.--simultaneous-calls=true --acknowledge-riskon its own.Impact
Coverage-output impact table
Original feature impact table
calls settings set--simultaneous-calls,--acknowledge-riskflags, help text, examples, local risk refusal (exit 2).src/commands/calls/settings/set.ts,src/services/calls.tsSimultaneous callsline in human output. JSON unchanged in shape (field passes through).bansafe claim viewsimultaneousCalls.src/services/bansafe.tsREADME.mdcalls settings and BanSafe sections,docs/command-research/calls.mdNo impact table
bansafe claim listverdictas a raw string column, sosimultaneous_callsshows without change. No evidence column.renderClaimsinsrc/services/bansafe.tscalls settings getcommand codesrc/commands/calls/settings/get.tsrg "updateCallSettings|call-settings" src/mcp skillsreturns no matchesrejects client tokens and invalid values for call settingsintest/commands/calls.test.tsadmin-call-settingsv2) in polymorfa/polymorfa#559.Verification
Source readiness attempt, 2026-10-30
Ready: no. The exact failed Node 22 job is 123171055252. Its 118 test files / 1,168 tests and build passed, then
scripts/cli-reference.mjs:122rejected stalecontracts/cli-reference.json. These remain historical results for the named failed run, not qualification of a successor.Live intake confirmed published head
9fae00c78c5b2c25ff0519590ceaa5a8a13bd064and actualmain044f8b75ae8b0689664fe489c22d4a3c64486717. The owned worktree was clean. Both published coverage-output commits remain preserved.The single standard source-repair claim (session 2054, owner
calls-cli77-readiness-source, queue bound 900 seconds, execution bound 180 seconds) expired with exit 75 before admission. No child command, backup/rebase, generator, source edit, build, test or push started in that claim. No installer or repeated queue was attempted.The required fix is to incorporate actual current main, regenerate the reference with its real
npm run docs:referenceproducer and run focused matching-environment checks. The smallest missing action is one admitted bounded shared-validation window for that prepared repair/qualification command. The PR stays draft until the source is actually repaired and qualified.The exact SDK pin and its standalone-setting limitation remain explicit below. No API, SQL, legal, SDK adoption, package publication, feature availability or Admin change was made by this attempt. Release retains merge and release gates.
Draft publication, 2026-10-29
Current head
9fae00c78c5b2c25ff0519590ceaa5a8a13bd064fast-forwards publishedcb1fb9946b1c7bfec4f022ea525b9f5a64172715. Held2f0864d606ed99eab3b348b381378aceec9b0493maps to7b1edac; heldd006004292e39667a1547d5ae368a548120b2898maps to9fae00c. Both range-diff entries are unchanged. The originald7995763feature commit was already represented bycb1fb994and was not replayed.2f0864d6had focused regression and broader local checks recorded inround12/cli77/RECEIPT.md;d0060042had copy/format/syntax checks recorded inroot-cli77-coverage-copy-20261023/RECEIPT.json. These are not fresh-head acceptance.0.1.0-dev.20261004024706. Typed SDK adoption and standalone simultaneous-calls update validation remain blocked. No accepted package version is guessed.simultaneous-calls/publication-sweep-20261029/CLI77-PUBLICATION.json, with preserved source/index, before-containment and range-diff evidence beside it.Historical source refresh, 2026-10-28
Published head
cb1fb9946b1c7bfec4f022ea525b9f5a64172715, directly rebased onto actual livemaina9a19cd68eecf7f33eae495665c1f389b6906a5e(CLI Zod #91). Old headd7995763d58b5252faf8a3e0ef4bbfd7aecbbdda, old parent1869d421892173d9ccd662fc785b39ed30bbd9d2. The old PR base snapshot was not used as current target authority.git rebase --rebase-merges --ontocompleted without conflicts.range-diffreports the single Calls commit unchanged; old/new stable patch ID isc682519aad08a83d13a3e57293d85ff8a642261b. Original author, date, message and coauthor are preserved.2f0864d6andd0060042remain held and are excluded.4.6.7and MCP server2.3.1. SDK remains exactly0.1.0-dev.20261004024706; no guessed adoption or installer ran.OCLIF_TEST_ROOTset to this worktree. No assertion, deadline or source change was introduced by verification.mainwas stilla9a19cd6and the PR branch was stilld7995763. Push used the exact expected-old--force-with-lease; remote readback confirmedcb1fb994and the worktree stayed clean.Durable private evidence:
simultaneous-calls/cli77-rebase-20261028/, includingBACKUP-BEFORE.json,PATCH-AUTHOR-PROOF.json,DEPENDENCY-PROOF.json,FOCUSED-REPLACEMENT-RECEIPT.json, per-check logs and the one-time natural run manifest.Historical verification at d799576
Revision
d7995763d58b5252faf8a3e0ef4bbfd7aecbbdda, pinned SDK0.1.0-dev.20261004024706.npm run format:check,npm run lint,npm run typecheck: pass.npm run build,npm pack --dry-run --ignore-scripts,npm run audit:prod(0 vulnerabilities): pass.npx vitest run test/commands/calls.test.ts test/commands/bansafe.test.ts: 56 passed. New tests:turns simultaneous calls on only with --acknowledge-risk: refusal without the flag (exit 2,configurationcategory, message names Ban Insurance and--acknowledge-risk, no request sent);--acknowledge-riskwithouttrueand withfalserefused (exit 2); request bodies{acknowledgeRisk: true, conferenceMode: true, simultaneousCalls: true}(plusexpectedRevisioncase) and{conferenceMode: true, simultaneousCalls: false}; human and JSON output.shows the simultaneous calls verdict and evidence on a claim: humanVerdict simultaneous_calls,Simultaneous calls on in window yes, JSON passthrough. The existing claim test checks that older claims without the field print no evidence line.--maxWorkers=2 --testTimeout=60000, machine load average about 90): 1034 passed, 4 failed. The failures are intest/commands/event-stream-process.test.ts(SIGINT/SIGTERM) andtest/commands/voice-wait-timeout.test.ts. They fail the same way onorigin/main(1869d42) on this machine and do not touch the changed code. CI is the reference.calls settings set --session support --simultaneous-calls=true --acknowledge-riskprintsError: Send at least one call setting to change.with no request. This is the SDK blocker above.Not exercised: a real API (backend unmerged), project-token 403 path against a live server.
Terminal output rendered by
calls settings setfor the turn-on test fixture (same renderer asget):Session provenance and UI evidence
The 2026-10-28 mechanical refresh was performed by the existing Calls owner using Codex gpt-6.1-sol. Original commit attribution and the terminal behavior below are preserved. No new product behavior or coverage-output candidate was added.
Agent registration PR: https://github.com/polymorfa/polymorfa/pull/540; delegated subagent of thread 707f87c6-ff4d-4525-8150-0815c879e03a; transcript checkpoint will be published by the coordinating agent. UI unaffected (terminal output shown in Verification).
Dependencies: polymorfa/polymorfa#559, polymorfa/sdks#346.
Rollout and rollback