Open
#48
Enhancement
Use idiomatic casing per context across all wire protocols
0
Anchors
—
Blast radius
—
Churn 30d
0
Proposals
Background
Different layers of the ecosystem have different idiomatic conventions:
- Swift (Stori) — camelCase, as per Swift/JSON convention
- JSON wire protocol — camelCase (Swift clients expect it)
- Python backend (Maestro, MuseHub) — snake_case per PEP 8
Currently there is inconsistency. For example, MuseHub hub API returns snake_case JSON keys (repo_id, default_branch) while some callers (agent scripts, CLI one-liners) accidentally use camelCase (repoId, defaultBranch) from GitHub/gh muscle memory.
Task
Sweep all wire protocol boundaries and enforce idiomatic casing per context:
- MuseHub JSON API responses — audit all response shapes; confirm snake_case throughout
- Swift/Stori client — confirm camelCase on the wire; add
CodingKeysorconvertFromSnakeCasedecoder strategy if bridging to a snake_case backend - Maestro — confirm internal Python structures are snake_case; confirm any JSON serialized for Swift clients is camelCase
- Agent scripts / CLI tooling — update any hardcoded camelCase key lookups against MuseHub API to snake_case
Acceptance criteria
- No camelCase keys in MuseHub Python response models
- No snake_case keys sent over the wire to Swift clients
- A note in the relevant
agent-guide.mdor API docs clarifying the casing contract at each boundary
Activity
No activity yet. Use the CLI to comment.