wendkeep 0.72.1 → 0.73.0

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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,36 @@ All notable changes to **wendkeep** are documented here. Format based on
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this project follows
5
5
  [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.73.0] — 2026-08-20
8
+
9
+ ### Added
10
+
11
+ - **Work kind independente do perfil.** `inspection`, `maintenance`, `implementation`, `delivery`
12
+ e `recovery` passam a ser classificados separadamente de perfil, impacto de contrato e risco
13
+ operacional.
14
+ - **Delivery com autorização e receipt.** `delivery start/status/finish/abandon` captura repositório,
15
+ branch/worktree, SHA, change de origem e capabilities; comprova target, CI, versão, tag,
16
+ integridade npm e GitHub Release quando aplicável, sem criar change, spec ou ADR.
17
+ - **GUIDE realmente compacta.** `change new --guide` gera somente objetivo, critérios de aceite,
18
+ áreas afetadas, testes e resultado. Sem impacto de contrato, seu archive não fabrica design,
19
+ delta de spec ou ADR.
20
+
21
+ ### Changed
22
+
23
+ - **Doctor proporcional.** O diagnóstico separa erro estrutural, atenção de workflow, dívida
24
+ reparável e ambiguidade semântica. `--scope core|runtime` isola as superfícies e `--strict`
25
+ promove pendências a falha para CI/release.
26
+ - **Sync valida somente o Keep Core.** Trabalho em andamento no Wend Runtime deixa de transformar
27
+ uma instalação saudável em falha; a conclusão informa separadamente a saúde do Core.
28
+ - **Conflitos semânticos degradam por chave.** Candidates ativos aguardam curadoria sem bloquear o
29
+ bundle inteiro; corrupção de ledger, boundary, identidade ou projeção continua falhando fechada.
30
+
31
+ ### Fixed
32
+
33
+ - **Proveniência preserva lifecycle scripts.** A comparação de integridade executa `npm pack`
34
+ normalmente em uma cópia isolada, mantendo `prepack`/`postpack` e impedindo que a verificação
35
+ altere o working tree de origem.
36
+
7
37
  ## [0.72.1] — 2026-08-20
8
38
 
9
39
  ### Added
package/README.en.md CHANGED
@@ -127,7 +127,7 @@ npx wendkeep init
127
127
  6. Install a **color system** into the vault's `.obsidian/`: a CSS snippet that accents notes by type (session/decision/bug/learning, via the `cssclasses` the hooks emit) plus graph color groups by folder. Non-destructive merge into `appearance.json`/`graph.json`; skip with `--no-colors`. Re-apply it any time on an existing vault with `wendkeep theme sync` — Obsidian owns `graph.json` and can drop the color groups (a grey graph); the re-sync restores them without a full re-`init`.
128
128
  7. Seed **Shared Project Memory v2** without overwriting existing artifacts: `.brain/CORE.md` (hand-curated canonical truth), `.brain/SHARED_MEMORY.md` (generated operational state), `.brain/MEMORY_EVENTS.jsonl` (append-only ledger), `.brain/MEMORY_CANDIDATES.jsonl` (curation queue), and `.brain/COMPACTION_PROTOCOL.md`. The durable outbox appears under `.brain/memory-outbox/` when events exist; `DIGEST.md` and `index.jsonl` remain deep recall. Everything stays local to the vault.
129
129
  8. Seed the **definitions + skills layer**: `.brain/agents/` + `.brain/skills/` (versioned source of truth), including the native process skills `wk-workflow` / `wk-tdd` / `wk-debugging` / `wk-brainstorming` / `wk-planning` / `wk-verify` (some ship templates — e.g. `wk-verify`'s `verdict-template.json` + reviewer prompt). `init` runs `wendkeep sync-defs` for you, delivering the skills to `.claude/skills/` and `.agents/skills/`, and the agent definitions (`.brain/agents/*.toml`) to `.codex/agents/`, plus a managed section in `AGENTS.md` that indexes the skills for Codex; `sync-defs --check` detects stale copies (re-run `sync-defs` after editing `.brain`).
130
- 9. Seed the **change/spec lifecycle**: the `07-Specs/` + `08-Mudanças/` folders and a native `wendkeep.sensors.json` — critical memory validation/health sensors plus one for each of `typecheck` / `test` / `lint` / `build` found in your `package.json`. `memory-health` blocks delivery on corruption, projection divergence, or an active conflict; pending outbox events and ordinary candidates are warnings. Add sensors with `wendkeep sensors add`. Drives `wendkeep change` / `wendkeep verify` — see **Change lifecycle** below.
130
+ 9. Seed the **change/spec lifecycle**: the `07-Specs/` + `08-Mudanças/` folders and a native `wendkeep.sensors.json` — critical memory validation/health sensors plus one for each of `typecheck` / `test` / `lint` / `build` found in your `package.json`. `memory-health` blocks delivery on corruption or projection divergence; semantic conflicts degrade only the affected keys and await curation. Pending outbox events and ordinary candidates are warnings. Add sensors with `wendkeep sensors add`. Drives `wendkeep change` / `wendkeep verify` — see **Change lifecycle** below.
131
131
 
132
132
  ```bash
133
133
  npx wendkeep init --vault "~/vaults/work" --project . --yes # non-interactive (no companions unless you ask)
@@ -257,7 +257,7 @@ deliberate opt-in and runs that command's own validations:
257
257
  |---|---|---|
258
258
  | `OFF` | LLM-native harness | No Wend router, skill gate, or gates; explicit selection only. |
259
259
  | `FLOW` | E → V | Microcontract with Git baseline, allowlist, sensor, and receipt, without a change. |
260
- | `GUIDE` | P → E → V | Compact guided change. |
260
+ | `GUIDE` | P → E → V | Compact change; no automatic design/spec/ADR when contract impact is none. |
261
261
  | `GOVERN` | P → R → E → V | Current a2 loop and compatible fallback. |
262
262
  | `ASSURE` | P → R → E → V → C | Governance with confirmation and handoff. |
263
263
 
@@ -317,13 +317,25 @@ positive causal turn and sequence that agree in the registry.
317
317
  “Small” describes size, not risk. The harness uses this matrix to choose and record a temporary
318
318
  route; semantic inference remains in the agent, not Wend Runtime:
319
319
 
320
- | Situation | Suggested profile |
321
- |---|---|
322
- | Question, inspection, or diagnosis with no mutation | No profile transition |
323
- | Local, reversible fix with an allowlist and no contract/spec change | `FLOW` (`E → V`) |
324
- | Small behavior change that needs a change but not formal Wend Runtime review | `GUIDE` (`P → E → V`) |
325
- | Normal, ambiguous, public-contract, security, dependency, CI/release, or policy change | `GOVERN` (`P R → E → V`) |
326
- | Work requiring explicit confirmation and handoff | `ASSURE` (`P R → E → V → C`) |
320
+ | Situation | Work kind | Suggested profile | New change |
321
+ |---|---|---|---|
322
+ | Question, inspection, or diagnosis with no mutation | `inspection` | No transition | No |
323
+ | Local, reversible fix with an allowlist and no contract/spec change | `maintenance` | `FLOW` (`E → V`) | No |
324
+ | Small behavior change without formal review | `implementation` | `GUIDE` (`P → E → V`) | Yes, compact |
325
+ | Public contract, security, schema, dependency, CI/release workflow, or policy | `implementation` | `GOVERN`/`ASSURE` | Yes |
326
+ | Merge, push, tag, or publication of approved behavior | `delivery` | `ASSURE` | No |
327
+ | Operational recovery without code/config correction | `recovery` | `FLOW`/`ASSURE` | No |
328
+
329
+ Work kind, profile, contract impact, and operational risk are independent dimensions. A
330
+ `delivery` records authorized capabilities and an append-only receipt without creating a change,
331
+ spec, or ADR. If delivery requires a code/config edit, it pauses and work returns to
332
+ `implementation`:
333
+
334
+ ```bash
335
+ npx wendkeep delivery start release-0-73-0 --allow git:merge --allow git:push --allow publish --source-change <slug> --source-commit <sha>
336
+ npx wendkeep delivery status release-0-73-0
337
+ npx wendkeep delivery finish release-0-73-0 --target main --ci-url <url> --version 0.73.0 --npm-integrity <sha512> --release-url <url>
338
+ ```
327
339
 
328
340
  If the harness does not record a lease, a small fix remains under the configured profile —
329
341
  `GOVERN` by default. `OFF` does not mean “simple task”: it is a persistent human choice that hands
@@ -344,6 +356,11 @@ and owner+lease locks validate physical topology. Concurrent promotion elects on
344
356
  retry through `--change-slug`. Read the complete
345
357
  [Operating profiles guide](https://github.com/rogersialves/wendkeep/blob/main/docs/en/commands/operating-profiles.md).
346
358
 
359
+ `wendkeep doctor` separates structural errors, workflow attention, repairable debt, and semantic
360
+ ambiguity. Use `--scope core` for Keep Core health, `--scope runtime` for governance, and
361
+ `--strict` in CI/release; `wendkeep sync` validates Core only so work in progress does not become
362
+ an installation failure.
363
+
347
364
  ## Shared Project Memory v2
348
365
 
349
366
  Hot memory now separates human authorship, operational state, and evidence:
@@ -487,10 +504,10 @@ Beyond capturing sessions, wendkeep is a **harness**: a native, zero‑dependenc
487
504
  explore → propose → apply (TDD) → verify → archive
488
505
  ```
489
506
 
490
- - **Propose** — `wendkeep change new <slug>` scaffolds `08-Mudanças/<slug>/` (`proposta.md`, `design.md`, `tarefas.md`; `--simple` skips the design). It becomes the global *current* change. When the change declares `spec_impact: required`, you author the delta yourself at `specs/<capability>/spec.md` — there is no placeholder to delete. Multiple changes may remain open: `change list`/`status` and the hooks show every pending one, while commands without `--change` act on the current one alone. `change use <slug>` changes focus and `change continue <archived> <new>` creates an auditable continuation.
507
+ - **Propose** — `wendkeep change new <slug>` scaffolds `08-Mudanças/<slug>/` (`proposta.md`, `design.md`, `tarefas.md`; `--simple` skips the design). `--guide` creates the compact GUIDE contract and omits automatic design/spec/ADR when `contract_impact:none`. It becomes the global *current* change. When the change declares `spec_impact: required`, you author the delta yourself at `specs/<capability>/spec.md` — there is no placeholder to delete. Multiple changes may remain open: `change list`/`status` and the hooks show every pending one, while commands without `--change` act on the current one alone. `change use <slug>` changes focus and `change continue <archived> <new>` creates an auditable continuation.
491
508
  - **Apply** — implement each `tarefas.md` task. Mark machine proof with one or more `[sensor:<id>]` tags on the same task: every distinct ID enters the gate once, in declaration order. Also mark satisfied requirements with one or more `[req:<ID>]` tags.
492
509
  - **Verify** — `wendkeep verify` runs the sensors your tasks declared (from `wendkeep.sensors.json` at the project root) and writes `evidencia.json`. A red `critical` fails the gate; a red `warning` is advisory. Failures retain only a bounded, sanitized diagnostic; green output is not persisted. `verify --deep` builds a self-contained package with complete effective requirements (living contract + this change's delta), so the independent verifier never needs to reconstruct unarchived requirements from `07-Specs`. Every change needs a `verdict.json` to archive; `verify --deep` writes a trivial one automatically when the change declares no `[req:]`.
493
- - **Archive** — `wendkeep change archive <slug>` **gates** on the evidence (blocks unless every declared critical sensor is green), promotes each capability's spec delta (`ADDED`/`MODIFIED`/`REMOVED`) into the living `07-Specs/<capability>.md`, moves the change to `_arquivo/`, and mints an ADR in `04-Decisões/`.
510
+ - **Archive** — `wendkeep change archive <slug>` **gates** on the evidence (blocks unless every declared critical sensor is green), promotes each applicable spec delta (`ADDED`/`MODIFIED`/`REMOVED`) into the living `07-Specs/<capability>.md` and moves the change to `_arquivo/`. GOVERN/ASSURE mint an ADR in `04-Decisões/`; compact GUIDE with no contract impact does not mint one automatically.
494
511
 
495
512
  > The gate blocks unless the scaffold is filled, no task is open, evidence is fresh, and every declared requirement is covered. **`--force` waives exactly one of those — the open-task check — and is the human's call, never the agent's.** An unfilled scaffold, a red critical sensor, stale evidence, an orphan requirement or a missing verdict block regardless.
496
513
 
package/README.md CHANGED
@@ -127,7 +127,7 @@ npx wendkeep init
127
127
  6. Install a **color system** into the vault's `.obsidian/`: a CSS snippet that accents notes by type (session/decision/bug/learning, via the `cssclasses` the hooks emit) plus graph color groups by folder. Non-destructive merge into `appearance.json`/`graph.json`; skip with `--no-colors`. Re-apply it any time on an existing vault with `wendkeep theme sync` — Obsidian owns `graph.json` and can drop the color groups (a grey graph); the re-sync restores them without a full re-`init`.
128
128
  7. Seed **Shared Project Memory v2** without overwriting existing artifacts: `.brain/CORE.md` (hand-curated canonical truth), `.brain/SHARED_MEMORY.md` (generated operational state), `.brain/MEMORY_EVENTS.jsonl` (append-only ledger), `.brain/MEMORY_CANDIDATES.jsonl` (curation queue), and `.brain/COMPACTION_PROTOCOL.md`. The durable outbox appears under `.brain/memory-outbox/` when events exist; `DIGEST.md` and `index.jsonl` remain deep recall. Everything stays local to the vault.
129
129
  8. Seed the **definitions + skills layer**: `.brain/agents/` + `.brain/skills/` (versioned source of truth), including the native process skills `wk-workflow` / `wk-tdd` / `wk-debugging` / `wk-brainstorming` / `wk-planning` / `wk-verify` (some ship templates — e.g. `wk-verify`'s `verdict-template.json` + reviewer prompt). `init` runs `wendkeep sync-defs` for you, delivering the skills to `.claude/skills/` and `.agents/skills/`, and the agent definitions (`.brain/agents/*.toml`) to `.codex/agents/`, plus a managed section in `AGENTS.md` that indexes the skills for Codex; `sync-defs --check` detects stale copies (re-run `sync-defs` after editing `.brain`).
130
- 9. Seed the **change/spec lifecycle**: the `07-Specs/` + `08-Mudanças/` folders and a native `wendkeep.sensors.json` — critical memory validation/health sensors plus one for each of `typecheck` / `test` / `lint` / `build` found in your `package.json`. `memory-health` blocks delivery on corruption, projection divergence, or an active conflict; pending outbox events and ordinary candidates are warnings. Add sensors with `wendkeep sensors add`. Drives `wendkeep change` / `wendkeep verify` — see **Change lifecycle** below.
130
+ 9. Seed the **change/spec lifecycle**: the `07-Specs/` + `08-Mudanças/` folders and a native `wendkeep.sensors.json` — critical memory validation/health sensors plus one for each of `typecheck` / `test` / `lint` / `build` found in your `package.json`. `memory-health` blocks delivery on corruption or projection divergence; semantic conflicts degrade only the affected keys and await curation. Pending outbox events and ordinary candidates are warnings. Add sensors with `wendkeep sensors add`. Drives `wendkeep change` / `wendkeep verify` — see **Change lifecycle** below.
131
131
 
132
132
  ```bash
133
133
  npx wendkeep init --vault "~/vaults/work" --project . --yes # non-interactive (no companions unless you ask)
@@ -257,7 +257,7 @@ deliberate opt-in and runs that command's own validations:
257
257
  |---|---|---|
258
258
  | `OFF` | LLM-native harness | No Wend router, skill gate, or gates; explicit selection only. |
259
259
  | `FLOW` | E → V | Microcontract with Git baseline, allowlist, sensor, and receipt, without a change. |
260
- | `GUIDE` | P → E → V | Compact guided change. |
260
+ | `GUIDE` | P → E → V | Compact change; no automatic design/spec/ADR when contract impact is none. |
261
261
  | `GOVERN` | P → R → E → V | Current a2 loop and compatible fallback. |
262
262
  | `ASSURE` | P → R → E → V → C | Governance with confirmation and handoff. |
263
263
 
@@ -317,13 +317,25 @@ positive causal turn and sequence that agree in the registry.
317
317
  “Small” describes size, not risk. The harness uses this matrix to choose and record a temporary
318
318
  route; semantic inference remains in the agent, not Wend Runtime:
319
319
 
320
- | Situation | Suggested profile |
321
- |---|---|
322
- | Question, inspection, or diagnosis with no mutation | No profile transition |
323
- | Local, reversible fix with an allowlist and no contract/spec change | `FLOW` (`E → V`) |
324
- | Small behavior change that needs a change but not formal Wend Runtime review | `GUIDE` (`P → E → V`) |
325
- | Normal, ambiguous, public-contract, security, dependency, CI/release, or policy change | `GOVERN` (`P R → E → V`) |
326
- | Work requiring explicit confirmation and handoff | `ASSURE` (`P R → E → V → C`) |
320
+ | Situation | Work kind | Suggested profile | New change |
321
+ |---|---|---|---|
322
+ | Question, inspection, or diagnosis with no mutation | `inspection` | No transition | No |
323
+ | Local, reversible fix with an allowlist and no contract/spec change | `maintenance` | `FLOW` (`E → V`) | No |
324
+ | Small behavior change without formal review | `implementation` | `GUIDE` (`P → E → V`) | Yes, compact |
325
+ | Public contract, security, schema, dependency, CI/release workflow, or policy | `implementation` | `GOVERN`/`ASSURE` | Yes |
326
+ | Merge, push, tag, or publication of approved behavior | `delivery` | `ASSURE` | No |
327
+ | Operational recovery without code/config correction | `recovery` | `FLOW`/`ASSURE` | No |
328
+
329
+ Work kind, profile, contract impact, and operational risk are independent dimensions. A
330
+ `delivery` records authorized capabilities and an append-only receipt without creating a change,
331
+ spec, or ADR. If delivery requires a code/config edit, it pauses and work returns to
332
+ `implementation`:
333
+
334
+ ```bash
335
+ npx wendkeep delivery start release-0-73-0 --allow git:merge --allow git:push --allow publish --source-change <slug> --source-commit <sha>
336
+ npx wendkeep delivery status release-0-73-0
337
+ npx wendkeep delivery finish release-0-73-0 --target main --ci-url <url> --version 0.73.0 --npm-integrity <sha512> --release-url <url>
338
+ ```
327
339
 
328
340
  If the harness does not record a lease, a small fix remains under the configured profile —
329
341
  `GOVERN` by default. `OFF` does not mean “simple task”: it is a persistent human choice that hands
@@ -344,6 +356,11 @@ and owner+lease locks validate physical topology. Concurrent promotion elects on
344
356
  retry through `--change-slug`. Read the complete
345
357
  [Operating profiles guide](https://github.com/rogersialves/wendkeep/blob/main/docs/en/commands/operating-profiles.md).
346
358
 
359
+ `wendkeep doctor` separates structural errors, workflow attention, repairable debt, and semantic
360
+ ambiguity. Use `--scope core` for Keep Core health, `--scope runtime` for governance, and
361
+ `--strict` in CI/release; `wendkeep sync` validates Core only so work in progress does not become
362
+ an installation failure.
363
+
347
364
  ## Shared Project Memory v2
348
365
 
349
366
  Hot memory now separates human authorship, operational state, and evidence:
@@ -487,10 +504,10 @@ Beyond capturing sessions, wendkeep is a **harness**: a native, zero‑dependenc
487
504
  explore → propose → apply (TDD) → verify → archive
488
505
  ```
489
506
 
490
- - **Propose** — `wendkeep change new <slug>` scaffolds `08-Mudanças/<slug>/` (`proposta.md`, `design.md`, `tarefas.md`; `--simple` skips the design). It becomes the global *current* change. When the change declares `spec_impact: required`, you author the delta yourself at `specs/<capability>/spec.md` — there is no placeholder to delete. Multiple changes may remain open: `change list`/`status` and the hooks show every pending one, while commands without `--change` act on the current one alone. `change use <slug>` changes focus and `change continue <archived> <new>` creates an auditable continuation.
507
+ - **Propose** — `wendkeep change new <slug>` scaffolds `08-Mudanças/<slug>/` (`proposta.md`, `design.md`, `tarefas.md`; `--simple` skips the design). `--guide` creates the compact GUIDE contract and omits automatic design/spec/ADR when `contract_impact:none`. It becomes the global *current* change. When the change declares `spec_impact: required`, you author the delta yourself at `specs/<capability>/spec.md` — there is no placeholder to delete. Multiple changes may remain open: `change list`/`status` and the hooks show every pending one, while commands without `--change` act on the current one alone. `change use <slug>` changes focus and `change continue <archived> <new>` creates an auditable continuation.
491
508
  - **Apply** — implement each `tarefas.md` task. Mark machine proof with one or more `[sensor:<id>]` tags on the same task: every distinct ID enters the gate once, in declaration order. Also mark satisfied requirements with one or more `[req:<ID>]` tags.
492
509
  - **Verify** — `wendkeep verify` runs the sensors your tasks declared (from `wendkeep.sensors.json` at the project root) and writes `evidencia.json`. A red `critical` fails the gate; a red `warning` is advisory. Failures retain only a bounded, sanitized diagnostic; green output is not persisted. `verify --deep` builds a self-contained package with complete effective requirements (living contract + this change's delta), so the independent verifier never needs to reconstruct unarchived requirements from `07-Specs`. Every change needs a `verdict.json` to archive; `verify --deep` writes a trivial one automatically when the change declares no `[req:]`.
493
- - **Archive** — `wendkeep change archive <slug>` **gates** on the evidence (blocks unless every declared critical sensor is green), promotes each capability's spec delta (`ADDED`/`MODIFIED`/`REMOVED`) into the living `07-Specs/<capability>.md`, moves the change to `_arquivo/`, and mints an ADR in `04-Decisões/`.
510
+ - **Archive** — `wendkeep change archive <slug>` **gates** on the evidence (blocks unless every declared critical sensor is green), promotes each applicable spec delta (`ADDED`/`MODIFIED`/`REMOVED`) into the living `07-Specs/<capability>.md` and moves the change to `_arquivo/`. GOVERN/ASSURE mint an ADR in `04-Decisões/`; compact GUIDE with no contract impact does not mint one automatically.
494
511
 
495
512
  > The gate blocks unless the scaffold is filled, no task is open, evidence is fresh, and every declared requirement is covered. **`--force` waives exactly one of those — the open-task check — and is the human's call, never the agent's.** An unfilled scaffold, a red critical sensor, stale evidence, an orphan requirement or a missing verdict block regardless.
496
513
 
@@ -25,7 +25,7 @@ Initialize the project, keep the vault healthy, and provide a valid `wendkeep.se
25
25
  ## Syntax
26
26
 
27
27
  ```bash
28
- npx wendkeep change new <slug>
28
+ npx wendkeep change new <slug> [--simple|--guide]
29
29
  npx wendkeep change status [slug]
30
30
  npx wendkeep spec effective --change <slug>
31
31
  npx wendkeep sensors list
@@ -35,8 +35,10 @@ npx wendkeep change archive <slug>
35
35
 
36
36
  ## Options and exit codes
37
37
 
38
- - `wendkeep change new <slug> [--simple]` creates a change; `--simple` only skips design, is not
39
- `FLOW`, and preserves the legacy lifecycle/ADR contract.
38
+ - `wendkeep change new <slug> [--simple|--guide]` creates a change. `--simple` only skips design,
39
+ is not `FLOW`, and preserves the legacy lifecycle/ADR contract. `--guide` creates the compact
40
+ GUIDE contract (objective, acceptance, areas, tests, and result), with no automatic
41
+ design/spec/ADR when `contract_impact:none`.
40
42
  - `change use`, `list`, `show`, `status`, `diff`, `done`, and `undone` inspect or update work
41
43
  without archiving it.
42
44
  - `change continue <archived> <new>` starts follow-up work without inheriting stale proof.
@@ -52,6 +54,7 @@ npx wendkeep change archive <slug>
52
54
 
53
55
  ```bash
54
56
  npx wendkeep change new tenant-login
57
+ npx wendkeep change new internal-adjustment --guide
55
58
  npx wendkeep spec effective --change tenant-login
56
59
  npx wendkeep change done 1.1 --change tenant-login
57
60
  npx wendkeep verify --change tenant-login
@@ -67,8 +70,10 @@ npx wendkeep sensors add api-contracts "npm run test:contracts" --severity criti
67
70
 
68
71
  ## Expected result
69
72
 
70
- An archived change promotes its delta into the living spec, preserves proposal/design/tasks/proof,
71
- and mints an ADR. Archive passes only with closed tasks, green required sensors, and a fresh verdict.
73
+ An archived change promotes its delta into the living spec when applicable and preserves proposal,
74
+ tasks/proof, and design when present. GOVERN/ASSURE mint an ADR; compact GUIDE with no contract
75
+ impact does not mint one automatically. Archive passes only with closed tasks, green required
76
+ sensors, and a fresh verdict.
72
77
 
73
78
  ## Tool-scope fence
74
79
 
@@ -23,7 +23,7 @@ Run from the project root or provide `--project` and `--vault` explicitly.
23
23
  ## Syntax
24
24
 
25
25
  ```bash
26
- npx --no-install wendkeep doctor [--vault <vault>]
26
+ npx --no-install wendkeep doctor [--vault <vault>] [--scope all|core|runtime] [--strict]
27
27
  npx --no-install wendkeep memory curate --vault <vault>
28
28
  npx --no-install wendkeep sync-defs [--check|--reseed] --vault <vault> --project <root>
29
29
  npx --no-install wendkeep theme sync --vault <vault>
@@ -33,7 +33,10 @@ npx --no-install wendkeep --help
33
33
 
34
34
  ## Options and exit codes
35
35
 
36
- - `doctor` is read-only; exit `0` accepts recoverable warnings, while non-zero means failure.
36
+ - `doctor` is read-only. By default only structural errors produce a non-zero exit; `--strict`
37
+ also fails on workflow attention, repairable debt, semantic degradation, and warnings.
38
+ - `--scope core` checks the installation, binding, ledger, and Keep Core only. `--scope runtime`
39
+ checks changes, sensors, and governance only. The default `all` reports both surfaces.
37
40
  - `doctor` uses human-readable output with `[integrity]` and `[memory]` sections, friendly
38
41
  categories, and a copyable next action. The `vault-health.mjs` hook remains the JSON surface for
39
42
  automation; neither surface applies curation.
@@ -44,8 +47,9 @@ npx --no-install wendkeep --help
44
47
  IDs, and checkpoint) with outbox, ledger, and SHARED; they do not infer health from revision alone.
45
48
  - `revision: 0` after a valid migration, with no v2 attempt, is healthy. A `degraded` attempt whose
46
49
  events remain durable in the outbox/ledger is a recoverable warning.
47
- - An ambiguous attempt, a lost event ID (absent from ledger and outbox), `projected` state found
48
- only in the outbox, or a mismatched checkpoint is blocking.
50
+ - An ambiguous publication attempt, a lost event ID (absent from ledger and outbox), `projected`
51
+ state found only in the outbox, or a mismatched checkpoint is a structural block. Active
52
+ semantic candidates degrade memory by key and remain available for explicit curation.
49
53
  - For session observability, `legacy`, `degraded`, `stale`, and `manifest-unproven` require
50
54
  reconciliation or more evidence. Only fresh `none` and fresh `complete` are healthy: frontier,
51
55
  checkpoint, root stat, and source manifest must agree.
@@ -63,6 +67,8 @@ Post-update checklist:
63
67
  npx --no-install wendkeep --version
64
68
  npx --no-install wendkeep sync-defs --check --vault .MyApp-vault --project .
65
69
  npx --no-install wendkeep doctor --vault .MyApp-vault
70
+ npx --no-install wendkeep doctor --scope core --vault .MyApp-vault
71
+ npx --no-install wendkeep doctor --scope runtime --strict --vault .MyApp-vault
66
72
  npx --no-install wendkeep memory status --gate --vault .MyApp-vault
67
73
  npx --no-install wendkeep memory curate --vault .MyApp-vault
68
74
  npx --no-install wendkeep memory candidates --active --vault .MyApp-vault
@@ -72,10 +78,11 @@ npx --no-install wendkeep cost rebuild --session <id> --json --vault .MyApp-vaul
72
78
 
73
79
  ## Expected result
74
80
 
75
- Doctor names sessions, registry, links, notes, prices, derived sections, and memory as healthy or
81
+ Doctor separates structural errors, workflow attention, repairable debt, and semantic ambiguity.
82
+ It names sessions, registry, links, notes, prices, derived sections, and memory as healthy or
76
83
  provides a specific diagnostic/repair command. For memory, it distinguishes a valid initial empty
77
- state, recoverable pending replay, and lost/divergent lifecycle state. It never repairs implicitly
78
- or echoes private projector-error content into its report. For session observability, it separates
84
+ state, recoverable pending replay, key-scoped conflicts, and lost/divergent lifecycle state. It
85
+ never repairs implicitly or echoes private projector-error content into its report. For session observability, it separates
79
86
  fresh `none`/`complete` from legacy, degraded, stale, or manifest-unproven state and gives a
80
87
  dry-run path before any write.
81
88
 
@@ -87,10 +94,11 @@ dry-run path before any write.
87
94
  `npx --no-install wendkeep memory migrate --apply --vault <vault>` with the resolved Vault, but
88
95
  migration remains opt-in and must be planned separately.
89
96
  - `degraded` plus an intact outbox: warning; preserve the outbox and allow idempotent replay.
90
- - `ambiguous`, lost publication, or a mismatched checkpoint: blocking; preserve registry, ledger,
97
+ - Ambiguous publication, lost publication, or a mismatched checkpoint: blocking; preserve registry, ledger,
91
98
  outbox, and SHARED so `last_memory_attempt` can be correlated before repair.
92
99
  - Corrupt bundle: preserve evidence and run `memory status --gate` before `memory repair`.
93
- - An active semantic conflict requires a human decision: `memory repair` does not choose a winner.
100
+ - An active semantic conflict degrades only the affected memory key and requires a human decision:
101
+ `memory repair` does not choose a winner.
94
102
  Start with the guided menu `memory curate --vault <vault>`. For advanced inspection or a
95
103
  non-interactive terminal, list safe IDs with `memory candidates --active --vault <vault>`, review
96
104
  the evidence, and then use
@@ -1,4 +1,4 @@
1
- # Operating profiles and FLOW
1
+ # Operating profiles, work kind, FLOW, and delivery
2
2
 
3
3
  **English** · [Português](../../pt-BR/commands/operating-profiles.md)
4
4
 
@@ -17,6 +17,8 @@ opt-in and runs that command's own validations and gates.
17
17
  Use `profile use` for a persistent human selection and `profile route` for the harness to record
18
18
  the temporary route for the current implementation. Use `FLOW` for local, reversible
19
19
  `spec_impact:none` maintenance that fits an Execute → Validate microcontract without a change.
20
+ Use `delivery` for merge, push, tag, and publication of already-approved behavior: operational
21
+ risk needs authorization and a receipt, not a new change or spec.
20
22
 
21
23
  ## When not to use
22
24
 
@@ -55,6 +57,10 @@ npx wendkeep flow status [<id>]
55
57
  npx wendkeep flow show <id> [--session <id>]
56
58
  npx wendkeep flow finish <id> [--session <id>]
57
59
  npx wendkeep flow promote <id> [--change-slug <slug>] [--session <id>]
60
+ npx wendkeep delivery start [id] --allow <capability> [--source-change <slug>] [--source-commit <sha>]
61
+ npx wendkeep delivery status [id]
62
+ npx wendkeep delivery finish [id] [--target <ref>] [--ci-url <url>] [--version <x.y.z>] [--npm-integrity <sha512>] [--release-url <url>]
63
+ npx wendkeep delivery abandon [id] --reason <text>
58
64
  ```
59
65
 
60
66
  Every FLOW subcommand also accepts `--project <path>`, `--vault <path>`, and `--json`. When
@@ -84,7 +90,7 @@ Harness. The workspaces remain private and are not published as independent npm
84
90
  |---|---|---|
85
91
  | `OFF` | LLM-native harness | Automatic governance off; Keep Core and explicit commands available. |
86
92
  | `FLOW` | E → V | Microcontract with Git baseline, allowlist, sensors, and receipt, without a change. |
87
- | `GUIDE` | P → E → V | Compact change; policy recognized for compatible evolution. |
93
+ | `GUIDE` | P → E → V | `change new --guide`; objective, acceptance, areas, tests, and result; no automatic design/spec/ADR for `contract_impact:none`. |
88
94
  | `GOVERN` | P → R → E → V | Current a2 loop and conservative fallback. |
89
95
  | `ASSURE` | P → R → E → V → C | Governance plus confirmation and handoff. |
90
96
 
@@ -164,6 +170,14 @@ ownership to the native LLM harness.
164
170
  loser remains active and can retry with `--change-slug`. Retries idempotently resume the same
165
171
  promotion instead of creating another change.
166
172
  No FLOW command accepts `--force`.
173
+ - Work kind (`inspection`, `maintenance`, `implementation`, `delivery`, `recovery`), profile,
174
+ `contract_impact`, and `operation_risk` are independent dimensions. `delivery start` captures
175
+ repo, branch/worktree, SHA, source change, and capabilities in `.brain/runtime/deliveries/`;
176
+ it creates no `08-Changes` folder, delta, spec, or ADR.
177
+ - `delivery finish` requires a clean worktree, proves that the target contains the source commit,
178
+ and for `publish` requires CI, version, npm integrity, and GitHub Release evidence. Receipts are
179
+ append-only in `.brain/runtime/delivery-receipts.jsonl`. If code/config must change, delivery
180
+ stops with `WENDKEEP_DELIVERY_IMPLEMENTATION_REQUIRED` and work returns to implementation.
167
181
  - Exit `0` means a successful query or transition; exit `1` means a policy/red-sensor block; exit
168
182
  `2` means invalid profile, session, flow, or arguments, with no partial mutation.
169
183
 
@@ -229,13 +243,22 @@ again with an explicit destination:
229
243
  npx wendkeep flow promote $flowId --change-slug another-slug
230
244
  ```
231
245
 
246
+ Deliver an approved version without manufacturing another change:
247
+
248
+ ```bash
249
+ npx wendkeep delivery start release-0-73-0 --source-change proportional-governance --allow git:merge --allow git:push --allow publish
250
+ npx wendkeep delivery status release-0-73-0
251
+ npx wendkeep delivery finish release-0-73-0 --target v0.73.0 --ci-url <run> --version 0.73.0 --npm-integrity <sha512> --release-url <release>
252
+ ```
253
+
232
254
  ## Expected result
233
255
 
234
256
  Changing profile neither creates a new session nor interrupts the Vault. In `OFF`, memory and
235
257
  lessons are still injected and Stop still persists the session/memory lifecycle, while automatic
236
258
  router, skill gate, change context/warn/nag/guard, and plan capture are inactive. Explicit commands
237
259
  remain available and run their own contracts. A completed FLOW leaves a durable, inspectable
238
- receipt; a promoted FLOW enters the normal change lifecycle.
260
+ receipt; a promoted FLOW enters the normal change lifecycle. Completed delivery leaves a receipt
261
+ without an ADR; compact GUIDE archives its result without artificial spec/design/ADR.
239
262
 
240
263
  ## Common errors and diagnosis
241
264
 
@@ -254,6 +277,8 @@ receipt; a promoted FLOW enters the normal change lifecycle.
254
277
  retry `flow finish` or `flow promote`; the idempotent marker prevents duplication.
255
278
  - Pre-existing dirt appeared in the diff: it must match the initial fingerprint and must never be
256
279
  silently attributed to the FLOW.
280
+ - Delivery without `--allow`, with a dirty worktree, or with incomplete publish evidence: resume
281
+ the real implementation or provide the receipts; do not create a change only to publish.
257
282
 
258
283
  ## Next steps
259
284
 
@@ -25,7 +25,7 @@ Tenha o projeto inicializado, um vault saudável e `wendkeep.sensors.json` váli
25
25
  ## Sintaxe
26
26
 
27
27
  ```bash
28
- npx wendkeep change new <slug>
28
+ npx wendkeep change new <slug> [--simple|--guide]
29
29
  npx wendkeep change status [slug]
30
30
  npx wendkeep spec effective --change <slug>
31
31
  npx wendkeep sensors list
@@ -35,8 +35,10 @@ npx wendkeep change archive <slug>
35
35
 
36
36
  ## Opções e códigos de saída
37
37
 
38
- - `wendkeep change new <slug> [--simple]` cria uma change; `--simple` só pula o design, não é nem
39
- equivale a `FLOW` e preserva o lifecycle/ADR legado.
38
+ - `wendkeep change new <slug> [--simple|--guide]` cria uma change. `--simple` só pula o design,
39
+ não equivale a `FLOW` e preserva o lifecycle/ADR legado. `--guide` cria o contrato GUIDE
40
+ compacto (objetivo, aceite, áreas, testes e resultado), sem design/spec/ADR automático quando
41
+ `contract_impact:none`.
40
42
  - `change use`, `list`, `show`, `status`, `diff`, `done` e `undone` inspecionam ou atualizam o
41
43
  trabalho sem arquivar.
42
44
  - `change continue <arquivada> <nova>` abre continuação sem herdar evidência antiga.
@@ -52,6 +54,7 @@ npx wendkeep change archive <slug>
52
54
 
53
55
  ```bash
54
56
  npx wendkeep change new login-tenant
57
+ npx wendkeep change new ajuste-interno --guide
55
58
  npx wendkeep spec effective --change login-tenant
56
59
  npx wendkeep change done 1.1 --change login-tenant
57
60
  npx wendkeep verify --change login-tenant
@@ -67,8 +70,10 @@ npx wendkeep sensors add api-contracts "npm run test:contracts" --severity criti
67
70
 
68
71
  ## Resultado esperado
69
72
 
70
- A change arquivada move seu delta para o spec vivo, preserva proposta/design/tarefas/evidência e
71
- gera um ADR. O archive passa com tarefas fechadas, sensores exigidos verdes e verdict atual.
73
+ A change arquivada move seu delta para o spec vivo quando aplicável e preserva proposta,
74
+ tarefas/evidência e design quando existente. GOVERN/ASSURE geram ADR; GUIDE compacta sem impacto
75
+ de contrato não gera ADR automático. O archive só passa com tarefas fechadas, sensores exigidos
76
+ verdes e verdict atual.
72
77
 
73
78
  ## Cerca de escopo para ferramentas
74
79
 
@@ -23,7 +23,7 @@ Execute na raiz do projeto ou informe `--project`/`--vault` explicitamente.
23
23
  ## Sintaxe
24
24
 
25
25
  ```bash
26
- npx --no-install wendkeep doctor [--vault <cofre>]
26
+ npx --no-install wendkeep doctor [--vault <cofre>] [--scope all|core|runtime] [--strict]
27
27
  npx --no-install wendkeep memory curate --vault <cofre>
28
28
  npx --no-install wendkeep sync-defs [--check|--reseed] --vault <cofre> --project <raiz>
29
29
  npx --no-install wendkeep theme sync --vault <cofre>
@@ -33,7 +33,10 @@ npx --no-install wendkeep --help
33
33
 
34
34
  ## Opções e códigos de saída
35
35
 
36
- - `doctor` é read-only; exit `0` aceita warnings recuperáveis e exit não zero indica falha.
36
+ - `doctor` é read-only. Por padrão, exit não zero indica erro estrutural; `--strict` também torna
37
+ atenção de workflow, dívida reparável e memória degradada apropriadas para gate de CI/release.
38
+ - `--scope core` verifica somente instalação, identidade, sessão e memória; `sync` usa esse escopo
39
+ e não falha por change ainda em andamento. `--scope runtime` isola harness/governança.
37
40
  - O `doctor` usa saída em formato humano, com blocos `[integridade]` e `[memória]`, categorias
38
41
  amigáveis e uma próxima ação copiável. O hook `vault-health.mjs` continua sendo a superfície JSON
39
42
  para automações; nenhum dos dois aplica curadoria.
@@ -44,8 +47,9 @@ npx --no-install wendkeep --help
44
47
  event IDs e checkpoint) com outbox, ledger e SHARED; não inferem saúde só pela revision atual.
45
48
  - `revision: 0` após migração válida, sem attempt v2, é saudável. Attempt `degraded` cujos eventos
46
49
  continuam duráveis na outbox/ledger é warning recuperável.
47
- - Attempt ambíguo, event ID perdido (ausente de ledger e outbox), estado `projected` apenas na
48
- outbox ou checkpoint divergente são falhas bloqueantes.
50
+ - Conflito semântico é `degraded` e omite somente as chaves afetadas; não bloqueia o Core. Attempt
51
+ causal ambíguo, event ID perdido, ledger corrompido, boundary insegura ou checkpoint divergente
52
+ continuam sendo falhas estruturais bloqueantes.
49
53
  - Para observabilidade de sessão, `legacy`, `degraded`, `stale` e `manifest-unproven` exigem
50
54
  reconciliação ou evidência adicional. Somente `none` fresco e `complete` fresco são saudáveis:
51
55
  frontier, checkpoint, root stat e source manifest precisam concordar.
@@ -63,6 +67,8 @@ Checklist pós-atualização:
63
67
  npx --no-install wendkeep --version
64
68
  npx --no-install wendkeep sync-defs --check --vault .MeuApp-vault --project .
65
69
  npx --no-install wendkeep doctor --vault .MeuApp-vault
70
+ npx --no-install wendkeep doctor --scope core --vault .MeuApp-vault
71
+ npx --no-install wendkeep doctor --scope runtime --strict --vault .MeuApp-vault
66
72
  npx --no-install wendkeep memory status --gate --vault .MeuApp-vault
67
73
  npx --no-install wendkeep memory curate --vault .MeuApp-vault
68
74
  npx --no-install wendkeep memory candidates --active --vault .MeuApp-vault
@@ -72,7 +78,8 @@ npx --no-install wendkeep cost rebuild --session <id> --json --vault .MeuApp-vau
72
78
 
73
79
  ## Resultado esperado
74
80
 
75
- O doctor nomeia sessões, registry, links, notas, preços, derivadas e memória como saudáveis ou
81
+ O doctor separa `structural error`, `workflow attention`, `repairable debt` e `semantic ambiguity`,
82
+ e nomeia sessões, registry, links, notas, preços, derivadas e memória como saudáveis ou
76
83
  fornece um comando específico de diagnóstico/reparo. Na memória, ele distingue vazio inicial
77
84
  válido, replay pendente recuperável e lifecycle perdido/divergente. Nenhum reparo é aplicado
78
85
  implicitamente nem o conteúdo privado do erro do projector é reproduzido no relatório. Na
@@ -1,4 +1,4 @@
1
- # Perfis de Operação e FLOW
1
+ # Perfis de Operação, work kind, FLOW e delivery
2
2
 
3
3
  **PT-BR** · [English](../../en/commands/operating-profiles.md)
4
4
 
@@ -17,6 +17,8 @@ deliberado e executa as validações e gates próprios daquele comando.
17
17
  Use `profile use` para uma seleção humana persistente e `profile route` para o harness registrar a
18
18
  rota temporária da implementação atual. Use `FLOW` para manutenção local, reversível e com
19
19
  `spec_impact:none` que caiba num microcontrato Executar → Validar, sem change.
20
+ Use `delivery` para merge, push, tag e publicação de comportamento já aprovado: risco operacional
21
+ exige autorização/receipt, não uma nova change ou spec.
20
22
 
21
23
  ## Quando não usar
22
24
 
@@ -55,6 +57,10 @@ npx wendkeep flow status [<id>]
55
57
  npx wendkeep flow show <id> [--session <id>]
56
58
  npx wendkeep flow finish <id> [--session <id>]
57
59
  npx wendkeep flow promote <id> [--change-slug <slug>] [--session <id>]
60
+ npx wendkeep delivery start [id] --allow <capability> [--source-change <slug>] [--source-commit <sha>]
61
+ npx wendkeep delivery status [id]
62
+ npx wendkeep delivery finish [id] [--target <ref>] [--ci-url <url>] [--version <x.y.z>] [--npm-integrity <sha512>] [--release-url <url>]
63
+ npx wendkeep delivery abandon [id] --reason <texto>
58
64
  ```
59
65
 
60
66
  Todos os subcomandos FLOW também aceitam `--project <path>`, `--vault <path>` e `--json`.
@@ -85,7 +91,7 @@ independentes.
85
91
  |---|---|---|
86
92
  | `OFF` | harness nativo da LLM | Governança automática desligada; Keep Core e comandos explícitos disponíveis. |
87
93
  | `FLOW` | E → V | Microcontrato com baseline Git, allowlist, sensores e recibo, sem change. |
88
- | `GUIDE` | P → E → V | Change compacta; política reconhecida para evolução compatível. |
94
+ | `GUIDE` | P → E → V | `change new --guide`; objetivo, aceite, áreas, testes e resultado; sem design/spec/ADR automático quando `contract_impact:none`. |
89
95
  | `GOVERN` | P → R → E → V | Loop a2 atual e fallback conservador. |
90
96
  | `ASSURE` | P → R → E → V → C | Governança acrescida de confirmação e handoff. |
91
97
 
@@ -163,6 +169,14 @@ harness nativo da LLM.
163
169
  dono; contrato, reserva, attempts, recibo e origem permanecem semanticamente vinculados. O
164
170
  perdedor permanece ativo e pode repetir com `--change-slug`. Retries retomam idempotentemente a
165
171
  mesma promoção em vez de criar outra change. Não existe `--force` no FLOW.
172
+ - Work kind (`inspection`, `maintenance`, `implementation`, `delivery`, `recovery`), perfil,
173
+ `contract_impact` e `operation_risk` são dimensões independentes. `delivery start` captura repo,
174
+ branch/worktree, SHA, change de origem e capabilities em `.brain/runtime/deliveries/`; não cria
175
+ pasta em `08-Mudanças`, delta, spec ou ADR.
176
+ - `delivery finish` exige working tree limpa, comprova que o target contém o commit de origem e,
177
+ para capability `publish`, exige CI, versão, integridade npm e GitHub Release. O receipt é
178
+ append-only em `.brain/runtime/delivery-receipts.jsonl`. Se código/config precisar mudar, a
179
+ delivery para com `WENDKEEP_DELIVERY_IMPLEMENTATION_REQUIRED` e o trabalho volta a implementation.
166
180
  - Exit `0` indica consulta ou transição concluída; exit `1` indica política/sensor vermelho; exit
167
181
  `2` indica perfil, sessão, flow ou argumentos inválidos, sem mutação parcial.
168
182
 
@@ -228,13 +242,22 @@ novamente com um destino explícito:
228
242
  npx wendkeep flow promote $flowId --change-slug outro-slug
229
243
  ```
230
244
 
245
+ Entregar uma versão já aprovada sem fabricar outra change:
246
+
247
+ ```bash
248
+ npx wendkeep delivery start release-0-73-0 --source-change governanca-proporcional --allow git:merge --allow git:push --allow publish
249
+ npx wendkeep delivery status release-0-73-0
250
+ npx wendkeep delivery finish release-0-73-0 --target v0.73.0 --ci-url <run> --version 0.73.0 --npm-integrity <sha512> --release-url <release>
251
+ ```
252
+
231
253
  ## Resultado esperado
232
254
 
233
255
  Trocar o perfil não cria outra sessão nem interrompe o Vault. Em `OFF`, a memória e as lessons
234
256
  continuam injetadas e o Stop continua persistindo sessão/memória, mas router, skill gate,
235
257
  change context/warn/nag/guard e captura de plano automáticos ficam inativos. Os comandos explícitos
236
258
  continuam disponíveis e executam seus próprios contratos. Um FLOW concluído deixa recibo durável e
237
- consultável; um FLOW promovido passa a seguir o lifecycle normal de change.
259
+ consultável; um FLOW promovido passa a seguir o lifecycle normal de change. Uma delivery concluída
260
+ deixa receipt sem gerar ADR; GUIDE compacto arquiva o resultado sem spec/design/ADR artificiais.
238
261
 
239
262
  ## Erros comuns e diagnóstico
240
263
 
@@ -253,6 +276,8 @@ consultável; um FLOW promovido passa a seguir o lifecycle normal de change.
253
276
  repita `flow finish` ou `flow promote`; o marcador idempotente impede duplicação.
254
277
  - Sujeira anterior apareceu no diff: ela deve coincidir com o fingerprint inicial e nunca pode ser
255
278
  atribuída silenciosamente ao FLOW.
279
+ - Delivery sem `--allow`, working tree suja ou evidência de publish incompleta: retome a
280
+ implementation real ou forneça os receipts; não crie uma change apenas para publicar.
256
281
 
257
282
  ## Próximos passos
258
283
 
@@ -29,9 +29,9 @@ function processRouter(localeId) {
29
29
  if (localeId === 'en') {
30
30
  return [
31
31
  '<wk_process>',
32
- 'Spec-driven process (mandatory for any non-trivial task): INVOKE the wk-workflow Skill BEFORE editing any file.',
33
- '1. Plan: invoke the wk-brainstorming Skill (approved design) wk-planning (task plan).',
34
- '2. Record: `wendkeep change new <slug>` and FILL proposta/design/tasks. Resolve `spec_impact`: `required` needs `specs/<capability>/spec.md` + [req:ID]; `none` needs a reason. Never leave pending/placeholders.',
32
+ 'Proportional process: INVOKE the wk-workflow Skill BEFORE editing any file.',
33
+ '1. Classify work kind independently from profile: inspection, maintenance, implementation, delivery, or recovery.',
34
+ '2. Delivery of approved code uses `wendkeep delivery start/finish` and a receipt, without a new change/spec. For implementation, use wk-brainstorming + wk-planning, declare spec_impact, then select FLOW, `wendkeep change new --guide`, or GOVERN/ASSURE according to contract impact.',
35
35
  '3. Implement: wk-tdd per task; tick `- [x]` as you finish. Something broke? wk-debugging.',
36
36
  '4. Close: `wendkeep verify` (+ `--deep` + the wk-verify Skill) → `wendkeep change archive`.',
37
37
  'NEVER `archive --force` on your own — a red gate means pending work; --force is the user\'s call, not yours. Dead end? `wendkeep change abandon`.',
@@ -40,9 +40,9 @@ function processRouter(localeId) {
40
40
  }
41
41
  return [
42
42
  '<wk_process>',
43
- 'Processo spec-driven (obrigatório em tarefa não-trivial): INVOQUE a Skill wk-workflow ANTES de editar qualquer arquivo.',
44
- '1. Planejar: invoque a Skill wk-brainstorming (design aprovado) wk-planning (plano de tarefas).',
45
- '2. Registrar: `wendkeep change new <slug>` e PREENCHA proposta/design/tarefas. Resolva `spec_impact`: `required` exige `specs/<capability>/spec.md` + [req:ID]; `none` exige justificativa. Nunca deixe pending/placeholders.',
43
+ 'Processo proporcional: INVOQUE a Skill wk-workflow ANTES de editar qualquer arquivo.',
44
+ '1. Classifique work kind independentemente do perfil: inspection, maintenance, implementation, delivery ou recovery.',
45
+ '2. Entrega de código aprovado usa `wendkeep delivery start/finish` e receipt, sem nova change/spec. Em implementation, use wk-brainstorming + wk-planning, declare spec_impact e escolha FLOW, `wendkeep change new --guide` ou GOVERN/ASSURE conforme impacto de contrato.',
46
46
  '3. Implementar: wk-tdd por tarefa; marque `- [x]` ao concluir. Quebrou algo? wk-debugging.',
47
47
  '4. Fechar: `wendkeep verify` (+ `--deep` + Skill wk-verify) → `wendkeep change archive`.',
48
48
  'PROIBIDO `archive --force` por conta própria — gate vermelho significa trabalho pendente; --force é decisão do usuário, não sua. Beco sem saída? `wendkeep change abandon`.',