Decision Executor Lifecycle (HyOps Module)¶
platform/network/decision-executor installs the last non-destructive stage in
the current control loop. It watches approved execution records and stages
normalized execution-attempt records for later real execution planes.
What it does¶
- runs as
systemdon the shared control host - watches
/opt/hybridops/decision-consumer/state/executions - writes dry-run execution-attempt records under
/opt/hybridops/decision-executor/state/attempts - does not invoke
hyops, a runner, or GitHub Actions in v1
Current operating model¶
platform/network/decision-serviceemits decision records.platform/network/decision-dispatcheremits routed dispatch requests.platform/network/decision-consumeremitsapproved-readyexecution records.platform/network/decision-executoremitsdry-run-readyexecution-attempt records.
This keeps the first release posture safe while making the control loop fully observable.
Paths¶
- executor config:
/opt/hybridops/decision-executor/config/config.json - executor state:
/opt/hybridops/decision-executor/state/state.json - executor attempts:
/opt/hybridops/decision-executor/state/attempts - executor log:
/opt/hybridops/decision-executor/logs/executor.log
Preconditions¶
platform/network/decision-consumeris already installed and healthy- the control host is reachable from the current HyOps controller
Apply¶
hyops apply --env dev \
--module platform/network/decision-executor \
--inputs "$HOME/.hybridops/envs/dev/config/modules/platform__network__decision-executor/latest.inputs.yml"
Verify¶
Module state:
jq '.status, .outputs' \
"$HOME/.hybridops/envs/dev/state/modules/platform__network__decision-executor/latest.json"
Host runtime:
ssh opsadmin@5.161.116.216 \
'sudo systemctl is-active hyops-decision-executor && sudo cat /opt/hybridops/decision-executor/state/state.json'
Expected:
cap.control.decision_executor = readydecision_executor.execution_mode = dry-run- the
hyops-decision-executorservice is active
Destroy¶
hyops destroy --env dev \
--module platform/network/decision-executor \
--inputs "$HOME/.hybridops/envs/dev/config/modules/platform__network__decision-executor/latest.inputs.yml"