ai-capability-framework 1.0.0-rc.5 → 1.0.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,8 +4,17 @@ All notable public changes to AI Capability Framework are documented here.
4
4
 
5
5
  ## Unreleased
6
6
 
7
- - Prepared the `1.0.0-rc.5` release candidate and made `@aicf/agent-skills` a
8
- first-class same-version npm artifact in certification, CI, release dry-run, and
7
+ ## 1.0.1 - 2026-07-27
8
+
9
+ - Updated the resolved `fast-uri` dependency to `3.1.4` to address the high-severity URI
10
+ host-confusion advisories reported by the scheduled security audit.
11
+ - Kept `ai-capability-framework`, `@aicf/agent-skills`, and Codex plugin metadata
12
+ aligned under the coordinated `1.0.1` patch release.
13
+
14
+ ## 1.0.0 - 2026-06-09
15
+
16
+ - Prepared the `1.0.0` stable release and made `@aicf/agent-skills` a first-class
17
+ same-version npm artifact in certification, CI, release dry-run, and
9
18
  trusted-publishing workflows.
10
19
  - Added the final v1.0 certification gate with `check:public`, `check:certification`,
11
20
  public certification docs, workflow hardening, and release-readiness assertions for
package/README.md CHANGED
@@ -272,15 +272,14 @@ npm run skills:check
272
272
  npm run skills:pack:dry
273
273
  npm pack
274
274
  npm run release:preflight:npm
275
- npm publish --dry-run --access public --tag next
276
- npm publish ./agent-skills --dry-run --access public --tag next
275
+ npm run release:publish:dry
277
276
  npm run archive:source
278
277
  npm run check:source-archive
279
278
  ```
280
279
 
281
280
  Release tags publish two npm artifacts from the same commit and version:
282
- `ai-capability-framework` and `@aicf/agent-skills`. For example, package version
283
- `1.0.0-rc.5` uses tag `v1.0.0-rc.5` and the `next` dist tag for both packages.
281
+ `ai-capability-framework` and `@aicf/agent-skills`. For example, package version `1.0.0`
282
+ uses tag `v1.0.0` and the `latest` dist tag for both packages.
284
283
 
285
284
  Use `npm pack` for npm package review and `npm run archive:source` for public source
286
285
  review. Do not zip the working directory manually; raw workspace archives can include
@@ -11,7 +11,7 @@ boundary and makes the release operator verify ownership and publishing setup.
11
11
  | `@aicf/agent-skills` | `@aicf` npm scope | public | Published from the same release tag and version, before the root package. |
12
12
 
13
13
  Both packages must use the same version. Release tags must match that version exactly:
14
- package version `1.0.0-rc.5` uses tag `v1.0.0-rc.5`.
14
+ package version `1.0.0` uses tag `v1.0.0`.
15
15
 
16
16
  ## Ownership
17
17
 
@@ -29,7 +29,7 @@ trusted publishing setup must exist before the tag is pushed.
29
29
 
30
30
  ## Dist Tags
31
31
 
32
- - Prerelease versions with a hyphen, such as `1.0.0-rc.5`, publish with `next`.
32
+ - Prerelease versions with a hyphen, such as `1.0.0-rc.6`, publish with `next`.
33
33
  - Stable versions, such as `1.0.0`, publish with `latest`.
34
34
  - Do not move `latest` to a prerelease intentionally. If a prerelease lands on `latest`,
35
35
  fix the dist tags before announcing the release.
@@ -41,6 +41,11 @@ tokens, one-time passwords, local `.npmrc` auth lines, or long-lived release
41
41
  credentials. The publish workflow must keep `id-token: write` and publish only from `v*`
42
42
  tags that point at `origin/main`.
43
43
 
44
+ AICF uses npm Trusted Publishing / GitHub OIDC for both public packages:
45
+
46
+ - `ai-capability-framework`
47
+ - `@aicf/agent-skills`
48
+
44
49
  ## Preflight Commands
45
50
 
46
51
  See [Final Certification Matrix](../public-framework/final-certification-matrix.md) for
@@ -52,6 +57,10 @@ Run the final matrix and local metadata/registry preflight:
52
57
  npm run check:final-matrix
53
58
  ```
54
59
 
60
+ ```bash
61
+ npm run check:release-tag
62
+ ```
63
+
55
64
  ```bash
56
65
  npm run release:preflight:npm
57
66
  ```
@@ -36,6 +36,7 @@ npm run check:release-install
36
36
  npm run check:metadata
37
37
  npm run check:licenses
38
38
  npm run check:final-matrix
39
+ npm run check:release-tag
39
40
  npm run skills:check
40
41
  npm run check:certification
41
42
  ```
@@ -87,7 +88,7 @@ both package dry-runs with public access:
87
88
  npm run release:publish:dry
88
89
  ```
89
90
 
90
- Prereleases such as `1.0.0-rc.5` use `next`. Stable releases use `latest`. This command
91
+ Prereleases such as `1.0.0-rc.6` use `next`. Stable releases use `latest`. This command
91
92
  does not publish.
92
93
 
93
94
  ## Manual Acceptance
@@ -96,3 +97,8 @@ Before stable v1, maintainers should also review README positioning, MIT license
96
97
  consistency, provider-neutral onboarding, at least one non-OpenAI quickstart, agent
97
98
  skills install docs, npm ownership, trusted publishing, source archive contents, opt-in
98
99
  live test boundaries, and root import optional-dependency isolation.
100
+
101
+ - GitHub repository About/description says AICF is a provider-agnostic governed AI
102
+ capability framework.
103
+ - GitHub topics include at least: ai, agents, tool-calling, evals, governance,
104
+ model-context-protocol, langchain, gemini, anthropic, openai, typescript.
@@ -22,6 +22,7 @@ npm run check:certification
22
22
  npm run check:final-matrix
23
23
  npm run check:metadata
24
24
  npm run check:licenses
25
+ npm run check:release-tag
25
26
  npm run check:release-install
26
27
  npm run skills:ci
27
28
  npm run skills:check
@@ -29,10 +30,13 @@ npm run skills:pack:dry
29
30
  npm run release:preflight:npm
30
31
  npm run release:publish:dry
31
32
  npm pack --dry-run --json
32
- npm publish --dry-run --access public --tag next
33
- npm publish ./agent-skills --dry-run --access public --tag next
34
33
  ```
35
34
 
35
+ `npm run release:publish:dry` runs package publish dry-runs while the target version is
36
+ unpublished. After both public packages at the current version are already on npm, it
37
+ exits successfully with a skip message. A partial state, where only one package version
38
+ is published, remains a failure and must be handled with the documented recovery path.
39
+
36
40
  Use `npm pack` for npm artifact review and `npm run archive:source` for source review.
37
41
  Do not zip the working directory manually.
38
42
 
@@ -40,6 +44,10 @@ Use [Final Certification Matrix](final-certification-matrix.md) to confirm the l
40
44
  command set, workflows, package contents, source archive rule, and publish dry-run
41
45
  commands are still aligned.
42
46
 
47
+ The Release Dry Run workflow is a manual release-review workflow. Run it from GitHub
48
+ Actions when preparing a release candidate or stable tag; ordinary `main` pushes rely on
49
+ CI, validation, docs, and security workflows instead.
50
+
43
51
  AICF uses MIT for the v1 public release. The root package, `@aicf/agent-skills`, the
44
52
  Codex plugin manifest, skill metadata, README, and release docs must agree; see
45
53
  [License Decision](license-decision.md).
@@ -66,6 +66,12 @@ Run the local publish dry-run wrapper before a release tag:
66
66
  npm run release:publish:dry
67
67
  ```
68
68
 
69
+ Run the release tag alignment guard before tagging or reviewing publish workflows:
70
+
71
+ ```bash
72
+ npm run check:release-tag
73
+ ```
74
+
69
75
  For final manual release review, run
70
76
  `node scripts/check-npm-release-preflight.mjs --strict` after npm ownership and trusted
71
77
  publishing are configured.
@@ -118,6 +124,10 @@ Before a public v1.0 tag, manually inspect:
118
124
  - `@aicf/agent-skills` package contents.
119
125
  - README quickstart from a fresh machine or clean container.
120
126
  - fresh-machine quickstart using the public npm package or a clean checkout.
127
+ - GitHub repository About/description says AICF is a provider-agnostic governed AI
128
+ capability framework.
129
+ - GitHub topics include at least: ai, agents, tool-calling, evals, governance,
130
+ model-context-protocol, langchain, gemini, anthropic, openai, typescript.
121
131
  - examples with fake data.
122
132
  - generated API docs.
123
133
  - governance/lifecycle docs.
package/docs/release.md CHANGED
@@ -1,7 +1,6 @@
1
1
  # Release Checklist
2
2
 
3
- This checklist prepares an AICF 1.0 release candidate for GitHub and public npm
4
- distribution.
3
+ This checklist prepares an AICF public release for GitHub and npm distribution.
5
4
 
6
5
  ## Preflight
7
6
 
@@ -66,6 +65,7 @@ npm run skills:check
66
65
  npm run skills:pack:dry
67
66
  npm run check:metadata
68
67
  npm run check:licenses
68
+ npm run check:release-tag
69
69
  npm run check:final-matrix
70
70
  npm run check:release
71
71
  npm run check:release:providers
@@ -95,11 +95,17 @@ npm test -- openai-agents
95
95
  npm pack --dry-run --json
96
96
  npm run release:preflight:npm
97
97
  npm run release:publish:dry
98
- npm publish --dry-run --access public --tag next
99
- npm publish ./agent-skills --dry-run --access public --tag next
100
98
  npm pack
101
99
  ```
102
100
 
101
+ `npm run release:publish:dry` wraps `npm publish --dry-run` for the root package and for
102
+ `@aicf/agent-skills` with the computed `next` or `latest` dist tag.
103
+
104
+ If both package versions are already published, the command exits successfully and
105
+ reports that publish dry-runs were skipped. That keeps post-release `main` checks from
106
+ failing on npm's immutable-version rule. If only one package version is published, the
107
+ command fails and the partial publish recovery steps below apply.
108
+
103
109
  Then inspect:
104
110
 
105
111
  ```bash
@@ -196,15 +202,21 @@ and examples should be present at `docs/index.md`, `docs/getting-started/`,
196
202
  - `.github/workflows/ci.yml` runs root and agent-skills installs, generated-type
197
203
  freshness, build, typecheck, repository lint, tests, validation, conformance,
198
204
  governance gate, package checks, agent-skills checks, and docs build.
199
- - `.github/workflows/release-dry-run.yml` runs the full release gate, package dry-run,
200
- source archive creation/checking, final certification, root npm publish dry-run, and
201
- agent-skills npm publish dry-run.
205
+ - `.github/workflows/release-dry-run.yml` is a manual release-review gate. It runs the
206
+ full release gate, package dry-run, source archive creation/checking, final
207
+ certification, root npm publish dry-run, and agent-skills npm publish dry-run when a
208
+ maintainer starts it with `workflow_dispatch`.
202
209
  - `.github/workflows/security.yml` runs production dependency audit, high-confidence
203
210
  secret scanning, package public hygiene, and workspace public hygiene.
204
211
  - `.github/workflows/docs.yml` runs TypeDoc generation and docs checks for docs and
205
212
  example changes.
206
213
 
207
- ## Trusted Publishing
214
+ ## npm provenance and trusted publishing
215
+
216
+ AICF uses npm Trusted Publishing / GitHub OIDC for both public packages:
217
+
218
+ - `ai-capability-framework`
219
+ - `@aicf/agent-skills`
208
220
 
209
221
  Before relying on GitHub Actions publishing, configure trusted publishing for both npm
210
222
  packages:
@@ -233,10 +245,42 @@ account before the first real publish, and npm trusted publishing must be config
233
245
  that scoped package too.
234
246
 
235
247
  The workflow publishes only when a `v*` tag is pushed and only if the tagged commit is
236
- already reachable from `origin/main`. Pre-release versions such as `1.0.0-rc.5` publish
248
+ already reachable from `origin/main`. Pre-release versions such as `1.0.0-rc.6` publish
237
249
  with the `next` dist tag. Stable versions publish with the `latest` dist tag. Root and
238
- agent-skills releases use the same version and tag; for package version `1.0.0-rc.5`,
239
- push tag `v1.0.0-rc.5`.
250
+ agent-skills releases use the same version and tag; for package version `1.0.0`, push
251
+ tag `v1.0.0`.
252
+
253
+ ## Partial publish recovery
254
+
255
+ Multi-package npm publishing is not atomic. If one package publishes and the second
256
+ fails, first verify registry state:
257
+
258
+ ```bash
259
+ VERSION=$(node -p "require('./package.json').version")
260
+ npm view "ai-capability-framework@${VERSION}" version
261
+ npm view "@aicf/agent-skills@${VERSION}" version
262
+ ```
263
+
264
+ If only `@aicf/agent-skills` published, fix the workflow or npm ownership issue and
265
+ retry the root package publish at the same version from the same tag. If only the root
266
+ package published, retry the agent-skills publish at the same version from the same tag.
267
+ Do not move the public tag, delete the published version, or reuse a published npm
268
+ version as a normal recovery path.
269
+
270
+ If the tagged code is wrong, or if the failed package cannot be safely published from
271
+ the same commit, bump both package versions and ship a follow-up patch or release
272
+ candidate. Update GitHub release notes to say which package versions were published,
273
+ which package failed, and which follow-up version supersedes the partial release.
274
+
275
+ ## GitHub repository metadata
276
+
277
+ Before stable v1, update the GitHub repository About panel manually:
278
+
279
+ - Description: Provider-agnostic governed capability layer for AI-accessible application
280
+ functionality.
281
+ - Website: use the docs site or npm package URL when available.
282
+ - Topics: ai, agents, tool-calling, evals, governance, model-context-protocol,
283
+ langchain, gemini, anthropic, openai, typescript.
240
284
 
241
285
  ## GitHub Release
242
286
 
@@ -245,8 +289,8 @@ push tag `v1.0.0-rc.5`.
245
289
  - Summarize the framework as schemas, TypeScript core, CLI, deterministic decision APIs,
246
290
  OpenAI Responses adapter, eval runner, docs, and public examples, plus optional
247
291
  runtime, observability, live-eval, and self-hostable control-plane subpaths.
248
- - Publish both npm pre-release packages with a non-default dist tag such as `next` until
249
- the final 1.0.0 release is ready.
292
+ - Publish prerelease packages with a non-default dist tag such as `next`. Stable
293
+ releases publish with `latest`.
250
294
  - Link to `CHANGELOG.md`, `docs/start-here.md`, `docs/openai-walkthrough.md`,
251
295
  `docs/glossary.md`, `docs/api.md`, `docs/spec.md`, `docs/control-plane.md`,
252
296
  `docs/openai-responses.md`, `docs/ai-sdk-runtime.md`, `docs/anthropic-runtime.md`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-capability-framework",
3
- "version": "1.0.0-rc.5",
3
+ "version": "1.0.1",
4
4
  "private": false,
5
5
  "description": "Provider-agnostic AI capability contracts, runtime controls, evals, and model/provider adapters.",
6
6
  "license": "MIT",
@@ -223,22 +223,24 @@
223
223
  "archive:source": "node scripts/create-source-archive.mjs",
224
224
  "build": "tsc -p tsconfig.json",
225
225
  "typecheck": "tsc -p tsconfig.json --noEmit",
226
- "check": "npm run check:generated && npm run build && npm run typecheck && npm run lint && npm test && npm run validate && npm run conformance && npm run format:check && npm run gate:examples && npm run docs:build && npm run check:package && npm run check:workspace-public",
226
+ "check": "npm run check:generated && npm run build && npm run typecheck && npm run lint && npm test && npm run validate && npm run conformance && npm run format:check && npm run check:readability && npm run gate:examples && npm run docs:build && npm run check:package && npm run check:workspace-public",
227
227
  "check:docs": "node scripts/check-docs.mjs",
228
228
  "check:generated": "node scripts/check-generated.mjs",
229
+ "check:readability": "node scripts/check-public-readability.mjs",
229
230
  "check:package": "npm run build && npm run check:package:contents && npm run check:package-public && npm run check:release-install",
230
231
  "check:package:contents": "node scripts/check-package.mjs",
231
232
  "check:package-public": "node scripts/check-package-public.mjs",
232
233
  "check:public": "npm run check:package-public && npm run check:workspace-public && npm run check:secrets",
233
234
  "check:metadata": "node scripts/check-metadata.mjs",
234
235
  "check:licenses": "node scripts/check-licenses.mjs",
236
+ "check:release-tag": "node scripts/check-release-tag-alignment.mjs",
235
237
  "check:final-matrix": "node scripts/check-final-certification-matrix.mjs",
236
238
  "check:optional": "vitest run src/__tests__/aws src/__tests__/mcp-server src/__tests__/promptfoo src/__tests__/langfuse src/__tests__/evalops src/__tests__/openai-agents src/__tests__/providers/anthropic src/__tests__/providers/gemini src/__tests__/providers/ai-sdk src/__tests__/providers/langchain src/__tests__/providers/mcp src/__tests__/providers/semantic-kernel src/__tests__/providers/conformance src/__tests__/conformance",
237
239
  "check:providers": "vitest run src/__tests__/providers",
238
240
  "check:providers:live": "npm run test:anthropic:live && npm run test:gemini:live && npm run test:ai-sdk:live && npm run test:langchain:live",
239
241
  "check:providers:mock": "npm run test:anthropic:mock && npm run test:gemini:mock && npm run test:ai-sdk:mock && npm run test:langchain:mock && npm run test:semantic-kernel && npm run test:mcp-provider && npm run test:providers:conformance && npm run test:conformance",
240
242
  "check:release": "npm run check && npm run check:optional && npm pack --dry-run --json",
241
- "check:certification": "npm run check:generated && npm run build && npm run typecheck && npm run lint && npm test && npm run validate && npm run conformance && npm run gate:examples && npm run format:check && npm run docs:build && npm run check:package && npm run check:public && npm run check:metadata && npm run check:licenses && npm run check:final-matrix && npm run check:runtime && npm run check:optional && npm run check:providers:mock && npm run skills:ci && npm run skills:check && npm run skills:pack:dry && npm pack --dry-run --json && node scripts/check-certification.mjs",
243
+ "check:certification": "npm run check:generated && npm run build && npm run typecheck && npm run lint && npm test && npm run validate && npm run conformance && npm run gate:examples && npm run format:check && npm run check:readability && npm run docs:build && npm run check:package && npm run check:public && npm run check:metadata && npm run check:licenses && npm run check:release-tag && npm run check:final-matrix && npm run check:runtime && npm run check:optional && npm run check:providers:mock && npm run skills:ci && npm run skills:check && npm run skills:pack:dry && npm pack --dry-run --json && node scripts/check-certification.mjs",
242
244
  "check:release:providers": "npm run check && npm run check:providers:mock && npm run check:release-install && npm pack --dry-run --json",
243
245
  "check:release-install": "node scripts/check-release-install.mjs",
244
246
  "check:release-source": "npm run check:workspace-public && npm run check:git-clean && npm run check:source-archive",
@@ -249,7 +251,7 @@
249
251
  "check:secrets": "node scripts/check-secrets.mjs",
250
252
  "conformance": "node dist/cli.js conformance run examples --format text",
251
253
  "docs:api": "typedoc --options typedoc.json",
252
- "docs:build": "npm run docs:api && npm run check:docs",
254
+ "docs:build": "npm run docs:api && npm run check:docs && npm run check:readability",
253
255
  "format": "prettier --write .",
254
256
  "format:check": "prettier --check .",
255
257
  "gate:examples": "node dist/cli.js gate examples --env production",
@@ -257,7 +259,7 @@
257
259
  "inspect": "npm run build --silent && node dist/cli.js inspect examples",
258
260
  "lint": "node scripts/check-repo-lint.mjs",
259
261
  "release:preflight:npm": "node scripts/check-npm-release-preflight.mjs",
260
- "release:publish:dry": "node scripts/check-publish-dry-run.mjs",
262
+ "release:publish:dry": "npm run check:release-tag && node scripts/check-publish-dry-run.mjs",
261
263
  "skills:validate": "npm --prefix agent-skills run validate",
262
264
  "skills:test": "npm --prefix agent-skills run test",
263
265
  "skills:check": "npm --prefix agent-skills run check",