Promote the fast path to a first-class product, not an escape hatch #191

Closed
opened 2026-08-16 15:41:11 +00:00 by john · 2 comments
Owner

The problem

/cad-task is described as "a small off-roadmap task", which is accurate and
also positions it as the exception. It is not the exception. Most real work in
most projects is one to three commits with no phase around it.

The heavy path gets the design attention because Cadence's own work is always the
heavy kind. That is a dogfooding bias, and it shows: the phase spine has a
context step, a plan gate, an executor contract, per-plan risk checks, an
adjudicated triage gate, a summary, a verify walk and a trace bracket. The fast
path has an inline mode and a --plan flag.

Below roughly half a day of work the phase overhead dominates, and a user whose
work is mostly that size experiences Cadence as bureaucracy. That is precisely
the reaction the README's audience statement warns about, and the honest reading
is that the tool earns it for small work.

The proposal

Give the fast path the same GUARANTEES with none of the machinery:

  • Atomic conventional commits per step. Already there.
  • A record. A task should leave something behind that recall can find. Today a
    /cad-task run leaves commits and nothing else, so the corpus has a hole
    exactly where the majority of the work went.
  • The risk-surface check on its committed range. A one-commit change to auth is
    not less risky for being off-roadmap.
  • A trace bracket, so per-role token accounting covers the path most runs use.

What it should NOT gain: a context step, a plan gate, a verify walk, a SUMMARY.
The point is that the guarantees are separable from the ceremony, and this issue
is the proof.

Why it is a philosophy change

It concedes that the phase is a unit of PROCESS, not the unit of WORK, and that
Cadence's guarantees should attach to the work.

How you would know it worked

Count /cad-task runs against /cad-execute phases over a month of real use. If
the fast path is used more and leaves less record, the hole is confirmed and the
fix is measurable: recall hit rate on task-originated work goes from zero to
something.

## The problem `/cad-task` is described as "a small off-roadmap task", which is accurate and also positions it as the exception. It is not the exception. Most real work in most projects is one to three commits with no phase around it. The heavy path gets the design attention because Cadence's own work is always the heavy kind. That is a dogfooding bias, and it shows: the phase spine has a context step, a plan gate, an executor contract, per-plan risk checks, an adjudicated triage gate, a summary, a verify walk and a trace bracket. The fast path has an inline mode and a `--plan` flag. Below roughly half a day of work the phase overhead dominates, and a user whose work is mostly that size experiences Cadence as bureaucracy. That is precisely the reaction the README's audience statement warns about, and the honest reading is that the tool earns it for small work. ## The proposal Give the fast path the same GUARANTEES with none of the machinery: - Atomic conventional commits per step. Already there. - A record. A task should leave something behind that recall can find. Today a `/cad-task` run leaves commits and nothing else, so the corpus has a hole exactly where the majority of the work went. - The risk-surface check on its committed range. A one-commit change to auth is not less risky for being off-roadmap. - A trace bracket, so per-role token accounting covers the path most runs use. What it should NOT gain: a context step, a plan gate, a verify walk, a SUMMARY. The point is that the guarantees are separable from the ceremony, and this issue is the proof. ## Why it is a philosophy change It concedes that the phase is a unit of PROCESS, not the unit of WORK, and that Cadence's guarantees should attach to the work. ## How you would know it worked Count `/cad-task` runs against `/cad-execute` phases over a month of real use. If the fast path is used more and leaves less record, the hole is confirmed and the fix is measurable: recall hit rate on task-originated work goes from zero to something.
Author
Owner

Parked, not rejected: the premise is unmeasured. The case rests on 'most real work is one to three commits with no phase around it.' On the only project with data, that is false - 9 cad-task commits against 595 phase-scoped commits over the last 60 days, about 1.5% of the work. The issue is honest that it is diagnosing dogfooding bias, but the remedy is then built for a usage pattern nobody has observed, and it is the most expensive item on the decision list to build. The corpus hole it names is real and stays real; what is missing is evidence that the hole is where the work goes. Reopening condition: a user (or a Cadence run on another repo) shows cad-task carrying a meaningful share of commits, at which point the record/risk-check/trace-bracket trio is the right fix and this issue is already the spec for it.

Parked, not rejected: the premise is unmeasured. The case rests on 'most real work is one to three commits with no phase around it.' On the only project with data, that is false - 9 `cad-task` commits against 595 phase-scoped commits over the last 60 days, about 1.5% of the work. The issue is honest that it is diagnosing dogfooding bias, but the remedy is then built for a usage pattern nobody has observed, and it is the most expensive item on the decision list to build. The corpus hole it names is real and stays real; what is missing is evidence that the hole is where the work goes. Reopening condition: a user (or a Cadence run on another repo) shows `cad-task` carrying a meaningful share of commits, at which point the record/risk-check/trace-bracket trio is the right fix and this issue is already the spec for it.
Author
Owner

Shipped in v3.6.0 as FST-01, FST-02 and FST-03.

/cad-task now writes .planning/tasks//RECORD.md through a task-record seam that derives every figure from the committed range, and both the recall corpus and /cad-why read it as a tier. The risk-surface check runs on the committed range via risk-check run --phase 0. The run brackets itself under a per-run phase-0 correlation anchor, so per-role token accounting finally covers the fast path.

It gained none of the four this issue ruled out: no context step, no plan gate, no verify walk, no SUMMARY.

The measurement this issue asked for is now possible, which it was not before: task-originated work is in the corpus, so recall hit rate on it is no longer zero by construction.

Shipped in v3.6.0 as FST-01, FST-02 and FST-03. /cad-task now writes .planning/tasks/<slug>/RECORD.md through a task-record seam that derives every figure from the committed range, and both the recall corpus and /cad-why read it as a tier. The risk-surface check runs on the committed range via risk-check run --phase 0. The run brackets itself under a per-run phase-0 correlation anchor, so per-role token accounting finally covers the fast path. It gained none of the four this issue ruled out: no context step, no plan gate, no verify walk, no SUMMARY. The measurement this issue asked for is now possible, which it was not before: task-originated work is in the corpus, so recall hit rate on it is no longer zero by construction.
john closed this issue 2026-08-23 18:34:12 +00:00
john added this to the v3.6.0 milestone 2026-08-23 20:50:27 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: crenshawdev/cadence-archived#191
No description provided.