@bluefly/openstandardagents 0.2.7 → 0.2.9

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 (327) hide show
  1. package/.devfile.yaml +1 -1
  2. package/.env.example +1 -1
  3. package/.github/AGENTS.md +245 -0
  4. package/.github/agents/github-issue-triage.ossa.yaml +99 -0
  5. package/.github/agents/github-pr-triage.ossa.yaml +137 -0
  6. package/.github/workflows/issue-sync-to-gitlab.yml +138 -0
  7. package/.github/workflows/pr-triage-to-gitlab.yml +164 -0
  8. package/.version.json +2 -2
  9. package/.wiki-config.json +24 -0
  10. package/CHANGELOG.md +44 -18
  11. package/CODEOWNERS +75 -0
  12. package/CONTRIBUTING.md +103 -4
  13. package/README.md +178 -243
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/repositories/schema.repository.d.ts +6 -1
  19. package/dist/repositories/schema.repository.d.ts.map +1 -1
  20. package/dist/repositories/schema.repository.js +49 -27
  21. package/dist/repositories/schema.repository.js.map +1 -1
  22. package/dist/services/migration.service.d.ts +4 -3
  23. package/dist/services/migration.service.d.ts.map +1 -1
  24. package/dist/services/migration.service.js +11 -10
  25. package/dist/services/migration.service.js.map +1 -1
  26. package/dist/services/release-automation/release.service.js +1 -1
  27. package/dist/services/release-automation/release.service.js.map +1 -1
  28. package/dist/services/release-automation/schemas/release.schema.js +1 -1
  29. package/dist/services/release-automation/webhook.service.js +3 -3
  30. package/dist/services/release-automation/webhook.service.js.map +1 -1
  31. package/dist/services/runtime/claude/claude-adapter.d.ts +1 -1
  32. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
  33. package/dist/services/runtime/claude/claude-adapter.js +2 -2
  34. package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
  35. package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
  36. package/dist/spec/v0.2.8/README.md +72 -0
  37. package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  38. package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  39. package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  40. package/{spec/v0.2.6-dev/ossa-0.2.5.schema.json → dist/spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  41. package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  42. package/dist/spec/v0.2.9/a2a-protocol.md +1337 -0
  43. package/dist/spec/v0.2.9/agent.md +1946 -0
  44. package/dist/spec/v0.2.9/capabilities/index.yaml +25 -0
  45. package/dist/spec/v0.2.9/capabilities/memory.yaml +251 -0
  46. package/dist/spec/v0.2.9/capability-schema.md +576 -0
  47. package/dist/spec/v0.2.9/compliance-profiles.md +533 -0
  48. package/dist/spec/v0.2.9/conformance-testing.md +1527 -0
  49. package/dist/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  50. package/dist/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  51. package/dist/spec/v0.2.9/runtime-semantics.md +464 -0
  52. package/dist/spec/v0.2.9/security-model.md +1245 -0
  53. package/dist/spec/v0.2.9/semantic-conventions.md +347 -0
  54. package/dist/spec/v0.2.9/types.ts +522 -0
  55. package/dist/types/index.d.ts +3 -2
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/policy.d.ts +377 -0
  58. package/dist/types/policy.d.ts.map +1 -0
  59. package/dist/types/policy.js +84 -0
  60. package/dist/types/policy.js.map +1 -0
  61. package/dist/utils/index.d.ts +6 -0
  62. package/dist/utils/index.d.ts.map +1 -0
  63. package/dist/utils/index.js +6 -0
  64. package/dist/utils/index.js.map +1 -0
  65. package/dist/utils/version.d.ts +68 -0
  66. package/dist/utils/version.d.ts.map +1 -0
  67. package/dist/utils/version.js +156 -0
  68. package/dist/utils/version.js.map +1 -0
  69. package/docs/specs/policy-dsl.md +925 -0
  70. package/eslint-report.json +1 -0
  71. package/examples/adk-integration/code-review-workflow.yml +1 -1
  72. package/examples/adk-integration/customer-support.yml +1 -1
  73. package/examples/adk-integration/data-pipeline.yml +1 -1
  74. package/examples/advanced/reasoning-agent.yaml +136 -0
  75. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  76. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  77. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  78. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  79. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  80. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  81. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  82. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  83. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  84. package/examples/agents-md/code-agent.ossa.json +100 -0
  85. package/examples/agents-md/monorepo-agent.ossa.yaml +180 -0
  86. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  87. package/examples/autogen/multi-agent.ossa.json +1 -1
  88. package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
  89. package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
  90. package/examples/common_npm/agent-router.ossa.yaml +1 -0
  91. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  92. package/examples/crewai/research-team.ossa.json +1 -1
  93. package/examples/cursor/code-review-agent.ossa.json +1 -1
  94. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
  95. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  96. package/examples/extensions/agents-md-v1.yml +175 -0
  97. package/examples/extensions/drupal-v1.yml +1 -1
  98. package/examples/extensions/kagent-v1.yml +1 -1
  99. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  100. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  101. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  102. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  103. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  104. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
  105. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  106. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  107. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  108. package/examples/langchain/chain-agent.ossa.json +1 -1
  109. package/examples/langflow/workflow-agent.ossa.json +1 -1
  110. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  111. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  112. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  113. package/examples/multi-agent/README.md +74 -0
  114. package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
  115. package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
  116. package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
  117. package/examples/openai/basic-agent.ossa.yaml +1 -1
  118. package/examples/openai/multi-tool-agent.ossa.json +1 -1
  119. package/examples/openai/swarm-agent.ossa.json +1 -1
  120. package/examples/production/document-analyzer-openai.yml +1 -1
  121. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  122. package/examples/spec-examples/audit-agent.yml +1 -1
  123. package/examples/spec-examples/chat-agent.yml +1 -1
  124. package/examples/spec-examples/compliance-agent.yml +1 -1
  125. package/examples/spec-examples/monitoring-agent.yml +1 -1
  126. package/examples/spec-examples/workflow-agent.yml +1 -1
  127. package/examples/templates/ossa-compliance.yaml +1 -1
  128. package/examples/vercel/edge-agent.ossa.json +1 -1
  129. package/gl-code-quality-report.json +62 -0
  130. package/llms-ctx-full.txt +39 -0
  131. package/llms-ctx.txt +39 -0
  132. package/llms.txt +47 -0
  133. package/package.json +6 -3
  134. package/scripts/README.md +25 -0
  135. package/scripts/compliance-audit.ts +796 -0
  136. package/scripts/eslint-to-codequality.cjs +34 -0
  137. package/scripts/generate-agents-catalog.ts +2 -1
  138. package/scripts/generate-api-docs.ts +2 -1
  139. package/scripts/generate-examples-docs.ts +2 -1
  140. package/scripts/generate-llms-ctx.sh +17 -0
  141. package/scripts/generate-schema-docs.ts +31 -10
  142. package/scripts/sync-version.js +4 -12
  143. package/scripts/validate-schema.ts +2 -1
  144. package/spec/v0.2.8/CHANGELOG.md +401 -0
  145. package/spec/v0.2.8/README.md +72 -0
  146. package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  147. package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  148. package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  149. package/spec/{v0.2.6-dev/ossa-0.2.6-dev.schema.json → v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  150. package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  151. package/spec/v0.2.9/a2a-protocol.md +1337 -0
  152. package/spec/v0.2.9/agent.md +1946 -0
  153. package/spec/v0.2.9/capabilities/index.yaml +25 -0
  154. package/spec/v0.2.9/capabilities/memory.yaml +251 -0
  155. package/spec/v0.2.9/capability-schema.md +576 -0
  156. package/spec/v0.2.9/compliance-profiles.md +533 -0
  157. package/spec/v0.2.9/conformance-testing.md +1527 -0
  158. package/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  159. package/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  160. package/spec/v0.2.9/runtime-semantics.md +464 -0
  161. package/spec/v0.2.9/security-model.md +1245 -0
  162. package/spec/v0.2.9/semantic-conventions.md +347 -0
  163. package/spec/v0.2.9/types.ts +522 -0
  164. package/test-results/junit.xml +337 -0
  165. package/.github/workflows/pr-comment.yml +0 -33
  166. package/bin/validate-ossa-0.2.5-RC.ts +0 -244
  167. package/dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json +0 -1696
  168. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
  169. package/scripts/lib/exec.ts +0 -37
  170. package/scripts/lib/file-ops.ts +0 -58
  171. package/scripts/lib/version.ts +0 -83
  172. package/website/.lighthouserc.ts +0 -24
  173. package/website/.prettierrc +0 -10
  174. package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +0 -445
  175. package/website/Dockerfile +0 -30
  176. package/website/app/about/page.tsx +0 -304
  177. package/website/app/blog/[slug]/page.tsx +0 -208
  178. package/website/app/blog/page.tsx +0 -249
  179. package/website/app/design-guide/page.tsx +0 -511
  180. package/website/app/docs/[[...slug]]/page.tsx +0 -847
  181. package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
  182. package/website/app/ecosystem/page.tsx +0 -410
  183. package/website/app/examples/page.tsx +0 -133
  184. package/website/app/globals.scss +0 -370
  185. package/website/app/layout.tsx +0 -106
  186. package/website/app/license/page.tsx +0 -183
  187. package/website/app/not-found.tsx +0 -18
  188. package/website/app/page.tsx +0 -686
  189. package/website/app/page.tsx.bak +0 -679
  190. package/website/app/page.tsx.bak2 +0 -649
  191. package/website/app/playground/page.tsx +0 -487
  192. package/website/app/robots.ts +0 -19
  193. package/website/app/rss.xml/route.ts +0 -74
  194. package/website/app/schema/page.tsx +0 -1001
  195. package/website/app/sitemap.ts +0 -56
  196. package/website/app/specification/page.tsx +0 -287
  197. package/website/components/InstallCommand.tsx +0 -96
  198. package/website/components/Logo.tsx +0 -97
  199. package/website/components/StructuredData.tsx +0 -65
  200. package/website/components/docs/DocsSearch.tsx +0 -104
  201. package/website/components/docs/DocsSidebar.tsx +0 -155
  202. package/website/components/docs/MarkdownContent.tsx +0 -401
  203. package/website/components/docs/VersionSelector.tsx +0 -105
  204. package/website/components/examples/ExamplesViewer.tsx +0 -293
  205. package/website/components/layout/Footer.tsx +0 -116
  206. package/website/components/layout/Header.tsx +0 -172
  207. package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
  208. package/website/components/schema/SchemaExplorer.tsx +0 -213
  209. package/website/components/ui/Badge.tsx +0 -82
  210. package/website/components/ui/Button.tsx +0 -116
  211. package/website/components/ui/Card.tsx +0 -167
  212. package/website/components/ui/Checkbox.tsx +0 -141
  213. package/website/components/ui/Input.tsx +0 -169
  214. package/website/components/ui/Radio.tsx +0 -141
  215. package/website/components/ui/Select.tsx +0 -182
  216. package/website/components/ui/Tag.tsx +0 -158
  217. package/website/components/ui/Textarea.tsx +0 -195
  218. package/website/components/ui/index.ts +0 -11
  219. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
  220. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
  221. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
  222. package/website/content/blog/introducing-ossa-framework.md +0 -328
  223. package/website/content/blog/ossa-production-results.md +0 -279
  224. package/website/content/blog/welcome-to-ossa.md +0 -43
  225. package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
  226. package/website/content/docs/00-home.md +0 -153
  227. package/website/content/docs/adapters/openai-adapter.md +0 -693
  228. package/website/content/docs/agents/catalog.md +0 -28
  229. package/website/content/docs/aiflow-framework-integration-with-ossa.md +0 -107
  230. package/website/content/docs/api-reference/index.md +0 -38
  231. package/website/content/docs/api-reference/ossa-core-api.md +0 -634
  232. package/website/content/docs/api-reference/ossa-registry-api.md +0 -515
  233. package/website/content/docs/api-reference/unified-agent-gateway.md +0 -599
  234. package/website/content/docs/architecture/execution-flow.md +0 -335
  235. package/website/content/docs/architecture/multi-agent-systems.md +0 -737
  236. package/website/content/docs/architecture/overview.md +0 -121
  237. package/website/content/docs/architecture/stack-integration.md +0 -461
  238. package/website/content/docs/changelog.md +0 -246
  239. package/website/content/docs/cli-reference/index.md +0 -111
  240. package/website/content/docs/cli-reference/ossa-agents.md +0 -70
  241. package/website/content/docs/cli-reference/ossa-export.md +0 -56
  242. package/website/content/docs/cli-reference/ossa-generate.md +0 -66
  243. package/website/content/docs/cli-reference/ossa-gitlab-agent.md +0 -57
  244. package/website/content/docs/cli-reference/ossa-import.md +0 -56
  245. package/website/content/docs/cli-reference/ossa-init.md +0 -57
  246. package/website/content/docs/cli-reference/ossa-migrate.md +0 -62
  247. package/website/content/docs/cli-reference/ossa-run.md +0 -66
  248. package/website/content/docs/cli-reference/ossa-schema.md +0 -57
  249. package/website/content/docs/cli-reference/ossa-setup.md +0 -57
  250. package/website/content/docs/cli-reference/ossa-validate.md +0 -66
  251. package/website/content/docs/configuration/index.md +0 -97
  252. package/website/content/docs/contributing.md +0 -599
  253. package/website/content/docs/deployment/github-mirroring.md +0 -924
  254. package/website/content/docs/documentation.md +0 -100
  255. package/website/content/docs/ecosystem/framework-support.md +0 -1361
  256. package/website/content/docs/ecosystem/overview.md +0 -366
  257. package/website/content/docs/errors/index.md +0 -10
  258. package/website/content/docs/examples/aiflow-framework-integration-with-ossa.md +0 -107
  259. package/website/content/docs/examples/catalog.md +0 -300
  260. package/website/content/docs/for-audiences/students-researchers.md +0 -122
  261. package/website/content/docs/getting-started/index.md +0 -92
  262. package/website/content/docs/getting-started/installation.md +0 -155
  263. package/website/content/docs/getting-started/running-agents.md +0 -309
  264. package/website/content/docs/getting-started.md +0 -91
  265. package/website/content/docs/integrations/aiflow.md +0 -104
  266. package/website/content/docs/integrations/drupal.md +0 -105
  267. package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
  268. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
  269. package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
  270. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
  271. package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
  272. package/website/content/docs/migration-guides/index.md +0 -133
  273. package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
  274. package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
  275. package/website/content/docs/migration-guides/migration-manifest.json +0 -64
  276. package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
  277. package/website/content/docs/openapi-extensions/examples.md +0 -550
  278. package/website/content/docs/openapi-extensions/index.md +0 -551
  279. package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
  280. package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
  281. package/website/content/docs/ossa-compliant-badge.md +0 -251
  282. package/website/content/docs/pre-release/index.md +0 -175
  283. package/website/content/docs/quick-reference.md +0 -17
  284. package/website/content/docs/readme.md +0 -35
  285. package/website/content/docs/releases/v0.2.6.md +0 -99
  286. package/website/content/docs/schema-reference/agent-capabilities.md +0 -50
  287. package/website/content/docs/schema-reference/agent-id.md +0 -52
  288. package/website/content/docs/schema-reference/agent-name.md +0 -50
  289. package/website/content/docs/schema-reference/agent-role.md +0 -54
  290. package/website/content/docs/schema-reference/agent-spec.md +0 -406
  291. package/website/content/docs/schema-reference/agent-version.md +0 -50
  292. package/website/content/docs/schema-reference/autonomy.md +0 -568
  293. package/website/content/docs/schema-reference/constraints.md +0 -543
  294. package/website/content/docs/schema-reference/index.md +0 -45
  295. package/website/content/docs/schema-reference/llm-config.md +0 -445
  296. package/website/content/docs/schema-reference/observability.md +0 -654
  297. package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
  298. package/website/content/docs/schema-reference/taxonomy.md +0 -509
  299. package/website/content/docs/schema-reference/tools.md +0 -628
  300. package/website/content/docs/templates/blog-post.md +0 -43
  301. package/website/content/docs/types-reference/index.md +0 -105
  302. package/website/content/docs/use-cases/00-index.md +0 -395
  303. package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
  304. package/website/content/docs/use-cases/customer-support.md +0 -1234
  305. package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
  306. package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
  307. package/website/content/docs/versioning.md +0 -288
  308. package/website/dev.sh +0 -53
  309. package/website/docker-compose.dev.yml +0 -36
  310. package/website/lib/version.ts +0 -35
  311. package/website/lib/versions.json +0 -103
  312. package/website/next.config.ts +0 -18
  313. package/website/nginx.conf +0 -32
  314. package/website/package-lock.json +0 -9679
  315. package/website/package.json +0 -59
  316. package/website/postcss.config.mjs +0 -9
  317. package/website/scripts/fetch-versions.js +0 -166
  318. package/website/scripts/generate-examples-index.js +0 -163
  319. package/website/scripts/merge-docs-to-wiki.ts +0 -207
  320. package/website/scripts/sync-version.js +0 -72
  321. package/website/scripts/sync-wiki.ts +0 -322
  322. package/website/scripts/upload-wiki.ts +0 -199
  323. package/website/styles/_spacing.scss +0 -453
  324. package/website/styles/_tokens.scss +0 -245
  325. package/website/styles/_typography.scss +0 -361
  326. package/website/styles/_variables.scss +0 -287
  327. package/website/tailwind.config.ts +0 -170
@@ -0,0 +1,621 @@
1
+ # OSSA GitLab Duo Platform Integration
2
+
3
+ **Version**: 0.2.9
4
+ **Status**: Draft
5
+ **Last Updated**: 2025-12-04
6
+
7
+ This document specifies the integration between OSSA agents and GitLab Ultimate's Duo Platform.
8
+
9
+ ## Overview
10
+
11
+ OSSA agents integrate with GitLab through:
12
+ 1. **AgentFlow** - Issue lifecycle states for agent-driven workflows
13
+ 2. **Custom Fields** - Metadata for routing and tracking
14
+ 3. **Duo Platform** - Agent registry, execution UI, and observability
15
+ 4. **AutoDevOps** - Automated CI/CD integration
16
+
17
+ ---
18
+
19
+ ## AgentFlow Lifecycle
20
+
21
+ ### Issue States
22
+
23
+ ```
24
+ ┌─────────────────────────────────────────────────────────────────┐
25
+ │ AGENTFLOW LIFECYCLE │
26
+ ├─────────────────────────────────────────────────────────────────┤
27
+ │ │
28
+ │ ┌────────┐ ┌────────┐ ┌─────────────┐ ┌────────┐ │
29
+ │ │ Triage │───▶│ To Do │───▶│ In Progress │───▶│ Done │ │
30
+ │ └────────┘ └────────┘ └─────────────┘ └────────┘ │
31
+ │ │ │ │
32
+ │ ▼ ▼ │
33
+ │ ┌─────────────┐ ┌──────────┐ │
34
+ │ │ Blocked │ │ Canceled │ │
35
+ │ └─────────────┘ └──────────┘ │
36
+ │ │
37
+ │ In Progress Sub-States: │
38
+ │ ┌────────────┐ ┌────────────┐ ┌────────┐ ┌────────┐ │
39
+ │ │ Validation │ │ Review │ │ Merged │ │ Blocked│ │
40
+ │ └────────────┘ └────────────┘ └────────┘ └────────┘ │
41
+ │ │
42
+ └─────────────────────────────────────────────────────────────────┘
43
+ ```
44
+
45
+ ### State Definitions
46
+
47
+ | State | Description | Agent Behavior |
48
+ |-------|-------------|----------------|
49
+ | `Triage` | Unassigned, needs routing | Meta-orchestrator routes to agent |
50
+ | `To Do` | Assigned, queued | Agent acknowledges, adds to backlog |
51
+ | `In Progress` | Agent working | Active processing |
52
+ | `Validation` | Code complete, testing | Security-healer triggers scans |
53
+ | `Review` | MR created, awaiting review | Wiki-aggregator updates docs |
54
+ | `Merged` | MR merged to development | Release agents prepare changelog |
55
+ | `Blocked` | Dependency or external block | Agent escalates to human |
56
+ | `Done` | Completed successfully | Agent updates metrics |
57
+ | `Canceled` | Will not do | Agent logs reason |
58
+
59
+ ### State Transitions
60
+
61
+ ```yaml
62
+ transitions:
63
+ triage:
64
+ allowed_next: [to_do, canceled]
65
+ agent_action: route_to_specialist
66
+
67
+ to_do:
68
+ allowed_next: [in_progress, blocked, canceled]
69
+ agent_action: acknowledge_and_plan
70
+
71
+ in_progress:
72
+ allowed_next: [validation, review, blocked, done, canceled]
73
+ agent_action: execute_task
74
+
75
+ validation:
76
+ allowed_next: [review, in_progress, blocked]
77
+ agent_action: run_security_scans
78
+
79
+ review:
80
+ allowed_next: [merged, in_progress, blocked]
81
+ agent_action: update_documentation
82
+
83
+ merged:
84
+ allowed_next: [done]
85
+ agent_action: prepare_release
86
+
87
+ blocked:
88
+ allowed_next: [in_progress, to_do, canceled]
89
+ agent_action: escalate_to_human
90
+
91
+ done:
92
+ allowed_next: []
93
+ agent_action: finalize_metrics
94
+
95
+ canceled:
96
+ allowed_next: []
97
+ agent_action: log_cancellation_reason
98
+ ```
99
+
100
+ ---
101
+
102
+ ## Custom Fields
103
+
104
+ ### Field Definitions
105
+
106
+ | Field | Type | Scope | Values | Description |
107
+ |-------|------|-------|--------|-------------|
108
+ | `agent_assigned` | Single Select | Epic, Issue | 12 agents | Which agent owns this |
109
+ | `agent_status` | Single Select | Epic, Issue | 5 states | Agent-specific status |
110
+ | `commit_type` | Single Select | Epic, Issue | 10 types | Content classification |
111
+ | `codeowner` | Text | Issue | @username | Human owner |
112
+ | `priority` | Single Select | Issue, Epic, Task | P0-P3 | Urgency level |
113
+ | `release_type` | Single Select | Epic, Issue | 4 types | Release classification |
114
+ | `release_version` | Text | Issue | semver | Target version |
115
+ | `bot_wave` | Single Select | Issue, Task | 5 waves | Execution wave |
116
+
117
+ ### Agent Assignment Values
118
+
119
+ ```yaml
120
+ agent_assigned:
121
+ - wiki-aggregator
122
+ - ts-prod
123
+ - ts-local
124
+ - ossa-local
125
+ - native-local
126
+ - ml-prod
127
+ - ml-local
128
+ - infra-prod
129
+ - gitlab-lib-ci
130
+ - gitlab-lib-local
131
+ - drupal-prod
132
+ - drupal-local
133
+ ```
134
+
135
+ ### Commit Type Values
136
+
137
+ ```yaml
138
+ commit_type:
139
+ - drupal # Drupal modules, themes, recipes
140
+ - ts # TypeScript/JavaScript
141
+ - gitlab-lib # GitLab CI/CD
142
+ - ml # Machine learning, AI
143
+ - infra # Infrastructure, Kubernetes
144
+ - ossa # OSSA manifests
145
+ - docs # Documentation
146
+ - native # Native code (Rust, Go, C)
147
+ - security # Security-related
148
+ - release # Release automation
149
+ ```
150
+
151
+ ### Bot Wave Values
152
+
153
+ ```yaml
154
+ bot_wave:
155
+ - wave_1_compilation # Local validation
156
+ - wave_2_production # Production deployment
157
+ - wave_3_review # Quality and security
158
+ - wave_4_release # Versioning and release
159
+ - wave_5_docs # Documentation sync
160
+ ```
161
+
162
+ ---
163
+
164
+ ## Agent Registry
165
+
166
+ ### 12 OSSA Agents
167
+
168
+ | ID | Handle | Category | Wave | Triggers |
169
+ |----|--------|----------|------|----------|
170
+ | `wiki-aggregator` | @bot-wiki-aggregator | Docs | 5 | merge, schedule |
171
+ | `ts-prod` | @bot-ts-prod | Language | 2 | status=Validation |
172
+ | `ts-local` | @bot-ts-local | Language | 1 | commit, mention |
173
+ | `ossa-local` | @bot-ossa-local | OSSA | 1 | commit (*.ossa.yaml) |
174
+ | `native-local` | @bot-native-local | Native | 1 | commit (*.rs, *.go) |
175
+ | `ml-prod` | @bot-ml-prod | ML | 2 | status=Validation |
176
+ | `ml-local` | @bot-ml-local | ML | 1 | commit (*.py, *.ipynb) |
177
+ | `infra-prod` | @bot-infra-prod | Infra | 2 | commit (k8s/, terraform/) |
178
+ | `gitlab-lib-ci` | @bot-gitlab-lib-ci | GitLab | 2 | pipeline_failure |
179
+ | `gitlab-lib-local` | @bot-gitlab-lib-local | GitLab | 1 | commit (.gitlab-ci.yml) |
180
+ | `drupal-prod` | @bot-drupal-prod | Drupal | 2 | status=Validation |
181
+ | `drupal-local` | @bot-drupal-local | Drupal | 1 | commit (*.php, *.module) |
182
+
183
+ ### Routing Matrix
184
+
185
+ ```yaml
186
+ routing:
187
+ # File pattern → Agent chain
188
+ "**/*.php":
189
+ - drupal-local
190
+ - drupal-prod
191
+
192
+ "**/*.module":
193
+ - drupal-local
194
+ - drupal-prod
195
+
196
+ "**/*.ts":
197
+ - ts-local
198
+ - ts-prod
199
+
200
+ "**/*.tsx":
201
+ - ts-local
202
+ - ts-prod
203
+
204
+ ".gitlab-ci.yml":
205
+ - gitlab-lib-local
206
+ - gitlab-lib-ci
207
+
208
+ ".gitlab/**/*.yml":
209
+ - gitlab-lib-local
210
+ - gitlab-lib-ci
211
+
212
+ "**/*.py":
213
+ - ml-local
214
+ - ml-prod
215
+
216
+ "**/*.ipynb":
217
+ - ml-local
218
+ - ml-prod
219
+
220
+ "**/*.rs":
221
+ - native-local
222
+
223
+ "**/*.go":
224
+ - native-local
225
+
226
+ "**/*.ossa.yaml":
227
+ - ossa-local
228
+
229
+ "k8s/**":
230
+ - infra-prod
231
+
232
+ "terraform/**":
233
+ - infra-prod
234
+
235
+ "**/*.md":
236
+ - wiki-aggregator
237
+
238
+ "docs/**":
239
+ - wiki-aggregator
240
+ ```
241
+
242
+ ---
243
+
244
+ ## Bot Waves
245
+
246
+ ### Wave Execution
247
+
248
+ ```
249
+ ┌─────────────────────────────────────────────────────────────────┐
250
+ │ BOT WAVE EXECUTION │
251
+ ├─────────────────────────────────────────────────────────────────┤
252
+ │ │
253
+ │ Wave 1: COMPILATION │
254
+ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
255
+ │ │ts-local │ │gitlab- │ │drupal- │ │ml-local │ │ossa- │ │
256
+ │ │ │ │lib-local│ │local │ │ │ │local │ │
257
+ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
258
+ │ │ │ │ │ │ │
259
+ │ ▼ ▼ ▼ ▼ ▼ │
260
+ │ Wave 2: PRODUCTION │
261
+ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
262
+ │ │ts-prod │ │gitlab- │ │drupal- │ │ml-prod │ │infra- │ │
263
+ │ │ │ │lib-ci │ │prod │ │ │ │prod │ │
264
+ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
265
+ │ │ │ │ │ │ │
266
+ │ ▼ ▼ ▼ ▼ ▼ │
267
+ │ Wave 3: REVIEW │
268
+ │ ┌─────────────────┐ ┌─────────────────┐ │
269
+ │ │ security-healer │ │ wiki-aggregator │ │
270
+ │ └────────┬────────┘ └────────┬────────┘ │
271
+ │ │ │ │
272
+ │ ▼ ▼ │
273
+ │ Wave 4: RELEASE │
274
+ │ ┌─────────────────────────────────────┐ │
275
+ │ │ release automation │ │
276
+ │ └─────────────────┬───────────────────┘ │
277
+ │ │ │
278
+ │ ▼ │
279
+ │ Wave 5: DOCS │
280
+ │ ┌─────────────────────────────────────┐ │
281
+ │ │ wiki-aggregator │ │
282
+ │ └─────────────────────────────────────┘ │
283
+ │ │
284
+ └─────────────────────────────────────────────────────────────────┘
285
+ ```
286
+
287
+ ### Wave Configuration
288
+
289
+ ```yaml
290
+ waves:
291
+ wave_1_compilation:
292
+ agents:
293
+ - ts-local
294
+ - gitlab-lib-local
295
+ - drupal-local
296
+ - ml-local
297
+ - ossa-local
298
+ - native-local
299
+ trigger: commit
300
+ parallel: true
301
+ timeout_minutes: 10
302
+ on_failure: block_next_wave
303
+
304
+ wave_2_production:
305
+ agents:
306
+ - ts-prod
307
+ - gitlab-lib-ci
308
+ - drupal-prod
309
+ - ml-prod
310
+ - infra-prod
311
+ trigger: wave_1_complete
312
+ parallel: true
313
+ timeout_minutes: 30
314
+ on_failure: rollback
315
+
316
+ wave_3_review:
317
+ agents:
318
+ - security-healer
319
+ - wiki-aggregator
320
+ trigger: wave_2_complete
321
+ parallel: true
322
+ timeout_minutes: 15
323
+ on_failure: create_incident
324
+
325
+ wave_4_release:
326
+ agents:
327
+ - release-automation
328
+ trigger: status=merged
329
+ parallel: false
330
+ timeout_minutes: 10
331
+ on_failure: notify_maintainers
332
+
333
+ wave_5_docs:
334
+ agents:
335
+ - wiki-aggregator
336
+ trigger: wave_4_complete
337
+ parallel: false
338
+ timeout_minutes: 5
339
+ on_failure: log_warning
340
+ ```
341
+
342
+ ---
343
+
344
+ ## Duo Platform Integration
345
+
346
+ ### API Endpoints
347
+
348
+ ```yaml
349
+ duo_platform:
350
+ base_url: /automate/ossa-agents
351
+
352
+ endpoints:
353
+ # Agent Registry
354
+ list:
355
+ method: GET
356
+ path: /
357
+ response: AgentRegistryList
358
+
359
+ detail:
360
+ method: GET
361
+ path: /:agent_id
362
+ response: AgentDetail
363
+
364
+ # Execution
365
+ execute:
366
+ method: POST
367
+ path: /:agent_id/execute
368
+ body: ExecuteRequest
369
+ response: ExecutionResult
370
+
371
+ # Observability
372
+ metrics:
373
+ method: GET
374
+ path: /:agent_id/metrics
375
+ response: AgentMetrics
376
+
377
+ logs:
378
+ method: GET
379
+ path: /:agent_id/logs
380
+ query:
381
+ since: ISO8601
382
+ until: ISO8601
383
+ level: LogLevel
384
+ response: LogStream
385
+
386
+ traces:
387
+ method: GET
388
+ path: /:agent_id/traces
389
+ query:
390
+ trace_id: string
391
+ response: TraceSpans
392
+ ```
393
+
394
+ ### Registry Schema
395
+
396
+ ```typescript
397
+ interface AgentRegistryEntry {
398
+ id: string;
399
+ name: string;
400
+ handle: string; // @bot-<name>
401
+ category: AgentCategory;
402
+ wave: WaveNumber;
403
+ version: string;
404
+ status: 'active' | 'degraded' | 'inactive';
405
+ manifest_url: string;
406
+ metrics: {
407
+ executions_24h: number;
408
+ success_rate: number;
409
+ avg_duration_ms: number;
410
+ };
411
+ }
412
+
413
+ type AgentCategory =
414
+ | 'language'
415
+ | 'infrastructure'
416
+ | 'security'
417
+ | 'documentation'
418
+ | 'release'
419
+ | 'orchestrator';
420
+
421
+ type WaveNumber = 1 | 2 | 3 | 4 | 5;
422
+ ```
423
+
424
+ ### Execution UI
425
+
426
+ ```yaml
427
+ execution_ui:
428
+ path: /automate/ossa-agents/:agent_id/execute
429
+
430
+ features:
431
+ - input_form # Dynamic form from agent input_schema
432
+ - dry_run_toggle # Test without side effects
433
+ - live_output # Streaming execution output
434
+ - trace_viewer # OpenTelemetry trace visualization
435
+ - metrics_dashboard # Real-time metrics
436
+ - approval_workflow # For privileged operations
437
+ ```
438
+
439
+ ---
440
+
441
+ ## AutoDevOps Integration
442
+
443
+ ### Security Scanning
444
+
445
+ ```yaml
446
+ autodevops:
447
+ security:
448
+ # Triggered by security-healer
449
+ sast:
450
+ enabled: true
451
+ analyzer: semgrep
452
+
453
+ dast:
454
+ enabled: true
455
+ target: review_app
456
+
457
+ secret_detection:
458
+ enabled: true
459
+ historic: true
460
+
461
+ container_scanning:
462
+ enabled: true
463
+ registry: $CI_REGISTRY
464
+
465
+ dependency_scanning:
466
+ enabled: true
467
+ analyzers:
468
+ - gemnasium
469
+ - retire.js
470
+ ```
471
+
472
+ ### Agent CI Jobs
473
+
474
+ ```yaml
475
+ # .gitlab-ci.yml agent jobs
476
+ .ossa-agent-job:
477
+ image: ossa/agent-runner:latest
478
+ variables:
479
+ OSSA_AGENT_ID: ${AGENT_ID}
480
+ OTEL_EXPORTER_OTLP_ENDPOINT: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/observability/v1/traces
481
+ script:
482
+ - ossa run --agent ${OSSA_AGENT_ID} --input "${AGENT_INPUT}"
483
+ artifacts:
484
+ reports:
485
+ ossa: agent-report.json
486
+
487
+ agent:drupal-local:
488
+ extends: .ossa-agent-job
489
+ variables:
490
+ AGENT_ID: drupal-local
491
+ rules:
492
+ - if: $CI_COMMIT_BRANCH
493
+ changes:
494
+ - "**/*.php"
495
+ - "**/*.module"
496
+
497
+ agent:ts-local:
498
+ extends: .ossa-agent-job
499
+ variables:
500
+ AGENT_ID: ts-local
501
+ rules:
502
+ - if: $CI_COMMIT_BRANCH
503
+ changes:
504
+ - "**/*.ts"
505
+ - "**/*.tsx"
506
+ ```
507
+
508
+ ---
509
+
510
+ ## Context Injection
511
+
512
+ ### Documentation Context
513
+
514
+ ```yaml
515
+ context_injection:
516
+ # 400+ pages of documentation injected into agent context
517
+ sources:
518
+ - technical-docs-wiki
519
+ - api-schema-registry
520
+ - ossa-specification
521
+
522
+ max_tokens: 100000
523
+
524
+ priority:
525
+ - relevant_to_file_type # Highest
526
+ - recent_changes
527
+ - frequently_referenced
528
+ - architecture_overview # Lowest
529
+ ```
530
+
531
+ ### Tool Approval Workflows
532
+
533
+ ```yaml
534
+ tool_approval:
535
+ # Operations requiring human approval
536
+ privileged_operations:
537
+ - apply_patches
538
+ - create_incidents
539
+ - block_merge
540
+ - scale_agents
541
+ - update_production
542
+
543
+ approval_flow:
544
+ method: gitlab_approval
545
+ required_approvers: 1
546
+ timeout_minutes: 60
547
+
548
+ bypass_conditions:
549
+ - severity: critical
550
+ auto_approve: true
551
+ notify: security-team
552
+ ```
553
+
554
+ ---
555
+
556
+ ## OSSA Extension Schema
557
+
558
+ ```yaml
559
+ # Agent manifest extension for GitLab
560
+ extensions:
561
+ gitlab:
562
+ # Event triggers
563
+ triggers:
564
+ - event: commit | merge | schedule | status_change | security_alert | mention
565
+ branches: [string]
566
+ status: string
567
+ cron: string
568
+
569
+ # Custom field mappings
570
+ custom_fields:
571
+ agent_assigned: string
572
+ bot_wave: string
573
+
574
+ # Merge request controls
575
+ merge_blocking:
576
+ enabled: boolean
577
+ condition: string # e.g., "cvss >= 7.0"
578
+
579
+ # Duo Platform registration
580
+ duo_platform:
581
+ route: string # /automate/ossa-agents
582
+ registry_endpoint: string
583
+ execution_ui: string
584
+ ```
585
+
586
+ ---
587
+
588
+ ## Implementation Checklist
589
+
590
+ ### Phase 1: Foundation
591
+ - [ ] AgentFlow status definitions in GitLab
592
+ - [ ] Custom fields created
593
+ - [ ] Agent registry API implemented
594
+ - [ ] Meta-orchestrator deployed
595
+
596
+ ### Phase 2: Agents
597
+ - [ ] All 12 agents deployed
598
+ - [ ] Routing logic implemented
599
+ - [ ] Wave coordination working
600
+ - [ ] A2A messaging functional
601
+
602
+ ### Phase 3: Integration
603
+ - [ ] Duo Platform UI connected
604
+ - [ ] Observability flowing to GitLab
605
+ - [ ] AutoDevOps security scanning
606
+ - [ ] Context injection working
607
+
608
+ ### Phase 4: Optimization
609
+ - [ ] Performance tuning
610
+ - [ ] Cost optimization
611
+ - [ ] Documentation complete
612
+ - [ ] Training materials
613
+
614
+ ---
615
+
616
+ ## References
617
+
618
+ - [GitLab Duo Platform](https://docs.gitlab.com/ee/development/duo/)
619
+ - [OSSA Specification v0.2.9](./ossa-0.2.9.schema.json)
620
+ - [Meta Orchestrator Agent](../.agents/orchestrators/meta-orchestrator/agent.yml)
621
+ - [Security Healer Agent](../.agents/workers/security-healer/agent.yml)