Context
Twenty of the twenty-five backend tables had no layer above their repository. Twelve of them have one today. The tasks for it were written last night.
What the factory did
- Twelve merged pull requests, one per area: daily plans and plan items, tasks, plan templates, plan blocks and the change trail, reality blocks and main events, habits, flow, day budgets, reflections, the journal, user settings, profiles.
- Same shape in each: a domain type, a repository port, the use cases, an infrastructure repository with its mapper.
- Opened a thirteenth in the evening: edit forms drop a rejected change. Waiting to merge.
What I did
- Ended Penpot. A screen is now composed from real components as a page in the in-repo gallery.
- Put the whole design surface in that gallery: the screens, the flows, the icons, a read-only archive of earlier concepts.
- Pulled the code findings out of the tasks declined for depending on drawn design.
- Finished the guardrail against hand-written form controls and started replacing the existing ones.
- Made notes readable and writable over authenticated HTTP, scoped to the token.
- Cleared the factory’s alert backlog in Discord.
- Checked what a remote MCP over the backend still needs: the dev deployment is automated, the external ingress is unverified, and the Lifalign project has no account to authenticate with.
Notes
- The gallery review found 18 things, 8 of them real defects. One guard test skipped whole route groups while its comment described the correct rule.
- The controls guardrail recomputes the whole tree, not the diff. An unrelated pull request turns it red with no git conflict. That happened twice today.
- Two tasks of the same kind are still open: the rolling layers and habit check-ins.