diff --git a/crates/omnigraph-cli/src/helpers.rs b/crates/omnigraph-cli/src/helpers.rs
index be356a9..85eb42a 100644
--- a/crates/omnigraph-cli/src/helpers.rs
+++ b/crates/omnigraph-cli/src/helpers.rs
@@ -3,6 +3,7 @@
//! main.rs in the modularization).
use super::*;
+use crate::operator;
pub(crate) fn ensure_local_graph_parent(uri: &str) -> Result<()> {
if !uri.contains("://") {
@@ -167,18 +168,40 @@ pub(crate) async fn open_local_db_with_policy(graph: &ResolvedCliGraph) -> Resul
}
}
+/// THE actor chain (RFC-007 §D3) — every command that needs an identity
+/// resolves through this one function (one path per concern):
+/// `--as` > legacy `cli.actor` in omnigraph.yaml (RFC-008 window) >
+/// `operator.actor` in ~/.omnigraph/config.yaml > none.
+pub(crate) fn resolve_actor(
+ cli_as: Option<&str>,
+ legacy_config_actor: Option<&str>,
+) -> Result