send-email policy
Libra repository policy and workflow guide
Status
libra send-email is intentionally unavailable. Libra does not implement SMTP
delivery, does not read Git's sendemail.* configuration, does not manage SMTP
credentials, and does not contact a mail server. Invoking the absent command
fails with LBR-CLI-001 (exit 129) before repository or network work.
This is the P2-04 / D19 compatibility policy. A transport-shaped
--dry-run/--validate-only stub would imply support for Git's recipient,
alias, configuration, credential, TLS, and SMTP semantics when those semantics
do not exist in Libra.
Safe workflow
Libra owns patch generation; a dedicated mail tool owns validation and delivery:
- Generate Git-consumable messages with
libra format-patch. - Review the generated files locally.
- Use stock
git send-email --dry-runto validate the external transport configuration and resolved recipients. - Remove
--dry-runonly after reviewing the exact recipient list and mailer configuration.
All SMTP credentials, aliases, recipient expansion, TLS, retries, and delivery logs belong to the external mailer. Libra never receives those secrets on this path.
Examples
Generate one patch, validate it with stock Git, then send it explicitly:
libra format-patch -1 HEAD
git send-email --dry-run 0001-*.patch
git send-email 0001-*.patch
Generate a reviewed series into a dedicated directory:
libra format-patch --cover-letter -o outgoing origin/main..HEAD
git send-email --dry-run outgoing/*.patch
If git send-email is not installed, use another mailer that accepts RFC 2822
message files. Do not rename a custom wrapper to libra send-email; scripts
should keep the transport boundary visible.
Compatibility
| Surface | Libra | Stock Git |
|---|---|---|
| Patch mail generation | libra format-patch |
git format-patch |
| SMTP delivery | Unsupported | git send-email |
| Transport dry run | Unsupported | git send-email --dry-run |
sendemail.* config / aliases / credentials |
Not read | Read by git send-email |
See format-patch.md for the supported generation surface
and COMPATIBILITY.md for the command-level tier.