4.4 KiB
4.4 KiB
| created | path | project | tags | type | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 2026-07-27 | Sources/Dev | pbs-ig-autoreply-polish-0726 |
|
project-plan |
Goal
Six post-cutover fixes/features for the PBS IG comment→auto-reply automation, prepped on branches for Travis to review + deploy. Sibling to pbs-ig-autoreply-prod-cutover (thread 1008); this batch is the polish/bugfix pass after the prod cutover landed.
The six items:
- Blank recipe URL in first reply. In
Sub-instra-reply-handle-new,Prep_FB_MsgreadsrecipeUrlfrom theMergenode, but on the first-process path the URL isn't loaded yet (the cache-populating call ininstra-reel-cache-newhasn't returned), so the DM goes out with a blank URL. Fix: source the URL reliably — leading candidate is returningrecipe_urlfrom theinstra-reel-cache-newsubworkflow so the caller has it in hand. - Staging GChat error
Cannot read properties of undefined (reading '0')oninsta-webhook-new [v1], node "Call 'Sub-instra-reply-handle-new'", execution 7400 (~19:40 ET). Suspected an unmapped value; possibly correlated with prod activity (unconfirmed). Root-cause the[0]deref; get as far as static analysis allows. - Recipe-select filter (pbs-video-manager). On the project-management page and the platform-post individual record page, add a way to filter/narrow the recipe list when selecting.
- Split GChat spaces (full-wire). Currently all GChat messages hit one space. Route into three: errors, admin messages, PBS alerts. Travis creates the 3 spaces + provides 3 webhook URLs; n8n side wired end-to-end (centralize in
SendPBSChat_Newchokepoint, callers pass a message-type). - Reel title in PBS alerts. For PBS alert messages that carry the reel ID, also include the title.
- Editable recipe keyword on projects page (pbs-video-manager). After a recipe is linked, allow changing the recipe keyword on the projects page, using the same format as the platform-post individual record page.
Locked Decisions
- Access: staging n8n via API key (
n8n.pbs-staging.herbylab.dev). Key value pending from Travis → live verification of 1/2/4/5 deferred; all prep is static/repo-based. - Deploy: prep-only. Workers commit on branches; Travis runs the staging deploy and any prod steps. No autonomous deploys.
- Item 4 scope: full-wire the n8n routing. Travis creates the 3 GChat spaces and pastes 3 webhook URLs into vault/env later.
- Branches: fresh off
mainin each repo. wordpress-install →feat/n8n-alerting-and-reply-fixes; pbs-video-manager →feat/recipe-filter-and-keyword-edit. - No production. No
git push(Travis reconciles from his tower). Staging is the only test target, and only Travis deploys to it.
Open Items
- n8n API key value (blocks live verification of items 1/2/4/5).
- Execution 7400 input/error detail (confirms item 2 root cause).
- Three GChat space webhook URLs (item 4 env wiring — vars scaffolded, values pending).
Phases
- Worker A — web app (pbs-video-manager, items 3 + 6): recipe-select filter on project-management + platform-post pages; editable recipe keyword on projects page mirroring the platform-post record page. Runs
zero-checkafter (Python/Flask);a-reviewif >50 lines changed. - Worker B — n8n (wordpress-install, items 1 + 2 + 4 + 5, serialized): items share the same single-line workflow JSONs, so one owner avoids clobbering. Order: 2 (root-cause) → 1 (URL fix) → 5 (title in alert) → 4 (GChat split, largest). Each item reported discretely with what needs a staging run to confirm.
Notes
- Two workers max, one per repo — no cross-repo file contention. n8n items serialized inside Worker B because items 1/4/5 all touch
Sub-instra-reply-handle-new/SendPBSChat_New/PBS-Central-Error-Handlerand the JSON is minified single-line (merge-hostile). - Workflow JSONs live in
wordpress-install/roles/dockers/files/n8n/workflows/; env template in.../n8n/.env.j2;stamp-workflows.pystamps[vN]+ substitutes__PBS_DOMAIN__. SendPBSChat_New(idDrnZwagaEHZhR8wL) is an executeWorkflowTrigger sub-workflow — the natural routing chokepoint for item 4.PBS-Central-Error-Handler(idNDgjEmiULuSmfcN0) is the errorWorkflow target — relevant to items 2/5.- Prep-only + no API key means the whole batch lands as reviewable branch commits + a design note for item 4; Travis deploys to staging to verify.