[verify-E2E] Restart org-subscriber daemon on unstable and confirm commit 1f4e66c lands a fixit card from Mark/mesh-seed#285 #47
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#47
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?
Context
workers/forgejo-kanban-ingress-wrapper.shwas broken at the Python parse step. Recent commits reverted a working argv-as-list shape back to a stdin-heredoc with\\nline-continuations inside a Python f-string expression. Symptoms:SyntaxError: f-string expression part cannot include a backslashat line 102 of the wrapper ({title.replace("'", "'\\''")}).\\nwas being passed over ssh stdin as two chars (\\+n) instead of newlines — bash would receive a malformed command with literal backslashes between tokens.Net effect: every
issues.labeledwebhook event for atriage-approvedlabel has silently failed at the wrapper since the reversion. This is why ~30 sweep cards, Mark/mesh-seed#285, and 15 cybertactics/veilwalkers issues all routed through the daemon → wrapper path without producing fixit cards.What was fixed
Commit
1f4e66c fix(worker): restore argv-as-list ssh invocation in forgejo-kanban-ingress-wrapper.shonMark/org_mode main:4424657shipped before the revert, merged withdcaaf91's--assignee triage-runnerand164bb5b'sblackhole.localssh target).rc=0on this host's Python 3.11.15.hermescleanly with title, body, and idempotency-key intact (no shell quoting surface).Why this issue exists (the verification gap)
The org-subscriber daemon runs on a separate host (
unstable.tail018ac4.ts.net), NOT on bblhd's host. The webhook delivery chain is:From bblhd's host I can verify the wrapper file is correct (done) but I cannot trace whether the daemon on
unstableis actually running, nor invoke the daemon to confirm end-to-end card creation. The kernel signal was diagnostic-only.What needs to happen on unstable to close the loop
unstable.tail018ac4.ts.nethas the org-subscriber daemon running (check systemctl /ps -ef | grep -E 'org-mode|forgejo-kanban').1f4e66cso it reads the updated wrapper script (file is at/home/b/Projects/org_mode/workers/forgejo-kanban-ingress-wrapper.shon unstable; the daemon invokes it by name with no startup cache).triage-approvedlabel onMark/mesh-seed#285(currently hasbug, triage-approved). The daemon should fireforgejo-kanban-ingress-wrapper.sh→ argv-as-list ssh invocation →hermes kanban create --idempotency-key forgejo:<url> --assignee triage-runner→ fixit board gets one new card with title[followup] mesh-seed#204: complete multi-tenant wiring — tests, runtime, docker,...and a body containing the--bodyblock from the wrapper.hermes kanban --board fixit listshows a new card from that webhook event.Acceptance
After step 4,
Mark/mesh-seed#285has a fixit card against it (idempotency-keyforgejo:<the URL of #285>).If the daemon is not running on unstable, the cards will not appear even with the wrapper fix in place — that's a separate restart task and out of scope for this quickfix.
Related
Mark/org_mode@1f4e66conmain4424657(claimed rewrite),164bb5b(blackhole.local SSH target),dcaaf91(--assignee triage-runner)triage-approvedbut no fixit card — they will all flow through once the daemon restarts and sees this fix.Status: RESOLVED 2026-09-22
Two fixes landed on
Mark/org_modemain:1f4e66c— restored argv-as-list ssh invocation inforgejo-kanban-ingress-wrapper.sh(replaced the stdin-heredoc shell-out with argv-as-list ssh + hermes CLI args).d19ea52— addedshlex.quote()for body and title in the wrapper so the remote bash doesn't mangle multiline bodies or titles with parens/backticks.E2E verification (2026-09-22 from bblhd's host)
unstable.tail018ac4.ts.netviasystemctl --user restart org-subscriber.service(was running 19 days with stale wrapper).Mark/veilwalkers#10test issue with body containing parens + backticks. Webhook delivered, action chain dispatched wrapper, wrapper exit=0, kanban card created (t_d1e21adc).Substrate fix also required
48 Mark/* webhooks were pointing at
http://unstable.tail018ac4.ts.net:9090/...(Tailscale MagicDNS hostname). Forgejo's webhook delivery could not resolve that hostname. All bulk-PATCHed tohttp://100.123.237.4:9090/...(bare Tailscale IP) so webhooks actually arrive at the daemon. Without this fix, even the wrapper-patched daemon would have received no events for those repos.Stashes preserved
Pre-existing local patches on
unstable(stash-1.patch3957 bytes,stash-2.patch25311 bytes) were dropped from git stash during the reset and preserved at/tmp/orgmode-stash-snapshot/onunstable.tail018ac4.ts.netfor operator review. These are operator-level local commits (pre-existing worker edits + m007-deploy patches), not the wrapper fix.Final state
Mark/veilwalkers#10→t_d1e21adc (ready, assignee=triage-runner)on fixit.triage-runner: done=73, ready=11, running=1— pipeline is healthy.Mark/org_modemain is at1f4e66c + d19ea52ahead ofbf0d318.