-
Notifications
You must be signed in to change notification settings - Fork 51
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
What happened
When using OpenWorkflow with the Postgres backend, JSON keys inside workflow run input are being mutated during persistence/readback.
Observed persisted payload snippet:
{
"env": {
"OPENAIMODEL": "gpt-5.3-codex",
"OPENAIBASEURL": "http://127.0.0.1:8090/...",
"OPENAIREASONINGEFFORT": "medium"
}
}Expected:
{
"env": {
"OPENAI_MODEL": "gpt-5.3-codex",
"OPENAI_BASE_URL": "http://127.0.0.1:8090/...",
"OPENAI_REASONING_EFFORT": "medium"
}
}Why this is a bug
Workflow input payloads should be stored and returned without rewriting user-provided JSON keys.
Reproduction
- Start OpenWorkflow with the Postgres backend.
- Enqueue a workflow run whose input includes JSON object keys with underscores (e.g.
OPENAI_MODEL,OPENAI_BASE_URL). - Let the run persist.
- Query the workflow run input from the
workflow_runstable. - Observe underscores are removed from JSON keys (e.g.
OPENAI_MODELbecomesOPENAIMODEL).
Expected behavior
JSON input keys are preserved exactly as provided.
Actual behavior
JSON input keys are transformed during persistence/readback.
Suspected root cause
The Postgres backend applies postgres.toCamel transform globally. In postgres (postgres.js), this transform also applies to JSON value object keys, not only SQL column names.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working