A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live
I0002
Define the canonical milestone and issue schema
Where it stands
devtask.issueMoves
plan.transitionWhat it is
- Objective
- Define the smallest repository-native representation of a milestone outcome specification and an issue execution contract, and enforce it the way every other configuration file here is enforced: a key nobody reads is an error.
- Why
- Every surface downstream reads these files. A field that is written and never read, or read and never written, becomes a lie that the website eventually publishes.
- Now
- Policy, profiles and prompts each have an allowlist under share/allow. Milestones and issues had none because they did not exist.
- Wanted
- share/allow/project.txt, share/allow/milestone.txt and share/allow/issue.txt exist and every key in a canonical file matches one of them.
- Done when
- unknown: the record declares no `completion`
- Risk
- A schema too small forces a later migration; a schema too large invites fields nobody reads.
Acceptance
- An unknown key in a milestone or issue file is a reported failure
- No status field exists in either schema
- Evidence is part of the record whose completion it gates
- Validation
bin/majordomus plan validatebash test/run.sh 40_project_model- Evidence required
schema_test- Evidence present
schema_test
Scope
- Touches
.majordomus/projectshare/allowdocs/SCHEMAS.md- Not
JSON Schema; this repository validates with allowlists and its own YAML subsetA separate evidence directory; evidence lives inside the record it proves- Depends on
- Priority
- p0
- Profile
- deep-work
- Parallel safe
- true
- Owner
- unknown: the record declares no `owner`
The work so far
- Branches
- none
- Merged
- none
- Commits
0- Trunk
- master
- Sessions
- none
- Created
- 2026-09-04
- Updated
- 2026-09-04T03:12:44Z
- Started
- 2026-09-04T03:12:42Z
- Verified
- 2026-09-04T03:12:43Z
- Completed
- 2026-09-04T03:12:44Z
Synchronisation
- Adapter
scripts/github-sync- Repository
- unknown: the derived plan's header carries no repository
- External issue
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
- State there
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
Findings
Nothing is wrong with these records.