SOTEKProject AssistantPart ofsotekzone.com
Library

Dependency logic

Foundation is called that for a reason — most other features write files somewhere, and "somewhere" almost always traces back to a foundational feature having established it first (a canonical path, a folder, a tracker's data directory). The rule this catalog follows: declare only the most immediate dependency, not the whole chain behind it — e.g. FTR-14 (Active Flags Tracker) depends on FTR-13, not on FTR-13-and-everything-FTR-13-itself-depends-on. The one deliberate exception: features that only ever write into the bootstrap-level admin\AGENT_INSTRUCTIONS.md (the file every Foundation feature itself writes to) don't need to declare a Folder Structure dependency — that minimal admin\ existence is bootstrap-level, not something Folder Structure (FTR-07) has to formally establish first. A feature only gets a real dependency listed when it writes somewhere beyond that — brand\, trackers\, project root, project cache, etc.

What this section is NOT about: dependencies here are structural — does a folder, a tracker, a canonical path exist before this feature needs it. That's a completely different question from whether it's safe to write to admin\AGENT_INSTRUCTIONS.md at all — a file that, in any real project, usually already has content in it. See INSTALL-TIME FILE SAFETY immediately below for that separate, non-negotiable rule. No feature declares it as a "dependency" because it isn't one — it's a standing behavior, not a structural prerequisite, and it governs every install unconditionally rather than being satisfied by installing some other feature first.

Category vs. dependency note (added 2026-07-09): category and dependency are two independent axes, worth keeping separate in your head. FTR-28, FTR-30, and FTR-32 all live in the Research category (not Trackers) below, but all three still depend on FTR-13 or FTR-28 the same as before — moving a feature's category never changes what it structurally needs to exist first. The Research category groups features by what they're for (research, as a person browsing would think of it); the Depends-on column still tracks what has to be installed first, regardless of category.