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
I1018
The surface rules exist as checks, proved by making them fail
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
3- Waiting on
- Holds back
- Behind it in all
3- Evidence
0of2
| In the way | Subject | Detail |
|---|---|---|
| issue | I1011 | I1011 is not DONE |
Moves
plan.transitionWhat it is
- Objective
- State the durable constraints of this architecture as project rules with executable checks: derived surfaces stay synchronised, a public capability is discoverable, a behavioural capability carries verification, a developer-facing capability resolves to documentation, and the two projections stay equal.
- Why
- Everything in this milestone decays the moment a change can land without a check noticing. A rule that exists only as a document is a suggestion wearing a uniform.
- Now
- Project rules exist with checks for derived files, projections, hot paths, benchmark coverage and scope. None concerns UI exposure, capability documentation or verification policy.
- Wanted
- Each rule has a check, each check has a negative test that proves it fires, and CI runs all of them.
- Done when
- unknown: the record declares no `completion`
- Risk
- Five new rules can make ordinary contribution feel like litigation. Each policy is typed by capability kind so that a descriptive object is not asked for a behavioural test.
Acceptance
- A change to an authoritative source that leaves any derived surface stale fails the drift check, and the failure names the source to change
- A public or developer-facing capability that is not discoverable through the generated interface fails, unless it declares itself internal
- A capability with behaviour carries verification appropriate to its kind, decided by typed policy rather than by one rule for everything
- A developer-facing capability resolves to canonical documentation, and the coverage is visible rather than only reported
- The static and runtime representations must remain equal after runtime-only fields are removed, enforced by the parity test
- Each rule has a negative test that proves the check fires, and CI executes every one
- Validation
bin/majordomus doctorbash test/run.sh- Evidence required
rules_with_checksnegative_tests- Evidence present
- unknown: the record carries no `evidence` entries
Scope
- Touches
.ai/repo/rules/project- Not
A rule with no executable checkRequiring documentation or a test from purely descriptive metadataDuplicating a constraint an existing rule already enforces- 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.