A hardening release — no new stacks. Every architecture pack was dogfooded read-only on a real production app and tuned from the findings, and a new external-tool-deferral config lets a team already running a static-analysis tool avoid duplicate findings.
Dogfooded + tuned (each find→fix→fold on a real OSS app)
- Rails (Mastodon) — concern-tree resolution for fat-model;
service_object.max_locaxis fix. - Python (a FastAPI service) — MobX… no: layer-leak grep fix,
document_rendererpattern. - React (a MobX/Next app) — MobX recognition,
react.store.*budget, framework-idiom carve-outs. - Laravel (BookStack) — layout-agnostic path globs,
query_object/notificationpatterns. - Express (NodeBB) — CommonJS export counting,
api/-service recognition, project-local async-wrapper carve-out. - Phoenix (Plausible) —
from(x in Schema)precision, tieredRepo.preloadvs query-building.
The recurring lesson: smell definitions + the "confirm-don't-count" discipline held on every stack; recognition mechanics broke on each codebase's real conventions (MobX/Next, domain layouts, CommonJS/api/, from-as-function-name) — dogfooding caught all of it.
Added
- External-tool preference (
tools.architecture:enrich/prefer/report/off) — defer to reek/eslint/phpstan/credo instead of duplicating it; tool findings mapped to the findings schema. /ie-initopt-in for which lenses run + the tool preference.
Architecture stacks (6)
Rails · Python (FastAPI) · Laravel · Express · Phoenix · React
Full changelog: https://github.com/davidteren/intent-engineering/blob/main/CHANGELOG.md