S
Knowledge Pack Files
SideButton Marketing Website Knowledge Pack Files
Browse the source files that power the SideButton Marketing Website MCP server knowledge pack.
Available free v1.0.3 Browser
$
sidebutton install sidebutton.com Prerequisites
- Authenticated session
- At least 1 completed, 1 failed, and 1 cancelled job in history (run a workflow first if needed)
- Cookie consent dismissed
Phase 1: Page Load & Structure
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 1.1 | Jobs page loads | navigate to /portal/jobs | H1 "Jobs" visible |
| 1.2 | Job count | snapshot | "N jobs" text below heading |
| 1.3 | Filter tabs | snapshot | All 6 tabs visible: All, Running, Waiting, Completed, Failed, Cancelled |
| 1.4 | All tab active | snapshot | "All" tab has green pill background by default |
| 1.5 | Job list renders | snapshot | At least one job row visible with status dot, name, ID, agent, steps, duration, time |
| 1.6 | Column headers | snapshot | "ITEM", "AGENT", "STATUS" column headers visible above job rows |
| 1.7 | Search textbox | snapshot | "Search tickets…" textbox present below filter tabs |
| 1.8 | Workflow filter | snapshot | "Workflow" label with combobox (default "All workflows") |
| 1.9 | Agent filter | snapshot | "Agent" label with combobox (default "All agents") |
Phase 2: Job List Elements
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 2.1 | Job row — workflow name | snapshot | Bold workflow name in title case (e.g. "SD Coverage", "PM Drive") |
| 2.2 | Job row — ID | snapshot | Grey "#NNN" text next to name |
| 2.3 | Job row — agent avatar | snapshot | Small green circle with img element for agent |
| 2.4 | Job row — agent link | snapshot | Agent name is a link to /portal/agents |
| 2.5 | Job row — effort badge | snapshot | Green "MAX" / "HIGH" / "MEDIUM" badge (if present) |
| 2.6 | Job row — step count | snapshot | "N step" text |
| 2.7 | Job row — duration | snapshot | "Nm Ns" format (e.g. "11m 2s", "4m 31s") |
| 2.8 | Job row — status: Completed | snapshot | Green dot + "Completed" badge |
| 2.9 | Job row — status: Failed | snapshot | Red dot + "Failed" badge |
| 2.10 | Job row — status: Running | snapshot | Blue dot + "Running" badge |
| 2.11 | Job row — status: Cancelled | snapshot | Grey dot + "Cancelled" badge |
| 2.12 | Job row — relative time | snapshot | "Nm ago" / "Nh ago" / "Nd ago" right-aligned |
| 2.13 | Job row — ticket reference | snapshot | Orange/yellow ticket ref text (e.g. "SCRUM-229") for jobs with linked tickets |
| 2.14 | Job row — Cancel button | snapshot on running job | "Cancel" button visible on running job rows |
| 2.15 | Job row — Resend button | snapshot on failed/cancelled | "Resend" button visible on failed and cancelled job rows |
| 2.16 | Job row clickable | click any job row | Navigates to /portal/jobs/{id} |
| 2.17 | Running count badge | snapshot (when running jobs exist) | Running tab shows count (e.g. "Running 3") |
Phase 3: Filter Tabs
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 3.1 | Filter: Completed | click "Completed" tab -> snapshot | Only completed jobs shown, tab active |
| 3.2 | Filter: Failed | click "Failed" tab -> snapshot | Only failed jobs shown, tab active |
| 3.3 | Filter: Running | click "Running" tab -> snapshot | Only running jobs (or empty state) |
| 3.4 | Filter: Waiting | click "Waiting" tab -> snapshot | Only waiting jobs (or empty state) |
| 3.5 | Filter: Cancelled | click "Cancelled" tab -> snapshot | Only cancelled jobs shown, tab active |
| 3.6 | Filter: All | click "All" tab -> snapshot | All jobs shown, tab active |
| 3.7 | URL updates on filter | check URL after filter click | URL includes ?status={status} query param |
Phase 4: Search & Filter Controls
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 4.1 | Search by ticket ref | type ticket reference in search -> snapshot | Job list filters to matching ticket(s) |
| 4.2 | Search clear | clear search textbox -> snapshot | Full job list restores |
| 4.3 | Workflow filter | select specific workflow from dropdown -> snapshot | Only jobs for that workflow shown |
| 4.4 | Agent filter | select specific agent from dropdown -> snapshot | Only jobs for that agent shown |
| 4.5 | Combined filters | set status tab + workflow filter -> snapshot | Filters combine correctly |
| 4.6 | Reset workflow filter | select "All workflows" -> snapshot | Full list restores |
| 4.7 | Reset agent filter | select "All agents" -> snapshot | Full list restores |
Phase 5: Completed Job Detail
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 5.1 | Detail page loads | navigate to completed job /portal/jobs/{id} | H1 = workflow-slug with source/ticket, green "Completed" badge |
| 5.2 | Back link | snapshot | "< Back to jobs" link present |
| 5.3 | Metadata row | snapshot | Job #N, agent avatar + name, effort badge, duration (Nm Ns), "Created" date, pipeline ID |
| 5.4 | Pipeline ID | snapshot | Green/teal monospace text below metadata (e.g. "pipeline-job-4227") |
| 5.5 | Agent avatar link | snapshot | Agent avatar and name link to /portal/agents |
| 5.6 | Temporal Workflow ID | snapshot | span "Temporal Workflow ID" present in accessibility tree |
| 5.7 | INPUT card | extract main | "Input" header with key-value params |
| 5.8 | INPUT trigger variables (automation job) | extract main on automation-triggered job | trigger_ticket_url, trigger_project, trigger_assignee, trigger_status, trigger_issue_key, trigger_issue_type visible |
| 5.9 | INPUT without trigger variables (queued job) | extract main on queued job | Only ticket_url and hint shown, no trigger_* fields |
| 5.10 | Temporal timeline present | extract main on recent job | "Job: COMPLETED | N events | size KB | short_id" summary line visible |
| 5.11 | Timeline phases | extract main | Init, Agent Setup, Execution, Teardown phases with durations and activity counts |
| 5.12 | Timeline Execution detail | extract main | runAndMonitor sub-entry showing "workflow: {id} agent: {name}" |
| 5.13 | OUTPUT card | extract main at page bottom | "Output" card with monospace completion message (e.g. "Workflow agent_se_work completed on venmate-agent-10") |
| 5.14 | No Cancel/Resend | snapshot | Neither Cancel nor Resend button shown on completed jobs |
| 5.15 | Back navigation | click "Back to jobs" | Returns to job list |
| 5.16 | Page title | evaluate document.title | "Job #{id} - SideButton Fleet" |
Phase 6: Failed Job Detail
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 6.1 | Failed detail page | navigate to failed job → extract main | H1 = workflow-slug — ticket-ref, red "Failed" badge |
| 6.2 | Resend button | snapshot | Blue "Resend" button in top-right |
| 6.3 | ERROR card | extract main | "Error" card with "Step N (step-name) failed" + error detail |
| 6.4 | Status mismatch error | extract main on mismatch job | Error shows "Status mismatch: portal says 'failed' but orchestrator says 'COMPLETED'" |
| 6.5 | Temporal timeline (if available) | extract main on recent failed job | Timeline shows phases; Temporal status may show COMPLETED despite portal Failed |
| 6.6 | Temporal unreachable (if unavailable) | extract main on older failed job | "Temporal unreachable" replaces timeline |
| 6.7 | Temporal Workflow ID | snapshot | span "Temporal Workflow ID" present |
| 6.8 | Ticket URL in INPUT | extract main | Clickable link to Jira ticket in INPUT card (when ticket_url param present) |
| 6.9 | No OUTPUT card | extract main | No Output card shown on failed jobs |
Phase 7: Running Job Detail
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 7.1 | Running detail page | navigate to running job → extract main | H1 = workflow heading, blue "Running" badge |
| 7.2 | Cancel button | snapshot | Blue "Cancel" button in top-right |
| 7.3 | Live duration | extract main twice | Duration values change between extracts (ticking live) |
| 7.4 | Temporal timeline (running) | extract main | Timeline shows phases — Execution phase may show RUNNING status |
| 7.5 | No ERROR/OUTPUT card | extract main | Neither Error nor Output card shown on running jobs |
Phase 8: Cancelled Job Detail
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 8.1 | Cancelled detail page | navigate to cancelled job → extract main | H1 = workflow heading, grey "Cancelled" badge |
| 8.2 | Resend button | snapshot | Blue "Resend" button in top-right |
| 8.3 | Temporal unreachable | extract main | "Temporal unreachable" shown (cancelled jobs typically lack Temporal history) |
| 8.4 | No ERROR card at top | extract main | No top-level Error card (unlike failed jobs) |
| 8.5 | No OUTPUT card | extract main | No Output card shown on cancelled jobs |
Phase 9: Empty State
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 9.1 | Empty: All tab | navigate to /portal/jobs (0 jobs account) → snapshot | Lightning bolt icon + "No jobs yet" heading + "Run a workflow from the agents page to create a job" hint |
| 9.2 | Empty: Running tab | click "Running" tab → snapshot | "No running jobs" heading + same hint text |
| 9.3 | Empty: Waiting tab | click "Waiting" tab → snapshot | "No waiting jobs" heading + same hint text |
| 9.4 | Empty: Completed tab | click "Completed" tab → snapshot | "No completed jobs" heading + same hint text |
| 9.5 | Empty: Failed tab | click "Failed" tab → snapshot | "No failed jobs" heading + same hint text |
| 9.6 | Empty: Cancelled tab | click "Cancelled" tab → snapshot | "No cancelled jobs" heading + same hint text |
| 9.7 | Empty: job count | snapshot | "0 jobs" count below heading |
| 9.8 | Empty: Agent filter hidden | snapshot | No Agent dropdown in filter bar; only Workflow filter shown |
| 9.9 | Empty: Workflow dropdown | evaluate JS on select options | Only "All workflows" option — no workflow-specific options |
Phase 10: Waiting Job Detail
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 10.1 | Waiting detail page | navigate to waiting job → snapshot | H1 = workflow heading, amber "Waiting" badge |
| 10.2 | Cancel button | snapshot | Blue "Cancel" button in top-right |
| 10.3 | No Resend button | snapshot | No "Resend" button (only Cancel available) |
| 10.4 | Step waiting | snapshot | Step with "Waiting" status badge (if step not yet started) |
| 10.5 | No ERROR/OUTPUT card | snapshot | Neither ERROR nor OUTPUT card shown on waiting jobs |
Phase 11: Resend & Cancel Actions
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 11.1 | Cancel running job | click "Cancel" on running job → snapshot | Job transitions to "Cancelled" status, Cancel button disappears |
| 11.2 | Resend failed job | click "Resend" on failed job → snapshot | Button changes to "Resended" (disabled/grey state) |
| 11.3 | Resended button disabled | snapshot after Resend click | "Resended" button is visible but non-clickable |
| 11.4 | Resend cancelled job | click "Resend" on cancelled job → snapshot | Button changes to "Resended" (disabled) |
| 11.5 | Cancel from detail page | on running job detail, click "Cancel" → snapshot | Status badge changes to "Cancelled", Resend button appears |
Phase 12: Sidebar Navigation
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 12.1 | Jobs link active | snapshot sidebar | "Jobs" link highlighted with active background in sidebar |
| 12.2 | All sidebar links present | evaluate JS nav links | 7 links: Chat, Agents, Jobs, Queue, Automations, Workflows, Settings |
| 12.3 | User info | snapshot sidebar bottom | User email displayed + "Log out" link |
Phase 13: Edge Cases
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 13.1 | Job without effort badge | check a job missing effort | No badge shown, layout still correct |
| 13.2 | Job without ticket ref | check a non-ticket job | No orange ticket text, heading shows source (e.g. "queued") |
| 13.3 | Job without INPUT | check OPS job detail (e.g. Pull Repos) | INPUT card shows minimal or no params |
| 13.4 | Rapid filter switching | click through all 6 tabs quickly | Each filter loads correctly, no stale data |
| 13.5 | Infinite scroll | scroll to bottom of long list → snapshot | "Loading more..." appears, additional jobs load |
| 13.6 | from_status param | click job from filtered view → check URL | Detail URL includes ?from_status={status} |
| 13.7 | Multi-step job progress | open job with 2+ steps → snapshot | Multiple steps shown, each with own status/duration/agent |
| 13.8 | Workflow filter dual IDs | evaluate JS on #workflow-filter-select options | Both legacy agent_* prefixed IDs and new dash-separated IDs present |
| 13.9 | Detail heading: ticket job | open ticket-linked job → extract main | H1 format: "workflow-slug — TICKET-KEY" (e.g. "se-work — MVP-1601") |
| 13.10 | Detail heading: queued job | open non-ticket job → extract main | H1 format: "workflow-slug — queued" (e.g. "pull-repos — queued") |
| 13.11 | Hint in INPUT card | open automation job → extract main | "hint:" field visible (e.g. "Jira webhook: jira:issue_updated") |
| 13.12 | Temporal timeline Init phase | extract main on recent job | Init phase with duration in ms + activity count |
| 13.13 | Temporal timeline Agent Setup | extract main on recent job | Agent Setup phase with duration in ms + activity count |
| 13.14 | Temporal timeline Teardown | extract main on recent job | Teardown phase with duration in ms + activity count |
| 13.15 | Temporal runAndMonitor detail | extract main on recent job | Shows "workflow: {id} agent: {name}" in Execution phase |
Phase 14: Cross-Module Integration
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 14.1 | Automation-triggered job INPUT | navigate to automation-dispatched job → extract main | INPUT shows trigger_* variables (trigger_ticket_url, trigger_project, etc.) |
| 14.2 | Queued job INPUT | navigate to queue-dispatched job → extract main | INPUT shows only ticket_url + hint, no trigger_* variables |
| 14.3 | Agent link navigates | click agent avatar link on detail → check URL | Navigates to /portal/agents |
| 14.4 | Jira ticket link | click ticket URL link in INPUT → check URL | Opens Jira ticket in browser |
| 14.5 | Job from filtered list back nav | navigate to job from failed filter → click "Back to jobs" | Returns to filtered list (?status=failed) |
Automation Tips
- Job list rows are
linkelements — click by ref to navigate to detail - Filter tabs are also
linkelements — they use URL query params, not client-side filtering - The 6th tab "Cancelled" is new — always verify it exists alongside the original 5
- Workflow and Agent dropdowns are native
<select>elements — useselect_option()for automation, not click-based dropdown interaction - Search textbox is a standard
textbox— usetypeorfillto enter search text - The ERROR card on failed jobs shows "Step N (step-name) failed" with optional detail (e.g. status mismatch info)
- The old "Show details"
<details>expandable no longer exists — replaced by Temporal timeline phases - Use
extract maininstead ofsnapshotfor job detail content — snapshot may not capture all rendered text - Pipeline ID format: "pipeline-job-{id}" in green monospace
- Effort badge may be absent on some jobs — don't fail if missing
- Status dots use colored circles, not emoji — verify by snapshot, not text content
- Cancel button appears on running AND waiting jobs; Resend only on failed/cancelled — assert presence/absence based on status
- After clicking Resend, the button changes to "Resended" (disabled) — verify this state transition, don't click twice
- Agent names are links (
link "agent-name") that navigate to/portal/agents— verify href - Running job durations tick live — re-snapshot may show different duration values
- Temporal timeline phases (Init, Agent Setup, Execution, Teardown) replace the old step progress bars and task lists
- Cancelled jobs typically show "Temporal unreachable" instead of a timeline — no phase detail available
- Temporal status may differ from portal status (e.g. Temporal says COMPLETED but portal says Failed) — verify both
- Automation-triggered jobs show trigger_* variables in INPUT; queued jobs do not
- Empty state text is context-specific per filter tab: "No running jobs", "No failed jobs", etc. — only "All" says "No jobs yet"
- Workflow filter dropdown (
#workflow-filter-select) populates dynamically from job data — shows both legacyagent_*prefixed IDs and new dash-separated IDs from historical jobs; empty accounts show only "All workflows" - Agent filter dropdown is completely absent (not just empty) when no agents are registered or no jobs exist
- Sidebar nav should show Jobs as active (highlighted background) — verify via snapshot or evaluate JS