The half of #143 worth doing in 0.7, exactly as scoped by the April revert notes on that issue: a pub mod response inside awa-ui so no handler returns JobRow (or any FromRow DAL struct) directly — every endpoint returns a documented response type with computed-field logic (e.g. ADR-005 original_priority) living beside it. ~10 handler sites currently reference JobRow.
This is what the stability policy's HTTP-admin-API row (#369 / ADR-036) actually needs: a typed, non-DAL response boundary. The crate split itself stays deferred on #143 (now 0.8): the first genuine second consumer is the MCP server proposal (#389), which matches the revisit triggers written down in April ('a third-party crate wants to mount Awa's routes / consume the types'), and ReadOnlyMode etc. were already shaped to transfer cleanly.
Acceptance: no FromRow type appears in a handler return; response types live in one module with doc comments; ui-design.md lists the documented endpoints/schemas the policy points at.
The half of #143 worth doing in 0.7, exactly as scoped by the April revert notes on that issue: a
pub mod responseinsideawa-uiso no handler returnsJobRow(or anyFromRowDAL struct) directly — every endpoint returns a documented response type with computed-field logic (e.g. ADR-005original_priority) living beside it. ~10 handler sites currently referenceJobRow.This is what the stability policy's HTTP-admin-API row (#369 / ADR-036) actually needs: a typed, non-DAL response boundary. The crate split itself stays deferred on #143 (now 0.8): the first genuine second consumer is the MCP server proposal (#389), which matches the revisit triggers written down in April ('a third-party crate wants to mount Awa's routes / consume the types'), and
ReadOnlyModeetc. were already shaped to transfer cleanly.Acceptance: no
FromRowtype appears in a handler return; response types live in one module with doc comments;ui-design.mdlists the documented endpoints/schemas the policy points at.