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.
Files changed (217) hide show
  1. package/CHANGELOG.md +97 -103
  2. package/CODE_OF_CONDUCT.md +11 -13
  3. package/CONTRIBUTING.md +40 -43
  4. package/GOVERNANCE.md +34 -35
  5. package/README.md +99 -63
  6. package/ROADMAP.md +12 -12
  7. package/SECURITY.md +15 -15
  8. package/dist/audit/ledger.d.ts.map +1 -1
  9. package/dist/audit/ledger.js +2 -1
  10. package/dist/audit/records.d.ts.map +1 -1
  11. package/dist/audit/records.js +2 -1
  12. package/dist/audit/types.d.ts +4 -1
  13. package/dist/audit/types.d.ts.map +1 -1
  14. package/dist/aws/dynamodb-stores.d.ts +2 -7
  15. package/dist/aws/dynamodb-stores.d.ts.map +1 -1
  16. package/dist/aws/dynamodb-stores.js +56 -5
  17. package/dist/aws/testing.d.ts.map +1 -1
  18. package/dist/aws/testing.js +9 -0
  19. package/dist/cli.d.ts +6 -6
  20. package/dist/cli.d.ts.map +1 -1
  21. package/dist/cli.js +77 -7
  22. package/dist/evals-live/index.d.ts +2 -2
  23. package/dist/evals-live/index.d.ts.map +1 -1
  24. package/dist/evals-live/index.js +1 -1
  25. package/dist/evals-live/live-eval-runner.d.ts +49 -1
  26. package/dist/evals-live/live-eval-runner.d.ts.map +1 -1
  27. package/dist/evals-live/live-eval-runner.js +246 -4
  28. package/dist/evals-live/types.d.ts +62 -9
  29. package/dist/evals-live/types.d.ts.map +1 -1
  30. package/dist/index.d.ts +0 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +0 -1
  33. package/dist/runtime/actions.d.ts +2 -0
  34. package/dist/runtime/actions.d.ts.map +1 -1
  35. package/dist/runtime/actions.js +200 -55
  36. package/dist/runtime/index.d.ts +1 -1
  37. package/dist/runtime/index.d.ts.map +1 -1
  38. package/dist/runtime/stores.d.ts +2 -7
  39. package/dist/runtime/stores.d.ts.map +1 -1
  40. package/dist/runtime/stores.js +12 -0
  41. package/dist/runtime/types.d.ts +25 -6
  42. package/dist/runtime/types.d.ts.map +1 -1
  43. package/docs/action-lifecycle.md +38 -32
  44. package/docs/adapter-roadmap.md +51 -49
  45. package/docs/adapters.md +14 -15
  46. package/docs/ai-sdk-runtime.md +36 -39
  47. package/docs/anthropic-runtime.md +29 -32
  48. package/docs/api/public-api-policy.md +59 -0
  49. package/docs/api.md +354 -371
  50. package/docs/architecture/current-state.md +28 -31
  51. package/docs/audit/index.md +29 -29
  52. package/docs/aws/cloudwatch-telemetry.md +5 -7
  53. package/docs/aws/dynamodb-single-table.md +8 -9
  54. package/docs/aws/kms-redaction.md +5 -6
  55. package/docs/aws/overview.md +5 -5
  56. package/docs/aws/production-reference.md +13 -14
  57. package/docs/aws/step-functions-approval.md +7 -9
  58. package/docs/aws-runtime.md +24 -25
  59. package/docs/capability-manifests.md +17 -21
  60. package/docs/control-plane/overview.md +2 -2
  61. package/docs/control-plane.md +24 -27
  62. package/docs/controls/index.md +19 -22
  63. package/docs/core/capability-manifests.md +4 -5
  64. package/docs/core/entity-manifests.md +5 -5
  65. package/docs/eval-runner.md +29 -31
  66. package/docs/evalops.md +13 -14
  67. package/docs/evals/golden-tests.md +4 -5
  68. package/docs/evals/overview.md +3 -3
  69. package/docs/evals/replay-and-trace-to-golden.md +19 -20
  70. package/docs/evals.md +19 -20
  71. package/docs/evidence.md +22 -23
  72. package/docs/gemini-runtime.md +31 -33
  73. package/docs/getting-started/anthropic-quickstart.md +61 -0
  74. package/docs/getting-started/concepts.md +9 -10
  75. package/docs/getting-started/gemini-quickstart.md +62 -0
  76. package/docs/getting-started/installation.md +3 -3
  77. package/docs/getting-started/openai-quickstart.md +61 -0
  78. package/docs/getting-started/provider-neutral-quickstart.md +106 -0
  79. package/docs/getting-started/quickstart.md +2 -2
  80. package/docs/getting-started.md +23 -20
  81. package/docs/glossary.md +31 -48
  82. package/docs/governance/gate.md +28 -30
  83. package/docs/governance/impact-and-compatibility.md +2 -3
  84. package/docs/governance/index.md +53 -54
  85. package/docs/governance/lifecycle.md +4 -5
  86. package/docs/governance/overview.md +2 -3
  87. package/docs/governance/risk-compiler.md +4 -5
  88. package/docs/host-responsibilities.md +6 -8
  89. package/docs/implementation-notes/baseline-gaps.md +15 -18
  90. package/docs/index.md +21 -6
  91. package/docs/interoperability.md +9 -9
  92. package/docs/langchain-runtime.md +27 -31
  93. package/docs/live-evals.md +68 -32
  94. package/docs/mcp-server-runtime.md +36 -40
  95. package/docs/memory.md +35 -36
  96. package/docs/migration-0.1-to-1.0.md +14 -9
  97. package/docs/observability/overview.md +2 -3
  98. package/docs/observability-runtime.md +35 -39
  99. package/docs/openai-responses.md +36 -37
  100. package/docs/openai-runtime.md +41 -46
  101. package/docs/openai-walkthrough.md +24 -28
  102. package/docs/policy-broker.md +9 -10
  103. package/docs/provenance.md +30 -29
  104. package/docs/providers/anthropic.md +5 -5
  105. package/docs/providers/choose-a-runtime.md +37 -0
  106. package/docs/providers/conformance.md +14 -15
  107. package/docs/providers/gemini.md +5 -5
  108. package/docs/providers/mcp.md +2 -3
  109. package/docs/providers/openai.md +2 -2
  110. package/docs/providers/semantic-kernel.md +2 -2
  111. package/docs/providers.md +43 -38
  112. package/docs/public/license-exceptions.md +187 -0
  113. package/docs/public/npm-release-preflight.md +112 -0
  114. package/docs/public-framework/compatibility-policy.md +12 -13
  115. package/docs/public-framework/deprecation-policy.md +8 -8
  116. package/docs/public-framework/final-certification-matrix.md +104 -0
  117. package/docs/public-framework/license-decision.md +20 -0
  118. package/docs/public-framework/release-process.md +46 -16
  119. package/docs/public-framework/security-disclosure.md +4 -5
  120. package/docs/public-framework/v1-certification.md +102 -15
  121. package/docs/release.md +200 -122
  122. package/docs/runtime/action-lifecycle.md +3 -3
  123. package/docs/runtime/policy-broker.md +4 -4
  124. package/docs/runtime/runtime-overview.md +4 -5
  125. package/docs/runtime/tool-result-envelope.md +7 -7
  126. package/docs/runtime.md +90 -93
  127. package/docs/security/overview.md +4 -4
  128. package/docs/security/security-packs.md +24 -26
  129. package/docs/security/trust-taint-redaction.md +42 -47
  130. package/docs/semantic-kernel-runtime.md +35 -37
  131. package/docs/spec.md +95 -101
  132. package/docs/start-here.md +18 -20
  133. package/examples/01-basic-read-capability/README.md +3 -4
  134. package/examples/02-prepare-approve-commit/README.md +6 -6
  135. package/examples/03-multi-provider-tools/README.md +2 -2
  136. package/examples/04-mcp-server/README.md +4 -5
  137. package/examples/05-langchain-langgraph-bridge/README.md +4 -5
  138. package/examples/06-vercel-ai-sdk-bridge/README.md +5 -7
  139. package/examples/07-policy-broker-custom-auth/README.md +4 -4
  140. package/examples/08-aws-step-functions-approval/README.md +4 -5
  141. package/examples/09-security-packs-promptfoo/README.md +4 -4
  142. package/examples/10-trace-to-golden/README.md +2 -2
  143. package/examples/11-control-plane/README.md +4 -5
  144. package/examples/aws/README.md +5 -8
  145. package/examples/control-plane/README.md +8 -9
  146. package/examples/control-plane/fixtures/control-plane.seed.json +8 -32
  147. package/examples/control-plane/public/app.js +57 -18
  148. package/examples/control-plane/public/index.html +15 -6
  149. package/examples/control-plane/server.mjs +15 -3
  150. package/examples/eval-results/public.results.passing.json +6 -21
  151. package/examples/providers/ai-sdk-next/README.md +11 -8
  152. package/examples/providers/anthropic-claude/README.md +5 -6
  153. package/examples/providers/gemini/README.md +6 -6
  154. package/examples/providers/langchain-agent/README.md +3 -4
  155. package/examples/providers/langgraph-tool-node/README.md +7 -7
  156. package/examples/providers/mcp/README.md +8 -8
  157. package/examples/providers/provider-conformance/README.md +3 -3
  158. package/examples/providers/semantic-kernel-mcp/README.md +6 -6
  159. package/examples/providers/semantic-kernel-openapi/README.md +6 -7
  160. package/examples/runtime-support-billing/README.md +8 -9
  161. package/examples/runtime-support-billing/support-billing-runtime.mjs +8 -4
  162. package/examples/scheduling/capabilities/scheduling.availability.get.yaml +2 -2
  163. package/examples/scheduling/capabilities/scheduling.invite.prepare.yaml +2 -2
  164. package/examples/scheduling/capabilities/scheduling.invite.send.yaml +2 -2
  165. package/examples/scheduling/entities/AvailabilitySlot.yaml +2 -2
  166. package/examples/scheduling/entities/MeetingInvite.yaml +2 -2
  167. package/examples/scheduling/evals/scheduling.invite.prepare.valid.yaml +3 -1
  168. package/examples/semantic-kernel-mcp/README.md +11 -12
  169. package/examples/semantic-kernel-openapi/README.md +8 -8
  170. package/examples/support/capabilities/support.refund.commit_case.yaml +3 -3
  171. package/examples/support/capabilities/support.refund.prepare_case.yaml +2 -2
  172. package/examples/support/capabilities/support.ticket.get.yaml +2 -2
  173. package/examples/support/entities/Ticket.yaml +0 -1
  174. package/examples/support/eval-results/support.results.passing.json +3 -12
  175. package/examples/support/evals/support.refund.prepare_case.approval_required.yaml +3 -1
  176. package/examples/support/evals/support.refund.prepare_case.valid.yaml +3 -2
  177. package/examples/support/memory/support.agent.preferences.json +2 -6
  178. package/examples/support/openai/context.support_agent.json +1 -4
  179. package/examples/support/provenance/support.refund.summary.provenance.json +2 -6
  180. package/examples/support/replay/support.refund.approval_required.trace.json +4 -14
  181. package/package.json +22 -5
  182. package/schemas/audit/action-record.schema.json +4 -1
  183. package/schemas/aws/approval-task.schema.json +8 -1
  184. package/schemas/conformance/conformance-case.schema.json +18 -2
  185. package/schemas/conformance/conformance-report.schema.json +17 -2
  186. package/schemas/conformance/provider-target-matrix.schema.json +35 -4
  187. package/schemas/controls/control-decision.schema.json +7 -1
  188. package/schemas/eval-case.schema.json +8 -1
  189. package/schemas/eval-result.schema.json +8 -1
  190. package/schemas/evidence/evidence-pack.schema.json +34 -5
  191. package/schemas/governance/compatibility-diff.schema.json +8 -1
  192. package/schemas/governance/lifecycle-transition.schema.json +10 -1
  193. package/schemas/governance/risk-compilation-result.schema.json +9 -1
  194. package/schemas/provenance/generated-content-provenance.schema.json +3 -1
  195. package/schemas/replay/replay-result.schema.json +16 -2
  196. package/schemas/replay/replay-trace.schema.json +11 -2
  197. package/schemas/security/context-segment.schema.json +21 -12
  198. package/schemas/security/redaction-policy.schema.json +4 -1
  199. package/schemas/security-packs/coverage-report.schema.json +17 -2
  200. package/schemas/security-packs/security-case-suite.schema.json +11 -1
  201. package/schemas/tool-result-envelope.schema.json +9 -1
  202. package/security-packs/approval_bypass.yaml +12 -2
  203. package/security-packs/capability_spoofing.yaml +17 -3
  204. package/security-packs/cost_amplification.yaml +21 -4
  205. package/security-packs/cross_tenant_access.yaml +16 -3
  206. package/security-packs/insecure_output_rendering.yaml +15 -4
  207. package/security-packs/mcp_tool_abuse.yaml +17 -3
  208. package/security-packs/memory_scope_violation.yaml +19 -4
  209. package/security-packs/prompt_injection_direct.yaml +19 -4
  210. package/security-packs/prompt_injection_indirect.yaml +18 -3
  211. package/security-packs/provider_payload_exposure.yaml +26 -4
  212. package/security-packs/retrieval_poisoning.yaml +5 -2
  213. package/security-packs/schema_confusion.yaml +17 -3
  214. package/security-packs/sensitive_data_disclosure.yaml +22 -5
  215. package/security-packs/tool_exfiltration.yaml +20 -4
  216. package/security-packs/tool_result_poisoning.yaml +19 -4
  217. 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 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
 
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
- docs, audit docs, security docs, security-pack docs, memory docs, provenance
12
- docs, controls docs, spec docs, adapter docs, eval docs, and examples are
13
- internally consistent.
14
- - Confirm `CODE_OF_CONDUCT.md`, `GOVERNANCE.md`, `ROADMAP.md`, `docs/index.md`,
15
- grouped docs, and numbered examples are present and public-safe.
16
- - Confirm `package.json` is not private and `publishConfig.access` is `public`.
17
- - Confirm no private drafts, raw prompts, raw traces, provider payloads,
18
- credentials, generated local docs, or packed tarballs are tracked.
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 publish --dry-run --access public --tag next
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
- provider payloads, generated local docs, and local-only material must remain
81
- untracked or ignored.
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 payloads, no
91
- secrets, no hardcoded cloud/provider IDs, and no root import of optional dependencies.
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
- the working directory:
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
- `.git/`, `node_modules/`, private local draft directories, `dist/`, local logs,
105
- prompts, traces, provider payloads, or packed artifacts.
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 artifact with:
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
- roadmap, and security docs. It must not include private/local material,
117
- source-only tests, scripts, generated TypeDoc output, raw prompts, raw traces,
118
- provider request/response payloads, archives, or credentials.
119
-
120
- The package should include the public `examples/runtime-support-billing/` mock
121
- runtime flow and `docs/action-lifecycle.md` plus `docs/policy-broker.md`.
122
- It should also include `examples/providers/` README examples,
123
- `docs/start-here.md`, `docs/openai-walkthrough.md`, `docs/glossary.md`,
124
- `docs/providers.md`, `docs/providers/conformance.md`, and
125
- `docs/provider-conformance.md`.
126
- It should also include `docs/governance/index.md`, `docs/audit/index.md`, the
127
- governance schema subpaths under `schemas/governance/`, and the audit ledger
128
- schema subpaths under `schemas/audit/`. It should also include
129
- `docs/security/trust-taint-redaction.md` and schemas under `schemas/security/`.
130
- Governed memory docs, schemas, built entrypoints, and public fixture should be
131
- present at `docs/memory.md`, `schemas/memory/`, `dist/memory/`, and
132
- `examples/support/memory/`.
133
- Runtime control docs and schemas should be present at `docs/controls/index.md`
134
- and `schemas/controls/`. Replay docs, schemas, and public-safe examples should
135
- be present at `docs/evals/replay-and-trace-to-golden.md`, `schemas/replay/`,
136
- and `examples/support/replay/`.
137
- The self-hostable control-plane docs, built subpath, and local reference app
138
- should be present at `docs/control-plane.md`, `dist/control-plane/`, and
139
- `examples/control-plane/`.
140
- Security-pack docs, schemas, and catalog files should be present at
141
- `docs/security/security-packs.md`, `schemas/security-packs/`, and
142
- `security-packs/`.
143
- EvalOps docs, schemas, and built entrypoints should be present at
144
- `docs/evalops.md`, `schemas/evalops/`, and `dist/evalops/`.
145
- Evidence export docs, schemas, and built entrypoints should be present at
146
- `docs/evidence.md`, `schemas/evidence/`, and `dist/evidence/`.
147
- Content provenance docs, schemas, built entrypoints, and public-safe fixture
148
- should be present at `docs/provenance.md`, `schemas/provenance/`,
149
- `dist/provenance/`, and `examples/support/provenance/`.
150
- Cross-provider conformance docs, schemas, and built entrypoints should be
151
- present at `docs/providers/conformance.md`, `schemas/conformance/`,
152
- `dist/conformance/`, and `dist/providers/conformance/`.
153
- F15 docs and examples should be present at `docs/index.md`,
154
- `docs/getting-started/`, `docs/core/`, `docs/runtime/`, `docs/providers/`,
155
- `docs/security/`, `docs/evals/`, `docs/governance/`, `docs/observability/`,
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 install, generated-type freshness, build,
162
- typecheck, repository lint, tests, validation, conformance, governance gate,
163
- package checks, and docs build.
164
- - `.github/workflows/release-dry-run.yml` runs the full release gate, package
165
- dry-run, source archive creation/checking, final certification, and npm
166
- publish dry-run.
167
- - `.github/workflows/security.yml` runs production dependency audit,
168
- high-confidence secret scanning, package public hygiene, and workspace public
169
- hygiene.
170
- - `.github/workflows/docs.yml` runs TypeDoc generation and docs checks for docs
171
- and example changes.
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
- ## Trusted Publishing
212
+ - `ai-capability-framework`
213
+ - `@aicf/agent-skills`
174
214
 
175
- Before relying on GitHub Actions publishing, configure the npm package trusted
176
- publisher:
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
- The workflow publishes only when a `v*` tag is pushed and only if the tagged
185
- commit is already reachable from `origin/main`. Pre-release versions such as
186
- `1.0.0-rc.1` publish with the `next` dist tag. Stable versions publish with the
187
- `latest` dist tag.
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 `v1.0.0-rc.1`.
192
- - Use release title `AI Capability Framework v1.0.0-rc.1`.
193
- - Summarize the framework as schemas, TypeScript core, CLI, deterministic
194
- decision APIs, OpenAI Responses adapter, eval runner, docs, and public
195
- examples, plus optional runtime, observability, live-eval, and self-hostable
196
- control-plane subpaths.
197
- - Publish npm pre-release packages with a non-default dist tag such as `next`
198
- until the final 1.0.0 release is ready.
199
- - Link to `CHANGELOG.md`, `docs/start-here.md`,
200
- `docs/openai-walkthrough.md`, `docs/glossary.md`, `docs/api.md`, `docs/spec.md`,
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/openai-runtime.md`, `docs/observability-runtime.md`,
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/mcp-server-runtime.md`, `docs/action-lifecycle.md`,
211
- `docs/policy-broker.md`, `docs/providers.md`,
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/memory.md`,
217
- `docs/evidence.md`,
218
- `docs/provenance.md`,
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
- mock clients, descriptor exports, and synthetic fixtures.
227
- - Mention that `aicf gate examples --env production` is the deterministic
228
- governance gate for validation, coverage, conformance, and public artifact
229
- hygiene. It does not call models, execute provider SDKs, or expose commit
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
- Models can reach read and prepare. Commit is host-controlled after validation,
5
- approval, and idempotency checks.
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
- decision API and can call stricter host policy hooks.
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
- into an allowed action.
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
- actions, approvals, idempotency, and model-safe envelopes.
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
- Host applications own auth, data access, storage, approval UI, and side
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
- returned to a model or host.
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
- validation error, failed, and verified. Model-facing helpers strip private
8
- diagnostics before output crosses a model boundary.
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
- traces, raw provider payloads, or private diagnostics in model-facing output.
16
+ Handlers should return structured data. They should not expose secrets, stack traces,
17
+ raw provider payloads, or private diagnostics in model-facing output.