Examples · µLang Git production contract
ForgeTaskReconcile
Owner-only reconcile of a wedged task: fork credentials revoked and fork head recorded before its claim is released.
- Entity
TaskReconcileRequest· 11 fields- Actions
reconcile_task- Clauses
- 9
- sha256
fa65aa09b3219cfb143caa92ce8db72d4e14fe4119766c674399f560f42f0dfe- Source
- .forge/rules/ForgeTaskReconcile.ul · raw · open in the playground
// Owner-only reconcile of a wedged task: fork credentials revoked and fork head recorded before its claim is released.
CONTRACT ForgeTaskReconcile {
ENFORCEMENT_MODE: enforced
CONTEXT {
ENTITIES TaskReconcileRequest {
operation: string
repository_matches_main: bool
requester_is_owner: bool
task_exists: bool
task_held: bool
inflight_guard_set: bool
fork_tokens_revoked: bool
fork_head_recorded: bool
idle_seconds: int
idle_threshold_seconds: int
effect_hash: string
}
CONSTANTS {
min_idle_threshold_seconds: int == 300 [SOURCE:FORGE-RECONCILE-V1]
}
}
TRIGGER { reconcile_task() }
PROHIBITION {
FORBID reconcile_task WHEN TaskReconcileRequest.operation != "reconcile" [SOURCE:reconcile_operation]
FORBID reconcile_task WHEN TaskReconcileRequest.repository_matches_main == false [SOURCE:reconcile_repository]
FORBID reconcile_task WHEN TaskReconcileRequest.requester_is_owner == false [SOURCE:reconcile_owner]
FORBID reconcile_task WHEN TaskReconcileRequest.task_exists == false [SOURCE:reconcile_task_exists]
FORBID reconcile_task WHEN TaskReconcileRequest.task_held == false [SOURCE:reconcile_task_held]
FORBID reconcile_task WHEN TaskReconcileRequest.idle_seconds < TaskReconcileRequest.idle_threshold_seconds [SOURCE:reconcile_idle]
FORBID reconcile_task WHEN TaskReconcileRequest.idle_threshold_seconds < min_idle_threshold_seconds [SOURCE:reconcile_idle_floor]
FORBID reconcile_task WHEN TaskReconcileRequest.fork_tokens_revoked == false [SOURCE:reconcile_fork_tokens]
FORBID reconcile_task WHEN TaskReconcileRequest.fork_head_recorded == false [SOURCE:reconcile_fork_head]
}
OBSERVABILITY { LOG "ForgeTaskReconcile evaluated" ON decision }
}