ai-capability-framework 1.0.0-rc.5 → 1.0.0

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,8 @@ 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
+ - Prepared the `1.0.0` stable release and made `@aicf/agent-skills` a first-class
8
+ same-version npm artifact in certification, CI, release dry-run, and
9
9
  trusted-publishing workflows.
10
10
  - Added the final v1.0 certification gate with `check:public`, `check:certification`,
11
11
  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,8 +30,6 @@ 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
 
36
35
  Use `npm pack` for npm artifact review and `npm run archive:source` for source review.
@@ -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,12 @@ 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
+
103
104
  Then inspect:
104
105
 
105
106
  ```bash
@@ -204,7 +205,12 @@ and examples should be present at `docs/index.md`, `docs/getting-started/`,
204
205
  - `.github/workflows/docs.yml` runs TypeDoc generation and docs checks for docs and
205
206
  example changes.
206
207
 
207
- ## Trusted Publishing
208
+ ## npm provenance and trusted publishing
209
+
210
+ AICF uses npm Trusted Publishing / GitHub OIDC for both public packages:
211
+
212
+ - `ai-capability-framework`
213
+ - `@aicf/agent-skills`
208
214
 
209
215
  Before relying on GitHub Actions publishing, configure trusted publishing for both npm
210
216
  packages:
@@ -233,10 +239,42 @@ account before the first real publish, and npm trusted publishing must be config
233
239
  that scoped package too.
234
240
 
235
241
  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
242
+ already reachable from `origin/main`. Pre-release versions such as `1.0.0-rc.6` publish
237
243
  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`.
244
+ agent-skills releases use the same version and tag; for package version `1.0.0`, push
245
+ tag `v1.0.0`.
246
+
247
+ ## Partial publish recovery
248
+
249
+ Multi-package npm publishing is not atomic. If one package publishes and the second
250
+ fails, first verify registry state:
251
+
252
+ ```bash
253
+ VERSION=$(node -p "require('./package.json').version")
254
+ npm view "ai-capability-framework@${VERSION}" version
255
+ npm view "@aicf/agent-skills@${VERSION}" version
256
+ ```
257
+
258
+ If only `@aicf/agent-skills` published, fix the workflow or npm ownership issue and
259
+ retry the root package publish at the same version from the same tag. If only the root
260
+ package published, retry the agent-skills publish at the same version from the same tag.
261
+ Do not move the public tag, delete the published version, or reuse a published npm
262
+ version as a normal recovery path.
263
+
264
+ If the tagged code is wrong, or if the failed package cannot be safely published from
265
+ the same commit, bump both package versions and ship a follow-up patch or release
266
+ candidate. Update GitHub release notes to say which package versions were published,
267
+ which package failed, and which follow-up version supersedes the partial release.
268
+
269
+ ## GitHub repository metadata
270
+
271
+ Before stable v1, update the GitHub repository About panel manually:
272
+
273
+ - Description: Provider-agnostic governed capability layer for AI-accessible application
274
+ functionality.
275
+ - Website: use the docs site or npm package URL when available.
276
+ - Topics: ai, agents, tool-calling, evals, governance, model-context-protocol,
277
+ langchain, gemini, anthropic, openai, typescript.
240
278
 
241
279
  ## GitHub Release
242
280
 
@@ -245,8 +283,8 @@ push tag `v1.0.0-rc.5`.
245
283
  - Summarize the framework as schemas, TypeScript core, CLI, deterministic decision APIs,
246
284
  OpenAI Responses adapter, eval runner, docs, and public examples, plus optional
247
285
  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.
286
+ - Publish prerelease packages with a non-default dist tag such as `next`. Stable
287
+ releases publish with `latest`.
250
288
  - Link to `CHANGELOG.md`, `docs/start-here.md`, `docs/openai-walkthrough.md`,
251
289
  `docs/glossary.md`, `docs/api.md`, `docs/spec.md`, `docs/control-plane.md`,
252
290
  `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.0",
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",