// Additive Projects/Issues metadata authority; never grants task or merge authority. CONTRACT ForgePlanning { ENFORCEMENT_MODE: enforced CONTEXT { ENTITIES PlanningRequest { operation: string repository_matches_main: bool target_exists: bool requester_is_human: bool requester_is_agent: bool requester_is_author: bool requester_is_assignee: bool references_valid: bool revision_matches: bool resource_count: int } CONSTANTS { max_collection_records: int == 1000 [SOURCE:FORGE-PLANNING-V1] } } TRIGGER { manage_planning() } GUARANTEE { ENSURE manage_planning() WHEN PlanningRequest.repository_matches_main == true [SOURCE:planning_repository] } PROHIBITION { FORBID manage_planning WHEN PlanningRequest.operation != "create_project" AND PlanningRequest.operation != "update_project" AND PlanningRequest.operation != "create_issue" AND PlanningRequest.operation != "update_issue" AND PlanningRequest.operation != "comment_issue" [SOURCE:planning_operation] FORBID manage_planning WHEN (PlanningRequest.requester_is_human == false AND PlanningRequest.requester_is_agent == false) OR (PlanningRequest.requester_is_human == true AND PlanningRequest.requester_is_agent == true) [SOURCE:planning_actor_kind] FORBID manage_planning WHEN (PlanningRequest.operation == "create_project" OR PlanningRequest.operation == "update_project") AND PlanningRequest.requester_is_human == false [SOURCE:planning_project_human] FORBID manage_planning WHEN PlanningRequest.operation == "create_issue" AND PlanningRequest.requester_is_agent == true AND PlanningRequest.requester_is_author == false [SOURCE:planning_issue_create_author] FORBID manage_planning WHEN (PlanningRequest.operation == "update_issue" OR PlanningRequest.operation == "comment_issue") AND PlanningRequest.requester_is_agent == true AND PlanningRequest.requester_is_author == false AND PlanningRequest.requester_is_assignee == false [SOURCE:planning_issue_authority] FORBID manage_planning WHEN PlanningRequest.references_valid == false [SOURCE:planning_references] FORBID manage_planning WHEN PlanningRequest.revision_matches == false [SOURCE:planning_revision] FORBID manage_planning WHEN (PlanningRequest.operation == "create_project" OR PlanningRequest.operation == "create_issue") AND PlanningRequest.target_exists == true [SOURCE:planning_duplicate_create] FORBID manage_planning WHEN (PlanningRequest.operation == "update_project" OR PlanningRequest.operation == "update_issue" OR PlanningRequest.operation == "comment_issue") AND PlanningRequest.target_exists == false [SOURCE:planning_existing_target] FORBID manage_planning WHEN (PlanningRequest.operation == "create_project" OR PlanningRequest.operation == "create_issue" OR PlanningRequest.operation == "comment_issue") AND PlanningRequest.resource_count >= max_collection_records [SOURCE:planning_collection_capacity] } OBSERVABILITY { LOG "ForgePlanning evaluated" ON decision } }