CommandMatcher matrix commands fail: Worker script not found (bare-name PATH resolution) #34
Labels
No labels
blocked:needs-decision
bug
chore
cron
design
in-progress
infra
milestone
module-o
needs-decompose
needs-research
ops-task
pm
quickfix
security/medium
triage-approved
vikunja
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/org_mode#34
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Matrix status bot commands (!runs/!status/!tail/!last-failures) fail on first real exercise —
Worker script not found: status-report.py.Found by: live verification of vikunja#115 (tasker t_322ca763) — first ever command dispatch in the Org Ops room, 2026-08-21 22:09 UTC.
Root cause:
src/server/command_matcher.pyCommandMatcher.dispatch()runssubprocess.run(script_parts, cwd=self._worker_dir, env=env, ...)with a bare worker name (e.g.status-report.py, no slash) as the command. On POSIX, subprocess resolves a bare name via PATH only — NOT via cwd./home/b/Projects/org_mode/workersis not on the daemon's PATH (systemd unit PATH:/home/b/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin), so every command dispatch raises FileNotFoundError and is recorded as afailurein the ledger. The webhook/queue path works because AsyncDispatcher uses absolute script paths.Observed: ledger run
7aed583c-71d7-4d44-8050-6545bd4b43f8(source=matrix, commandstatus-report.py --runs, status failure, "Worker script not found"); room reply ❌ receipt with the same error.Fix (hot-deployed on unstable, uncommitted pending this issue): in
dispatch(), after buildingscript_parts, absolutize a bare worker name againstworker_dir:Deployed via scp +
systemctl --user restart org-subscriber.service; post-fix all four commands + failure path verified (ledger success rows477788c4,7222fe34,e7909c3b,f35972ce; failurebcaf4342; rich HTML replies in room). See card t_322ca763 report for full evidence.Acceptance: commit the fix (with a regression note for the matrix-command path) and close this issue; PR review via the normal gating chain.
Refs: vikunja#115, tasker t_322ca763.