I0202 — Resolve a task's effective limits and print them as data
Add a read-only command that resolves the limits the active task's profile derives and prints them, in text and as JSON, so that a worker, a wrapper or a test can read the same numbers the enforcement will use.
BLOCKED wave 1 · p1 · implementation profile · runs alone
Part of runtime-adapters — Profiles become runtime constraints rather than advice.
Blocked. This issue cannot start until I0201 is done. The status is derived from that, not declared.
Objective
Add a read-only command that resolves the limits the active task's profile derives and prints them, in text and as JSON, so that a worker, a wrapper or a test can read the same numbers the enforcement will use.
Why
A limit that cannot be read before it bites is a limit nobody can test, and a limit computed twice is a limit that will disagree with itself. One resolver, one output, consumed by everything downstream.
Current state
The mapping declares what a limit is. Nothing computes the limits for a given task, and the task record carries no way to ask.
Desired state
Running one command inside a task prints every limit the profile derives and the axis each came from. With no active task it resolves the default profile and says so.
Scope
- lib
- bin
Out of scope
- Enforcing any limit
- Caching the resolved values anywhere; resolution is cheap and stays derived
Dependencies
What waits on this
Acceptance criteria
- The command prints every declared limit, its value, and the profile axis it was derived from
- JSON output carries the same set the text output does
- With no active task the default profile is resolved and named as the default
- The resolver is the only place a limit value is computed
Validation
- bash test/run.sh
Evidence required
- suite
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Risk
A second computation of a limit anywhere else silently forks the contract; the case has to compare the enforced value against this command's output rather than against a constant.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I0202.yaml. Read it back with majordomus plan show I0202.