fix(control-plane): derive the audit-log root from the registry in the binding and the shell defaults
from_env() fills delegate_job_logs_dir with the delegate_job_logs next to the resolved mam_jobs_dir unless DELEGATE_JOB_LOGS_DIR is set, so a session created with only MAM_JOBS_DIR moved no longer records the workspace's old log root. worktree_prepare.sh passes DELEGATE_JOB_LOGS_DIR on only when the caller set it. lib.sh and the delegate-job wrapper no longer carry a bash copy of the default: delegate_publish_cmd, delegate_started_recorded and _logs_dir_abs resolve it with get_logs_dir(<registry>), the wrapper fails closed when it cannot, exports the resolved root to its children, prints it as submit's last line, and logs takes --registry-dir. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
b8bed8124e
commit
b7a857d12f
4 files changed
+63
-50
No files matched your search
@@ -21,6 +21,8 @@ import shlex
|
||||
import sys
|
||||
from typing import Dict, Optional
|
||||
|
||||
from lib_py.delegation import mqtt_common
|
||||
|
||||
KEYS = ("workspace_root", "agent_sessions_yaml", "mam_jobs_dir", "delegate_job_logs_dir")
|
||||
ENV = {"workspace_root": "WORKSPACE_ROOT", "agent_sessions_yaml": "AGENT_SESSIONS_YAML",
|
||||
"mam_jobs_dir": "MAM_JOBS_DIR", "delegate_job_logs_dir": "DELEGATE_JOB_LOGS_DIR"}
|
||||
@@ -45,6 +47,10 @@ def from_env(env=None) -> Dict[str, str]:
|
||||
v = (env.get(var) or "").strip()
|
||||
if v:
|
||||
b[k] = _abs(v)
|
||||
# Issue #57: without an explicit DELEGATE_JOB_LOGS_DIR the audit log is
|
||||
# the delegate_job_logs next to the registry in use, not the workspace's.
|
||||
if not (env.get("DELEGATE_JOB_LOGS_DIR") or "").strip():
|
||||
b["delegate_job_logs_dir"] = _abs(mqtt_common.sibling_logs_dir(b["mam_jobs_dir"]))
|
||||
return b
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user