EXAMPLE BRANCH — NOT FOR PROD / NOT FOR MERGE. Illustrates what better Effect code in the existing structure could look like:
- fromPromisedResult now maps promise rejections to typed Error_500 via Effect.tryPromise instead of swallowing them as Effect defects
- extract runRouteEffect / runMiddlewareEffect boundary runners (drop repeated Effect.runPromise(Effect.either(...)) + Either.match boilerplate)
- hoist route Effect programs into named, transport-agnostic functions taking a typed DashboardProjectContext instead of the raw Hono Context
- add withDashboardProjectContext helper for the resolve-then-run boundary
- tests for the bridge + runners; README documenting conventions
Description
How did I test this PR