@sabaiway/agent-workflow-memory 8.1.0 → 8.1.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,14 @@ 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 `4.0.0`).
6
6
 
7
+ ## 8.1.1 — the gate-migration's checker screen takes an argument tail (AD-158)
8
+
9
+ `references/scripts/migrate-gates.mjs`: the guarded `checker-claim canon` region is byte-identical to the kit's
10
+ `tools/checker-claim.mjs` again. `checkerClaimTool` gains an optional third parameter, the exact argument tail
11
+ (default `--check`), matched as literal space-separated tokens at the end of the command; every existing call passes
12
+ two arguments and matches exactly as before. The kit's new declare verb (kit 14.12.0) uses the tail for
13
+ `--check --in-flight` and `--all`. PATCH: no migration result changes.
14
+
7
15
  ## 8.1.0 — the deployment-lineage head moves to 4.0.0 (AD-157)
8
16
 
9
17
  `scripts/stamp-takeover.mjs`: `LINEAGE_HEAD` is `4.0.0`, so a memory bootstrap stamps `docs/ai/.memory-version` with
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: '8.1.0'
6
+ version: '8.1.1'
7
7
  ---
8
8
 
9
9
  # agent-workflow-memory
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": "8.1.0",
6
+ "version": "8.1.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": "8.1.0",
3
+ "version": "8.1.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",
@@ -157,7 +157,7 @@ export const isCoverageProducerGate = (gate) => {
157
157
  // A cmd makes exactly ONE of three claims about a given tool, and collapsing them into a boolean is
158
158
  // what makes a VENDORED copy of the tool read as "the tool is not declared at all" — a false
159
159
  // absence, with a remedy (adopt it) that then collides with the entry already there:
160
- // • canonical — this tool's `--check` invocation, resolving to THIS copy of it
160
+ // • canonical — this tool's invocation with its tail (`--check` by default), resolving to THIS copy
161
161
  // • tool-elsewhere — the same invocation shape, resolving to a DIFFERENT real copy
162
162
  // • not-the-tool — anything else: another command, a masked form, an inadmissible token, or a
163
163
  // path nothing can resolve
@@ -195,16 +195,18 @@ const bareTokenSafe = (text) => text.length > 0 && ![...text].some((ch) => {
195
195
 
196
196
  const RE_META = /[.*+?^${}()|[\]\\]/g;
197
197
 
198
- // checkerClaimTool(basename, canonicalPath) → the screen for ONE tool. The shape is the STRICT full
199
- // command — `node` + ONE (quoted or bare) path token + the exact basename + ` --check` + END — so a
200
- // masked form (`--check --help`, `--check || true`, a prefix command) is never any claim at all.
201
- // Separators are PLAIN SPACES, not \s: a newline between the tokens is not a command a runner would
202
- // execute as written. The basename is regex-escaped here, never by the caller — a caller-escaped
203
- // literal is one forgotten backslash away from a dot matching any byte.
204
- export const checkerClaimTool = (basename, canonicalPath) => {
198
+ // checkerClaimTool(basename, canonicalPath, tail) → the screen for ONE tool. The shape is the STRICT
199
+ // full command — `node` + ONE (quoted or bare) path token + the exact basename + the exact argument
200
+ // tail (`--check` by default) + END — so a masked form (`--check --help`, `--check || true`, a prefix
201
+ // command) or a reordered tail is never any claim at all. Separators are PLAIN SPACES, not \s: a
202
+ // newline between the tokens is not a command a runner would execute as written. The basename and
203
+ // every tail token are regex-escaped here, never by the caller — a caller-escaped literal is one
204
+ // forgotten backslash away from a dot matching any byte.
205
+ export const checkerClaimTool = (basename, canonicalPath, tail = '--check') => {
205
206
  const safe = basename.replace(RE_META, '\\$&');
207
+ const args = tail.split(' ').map((token) => token.replace(RE_META, '\\$&')).join(' +');
206
208
  return Object.freeze({
207
- re: new RegExp(`^node +(?:"((?:[^"]*[/\\\\])?${safe})"|((?:[^\\s"]*[/\\\\])?${safe})) +--check$`),
209
+ re: new RegExp(`^node +(?:"((?:[^"]*[/\\\\])?${safe})"|((?:[^\\s"]*[/\\\\])?${safe})) +${args}$`),
208
210
  canonical: canonicalPath,
209
211
  });
210
212
  };