{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://agoragentic.com/schema/options-automation-policy.v1.json",
  "title": "Options Automation Policy V1",
  "description": "Design-only C3 options automation policy artifact for Triptych OS (Agent OS). It defines per-user risk controls, strategy allowlists, disclosure, revocation, signal-provider, and hard-gate requirements while keeping live dispatch, options execution, provider calls, wallet/x402 mutation, execute/invoke behavior, marketplace publication, and capability publication disabled.",
  "type": "object",
  "required": [
    "schema",
    "schema_ref",
    "policy_id",
    "created_at",
    "status",
    "maturity_level",
    "mode",
    "owner_scope",
    "user_scope",
    "strategy_allowlist",
    "risk_limits",
    "execution_controls",
    "approval_controls",
    "disclosure_controls",
    "signal_provider_distribution",
    "monitoring_controls",
    "revocation_controls",
    "external_gates",
    "audit_controls",
    "no_live_dispatch_assertion"
  ],
  "additionalProperties": false,
  "properties": {
    "schema": {
      "type": "string",
      "const": "agoragentic.agent-os.options-automation-policy.v1"
    },
    "schema_ref": {
      "type": "string",
      "const": "/schema/options-automation-policy.v1.json"
    },
    "policy_id": {
      "type": "string",
      "pattern": "^optauto_[a-zA-Z0-9_-]{8,64}$"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "status": {
      "type": "string",
      "enum": ["design_only_blocked", "draft_review_only", "blocked_until_c2_evidence"]
    },
    "maturity_level": {
      "type": "string",
      "const": "C3_design_gate"
    },
    "mode": {
      "type": "string",
      "enum": ["design_only", "approval_required_shadow_policy"]
    },
    "owner_scope": {
      "type": "object",
      "required": [
        "owner_ref",
        "deployment_ref",
        "per_user_policy",
        "pooled_custody_allowed",
        "shared_brokerage_account_allowed"
      ],
      "additionalProperties": false,
      "properties": {
        "owner_ref": { "$ref": "#/$defs/public_safe_ref" },
        "deployment_ref": { "$ref": "#/$defs/public_safe_ref" },
        "per_user_policy": { "type": "boolean", "const": true },
        "pooled_custody_allowed": { "type": "boolean", "const": false },
        "shared_brokerage_account_allowed": { "type": "boolean", "const": false }
      }
    },
    "user_scope": {
      "type": "object",
      "required": [
        "user_policy_binding_ref",
        "individual_opt_in_required",
        "per_user_robinhood_connection_required",
        "subscriber_auto_copy_allowed",
        "public_social_copy_trading_allowed"
      ],
      "additionalProperties": false,
      "properties": {
        "user_policy_binding_ref": { "$ref": "#/$defs/public_safe_ref" },
        "individual_opt_in_required": { "type": "boolean", "const": true },
        "per_user_robinhood_connection_required": { "type": "boolean", "const": true },
        "subscriber_auto_copy_allowed": { "type": "boolean", "const": false },
        "public_social_copy_trading_allowed": { "type": "boolean", "const": false }
      }
    },
    "strategy_allowlist": {
      "type": "array",
      "minItems": 1,
      "maxItems": 20,
      "items": { "$ref": "#/$defs/strategy_policy" }
    },
    "risk_limits": {
      "type": "object",
      "required": [
        "hard_max_loss_per_order_usd",
        "daily_loss_limit_usd",
        "weekly_loss_limit_usd",
        "max_open_risk_usd",
        "concentration_limit_pct",
        "max_order_count_per_day",
        "expiration_cutoff_days",
        "liquidity_min_open_interest",
        "liquidity_min_volume",
        "max_bid_ask_spread_pct",
        "max_slippage_pct",
        "cooldown_after_loss_minutes"
      ],
      "additionalProperties": false,
      "properties": {
        "hard_max_loss_per_order_usd": { "$ref": "#/$defs/positive_money" },
        "daily_loss_limit_usd": { "$ref": "#/$defs/positive_money" },
        "weekly_loss_limit_usd": { "$ref": "#/$defs/positive_money" },
        "max_open_risk_usd": { "$ref": "#/$defs/positive_money" },
        "concentration_limit_pct": { "type": "number", "exclusiveMinimum": 0, "maximum": 100 },
        "max_order_count_per_day": { "type": "integer", "minimum": 1, "maximum": 100 },
        "expiration_cutoff_days": { "type": "integer", "minimum": 0, "maximum": 365 },
        "liquidity_min_open_interest": { "type": "integer", "minimum": 0 },
        "liquidity_min_volume": { "type": "integer", "minimum": 0 },
        "max_bid_ask_spread_pct": { "type": "number", "exclusiveMinimum": 0, "maximum": 100 },
        "max_slippage_pct": { "type": "number", "exclusiveMinimum": 0, "maximum": 100 },
        "cooldown_after_loss_minutes": { "type": "integer", "minimum": 1, "maximum": 10080 }
      }
    },
    "execution_controls": {
      "type": "object",
      "required": [
        "kill_switch_required",
        "automatic_downgrade_to_approval_required",
        "provider_schema_confirmed_required",
        "owner_authenticated_mcp_schema_probe_required",
        "legal_compliance_signoff_required",
        "c2_closed_beta_evidence_required",
        "route_can_dispatch_provider",
        "route_can_execute",
        "options_execution_enabled",
        "provider_dispatch_enabled",
        "wallet_mutation_enabled",
        "x402_settlement_enabled",
        "marketplace_publication_enabled",
        "capability_publication_enabled"
      ],
      "additionalProperties": false,
      "properties": {
        "kill_switch_required": { "type": "boolean", "const": true },
        "automatic_downgrade_to_approval_required": { "type": "boolean", "const": true },
        "provider_schema_confirmed_required": { "type": "boolean", "const": true },
        "owner_authenticated_mcp_schema_probe_required": { "type": "boolean", "const": true },
        "legal_compliance_signoff_required": { "type": "boolean", "const": true },
        "c2_closed_beta_evidence_required": { "type": "boolean", "const": true },
        "route_can_dispatch_provider": { "type": "boolean", "const": false },
        "route_can_execute": { "type": "boolean", "const": false },
        "options_execution_enabled": { "type": "boolean", "const": false },
        "provider_dispatch_enabled": { "type": "boolean", "const": false },
        "wallet_mutation_enabled": { "type": "boolean", "const": false },
        "x402_settlement_enabled": { "type": "boolean", "const": false },
        "marketplace_publication_enabled": { "type": "boolean", "const": false },
        "capability_publication_enabled": { "type": "boolean", "const": false }
      }
    },
    "approval_controls": {
      "type": "object",
      "required": [
        "manual_approval_required_until_c3_gate_complete",
        "policy_change_requires_owner_approval",
        "owner_can_revoke_at_any_time",
        "every_c2_order_requires_manual_approval"
      ],
      "additionalProperties": false,
      "properties": {
        "manual_approval_required_until_c3_gate_complete": { "type": "boolean", "const": true },
        "policy_change_requires_owner_approval": { "type": "boolean", "const": true },
        "owner_can_revoke_at_any_time": { "type": "boolean", "const": true },
        "every_c2_order_requires_manual_approval": { "type": "boolean", "const": true }
      }
    },
    "disclosure_controls": {
      "type": "object",
      "required": [
        "options_risk_disclosure_required",
        "non_advice_disclaimer_required",
        "paper_results_hypothetical_disclaimer_required",
        "no_guaranteed_return_claims",
        "no_partnership_claims"
      ],
      "additionalProperties": false,
      "properties": {
        "options_risk_disclosure_required": { "type": "boolean", "const": true },
        "non_advice_disclaimer_required": { "type": "boolean", "const": true },
        "paper_results_hypothetical_disclaimer_required": { "type": "boolean", "const": true },
        "no_guaranteed_return_claims": { "type": "boolean", "const": true },
        "no_partnership_claims": { "type": "boolean", "const": true }
      }
    },
    "signal_provider_distribution": {
      "type": "object",
      "required": [
        "signals_and_alerts_only_by_default",
        "paid_signal_review_required",
        "auto_copy_requires_separate_compliance_approval",
        "conflict_disclosure_required",
        "no_pooled_execution",
        "subscriber_manual_approval_required_until_separately_approved"
      ],
      "additionalProperties": false,
      "properties": {
        "signals_and_alerts_only_by_default": { "type": "boolean", "const": true },
        "paid_signal_review_required": { "type": "boolean", "const": true },
        "auto_copy_requires_separate_compliance_approval": { "type": "boolean", "const": true },
        "conflict_disclosure_required": { "type": "boolean", "const": true },
        "no_pooled_execution": { "type": "boolean", "const": true },
        "subscriber_manual_approval_required_until_separately_approved": { "type": "boolean", "const": true }
      }
    },
    "monitoring_controls": {
      "type": "object",
      "required": [
        "owner_notifications_required",
        "audit_events_required",
        "anomaly_detection_required",
        "receipt_write_required",
        "error_downgrade_required"
      ],
      "additionalProperties": false,
      "properties": {
        "owner_notifications_required": { "type": "boolean", "const": true },
        "audit_events_required": { "type": "boolean", "const": true },
        "anomaly_detection_required": { "type": "boolean", "const": true },
        "receipt_write_required": { "type": "boolean", "const": true },
        "error_downgrade_required": { "type": "boolean", "const": true }
      }
    },
    "revocation_controls": {
      "type": "object",
      "required": [
        "owner_revoke_required",
        "user_revoke_required",
        "stop_disconnect_blocks_new_actions",
        "policy_reversible"
      ],
      "additionalProperties": false,
      "properties": {
        "owner_revoke_required": { "type": "boolean", "const": true },
        "user_revoke_required": { "type": "boolean", "const": true },
        "stop_disconnect_blocks_new_actions": { "type": "boolean", "const": true },
        "policy_reversible": { "type": "boolean", "const": true }
      }
    },
    "external_gates": {
      "type": "array",
      "minItems": 4,
      "maxItems": 12,
      "items": { "$ref": "#/$defs/external_gate" }
    },
    "audit_controls": {
      "type": "object",
      "required": [
        "redacted_receipts_required",
        "raw_provider_payload_excluded",
        "private_account_values_excluded",
        "private_order_ids_excluded",
        "wallet_values_excluded"
      ],
      "additionalProperties": false,
      "properties": {
        "redacted_receipts_required": { "type": "boolean", "const": true },
        "raw_provider_payload_excluded": { "type": "boolean", "const": true },
        "private_account_values_excluded": { "type": "boolean", "const": true },
        "private_order_ids_excluded": { "type": "boolean", "const": true },
        "wallet_values_excluded": { "type": "boolean", "const": true }
      }
    },
    "no_live_dispatch_assertion": {
      "type": "object",
      "required": [
        "schema_is_design_only",
        "no_provider_call",
        "no_robinhood_mcp_call",
        "no_order_placement",
        "no_order_cancellation",
        "no_wallet_or_x402_mutation",
        "no_execute_or_invoke_mutation",
        "no_marketplace_or_capability_publication"
      ],
      "additionalProperties": false,
      "properties": {
        "schema_is_design_only": { "type": "boolean", "const": true },
        "no_provider_call": { "type": "boolean", "const": true },
        "no_robinhood_mcp_call": { "type": "boolean", "const": true },
        "no_order_placement": { "type": "boolean", "const": true },
        "no_order_cancellation": { "type": "boolean", "const": true },
        "no_wallet_or_x402_mutation": { "type": "boolean", "const": true },
        "no_execute_or_invoke_mutation": { "type": "boolean", "const": true },
        "no_marketplace_or_capability_publication": { "type": "boolean", "const": true }
      }
    }
  },
  "$defs": {
    "strategy_policy": {
      "type": "object",
      "required": [
        "strategy_type",
        "enabled_for_design_review",
        "max_loss_known_required",
        "undefined_max_loss_blocked",
        "requires_manual_approval_until_c3_approved"
      ],
      "additionalProperties": false,
      "properties": {
        "strategy_type": {
          "type": "string",
          "enum": [
            "long_call",
            "long_put",
            "debit_spread",
            "credit_spread",
            "covered_call",
            "protective_put",
            "custom_review_required"
          ]
        },
        "enabled_for_design_review": { "type": "boolean", "const": true },
        "max_loss_known_required": { "type": "boolean", "const": true },
        "undefined_max_loss_blocked": { "type": "boolean", "const": true },
        "requires_manual_approval_until_c3_approved": { "type": "boolean", "const": true }
      }
    },
    "external_gate": {
      "type": "object",
      "required": ["gate_id", "required", "state", "evidence_ref"],
      "additionalProperties": false,
      "properties": {
        "gate_id": {
          "type": "string",
          "enum": [
            "official_robinhood_options_schema_confirmed",
            "owner_authenticated_mcp_schema_probe_recorded",
            "owner_legal_commercial_compliance_approval",
            "brokerage_options_approval_recorded",
            "c2_closed_beta_evidence_reviewed",
            "options_risk_disclosure_acknowledged",
            "stop_control_drill_passed",
            "data_minimization_plan_approved"
          ]
        },
        "required": { "type": "boolean", "const": true },
        "state": {
          "type": "string",
          "enum": ["missing", "pending_owner_review", "approved_evidence_ref_only"]
        },
        "evidence_ref": {
          "anyOf": [
            { "$ref": "#/$defs/evidence_ref" },
            { "type": "null" }
          ]
        }
      }
    },
    "positive_money": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1000000
    },
    "public_safe_ref": {
      "type": "string",
      "minLength": 3,
      "maxLength": 128,
      "pattern": "^[a-zA-Z0-9_.:-]+$",
      "not": { "$ref": "#/$defs/private_or_token_text" }
    },
    "evidence_ref": {
      "type": "string",
      "minLength": 6,
      "maxLength": 160,
      "pattern": "^(evidence|receipt|approval|review|artifact|sha256|redacted)[:_][a-zA-Z0-9_.:-]+$",
      "not": { "$ref": "#/$defs/private_or_token_text" }
    },
    "private_or_token_text": {
      "anyOf": [
        { "pattern": "[?&](token|access_token|refresh_token|api_key|key|secret|authorization)=" },
        { "pattern": "([Aa][Pp][Ii][_-]?[Kk][Ee][Yy]|[Aa]ccess[_-]?[Tt]oken|[Rr]efresh[_-]?[Tt]oken|[Oo][Aa]uth|[Pp]assword|[Ss]ecret|[Mm][Ff][Aa]|[Cc][Vv][Vv])" },
        { "pattern": "([Aa]ccount|[Cc]ard|[Pp]ayment|[Ww]allet|[Oo]rder)[\\s_-]?([Nn]umber|[Ii][Dd]|[Pp]ayload|[Rr]aw|[Vv]alue|[Vv]alues)" }
      ]
    }
  }
}
