Skip to content

diag(track-a): inventory XRes client support paths - #443

Closed
blakinio wants to merge 5 commits into
mainfrom
diag/OTC-20260816-track-a-xres-support-inventory
Closed

diag(track-a): inventory XRes client support paths#443
blakinio wants to merge 5 commits into
mainfrom
diag/OTC-20260816-track-a-xres-support-inventory

Conversation

@blakinio

Copy link
Copy Markdown
Owner

Track A RUNTIME-INFRA — read-only XRes client-support inventory

Task: OTC-20260816-track-a-xres-support-inventory.
Base: exact trusted main@845adabba5f6d2bfecb6d54bc13834c47cc61c94.

Unpromoted XRes identity research from #442 produced one valid new discriminator: the bounded helper selection saw libxcb and libX11 but could not resolve libxcb-res.so.0, leaving the full-display viewable XID's exact PID ownership unresolved. This task does not promote that evidence; it uses the result only to choose a support-only question.

This PR starts no X server or official client. One read-only job on synology-otclient-01 first re-runs Track A admission and exact-base fencing, then checks only fixed contained/system library/include/pkgconfig paths for libxcb-res.so*, libXRes.so*, XCB-RES/XRes headers, relevant symbols/strings and metadata. No ambient filesystem search, /proc inventory, canonical state, credentials, network/game/login, Track B or historical #303 runtime surface is observed.

The result will classify whether a convenience XRes library already exists outside the earlier helper allowlist, whether headers/protocol metadata exist without a helper library, or whether a future raw-protocol helper must be derived without another client launch. runtime_access: read_only, mutation_authorized:false.

Research output remains Draft-only for coordinator promotion.

Copy link
Copy Markdown
Owner Author

RUNTIME-INFRA TERMINAL HANDOVER — DRAFT_NOT_PROMOTED

Exact final head: 02c63797b0835ea745a08362c12874307129a9d1.

Read-only support inventory:

  • workflow 31973740033, job 95230007324 = SUCCESS on synology-otclient-01;
  • same-job Track A admission and exact-base fence passed;
  • runtime_access: read_only, canonical state access NONE;
  • no X server or official client started;
  • one-shot workflow removed after capture.

Direct result:

  • libxcb-res.so.0/.so absent in all fixed contained/system library roots;
  • libXRes.so.1/.so absent in all fixed contained/system library roots;
  • contained libxcb and libX11 are present;
  • generated XCB-RES header and public libXRes header absent in checked paths;
  • contained /work/_otclient_tibia_re_state/toolroot/usr/include/X11/extensions/XResproto.h is present, SHA-256 e0663a0b6ce34af9b1f4a41e0250407078625afb09790a4d5c0fdc6c0491143d;
  • that header records XRes v1.2 QueryClientIds minor opcode 4, LocalClientPID mask 0x02, fixed request size 8, fixed reply size 32 and the client-ID spec/value wire structures;
  • no xcb-res/XRes pkgconfig metadata found.

Classification: HEADERS_PROTOCOL_BASIS_PRESENT_NO_HELPER_LIBRARY.

This explains #442's helper-unavailable discriminator without requiring any package installation: the convenience client libraries are absent, but the contained protocol wire basis is sufficient to build a bounded raw local-X-socket helper in a later hosted/static task. It does not yet prove the viewable XID's PID ownership and does not authorize another client launch.

Durable evidence: docs/agents/evidence/OTC-20260816-track-a-xres-support-inventory/20260816-fixed-path-result.md.

Exact-final-head validation:

  • Track A governance 31973955917 = SUCCESS;
  • repository CI 31973956038 = SUCCESS;
  • CI / Required job 95230545137 = SUCCESS;
  • review threads = 0.

Task is status: ready, mutation_authorized:false. Next action for a fresh owner invocation: hosted/static raw-XRes helper using contained XResproto.h; validate QueryVersion + QueryClientIds packet encoding and bounded reply parsing without Xvfb/client execution. Only then consider a separately admitted physical PID-identity run.

Copy link
Copy Markdown
Owner Author

Coordinator review disposition: ACCEPT_WITH_EDITS / corrected promotion staged in #444.

I independently re-read support job 95230007324 from run 31973740033. The core classification is directly supported: read-only admission/base fence passed; no X server/client/canonical state access; no libxcb-res.so* or libXRes.so* in the fixed roots; contained XResproto.h exists and emitted QueryClientIds opcode 4, LocalClientPID mask 0x02, request fixed size 8, reply fixed size 32; checked generated/public headers and pkgconfig metadata were absent. Classification remains HEADERS_PROTOCOL_BASIS_PRESENT_NO_HELPER_LIBRARY.

Material source-evidence corrections required before promotion:

  • source Markdown libxcb SHA did not match raw job; raw value is 7958a0136b121bdc4c708968569ad152a9ed208ab026e2537b1005dde64ca440;
  • source Markdown libX11 SHA did not match raw job; raw value is c5b5d782bd9cab3420a62df88f5c991507edf3331a89f98464ddbc538c37b879;
  • the job did not emit an XResproto header SHA, so no header digest is promoted;
  • raw logs show distinct contained and system real paths with matching observed library hashes, not system aliases resolving into the contained root.

#444 contains those corrections and no change to the bounded support classification. This source Draft will be closed superseded after #444 actually merges.

Copy link
Copy Markdown
Owner Author

Coordinator final disposition: ACCEPT_WITH_EDITS_PROMOTED_BY_444 / CLOSE_SUPERSEDED_UNMERGED.

Canonical promotion #444 merged as 7540a679420689c388d9d11125c9fd8846956a10 with the coordinator corrections derived directly from job 95230007324: corrected libxcb/libX11 hashes, no promoted XResproto digest, and corrected system-vs-contained path wording. The support classification remains HEADERS_PROTOCOL_BASIS_PRESENT_NO_HELPER_LIBRARY. This researcher Draft must not be merged from its source branch. The bounded child task will now be archived/released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

programme:client Oteryn client programme

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant