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
I1102
The two namespaces are a typed contract, not a habit
Where it stands
devtask.issue- Readiness
- blocked 1 of its dependencies is not DONE
- Status
- BLOCKED
- Can start
- not now
- Milestone
- Milestone status
- ACTIVE
- Wave
1- Waiting on
- Holds back
- Behind it in all
3- Evidence
0of2
| In the way | Subject | Detail |
|---|---|---|
| issue | I1101 | I1101 is not DONE |
Moves
plan.transitionWhat it is
- Objective
- Declare the canonical layout of `.ai/` and `.majordomus/` as typed, versioned data — what each namespace holds, what it must never hold, and which lifecycle each directory's contents carry — so that the boundary can be checked rather than remembered.
- Why
- The boundary between portable knowledge and control-plane mechanics is the whole architecture. Stated only in prose it survives until the first subsystem finds it convenient to write an index next to a rule.
- Now
- Both namespaces exist and are populated. Nothing declares what belongs in which, and nothing refuses a control-plane artifact written under `.ai/` or a copy of authored knowledge written under `.majordomus/`.
- Wanted
- The layout is a schema-backed declaration; a check reads it and refuses a path that contradicts it.
- Done when
- unknown: the record declares no `completion`
- Risk
- A layout schema can become a second description of the tree it describes. It declares intent and lifecycle; the tree remains what discovery finds.
Acceptance
- Each namespace declares what it holds, in typed and versioned form, generated from the canonical Rust types where generation is available
- `.ai/` is defined as portable semantic material that keeps its meaning without this tool and across providers, and `.majordomus/` as control-plane state that must never hold a second copy of it
- A check refuses an artifact placed in the namespace whose contract excludes it, and names both the path and the contract it violates
- The skeleton a new repository receives is derived from the same declaration rather than being a parallel copy of it
- Validation
cargo test --workspace --all-featuresbin/majordomus doctor- Evidence required
layout_declaredboundary_checked- Evidence present
- unknown: the record carries no `evidence` entries
Scope
- Touches
share/schemasshare/skeleton- Not
A configuration file restating what a convention already fixesMoving existing content; that is the migration issue- 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-06
- Updated
- 2026-09-06
- Started
- unknown: the record declares no `started_at`
- Verified
- unknown: the record declares no `verified_at`
- Completed
- unknown: the record declares no `completed_at`
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.