diff --git a/org/ops/standard_parallel_v0.2.unified.json b/org/ops/standard_parallel_v0.2.unified.json index 0063110..1db2ec9 100644 --- a/org/ops/standard_parallel_v0.2.unified.json +++ b/org/ops/standard_parallel_v0.2.unified.json @@ -6,27 +6,61 @@ "max_concurrency": 3, "queue_limit": 20, "failure_streak_degrade_to": 1, - "priority_order": ["urgent", "high", "normal", "low"] + "priority_order": [ + "urgent", + "high", + "normal", + "low" + ] }, "oracle": { "classification": { "simple": { - "signals": ["single_step", "low_risk", "no_external_send", "no_irreversible_action", "known_tool_path"], - "route": ["val", "helix"], + "signals": [ + "single_step", + "low_risk", + "no_external_send", + "no_irreversible_action", + "known_tool_path" + ], + "route": [ + "val", + "helix" + ], "audit_mode": "sentinel_fast_optional", "budget_tier": "low", "max_concurrency": 3 }, "medium": { - "signals": ["multi_step", "moderate_risk", "workspace_changes", "clear_acceptance_criteria"], - "route": ["helix", "sentinel", "anvil"], + "signals": [ + "multi_step", + "moderate_risk", + "workspace_changes", + "clear_acceptance_criteria" + ], + "route": [ + "helix", + "sentinel", + "anvil" + ], "audit_mode": "sentinel_required", "budget_tier": "medium", "max_concurrency": 2 }, "complex": { - "signals": ["cross_system_or_channel", "privacy_or_permission_boundary", "irreversible_or_high_impact", "high_uncertainty", "long_horizon_dependency_graph"], - "route": ["helix", "sentinel", "anvil", "prism"], + "signals": [ + "cross_system_or_channel", + "privacy_or_permission_boundary", + "irreversible_or_high_impact", + "high_uncertainty", + "long_horizon_dependency_graph" + ], + "route": [ + "helix", + "sentinel", + "anvil", + "prism" + ], "audit_mode": "sentinel_strict", "budget_tier": "high", "max_concurrency": 1, @@ -34,53 +68,166 @@ } }, "overrides": { - "force_complex_if": ["external_send", "irreversible_action", "privacy_boundary_crossing", "budget_threshold_exceeded"], - "force_medium_if": ["code_or_config_change", "requires_exec_or_edit"] + "force_complex_if": [ + "external_send", + "irreversible_action", + "privacy_boundary_crossing", + "budget_threshold_exceeded" + ], + "force_medium_if": [ + "code_or_config_change", + "requires_exec_or_edit" + ] } }, "roles": { "helix": { "stage": "draft", "max_concurrency": 2, - "allowed_tools": ["read", "web_search", "web_fetch", "memory_search", "sessions_spawn", "sessions_send"], - "forbidden_actions": ["external_send", "irreversible_change"] + "allowed_tools": [ + "read", + "web_search", + "web_fetch", + "memory_search", + "sessions_spawn", + "sessions_send" + ], + "forbidden_actions": [ + "external_send", + "irreversible_change" + ] }, "sentinel": { "stage": "audit", "max_concurrency": 2, - "allowed_tools": ["read", "memory_search", "session_status"], - "audit_decisions": ["PASS", "SOFT_BLOCK", "HARD_BLOCK"] + "allowed_tools": [ + "read", + "memory_search", + "session_status" + ], + "audit_decisions": [ + "PASS", + "SOFT_BLOCK", + "HARD_BLOCK" + ] }, "anvil": { "stage": "execute", "max_concurrency": 2, - "allowed_tools": ["read", "write", "edit", "exec", "process"], + "allowed_tools": [ + "read", + "write", + "edit", + "exec", + "process" + ], "requires_audit": "PASS" }, "prism": { "stage": "reliability", "enabled": "phase1_upgrade", - "responsibility": ["failure_diagnosis", "retry_strategy", "rollback_plan", "self_healing_suggestion"] + "responsibility": [ + "failure_diagnosis", + "retry_strategy", + "rollback_plan", + "self_healing_suggestion" + ] } }, "routing": [ - { "when": "new_task", "to": "oracle" }, - { "when": "oracle.simple", "to": ["val", "helix"] }, - { "when": "oracle.medium", "to": ["helix", "sentinel", "anvil"] }, - { "when": "oracle.complex", "to": ["helix", "sentinel", "anvil", "prism"] }, - { "when": "sentinel.SOFT_BLOCK", "to": "helix" }, - { "when": "sentinel.HARD_BLOCK", "to": "val.report" } + { + "when": "new_task", + "to": "oracle" + }, + { + "when": "oracle.simple", + "to": [ + "val", + "helix" + ] + }, + { + "when": "oracle.medium", + "to": [ + "helix", + "sentinel", + "anvil" + ] + }, + { + "when": "oracle.complex", + "to": [ + "helix", + "sentinel", + "anvil", + "prism" + ] + }, + { + "when": "sentinel.SOFT_BLOCK", + "to": "helix" + }, + { + "when": "sentinel.HARD_BLOCK", + "to": "val.report" + } ], "escalation": { - "must_escalate_if": ["external_send", "irreversible_action", "privacy_boundary_crossing", "budget_threshold_exceeded", "audit_uncertainty_high"], + "must_escalate_if": [ + "external_send", + "irreversible_action", + "privacy_boundary_crossing", + "budget_threshold_exceeded", + "audit_uncertainty_high" + ], "double_sign_rule": { - "required": ["sentinel", "bastion"], + "required": [ + "sentinel", + "bastion" + ], "proxy_if_bastion_missing": "val" } }, "atlas": { "base_path": "org/knowledge/atlas", - "write_targets": ["task_history", "decision_log", "failure_patterns", "user_prefs"], + "write_targets": [ + "task_history", + "decision_log", + "failure_patterns", + "user_prefs" + ], "policy": "structured_records_only" + }, + "model_pool": { + "global": { + "default_primary": "sub2api/gpt-5.3-codex", + "fallback": "lkeap/minimax-m2.5", + "strategy": "balanced" + }, + "roles": { + "val": { + "primary": "sub2api/gpt-5.3-codex", + "thinking": "low" + }, + "helix": { + "primary": "lkeap/kimi-k2.5", + "secondary": "sub2api/gpt-5.3-codex", + "thinking": "medium" + }, + "sentinel": { + "primary": "lkeap/glm-5", + "secondary": "sub2api/gpt-5.3-codex", + "thinking": "medium" + }, + "anvil": { + "primary": "lkeap/minimax-m2.5", + "secondary": "sub2api/gpt-5.3-codex", + "thinking": "low" + } + }, + "manual_switch": { + "enabled": true, + "note": "User explicit instruction overrides role mapping immediately." + } } -} +} \ No newline at end of file