When designing API responses and client-triggered actions, keep contracts accurate and defaults safe:
1) Make optional data optional in response schemas
Example (JSON Schema pattern):
{
"type": "object",
"properties": {
"Score": { "type": "number" }
}
/* Intentionally omit "required": ["Score"] */
}
2) Choose non-destructive defaults for actions clients trigger
Example (least-destructive default behavior):
/describe --pr_description.add_original_user_description=true \
--pr_description.keep_original_user_title=true
# If still considered too risky, remove /describe from default command list and keep only:
/auto_review
Apply this standard whenever you change: API response formats, webhook-driven bot behaviors, default command/action lists, or schema definitions used by clients.