aiwg 2026.5.4 → 2026.5.5

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.
Files changed (28) hide show
  1. package/README.md +11 -0
  2. package/agentic/code/addons/aiwg-utils/manifest.json +2 -1
  3. package/agentic/code/frameworks/sdlc-complete/templates/aiwg-sections/02b-discover-first.md +42 -0
  4. package/agentic/code/frameworks/sdlc-complete/templates/aiwg-sections/manifest.json +7 -0
  5. package/agentic/code/frameworks/sdlc-complete/templates/copilot/copilot-instructions.md.aiwg-template +11 -0
  6. package/dist/src/cli/handlers/use.d.ts.map +1 -1
  7. package/dist/src/cli/handlers/use.js +21 -0
  8. package/dist/src/cli/handlers/use.js.map +1 -1
  9. package/dist/src/cli/project-isolation/detect.d.ts +8 -0
  10. package/dist/src/cli/project-isolation/detect.d.ts.map +1 -0
  11. package/dist/src/cli/project-isolation/detect.js +70 -0
  12. package/dist/src/cli/project-isolation/detect.js.map +1 -0
  13. package/dist/src/cli/project-isolation/index.d.ts +6 -0
  14. package/dist/src/cli/project-isolation/index.d.ts.map +1 -0
  15. package/dist/src/cli/project-isolation/index.js +7 -0
  16. package/dist/src/cli/project-isolation/index.js.map +1 -0
  17. package/dist/src/cli/project-isolation/signals.d.ts +4 -0
  18. package/dist/src/cli/project-isolation/signals.d.ts.map +1 -0
  19. package/dist/src/cli/project-isolation/signals.js +17 -0
  20. package/dist/src/cli/project-isolation/signals.js.map +1 -0
  21. package/dist/src/cli/project-isolation/warning.d.ts +20 -0
  22. package/dist/src/cli/project-isolation/warning.d.ts.map +1 -0
  23. package/dist/src/cli/project-isolation/warning.js +102 -0
  24. package/dist/src/cli/project-isolation/warning.js.map +1 -0
  25. package/dist/src/mcp/tools/discovery.mjs +1 -1
  26. package/package.json +1 -1
  27. package/tools/agents/providers/hermes.mjs +21 -5
  28. package/tools/warp/setup-warp.mjs +73 -1
package/README.md CHANGED
@@ -49,6 +49,17 @@ AIWG is a deployment tool and support utility for AI context. At its core, `aiwg
49
49
 
50
50
  Around that core, AIWG ships utilities for things the base platforms do not handle on their own: persistent artifact memory (`.aiwg/`), background orchestration (`aiwg mc`), autonomous loops (`aiwg ralph`), artifact indexing (`aiwg index`), cost telemetry, health diagnostics, and more. Most are opt-in. The deployment layer works standalone as plain text files the platform reads natively.
51
51
 
52
+ ### Project scope (recommended) vs user scope (global)
53
+
54
+ `aiwg use` writes artifacts at one of two scopes. Both are first-class supported (see ADR-NUA-001 in `.aiwg/studies/novice-user-adoption/`):
55
+
56
+ - **Project scope** — default. Run `aiwg use sdlc` from a project root and the artifacts land in `./.claude/agents/`, `./.claude/skills/`, etc. One project's agent set never bleeds into another's session. **This is the recommended default for most use cases.**
57
+ - **User scope (global install)** — `aiwg use sdlc --scope user` writes to `~/.claude/agents/`, `~/.claude/skills/`, etc. Same artifact set loads into every session, regardless of project. Fits "AIWG in every conversation" workflows and is the canonical mode for OpenClaw and Hermes (whose primary discovery is user-scope).
58
+
59
+ The trade-off is real: when the same agent set loads into every session, context from one project can bleed into reasoning about another. Research (REF-720, *Lost in Multi-Turn Conversation*, MSR/Salesforce 2025) measured a 39% capability drop when this happens. The non-blocking project-isolation warning surfaces the trade-off at deploy time so the scope choice is informed. Neither scope is wrong; pick the one that fits the workflow.
60
+
61
+ See `docs/cli-reference.md` (under `aiwg use` → "Scope models") for the per-provider details and the global-install rough-edge inventory.
62
+
52
63
  ## Simple Building Blocks
53
64
 
54
65
  AIWG ships five primitive artifact types. All are plain text:
@@ -36,7 +36,8 @@
36
36
  "consolidation": {
37
37
  "strategy": "index-with-links",
38
38
  "rulesIndex": "rules/RULES-INDEX.md",
39
- "deployIndexOnly": true
39
+ "deployIndexOnly": false,
40
+ "_note": "deployIndexOnly was true (#1343); changed to false 2026-05-14 so individual rule files (including skill-discovery.md) deploy to every provider's rules directory alongside the index. RULES-INDEX.md remains the canonical entry point; its links now resolve to local files on every provider, not just Claude/Cursor."
40
41
  },
41
42
  "commands": [],
42
43
  "agents": [
@@ -0,0 +1,42 @@
1
+ ## Discover-First Protocol (CRITICAL)
2
+
3
+ Before declining a user request as "outside AIWG's scope" or improvising a workflow from training data, you MUST consult AIWG's artifact index.
4
+
5
+ AIWG ships ~400 skills, ~190 agents, ~70 commands, and ~60 rules across its installed frameworks. Most are NOT loaded into your context — they live at the install location and reach you via two CLI commands:
6
+
7
+ ```bash
8
+ aiwg discover "<paraphrased user need>"
9
+ aiwg show <type> <name> # e.g. aiwg show skill flow-deploy-to-production
10
+ ```
11
+
12
+ ### When to run discover
13
+
14
+ You MUST run `aiwg discover` when any of the following is true:
15
+
16
+ - You are about to tell the user "AIWG doesn't have a way to do that"
17
+ - You are about to write a custom workflow / script / procedure from scratch
18
+ - The user's request mentions AIWG, a framework name (sdlc, research, forensics, ops, security-engineering, marketing, media-curator, knowledge-base), or capability keywords (skill, agent, command, rule, workflow, flow, template, addon)
19
+ - You are uncertain whether a curated AIWG artifact already addresses the request
20
+
21
+ You MAY skip discover only when:
22
+
23
+ - The user named a specific skill/command (e.g. `/flow-deploy-to-production`)
24
+ - The capability is clearly outside AIWG's scope (weather, translation, unrelated programming)
25
+ - You already ran `aiwg discover` for the same need this session
26
+ - A loaded quickref directly names the skill the user needs
27
+
28
+ ### Discover-first, NOT filesystem-first
29
+
30
+ When the user's request mentions an AIWG keyword, `aiwg discover` is your FIRST tool call — not `Grep` / `Glob` / `Read` against provider directories like `.claude/`, `.codex/`, `.factory/`, `.warp/`, `.windsurf/`, `~/.openclaw/`, or `~/.hermes/`.
31
+
32
+ Filesystem search against those paths is FORBIDDEN as a first move for AIWG-internal lookups. The reason: the discover index covers 10x the surface area that any single provider directory holds, and gives you ranked results with capability summaries. Grep gives you a literal-string hit and stops.
33
+
34
+ ### After discover returns a match
35
+
36
+ Use `aiwg show <type> <name>` to fetch the body — never `Read` on the returned path, never `find` / `ls` against the corpus directory. The CLI handles the read; you handle the application.
37
+
38
+ ### Why this matters
39
+
40
+ Most AIWG skills are not in your context by design — that's how the kernel-skill model keeps your context lean while making the full corpus reachable. Enumerating from memory will miss obvious matches. The cost of running `aiwg discover` is one CLI invocation; the cost of skipping it is recommending a workflow AIWG already has, or declining a request AIWG can already serve.
41
+
42
+ The full discover-first rule (with detection heuristics, recovery procedure, and integration with other rules) is deployed at the framework's rules path as `skill-discovery.md`. Read it once at session start if you have not already.
@@ -15,6 +15,13 @@
15
15
  "required": true,
16
16
  "description": "Orchestration responsibilities, multi-agent workflow pattern, NL translations, available commands"
17
17
  },
18
+ {
19
+ "id": "discover-first",
20
+ "file": "02b-discover-first.md",
21
+ "title": "Discover-First Protocol",
22
+ "required": true,
23
+ "description": "Mandates `aiwg discover` + `aiwg show` before declining requests or improvising workflows. Closes hookup-matrix Finding #2 (#1344) — the discover-first protocol now reaches every provider that loads AIWG.md (Codex, Windsurf, OpenCode, Hermes, plus Warp via twin emission)."
24
+ },
18
25
  {
19
26
  "id": "aiwg-rules",
20
27
  "file": "03-aiwg-rules.md",
@@ -8,6 +8,17 @@ This file provides project-specific instructions for GitHub Copilot.
8
8
 
9
9
  This project uses the AIWG SDLC Framework for software development lifecycle management.
10
10
 
11
+ ### Discover-First Protocol (CRITICAL)
12
+
13
+ Before declining a user request as "outside AIWG's scope" or improvising a workflow from training data, you MUST consult AIWG's artifact index. AIWG ships ~400 skills, ~190 agents, ~70 commands, and ~60 rules — most are NOT loaded into your context. Reach them via:
14
+
15
+ ```bash
16
+ aiwg discover "<paraphrased user need>"
17
+ aiwg show <type> <name> # e.g. aiwg show skill flow-deploy-to-production
18
+ ```
19
+
20
+ Run `aiwg discover` whenever the user mentions AIWG, a framework name (sdlc, research, forensics, ops, marketing, security-engineering, media-curator, knowledge-base), or capability keywords (skill, agent, command, rule, workflow). Filesystem search against `.github/agents/`, `.github/skills/`, or `.github/instructions/` is FORBIDDEN as a first move for AIWG-internal lookups — `aiwg discover` covers 10x the surface area with ranked results. The full protocol is documented at `.github/copilot-rules/skill-discovery.md` (or `.github/instructions/skill-discovery.instructions.md`); read it once at session start.
21
+
11
22
  ### Available Custom Agents
12
23
 
13
24
  AIWG agents are deployed to `.github/agents/` and can be invoked via `@agent-name`:
@@ -1 +1 @@
1
- {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/cli/handlers/use.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA4F3E;;;GAGG;AACH,eAAO,MAAM,gBAAgB,aAAwB,CAAC;AAEtD;;GAEG;AACH,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAM3E;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,aAA2B,CAAC;AAEpE;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsB/E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE;AAmBD,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQxF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrE;AA4xBD;;;;;GAKG;AACH,qBAAa,UAAW,YAAW,cAAc;IAC/C,EAAE,SAAS;IACX,IAAI,SAAmB;IACvB,WAAW,SAA8C;IACzD,QAAQ,EAAG,WAAW,CAAU;IAChC,OAAO,EAAE,MAAM,EAAE,CAAM;IAEjB,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAq8B3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAEjD;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,YAAmB,CAAC"}
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/cli/handlers/use.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAkG3E;;;GAGG;AACH,eAAO,MAAM,gBAAgB,aAAwB,CAAC;AAEtD;;GAEG;AACH,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAM3E;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,aAA2B,CAAC;AAEpE;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsB/E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE;AAmBD,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQxF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrE;AA4xBD;;;;;GAKG;AACH,qBAAa,UAAW,YAAW,cAAc;IAC/C,EAAE,SAAS;IACX,IAAI,SAAmB;IACvB,WAAW,SAA8C;IACzD,QAAQ,EAAG,WAAW,CAAU;IAChC,OAAO,EAAE,MAAM,EAAE,CAAM;IAEjB,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAs9B3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAEjD;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,YAAmB,CAAC"}
@@ -30,6 +30,11 @@ import { appendProjectLocalActivity, emitDiscoverEventsDeduped, } from '../../ex
30
30
  import { hashBundleArtifacts } from '../../extensions/project-local-remove.js';
31
31
  import { installAiwgHooks } from '../../extensions/claude-hooks-installer.js';
32
32
  import { detectScope, mirrorToUserScope, rejectOpenClawProjectScope } from '../scope-resolver.js';
33
+ import { maybeWarnProjectIsolation } from '../project-isolation/index.js';
34
+ // Module-level guard so the iteration loops further down (which re-enter
35
+ // execute() per framework/provider) don't re-emit the warning each pass.
36
+ // Reset is not needed: a single CLI process is one user invocation.
37
+ let projectIsolationChecked = false;
33
38
  // Context-pipeline: emits AIWG.md + AGENTS.md as the last step of `aiwg use`
34
39
  // for non-Claude providers per ADR-1 (.aiwg/architecture/adr-agents-md-aggregation.md).
35
40
  // Distinct from agentsmith (which creates subagent personas).
@@ -917,6 +922,22 @@ export class UseHandler {
917
922
  // Rewrite --prefix to --target for downstream compatibility
918
923
  remainingArgs[prefixIdx] = '--target';
919
924
  }
925
+ // Project-isolation warning (UC-NUA-002 / SAD §5.1). Fires once per CLI
926
+ // process. Skipped when --target/--prefix is explicit (the user named a
927
+ // destination) so the warning never fights with intentional out-of-cwd
928
+ // deploys. Skipped on recursive iteration via the module-level guard.
929
+ if (!projectIsolationChecked) {
930
+ projectIsolationChecked = true;
931
+ const userTargetedExplicitDir = remainingArgs.includes('--target');
932
+ if (!userTargetedExplicitDir) {
933
+ const isolationResult = await maybeWarnProjectIsolation({ cwd: ctx.cwd ?? process.cwd() });
934
+ if (isolationResult.cancelled) {
935
+ // User pressed Ctrl-C during the delay — exit cleanly with no
936
+ // artifacts written (UC-NUA-002 Alt A2).
937
+ return { exitCode: 130, message: 'Cancelled.' };
938
+ }
939
+ }
940
+ }
920
941
  // Read project config for config-first resolution (#621).
921
942
  // projectDir resolution uses the shared helper so --target/--prefix,
922
943
  // ctx.cwd, and process.cwd() fallback are handled consistently across
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/cli/handlers/use.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/cli/handlers/use.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface DetectionResult {
2
+ found: boolean;
3
+ signal: string | null;
4
+ foundAt: string | null;
5
+ }
6
+ export declare function detectProjectSignal(start: string): DetectionResult;
7
+ export declare function isUnsuitableCwd(cwd: string, home: string): boolean;
8
+ //# sourceMappingURL=detect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../../src/cli/project-isolation/detect.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAKD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAgBlE;AAyBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAMlE"}
@@ -0,0 +1,70 @@
1
+ // Stat-only signal-walk used by warning.ts to decide whether the cwd looks
2
+ // like a project. Stat-only is required so detection stays under 50ms even
3
+ // in deep directories (NFR-PERF-01). Walk depth is bounded by
4
+ // MAX_PARENT_DEPTH (NFR-PERF-02).
5
+ import { existsSync, readdirSync, statSync } from 'node:fs';
6
+ import { join, parse } from 'node:path';
7
+ import { PROJECT_SIGNALS, CSPROJ_PATTERN, MAX_PARENT_DEPTH } from './signals.js';
8
+ // Walk `start` and up to MAX_PARENT_DEPTH parents looking for any entry in
9
+ // PROJECT_SIGNALS, or any file matching CSPROJ_PATTERN. Returns on first
10
+ // hit so a project root in cwd short-circuits the walk.
11
+ export function detectProjectSignal(start) {
12
+ let dir = start;
13
+ for (let depth = 0; depth <= MAX_PARENT_DEPTH; depth++) {
14
+ for (const signal of PROJECT_SIGNALS) {
15
+ if (existsSync(join(dir, signal))) {
16
+ return { found: true, signal, foundAt: dir };
17
+ }
18
+ }
19
+ if (hasCsprojFile(dir)) {
20
+ return { found: true, signal: '*.csproj', foundAt: dir };
21
+ }
22
+ const parent = parse(dir).dir;
23
+ if (parent === dir)
24
+ break;
25
+ dir = parent;
26
+ }
27
+ return { found: false, signal: null, foundAt: null };
28
+ }
29
+ // True when `dir` directly contains at least one *.csproj file.
30
+ function hasCsprojFile(dir) {
31
+ try {
32
+ const entries = readdirSync(dir);
33
+ for (const entry of entries) {
34
+ if (CSPROJ_PATTERN.test(entry)) {
35
+ const full = join(dir, entry);
36
+ try {
37
+ if (statSync(full).isFile())
38
+ return true;
39
+ }
40
+ catch {
41
+ // Ignore stat failures for individual entries — keep walking.
42
+ }
43
+ }
44
+ }
45
+ }
46
+ catch {
47
+ // Unreadable dir is treated as "no signal here." Walk continues.
48
+ }
49
+ return false;
50
+ }
51
+ // True when `cwd` is one of the directories where we should prompt the
52
+ // user. $HOME, /, and /tmp are the canonical surprise-deploy locations.
53
+ // The check tolerates trailing separators on Windows.
54
+ export function isUnsuitableCwd(cwd, home) {
55
+ const normalized = stripTrailingSep(cwd);
56
+ if (normalized === stripTrailingSep(home))
57
+ return true;
58
+ if (normalized === '/')
59
+ return true;
60
+ if (normalized === '/tmp')
61
+ return true;
62
+ return false;
63
+ }
64
+ function stripTrailingSep(p) {
65
+ if (p.length > 1 && (p.endsWith('/') || p.endsWith('\\'))) {
66
+ return p.slice(0, -1);
67
+ }
68
+ return p;
69
+ }
70
+ //# sourceMappingURL=detect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../../src/cli/project-isolation/detect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { maybeWarnProjectIsolation, WARNING_TEXT, GLOBAL_INSTALL_INFO, DEFAULT_DELAY_MS } from './warning.js';
2
+ export type { WarningOptions, WarningResult } from './warning.js';
3
+ export { detectProjectSignal, isUnsuitableCwd } from './detect.js';
4
+ export type { DetectionResult } from './detect.js';
5
+ export { PROJECT_SIGNALS, CSPROJ_PATTERN, MAX_PARENT_DEPTH } from './signals.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/project-isolation/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9G,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,7 @@
1
+ // Public API for the project-isolation module. Consumers (use.ts) should
2
+ // import from here, not from internal files, so the module shape can evolve
3
+ // without rippling.
4
+ export { maybeWarnProjectIsolation, WARNING_TEXT, GLOBAL_INSTALL_INFO, DEFAULT_DELAY_MS } from './warning.js';
5
+ export { detectProjectSignal, isUnsuitableCwd } from './detect.js';
6
+ export { PROJECT_SIGNALS, CSPROJ_PATTERN, MAX_PARENT_DEPTH } from './signals.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/project-isolation/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,4EAA4E;AAC5E,oBAAoB;AAEpB,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9G,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const PROJECT_SIGNALS: readonly [".git", "package.json", "pyproject.toml", "Cargo.toml", "go.mod", "pom.xml", "Gemfile", "build.gradle"];
2
+ export declare const CSPROJ_PATTERN: RegExp;
3
+ export declare const MAX_PARENT_DEPTH = 3;
4
+ //# sourceMappingURL=signals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../../../src/cli/project-isolation/signals.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,mHASlB,CAAC;AAIX,eAAO,MAAM,cAAc,QAAe,CAAC;AAE3C,eAAO,MAAM,gBAAgB,IAAI,CAAC"}
@@ -0,0 +1,17 @@
1
+ // Single source of truth for project-signal filenames used by detect.ts.
2
+ // Adding a new ecosystem means adding one entry here; nothing else changes (NFR-MAINT-01).
3
+ export const PROJECT_SIGNALS = [
4
+ '.git',
5
+ 'package.json',
6
+ 'pyproject.toml',
7
+ 'Cargo.toml',
8
+ 'go.mod',
9
+ 'pom.xml',
10
+ 'Gemfile',
11
+ 'build.gradle',
12
+ ];
13
+ // .csproj is matched separately via glob in detect.ts because the filename
14
+ // varies by project name.
15
+ export const CSPROJ_PATTERN = /\.csproj$/i;
16
+ export const MAX_PARENT_DEPTH = 3;
17
+ //# sourceMappingURL=signals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signals.js","sourceRoot":"","sources":["../../../../src/cli/project-isolation/signals.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,2FAA2F;AAE3F,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;IACN,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,SAAS;IACT,cAAc;CACN,CAAC;AAEX,2EAA2E;AAC3E,0BAA0B;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ export declare const WARNING_TEXT = "No project detected here. AIWG will deploy to the current directory. To associate AIWG with a specific project, run this from your project root. Continuing in 3 seconds \u2014 press Ctrl-C to cancel.";
2
+ export declare const GLOBAL_INSTALL_INFO = "AIWG_GLOBAL_INSTALL=1 set \u2014 deploying to current directory without project check.";
3
+ export declare const DEFAULT_DELAY_MS = 3000;
4
+ export interface WarningOptions {
5
+ cwd: string;
6
+ home?: string;
7
+ env?: NodeJS.ProcessEnv;
8
+ delayMs?: number;
9
+ writer?: (msg: string) => void;
10
+ logActivity?: (operation: string, summary: string) => Promise<void>;
11
+ delayWithCancel?: (ms: number) => Promise<{
12
+ cancelled: boolean;
13
+ }>;
14
+ }
15
+ export interface WarningResult {
16
+ cancelled: boolean;
17
+ outcome: 'global-install' | 'project-signal-found' | 'cwd-ok' | 'warned' | 'cancelled';
18
+ }
19
+ export declare function maybeWarnProjectIsolation(opts?: WarningOptions): Promise<WarningResult>;
20
+ //# sourceMappingURL=warning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warning.d.ts","sourceRoot":"","sources":["../../../../src/cli/project-isolation/warning.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY,4MAC6K,CAAC;AAEvM,eAAO,MAAM,mBAAmB,2FACqD,CAAC;AAEtF,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IAEZ,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAExB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAG/B,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGpE,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,aAAa;IAE5B,SAAS,EAAE,OAAO,CAAC;IAEnB,OAAO,EAAE,gBAAgB,GAAG,sBAAsB,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;CACxF;AAID,wBAAsB,yBAAyB,CAC7C,IAAI,GAAE,cAAuC,GAC5C,OAAO,CAAC,aAAa,CAAC,CA6CxB"}
@@ -0,0 +1,102 @@
1
+ // Warning emission + 3-second cancellable delay used by the `aiwg use`
2
+ // invocation path. Wraps detect.ts to enforce the trigger contract defined
3
+ // in UC-NUA-002 / SAD §5.1.2.
4
+ import { homedir } from 'node:os';
5
+ import { detectProjectSignal, isUnsuitableCwd } from './detect.js';
6
+ // Verbatim warning text from UC-NUA-002. Tests assert string equality so
7
+ // any wording change here breaks the build deliberately (NFR-USE-01).
8
+ export const WARNING_TEXT = 'No project detected here. AIWG will deploy to the current directory. To associate AIWG with a specific project, run this from your project root. Continuing in 3 seconds — press Ctrl-C to cancel.';
9
+ export const GLOBAL_INSTALL_INFO = 'AIWG_GLOBAL_INSTALL=1 set — deploying to current directory without project check.';
10
+ export const DEFAULT_DELAY_MS = 3000;
11
+ // The entrypoint called early in `aiwg use`. Returns synchronously when no
12
+ // warning is needed; awaits the delay when the warning fires.
13
+ export async function maybeWarnProjectIsolation(opts = { cwd: process.cwd() }) {
14
+ const cwd = opts.cwd;
15
+ const home = opts.home ?? homedir();
16
+ const env = opts.env ?? process.env;
17
+ const writer = opts.writer ?? defaultStderrWriter;
18
+ const logActivity = opts.logActivity ?? defaultActivityLogger;
19
+ const delayMs = opts.delayMs ?? DEFAULT_DELAY_MS;
20
+ const delayWithCancel = opts.delayWithCancel ?? defaultDelayWithCancel;
21
+ // Env-var opt-out is checked first so detection work is skipped entirely
22
+ // (NFR-REL-02, NFR-PERF-01).
23
+ if (env.AIWG_GLOBAL_INSTALL === '1') {
24
+ writer(GLOBAL_INSTALL_INFO);
25
+ return { cancelled: false, outcome: 'global-install' };
26
+ }
27
+ // If we find a signal anywhere on the walk, the cwd is part of a project.
28
+ // We continue silently — no warning, no info line — to keep the
29
+ // default UX unchanged (NFR-COMPAT-02).
30
+ const detection = detectProjectSignal(cwd);
31
+ if (detection.found) {
32
+ return { cancelled: false, outcome: 'project-signal-found' };
33
+ }
34
+ // No signal AND the cwd isn't a recognized surprise location. We assume
35
+ // the user knows what they're doing and continue silently.
36
+ if (!isUnsuitableCwd(cwd, home)) {
37
+ return { cancelled: false, outcome: 'cwd-ok' };
38
+ }
39
+ writer(WARNING_TEXT);
40
+ const result = await delayWithCancel(delayMs);
41
+ if (result.cancelled) {
42
+ return { cancelled: true, outcome: 'cancelled' };
43
+ }
44
+ // Activity-log write happens AFTER a non-cancelled emission so cancelled
45
+ // runs leave no on-disk evidence (NFR-OBS-01 + UC-NUA-002 A2 postcondition).
46
+ try {
47
+ await logActivity('warn', `no-project-signal: ${cwd}`);
48
+ }
49
+ catch {
50
+ // Activity-log failure must not block deployment — it's observability,
51
+ // not control flow. Swallow and continue.
52
+ }
53
+ return { cancelled: false, outcome: 'warned' };
54
+ }
55
+ function defaultStderrWriter(msg) {
56
+ process.stderr.write(msg + '\n');
57
+ }
58
+ // Wait `ms` milliseconds OR until the user sends SIGINT. Either branch
59
+ // removes the listener so the rest of the process stays responsive.
60
+ function defaultDelayWithCancel(ms) {
61
+ return new Promise((resolve) => {
62
+ const onSigint = () => {
63
+ cleanup();
64
+ resolve({ cancelled: true });
65
+ };
66
+ const timer = setTimeout(() => {
67
+ cleanup();
68
+ resolve({ cancelled: false });
69
+ }, ms);
70
+ const cleanup = () => {
71
+ clearTimeout(timer);
72
+ process.removeListener('SIGINT', onSigint);
73
+ };
74
+ process.on('SIGINT', onSigint);
75
+ });
76
+ }
77
+ // Lazy-imported activity-log writer so a missing storage adapter at startup
78
+ // (e.g. in tests that don't touch the filesystem) doesn't crash the load.
79
+ async function defaultActivityLogger(operation, summary) {
80
+ const { resolveStorage } = await import('../../storage/index.js');
81
+ const { formatEntry } = await import('../../activity-log/types.js');
82
+ const adapter = await resolveStorage('activity_log');
83
+ const line = formatEntry({
84
+ timestamp: new Date(),
85
+ operation: operation,
86
+ summary,
87
+ });
88
+ const path = 'activity.log';
89
+ if (typeof adapter.append === 'function') {
90
+ const existing = (await adapter.read(path)) ?? '';
91
+ if (existing.length > 0 && !existing.endsWith('\n')) {
92
+ await adapter.append(path, '\n');
93
+ }
94
+ await adapter.append(path, line + '\n');
95
+ }
96
+ else {
97
+ const existing = (await adapter.read(path)) ?? '';
98
+ const trailing = existing.length === 0 || existing.endsWith('\n') ? '' : '\n';
99
+ await adapter.write(path, existing + trailing + line + '\n');
100
+ }
101
+ }
102
+ //# sourceMappingURL=warning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warning.js","sourceRoot":"","sources":["../../../../src/cli/project-isolation/warning.ts"],"names":[],"mappings":"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"}
@@ -140,7 +140,7 @@ export function registerDiscoveryTools(server) {
140
140
  // ============================================================
141
141
  server.registerTool('rule-list', {
142
142
  title: 'List AIWG Rules',
143
- description: 'Enumerate AIWG enforcement rules (e.g. no-attribution, anti-laziness, citation-policy). Top-6 CRITICAL rules are inlined into Hermes AGENTS.md priming; this tool reaches the rest.',
143
+ description: 'Enumerate AIWG enforcement rules (e.g. skill-discovery, no-attribution, anti-laziness, citation-policy). Top-7 CRITICAL/HIGH rules are inlined into Hermes AGENTS.md priming (skill-discovery added #1347); this tool reaches the rest.',
144
144
  inputSchema: {
145
145
  filter: z.string().optional().describe('Substring filter on rule name'),
146
146
  limit: z.number().int().min(1).max(200).default(50),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiwg",
3
- "version": "2026.5.4",
3
+ "version": "2026.5.5",
4
4
  "description": "Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 4 more) so one source of truth works across 10 platforms. Optional utilities for persistent artifact memory, background orchestration, autonomous loops, and artifact indexing.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -100,22 +100,38 @@ const HERMES_AGENTS_MD_HARD_CAP = 19_000;
100
100
  const HERMES_AGENTS_MD_SOFT_WARN = 15_000;
101
101
 
102
102
  /**
103
- * Top-6 CRITICAL rule directives, inlined into AGENTS.md for guaranteed
104
- * priming on every Hermes turn (#1318 / S7).
103
+ * Top-7 CRITICAL rule directives, inlined into AGENTS.md for guaranteed
104
+ * priming on every Hermes turn (#1318 / S7; skill-discovery added #1347).
105
105
  *
106
106
  * The full rule bodies (29 total) are reachable via the MCP `rule-list`
107
107
  * and `rule-show` tools (#1320). The bodies exceed Hermes's 20K context
108
108
  * cap if inlined verbatim (anti-laziness alone is 32K chars), so we
109
109
  * inline compressed directives only and point to MCP for the full text.
110
110
  *
111
- * Selection criteria: rules tagged CRITICAL enforcement level whose
111
+ * Selection criteria: rules tagged CRITICAL/HIGH enforcement level whose
112
112
  * violations are silent or destructive (cost of remembering to query
113
- * rule-show > cost of inlining the directive).
113
+ * rule-show > cost of inlining the directive). skill-discovery is HIGH
114
+ * but is the linchpin of the discover-first architecture across all
115
+ * providers and is therefore inlined alongside the CRITICAL set.
114
116
  */
115
117
  const CRITICAL_RULE_DIRECTIVES = `## CRITICAL Rules (always apply)
116
118
 
117
119
  These are the highest-enforcement AIWG rules. Full bodies via \`mcp_aiwg_rule_show\`.
118
- Other 23 rules: \`mcp_aiwg_rule_list\`.
120
+ Other 22 rules: \`mcp_aiwg_rule_list\`.
121
+
122
+ ### skill-discovery (discover-first protocol)
123
+ Before declining a user request as "outside AIWG's scope" or improvising a
124
+ workflow from training data, you MUST run \`mcp_aiwg_discover\` against
125
+ the user's need. Most AIWG skills (~385 of ~400) are not in your context —
126
+ they reach you only via \`mcp_aiwg_discover\` + \`mcp_aiwg_skill_show\`. Run
127
+ discover whenever the user mentions AIWG, a framework name (sdlc, research,
128
+ forensics, ops, marketing, security-engineering, media-curator,
129
+ knowledge-base), or capability keywords (skill, agent, command, rule,
130
+ workflow). Filesystem search via \`Read\` / \`Glob\` / \`Grep\` against AIWG
131
+ storage paths is FORBIDDEN as a first move — the MCP discover index covers
132
+ 10x the surface area with ranked results. After discover returns a match,
133
+ fetch its body with \`mcp_aiwg_skill_show\` (or the type-specific show
134
+ tool), never read the path directly.
119
135
 
120
136
  ### no-attribution
121
137
  Never add AI-tool attribution to commits, PRs, code, or docs. No \`Co-Authored-By:\`,
@@ -245,7 +245,52 @@ function transformCommandToSection(commandPath) {
245
245
  }
246
246
 
247
247
  /**
248
- * Generate AIWG content section (aggregate agents and commands)
248
+ * Transform rule markdown file to WARP.md section format.
249
+ * Rule content is inlined verbatim under an H3 heading (the rule name in
250
+ * Title Case), so Warp agents see the full rule body in their context.
251
+ * Per #1346 — closes cross-provider parity gap on the skill-discovery
252
+ * rule and other aiwg-utils rules that Warp's "rules via WARP.md only"
253
+ * convention previously left unwired.
254
+ */
255
+ function transformRuleToSection(rulePath) {
256
+ const content = fs.readFileSync(rulePath, 'utf8');
257
+ const name = path.basename(rulePath, '.md');
258
+
259
+ // Strip frontmatter if present; the agent doesn't need the YAML.
260
+ const fmMatch = content.match(/^---\n[\s\S]*?\n---\n([\s\S]*)$/);
261
+ const body = (fmMatch ? fmMatch[1] : content).trim();
262
+
263
+ // Rules typically start with their own H1 (# Rule Name) — we want H3 in
264
+ // WARP.md so the rule slots under "## AIWG Rules". Strip a leading H1
265
+ // and rely on the section heading below; downshift surviving H2/H3.
266
+ const downshifted = body
267
+ .replace(/^# .+\n+/, '') // drop leading H1
268
+ .replace(/^## /gm, '#### ')
269
+ .replace(/^### /gm, '##### ');
270
+
271
+ const title = name.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' ');
272
+ return `### ${title}\n\n${downshifted}\n`;
273
+ }
274
+
275
+ /**
276
+ * Collect aiwg-utils rule file paths for inlining into WARP.md.
277
+ * Focused on cross-provider parity rules: discover-first is the linchpin
278
+ * (#1343, #1346); other aiwg-utils rules are included to match the
279
+ * intent of "rules via WARP.md" stated in tools/agents/providers/warp.mjs.
280
+ * Per the activity-log rule and feedback_parity_no_removal: always-deploy.
281
+ */
282
+ function collectAiwgRulePaths(aiwgRoot) {
283
+ const utilsRules = path.join(aiwgRoot, 'agentic', 'code', 'addons', 'aiwg-utils', 'rules');
284
+ if (!fs.existsSync(utilsRules)) return [];
285
+ return listMdFiles(utilsRules)
286
+ // RULES-INDEX.md is a navigation aid for filesystem deployments; for
287
+ // Warp's inlined aggregation the full rule bodies are inlined directly,
288
+ // so the index would be duplicate content. Skip it.
289
+ .filter(p => !path.basename(p).startsWith('RULES-INDEX'));
290
+ }
291
+
292
+ /**
293
+ * Generate AIWG content section (aggregate agents, commands, and rules)
249
294
  */
250
295
  function generateAIWGContent(aiwgRoot, mode) {
251
296
  const timestamp = new Date().toISOString();
@@ -347,6 +392,33 @@ function generateAIWGContent(aiwgRoot, mode) {
347
392
  }
348
393
  }
349
394
 
395
+ // Aggregate cross-provider rules into WARP.md (#1346 — Warp parity fix).
396
+ // Warp's only rule-delivery channel is WARP.md (no .warp/rules/ scan),
397
+ // so the aiwg-utils rules — including the load-bearing skill-discovery
398
+ // protocol — must be inlined here to reach Warp agents.
399
+ const rulePaths = collectAiwgRulePaths(aiwgRoot);
400
+ if (rulePaths.length > 0) {
401
+ content += '---\n\n';
402
+ content += '## AIWG Rules\n\n';
403
+ content += 'These rules govern agent behavior across all AIWG-supported providers. Warp delivers them via this aggregated section because Warp does not natively scan `.warp/rules/`. The full source for each rule lives at `$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/<rule-name>.md`.\n\n';
404
+ // Place skill-discovery first — it is the load-bearing rule the parity
405
+ // fix exists to surface (per #1343/#1346). Agents that read top-down
406
+ // hit the discover-first protocol immediately.
407
+ const sorted = [...rulePaths].sort((a, b) => {
408
+ const ax = path.basename(a, '.md');
409
+ const bx = path.basename(b, '.md');
410
+ if (ax === 'skill-discovery') return -1;
411
+ if (bx === 'skill-discovery') return 1;
412
+ return ax.localeCompare(bx);
413
+ });
414
+ for (const rulePath of sorted) {
415
+ const section = transformRuleToSection(rulePath);
416
+ if (section) {
417
+ content += section + '\n';
418
+ }
419
+ }
420
+ }
421
+
350
422
  // Add natural language section
351
423
  content += '---\n\n';
352
424
  content += '## Natural Language Command Translation\n\n';