I3360 — The T1 protocol and its selection floors are registered before any candidate is measured, and a record without an admitted candidate is refused
Record the owner's decision on the selection floors with majordomus decision, then register the T1 trials protocol in .ai/repo/benchmarks/proof-plan.yaml: the record fields of the workflow, the candidate list file .ai/repo/benchmarks/trials/t1-external-onboarding/candidates.yaml, min_trials and min_successes, and the redaction classes per basis. Add the candidate check to economics::proof: a T1 record must name a candidate entry committed before its first step whose measurements meet the floors; and a test that reads the commit times from git.
BLOCKED wave 2 · p0 · implementation profile · parallel safe
Blocked. This issue cannot start until I3352, I3353, I3359 are done. The status is derived from that, not declared.
Objective
Record the owner's decision on the selection floors with majordomus decision, then register the T1 trials protocol in .ai/repo/benchmarks/proof-plan.yaml: the record fields of the workflow, the candidate list file .ai/repo/benchmarks/trials/t1-external-onboarding/candidates.yaml, min_trials and min_successes, and the redaction classes per basis. Add the candidate check to economics::proof: a T1 record must name a candidate entry committed before its first step whose measurements meet the floors; and a test that reads the commit times from git.
Why
T1 of the owner's report of 2026-10-19. Admitting candidates against floors fixed before measurement means the choice cannot follow the results; the critique asked for the floors to be an owner decision rather than the worker's.
Current state
No candidate, floor or T1 protocol is recorded. I3353's trial record has no candidate rule.
Desired state
The T1 protocol validates with its digest; a fixture record without a prior admitted candidate is refused.
Scope
- .ai/repo/benchmarks
- apps/majordomus-cli/src/economics
- apps/majordomus-cli/tests/economics.rs
Out of scope
- Measuring candidates (I3362)
- Recording consent on the owner's behalf
Dependencies
- I3352BLOCKED The six proof tests are registered, each with the claim it settles and its instrument, and none carries a protocol yet
- I3353BLOCKED A trial is a typed record that carries its protocol's digest, refuses what the protocol does not declare, and redacts what its publication basis does not permit
- I3359READY A workflow states which repository may be adopted as foreign, what each adoption records and publishes, and with whose consent
What waits on this
- I3361BLOCKED install-check's first-run stage runs against a clone of an existing repository named on the command line and writes a T1 trial record
- I3362BLOCKED Candidate repositories are measured against the registered floors and admitted or refused before any of them is installed into
Acceptance criteria
- The floors cite a recorded owner decision dated before the candidates file's first commit
- The T1 protocol validates and the T1 row reads not_run with reason no counted record
- A fixture record whose candidate is missing, later than its first step, or below a floor is refused
Validation
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test economics
- majordomus economics proof
- majordomus plan validate
Evidence required
- test_t1_candidate_rule
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
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/I3360.yaml. Read it back with majordomus plan show I3360.