Hacker Newsnew | past | comments | ask | show | jobs | submit | ajpaulson's commentslogin

What do you mean by “learning systems?”

I was referring to systems that are designed to teach people.

SCORM for example.


Scorm is a zip file with html files to structure content any way you want with a minimal amount of mandatory standards.

It was never meant for assessment, nor is it secure. The creator of scorm said to not use it learning had to be secured.

It’s not a system or a framework in any meaningful or standardized sense, and more of a format for compiling content that can be copied between different places.


That's an oversimplification of what SCORM is, but point taken. My comment was about LMS.

Thanks for the article Jake. It tried twice to subscribe to your newsletter but the page stalled.


Lmao!!! Awesome


> The diagram below shows the rule: within each business domain (e.g. App Settings), code can only depend “forward” through a fixed set of layers (Types → Config → Repo → Service → Runtime → UI). Cross-cutting concerns (auth, connectors, telemetry, feature flags) enter through a single explicit interface: Providers. Anything else is disallowed and enforced mechanically.

Can anyone give me a simplified explanation of what they’re saying here? Having some trouble understanding.


They're describing a layered architecture enforced by some script in CI.

For example, if you had a `backend`, `common`, and `frontend` package, you would be OK having backend/frontend depending on common, but you wouldn't want common depending on backend/frontend or backend/frontend depending on each other.

If you think about JavaScript, there is nothing stopping your dependency graph from becoming spaghetti. It sounds like they built static analysis to enforce rules.

Some languages have this built in like Java (Project Jigsaw), Go, and Rust. JavaScript, Python, etc. have no such feature.

It's really nothing special -- it has existed before. It just becomes a _lot_ more important with agents since they produce a lot of code, and it is good to have lots of static analysis when heavily utilizing agents.

They mention this in the article:

> This is the kind of architecture you usually postpone until you have hundreds of engineers. With coding agents, it’s an early prerequisite: the constraints are what allows speed without decay or architectural drift.


IIUC its just strict separation of concerns

Eg UI cannot reach down and directly read config files

Configs must be only read by (im assuming) a storage interface layer called repo

There’s a strict directionality of dependency

Somewhat similar to ports and adaptors but presumably more strictly enforced by deterministic linters


As other commenters have clarified, it's about layering, separation of concerns etc. Goes by many names. One such terminology here: https://en.wikipedia.org/wiki/Hexagonal_architecture_(softwa.... DI frameworks use terminology like "Provider": https://en.wikipedia.org/wiki/Dependency_injection#Injectors


I think I’m going to copy and paste this directly into my AGENTS.md file!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: