ai-capability-framework 1.0.0-rc.3 → 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 +97 -103
- package/CODE_OF_CONDUCT.md +11 -13
- package/CONTRIBUTING.md +40 -43
- package/GOVERNANCE.md +34 -35
- package/README.md +99 -63
- package/ROADMAP.md +12 -12
- package/SECURITY.md +15 -15
- package/dist/audit/ledger.d.ts.map +1 -1
- package/dist/audit/ledger.js +2 -1
- package/dist/audit/records.d.ts.map +1 -1
- package/dist/audit/records.js +2 -1
- package/dist/audit/types.d.ts +4 -1
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/aws/dynamodb-stores.d.ts +2 -7
- package/dist/aws/dynamodb-stores.d.ts.map +1 -1
- package/dist/aws/dynamodb-stores.js +56 -5
- package/dist/aws/testing.d.ts.map +1 -1
- package/dist/aws/testing.js +9 -0
- package/dist/cli.d.ts +6 -6
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +77 -7
- package/dist/evals-live/index.d.ts +2 -2
- package/dist/evals-live/index.d.ts.map +1 -1
- package/dist/evals-live/index.js +1 -1
- package/dist/evals-live/live-eval-runner.d.ts +49 -1
- package/dist/evals-live/live-eval-runner.d.ts.map +1 -1
- package/dist/evals-live/live-eval-runner.js +246 -4
- package/dist/evals-live/types.d.ts +62 -9
- package/dist/evals-live/types.d.ts.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/runtime/actions.d.ts +2 -0
- package/dist/runtime/actions.d.ts.map +1 -1
- package/dist/runtime/actions.js +200 -55
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/stores.d.ts +2 -7
- package/dist/runtime/stores.d.ts.map +1 -1
- package/dist/runtime/stores.js +12 -0
- package/dist/runtime/types.d.ts +25 -6
- package/dist/runtime/types.d.ts.map +1 -1
- package/docs/action-lifecycle.md +38 -32
- package/docs/adapter-roadmap.md +51 -49
- package/docs/adapters.md +14 -15
- package/docs/ai-sdk-runtime.md +36 -39
- package/docs/anthropic-runtime.md +29 -32
- package/docs/api/public-api-policy.md +59 -0
- package/docs/api.md +354 -371
- package/docs/architecture/current-state.md +28 -31
- package/docs/audit/index.md +29 -29
- package/docs/aws/cloudwatch-telemetry.md +5 -7
- package/docs/aws/dynamodb-single-table.md +8 -9
- package/docs/aws/kms-redaction.md +5 -6
- package/docs/aws/overview.md +5 -5
- package/docs/aws/production-reference.md +13 -14
- package/docs/aws/step-functions-approval.md +7 -9
- package/docs/aws-runtime.md +24 -25
- package/docs/capability-manifests.md +17 -21
- package/docs/control-plane/overview.md +2 -2
- package/docs/control-plane.md +24 -27
- package/docs/controls/index.md +19 -22
- package/docs/core/capability-manifests.md +4 -5
- package/docs/core/entity-manifests.md +5 -5
- package/docs/eval-runner.md +29 -31
- package/docs/evalops.md +13 -14
- package/docs/evals/golden-tests.md +4 -5
- package/docs/evals/overview.md +3 -3
- package/docs/evals/replay-and-trace-to-golden.md +19 -20
- package/docs/evals.md +19 -20
- package/docs/evidence.md +22 -23
- package/docs/gemini-runtime.md +31 -33
- package/docs/getting-started/anthropic-quickstart.md +61 -0
- package/docs/getting-started/concepts.md +9 -10
- package/docs/getting-started/gemini-quickstart.md +62 -0
- package/docs/getting-started/installation.md +3 -3
- package/docs/getting-started/openai-quickstart.md +61 -0
- package/docs/getting-started/provider-neutral-quickstart.md +106 -0
- package/docs/getting-started/quickstart.md +2 -2
- package/docs/getting-started.md +23 -20
- package/docs/glossary.md +31 -48
- package/docs/governance/gate.md +28 -30
- package/docs/governance/impact-and-compatibility.md +2 -3
- package/docs/governance/index.md +53 -54
- package/docs/governance/lifecycle.md +4 -5
- package/docs/governance/overview.md +2 -3
- package/docs/governance/risk-compiler.md +4 -5
- package/docs/host-responsibilities.md +6 -8
- package/docs/implementation-notes/baseline-gaps.md +15 -18
- package/docs/index.md +21 -6
- package/docs/interoperability.md +9 -9
- package/docs/langchain-runtime.md +27 -31
- package/docs/live-evals.md +68 -32
- package/docs/mcp-server-runtime.md +36 -40
- package/docs/memory.md +35 -36
- package/docs/migration-0.1-to-1.0.md +14 -9
- package/docs/observability/overview.md +2 -3
- package/docs/observability-runtime.md +35 -39
- package/docs/openai-responses.md +36 -37
- package/docs/openai-runtime.md +41 -46
- package/docs/openai-walkthrough.md +24 -28
- package/docs/policy-broker.md +9 -10
- package/docs/provenance.md +30 -29
- package/docs/providers/anthropic.md +5 -5
- package/docs/providers/choose-a-runtime.md +37 -0
- package/docs/providers/conformance.md +14 -15
- package/docs/providers/gemini.md +5 -5
- package/docs/providers/mcp.md +2 -3
- package/docs/providers/openai.md +2 -2
- package/docs/providers/semantic-kernel.md +2 -2
- package/docs/providers.md +43 -38
- package/docs/public/license-exceptions.md +187 -0
- package/docs/public/npm-release-preflight.md +112 -0
- package/docs/public-framework/compatibility-policy.md +12 -13
- package/docs/public-framework/deprecation-policy.md +8 -8
- package/docs/public-framework/final-certification-matrix.md +104 -0
- package/docs/public-framework/license-decision.md +20 -0
- package/docs/public-framework/release-process.md +46 -16
- package/docs/public-framework/security-disclosure.md +4 -5
- package/docs/public-framework/v1-certification.md +102 -15
- package/docs/release.md +200 -122
- package/docs/runtime/action-lifecycle.md +3 -3
- package/docs/runtime/policy-broker.md +4 -4
- package/docs/runtime/runtime-overview.md +4 -5
- package/docs/runtime/tool-result-envelope.md +7 -7
- package/docs/runtime.md +90 -93
- package/docs/security/overview.md +4 -4
- package/docs/security/security-packs.md +24 -26
- package/docs/security/trust-taint-redaction.md +42 -47
- package/docs/semantic-kernel-runtime.md +35 -37
- package/docs/spec.md +95 -101
- package/docs/start-here.md +18 -20
- package/examples/01-basic-read-capability/README.md +3 -4
- package/examples/02-prepare-approve-commit/README.md +6 -6
- package/examples/03-multi-provider-tools/README.md +2 -2
- package/examples/04-mcp-server/README.md +4 -5
- package/examples/05-langchain-langgraph-bridge/README.md +4 -5
- package/examples/06-vercel-ai-sdk-bridge/README.md +5 -7
- package/examples/07-policy-broker-custom-auth/README.md +4 -4
- package/examples/08-aws-step-functions-approval/README.md +4 -5
- package/examples/09-security-packs-promptfoo/README.md +4 -4
- package/examples/10-trace-to-golden/README.md +2 -2
- package/examples/11-control-plane/README.md +4 -5
- package/examples/aws/README.md +5 -8
- package/examples/control-plane/README.md +8 -9
- package/examples/control-plane/fixtures/control-plane.seed.json +8 -32
- package/examples/control-plane/public/app.js +57 -18
- package/examples/control-plane/public/index.html +15 -6
- package/examples/control-plane/server.mjs +15 -3
- package/examples/eval-results/public.results.passing.json +6 -21
- package/examples/providers/ai-sdk-next/README.md +11 -8
- package/examples/providers/anthropic-claude/README.md +5 -6
- package/examples/providers/gemini/README.md +6 -6
- package/examples/providers/langchain-agent/README.md +3 -4
- package/examples/providers/langgraph-tool-node/README.md +7 -7
- package/examples/providers/mcp/README.md +8 -8
- package/examples/providers/provider-conformance/README.md +3 -3
- package/examples/providers/semantic-kernel-mcp/README.md +6 -6
- package/examples/providers/semantic-kernel-openapi/README.md +6 -7
- package/examples/runtime-support-billing/README.md +8 -9
- package/examples/runtime-support-billing/support-billing-runtime.mjs +8 -4
- package/examples/scheduling/capabilities/scheduling.availability.get.yaml +2 -2
- package/examples/scheduling/capabilities/scheduling.invite.prepare.yaml +2 -2
- package/examples/scheduling/capabilities/scheduling.invite.send.yaml +2 -2
- package/examples/scheduling/entities/AvailabilitySlot.yaml +2 -2
- package/examples/scheduling/entities/MeetingInvite.yaml +2 -2
- package/examples/scheduling/evals/scheduling.invite.prepare.valid.yaml +3 -1
- package/examples/semantic-kernel-mcp/README.md +11 -12
- package/examples/semantic-kernel-openapi/README.md +8 -8
- package/examples/support/capabilities/support.refund.commit_case.yaml +3 -3
- package/examples/support/capabilities/support.refund.prepare_case.yaml +2 -2
- package/examples/support/capabilities/support.ticket.get.yaml +2 -2
- package/examples/support/entities/Ticket.yaml +0 -1
- package/examples/support/eval-results/support.results.passing.json +3 -12
- package/examples/support/evals/support.refund.prepare_case.approval_required.yaml +3 -1
- package/examples/support/evals/support.refund.prepare_case.valid.yaml +3 -2
- package/examples/support/memory/support.agent.preferences.json +2 -6
- package/examples/support/openai/context.support_agent.json +1 -4
- package/examples/support/provenance/support.refund.summary.provenance.json +2 -6
- package/examples/support/replay/support.refund.approval_required.trace.json +4 -14
- package/package.json +22 -5
- package/schemas/audit/action-record.schema.json +4 -1
- package/schemas/aws/approval-task.schema.json +8 -1
- package/schemas/conformance/conformance-case.schema.json +18 -2
- package/schemas/conformance/conformance-report.schema.json +17 -2
- package/schemas/conformance/provider-target-matrix.schema.json +35 -4
- package/schemas/controls/control-decision.schema.json +7 -1
- package/schemas/eval-case.schema.json +8 -1
- package/schemas/eval-result.schema.json +8 -1
- package/schemas/evidence/evidence-pack.schema.json +34 -5
- package/schemas/governance/compatibility-diff.schema.json +8 -1
- package/schemas/governance/lifecycle-transition.schema.json +10 -1
- package/schemas/governance/risk-compilation-result.schema.json +9 -1
- package/schemas/provenance/generated-content-provenance.schema.json +3 -1
- package/schemas/replay/replay-result.schema.json +16 -2
- package/schemas/replay/replay-trace.schema.json +11 -2
- package/schemas/security/context-segment.schema.json +21 -12
- package/schemas/security/redaction-policy.schema.json +4 -1
- package/schemas/security-packs/coverage-report.schema.json +17 -2
- package/schemas/security-packs/security-case-suite.schema.json +11 -1
- package/schemas/tool-result-envelope.schema.json +9 -1
- package/security-packs/approval_bypass.yaml +12 -2
- package/security-packs/capability_spoofing.yaml +17 -3
- package/security-packs/cost_amplification.yaml +21 -4
- package/security-packs/cross_tenant_access.yaml +16 -3
- package/security-packs/insecure_output_rendering.yaml +15 -4
- package/security-packs/mcp_tool_abuse.yaml +17 -3
- package/security-packs/memory_scope_violation.yaml +19 -4
- package/security-packs/prompt_injection_direct.yaml +19 -4
- package/security-packs/prompt_injection_indirect.yaml +18 -3
- package/security-packs/provider_payload_exposure.yaml +26 -4
- package/security-packs/retrieval_poisoning.yaml +5 -2
- package/security-packs/schema_confusion.yaml +17 -3
- package/security-packs/sensitive_data_disclosure.yaml +22 -5
- package/security-packs/tool_exfiltration.yaml +20 -4
- package/security-packs/tool_result_poisoning.yaml +19 -4
- package/security-packs/unsafe_commit_attempt.yaml +6 -3
package/docs/release.md
CHANGED
|
@@ -1,24 +1,45 @@
|
|
|
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
|
|
|
8
7
|
- Confirm the release branch contains only public framework material.
|
|
8
|
+
- Confirm Node.js support is still tested on Node 20.x, 22.x, and 24.x. The public
|
|
9
|
+
packages advertise `engines.node >=20`.
|
|
9
10
|
- Confirm `CHANGELOG.md` has the target release entry.
|
|
10
|
-
- Confirm README, start-here, OpenAI walkthrough, glossary, API docs, governance
|
|
11
|
-
|
|
12
|
-
docs,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
- Confirm
|
|
18
|
-
|
|
11
|
+
- Confirm README, start-here, OpenAI walkthrough, glossary, API docs, governance docs,
|
|
12
|
+
audit docs, security docs, security-pack docs, memory docs, provenance docs, controls
|
|
13
|
+
docs, spec docs, adapter docs, eval docs, and examples are internally consistent.
|
|
14
|
+
- Confirm `CODE_OF_CONDUCT.md`, `GOVERNANCE.md`, `ROADMAP.md`, `docs/index.md`, grouped
|
|
15
|
+
docs, and numbered examples are present and public-safe.
|
|
16
|
+
- Confirm root `package.json` and `agent-skills/package.json` are not private and both
|
|
17
|
+
set `publishConfig.access` to `public`.
|
|
18
|
+
- Confirm the v1 license decision is documented in
|
|
19
|
+
[License Decision](public-framework/license-decision.md), and root, `agent-skills`,
|
|
20
|
+
plugin metadata, skill metadata, README, and release docs all say MIT.
|
|
21
|
+
- Confirm dependency licenses pass `npm run check:licenses`; reviewed exceptions must be
|
|
22
|
+
exact and documented in [Dependency License Exceptions](public/license-exceptions.md).
|
|
23
|
+
- Confirm the root API and subpath policy is documented in
|
|
24
|
+
[Public API Policy](api/public-api-policy.md). `runCli` must be available from
|
|
25
|
+
`ai-capability-framework/cli`, not from the root package.
|
|
26
|
+
- Confirm root package, `@aicf/agent-skills`, the Codex plugin manifest, and all real
|
|
27
|
+
skill metadata use the same version.
|
|
28
|
+
- Confirm npm ownership, scope setup, dist-tag policy, and immutable-version checks in
|
|
29
|
+
[npm release preflight](public/npm-release-preflight.md).
|
|
30
|
+
- Confirm the final command/workflow/package matrix in
|
|
31
|
+
[Final Certification Matrix](public-framework/final-certification-matrix.md).
|
|
32
|
+
- Confirm no private drafts, raw prompts, raw traces, provider payloads, credentials,
|
|
33
|
+
generated local docs, or packed tarballs are tracked.
|
|
19
34
|
|
|
20
35
|
## Verification
|
|
21
36
|
|
|
37
|
+
CI must pass the core public package gate on Node 20.x, 22.x, and 24.x: `npm ci`,
|
|
38
|
+
`npm run build`, `npm run typecheck`, `npm test`, `npm run validate`, and
|
|
39
|
+
`npm run conformance`. Release dry-runs, publish checks, docs checks, and optional/live
|
|
40
|
+
provider checks run on the primary release Node unless a workflow explicitly matrices
|
|
41
|
+
them. Live provider checks remain opt-in.
|
|
42
|
+
|
|
22
43
|
Run:
|
|
23
44
|
|
|
24
45
|
```bash
|
|
@@ -39,6 +60,13 @@ npm run check
|
|
|
39
60
|
npm run check:runtime
|
|
40
61
|
npm run check:optional
|
|
41
62
|
npm run check:providers:mock
|
|
63
|
+
npm run skills:ci
|
|
64
|
+
npm run skills:check
|
|
65
|
+
npm run skills:pack:dry
|
|
66
|
+
npm run check:metadata
|
|
67
|
+
npm run check:licenses
|
|
68
|
+
npm run check:release-tag
|
|
69
|
+
npm run check:final-matrix
|
|
42
70
|
npm run check:release
|
|
43
71
|
npm run check:release:providers
|
|
44
72
|
npm run check:public
|
|
@@ -65,10 +93,14 @@ npm test -- observability evals-live promptfoo langfuse evalops
|
|
|
65
93
|
npm test -- aws
|
|
66
94
|
npm test -- openai-agents
|
|
67
95
|
npm pack --dry-run --json
|
|
68
|
-
npm
|
|
96
|
+
npm run release:preflight:npm
|
|
97
|
+
npm run release:publish:dry
|
|
69
98
|
npm pack
|
|
70
99
|
```
|
|
71
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
|
+
|
|
72
104
|
Then inspect:
|
|
73
105
|
|
|
74
106
|
```bash
|
|
@@ -76,162 +108,208 @@ git status --short --ignored
|
|
|
76
108
|
git ls-files
|
|
77
109
|
```
|
|
78
110
|
|
|
79
|
-
Private local draft directories, `dist/`, `node_modules/`, traces, prompts,
|
|
80
|
-
|
|
81
|
-
|
|
111
|
+
Private local draft directories, `dist/`, `node_modules/`, traces, prompts, provider
|
|
112
|
+
payloads, generated local docs, and local-only material must remain untracked or
|
|
113
|
+
ignored.
|
|
82
114
|
|
|
83
115
|
Confirm root and runtime imports remain provider-SDK-free, and confirm commit
|
|
84
116
|
capabilities are not exported by default from OpenAI, Anthropic, Gemini, AI SDK,
|
|
85
117
|
LangChain, MCP, or Semantic Kernel compatibility paths.
|
|
86
118
|
|
|
119
|
+
Confirm the root import does not expose CLI internals. Programmatic CLI use belongs to
|
|
120
|
+
`ai-capability-framework/cli`; the `aicf` binary remains unchanged.
|
|
121
|
+
|
|
87
122
|
Final v1.0 certification is documented in
|
|
88
123
|
[Final v1 certification](public-framework/v1-certification.md). It includes a
|
|
89
124
|
fresh-machine quickstart review, examples with fake data, generated API docs,
|
|
90
|
-
governance/provider/security docs, no private artifacts, no raw
|
|
91
|
-
secrets, no hardcoded cloud/provider IDs, and no root import of optional
|
|
125
|
+
governance/provider/security docs, consistent MIT metadata, no private artifacts, no raw
|
|
126
|
+
payloads, no secrets, no hardcoded cloud/provider IDs, and no root import of optional
|
|
127
|
+
dependencies. The release gate also explicitly checks for no root import of optional
|
|
128
|
+
dependencies.
|
|
92
129
|
|
|
93
130
|
## Release Artifacts
|
|
94
131
|
|
|
95
|
-
Create source review archives with the checked source-archive script, not from
|
|
96
|
-
|
|
132
|
+
Create source review archives with the checked source-archive script, not from the
|
|
133
|
+
working directory:
|
|
97
134
|
|
|
98
135
|
```bash
|
|
99
136
|
npm run archive:source
|
|
100
137
|
npm run check:source-archive
|
|
101
138
|
```
|
|
102
139
|
|
|
103
|
-
Do not zip the workspace directory. A workspace ZIP can accidentally include
|
|
104
|
-
|
|
105
|
-
|
|
140
|
+
Do not zip the workspace directory. A workspace ZIP can accidentally include `.git/`,
|
|
141
|
+
`node_modules/`, private local draft directories, `dist/`, local logs, prompts, traces,
|
|
142
|
+
provider payloads, or packed artifacts.
|
|
106
143
|
|
|
107
|
-
Create the publishable npm
|
|
144
|
+
Create the publishable npm artifacts with:
|
|
108
145
|
|
|
109
146
|
```bash
|
|
110
147
|
npm pack --dry-run --json
|
|
148
|
+
npm run skills:pack:dry
|
|
111
149
|
npm pack
|
|
112
150
|
```
|
|
113
151
|
|
|
114
|
-
The npm package may include `dist/`, `schemas/`, `examples/`, `conformance/`,
|
|
115
|
-
`docs/`, README, license, changelog, contributing, code of conduct, governance,
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
The package
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
`
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
`docs/
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
`
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
and `
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
`
|
|
140
|
-
Security-pack docs, schemas, and
|
|
141
|
-
`docs/security/security-packs.md`,
|
|
142
|
-
`security-packs/`.
|
|
143
|
-
|
|
144
|
-
`
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
present at `docs/
|
|
152
|
-
`
|
|
153
|
-
|
|
154
|
-
`docs/
|
|
155
|
-
`
|
|
156
|
-
`docs/aws/`, `docs/control-plane/`, `docs/public-framework/`, and
|
|
157
|
-
`examples/01-basic-read-capability/` through `examples/11-control-plane/`.
|
|
152
|
+
The root npm package may include `dist/`, `schemas/`, `examples/`, `conformance/`,
|
|
153
|
+
`docs/`, README, license, changelog, contributing, code of conduct, governance, roadmap,
|
|
154
|
+
and security docs. It must not include private/local material, source-only tests,
|
|
155
|
+
scripts, generated TypeDoc output, raw prompts, raw traces, provider request/response
|
|
156
|
+
payloads, archives, or credentials.
|
|
157
|
+
|
|
158
|
+
The `@aicf/agent-skills` npm package is released separately from `agent-skills/`. Its
|
|
159
|
+
dry-run must include public skills, docs, assets, scripts, and
|
|
160
|
+
`.codex-plugin/plugin.json`, and must exclude tests, fixtures, local mirrors, dependency
|
|
161
|
+
folders, archives, private paths, traces, prompts, provider payloads, and credentials.
|
|
162
|
+
|
|
163
|
+
The package should include the public `examples/runtime-support-billing/` mock runtime
|
|
164
|
+
flow and `docs/action-lifecycle.md` plus `docs/policy-broker.md`. It should also include
|
|
165
|
+
`examples/providers/` README examples, `docs/start-here.md`,
|
|
166
|
+
`docs/openai-walkthrough.md`, `docs/glossary.md`, `docs/providers.md`,
|
|
167
|
+
`docs/providers/conformance.md`, and `docs/provider-conformance.md`. It should also
|
|
168
|
+
include `docs/governance/index.md`, `docs/audit/index.md`, the governance schema
|
|
169
|
+
subpaths under `schemas/governance/`, and the audit ledger schema subpaths under
|
|
170
|
+
`schemas/audit/`. It should also include `docs/security/trust-taint-redaction.md` and
|
|
171
|
+
schemas under `schemas/security/`. Governed memory docs, schemas, built entrypoints, and
|
|
172
|
+
public fixture should be present at `docs/memory.md`, `schemas/memory/`, `dist/memory/`,
|
|
173
|
+
and `examples/support/memory/`. Runtime control docs and schemas should be present at
|
|
174
|
+
`docs/controls/index.md` and `schemas/controls/`. Replay docs, schemas, and public-safe
|
|
175
|
+
examples should be present at `docs/evals/replay-and-trace-to-golden.md`,
|
|
176
|
+
`schemas/replay/`, and `examples/support/replay/`. The self-hostable control-plane docs,
|
|
177
|
+
built subpath, and local reference app should be present at `docs/control-plane.md`,
|
|
178
|
+
`dist/control-plane/`, and `examples/control-plane/`. Security-pack docs, schemas, and
|
|
179
|
+
catalog files should be present at `docs/security/security-packs.md`,
|
|
180
|
+
`schemas/security-packs/`, and `security-packs/`. EvalOps docs, schemas, and built
|
|
181
|
+
entrypoints should be present at `docs/evalops.md`, `schemas/evalops/`, and
|
|
182
|
+
`dist/evalops/`. Evidence export docs, schemas, and built entrypoints should be present
|
|
183
|
+
at `docs/evidence.md`, `schemas/evidence/`, and `dist/evidence/`. Content provenance
|
|
184
|
+
docs, schemas, built entrypoints, and public-safe fixture should be present at
|
|
185
|
+
`docs/provenance.md`, `schemas/provenance/`, `dist/provenance/`, and
|
|
186
|
+
`examples/support/provenance/`. Cross-provider conformance docs, schemas, and built
|
|
187
|
+
entrypoints should be present at `docs/providers/conformance.md`,
|
|
188
|
+
`schemas/conformance/`, `dist/conformance/`, and `dist/providers/conformance/`. F15 docs
|
|
189
|
+
and examples should be present at `docs/index.md`, `docs/getting-started/`,
|
|
190
|
+
`docs/core/`, `docs/runtime/`, `docs/providers/`, `docs/security/`, `docs/evals/`,
|
|
191
|
+
`docs/governance/`, `docs/observability/`, `docs/aws/`, `docs/control-plane/`,
|
|
192
|
+
`docs/public-framework/`, and `examples/01-basic-read-capability/` through
|
|
193
|
+
`examples/11-control-plane/`.
|
|
158
194
|
|
|
159
195
|
## CI And Release Workflows
|
|
160
196
|
|
|
161
|
-
- `.github/workflows/ci.yml` runs
|
|
162
|
-
typecheck, repository lint, tests, validation, conformance,
|
|
163
|
-
package checks, and docs build.
|
|
164
|
-
- `.github/workflows/release-dry-run.yml` runs the full release gate, package
|
|
165
|
-
|
|
166
|
-
publish dry-run.
|
|
167
|
-
- `.github/workflows/security.yml` runs production dependency audit,
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
197
|
+
- `.github/workflows/ci.yml` runs root and agent-skills installs, generated-type
|
|
198
|
+
freshness, build, typecheck, repository lint, tests, validation, conformance,
|
|
199
|
+
governance gate, package checks, agent-skills checks, and docs build.
|
|
200
|
+
- `.github/workflows/release-dry-run.yml` runs the full release gate, package dry-run,
|
|
201
|
+
source archive creation/checking, final certification, root npm publish dry-run, and
|
|
202
|
+
agent-skills npm publish dry-run.
|
|
203
|
+
- `.github/workflows/security.yml` runs production dependency audit, high-confidence
|
|
204
|
+
secret scanning, package public hygiene, and workspace public hygiene.
|
|
205
|
+
- `.github/workflows/docs.yml` runs TypeDoc generation and docs checks for docs and
|
|
206
|
+
example changes.
|
|
207
|
+
|
|
208
|
+
## npm provenance and trusted publishing
|
|
209
|
+
|
|
210
|
+
AICF uses npm Trusted Publishing / GitHub OIDC for both public packages:
|
|
172
211
|
|
|
173
|
-
|
|
212
|
+
- `ai-capability-framework`
|
|
213
|
+
- `@aicf/agent-skills`
|
|
174
214
|
|
|
175
|
-
Before relying on GitHub Actions publishing, configure
|
|
176
|
-
|
|
215
|
+
Before relying on GitHub Actions publishing, configure trusted publishing for both npm
|
|
216
|
+
packages:
|
|
177
217
|
|
|
178
218
|
- Provider: GitHub Actions.
|
|
179
219
|
- Organization or user: `xennon101`.
|
|
180
220
|
- Repository: `ai-capability-framework`.
|
|
181
221
|
- Workflow filename: `publish.yml`.
|
|
182
222
|
- Allowed action: `npm publish`.
|
|
223
|
+
- Package names: `ai-capability-framework` and `@aicf/agent-skills`.
|
|
224
|
+
|
|
225
|
+
Run the manual npm preflight before pushing a release tag:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
npm run release:preflight:npm
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
For final manual release review, run strict mode:
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
node scripts/check-npm-release-preflight.mjs --strict
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
The `@aicf/agent-skills` scope/package must be created or owned by the maintainer
|
|
238
|
+
account before the first real publish, and npm trusted publishing must be configured for
|
|
239
|
+
that scoped package too.
|
|
240
|
+
|
|
241
|
+
The workflow publishes only when a `v*` tag is pushed and only if the tagged commit is
|
|
242
|
+
already reachable from `origin/main`. Pre-release versions such as `1.0.0-rc.6` publish
|
|
243
|
+
with the `next` dist tag. Stable versions publish with the `latest` dist tag. Root and
|
|
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:
|
|
183
272
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
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.
|
|
188
278
|
|
|
189
279
|
## GitHub Release
|
|
190
280
|
|
|
191
|
-
- Use tag `
|
|
192
|
-
- Use release title `AI Capability Framework
|
|
193
|
-
- Summarize the framework as schemas, TypeScript core, CLI, deterministic
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
`docs/openai-
|
|
201
|
-
`docs/control-plane.md`, `docs/openai-responses.md`,
|
|
202
|
-
`docs/ai-sdk-runtime.md`, `docs/anthropic-runtime.md`,
|
|
281
|
+
- Use tag `v<package-version>`.
|
|
282
|
+
- Use release title `AI Capability Framework v<package-version>`.
|
|
283
|
+
- Summarize the framework as schemas, TypeScript core, CLI, deterministic decision APIs,
|
|
284
|
+
OpenAI Responses adapter, eval runner, docs, and public examples, plus optional
|
|
285
|
+
runtime, observability, live-eval, and self-hostable control-plane subpaths.
|
|
286
|
+
- Publish prerelease packages with a non-default dist tag such as `next`. Stable
|
|
287
|
+
releases publish with `latest`.
|
|
288
|
+
- Link to `CHANGELOG.md`, `docs/start-here.md`, `docs/openai-walkthrough.md`,
|
|
289
|
+
`docs/glossary.md`, `docs/api.md`, `docs/spec.md`, `docs/control-plane.md`,
|
|
290
|
+
`docs/openai-responses.md`, `docs/ai-sdk-runtime.md`, `docs/anthropic-runtime.md`,
|
|
203
291
|
`docs/gemini-runtime.md`, `docs/langchain-runtime.md`,
|
|
204
|
-
`docs/semantic-kernel-runtime.md`,
|
|
205
|
-
`docs/
|
|
206
|
-
`docs/live-evals.md`, `docs/aws-runtime.md`,
|
|
292
|
+
`docs/semantic-kernel-runtime.md`, `docs/openai-runtime.md`,
|
|
293
|
+
`docs/observability-runtime.md`, `docs/live-evals.md`, `docs/aws-runtime.md`,
|
|
207
294
|
`docs/aws/production-reference.md`, `docs/aws/dynamodb-single-table.md`,
|
|
208
295
|
`docs/aws/step-functions-approval.md`, `docs/aws/cloudwatch-telemetry.md`,
|
|
209
|
-
`docs/aws/kms-redaction.md`,
|
|
210
|
-
`docs/
|
|
211
|
-
`docs/
|
|
212
|
-
`docs/providers/conformance.md`, `docs/provider-conformance.md`,
|
|
213
|
-
`docs/governance/index.md`, `docs/governance/gate.md`,
|
|
296
|
+
`docs/aws/kms-redaction.md`, `docs/mcp-server-runtime.md`, `docs/action-lifecycle.md`,
|
|
297
|
+
`docs/policy-broker.md`, `docs/providers.md`, `docs/providers/conformance.md`,
|
|
298
|
+
`docs/provider-conformance.md`, `docs/governance/index.md`, `docs/governance/gate.md`,
|
|
214
299
|
`docs/audit/index.md`, `docs/security/trust-taint-redaction.md`,
|
|
215
|
-
`docs/security/security-packs.md`,
|
|
216
|
-
`docs/
|
|
217
|
-
`docs/
|
|
218
|
-
`docs/
|
|
219
|
-
`docs/controls/index.md`,
|
|
220
|
-
`docs/evalops.md`,
|
|
221
|
-
`docs/eval-runner.md`,
|
|
222
|
-
`docs/host-responsibilities.md`, `docs/interoperability.md`, and
|
|
223
|
-
`docs/migration-0.1-to-1.0.md`.
|
|
300
|
+
`docs/security/security-packs.md`, `docs/memory.md`, `docs/evidence.md`,
|
|
301
|
+
`docs/provenance.md`, `docs/controls/index.md`, `docs/evalops.md`,
|
|
302
|
+
`docs/eval-runner.md`, `docs/host-responsibilities.md`, `docs/interoperability.md`,
|
|
303
|
+
and `docs/migration-0.1-to-1.0.md`.
|
|
224
304
|
- Include `examples/aws/README.md` as credential-free AWS wiring guidance.
|
|
225
|
-
- Mention that provider live tests are opt-in and normal release checks use
|
|
226
|
-
|
|
227
|
-
- Mention that `aicf gate examples --env production` is the deterministic
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
capabilities to models.
|
|
305
|
+
- Mention that provider live tests are opt-in and normal release checks use mock
|
|
306
|
+
clients, descriptor exports, and synthetic fixtures.
|
|
307
|
+
- Mention that `aicf gate examples --env production` is the deterministic governance
|
|
308
|
+
gate for validation, coverage, conformance, and public artifact hygiene. It does not
|
|
309
|
+
call models, execute provider SDKs, or expose commit capabilities to models.
|
|
231
310
|
|
|
232
311
|
## Post-Release
|
|
233
312
|
|
|
234
313
|
- Confirm GitHub Actions pass for the release commit or tag.
|
|
235
314
|
- Confirm the public repository file list does not expose private material.
|
|
236
|
-
- Confirm the npm package page shows the expected version, files, README, and
|
|
237
|
-
license.
|
|
315
|
+
- Confirm the npm package page shows the expected version, files, README, and license.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Action Lifecycle
|
|
2
2
|
|
|
3
|
-
The action lifecycle keeps risky side effects out of model tool execution.
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
The action lifecycle keeps risky side effects out of model tool execution. Models can
|
|
4
|
+
reach read and prepare. Commit is host-controlled after validation, approval, and
|
|
5
|
+
idempotency checks.
|
|
6
6
|
|
|
7
7
|
Read the canonical guide:
|
|
8
8
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Policy Broker
|
|
2
2
|
|
|
3
|
-
The policy broker turns runtime context into AICF decisions. It wraps the Core
|
|
4
|
-
|
|
3
|
+
The policy broker turns runtime context into AICF decisions. It wraps the Core decision
|
|
4
|
+
API and can call stricter host policy hooks.
|
|
5
5
|
|
|
6
6
|
Read the canonical guide:
|
|
7
7
|
|
|
8
8
|
- [Policy broker](../policy-broker.md)
|
|
9
9
|
|
|
10
|
-
Policy hooks may deny or require approval, but they cannot turn an AICF denial
|
|
11
|
-
|
|
10
|
+
Policy hooks may deny or require approval, but they cannot turn an AICF denial into an
|
|
11
|
+
allowed action.
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
# Runtime Overview
|
|
2
2
|
|
|
3
3
|
AICF Runtime is the no-model execution layer for host applications that want
|
|
4
|
-
deterministic routing, policy brokering, read/prepare handlers, prepared
|
|
5
|
-
|
|
4
|
+
deterministic routing, policy brokering, read/prepare handlers, prepared actions,
|
|
5
|
+
approvals, idempotency, and model-safe envelopes.
|
|
6
6
|
|
|
7
7
|
Start with the canonical runtime guide:
|
|
8
8
|
|
|
9
9
|
- [Runtime contracts](../runtime.md)
|
|
10
10
|
- [OpenAI walkthrough](../openai-walkthrough.md)
|
|
11
11
|
|
|
12
|
-
Boundary: the runtime does not call models or expose commit tools to models.
|
|
13
|
-
|
|
14
|
-
effects.
|
|
12
|
+
Boundary: the runtime does not call models or expose commit tools to models. Host
|
|
13
|
+
applications own auth, data access, storage, approval UI, and side effects.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Tool Result Envelope
|
|
2
2
|
|
|
3
|
-
AICF tool result envelopes are JSON-serializable results that can be safely
|
|
4
|
-
|
|
3
|
+
AICF tool result envelopes are JSON-serializable results that can be safely returned to
|
|
4
|
+
a model or host.
|
|
5
5
|
|
|
6
|
-
Common statuses include success, denied, approval required, unavailable,
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
Common statuses include success, denied, approval required, unavailable, validation
|
|
7
|
+
error, failed, and verified. Model-facing helpers strip private diagnostics before
|
|
8
|
+
output crosses a model boundary.
|
|
9
9
|
|
|
10
10
|
Relevant references:
|
|
11
11
|
|
|
@@ -13,5 +13,5 @@ Relevant references:
|
|
|
13
13
|
- [Runtime contracts](../runtime.md)
|
|
14
14
|
- `schemas/tool-result-envelope.schema.json`
|
|
15
15
|
|
|
16
|
-
Handlers should return structured data. They should not expose secrets, stack
|
|
17
|
-
|
|
16
|
+
Handlers should return structured data. They should not expose secrets, stack traces,
|
|
17
|
+
raw provider payloads, or private diagnostics in model-facing output.
|