@sabaiway/agent-workflow-memory 1.10.0 → 1.11.1

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,30 @@ All notable changes to the memory substrate. Versions are this **package's** npm
4
4
  they are distinct from the **deployment-lineage** stamp written into a project's
5
5
  `docs/ai/.memory-version` (which tracks the shared `agent-workflow` lineage, head `1.3.0`).
6
6
 
7
+ ## 1.11.1 — One batched setup prompt (the F11 ask reword; AD-042)
8
+
9
+ A **patch** release (prose reword only; deployment-lineage head stays `1.3.0` — no migration).
10
+ The three bootstrap setup questions (visibility / conversational language / attribution) are now
11
+ asked as **ONE structured multi-question prompt where supported** (`AskUserQuestion`, up to 4
12
+ questions per call), each answer recorded individually, nothing written until ALL are answered —
13
+ first contact interrupts once, not three times (`SKILL.md` bootstrap preamble + steps 2–4). The
14
+ upgrade path batches its two migration asks the same way ONLY when both `AGENTS.md` blocks are
15
+ missing (a pre-1.1.0 deployment), collecting them in step 4 BEFORE the migrations apply and never
16
+ re-asking a collected answer (a migration's own "Ask the user" step stays the standalone
17
+ fallback). The `references/contracts.md` ask paragraph is reworded byte-identical with the kit's
18
+ copy — pinned cross-package by the kit's new `ask-contract` test.
19
+
20
+ ## 1.11.0 — The template lens block becomes a render of the engine canon (AD-041)
21
+
22
+ A **feature** release (template text only; deployment-lineage head stays `1.3.0` — no migration).
23
+ `references/templates/agent_rules.md` §2.6 (the planning/review/process-fidelity lens block) is
24
+ now a **render of the engine's canonical `agent-rules-lens` fragment**: the intro gains the
25
+ provenance clause (rendered from the canon; refreshed on upgrade; a custom edit is preserved
26
+ verbatim, but flagged). Standalone-first is unchanged — the template still seeds the complete
27
+ block with no kit/engine present; an unmodified older seed converges to the current canon at the
28
+ next kit bootstrap/upgrade touch (the kit's new `lens-region` reconcile matches it against the
29
+ engine's known-prior store). Future lens wording changes no longer require a memory release.
30
+
7
31
  ## 1.10.0 — Installer verb parity (the AD-034 cmp-keyed contract) + the recipe discovery step in the templates
8
32
 
9
33
  A **feature** release (installer messaging + template text; deployment-lineage head stays `1.3.0`
package/SKILL.md CHANGED
@@ -3,7 +3,7 @@ name: agent-workflow-memory
3
3
  description: Deploy or upgrade a portable AI-agent memory substrate in any project — an entry-point `AGENTS.md` (+ `CLAUDE.md` alias) and a structured `docs/ai/` context store with cap/archive/index enforcement. Use when the user wants to bootstrap `docs/ai/`, set up the Memory Map and session protocols, install the docs-rotation pre-commit hook, or run `/agent-workflow-memory` / `/agent-workflow-memory upgrade`. Triggers on "set up the memory system", "deploy the AI memory here", "bootstrap docs/ai", "upgrade the memory substrate". This is the substrate only — the workflow methodology (plan→execute→review, queue, Cleanup) is owned elsewhere and injected into AGENTS.md by the family composition root.
4
4
  disable-model-invocation: true
5
5
  metadata:
6
- version: '1.10.0'
6
+ version: '1.11.1'
7
7
  ---
8
8
 
9
9
  # agent-workflow-memory
@@ -68,24 +68,26 @@ bootstrapping over a live system, but the user makes the final call.
68
68
  > Use that as the copy/read source; the working directory is the **target project**.
69
69
 
70
70
  > The three setup questions (steps 2–4) are decisions only the user can make and are hard to
71
- > reverse after a commit. Ask each as a **structured multiple-choice prompt where supported**
72
- > (`AskUserQuestion` in Claude Code, recommended option first), otherwise in prose — and
73
- > **wait for the answer before writing anything**.
71
+ > reverse after a commit. Ask them as **ONE structured multi-question prompt where supported**
72
+ > (`AskUserQuestion` in Claude Code, up to 4 questions per call, recommended option first),
73
+ > otherwise in prose; **record each answer individually** and **write nothing until ALL are
74
+ > answered**.
74
75
 
75
76
  1. **Recon (read-only).** Before writing anything: `package.json` / `pyproject.toml` / `go.mod`
76
77
  / `Cargo.toml` → stack, package manager, scripts; `ls -la` root → README, existing
77
78
  `AGENTS.md`/`CLAUDE.md`, CI / linter configs; `git log --oneline -30` + `git status`; `src/`
78
79
  2–3 levels deep; tests + linter rules. Record stack, package manager, daily commands, layers.
79
- 2. **Choose visibility — ASK explicitly and wait.** `visible` (committed canonical,
80
+ 2. **Choose visibility — ask the batched prompt NOW (all three questions, per the preamble
81
+ above) and wait until every answer is in.** `visible` (committed — canonical,
80
82
  recommended) or `hidden` (in-tree, git-ignored via the **project-local** `.git/info/exclude` —
81
83
  never the machine-global excludes). See
82
84
  [Visibility contract](references/contracts.md#visibility-contract).
83
- 3. **Choose conversational language — ASK explicitly and wait.** Which language the agent
85
+ 3. **Choose conversational language — answered in the step-2 batch.** Which language the agent
84
86
  *talks to them* in. Offer the language they're already writing in as the default. Carry it
85
87
  into the `{{COMM_LANGUAGE}}` slot of the *Communication language* block (step 5). See
86
88
  [Communication contract](references/contracts.md#communication-contract). Dialogue only —
87
89
  never the files.
88
- 4. **Choose agent attribution — ASK explicitly and wait.** May the agent attribute work to
90
+ 4. **Choose agent attribution — answered in the step-2 batch.** May the agent attribute work to
89
91
  itself / AI — `Co-Authored-By` trailers, "Generated with …" footers, AI/agent/model mentions?
90
92
  **Default `off`.** Carry it into `{{AGENT_ATTRIBUTION}}` (step 5). **If `off` and the project
91
93
  uses Claude Code**, also set `"includeCoAuthoredBy": false` in the project's
@@ -196,13 +198,20 @@ Fill strategy:
196
198
  structure number, stamp filename, or internal versioning vocabulary on this happy-path exit — the
197
199
  number is inert here and belongs to *Version disclosure* (below).
198
200
  3. Show the relevant `${CLAUDE_SKILL_DIR}/CHANGELOG.md` context (entries newer than the stamp).
199
- 4. Apply `${CLAUDE_SKILL_DIR}/migrations/<version>-<slug>.md` in **semver order**, only those
200
- newer than the stamp. Migrations are **idempotent**.
201
+ 4. **Collect the migration answers FIRST, then apply.** If `AGENTS.md` is missing BOTH the
202
+ *Communication language* and *Attribution* blocks — i.e. both blocks are missing (a pre-1.1.0
203
+ deployment) — ask the two questions as ONE structured multi-question prompt; record each
204
+ answer individually, write nothing until ALL are answered, and carry the answers into the
205
+ migrations below: a migration whose answer was already collected never re-asks (its own
206
+ "Ask the user" step is the standalone fallback); a single missing block keeps its single ask
207
+ (step 5). Then apply `${CLAUDE_SKILL_DIR}/migrations/<version>-<slug>.md` in **semver order**,
208
+ only those newer than the stamp. Migrations are **idempotent**.
201
209
  5. Reconcile drift: add any substrate files/scripts the project is missing; **never clobber
202
210
  project-authored content** (their `decisions.md`, `known_issues.md`, page specs stay). For a
203
211
  pre-1.1.0 deployment with no *Communication language* block, ask + insert
204
212
  (`migrations/1.1.0-communication-language.md`); pre-1.2.0 with no *Attribution* block, ask +
205
- insert defaulting to `off` (`migrations/1.2.0-agent-attribution.md`).
213
+ insert defaulting to `off` (`migrations/1.2.0-agent-attribution.md`). (An answer already
214
+ collected by the step-4 batched prompt is carried in — never re-asked here.)
206
215
  6. **Preserve BOTH pointer slots.** If `AGENTS.md` has the `workflow:methodology` and/or
207
216
  `workflow:orchestration` markers, **never regenerate the file wholesale** — extract any bytes
208
217
  between each pair and reinsert them unchanged. If a pair is absent (a legacy `AGENTS.md`),
package/capability.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "schema": 1,
4
4
  "name": "agent-workflow-memory",
5
5
  "kind": "memory-substrate",
6
- "version": "1.10.0",
6
+ "version": "1.11.1",
7
7
  "provides": ["context"],
8
8
  "roles": {},
9
9
  "detect": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sabaiway/agent-workflow-memory",
3
- "version": "1.10.0",
3
+ "version": "1.11.1",
4
4
  "description": "Portable, cross-agent memory substrate for AI coding agents — an AGENTS.md entry point + docs/ai context with cap/archive/index enforcement, deployable standalone or as part of the agent-workflow family. The memory layer of the agent-workflow family.",
5
5
  "keywords": [
6
6
  "ai-agents",
@@ -5,8 +5,9 @@ language**, and **agent attribution** — each have a contract below. `SKILL.md`
5
5
  main procedure stays lean; load this file when you need the full rule for a contract (e.g. while
6
6
  filling the matching `AGENTS.md` block, or when an `upgrade` migration touches it).
7
7
 
8
- Ask each as a **structured multiple-choice prompt where your agent supports it** (`AskUserQuestion`
9
- in Claude Code), otherwise in prose and always wait for the answer before writing.
8
+ Ask the three as **ONE structured multi-question prompt where your agent supports it**
9
+ (`AskUserQuestion` in Claude Code, up to 4 questions per call), otherwise in prose; record each
10
+ answer individually — and write nothing until ALL are answered.
10
11
 
11
12
  ---
12
13
 
@@ -72,7 +72,7 @@ Apply this as part of §2 before any user-facing summary:
72
72
  - **Large artifact (≈>100 lines):** deliver a real summary or the key excerpt inline **and** link the file — never flood the reader with a 2000-line paste, never hide the answer behind a bare pointer.
73
73
 
74
74
  ### 2.6. Planning, review & process-fidelity invariants
75
- Apply these when authoring a plan, reviewing, folding a finding, or editing code — the layer read **before any code change**. (Full canon: the project's planning / workflow-methodology + orchestration canon.)
75
+ Apply these when authoring a plan, reviewing, folding a finding, or editing code — the layer read **before any code change**. (Full canon: the project's planning / workflow-methodology + orchestration canon. This section is rendered from that canon and refreshed on upgrade; a custom edit is preserved verbatim, but flagged.)
76
76
  - **Fold by code, not prose.** Before folding a code-touching finding into a plan or change, read the cited `file:line` and cite it — a prose fold drifts from the code and seeds the next bug.
77
77
  - **Right altitude.** Pin intent + invariants + acceptance criteria (named tests); leave fine code-mechanics to Execute, where prose cannot diverge from reality.
78
78
  - **No code-mechanics in the plan.** A Step still carries its exact paths + commands (the plan-structure / self-review canon) — checked syntax: the plan's own Verification runs them against an explicit expected outcome or gate; the only other syntax a plan may carry is a literal fixture/schema fragment a named test copies or validates. Un-run, logic-bearing syntax — control-flow, a regex, a glob, a grammar, an algorithm body, a mini-DSL — never lives in plan prose, however plausible or shell-verified it looks: a fold or draft that wants one is the trigger to write the test instead.