Invio v1.0.0.1.40.2
Invio v1.0.0.1.40.2 - First Production Release
Status: PRODUCTION RELEASE ACCEPTED
Official Baseline: v1.0.0.1.40.2
P14: COMPLETE BY EXPLICIT OWNER PRODUCTION ACCEPTANCE
P11 Refrens: IMPLEMENTED / LIVE ACCEPTANCE DEFERRED — NON-BLOCKING FOR THIS RELEASE
Production-ready: YES, with Odoo Provider v1.0.0 as the owner-live-certified invoice delivery path
Production acceptance evidence
The owner completed a real Odoo live test from Invio using the validated external Odoo Provider v1.0.0 and confirmed successful invoice sending. This is the first owner-controlled end-to-end provider acceptance for Invio.
The v1.0.0.1.40.2 Windows CI/distribution pipeline is green. Before the final tag is created, the final plugin-inclusion commit must pass the same non-tag CI because this release additionally ships the validated Odoo bundle with the project.
Final plugin-inclusion CI checksum portability correction
The first non-tag CI run of the final plugin-inclusion commit (796895bdcef829b431e62876d87faed572e57cbf) failed only in test_odoo_bundle_internal_checksums_are_complete. The Odoo bundle checksum file was generated from LF source bytes, while the Windows Git checkout converted text files to CRLF, changing raw-byte SHA-256 values before the test ran.
The correction is intentionally limited to a repository attribute rule: providers/plugins/odoo/** text eol=lf. This preserves the existing raw-byte integrity contract across Windows/POSIX checkouts without changing the Odoo provider manifest, adapter, P13 interface, runtime logic, task execution, dependencies, workflow, or application version. A corrected non-tag CI run is required before the production tag is created.
Odoo provider included with the project
The validated external plugin is stored at:
providers/plugins/odoo/
It remains a P13 interface-v1 trusted external adapter. It is intentionally not auto-installed and does not become a packaged/reserved provider ID. Users explicitly load its provider.json and approve the sibling executable adapter.py through the existing trusted-code workflow.
The plugin provides:
- Odoo API-key authentication over the proven JSON-RPC workflow;
- customer lookup/create;
- currency/country resolution;
- customer invoice creation;
- invoice posting;
- Odoo Send & Print wizard email execution;
- provider-side mail evidence inspection;
- Invio P10 durable provider customer/invoice references;
- fail-closed uncertainty behavior for non-idempotent external mutations.
Provider certification matrix
| Provider | v1.0.0.1.40.2 release status |
|---|---|
| Odoo Provider v1.0.0 | LIVE END-TO-END ACCEPTED |
| Refrens | API Test + invoice creation work; API email returns HTTP 400: Not allowed to send mail; email delivery not certified |
| Agiled | API Test verified; Task sending fail-closed / not certified |
| Stripe | Existing implementation unchanged; no new owner-live acceptance claim is made by this release |
Production phase interpretation
P14 is marked complete by explicit owner acceptance of the green Windows distribution path plus real Odoo invoice delivery. P11 remains a provider-specific Refrens acceptance item; the owner explicitly makes it non-blocking for this first production release rather than falsely marking Refrens email delivery successful.
Completed acceptance phases are therefore 13/14, with P11 deferred. This exception is intentional and recorded.
v1.40.2 provider-contract corrections retained
The pre-production v1.40.2 correction remains part of this released tree: Agiled API Test uses the owner-supplied safe read GET /public/v1/me with Bearer authentication, while Agiled Task sending remains fail-closed. Refrens HTTP 400: Not allowed to send mail remains classified as a provider-side API mail permission rejection rather than being converted to success.
Unchanged core contracts
- Application version remains
1.0.0.1.40.2. - SQLite schema remains v5.
- WorkerManager one-QThread-per-active-Task architecture is unchanged.
- P05 immutable Task snapshots are unchanged.
- P08/P09/P10 retry, scheduling, durable-ledger and uncertainty rules are unchanged.
- P13 external adapter interface remains version 1.
- Stripe/Refrens/Agiled built-in runtime behavior is unchanged by this production-finalization step.
- No UI/UX or Settings update is included; those are future separately approved work.