Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Caption browser dialog CI repair

The cancelled obsolete PR105 duplicate run39349523584/job118390149863 reported
`No dialog is showing` at02:06:23, with no runtime exceptions. It produced no
completed page diagnostics before manual cancellation at03:22:40. The original
[observation](original-task-observation.json) and [failure excerpt](original-failure-excerpt.log)
retain its cancelled outcome and exact full-log/raw-response identities. A
same-head primary passed. This is a nondeterministic harness failure, with no
product-failure claim. A late modal blocking the old diagnostic evaluation is a
source-supported hypothesis; the hosted log contains no modal-event trace.

The repair starts from published PR111 head
`0ba4db01f04a77c262eb4b397f88849e9688b5ab` on
`fix/captions-dialog-ci-qualification-20261020`. Its implementation write set is
`tests/browser_captions.cjs`, `tests/browser_cdp_session.cjs` and
`tests/test_browser_cdp_session.cjs`. Product code and all original assertions
are unchanged. The existing caption CI entrypoint awaits the focused regression
before launching the browser, so no workflow change is needed.

Each modal expectation is armed before the triggering click. The helper waits
for the fresh exact confirm type/message, handles the selected decision once,
then awaits the original click command. Cancel retains the unsaved caption;
accept restores the saved caption; discard after a keyboard edit restores human
review. Unexpected and absent dialogs fail. No autoaccept or ignored protocol
error replaces these witnesses.

CDP requests expire, timed-out replies are ignored, timers clear on terminal
outcomes, and socket closure/error drains pending requests. Click rejections
are observed immediately. Diagnostics skip a known open modal and otherwise
have a separate one-second deadline. The caption fixture reuses the accepted
browser startup and owned-child shutdown helpers, then removes only its own
temporary directory with bounded retries after all children exit.

[Controlled protocol regression](cdp-regression.log) passed: a180ms delayed
opening reliably defeats the old100ms handling and yields the original-32602
error; a blocked diagnostic expires. Event-owned cancel/accept/discard,
missing/wrong dialogs, trigger rejection, request timeout, late reply and
socket close/error cases pass. This controlled protocol reproduction does not
claim to reconstruct the original hosted browser scheduling.

[Actual caption entrypoint](actual-captions.log), [source-bound receipt](receipt.json)
and [qualification](qualification.json) passed using PostgreSQL17.6,
Python3.12.14 and Chromium151. All original edit/draft/review/reopen/filter,
keyboard review reset, repeated-submit, cancel/discard, four-record exact ZIP
and390px assertions remain. The real browser observes modal decisions
`false,true,true`. The fixture uses the existing local controlled generation
provider; it is actual app/HTTP/PostgreSQL/Chromium evidence, with no live-model
or training claim. Desktop and narrow captures are retained beside the receipt.

The existing [owned-child regression](owned-cleanup-regression.log), all three
Node syntax checks and `git diff --check` passed. [Child cleanup](cleanup.json)
confirms both owned handles exited before temporary removal.
[Schema cleanup](schema-cleanup.json) confirms the final preregistered fresh
schema was dropped and queried absent, with five records and zero workspace
Runs before disposal. The preliminary complete browser run used a different
preregistered schema, also dropped and queried absent. Its source predates the
CI-entrypoint regression call; only the final run is the source-bound acceptance.

No heavy CPU suite, performance comparison, model-quality, scientific acceptance
or CUDA claim is made. Original failures and source attributions remain intact.
Root owns independent review, serial publication/integration after PR111 and
cleanup. The task worktree `/workspace/Tuldok-captions-dialog-ci-repair-20261020`
is retained-protected by its named branch until root accepts and disposes it.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
PASS reproduced fixed100ms race: delayed180ms confirm rejects premature handling; blocked diagnostics time out
PASS fresh delayed cancel/accept/discard, absent dialog, trigger failure, bounded request, late reply and socket-close drainage
PASS unexpected dialog fails closed and socket error drains owned requests
[112014:112041:1020/032849.559242:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[112014:112041:1020/032849.565241:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[112014:112041:1020/032849.565717:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[112014:112041:1020/032849.565746:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[112014:112041:1020/032849.565752:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[112014:112053:1020/032849.581169:ERROR:content/browser/zygote_host/zygote_host_impl_linux.cc:279] Failed to adjust OOM score of renderer with pid 112055: Read-only file system (30)
[112014:112041:1020/032850.176012:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[112014:112041:1020/032850.250225:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[112014:112053:1020/032850.254782:ERROR:content/browser/zygote_host/zygote_host_impl_linux.cc:279] Failed to adjust OOM score of renderer with pid 112125: Read-only file system (30)
[112014:112014:1020/032850.278305:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[112014:112014:1020/032850.278374:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:

DevTools listening on ws://127.0.0.1:46283/devtools/browser/5e6d27b3-ae4d-4450-985f-00473484f268
[112014:112041:1020/032850.280676:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[112014:112041:1020/032850.280695:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[112014:112014:1020/032850.281416:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[112014:112014:1020/032850.285386:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[112014:112041:1020/032850.287808:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[112014:112041:1020/032850.287830:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[112014:112053:1020/032850.338429:ERROR:content/browser/zygote_host/zygote_host_impl_linux.cc:279] Failed to adjust OOM score of renderer with pid 112151: Read-only file system (30)
[112014:112053:1020/032850.379160:ERROR:content/browser/zygote_host/zygote_host_impl_linux.cc:279] Failed to adjust OOM score of renderer with pid 112160: Read-only file system (30)
[112014:112053:1020/032850.384271:ERROR:content/browser/zygote_host/zygote_host_impl_linux.cc:279] Failed to adjust OOM score of renderer with pid 112161: Read-only file system (30)
[112014:112014:1020/032850.405991:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[112014:112014:1020/032850.407079:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[112014:112041:1020/032850.407536:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[112014:112014:1020/032850.415146:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.Properties.GetAll: object_path= /org/freedesktop/UPower/devices/DisplayDevice: unknown error type:
[112014:112014:1020/032850.441651:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[112014:112041:1020/032850.441785:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[112014:112014:1020/032850.465917:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[112014:112041:1020/032850.466040:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[112014:112014:1020/032850.475312:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
Caption Chromium edit/draft/review/reopen/filter/export, keyboard review reset, discard, repeated-submit and narrow layout passed. /tmp/tuldok-caption-dialog-repair/qa/image-caption-exports/run-Gj153o
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
PASS reproduced fixed100ms race: delayed180ms confirm rejects premature handling; blocked diagnostics time out
PASS fresh delayed cancel/accept/discard, absent dialog, trigger failure, bounded request, late reply and socket-close drainage
PASS unexpected dialog fails closed and socket error drains owned requests
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"temporary": "/tmp/tuldok-caption-browser-hAbzQw",
"removed": true,
"children": [
{
"pid": 112007,
"exit_code": null,
"signal": "SIGTERM"
},
{
"pid": 112014,
"exit_code": 0,
"signal": null
}
],
"scope": "Only test-owned child handles; all exited before temporary removal"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
2026-10-20T02:06:23.5114153Z { code: -32602, message: 'No dialog is showing' }
2026-10-20T02:06:23.5114733Z Runtime errors: []
2026-10-20T02:06:24.4591273Z [51779:51802:1020/020624.458874:ERROR:google_apis/gcm/engine/registration_request.cc:291] Registration response error message: PHONE_REGISTRATION_ERROR
2026-10-20T02:13:15.7950226Z [51779:51802:1020/021315.794793:ERROR:google_apis/gcm/engine/registration_request.cc:291] Registration response error message: DEPRECATED_ENDPOINT
2026-10-20T02:19:17.9209144Z [51779:51802:1020/021917.920698:ERROR:google_apis/gcm/engine/registration_request.cc:291] Registration response error message: DEPRECATED_ENDPOINT
2026-10-20T03:22:40.7751736Z ##[error]The operation was canceled.
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"observed_utc": "2026-10-20T03:24:50.686741+00:00",
"run": 39349523584,
"job": 118390149863,
"conclusion": "cancelled",
"primary_acceptance_run": 39349557067,
"primary_conclusion": "success",
"observed_error": [
"2026-10-20T02:06:23.5114153Z { code: -32602, message: 'No dialog is showing' }"
],
"observed": "Captions step began02:06:19; CDP No dialog is showing reported02:06:23; no Page diagnostics completion before explicit cancellation03:22:40. Original cancelledrun is not success.",
"source_observation": "Three fixed100ms dialog pauses and unbounded CDP send/diagnostics in tests/browser_captions.cjs. A late modal blocking diagnostic Runtime.evaluate is a supported source-based hypothesis requiring deterministic repair verification, not a proven browser trace.",
"assigned_repair": {
"agent": "/root/pr111_ci_repair",
"base": "0ba4db01f04a77c262eb4b397f88849e9688b5ab",
"after_pr": 111,
"status": "implementation in progress",
"scope": "Caption browser harness and meaningful focused regression, actual fullPG/Chromium qualification, source-attributed reports. No product/assertion relaxation."
},
"decoded_log": {
"path": "/tmp/tuldok-pr105-obsolete-duplicate-cancelled-job-118390149863.log",
"bytes": 367915,
"sha256": "abbea44875271000483136d48225c05bfe3be72352bcf608e69b6405f40f5dab"
},
"raw_response": {
"path": "/tmp/tuldok-pr105-obsolete-duplicate-cancelled-job-118390149863-raw.json",
"sha256": "0b57354b2329b8c74b5ca90b9b83df31d31d295be5df061c6723b99f74b6f3c3"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
PASS owned delayed final write completes before removal; ignored TERM is bounded and already-exited handles are harmless
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"base_commit": "0ba4db01f04a77c262eb4b397f88849e9688b5ab",
"scope": "Test harness only; no product behavior, assertion relaxation, remote or inherited branch mutation",
"tested_before_commit_with_exact_file_hashes": {
"tests/browser_captions.cjs": "5cc3fd4b7e9dc299c8e9c22ad6d8f9100ddfa5b1c214e36f58e1b562d7349689",
"tests/browser_cdp_session.cjs": "ecfac048e343e0be85a02d22d284ea2c731617ec80807762a0691276f2bec40f",
"tests/test_browser_cdp_session.cjs": "1742a8b29c33b4ceb35ce76310df581cdb7e44b21aede4c1998526222e9eb7d2",
"tests/browser_owned_cleanup.cjs": "1cddb8bfe88999c89193b2c3f11f57ce842cb04e25dcdd99ba4f2f9ff28b3988",
"static/workbench.js": "167a48d39b0831ba814c31321f0f936d969e9b322c71b11a25a3f24ca9fe889b"
},
"actual_caption_entrypoint_includes_controlled_regression": true,
"command": "node tests/browser_captions.cjs",
"outcome": "passed",
"original_failure": {
"run": 39349523584,
"job": 118390149863,
"conclusion": "cancelled",
"decoded_log": "/tmp/tuldok-pr105-obsolete-duplicate-cancelled-job-118390149863.log",
"decoded_log_sha256": "abbea44875271000483136d48225c05bfe3be72352bcf608e69b6405f40f5dab",
"raw_response": "/tmp/tuldok-pr105-obsolete-duplicate-cancelled-job-118390149863-raw.json",
"raw_response_sha256": "0b57354b2329b8c74b5ca90b9b83df31d31d295be5df061c6723b99f74b6f3c3",
"late_modal_blocks_diagnostics": "Source-supported hypothesis; no original Page.javascriptDialogOpening trace was captured"
},
"controlled_regression": "Socket fixture:180ms opening defeats old100ms handling, then blocked diagnostic terminates in25ms; delayed three decisions and absent/wrong-dialog/request-lifecycle cases pass",
"environment": {
"postgres": "PostgreSQL 17.6 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit",
"python": "Python 3.12.14",
"node": "v24.19.0",
"browser": "Chrome/151.0.7922.173",
"mode": "headless, no-sandbox, disable-gpu; isolated browser profile; normal PostgreSQL/HTTP app via existing local controlled generation fixture"
},
"local_reservation_launcher": "Precreate only the reserved dataset_id through normal Metadata before tests/browser_server.py; all five records are generated, edited and reviewed by the unchanged browser journey. No handlers/data substitutions added.",
"limits": [
"Controlled CDP timing reproduction is not a trace of the original hosted scheduling.",
"Actual workflow uses the existing controlled generation provider, not a live external model.",
"No performance/model-quality/scientific/CUDA claim; original cancelled run remains cancelled.",
"No full heavy CPU suite rerun for a test-only caption harness change."
],
"actual_browser_raw_log": {
"path": "/tmp/tuldok-caption-dialog-repair/actual-captions.log",
"bytes": 5967,
"sha256": "9ab368c6f9acd1c9d2efeb42199cf5f381171f1706c9572e63e7475d143a05b2",
"committed_log_projection": "Same lines; trailing whitespace removed from Chromium stderr for git diff --check. Raw bytes retained unchanged at the recorded path."
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"status": "passed",
"command": "node tests/browser_captions.cjs",
"source_commit": "0ba4db01f04a77c262eb4b397f88849e9688b5ab",
"source_sha256": {
"tests/browser_captions.cjs": "5cc3fd4b7e9dc299c8e9c22ad6d8f9100ddfa5b1c214e36f58e1b562d7349689",
"tests/browser_cdp_session.cjs": "ecfac048e343e0be85a02d22d284ea2c731617ec80807762a0691276f2bec40f",
"tests/test_browser_cdp_session.cjs": "1742a8b29c33b4ceb35ce76310df581cdb7e44b21aede4c1998526222e9eb7d2",
"tests/browser_owned_cleanup.cjs": "1cddb8bfe88999c89193b2c3f11f57ce842cb04e25dcdd99ba4f2f9ff28b3988",
"static/workbench.js": "167a48d39b0831ba814c31321f0f936d969e9b322c71b11a25a3f24ca9fe889b"
},
"browser": "Chrome/151.0.7922.173",
"catalog_id": "b0725dd405a3495e9ca4c2dadffca047",
"dialog_checks": [
{
"type": "confirm",
"message": "Discard unsaved annotation, rights-note, response or judgment edits?",
"accept": false
},
{
"type": "confirm",
"message": "Discard unsaved annotation, rights-note, response or judgment edits?",
"accept": true
},
{
"type": "confirm",
"message": "Discard unsaved annotation, rights-note, response or judgment edits?",
"accept": true
}
],
"exported_records": 4,
"zip_sha256": "9be25ae2096fda32205f4428172ae7b46e90af98007ddd14f4a010f7690d431d",
"checks": [
"cancel preserves unsaved caption",
"discard restores saved caption",
"keyboard edit resets review; discard restores human review",
"draft exclusion and exact caption ZIP",
"reopen, filters, repeated submit and390px layout"
],
"scope": "Actual app/PostgreSQL/Chromium caption journey with existing controlled generation provider; no model-quality claim"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"schema": "catalog_a9ff5f061eb54f17a1e2836abcc095de",
"reserved_before_creation": true,
"recorded_catalog_matches_actual_receipt": true,
"owned_children_stopped": true,
"temporary_removed": true,
"counts": {
"workbench_records": 5,
"workspace_runs": 0
},
"removed_and_queried_absent": true,
"observed_at": "2026-10-20T03:28:45.861799+00:00"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"schema": "catalog_b0725dd405a3495e9ca4c2dadffca047",
"reserved_before_creation": true,
"actual_browser_catalog_identity_matches": true,
"owned_children_exited_before_drop": true,
"temporary_removed_before_drop": true,
"observed_counts": {
"workbench_records": 5,
"workspace_runs": 0
},
"removed_and_queried_absent": true,
"preliminary_schema_independently_still_absent": "catalog_a9ff5f061eb54f17a1e2836abcc095de",
"observed_at": "2026-10-20T03:30:02.919478+00:00",
"scope": "Only the two exact task-created, preregistered fresh schemas; no other catalogs touched"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"schema": "catalog_a9ff5f061eb54f17a1e2836abcc095de",
"dataset_id": "a9ff5f061eb54f17a1e2836abcc095de",
"owner": "caption dialog CI harness qualification",
"state": "created-by-normal-Metadata",
"server": "PostgreSQL 17.6 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit",
"catalog_path": "/tmp/tuldok-caption-browser-kGXtzS/data"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"schema": "catalog_b0725dd405a3495e9ca4c2dadffca047",
"dataset_id": "b0725dd405a3495e9ca4c2dadffca047",
"owner": "caption dialog CI harness final qualification",
"state": "created-by-normal-Metadata",
"server": "PostgreSQL 17.6 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit",
"catalog_path": "/tmp/tuldok-caption-browser-hAbzQw/data"
}
Loading
Loading