aiwg 2026.7.17 → 2026.7.18

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/LICENSE CHANGED
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
21
+ SOFTWARE.
package/README.md CHANGED
@@ -18,14 +18,13 @@ release host:
18
18
 
19
19
  ```bash
20
20
  npm i -g @aiwg/cli
21
- aiwg discover "architecture evolution" \
22
- --resource-source web \
23
- --aiwg-version stable
21
+ aiwg discover "architecture evolution"
22
+ aiwg show skill architecture-evolution
24
23
  ```
25
24
 
26
25
  See [Web-Backed AIWG Resources](docs/install/web-backed-resources.md) for source
27
- selection, cache verification, offline use, and the current framework-graph
28
- constraints.
26
+ selection, exact-version overrides, cache verification, offline use, and the
27
+ current framework-graph constraints.
29
28
 
30
29
  Then ask your AI assistant to set up the project for AIWG. The agent-led setup
31
30
  conversation should establish remotes, issue storage, delivery behavior,
@@ -17,9 +17,12 @@
17
17
  * @tests @test/unit/artifacts/cli.test.ts
18
18
  */
19
19
  import path from 'node:path';
20
+ import { readFileSync } from 'node:fs';
21
+ import { fileURLToPath } from 'node:url';
20
22
  import { GRAPH_CONFIGS, OPERATIONAL_DISCOVERY_TYPES, OPERATIONAL_SHOW_TYPES, isOperationalShowType, loadUserGraphConfigs, loadGlobalGraphConfigs, orderedGraphEntries, } from './types.js';
21
23
  import { SUPPORTED_VIEWS } from './corpus-views/renderers.js';
22
24
  import { parseResourceSelector, readVerifiedRegularFile, } from '../resources/web-release.js';
25
+ import { findPackageRoot } from '../cli/find-package-root.js';
23
26
  const MAX_RESOURCE_TRUST_ROOT_BYTES = 64 * 1024;
24
27
  function webReleaseOptionsFromEnvironment() {
25
28
  const baseUrl = process.env.AIWG_RESOURCE_BASE_URL;
@@ -82,6 +85,27 @@ function parseBackendFlag(args) {
82
85
  function parseSearchBackendFlag(args) {
83
86
  return parseBackendFlag(args) ?? 'fortemi-core';
84
87
  }
88
+ /**
89
+ * The full `aiwg` package owns a local corpus, while `@aiwg/cli` intentionally
90
+ * ships only executable code and embedded runtime metadata. Select web
91
+ * resources automatically for the lightweight distribution so a normal
92
+ * `aiwg discover` / `aiwg show` invocation works immediately after install.
93
+ *
94
+ * Resolve from this module rather than process.argv so the exported API gets
95
+ * the same package-aware default as the npm binary.
96
+ */
97
+ function defaultResourceSource() {
98
+ const packageRoot = findPackageRoot(path.dirname(fileURLToPath(import.meta.url)));
99
+ if (!packageRoot)
100
+ return 'local';
101
+ try {
102
+ const manifest = JSON.parse(readFileSync(path.join(packageRoot, 'package.json'), 'utf8'));
103
+ return manifest.name === '@aiwg/cli' ? 'web' : 'local';
104
+ }
105
+ catch {
106
+ return 'local';
107
+ }
108
+ }
85
109
  function parseResourceSourceFlag(args) {
86
110
  const indices = args
87
111
  .map((arg, index) => arg === '--resource-source' ? index : -1)
@@ -91,7 +115,7 @@ function parseResourceSourceFlag(args) {
91
115
  process.exit(1);
92
116
  }
93
117
  if (indices.length === 0)
94
- return 'local';
118
+ return defaultResourceSource();
95
119
  const value = args[indices[0] + 1];
96
120
  if (value === 'local' || value === 'web' || value === 'auto')
97
121
  return value;
@@ -23,7 +23,11 @@ const MAX_SIGNATURE_BYTES = 64 * 1024;
23
23
  const MAX_COMPLETION_MARKER_BYTES = 4 * 1024;
24
24
  const MAX_CHANNEL_CACHE_CANDIDATES = 128;
25
25
  const MAX_RELEASE_CACHE_CANDIDATES = 32;
26
- const RESOURCE_FETCH_TIMEOUT_MS = 15_000;
26
+ // A cold lightweight-CLI install downloads the signed release manifest
27
+ // (~2 MiB) and Fortemi export (~11 MiB today). Fifteen seconds proved too
28
+ // aggressive on otherwise healthy container and remote-network paths. Keep a
29
+ // finite total-request bound, but allow normal first-run transfer variance.
30
+ const RESOURCE_FETCH_TIMEOUT_MS = 60_000;
27
31
  function isRecord(value) {
28
32
  return value !== null && typeof value === "object" && !Array.isArray(value);
29
33
  }
@@ -3571,9 +3571,10 @@ aiwg discover "<phrase>" [options]
3571
3571
  fall back to the packaged prebuilt index described in
3572
3572
  [`docs/fortemi-core-prebuilt-indices.md`](fortemi-core-prebuilt-indices.md).
3573
3573
  - `--resource-source <local|web|auto>` — Select installed resources, signed
3574
- web resources, or local-first fallback for this call. `local` is the default.
3575
- The current `web` slice requires the `framework` graph and the `fortemi-core`
3576
- backend.
3574
+ web resources, or local-first fallback for this call. The full `aiwg`
3575
+ distribution defaults to `local`; the lightweight `@aiwg/cli` distribution
3576
+ defaults to `web`. The current `web` slice requires the `framework` graph and
3577
+ the `fortemi-core` backend.
3577
3578
  - `--aiwg-version <version-or-channel>` — Select the exact signed resource
3578
3579
  release or channel (`stable`, `candidate`, `nightly`) for web resolution.
3579
3580
  - `--offline` — For web resolution, use only previously verified cached release
@@ -3588,6 +3589,7 @@ aiwg discover "audit security" --type skill # narrow to skills only
3588
3589
  aiwg discover "rotate service certificates" --type runbook # procedural runbooks only
3589
3590
  aiwg discover "review code" --type agent --format json --compact # JSON for sub-agent consumption
3590
3591
  aiwg discover "static retrieval" --json # legacy JSON alias
3592
+ aiwg discover "architecture evolution" # @aiwg/cli selects signed stable web resources
3591
3593
  aiwg discover "architecture evolution" --resource-source web --aiwg-version stable
3592
3594
  aiwg discover "architecture evolution" --resource-source web --offline
3593
3595
  ```
@@ -3654,9 +3656,10 @@ aiwg index show <type> <name> [options] # equivalent
3654
3656
  `fortemi-core`; `local` selects the legacy local fallback. The Fortemi Core
3655
3657
  backend reads the static cache created by `aiwg index sync`.
3656
3658
  - `--resource-source <local|web|auto>` — Select installed resources, signed
3657
- web resources, or local-first fallback for this call. `local` is the default.
3658
- The current `web` slice requires the `framework` graph and the `fortemi-core`
3659
- backend.
3659
+ web resources, or local-first fallback for this call. The full `aiwg`
3660
+ distribution defaults to `local`; the lightweight `@aiwg/cli` distribution
3661
+ defaults to `web`. The current `web` slice requires the `framework` graph and
3662
+ the `fortemi-core` backend.
3660
3663
  - `--aiwg-version <version-or-channel>` — Select the exact signed resource
3661
3664
  release or channel (`stable`, `candidate`, `nightly`) for web resolution.
3662
3665
  - `--offline` — For web resolution, use only previously verified cached release
@@ -3674,6 +3677,7 @@ aiwg index show <type> <name> [options] # equivalent
3674
3677
  ```bash
3675
3678
  aiwg show skill aiwg:skill:6f1477d99813ca8d # streams SKILL.md to stdout
3676
3679
  aiwg show skill flow-deploy-to-production --json # id + path + content envelope
3680
+ aiwg show skill architecture-evolution # @aiwg/cli selects signed stable web resources
3677
3681
  aiwg show skill architecture-evolution --resource-source web --aiwg-version stable
3678
3682
  aiwg show metadata aiwg:skill:6f1477d99813ca8d --json # full Fortemi metadata + paths
3679
3683
  aiwg show agent aiwg-steward # agent definition
@@ -1,11 +1,14 @@
1
1
  # Web-Backed AIWG Resources
2
2
 
3
- **Status**: Experimental / partially implemented
3
+ **Status**: Beta / framework discovery and lookup
4
4
 
5
- AIWG has an experimental implementation for web-backed resource loading. The
6
- `local` source remains the default and continues to work as the stable path.
5
+ AIWG has a beta implementation for web-backed resource loading. The
6
+ full `aiwg` distribution continues to default to its bundled local corpus. The
7
+ lightweight `@aiwg/cli` distribution defaults to the signed `stable` web
8
+ channel because it intentionally does not bundle that corpus.
7
9
 
8
- Operator workflows should remain command-driven and unchanged; source selection is controlled by per-call flags.
10
+ Operator workflows remain command-driven and unchanged. Source selection is
11
+ automatic for the normal package choice and can be overridden per call.
9
12
 
10
13
  Release artifacts are hosted at `releases.aiwg.io` (not `aiwg.io/resources`),
11
14
  and the public AIWG website remains separate.
@@ -16,14 +19,17 @@ Web-backed use does not require the full npm corpus package. Install the
16
19
  CalVer-locked CLI package instead:
17
20
 
18
21
  ```bash
19
- npm install --global @aiwg/cli@next
20
- aiwg discover "architecture evolution" --resource-source web --aiwg-version stable
22
+ npm install --global @aiwg/cli@latest
23
+ aiwg discover "architecture evolution"
24
+ aiwg show skill architecture-evolution
21
25
  ```
22
26
 
23
27
  `@aiwg/cli` and `aiwg` always publish with the exact same AIWG CalVer. The npm
24
28
  package version selects CLI behavior; `--aiwg-version` independently selects
25
29
  the signed resource release for a call. The CLI package contains executable
26
- and API code only. It does not contain the default framework/addon corpus.
30
+ and API code only. It does not contain the default framework/addon corpus. Both
31
+ the installed executable and the package's exported CLI API apply the same
32
+ default, without project configuration.
27
33
 
28
34
  ## Relocating Project AIWG Artifacts
29
35
 
@@ -43,10 +49,14 @@ setup.
43
49
 
44
50
  | Mode | Behavior |
45
51
  | ------- | ---------------------------------------------------------------------------------------------- |
46
- | `local` | Use installed/project-local resources only. This is the default for all commands. |
52
+ | `local` | Use installed/project-local resources only. This is the default for the full `aiwg` package. |
47
53
  | `web` | Resolve resources from versioned, signed release-host bundles with cache and integrity checks. |
48
54
  | `auto` | Prefer local resources when present; otherwise fall back to web-backed resources. |
49
55
 
56
+ For `discover` and `show`, `@aiwg/cli` selects `web` and the signed `stable`
57
+ channel when no source/version flags are supplied. Explicit
58
+ `--resource-source local|web|auto` and `--aiwg-version` values always win.
59
+
50
60
  ## Current Implemented Commands and Flags
51
61
 
52
62
  `aiwg discover` and `aiwg show` currently support:
@@ -58,12 +68,14 @@ setup.
58
68
  Examples:
59
69
 
60
70
  ```bash
61
- aiwg discover "architecture evolution" --resource-source local --aiwg-version 2026.7.16
71
+ aiwg discover "architecture evolution"
72
+ aiwg discover "architecture evolution" --resource-source local
62
73
  aiwg discover "architecture evolution" --resource-source web --aiwg-version stable
63
- aiwg discover "architecture evolution" --resource-source auto --aiwg-version 2026.7.16
74
+ aiwg discover "architecture evolution" --resource-source auto --aiwg-version 2026.7.18
64
75
  aiwg discover "architecture evolution" --resource-source web --offline
65
76
 
66
- aiwg show skill architecture-evolution --resource-source web --aiwg-version 2026.7.16
77
+ aiwg show skill architecture-evolution
78
+ aiwg show skill architecture-evolution --resource-source web --aiwg-version 2026.7.18
67
79
  aiwg show framework sdlc --resource-source web --aiwg-version candidate
68
80
  aiwg show framework sdlc --resource-source web --offline
69
81
  ```
@@ -123,4 +135,4 @@ AIWG corpus.
123
135
  - `aiwg versions` command family.
124
136
  - Web behavior for `aiwg use`/`aiwg regenerate`.
125
137
  - Lockfile persistence for resolved web versions.
126
- - Repository-wide default-web mode decisions.
138
+ - Web parity for project/codebase graph operations.
@@ -0,0 +1,64 @@
1
+ # AIWG 2026.7.18 - "Web-first CLI and packaged Cockpit"
2
+
3
+ **Released:** 2026-07-23
4
+ **Channel:** stable
5
+
6
+ AIWG 2026.7.18 is a corrective package release for the lightweight web-backed
7
+ CLI and Cockpit distributions introduced in 2026.7.17. It makes the documented
8
+ no-configuration install path match the behavior of the packages users receive
9
+ from npm.
10
+
11
+ ## Highlights
12
+
13
+ - **Web resources by default in `@aiwg/cli`** — install the lightweight package
14
+ and run `aiwg discover` or `aiwg show` without project configuration or
15
+ resource flags. Both the binary and exported CLI API select the signed
16
+ `stable` channel.
17
+ - **Legacy local behavior preserved** — the full `aiwg` package still defaults
18
+ to its bundled local corpus, so existing installations can opt into web mode
19
+ per call without changing project deployments.
20
+ - **Deployable Cockpit tarball** — `@aiwg/cockpit` now includes its compiled
21
+ production web UI and license, launches through npm's global binary symlink,
22
+ and remains available when the optional executor is not installed.
23
+ - **Package-level regression coverage** — clean-install tests verify the real
24
+ package entry points, default configuration, resource resolution, served
25
+ Cockpit UI, licenses, and allowlists.
26
+
27
+ ## Package matrix
28
+
29
+ All three packages publish in CalVer lockstep:
30
+
31
+ ```text
32
+ aiwg@2026.7.18
33
+ @aiwg/cockpit@2026.7.18
34
+ @aiwg/cli@2026.7.18
35
+ ```
36
+
37
+ Use the full local-corpus distribution:
38
+
39
+ ```bash
40
+ npm install --global aiwg@latest
41
+ aiwg discover "architecture evolution"
42
+ ```
43
+
44
+ Use the lightweight signed-web distribution:
45
+
46
+ ```bash
47
+ npm install --global @aiwg/cli@latest
48
+ aiwg discover "architecture evolution"
49
+ aiwg show skill architecture-evolution
50
+ ```
51
+
52
+ Operators can pin resources for one call with `--aiwg-version <version>` or
53
+ override source selection with `--resource-source local|web|auto`.
54
+
55
+ ## Upgrade
56
+
57
+ ```bash
58
+ npm install --global aiwg@latest
59
+ # or
60
+ npm install --global @aiwg/cli@latest
61
+ ```
62
+
63
+ No project migration is required. Existing local configurations and explicit
64
+ web-mode invocations continue to work.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiwg",
3
- "version": "2026.7.17",
3
+ "version": "2026.7.18",
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 6 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": {