autodev-cli 1.4.141 → 1.4.142
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
## 0.0m Autoplan — Harden The Plan Before You Build
|
|
2
|
+
|
|
3
|
+
**When to use:** The moment you have a rough plan for a non-trivial task ([[00e-long-horizon-planning]]) and are about to start building — run autoplan FIRST · Any time the user says *"autoplan"*, *"auto-review"*, or *"harden the plan"*. **Autoplan is a plan-HARDENING discipline: take a rough plan, review it through independent multi-lens critique BEFORE any code is written, auto-resolve the mechanical forks via an explicit rubric, and batch only the genuine judgment calls into a SINGLE approval gate. Rough plan in, fully reviewed plan out.**
|
|
4
|
+
|
|
5
|
+
You already decompose the work ([[00e-long-horizon-planning]]); autoplan does not replace that — it hardens the plan you drew. The failure mode it kills is *build-then-discover*: you start coding on a plan with a wrong assumption, a missing failure mode, or a scope creep baked in, and pay for it in the diff, in review, or in prod. A flaw caught in the PLAN is orders of magnitude cheaper than the same flaw caught downstream. So before the first edit, subject the plan to the same adversarial, independent scrutiny a swarm gives a built artifact ([[00f-swarm-orchestration]], [[00i-qa-swarm]]) — but aimed at the plan, not the code.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
### Autoplan reviews a plan; it does not replace planning
|
|
10
|
+
|
|
11
|
+
You still do the full decomposition — the arc, the milestones, the whole-task "done" ([[00e-long-horizon-planning]]). Autoplan takes that rough plan as INPUT and hardens it: it finds the gaps, the wrong turns, and the unstated scope before they become code. If there is no plan yet, plan first — autoplan has nothing to review until there is one. The output is not a different plan-making method; it is the SAME plan, reviewed, decision-logged, and single-gated.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
### Multi-lens INDEPENDENT review
|
|
16
|
+
|
|
17
|
+
Review the plan from several distinct stances, each a fresh reviewer with NO prior-phase context so it cannot rubber-stamp what an earlier pass wrote ([[00f-swarm-orchestration]], [[00k-internal-workflows]]):
|
|
18
|
+
|
|
19
|
+
- **Strategy / scope** — is this the RIGHT thing? In scope? Does it leverage existing code instead of reinventing? What is explicitly NOT in scope?
|
|
20
|
+
- **Engineering** — architecture, a test for each piece, failure modes, security, error paths, deployment. The failure-mode registry and the test-coverage gaps are artifacts, not afterthoughts.
|
|
21
|
+
- **Design / UX** — ONLY if the change is user-facing.
|
|
22
|
+
- **Developer-experience** — ONLY if it ships a developer surface (API, CLI, SDK).
|
|
23
|
+
|
|
24
|
+
Run each lens as an INDEPENDENT worker with its own fresh context — the same independence that makes any check trustworthy ([[00b-self-verifiable-work]]); where a lens is high-stakes, add a second independent voice reconciled to consensus (the critic pattern, [[00i-qa-swarm]]). **Scope-gate the conditional lenses cheaply** — skip design on a non-UI change, skip DX on a change that ships no developer surface. Don't pay for a lens the task doesn't need.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
### Decision principles — resolve forks yourself, don't ping-pong the user
|
|
29
|
+
|
|
30
|
+
Most findings have one clearly-better resolution. Resolve those yourself with an explicit rubric instead of asking the user each time — the rubric replaces the USER'S JUDGMENT on mechanical forks, NOT the analysis. You still do the full analysis; the rubric only picks the resolution:
|
|
31
|
+
|
|
32
|
+
- **Completeness** — fix the whole thing, not a slice of it.
|
|
33
|
+
- **Whole blast radius** — fix everything the change touches, not just the symptom.
|
|
34
|
+
- **Pragmatic / simplest** — two options fix the same thing → take the cleaner one.
|
|
35
|
+
- **DRY** — reuse what exists; reject a duplicate.
|
|
36
|
+
- **Explicit over clever** — the obvious approach beats a clever abstraction.
|
|
37
|
+
- **Bias to action** — converge and build; do not loop the review forever.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
### Three-tier decision taxonomy — know what to escalate
|
|
42
|
+
|
|
43
|
+
Every finding is one of three kinds, and the tier decides who resolves it:
|
|
44
|
+
|
|
45
|
+
- **Mechanical** — one clearly-right answer. Decide SILENTLY via the principles above, log it. No interruption.
|
|
46
|
+
- **Taste** — reasonable people could differ. Decide via the principles WITH a recommendation, then surface it at the gate for a quick confirm — you propose, the user disposes.
|
|
47
|
+
- **User-challenge** — the review concludes the user's own stated direction or premise is wrong. NEVER decide this unilaterally. Queue it to the gate with your reasoning, the downside risk, and your own blind spots. You MAY challenge the user's premise; you may NOT act on that challenge without them.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
### One gate, not twenty interruptions
|
|
52
|
+
|
|
53
|
+
Do NOT interrupt mid-review with a stream of questions — that is exactly the ping-pong autoplan exists to end. Batch EVERY taste-recommendation and EVERY user-challenge into a SINGLE approval gate at the end (one decision surface via the `ask_user` / choice mechanism), then build. The whole win is the compression: many would-be interruptions collapse into ONE gate the user answers once.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### Anti-compression — full depth means full depth
|
|
58
|
+
|
|
59
|
+
A shortcut review is worthless — a lens that says *"looks good"* has reviewed nothing. Hold every lens to the same objective bar as self-verifiable work ([[00b-self-verifiable-work]]):
|
|
60
|
+
|
|
61
|
+
- You MUST NOT write *"no issues found"* without showing WHAT you examined.
|
|
62
|
+
- You MUST NOT compress a lens into a one-line *"looks good."*
|
|
63
|
+
- Each lens produces its REAL artifact — specific findings, alternatives considered, the failure-mode registry, the test-coverage gaps. If a lens has no artifact, it did not run.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
### Nothing dropped; bounded; don't abort
|
|
68
|
+
|
|
69
|
+
- **Log every auto-decision.** Each mechanical resolution and each recommendation goes into an audit trail in the living docs ([[00g-swarm-living-documents]]) — a plan hardened invisibly is a plan you cannot defend later.
|
|
70
|
+
- **Route every deferral.** Anything out-of-scope or punted goes to the deferred set / TODO ([[00j-deferred-task-resolution]]), never silently dropped.
|
|
71
|
+
- **Bound the revise loop.** When the plan changes, re-run only the AFFECTED lenses, not all of them; cap it at roughly 3 cycles — beyond that you are polishing, not hardening.
|
|
72
|
+
- **Don't bail.** Once autoplan is chosen, harden the plan and reach the gate — abandoning the review half-done leaves the plan neither rough nor hardened.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
### Before / after — the un-reviewed plan vs the hardened one
|
|
77
|
+
|
|
78
|
+
> **Un-reviewed:** rough plan for a user-facing export feature goes straight to code. Halfway in you discover it duplicates an existing serializer, has no empty-dataset path, and the user actually wanted CSV not JSON — three reworks, one of them a scrapped morning, and a puzzled user mid-build.
|
|
79
|
+
|
|
80
|
+
> **Autoplan:** the rough plan is reviewed by four independent lenses. Strategy flags the duplicate serializer (DRY → reuse it, mechanical, logged) and that CSV-vs-JSON was never stated (user-challenge → queued). Engineering finds the missing empty-dataset path (completeness → add a test, mechanical, logged) and a taste fork on streaming vs buffering (recommend buffering, queued). Design lens runs (it IS user-facing); DX lens is scope-gated out. One gate asks the user two things — output format, and confirm buffering — answered once. Then build, on a plan whose gaps were caught while they were still cheap.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
### Why this compounds — no referee
|
|
85
|
+
|
|
86
|
+
No one checks that you hardened the plan. It stays honest anyway, for one reason: **a plan run through independent multi-lens critique, with mechanical forks resolved by an explicit rubric and only genuine judgment calls batched to one gate, cannot ship the wrong-assumption / missing-failure-mode / silent-scope-creep bug that an un-reviewed plan carries straight into the diff.** Skipping the review feels faster for one task and taxes every task after it, when the flaw surfaces as rework. Hardening the plan before you build is the whole mechanism — there is nothing to train.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
**Rule of thumb:** rough plan in → independently reviewed, decision-logged, single-gated plan out; harden before you build.
|
package/out/profileBuilder.js
CHANGED
|
@@ -136,6 +136,14 @@ exports.PROFILE_SECTIONS = [
|
|
|
136
136
|
'Adversarial + durable: critics try to BREAK the work, and a finding (or a clean verdict) counts only if it survives an independent pass — accept only what refutation and a real run could not break. Each cohort gets its living-document set under .autodev/swarm/<slug>/ (each <16 KB, [[00g-swarm-living-documents]]); outputs feed MEMORY/LESSONS/TODO and any unresolved items go to the deferred set to be swept before turn end ([[00j-deferred-task-resolution]], [[00d-turn-end-retrospective]]).',
|
|
137
137
|
],
|
|
138
138
|
},
|
|
139
|
+
{
|
|
140
|
+
id: '00m-autoplan', label: 'Autoplan — Harden The Plan', file: '00m-autoplan.md',
|
|
141
|
+
keyRules: [
|
|
142
|
+
'Autoplan HARDENS a rough plan before any code is written — it does not replace planning ([[00e-long-horizon-planning]]). Run it after you have a plan for a non-trivial task and before you build, or when the user says "autoplan"/"auto-review"/"harden the plan". A flaw caught in the plan is far cheaper than one caught in the diff or in prod. Rough plan in, fully reviewed plan out.',
|
|
143
|
+
'Review the plan through INDEPENDENT multi-lens critique — strategy/scope, engineering, design/UX (only if user-facing), developer-experience (only if it ships a dev surface) — each a fresh reviewer with no prior-phase context so it cannot rubber-stamp ([[00f-swarm-orchestration]], [[00i-qa-swarm]], [[00k-internal-workflows]]). Full depth, real artifacts (findings, alternatives, failure-mode registry, test-coverage gaps): never a one-line "looks good" ([[00b-self-verifiable-work]]).',
|
|
144
|
+
'Resolve MECHANICAL forks yourself via an explicit rubric (completeness, whole blast radius, simplest, DRY, explicit-over-clever, bias-to-action) — don\'t ping-pong the user. Batch every TASTE recommendation and every USER-CHALLENGE into ONE approval gate at the end (ask_user/choice), then build. Log every auto-decision ([[00g-swarm-living-documents]]); route deferrals to the deferred set ([[00j-deferred-task-resolution]]); bound the revise loop (~3 cycles); once chosen, don\'t bail.',
|
|
145
|
+
],
|
|
146
|
+
},
|
|
139
147
|
{
|
|
140
148
|
id: '00h-shared-skills', label: 'Shared Skills', file: '00h-shared-skills.md',
|
|
141
149
|
keyRules: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profileBuilder.js","sourceRoot":"","sources":["../src/profileBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"profileBuilder.js","sourceRoot":"","sources":["../src/profileBuilder.ts"],"names":[],"mappings":"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"}
|