docs(spec): recognize SafetyProfile as composed sub-model of AutomationProfile #471

Closed
opened 2026-02-27 22:49:27 +00:00 by freemo · 0 comments
Owner

Metadata

  • Commit Message: docs(spec): recognize SafetyProfile as composed sub-model of AutomationProfile
  • Branch: docs/safety-profile-spec-composition

Background

During implementation of #332 (SafetyProfile model), a spec alignment issue was identified: the specification placed the three safety booleans (require_sandbox, require_checkpoints, allow_unsafe_tools) directly on AutomationProfile, while the implementation introduced a separate SafetyProfile model with those same fields — creating overlapping authority with no spec-defined resolution.

This issue updates the specification and architecture docs to recognize SafetyProfile as a first-class composed sub-model within AutomationProfile via a safety field. This eliminates the dual-authority problem by making SafetyProfile the single source of truth for all hard safety constraints.

Changes

New

  • docs/adr/ADR-041-safety-profile-extraction.md — New ADR documenting the composition decision

Updated

  • docs/specification.md — Glossary, Automatable Tasks split, built-in profile matrix, YAML examples
  • docs/adr/ADR-017-automation-profiles.md — Profile Fields table, built-in profiles, constraints, cross-reference
  • docs/reference/automation_profiles.md — Safety Profile section, built-in matrix, YAML examples
  • docs/schema/automation_profile.schema.yaml — Nested safety object schema
  • docs/adr/index.md — ADR-041 added to inventory

Acceptance Criteria

  • Specification glossary defines Safety Profile as a concept
  • AutomationProfile composes SafetyProfile via a safety field in all spec/reference docs
  • Built-in profile matrices show safety fields under safety.* prefix
  • YAML examples use nested safety: block
  • ADR-041 documents the composition decision with alternatives considered
  • ADR-017 cross-references ADR-041

Definition of Done

This issue is complete when:

  • The PR is reviewed and merged to master.
  • Issue #332 implementation aligns with these spec changes (composition, not parallel models).
## Metadata - **Commit Message**: `docs(spec): recognize SafetyProfile as composed sub-model of AutomationProfile` - **Branch**: `docs/safety-profile-spec-composition` ## Background During implementation of #332 (SafetyProfile model), a spec alignment issue was identified: the specification placed the three safety booleans (`require_sandbox`, `require_checkpoints`, `allow_unsafe_tools`) directly on `AutomationProfile`, while the implementation introduced a separate `SafetyProfile` model with those same fields — creating overlapping authority with no spec-defined resolution. This issue updates the specification and architecture docs to recognize `SafetyProfile` as a first-class **composed sub-model** within `AutomationProfile` via a `safety` field. This eliminates the dual-authority problem by making `SafetyProfile` the single source of truth for all hard safety constraints. ## Changes ### New - **`docs/adr/ADR-041-safety-profile-extraction.md`** — New ADR documenting the composition decision ### Updated - **`docs/specification.md`** — Glossary, Automatable Tasks split, built-in profile matrix, YAML examples - **`docs/adr/ADR-017-automation-profiles.md`** — Profile Fields table, built-in profiles, constraints, cross-reference - **`docs/reference/automation_profiles.md`** — Safety Profile section, built-in matrix, YAML examples - **`docs/schema/automation_profile.schema.yaml`** — Nested `safety` object schema - **`docs/adr/index.md`** — ADR-041 added to inventory ## Acceptance Criteria - [x] Specification glossary defines `Safety Profile` as a concept - [x] `AutomationProfile` composes `SafetyProfile` via a `safety` field in all spec/reference docs - [x] Built-in profile matrices show safety fields under `safety.*` prefix - [x] YAML examples use nested `safety:` block - [x] ADR-041 documents the composition decision with alternatives considered - [x] ADR-017 cross-references ADR-041 ## Definition of Done This issue is complete when: - The PR is reviewed and merged to `master`. - Issue #332 implementation aligns with these spec changes (composition, not parallel models).
freemo added reference docs/safety-profile-spec-composition 2026-02-28 01:09:02 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#471
No description provided.