Self-heal post-deploy proof failure: [ERP bug-fix] Section title text box needs to be wider
FAIL — 1 browser check(s) failed · 1 console error(s) · 1 server-5xx response(s)
| Project | ops-ar-erp |
|---|---|
| Task | 1d162c6e-107b-4767-9dd8-8205b20d1aaa |
| Updated | 2026-06-14T20:40:48.399642+00:00 |
Screenshots











Verification Notes
# Verification — Self-heal post-deploy proof failure: [ERP bug-fix] Section title text box needs to be wider
**Result:** ❌ FAIL `FAIL — 1 browser check(s) failed · 1 console error(s) · 1 server-5xx response(s)`
**When:** 20260614T204004Z
**URL:** http://100.68.36.49:3080/
## Screenshots











## Proof plan
- **Level:** 2
- **Task browser checks:** 1
- **API checks:** 0
- **task_browser_checks_present:** PASS — Worker must declare task-specific browser_checks in .orch-done.json.
- **task_browser_checks_substantive:** PASS — Browser checks must target changed feature routes and specific selectors/text/actions.
- **browser_checks_grounded:** PASS — Browser checks must use concrete routes and stable user-facing selectors.
- **level2_scope_bounded:** PASS — Level 2 browser checks must stay focused (40 actions max per check). Split broad regression journeys into separate focused checks or Level 3 recipes.
- **level2_entry_to_target_flow:** PASS — Level 2 requires an entry-to-target browser-flow check that starts at entry/login and navigates by visible controls. (For pure render assertions, set kind: static_render on each check.)
- **level2_user_actions:** PASS — Level 2 requires safe user actions such as click, fill, upload, select, or press. (For pure render assertions, set kind: static_render on each check.)
- **level2_assertions:** PASS — Level 2 requires selector/text assertions proving the changed UI state.
- **level2_expected_result:** PASS — Level 2 requires expected_result/success_criteria explaining what success looks like.
- **level2_positive_assertion:** PASS — Level 2 requires at least one POSITIVE assertion — a concrete assert_text value (e.g. the corrected £ total) or that a specific element is present. Absence-only checks (assert_no_text) do not prove the fix; they pass on an empty or wrong page.
## Task-specific browser checks
- **quote-builder-section-title-input-width:** `/opportunities` — selectors: (none); text: Opportunities; actions: 13
## Notes
- Verification level 2
- ✓ task proof plan L2: 1 task browser check(s), 0 API check(s)
- Task-proof-only mode: Level 1 launch smoke already passed; skipping baseline browser checks.
- Playwright MCP required for level 2+ UI proof; validating worker-declared MCP-backed checks.
- Logged in as claude-dev@arcontrols.internal
- Browser flow 'quote-builder-section-title-input-width' started at /; target is /opportunities. Navigation must use visible UI actions from here.
- ✓ quote-builder-section-title-input-width: step 1 navigate
- ✓ quote-builder-section-title-input-width: step 2 input[placeholder="Search opportunities..."]
- ✓ quote-builder-section-title-input-width: step 3 tbody tr[data-testid="opportunity-row"]:first-of-type button[title="Open Quote Builder"]
- ✓ quote-builder-section-title-input-width: step 4 tbody tr[data-testid="opportunity-row"]:first-of-type button[title="Open Quote Builder"]
- ✗ browser check 'quote-builder-section-title-input-width' failed: Page.wait_for_selector: Timeout 30000ms exceeded.
Call log:
- waiting for locator("[data-testid=\"quotation-builder-sections-tab\"]") to be visible
- Ignored 18 aborted background fetch console error(s); task browser checks, API checks, and runtime checks decide this proof.
## Console errors
- `[error] Error fetching widget types: TypeError: Failed to fetch
at F (http://100.68.36.49:3080/static/js/872.89f56c8c.chunk.js:1:66718)`
- `[error] Failed to fetch HR settings: TypeError: Failed to fetch
at http://100.68.36.49:3080/static/js/9627.6c769993.chunk.js:1:1868`
- `[error] Failed to fetch version info: TypeError: Failed to fetch
at http://100.68.36.49:3080/static/js/9627.6c769993.chunk.js:1:1290
at http://100.68.36.49:3080/static/js/9627.6c769993.chunk.js:1:1425
at vs (http://100.68.36.49:3080/static/js/main.ab8ff629.js:2:177100)
at tc (http://100.68.3`
- `[error] Failed to check weekend availability: TypeError: Failed to fetch
at http://100.68.36.49:3080/static/js/872.89f56c8c.chunk.js:1:88958`
- `[error] Failed to fetch new task count: TypeError: Failed to fetch
at e (http://100.68.36.49:3080/static/js/9627.6c769993.chunk.js:1:1521)`
- `[error] 🔔 NotificationsDropdown: Error fetching notification summary: TypeError: Failed to fetch
at T (http://100.68.36.49:3080/static/js/505.03a7c875.chunk.js:1:76319)`
- `[error] Failed to check projects due date: TypeError: Failed to fetch
at http://100.68.36.49:3080/static/js/872.89f56c8c.chunk.js:1:89576`
- `[error] Failed to check timesheet compliance: TypeError: Failed to fetch
at u (http://100.68.36.49:3080/static/js/9627.6c769993.chunk.js:1:14135)`
- `[error] Failed to check for nudges: TypeError: Failed to fetch
at d (http://100.68.36.49:3080/static/js/9627.6c769993.chunk.js:1:20111)`
- `[error] Error fetching checklist settings: TypeError: Failed to fetch
at h (http://100.68.36.49:3080/static/js/9627.6c769993.chunk.js:1:16839)`
- `[error] Failed to fetch HR settings: TypeError: Failed to fetch
at http://100.68.36.49:3080/static/js/9627.6c769993.chunk.js:1:1868`
- `[error] 🔔 NotificationsDropdown: Error fetching notification summary: TypeError: Failed to fetch
at T (http://100.68.36.49:3080/static/js/505.03a7c875.chunk.js:1:76319)`
- `[error] Failed to check for nudges: TypeError: Failed to fetch
at d (http://100.68.36.49:3080/static/js/9627.6c769993.chunk.js:1:20111)`
- `[error] Failed to fetch HR settings: TypeError: Failed to fetch
at http://100.68.36.49:3080/static/js/9627.6c769993.chunk.js:1:1868`
- `[error] Error fetching dashboard config: TypeError: Failed to fetch
at O (http://100.68.36.49:3080/static/js/872.89f56c8c.chunk.js:1:66364)`
- `[error] Failed to fetch new task count: TypeError: Failed to fetch
at e (http://100.68.36.49:3080/static/js/9627.6c769993.chunk.js:1:1521)`
- `[error] Failed to fetch HR settings: TypeError: Failed to fetch
at http://100.68.36.49:3080/static/js/9627.6c769993.chunk.js:1:1868`
- `[error] Failed to fetch new task count: TypeError: Failed to fetch
at e (http://100.68.36.49:3080/static/js/9627.6c769993.chunk.js:1:1521)`
- `[error] Failed to load resource: the server responded with a status of 500 (Internal Server Error)`
## Network issues
- `GET http://100.68.36.49:3080/api/dashboard/widget-types — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/email-inbox/stats — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/system-settings/ — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/employees/my-file — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/version — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/email-inbox/stats — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/system-settings/cowork-agent-enabled — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/resources/check-weekend-availability — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/tasks/new-count — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/server-security/failsafe/status — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/email-inbox/stats — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/notifications/summary — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/projects/without-due-date — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/system-settings/ — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/resources/timesheets/compliance-check — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/email-inbox/stats — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/resources/nudge/active — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/system-settings/ — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/notifications/stream?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJjbGF1ZGUtZGV2QGFyY29udHJvbHMuaW50ZXJuYWwiLCJ1c2VyX2lkIjoiN2NlNDFmZjAtZDBmNy00NzMxLTkzNGIt — net::ERR_ABORTED`
- `GET http://100.68.36.49:3080/api/employees/my-file — net::ERR_ABORTED`
Run Metadata
{
"created_at": "2026-06-14T20:40:48.403422+00:00",
"github_storage": false,
"passed": false,
"pr_url": "",
"project": "ops-ar-erp",
"run_id": "ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-",
"source_path": "/root/orchestrator/workspace/ops-ar-erp-orch-1d162c6e107b/evidence/20260614T204004Z-1d162c6e",
"storage": "orchestrator-vps",
"summary": "FAIL \u2014 1 browser check(s) failed \u00b7 1 console error(s) \u00b7 1 server-5xx response(s)",
"task_id": "1d162c6e-107b-4767-9dd8-8205b20d1aaa",
"task_short": "1d162c6e",
"title": "Self-heal post-deploy proof failure: [ERP bug-fix] Section title text box needs to be wider"
}Artifacts
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/01-landing.png (108003 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/screenshots/01-landing.png (108003 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/02-post-login.png (70063 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/screenshots/02-post-login.png (70063 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/03-quote-builder-section-title-input-width-00-journey-start.png (8045 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/screenshots/03-quote-builder-section-title-input-width-00-journey-start.png (8045 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/03-quote-builder-section-title-input-width-01-navigate.png (8091 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/screenshots/03-quote-builder-section-title-input-width-01-navigate.png (8091 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/03-quote-builder-section-title-input-width-02-input-placeholder-search-opportunities-element.png (2590 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/screenshots/03-quote-builder-section-title-input-width-02-input-placeholder-search-opportunities-element.png (2590 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/03-quote-builder-section-title-input-width-02-input-placeholder-search-opportunities.png (126029 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/screenshots/03-quote-builder-section-title-input-width-02-input-placeholder-search-opportunities.png (126029 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/03-quote-builder-section-title-input-width-03-tbody-tr-data-testid-opportunity-row-first-of-type-button-title-open-quote-builder-element.png (828 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/screenshots/03-quote-builder-section-title-input-width-03-tbody-tr-data-testid-opportunity-row-first-of-type-button-title-open-quote-builder-element.png (828 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/03-quote-builder-section-title-input-width-03-tbody-tr-data-testid-opportunity-row-first-of-type-button-title-open-quote-builder.png (184385 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/screenshots/03-quote-builder-section-title-input-width-03-tbody-tr-data-testid-opportunity-row-first-of-type-button-title-open-quote-builder.png (184385 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/03-quote-builder-section-title-input-width-04-tbody-tr-data-testid-opportunity-row-first-of-type-button-title-open-quote-builder-element.png (116 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/screenshots/03-quote-builder-section-title-input-width-04-tbody-tr-data-testid-opportunity-row-first-of-type-button-title-open-quote-builder-element.png (116 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/03-quote-builder-section-title-input-width-04-tbody-tr-data-testid-opportunity-row-first-of-type-button-title-open-quote-builder.png (101149 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/screenshots/03-quote-builder-section-title-input-width-04-tbody-tr-data-testid-opportunity-row-first-of-type-button-title-open-quote-builder.png (101149 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/03-quote-builder-section-title-input-width-failed.png (147645 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/screenshots/03-quote-builder-section-title-input-width-failed.png (147645 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/VERIFICATION.md (9981 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/browser-checks.json (2927 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/checks.json (2927 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-1/console.log (2881 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/dom-innerText.txt (8137 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/dom.html (300080 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-1/dom.html (300080 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-1/network.json (30539 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/portal-meta.json (680 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/proof-plan.json (2147 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/proof-plan.json (2147 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/result.json (5502 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-2/result.json (5502 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-1/result.json (5502 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/level-1/screenshot.png (147645 bytes)
- ops-ar-erp-1d162c6e-20260614-204048-self-heal-post-deploy-proof-failure-erp-/verification-report.docx (714744 bytes)