chore: sync CLI to OpenAPI spec#101
Conversation
…n_timeout_seconds) Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Two-pass reviewSelf-review — APPROVE
Codex review — APPROVEIndependent pass confirmed: (1) spec diff is purely additive after stripping example timestamps — no removed paths/enums/fields, field is nullable with no Additive-vs-breaking classification — PURELY ADDITIVEOne new optional, nullable field on an existing schema. No removed paths/commands/flags, no removed/changed enum values, no newly-required fields, no narrowed types or changed semantics. Both passes independently confirm this. Opened as a normal (non-draft) PR. |
Independent verifier verdict — ✅ verified, ⏸️ holding the merge/publish for a humanI re-derived everything from source (not from this PR's narrative). Result: purely additive, all gates green, ready to merge + release as a patch. But I'm not self-merging — see the rollout-conflict note at the bottom. Diff (re-derived independently)
Classification: purely additive. No removed paths/commands/flags, no removed enum values, no newly-required fields, no narrowed types. Gates (read mechanically from check JSON)
Code spot-check
Recommended actionMerge ⏸️ Why I'm not merging this myselfThere's a rollout-configuration conflict I won't resolve autonomously for an irreversible publish:
Live evidence (the running routine's own prompt) says review-only, so I'm treating this as Phase A: verify + report, no merge/tag/cask. @joshyork — this is the watched first cycle. If full-cycle is intended, either merge+tag this (one command) or repoint the routine at |
Spec sync —
BridgePhrasesConfig.smart_turn_timeout_secondsAutomated reconciliation of the embedded OpenAPI spec against upstream
(asksyllable/syllable-sdk-typescript@main).
diff_specs.pyreportThe new field:
Code impact
None required.
BridgePhrasesConfigis consumed only byconversation-config bridges-update, which accepts an arbitrary JSON body via--file(no per-field flags), so the new optional field passes through transparently. The field is not surfaced anywhere else incmd/*.go.The remaining lines in the spec diff are auto-rolling example timestamps (
20260604.9→20260605.9, etc.) that change daily upstream — cosmetic, no structural effect.Changes
scripts/syllable-cli/internal/spec/openapi.json— verbatim upstream copyAGENTS.md— note the new field in the Conversation Config sectionBreaking changes
None. Purely additive: one new optional nullable field on an existing schema. No removed paths/commands/flags, no changed/removed enum values, no newly-required fields, no narrowed types.
Release notes
conversation-config bridges-updatenow accepts asmart_turn_timeout_secondsfield in the bridge-phrases JSON body — tunes how long an agent waits on caller
silence before the first bridge phrase (0.25–30s; subsequent intervals scale
2x/3x/4x). Optional; the service-wide default applies when unset.
Tests
go test ./...passes (cmd, integration, internal/spec, client, output).🤖 Generated with Claude Code