Compass
Table of Contents
This is the entry point for the ORE Studio cybernetic information architecture
and the top-level orientation for the doc/ tree. Read it first on a new
contact; come back to it any time you need to remember where something lives.
The meta/ subdirectory defines the contract every document follows; this
file explains the layout that contract sits inside.
A note on the compass tool
The word "Compass" names both this document and a Python CLI tool,
ores.compass, that lives in projects/ores.compass/. Both share the
same intent — orientation inside the repository — but operate
differently: this document is a static map a human reads; the tool
computes orientation on demand against the live org-roam graph and
offers quality-of-life shortcuts for both humans and LLMs. A human
uses it to search docs (compass find "query"), inspect what is in
flight (compass where), or start a unit of work without manually
creating branches and files (compass story new / compass task new).
An LLM uses it to
resolve doc references without hallucinating paths, discover recipes
before generating one from scratch, and scaffold agile artefacts with
correct frontmatter. Where this document tells you where things are,
the tool gets you there.
Folder layout
doc/ ├── compass.org ← this file; read first ├── orientation.org ← navigation guide, by reader intent ├── meta/ ← the contract: how documents are shaped ├── agile/ ← the operational tree │ ├── versions/ ← the composition tree (the bulk of v2) │ └── product_backlog/ ← pre-sprint ideas (next / deferred buckets) ├── recipes/ ← operational how-tos, by topic ├── knowledge/ ← cross-cutting reference material │ └── external/ ← reference docs for systems we don't own ├── identity/ ← product vision, out-of-scope ├── functions/ ← named roles across levels (one per system) ├── llm/ ← LLM config: instructions, settings, skills, memories │ ├── skills/ ← Claude Code skills, one per slug │ └── memory/ ← Claude Code session-feedback memory ├── plans/ ← historical design plans (retained for record) ├── manual/ ← user-facing PDF/LaTeX manual ├── prompts/ ← reusable LLM prompts ├── samples/ ← screenshots and product imagery ├── analysis/ ← older one-off analyses (v1, mostly historical) └── investigations/ ← targeted deep-dive investigations
meta/ — how documents are shaped
See Meta for the full index. The five contract documents, read in order on first contact; refer back to individual ones as needed.
- Glossary — what we mean by task, story, sprint, version, function, plan, recipe and many other such terms. This is not a ORE Studio glossary — for example, it will not contain Computational Finance terms such as volatility (vol). Instead, it is focused on terms around our information architecture.
- Cybernetic levels — the five levels of concern and what each is responsible for.
- Document types — every document type, its frontmatter contract, filename convention, required sections.
- Lifecycle — Describes the
TODOstate transitions and where each state lives. - Execution model — how LLMs and agents operate inside this system.
agile/: the operational tree
See Agile for the full index.
Everything related to the rolling agile process: versions of the product, their sprints, the stories and tasks that compose them, and the product backlog of pre-sprint ideas.
agile/versions/: the composition tree
See Versions for the full index.
Where the operational documents live. Path shape:
agile/versions/<version>/<sprint>/<story_folder>/<task_slug>.org
↑ ↑
story.org sits at this level too
Stories and sprints are folders (they contain children); tasks are flat files
(they are leaves). One sprint per lexicographic step: sprint_01, sprint_02,
… The lexicographically-highest sprint folder is the current sprint.
agile/product_backlog/: the pre-sprint queue
See Product backlog for the full index.
Holds captures — ideas not yet pulled into a sprint as stories. Split into two buckets:
- =next/=|=deferred — candidate work for the next version.
- next/=|=deferred/= — longer-term wishlist.
When a capture is promoted into a sprint, the file moves into the appropriate
sprint folder and its #+type: flips from capture to story. The :ID: is
preserved so links keep working.
recipes/: how do I do X?
See Recipes for the full index.
Short, tested, executable how-tos grouped by topic
(recipes/<topic>/how_do_i_xxx.org). Each recipe answers one NLP question.
Shell commands inside #+begin_src sh :results verbatim blocks so they run in place via
C-c C-c.
Engineering principles
Core documents that explain why the project is built the way it is — the theory behind the architecture, the methodology behind the tools.
- Model Assisted Software Development — the MASD methodology itself: the logical-physical space, the four metamodels, the six principles, the backout strategy, and the automation spectrum (pure theory, no project-specific content).
- Applied MASD — how ORE Studio instantiates MASD: the technical spaces,
profiles, the two codegen routes, the
currencyreference implementation, and the full facet catalogue. - System Model — the four-layer architecture and component inventory.
knowledge/: durable reference
See Knowledge for the full index; external reference docs are under External knowledge.
Cross-cutting knowledge that outlives any sprint. Lives under
knowledge/<topic>/. Component-specific knowledge (e.g. an architecture
analysis tied to one component's code) lives co-located with the code at
projects/<comp>/docs/, not here.
Identity, functions
identity/— system-5 docs: product identity; what's out of scope. Holds the durable identity statements that filter candidate versions and far captures.functions/— system-spanning named roles. One function per cybernetic level (S1 Agent, S2 Orchestrator, S3 Sprint Planner, S3* Auditor, S4 Version Planner, S5 Identity Steward), plus the index page. A function doc is the priming context an LLM session loads when it takes on that role.
llm/ — LLM configuration and artefacts
See LLM Configuration and Artefacts for the full description. Summary:
llm_instructions.org(LLM instructions) — the mandatory session entry point; lists non-negotiable rules and links to every other reference.claude_code_settings.org(Claude Code Settings) — literate source for.claude/settings.json; regenerate withcompass build --direct settings.skills/— Claude Code skills, one per kebab-case slug. EachSKILL.orgis task-shaped: how to perform a specific unit of work end-to-end. The catalogue lives at Claude Code Skills.memory/— persistent project-scope memory for LLM sessions. One memory per file; the catalogue lives at Project memory. Write here when the user gives feedback worth keeping across sessions.
Developer links
Developer Links (doc/developer.org) — quick-reference index of
external developer resources: GitHub, Doxygen, Discord, CDash, and CI
pipelines. Start here when onboarding or sharing links with a new
contributor or LLM agent.
Secondary folders
plans/(Plans) — historical design plans, oneYYYY-MM-DD-name.orgper plan. Plans inside a sprint live as the* Plansection of the task/story; this folder is for one-off cross-cutting designs retained for the record.manual/— user-facing manual. The root file is ORE Studio User Manual atmanual/user_guide/user_manual.org; chapters live undermanual/user_guide/chapters/. Surfaced to end users, not part of the developer-doc tree.prompts/(Prompts) — reusable LLM prompts that don't fit cleanly as a skill.samples/(Samples) — screenshots and product imagery referenced from product identity and visual mockups.analysis/(Analysis) — older one-off analyses from before v2. Some still useful as background context; not actively maintained.investigations/(Investigations) — targeted deep-dive investigations into specific technical problems.
Reserved folders
audit/— system-3 scripts and reports enforcing invariants (orphan tasks, stale recipes, broken links, etc.). Empty in this branch.
Core invariants
- Every stateful document carries the standard frontmatter described in document types.
- Folders encode composition, not state. A document's TODO state lives on its
* Statusheadline as an org-mode TODO keyword. - Composition is strict: a version is made up of one or more sprints; a sprint is made up of one or more stories; a story is made up of one or more tasks; a task is one PR. No exceptions.
- A story belongs to exactly one sprint. Work that spans sprints closes the
current story and opens a successor in the next sprint, with
#+predecessor=/=#+successorlinks. - Plans are transient. They live as the
* Plansection inside a task or story; decisions distil into the story; the section is cleared when the task closes. - Document references are id-links (
[[id:UUID][...]]), never[[file:...]]. Paths can change; IDs don't. - The user is not responsible for filing. Periodic audit jobs catch drift.
Out of scope here
This document describes the layout. The contract that every document follows lives in document types. The vocabulary used across the system lives in glossary.