Context-Invariant Developmental Governance Stack
A governance framework designed to prevent drift, ambiguity, and authority confusion when working with LLMs and AI-assisted development. Lightweight, file-based, principal-scoped, copy into any project.
Explicit is better than inferred. Fidelity over momentum. Clear pointer semantics.
Drift happens when the rules live in somebody's head. DMF puts them in files instead.
Think of a DMF-governed project like booting a computer.
Your GLOBAL is the operating system: the durable environment every project inherits. Style rules, authority model, interaction discipline. Configure it once per principal, whether that's a person, a team, or an organization.
INITIAL is the first-boot setup wizard. It runs once per project, asks the questions needed to configure it, writes the answers into LOCAL, and then deletes itself. It works whether the project is empty or already has code and conventions in place.
LOCAL is the installed application: the specific project running on top of the platform. Carries identity, scope, conventions, and artifacts.
One GLOBAL, many LOCALs, one INITIAL per new LOCAL.
DMF holds these four rules across every project:
- Authority-in-files. Authority exists only in files. Conversation is not binding.
- Halt on conflict. When authoritative artifacts disagree, stop. Resolve before proceeding.
- Halt on missing authority. When a required artifact is absent, stop. Create or recover before proceeding.
- Label inference. Unlabeled inferences are not authority. Always mark when reasoning beyond what is explicitly stated.
These are zero-cost in the normal case. Optional escalations (version pinning enforcement, separate source authority registers, halt strictness) are project-scoped decisions captured during INITIAL, not universal requirements.
- Copy the contents of
template/into your project (or a clean directory if starting fresh). - Open
template/README.mdandtemplate/AGENTS.md. TheDMF:INITIALblocks inside contain bootstrap directives. - Run the bootstrap. An LLM agent (or you, manually) executes the directives: scans the repository, asks the project owner what discovery cannot answer, populates the
DMF:LOCALsections, and deletes theDMF:INITIALblocks. - Commit. The project is now under DMF governance.
The four template artifacts:
template/README.md: project README contracttemplate/AGENTS.md: agent operating manualtemplate/agent-manifest.json: machine-readable manifesttemplate/agent-manifest.schema.json: JSON Schema for the manifest
DMF does not require a code build, dependency install, or runtime. It is markdown and JSON.
dmf/
├── template/ # the four artifacts adopters copy into their project
├── examples/ # worked examples of populated DMF instances
│ └── thepghcid/ # ThePghCid's filled-in template, reference for what
│ # GLOBAL looks like populated for one principal
├── archive/ # two DMF-era reference docs; full history at dmf-archive
├── LICENSE
├── CHANGELOG.md
└── README.md # this file
examples/thepghcid/ is a worked example of the template populated for one principal. Shows what a real GLOBAL looks like filled in: hard style constraints, register model, voice mechanics. Useful reference when adopting.
MIT licensed. See LICENSE.
Forks, issues, and improvement suggestions welcome. Open a PR. The framework has gone through several iterations; the current single-spec form is an intentional compression of an earlier multi-module stack. The compression aimed at a workflow-friendly minimum, not a comprehensive ceremony.
If you encounter references to CIDSTACK, DGF (Developmental Governance Framework), Bootstrap framework, or Manifest module in the wild, those are prior generations of what DMF is now. The compression to a single spec was deliberate; the current shape is what survived.
See archive/ for the last DMF-era reference docs kept in this repo, or the separate dmf-archive repository for the full evolutionary lineage.