Skip to content
Cockpit0.29.0
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

I0201

Declare which profile axis may become which runtime limit

Where it stands

devtask.issue
Readiness
ready no dependency and no gate holds it; nobody has started it
Status
READY
Can start
startable
Milestone
Milestone status
PLANNED
Wave
0
Waiting on
none
Holds back
Behind it in all
5
Evidence
0 of 1
A move writes the repository: it stamps one field of this issue's record and appends one event to the ledger, and a commit will carry both.
The same moves from a terminal

majordomus plan start I0201

majordomus plan verify I0201

majordomus plan done I0201

What it is

Objective
Add one canonical file beside the profiles that maps a profile axis to the runtime limit it may derive, so that a limit has a single source, an axis nobody can enforce cannot be listed, and a limit no adapter applies is a validation error rather than a comment.
Why
The implementation studied before this one was rolled back because its limits were global constants. A constant is not derived from a profile, and nothing in the repository could tell the difference. The mapping has to exist as data before anything can be clamped honestly.
Now
A profile declares capability, effort, verbosity, presentation, context depth, verification requirements and a checkpoint interval. Every one of them is projected as prose and none of them constrains anything. There is no file that says which of them could.
Wanted
One file declares each enforceable axis, the limit it derives, and how the limit is computed from the axis value. An unknown axis, an unknown limit, or a limit no adapter implements is refused by name.
Done when
unknown: the record declares no `completion`
Risk
Declaring an axis enforceable before an adapter can apply it is how the previous attempt became theatre; the reconciliation in both directions is the guard against repeating it.

Acceptance

  • The mapping is one canonical file, read by the tool and written by hand nowhere else
  • Every declared axis exists on every profile, and an axis that does not is refused by name
  • A declared limit whose adapter does not exist is refused, and an adapter for an undeclared limit is refused
  • Every profile resolves to a complete set of limits, printed as data rather than prose
Validation
bash test/run.shbin/majordomus doctor
Evidence required
suite
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
sharelib
Not
Applying any limit; this issue only declares what may be appliedAny axis whose enforcement could not be observed from this repository
Depends on
none
Priority
p1
Profile
deep-work
Parallel safe
false
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-04
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

LevelCodeMessageReproduce
WARNscope_conflictshares share with I1201; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I1504; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I1900; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I1980; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I1990; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I1999; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares lib with I2059; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares lib with I2114; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I2410; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I2412; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares lib with I2413; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I2653; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I2670; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares lib with I2694; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I2695; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I2696; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares lib with I2713; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares lib with I2714; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares lib with I2718; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I2720; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares lib with I2734; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I2742; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I2747; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares lib with I2760; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share with I2770; they may not run concurrentlymajordomus plan validate