fix(delegation): the path rules live in a stdlib-only module; the package imports without paho (Issue #57, Mac F1)
control_plane and status.sh imported sibling_logs_dir from mqtt_common, which imports paho at module level, so create/resume's binding and status died on an interpreter without paho-mqtt (_delegate_py_bin's last fallback is the PATH's python3). The registry/audit-log path rules move to lib_py/delegation/logroot.py (standard library only) and mqtt_common re-exports them. The package's own import chain also reached paho through service -> publish_event -> publisher, so mqtt_common and publisher import paho tolerantly and make_client() refuses with a clear error when a broker is actually needed. control_plane, status.sh, lib.sh's delegate_publish_cmd and delegate_logs_dir, and the wrapper's _logs_dir_abs import from logroot. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
63d816468e
commit
75c004222c
8 files changed
+145
-60
No files matched your search
@@ -168,7 +168,7 @@ def get_job_status(s):
|
||||
candidates += [os.path.join(r, jid, 'status.json')
|
||||
for r in (os.environ.get('DELEGATE_JOB_LOGS_DIR'), cp.get('delegate_job_logs_dir')) if r]
|
||||
# Issue #57: the audit log lives next to the registry unless moved explicitly
|
||||
from lib_py.delegation.mqtt_common import sibling_logs_dir
|
||||
from lib_py.delegation.logroot import sibling_logs_dir
|
||||
candidates += [os.path.join(sibling_logs_dir(r), jid, 'status.json')
|
||||
for r in (os.environ.get('MAM_JOBS_DIR'), cp.get('mam_jobs_dir')) if r]
|
||||
candidates += [
|
||||
@@ -380,7 +380,7 @@ def get_job_status(s):
|
||||
candidates += [os.path.join(r, jid, 'status.json')
|
||||
for r in (os.environ.get('DELEGATE_JOB_LOGS_DIR'), cp.get('delegate_job_logs_dir')) if r]
|
||||
# Issue #57: the audit log lives next to the registry unless moved explicitly
|
||||
from lib_py.delegation.mqtt_common import sibling_logs_dir
|
||||
from lib_py.delegation.logroot import sibling_logs_dir
|
||||
candidates += [os.path.join(sibling_logs_dir(r), jid, 'status.json')
|
||||
for r in (os.environ.get('MAM_JOBS_DIR'), cp.get('mam_jobs_dir')) if r]
|
||||
candidates += [
|
||||
|
||||
Reference in new issue
Block a user