Skip to content

bridges-update: unified messages/randomize_messages accepted with 200 but silently dropped by prod API #100

Description

@yorkable

Summary

v1.7.1's spec sync added messages (ordered string array) and randomize_messages (bool) to BridgePhraseMessages/BridgePhrasesConfig, and conversation-config bridges-update passes them through. On the production API (2026-06-04) the fields are accepted with HTTP 200 but not persisted — an immediate read-back omits them entirely.

Repro (cli-test org)

$ cat bridges-test.json
{"first_slow_messages":[],"very_slow_messages":[],"tool_responses":[],"localized":{},
 "messages":["One moment please.","Still working on that."],"randomize_messages":true}

$ syllable --org cli-test conversation-config bridges-update --file bridges-test.json
# 200; response body has no messages/randomize_messages

$ syllable --org cli-test conversation-config bridges -o json
{
  "first_slow_messages": [],
  "very_slow_messages": [],
  "tool_responses": [],
  "localized": {}
}
# new fields gone — silent no-op

(Config was restored afterward; cli-test left byte-identical.)

Impact

Anyone configuring the new unified bridge phrases via the CLI gets a green run and no bridge phrases. Classic silently-wrong-answer case (cf. #90's theme).

Ask

Backend: deploy persistence/echo for the new fields (or confirm where it's tracked). CLI: until then, consider a read-back warning after bridges-update when the sent body contains messages but the response omits it — and a release-notes caveat that the fields aren't live on prod yet.

Found while updating the internal ai-specialist skill docs; documented there as a gotcha ("always read back after a bridges-update").

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    prod-driftSpec/CLI sends it; prod silently ignores it — backend owns the fix

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions