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 +2 -2
- package/README.md +3 -4
- package/docs/public/npm-release-preflight.md +11 -2
- package/docs/public-framework/final-certification-matrix.md +7 -1
- package/docs/public-framework/release-process.md +1 -2
- package/docs/public-framework/v1-certification.md +10 -0
- package/docs/release.md +48 -10
- package/package.json +7 -5
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
|
|
8
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
##
|
|
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.
|
|
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
|
|
239
|
-
|
|
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
|
|
249
|
-
|
|
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
|
|
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",
|