@bluefly/openstandardagents 0.2.8 → 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 (112) hide show
  1. package/.env.example +1 -1
  2. package/.github/AGENTS.md +245 -0
  3. package/.github/agents/github-issue-triage.ossa.yaml +99 -0
  4. package/.github/agents/github-pr-triage.ossa.yaml +137 -0
  5. package/.github/workflows/issue-sync-to-gitlab.yml +138 -0
  6. package/.github/workflows/pr-triage-to-gitlab.yml +164 -0
  7. package/.version.json +1 -1
  8. package/.wiki-config.json +1 -1
  9. package/CHANGELOG.md +33 -0
  10. package/CONTRIBUTING.md +102 -3
  11. package/README.md +17 -10
  12. package/dist/services/release-automation/schemas/release.schema.js +1 -1
  13. package/dist/services/release-automation/webhook.service.js +3 -3
  14. package/dist/services/release-automation/webhook.service.js.map +1 -1
  15. package/dist/services/runtime/claude/claude-adapter.d.ts +1 -1
  16. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
  17. package/dist/services/runtime/claude/claude-adapter.js +1 -1
  18. package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
  19. package/dist/spec/v0.2.9/a2a-protocol.md +1337 -0
  20. package/dist/spec/v0.2.9/agent.md +1946 -0
  21. package/dist/spec/v0.2.9/capabilities/index.yaml +25 -0
  22. package/dist/spec/v0.2.9/capabilities/memory.yaml +251 -0
  23. package/dist/spec/v0.2.9/capability-schema.md +576 -0
  24. package/dist/spec/v0.2.9/compliance-profiles.md +533 -0
  25. package/dist/spec/v0.2.9/conformance-testing.md +1527 -0
  26. package/dist/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  27. package/dist/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  28. package/dist/spec/v0.2.9/runtime-semantics.md +464 -0
  29. package/dist/spec/v0.2.9/security-model.md +1245 -0
  30. package/dist/spec/v0.2.9/semantic-conventions.md +347 -0
  31. package/dist/spec/v0.2.9/types.ts +522 -0
  32. package/dist/types/policy.d.ts +377 -0
  33. package/dist/types/policy.d.ts.map +1 -0
  34. package/dist/types/policy.js +84 -0
  35. package/dist/types/policy.js.map +1 -0
  36. package/dist/utils/version.js +1 -1
  37. package/docs/specs/policy-dsl.md +925 -0
  38. package/examples/adk-integration/code-review-workflow.yml +1 -1
  39. package/examples/adk-integration/customer-support.yml +1 -1
  40. package/examples/adk-integration/data-pipeline.yml +1 -1
  41. package/examples/advanced/reasoning-agent.yaml +136 -0
  42. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  43. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  44. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  45. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  46. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  47. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  48. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  49. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  50. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  51. package/examples/agents-md/code-agent.ossa.json +100 -0
  52. package/examples/agents-md/monorepo-agent.ossa.yaml +180 -0
  53. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  54. package/examples/autogen/multi-agent.ossa.json +1 -1
  55. package/examples/claude-code/code-reviewer.ossa.yaml +1 -1
  56. package/examples/claude-code/ossa-validator.ossa.yaml +2 -2
  57. package/examples/common_npm/agent-router.ossa.yaml +1 -1
  58. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  59. package/examples/crewai/research-team.ossa.json +1 -1
  60. package/examples/cursor/code-review-agent.ossa.json +1 -1
  61. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
  62. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  63. package/examples/extensions/agents-md-v1.yml +175 -0
  64. package/examples/extensions/drupal-v1.yml +1 -1
  65. package/examples/extensions/kagent-v1.yml +1 -1
  66. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  67. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  68. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  69. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  70. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  71. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -1
  72. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  73. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  74. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  75. package/examples/langchain/chain-agent.ossa.json +1 -1
  76. package/examples/langflow/workflow-agent.ossa.json +1 -1
  77. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  78. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  79. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  80. package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
  81. package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
  82. package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
  83. package/examples/openai/basic-agent.ossa.yaml +1 -1
  84. package/examples/openai/multi-tool-agent.ossa.json +1 -1
  85. package/examples/openai/swarm-agent.ossa.json +1 -1
  86. package/examples/production/document-analyzer-openai.yml +1 -1
  87. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  88. package/examples/templates/ossa-compliance.yaml +1 -1
  89. package/examples/vercel/edge-agent.ossa.json +1 -1
  90. package/llms.txt +1 -1
  91. package/package.json +5 -3
  92. package/scripts/README.md +25 -0
  93. package/scripts/compliance-audit.ts +796 -0
  94. package/scripts/generate-agents-catalog.ts +2 -1
  95. package/scripts/generate-api-docs.ts +2 -1
  96. package/scripts/generate-examples-docs.ts +2 -1
  97. package/scripts/generate-llms-ctx.sh +2 -2
  98. package/spec/v0.2.9/a2a-protocol.md +1337 -0
  99. package/spec/v0.2.9/agent.md +1946 -0
  100. package/spec/v0.2.9/capabilities/index.yaml +25 -0
  101. package/spec/v0.2.9/capabilities/memory.yaml +251 -0
  102. package/spec/v0.2.9/capability-schema.md +576 -0
  103. package/spec/v0.2.9/compliance-profiles.md +533 -0
  104. package/spec/v0.2.9/conformance-testing.md +1527 -0
  105. package/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  106. package/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  107. package/spec/v0.2.9/runtime-semantics.md +464 -0
  108. package/spec/v0.2.9/security-model.md +1245 -0
  109. package/spec/v0.2.9/semantic-conventions.md +347 -0
  110. package/spec/v0.2.9/types.ts +522 -0
  111. package/test-results/junit.xml +184 -146
  112. package/.github/workflows/pr-comment.yml +0 -33
@@ -0,0 +1,533 @@
1
+ # OSSA Compliance Profiles
2
+
3
+ **Version**: 0.2.9
4
+ **Status**: Draft
5
+ **Last Updated**: 2025-12-04
6
+
7
+ This document defines formal compliance profiles for OSSA agents targeting enterprise adoption.
8
+
9
+ ## Overview
10
+
11
+ Compliance profiles define mandatory agent configurations for regulatory frameworks. When an agent declares a compliance profile, the runtime MUST enforce all profile requirements.
12
+
13
+ ```yaml
14
+ apiVersion: ossa/v0.2.9
15
+ kind: Agent
16
+ metadata:
17
+ name: healthcare-assistant
18
+ spec:
19
+ compliance:
20
+ profiles:
21
+ - hipaa
22
+ - soc2-type2
23
+ audit:
24
+ enabled: true
25
+ retention_days: 2555 # 7 years
26
+ ```
27
+
28
+ ---
29
+
30
+ ## Profile Schema
31
+
32
+ ```typescript
33
+ interface ComplianceProfile {
34
+ id: string;
35
+ name: string;
36
+ framework: 'FedRAMP' | 'SOC2' | 'HIPAA' | 'GDPR' | 'PCI-DSS' | 'ISO27001';
37
+ level?: string;
38
+ version: string;
39
+
40
+ requirements: {
41
+ state?: StateRequirements;
42
+ observability?: ObservabilityRequirements;
43
+ tools?: ToolRequirements;
44
+ security?: SecurityRequirements;
45
+ data?: DataRequirements;
46
+ };
47
+
48
+ controls: ControlMapping[];
49
+ }
50
+
51
+ interface ControlMapping {
52
+ id: string; // Framework control ID (e.g., "AC-2")
53
+ description: string; // Control description
54
+ mapping: string; // OSSA spec path
55
+ validation: string; // Validation rule
56
+ }
57
+ ```
58
+
59
+ ---
60
+
61
+ ## FedRAMP Moderate Profile
62
+
63
+ **Framework**: FedRAMP (Federal Risk and Authorization Management Program)
64
+ **Level**: Moderate (110 controls)
65
+ **Use Case**: Federal agency deployments, government contractors
66
+
67
+ ```yaml
68
+ id: fedramp-moderate
69
+ name: FedRAMP Moderate Baseline
70
+ framework: FedRAMP
71
+ level: Moderate
72
+ version: "2024.1"
73
+
74
+ requirements:
75
+ state:
76
+ encryption:
77
+ required: true
78
+ algorithm: AES-256-GCM
79
+ key_management: FIPS-140-2
80
+ storage:
81
+ allowed_regions:
82
+ - us-east-1
83
+ - us-west-2
84
+ - us-gov-west-1
85
+ data_residency: US
86
+
87
+ observability:
88
+ audit_logging:
89
+ required: true
90
+ retention_days: 2555 # 7 years
91
+ immutable: true
92
+ tracing:
93
+ required: true
94
+ pii_redaction: true
95
+
96
+ tools:
97
+ authentication:
98
+ required: true
99
+ types_allowed:
100
+ - mtls
101
+ - oauth2
102
+ - saml
103
+ mfa_required: true
104
+ network:
105
+ egress_filtering: true
106
+ allowed_domains_only: true
107
+
108
+ security:
109
+ vulnerability_scanning: required
110
+ penetration_testing: annual
111
+ incident_response: 1h
112
+
113
+ controls:
114
+ - id: AC-2
115
+ description: Account Management
116
+ mapping: spec.security.authentication
117
+ validation: authentication.required == true
118
+
119
+ - id: AC-3
120
+ description: Access Enforcement
121
+ mapping: spec.autonomy.approval_required
122
+ validation: approval_required == true for privileged_tools
123
+
124
+ - id: AU-2
125
+ description: Audit Events
126
+ mapping: spec.observability.logging
127
+ validation: logging.level in ['info', 'debug']
128
+
129
+ - id: AU-3
130
+ description: Content of Audit Records
131
+ mapping: spec.observability.logging.structured
132
+ validation: structured == true
133
+
134
+ - id: AU-9
135
+ description: Protection of Audit Information
136
+ mapping: spec.observability.logging.immutable
137
+ validation: immutable == true
138
+
139
+ - id: AU-11
140
+ description: Audit Record Retention
141
+ mapping: spec.observability.logging.retention_days
142
+ validation: retention_days >= 2555
143
+
144
+ - id: SC-8
145
+ description: Transmission Confidentiality
146
+ mapping: spec.tools[*].source.tls
147
+ validation: all tools use TLS 1.3
148
+
149
+ - id: SC-13
150
+ description: Cryptographic Protection
151
+ mapping: spec.state.encryption
152
+ validation: encryption.algorithm in ['AES-256-GCM', 'ChaCha20-Poly1305']
153
+
154
+ - id: SC-28
155
+ description: Protection of Information at Rest
156
+ mapping: spec.state.encryption.at_rest
157
+ validation: at_rest == true
158
+ ```
159
+
160
+ ---
161
+
162
+ ## SOC 2 Type II Profile
163
+
164
+ **Framework**: SOC 2 (Service Organization Control 2)
165
+ **Type**: Type II (operational effectiveness over time)
166
+ **Use Case**: SaaS providers, enterprise B2B
167
+
168
+ ```yaml
169
+ id: soc2-type2
170
+ name: SOC 2 Type II
171
+ framework: SOC2
172
+ level: Type II
173
+ version: "2024.1"
174
+
175
+ requirements:
176
+ state:
177
+ encryption:
178
+ required: true
179
+ algorithm: AES-256-GCM
180
+ backup:
181
+ required: true
182
+ frequency: daily
183
+ retention_days: 90
184
+
185
+ observability:
186
+ audit_logging:
187
+ required: true
188
+ retention_days: 365
189
+ tamper_evident: true
190
+ monitoring:
191
+ required: true
192
+ alerting: true
193
+ metrics:
194
+ required: true
195
+ availability_tracking: true
196
+
197
+ tools:
198
+ authentication:
199
+ required: true
200
+ types_allowed:
201
+ - oauth2
202
+ - api_key
203
+ - jwt
204
+ rate_limiting:
205
+ required: true
206
+
207
+ security:
208
+ access_control: rbac
209
+ change_management: required
210
+ incident_response: 4h
211
+
212
+ data:
213
+ classification: required
214
+ retention_policy: required
215
+ disposal: secure_delete
216
+
217
+ controls:
218
+ # Security (Common Criteria)
219
+ - id: CC6.1
220
+ description: Logical and Physical Access Controls
221
+ mapping: spec.security.authentication
222
+ validation: authentication.required == true
223
+
224
+ - id: CC6.2
225
+ description: System Access Authorization
226
+ mapping: spec.autonomy.approval_required
227
+ validation: privileged operations require approval
228
+
229
+ - id: CC6.3
230
+ description: Access Removal
231
+ mapping: spec.security.session.timeout_seconds
232
+ validation: timeout_seconds <= 3600
233
+
234
+ # Availability
235
+ - id: A1.1
236
+ description: System Availability
237
+ mapping: spec.reliability.circuit_breaker
238
+ validation: circuit_breaker.enabled == true
239
+
240
+ - id: A1.2
241
+ description: Recovery Procedures
242
+ mapping: spec.reliability.fallback
243
+ validation: fallback defined for critical tools
244
+
245
+ # Processing Integrity
246
+ - id: PI1.1
247
+ description: Processing Integrity
248
+ mapping: spec.constraints.validation
249
+ validation: input/output validation enabled
250
+
251
+ # Confidentiality
252
+ - id: C1.1
253
+ description: Confidential Information Protection
254
+ mapping: spec.state.encryption
255
+ validation: encryption.required == true
256
+
257
+ - id: C1.2
258
+ description: Confidential Information Disposal
259
+ mapping: spec.state.ttl
260
+ validation: ttl defined for sensitive state
261
+
262
+ # Privacy
263
+ - id: P1.1
264
+ description: Privacy Notice
265
+ mapping: spec.safety.content_filtering
266
+ validation: pii_detection enabled
267
+ ```
268
+
269
+ ---
270
+
271
+ ## HIPAA Profile
272
+
273
+ **Framework**: HIPAA (Health Insurance Portability and Accountability Act)
274
+ **Use Case**: Healthcare, PHI handling
275
+
276
+ ```yaml
277
+ id: hipaa
278
+ name: HIPAA Compliance
279
+ framework: HIPAA
280
+ version: "2024.1"
281
+
282
+ requirements:
283
+ state:
284
+ encryption:
285
+ required: true
286
+ algorithm: AES-256-GCM
287
+ phi_specific: true
288
+ storage:
289
+ phi_isolation: true
290
+ access_logging: true
291
+ retention:
292
+ minimum_days: 2190 # 6 years
293
+
294
+ observability:
295
+ audit_logging:
296
+ required: true
297
+ retention_days: 2190
298
+ phi_access_logging: true
299
+ immutable: true
300
+ tracing:
301
+ required: true
302
+ phi_redaction: mandatory
303
+
304
+ tools:
305
+ authentication:
306
+ required: true
307
+ types_allowed:
308
+ - mtls
309
+ - oauth2
310
+ mfa_required: true
311
+ phi_access:
312
+ minimum_necessary: true
313
+ access_justification: required
314
+
315
+ security:
316
+ workforce_training: required
317
+ business_associate_agreement: required
318
+ incident_response: 24h
319
+ breach_notification: 60d
320
+
321
+ data:
322
+ phi_detection: required
323
+ de_identification: available
324
+ consent_tracking: required
325
+
326
+ controls:
327
+ # Administrative Safeguards
328
+ - id: 164.308(a)(1)
329
+ description: Security Management Process
330
+ mapping: spec.security
331
+ validation: security block fully configured
332
+
333
+ - id: 164.308(a)(3)
334
+ description: Workforce Security
335
+ mapping: spec.security.authentication
336
+ validation: authentication.mfa_required == true
337
+
338
+ - id: 164.308(a)(4)
339
+ description: Information Access Management
340
+ mapping: spec.autonomy.approval_required
341
+ validation: phi_access requires approval
342
+
343
+ # Physical Safeguards
344
+ - id: 164.310(d)(1)
345
+ description: Device and Media Controls
346
+ mapping: spec.state.encryption
347
+ validation: encryption.at_rest == true
348
+
349
+ # Technical Safeguards
350
+ - id: 164.312(a)(1)
351
+ description: Access Control
352
+ mapping: spec.security.authentication
353
+ validation: unique user identification
354
+
355
+ - id: 164.312(b)
356
+ description: Audit Controls
357
+ mapping: spec.observability.logging
358
+ validation: phi_access_logging == true
359
+
360
+ - id: 164.312(c)(1)
361
+ description: Integrity
362
+ mapping: spec.observability.logging.immutable
363
+ validation: immutable == true
364
+
365
+ - id: 164.312(d)
366
+ description: Person or Entity Authentication
367
+ mapping: spec.security.authentication
368
+ validation: authentication.required == true
369
+
370
+ - id: 164.312(e)(1)
371
+ description: Transmission Security
372
+ mapping: spec.tools[*].source.tls
373
+ validation: all tools use TLS 1.2+
374
+ ```
375
+
376
+ ---
377
+
378
+ ## GDPR Profile
379
+
380
+ **Framework**: GDPR (General Data Protection Regulation)
381
+ **Use Case**: EU citizen data processing
382
+
383
+ ```yaml
384
+ id: gdpr
385
+ name: GDPR Compliance
386
+ framework: GDPR
387
+ version: "2024.1"
388
+
389
+ requirements:
390
+ state:
391
+ encryption:
392
+ required: true
393
+ storage:
394
+ allowed_regions:
395
+ - eu-west-1
396
+ - eu-central-1
397
+ - eu-north-1
398
+ data_residency: EU
399
+ retention:
400
+ purpose_limitation: true
401
+ right_to_erasure: true
402
+
403
+ observability:
404
+ audit_logging:
405
+ required: true
406
+ retention_days: 365
407
+ personal_data_logging: minimized
408
+ consent_tracking:
409
+ required: true
410
+
411
+ tools:
412
+ data_processing:
413
+ purpose_specification: required
414
+ consent_verification: required
415
+ third_party:
416
+ dpa_required: true
417
+ transfer_mechanism: required
418
+
419
+ security:
420
+ data_protection_officer: recommended
421
+ privacy_impact_assessment: required
422
+ breach_notification: 72h
423
+
424
+ data:
425
+ personal_data_detection: required
426
+ anonymization: available
427
+ pseudonymization: available
428
+ data_portability: required
429
+ right_to_access: required
430
+ right_to_rectification: required
431
+ right_to_erasure: required
432
+
433
+ controls:
434
+ # Lawfulness of Processing
435
+ - id: Article 6
436
+ description: Lawfulness of Processing
437
+ mapping: spec.safety.content_filtering
438
+ validation: consent_verification enabled
439
+
440
+ # Rights of Data Subject
441
+ - id: Article 15
442
+ description: Right of Access
443
+ mapping: spec.state.export
444
+ validation: data_export capability available
445
+
446
+ - id: Article 17
447
+ description: Right to Erasure
448
+ mapping: spec.state.delete
449
+ validation: delete capability available
450
+
451
+ - id: Article 20
452
+ description: Right to Data Portability
453
+ mapping: spec.state.export
454
+ validation: standard format export available
455
+
456
+ # Data Protection by Design
457
+ - id: Article 25
458
+ description: Data Protection by Design
459
+ mapping: spec.state.encryption
460
+ validation: encryption.required == true
461
+
462
+ # Security of Processing
463
+ - id: Article 32
464
+ description: Security of Processing
465
+ mapping: spec.security
466
+ validation: encryption and access control configured
467
+
468
+ # Data Breach Notification
469
+ - id: Article 33
470
+ description: Breach Notification
471
+ mapping: spec.observability.alerting
472
+ validation: breach_detection alerting configured
473
+
474
+ # Data Protection Impact Assessment
475
+ - id: Article 35
476
+ description: DPIA Required
477
+ mapping: metadata.annotations.dpia_completed
478
+ validation: dpia_completed == true for high-risk processing
479
+ ```
480
+
481
+ ---
482
+
483
+ ## Validation CLI
484
+
485
+ ```bash
486
+ # Validate agent against compliance profile
487
+ ossa validate --profile hipaa manifest.yaml
488
+
489
+ # Validate against multiple profiles
490
+ ossa validate --profile hipaa,soc2-type2 manifest.yaml
491
+
492
+ # Generate compliance report
493
+ ossa compliance-report --format pdf manifest.yaml
494
+
495
+ # List available profiles
496
+ ossa profiles list
497
+ ```
498
+
499
+ ---
500
+
501
+ ## Runtime Enforcement
502
+
503
+ When an agent declares compliance profiles, the runtime MUST:
504
+
505
+ 1. **Validate at startup**: Check all requirements before agent becomes ready
506
+ 2. **Enforce at runtime**: Block non-compliant operations
507
+ 3. **Audit all access**: Log all data access per audit requirements
508
+ 4. **Report violations**: Emit alerts for compliance violations
509
+
510
+ ```typescript
511
+ interface ComplianceEnforcement {
512
+ // Called before agent initialization
513
+ validateCompliance(manifest: AgentManifest): ComplianceResult;
514
+
515
+ // Called before each operation
516
+ enforcePolicy(operation: Operation, context: Context): boolean;
517
+
518
+ // Called after each operation
519
+ auditOperation(operation: Operation, result: Result): void;
520
+
521
+ // Called on violation
522
+ reportViolation(violation: Violation): void;
523
+ }
524
+ ```
525
+
526
+ ---
527
+
528
+ ## References
529
+
530
+ - [NIST SP 800-53](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final) - FedRAMP control families
531
+ - [AICPA SOC 2](https://www.aicpa.org/interestareas/frc/assuranceadvisoryservices/sorhome) - Trust Services Criteria
532
+ - [HHS HIPAA](https://www.hhs.gov/hipaa/index.html) - Security and Privacy Rules
533
+ - [GDPR](https://gdpr.eu/) - EU Data Protection Regulation