Agentic Development — Spec#
Premise#
An agent does useful work only when it knows which project it is serving, which standards apply, and what the team has already learned. That context MUST be project-scoped, durable, reviewable, and readable by humans and agents alike. The project boundary is the GitHub organization: dnb.ghe.com/AI-Platform, github.com/MSXOrg, github.com/PSModule, and any future organization that adopts the framework.
Each organization owns two canonical repositories:
docs— the reviewed knowledge base: vision, standards, workflows, specs, designs, glossary, onboarding, and project-wide rules.memory— the durable agent working memory: lessons learned, recurring gotchas, active context, workflow-stage knowledge, and project-specific operating notes.
Product repositories do not copy that knowledge. They carry thin pointer files that identify the organization context and direct agents to the relevant docs and memory roots before acting.
Principles#
This framework rests on the Principles:
- Documentation lives close to the thing it documents. Organization-wide ways of working live in the organization
docsrepository; repository-specific nuance lives in the repository. - Everything as Code. Standards and memory are plain files in git. Changes are reviewed, diffed, and reverted like code.
- Written once, referenced everywhere. Agent instructions point to canonical docs and memory rather than duplicating them.
- AI-first development. Humans create durable context; agents consume that context and leave useful improvements behind.
Scope#
Applies to any organization that wants a shared project knowledge base and memory store for agents across multiple repositories.
In scope
- Organization-level
docsandmemoryrepositories. - Markdown documents with YAML frontmatter, following the Open Knowledge Format model.
- Thin repository pointer files: a required
AGENTS.mdrouter, and a route to it for every client that cannot read it. - Path-scoped rule files, reserved for local caveats that cannot live in repository or central documentation.
- Refresh-first, index-first discovery from canonical context repositories to the Workflow and its stage procedures.
- Deterministic context resolution by host, organization, repository, path, and task.
- Human-reviewed changes to canonical knowledge through pull requests.
- Durable agent memory that can be shared by every person and agent working in the organization.
Out of scope
- A vendor-specific runtime implementation for one agent client.
- Secret storage, credential distribution, or production access management.
- Replacing issue tracking, pull requests, or code review.
- A central database or service for context retrieval.
Requirements#
- Organization is the project boundary. The framework MUST resolve project context from the Git host and organization before resolving repository-specific context.
- Canonical docs repository. Each adopting organization MUST have a
docsrepository that owns the reviewed knowledge base. - Canonical memory repository. Each adopting organization MUST have a
memoryrepository that owns durable project memory and agent working knowledge. - Pluggable project context. The bootstrap MUST accept project-specific docs and memory coordinates and collision-free relative workspace paths without requiring a fork of its synchronization logic.
- OKF-style documents. Knowledge and memory documents MUST be Markdown files with YAML frontmatter, one primary concept per page, and stable paths that act as identity.
- Small pages and indexes. Documentation and memory SHOULD prefer small pages, each folder SHOULD have an
index.md, and indexes MUST let a human or agent navigate inward from the root. - Thin pointer files. Product repositories MUST carry an
AGENTS.mdat the repository root that routes an agent from the repository's own files outward to the organization documentation, any inherited ecosystem documentation, and memory. It MUST be limited to that route list and the repository's own coordinates. It MUST NOT duplicate standards, workflow stages, or reusable process knowledge, and MUST NOT carry build commands, contribution mechanics, or workspace bootstrap steps, each of which has an owning file of its own. - Refresh-first, index-first workflow discovery. After every canonical context repository passes the freshness gate, a human or agent MUST be able to follow the docs root index to Ways of Working, the canonical Workflow, and the procedure for the current stage.
- Stage resolution from work. Agents MUST infer the current stage from the prompt and current artifacts. Explicit task language MAY shortcut to the matching stage, but the shortcut MUST resolve to the canonical documentation.
- One process source. Skills, commands, named agents, and tool-specific instruction files MUST NOT redefine Workflow stages. A client convenience MAY link to a stage procedure and add only runtime mechanics.
- Segmentation before loading. An agent MUST segment work by host, organization, repository, path, and task before loading project standards or memory. The repository router MUST supply the coordinates that make this possible by naming its host and organization. The instruction to segment belongs to the user-global bootstrap, which runs before any repository file is read; a per-repository file MUST NOT restate it.
- Client routes. A runtime that cannot read
AGENTS.mdunder its own filename MUST be given a route file —.claude/CLAUDE.md,.github/copilot-instructions.md, or the equivalent path for that runtime. A route file MUST contain only a pointer toAGENTS.mdplus, at most, genuinely runtime-specific configuration that cannot be expressed as documentation. It MUST NOT restate standards, describe workflow behavior, or repeat the reading order. Duplication is a property of content rather than of filenames: a route holds nothing that can drift, so the number of route files is unconstrained while their contents are strictly limited. Agentic Development names the exact set an MSX repository carries; an adopting organization MAY carry a different set for the runtimes it uses. - Reading order and authority order are distinct. An agent MUST read nearest context first, in the order the repository router defines. Precedence on conflict MUST run the opposite way: repository-local files MAY add nuance and narrow exceptions but MUST NOT override an organization or inherited ecosystem standard unless that standard permits a local exception, and memory MUST NOT override documentation.
- Deterministic context resolution. Agents MUST resolve context in layers: system and client policy, user preferences, the repository router, the context-repository freshness gate, repository context, path-scoped repository rules, organization docs, any inherited ecosystem docs, organization memory, then current task context.
- Local-first availability. The docs and memory repositories SHOULD be available locally in a predictable workspace so agents can read them without relying on search or web access.
- Fresh context before use. Every canonical context repository MUST be fetched and exactly synchronized with its remote default branch before its contents are read. Dirty, locally ahead, diverged, wrong-branch, or unreachable repositories MUST stop context resolution rather than fall back to stale content.
- Reviewed knowledge changes. Changes to the
docsrepository MUST happen through pull requests. Changes to memory MAY be lighter-weight, but MUST remain versioned in git. - No cross-project bleed. An agent working in one organization MUST NOT apply another organization's standards or memory unless the current task explicitly asks for cross-organization work.
- Traceable memory. Memory entries SHOULD identify the context they came from and SHOULD be short, factual, and linked to the relevant issue, pull request, document, or repository when one exists.
Success criteria#
- An agent working in
github.com/PSModule/<repo>reads PSModule docs and memory, not MSXOrg or AI-Platform rules. - An agent working in
github.com/MSXOrg/<repo>resolvesgithub.com/MSXOrg/docsandgithub.com/MSXOrg/memoryas the canonical project context. - An agent working in
dnb.ghe.com/AI-Platform/<repo>resolvesdnb.ghe.com/AI-Platform/docsanddnb.ghe.com/AI-Platform/memoryas the canonical project context. - A new product repository can adopt the framework by adding a router and the client routes that reach it, without copying standards or memory pages.
- An agent reads the repository's own README and CONTRIBUTING before it reads an organization standard, and still applies the organization standard when the two disagree.
- A human can start at
docs/index.mdormemory/index.mdand navigate to the same context an agent uses. - A human or agent can follow
docs/index.md→ Ways of Working → Workflow → the current stage procedure without knowing a file path in advance. - A prompt such as
Review this PR <link>reaches the Review procedure directly, whileMake this issue <description>reaches Define, without a parallel process definition. - A missing, dirty, locally ahead, diverged, wrong-branch, or unreachable canonical context repository stops discovery before any context index is read.
- Updating a standard in
docschanges the canonical guidance without editing every repository. - Capturing a recurring lesson in
memorymakes it available to later agents working in the same organization.
Context resolution contract#
The framework uses this normative reading order:
- System and client policy — non-project instructions imposed by the agent runtime.
- User-global preferences — the human operator's baseline style and risk posture.
- Repository router —
AGENTS.mdidentifies the host, organization, and the context sources below, in the order they are read. - Freshness gate — fetch every canonical context repository and stop unless each clean default-branch checkout exactly matches its remote head.
- Repository context — README, CONTRIBUTING, local docs, and narrow repository exceptions.
- Path-scoped repository rules — local rules that apply to the files being read, generated, reviewed, or edited.
- Organization documentation — the
docsrepository for the resolved organization: start atdocs/index.md, traverse to Ways of Working and Workflow, resolve the current stage, then load the relevant standards, specs, and designs. - Inherited ecosystem documentation — where the organization inherits from a broader standard set, the layer it inherits from.
- Organization memory — start at
memory/index.md, then load relevant lessons, gotchas, and active context. - Current task context — issue, pull request, prompt, branch, diff, diagnostics, terminal output, and open files; use these artifacts to re-evaluate the stage after each handoff.
This is the order in which context is read, nearest first. It is not the order in which conflicts are resolved. A repository-local file MAY refine a standard but MUST NOT contradict it unless that standard explicitly allows a local exception; an organization standard governs its own repositories and MAY adjust an inherited ecosystem default for them; and memory MUST NOT override documentation.
Where this connects#
- Design — how these requirements are delivered.
- Memory Repository Template — the concrete scaffold every organization's canonical
memoryrepository instantiates. - Agentic Development — the existing way-of-working standard this framework operationalizes.
- Documentation Model — how specs and designs are written and kept evergreen.
- Open Knowledge Format — the Markdown and frontmatter model used for knowledge pages.