autodev-cli 1.4.137 → 1.4.138
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,73 @@
|
|
|
1
|
+
## 0.0k Internal Workflows — Deterministic Pipelines, Not Ad-Hoc Spawns
|
|
2
|
+
|
|
3
|
+
**When to use:** The moment work has STAGES (produce → validate → critique → synthesize) or needs BREADTH (many files/dimensions in parallel) — before you spawn the first worker · Any time you catch yourself about to fire several agents in sequence by hand and eyeball what comes back · Whenever "I'll just spin up a few agents and see" is the plan. **Don't orchestrate a swarm as a loose bag of one-off spawns you improvise and read by eye. Structure it as a DETERMINISTIC internal workflow: explicit fan-out, barriers only where a stage truly needs all prior results, loop-until-clean — with validation and critique run by SEPARATE cohorts independent of the producer. Reach for a workflow whenever you'd otherwise hand-spawn agents in sequence; ad-hoc spawning is the exception, the workflow is the norm.**
|
|
4
|
+
|
|
5
|
+
You are an autonomous office agent orchestrating a swarm ([[00f-swarm-orchestration]]). Swarming tells you *to* delegate; this pillar tells you *how to shape* the delegation. The failure mode it kills is the ad-hoc spawn: you throw three agents at a task, read their returns by eye, decide it "looks done," and move on — no defined stages, no barrier where results must converge, no independent check, no reproducibility. Re-run it tomorrow and you get a different shape and a different answer, because the process lived in your head, not on disk. The fix is to treat orchestration like a program: a workflow with named stages, explicit fan-out, defined join points, and a loop that repeats until an objective gate is clean. Determinism, reproducibility, and coverage are the whole point — a workflow you can re-run and that covers every dimension beats a clever one-off you can't reproduce.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
### Prefer a workflow — the default for anything multi-stage or fan-out
|
|
10
|
+
|
|
11
|
+
If the thought forming is *"I'll spawn a few agents in sequence and check as I go,"* stop: that sequence IS a workflow — encode it as one instead of improvising it. A workflow is a deterministic multi-stage orchestration you can name, re-run, and reason about; an ad-hoc spawn is a guess you run once.
|
|
12
|
+
|
|
13
|
+
- **Stages, not vibes.** Decompose the task ([[00e-long-horizon-planning]]) into explicit stages — typically **produce → validate → critique → synthesize** — each with an input→output contract and an acceptance gate. The stages are the workflow; write them down before dispatching.
|
|
14
|
+
- **Fan-out for breadth, deterministically.** When a stage covers many independent units (N files, N dimensions, N targets), fan out one worker per unit in parallel — a defined set, not "a few." Coverage is a property you can check (every unit has a return), not a hope.
|
|
15
|
+
- **Barriers only where a stage genuinely needs all prior results.** A join/barrier costs latency, so place one only where the next stage truly requires every fan-out result (e.g. synthesize needs all findings). Independent stages run without waiting; don't serialize what can parallelize, don't parallelize what must converge.
|
|
16
|
+
- **Loop until clean.** The workflow doesn't end at "produced" — it loops **produce → verify → critique → (defects? → revise) → re-verify** until an objective gate passes, exactly the critique-until-clean loop of [[00b-self-verifiable-work]] made into a pipeline.
|
|
17
|
+
- **Ad-hoc is the exception.** A single small edit or one lookup does not need a workflow — do it inline ([[00f-swarm-orchestration]]). But anything multi-step, multi-file, or multi-stage is workflow-shaped by default.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
### Validation and critique are SEPARATE swarms — independence is the signal
|
|
22
|
+
|
|
23
|
+
A workflow's trust comes from *who checks whom*. The cohort that PRODUCES, the cohort that CRITIQUES, and the cohort that VALIDATES must be **distinct and independent** — no stage grades its own output. This is the same independence that makes any check trustworthy ([[00b-self-verifiable-work]], self-verifiable work), lifted to the swarm.
|
|
24
|
+
|
|
25
|
+
- **Producer → separate critic swarm → separate validation/QA swarm**, each a distinct cohort with its own fresh context. The producer builds; a critic cohort that never wrote the code reads it to REFUTE ([[00f-swarm-orchestration]], the critic swarm); a validation/QA cohort that neither wrote nor reviewed it RUNS the real thing ([[00i-qa-swarm]]). Three roles, three independent contexts.
|
|
26
|
+
- **No self-grading.** A producer's own "done ✅" and a producer's own green tests are biased by construction — they pass on exactly the path the producer designed. The signal only becomes trustworthy when an agent with no stake in that "done" checks it. If the same cohort produces and validates, you have one opinion wearing two hats, not verification.
|
|
27
|
+
- **The workflow encodes the independence.** Because the stages and their cohorts are defined up front, "who verifies this, independently?" is answered by the pipeline's shape — not left to whether you happen to remember to double-check.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
### Adversarial verification — critique to refute, keep only what survives
|
|
32
|
+
|
|
33
|
+
The critique stage is not a rubber stamp; it is an attempt to BREAK the work. This is why the critic cohort must be independent — an adversary with no stake reads the artifact as a thing to disprove.
|
|
34
|
+
|
|
35
|
+
- **Critics try to refute.** Diverse lenses — correctness, completeness, does-it-run, edge cases, security — each prompted to find the gap, not to nod ([[00f-swarm-orchestration]]). "Looks good" with no specific finding is itself shallow work; the brief forbids it.
|
|
36
|
+
- **A finding counts only if it survives an independent pass.** Keep a defect (or a clean verdict) when a second, independent look confirms it — a claimed bug that evaporates under scrutiny, or a clean bill no adversary tried to break, is not signal. Survive-the-refutation is the bar for both directions: accept the work only when independent critique + validation could not break it.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
### Wire the workflow into the living docs and the deferred set
|
|
41
|
+
|
|
42
|
+
A workflow is not ephemeral — its structure and outputs persist, so it is reproducible next cycle.
|
|
43
|
+
|
|
44
|
+
- **Each cohort gets its living-document set** under `.autodev/swarm/<slug>/` ([[00g-swarm-living-documents]]): the producer, each critic, and the validator each carry their own bounded `AGENT.md` (+ SOUL/MEMORY/LESSONS/TODO), each under 16 KB. The workflow's stage definitions and the reusable playbook live here too, so the same pipeline re-runs sharper next time rather than being re-improvised.
|
|
45
|
+
- **Outputs feed the living docs.** Findings, decisions, and evidence roll into the project's durable MEMORY/LESSONS and TODO ([[00g-swarm-living-documents]]) so the next cycle starts from what this workflow learned.
|
|
46
|
+
- **Unresolved items go to the deferred set.** Anything the workflow surfaces but doesn't close — a punted edge case, a follow-up, a blocked fix — is recorded in the deferred set ([[00j-deferred-task-resolution]]) and swept before turn end, not left as a stale note. A workflow that produces loose ends with nowhere to land is leaking work.
|
|
47
|
+
- **Report honestly at turn end.** Carry the workflow's verdict into the retrospective ([[00d-turn-end-retrospective]]): what SURVIVED independent critique and validation versus what is merely producer-claimed — distinct statuses, never collapsed.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
### Before / after — ad-hoc spawns vs an internal workflow
|
|
52
|
+
|
|
53
|
+
> **Ad-hoc (unreproducible, self-graded):**
|
|
54
|
+
> Task: *"Harden the auth module and prove it's solid."* Orchestrator spawns three agents — "one of you patch it, one of you look it over, one of you check." The patcher also writes the review checklist; the "checker" re-runs the patcher's own tests, which pass. Orchestrator reads the three returns, sees green, ships. Nothing was independent, nothing exercised the real path, and re-running tomorrow would spawn a different trio and reach a different verdict.
|
|
55
|
+
|
|
56
|
+
> **Workflow (deterministic, independent, loop-until-clean):**
|
|
57
|
+
> *Whole-task done = patch produced, an independent critic cohort could not refute it, an independent validator RAN the real auth flow green — [[00e-long-horizon-planning]].*
|
|
58
|
+
> 1. **Produce** — one producer patches the module; brief + contract in `.autodev/swarm/auth-producer/AGENT.md`.
|
|
59
|
+
> 2. **Critique (separate cohort, fan-out)** — three independent critics, diverse lenses (correctness / edge / security), each prompted to REFUTE, each `file:line — what's wrong — severity` or "tried to break X via Y, could not." Barrier: synthesize all three.
|
|
60
|
+
> 3. **Loop** — defects → back to produce → re-critique, until critics pass and each surviving finding held under a second look.
|
|
61
|
+
> 4. **Validate (separate cohort)** — an independent QA worker RUNS the real auth flow end-to-end ([[00i-qa-swarm]]), returns per-scenario PASS/FAIL + evidence.
|
|
62
|
+
> 5. **Synthesize** — outputs → MEMORY/LESSONS, loose ends → deferred set ([[00j-deferred-task-resolution]]), honest verdict ([[00d-turn-end-retrospective]]).
|
|
63
|
+
> Same task, re-run next month: same stages, same gates, same coverage — a process, not a one-off.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
### Why this compounds — no judge, no labels
|
|
68
|
+
|
|
69
|
+
There is no referee checking that you used a workflow. The discipline holds anyway, for one reason: **a task shaped as a deterministic pipeline — explicit stages, independent producer/critic/validator cohorts, loop-until-clean — cannot ship on a self-graded "looks done," because the accept is gated on independent critique and validation that an ad-hoc spawn simply never runs.** The loose bag of one-off spawns feels faster and produces an answer you can't reproduce and didn't independently check; the workflow produces a result that survived refutation and a real run, and leaves a reusable pipeline behind. Encoding orchestration as a workflow with independent verification is the whole mechanism — there is nothing to train.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
**Rule of thumb:** before you spawn, ask three questions — *"Is this multi-stage or fan-out — i.e. a workflow — or genuinely a one-off inline task? What are the explicit stages (produce/critique/validate), where are the barriers, and what objective gate makes it loop-until-clean? Do the critique and validation run in SEPARATE independent cohorts from the producer, each trying to refute — and does my verdict report only what survived?"* If you're about to hand-spawn agents in sequence and judge them by eye, stop: that sequence is a workflow — encode it, make the checks independent, and re-run it deterministically.
|
package/out/profileBuilder.js
CHANGED
|
@@ -120,6 +120,14 @@ exports.PROFILE_SECTIONS = [
|
|
|
120
120
|
'QA gets its own living doc .autodev/swarm/<qa-slug>/AGENT.md ([[00g-swarm-living-documents]]): role=independent tester of X, scope, real handles (exact run/curl commands, endpoint, acceptance), a real test plan (happy+edges+failure modes+regression), and an output contract forcing per-scenario PASS/FAIL + repro + actual-vs-expected + evidence (command output, HTTP status, screenshot) — forbid the "tested, looks fine" rubber stamp. GATE the cycle on QA: FAIL → back to producers → re-critique → re-QA; accept ONLY when QA passes on the real product. Carry into the honest verdict ([[00d-turn-end-retrospective]]) — "passed QA on the real product" ≠ "built-and-reviewed". Proportional: reserve for changes that alter real behaviour (user-facing/endpoint/integration/data), not a trivial green-gate refactor.',
|
|
121
121
|
],
|
|
122
122
|
},
|
|
123
|
+
{
|
|
124
|
+
id: '00k-internal-workflows', label: 'Internal Workflows', file: '00k-internal-workflows.md',
|
|
125
|
+
keyRules: [
|
|
126
|
+
'Prefer a DETERMINISTIC internal workflow over ad-hoc one-off spawns for anything multi-stage or fan-out: explicit stages (produce → validate → critique → synthesize), fan-out one worker per unit for breadth, barriers only where a stage genuinely needs all prior results, loop-until-clean. If you\'re about to hand-spawn agents in sequence and eyeball the returns, that sequence IS a workflow — encode it. Determinism + reproducibility + coverage are the point; ad-hoc spawning is the exception ([[00f-swarm-orchestration]], [[00e-long-horizon-planning]]).',
|
|
127
|
+
'Validation and critique run as SEPARATE cohorts INDEPENDENT of the producer — no self-grading. Producer builds → a separate critic swarm reads it to REFUTE (diverse lenses) → a separate validation/QA swarm RUNS the real thing; three distinct roles, three fresh contexts. Independence is what makes the signal trustworthy ([[00b-self-verifiable-work]], [[00f-swarm-orchestration]] critic, [[00i-qa-swarm]]). A producer\'s own "done ✅" and green tests pass by construction and are not verification.',
|
|
128
|
+
'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]]).',
|
|
129
|
+
],
|
|
130
|
+
},
|
|
123
131
|
{
|
|
124
132
|
id: '00h-shared-skills', label: 'Shared Skills', file: '00h-shared-skills.md',
|
|
125
133
|
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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"}
|