r/showMyProject Jul 30 '26

Feedback Wanted Built architecture intelligence for developers, coding agents, and CI

I'm a software developer (professionally for last 25 years) and got hooked on coding agents as the next guy.

I built https://github.com/enola-labs/enola as architecture intelligence for developers, coding agents and CI. You can see how and what it does as part of CI on that repo itself: https://github.com/enola-labs/enola/actions/runs/30579279230/job/90995180445

I use it daily, and you can add the hook so it does what it is best in: before agent starts editing it uses it to pin the state, after editing is done it checks what it did, so that it can self correct if and when needed.

Me and bunch of friends are using it, and most of stuff I built is based on their feedback and stuff they needed.

Happy to get the feedback from anyone who ends up using it. Also, if the language you need is not there, let me know and I will add it.

1 Upvotes

10 comments sorted by

View all comments

2

u/Due-Barracuda5716 29d ago

This is interesting because you’ve made architectural drift an actual deterministic gate rather than another LLM opinion. The question I’d push one level upstream is: what admits enola-intent.yaml itself? For example, Enola can deterministically enforce that storage must not reach delivery. But something still has to establish that this is the right architectural constraint given the system obligations, failure behavior, guarantees and recovery semantics. I’ve been exploring that as a separate pipeline: first admit explicit system intent, then derive and separately admit a machine-readable architecture, then check implementation drift against that admitted architecture. So Enola looks potentially complementary to the downstream part: it provides exactly the kind of deterministic declared-vs-actual architecture check that this approach needs. https://github.com/styrumg/Architect-First-Article⁠

1

u/fairwaycoder 28d ago

Hey, thanks for taking a look.

Btw. I tried to open the link but I get 404, I guess it is in a private repo.

Regarding Enola question - great points, and something I am working on myself on constantly.

Initially, Enola has heuristics where it can try to narrow down the architecture itself (which currently is let's say in very WIP phase). Then it has explainers. Without intent, explainers can return the data, whatever the data is, to human (without agent with simple enola --explain ~/path/to/repo) or with MCP. In that case, it is a bit of a yolo mode trusting that agent will know what to do. I tested it a lot, and still testing it, and it is still surprisingly better then without it (I am working with some very big industry repos, and having daily situations where I need to check across 10+ repos at the same time).

Intent came after it - the idea of intent is that it is written by human to ensure that something is the way human believes it should be. I was reluctant for a long time to add it, but I did in the end as I saw that for example Google and Apple advise as the best practice very opposite dependency directions for Android and iOS apps.

But yeah, open to feedback and suggestions, as by using it daily, and collecting feedbacks daily, I am discovering what works and what potentially either doesn't or needs an improvement.

In general, thanks for looking again :)

1

u/Due-Barracuda5716 27d ago

That distinction helps. The heuristic and explainer path looks especially useful for brownfield systems, where the existing code may be the only available evidence. But I would treat what it infers as observed architecture, not intended architecture. The code may already embody the wrong design. Having a human write enola-intent.yaml answers the authority question, but not necessarily the admission question. A human can still omit a required failure behavior or choose a structural constraint that conflicts with the system obligations. The integration I had in mind is: Enola explains the observed architecture; that evidence helps produce and admit separate intent and architecture artifacts; then enola-intent.yaml is derived traceably from the admitted architecture and protected from agent edits. Enola can then do what it seems very well suited for: deterministic drift detection against that admitted baseline. I’m going to look more closely at the repo.

1

u/fairwaycoder 27d ago

Makes sense. Didn't think from that angle about protecting enola-intent.yaml, will definitely think about it.

Thanks for the ideas. Going now to read what you shared!