Experiment formal browser announcement environment run 01 - kmosoti/FabricO11y GitHub Wiki
The exact public-text probe at c3d8881fbec4554a79a863b07a97335a9727c376
exited 0 on 2026-10-16, with outer containment stop confirmed at
05:00:49.611929 UTC. Genuine Firefox AT events, an accepted Orca51.1/Speech
Dispatcher utterance and espeak-ng PCM growth satisfy this finite environment
prerequisite. Actual packaged-console announcements, native suppression and
accessibility/device certification are not established by this result.
DATA below means /run/media/kmosoti/data/FabricO11y. Raw evidence remains in
DATA/results/browser-announcement-native-orca51-01; no owner desktop, bus,
audio, network configuration or trust store was changed.
The frozen protocol
requires genuine AT-SPI event → Orca → accepted SSIP225/message ID → exact
espeak-ng module/mapped library → growing generated PCM, with original
role=status, aria-live=polite and focus elsewhere. One eight-second action
interval lies within the original150-second inner/180-second environment bound.
No DOM-only or Orca debug-text-only result can pass. This is synthesis evidence,
not a listener/acoustic test or an elapsed endurance measurement.
Pre-flight 6207769886 was posted04:00:15 UTC. The append-only ordered-cleanup binding and complete PCM diagnostic binding retained its05:00:15 window. Fresh full-board review found no findings, exact pins matched, and the sole scheduler cleared only this native positive. The guarded command started05:00:35.602734 UTC and stopped05:00:49.611929 UTC:
python3 -B /run/media/kmosoti/data/FabricO11y/results/candidate-build-fresh-8fb6f413179b-01/run-step-browser-announcement-corrective-15.py browser-announcement-native-orca51-01 1073741824 python3 -B tools/ui/announcement_probe.py --mode xvfb --xvfb-receipt /run/media/kmosoti/data/FabricO11y/results/accessibility-xvfb-preparation-01/receipt.json --orca-receipt /run/media/kmosoti/data/FabricO11y/results/accessibility-orca-preparation-02/receipt.json --output /run/media/kmosoti/data/FabricO11y/results/browser-announcement-native-orca51-01The guard performs the strict namespace DATA census and delegates execution to
python3 tools/resource_group.py; no uncapped fallback ran. Admission observed
67,767,996,651 bytes with a fresh1,073,741,824-byte reservation under the95GB
stop threshold. Source was clean before and after execution.
Direct exact-source controls, independently of later caller source, ran at this
same c3d pin: env PYTHONPATH=tools/ui python3 -B -m unittest -v test_announcement.AnnouncementTests, eight tests/exit0/confirmed stop04:13:20.
They include inclusive8MiB PCM,4MiB exact daemon-log and1MiB other-stream
boundaries, each+1 rejected; strict marked-SSML and lifecycle refusals remain.
Direct documentation check exited0/confirmed stop04:13:28. These source results
alone were not substituted for native evidence.
The owned HTTP server served the unchanged167-byte public HTML, SHA256
c217125053d695c0b7e3cb9d72118caea81743fcc43b0118c31bd38b87bcaf1a.
Actual AT document attributes for Firefox namespace PID85 include
DocURL:http://127.0.0.1:48752/probe. Original role/live/focus prerequisites were
true. Monotonic action bounds were207654410112432–207662434949242ns.
Two genuine events from PID85 carried the exact target text:
object:children-changed:add:system at207654449500919ns and
object:text-changed:insert:system at207654450274517ns. Their role was
status bar, with xml-roles:status, live:polite and container-live:polite.
Real Orca PID54 returned SSIP225/message14 from moduleespeak-ng between
207654538790300 and207654538911293ns, with this retained raw utterance:
<speak><mark name="0:6"/>Fabric <mark name="7:13"/>public <mark name="14:27"/>accessibility <mark name="28:33"/>probe <mark name="34:42"/>complete</speak>The strict pre-registered XML extractor preserves the actual interword mark tails
as Fabric public accessibility probe complete; it does not drop meaningful
characters or accept unknown markup. Genuine backend PID9 mapped libespeak-ng.
PCM grew from909,942 to1,072,022 bytes in the action window. All bytes are retained;
no sample rate, audio duration or performance claim is inferred.
The actual loaded runtime witness says Orca51.1, module
DATA/results/accessibility-orca-preparation-02/extract/usr/lib/python3.15/site-packages/orca/orca_platform.py,
executed by installed Python3.14. The privately prepared signed Fedora
orca-51.1-1.fc45.noarch RPM SHA256 is
9ebafb81bcb3adce127f4a308ca04215a8e6e590c4953f380928c2552e7b3b8c.
Its corrected source files were byte-equal to the official
51.1 archive, SHA256
22829394474e9fde7fdd46b03a98c9a98eb595106b21fb71afdbe2f82436077b.
Native admission rechecked the complete prepared regular-file inventory and
rejected executable source/schema symlinks. No host installation, patched
presentation routine or synthetic speech event was used.
Upstream's status-role correction2f8d804 fixes the UI_UPDATE/live-region ordering and adds a native regression. The retained50.3 run had real status events and PCM but omitted the target utterance. This successful corrected-release execution supports the identified limitation; it is not a benchmark or proof about every Orca/Gecko version. Other prospective cleanup/diagnostic changes are separately registered and must not be hidden in a claim that only one byte/version changed.
Firefox157.0.1 and GeckoDriver0.37.1 remained explicit. Private Xvfb21.1.24 used authenticated UNIX sockets, TCP disabled and GLX disabled after the retained GLX crash. Complete native tool hashes follow:
| Actual file | SHA256 |
|---|---|
/usr/bin/bwrap |
6da06f152b0865172d73348c34cb88487c326ce2f21cd980fc25ff10c4dbcdfb |
/usr/bin/dbus-run-session |
8b6317a9c457093b96eb9d16f87b52e332d0314b659ea0b23f454494240d64e2 |
/usr/bin/firefox |
12e361bb42c030a9ffa940c641ff3ddf53ea097d40a7b2ea4903cd2c954dcc2e |
/usr/bin/speech-dispatcher |
0296ae035b9a1e183d3c8d0122228ce16f883daa6c95195bc410cb3cad32b554 |
/usr/libexec/at-spi-bus-launcher |
9c14ce427c18c5dcfa303db57d22b6277deb48bb154e385b8cceb572fd309c24 |
/usr/libexec/at-spi2-registryd |
fba13406b5e8ebe67c6eea1aa99f61d2b67a2620ba01bac74ce2772261dd9324 |
/usr/lib64/speech-dispatcher-modules/sd_espeak-ng |
fc8d457bfa2534d4a383267710f94b48f6cd8cc9f6a4869d609affc40aca5804 |
/usr/sbin/ip |
367a06b75152d98593a58ecd707e44b3f88f12ca4b00f61636b574da2afffba5 |
/usr/bin/xauth |
5341cb18e2e1dc6c655e7cf8b03672a8f500c34281d19a0bdc581b617709a07e |
/run/media/kmosoti/data/FabricO11y/tools/ui/geckodriver |
f831b7e61454804e8a307edd951bf8a5f373efe3f718e75454a6485a51f6e39f |
/run/media/kmosoti/data/FabricO11y/results/accessibility-orca-preparation-02/extract/usr/bin/orca |
072db8a7bd26be23e1bb5178455491d7a77e6bbe629456bc288f2c9dc292d520 |
/run/media/kmosoti/data/FabricO11y/results/accessibility-xvfb-preparation-01/extract/usr/bin/Xvfb |
743d451bafa4ebd6b4ad6302c66aa4c655d245bd2c3ba1b48092857421f8e145 |
Actual PID/network/mount/IPC namespaces all differed from the controller. A
private user/UTS namespace, DATA-backed /tmp/runtime/config/cache/data, private
DBus/AT-SPI registry and file/null ALSA output isolated the fixture. CPU affinity
was exactly2-3, CPU quota200%, tasks512, memory high1GiB/max2GiB, no swap.
Task peak was337 and pids.events max stayed0. Actual memory.peak was
688,214,016 bytes; all memory/OOM event counters and swap use were0.
The full voice inventory was retained; exact PCM8MiB/daemon-log4MiB/other1MiB,
4KiB records and512MiB aggregate bounds were unchanged for this admitted case.
After WebDriver session deletion, dependencies stopped and were actually waited
for in reverse launch order. HTTP server/observer/registry exited by TERM(-15);
WebDriver, Orca, Speech Dispatcher and Xvfb exited0. All tool commands had exited0.
No persistent process had exited early; no forced kill or cleanup error occurred.
The namespace leader was reaped, owned configuration/profile/runtime removed,
and the independent outer resource receipt confirmed stop. The raw ordered
process_stops and exits remain in inside.json; its hash binds these cleanup
facts separately from prose.
Every row below is an actual exit1 with confirmed outer stop. Its original
output/scratch and inner error remain, rather than being relabelled by51.1.
Paths are underDATA/results/; error names describe observed refusal, not a
successful negative-control detection.
| Retained output | Observed outcome / discriminating evidence |
|---|---|
browser-announcement-native-headless-01 |
tool exit; private ip link set lo up returned EPERM before AT. A separate same-topology native diagnostic established already-UP loopback/exact owned delivery, so unnecessary mutation was removed. |
browser-announcement-native-headless-02, headless-03
|
stream-bound refusal; legitimate full upstream voice-inventory logging exceeded1MiB before AT. Prospective exact daemon-log4MiB bound replaced the undersized allowance; voices/errors were preserved. |
browser-announcement-native-headless-05 |
missing GeckoDriver at derived XDG path; clearenv lacked explicit DATA roots. |
browser-announcement-native-headless-06 |
announcement-synthesis refusal; headless environment did not establish the required working reader path. |
browser-announcement-native-xvfb-01 |
WebDriver500; retained signed Xvfb GLX/NVIDIA crash. Private optional GLX was then disabled. |
browser-announcement-native-xvfb-02 |
announcement-synthesis refusal with private registry activation failure; explicit genuine private registry daemon followed. |
browser-announcement-native-xvfb-03 |
genuine target events/PCM, target utterance absent; strict marked SSML format and startup queue evidence retained. |
browser-announcement-native-xvfb-04 |
prerequisite timeout with Orca thread refusal/content crash before target. |
browser-announcement-native-xvfb-05 |
WebDriver500/content crash; actual256-task peak and9 refusals established internal task admission failure. |
browser-announcement-native-xvfb-06 |
synthesis refusal;512 tasks/affinity2-3 gave peak342/max0 but no AT document URI on data URL. |
browser-announcement-native-xvfb-07 |
exact public HTTP/ATDocURL, real target events and PCM;50.3 target utterance absent with observed status/live filter ordering. Cleanup also returned Orca1 under the old concurrent termination path; corrected ordered cleanup now affects verdict. |
The original public page, eight-second target oracle and every actual failure remain. No discarded voice tree, presentation patch, DOM semantic relaxation, clock/deadline reset or fabricated event supplied this positive.
| Artifact | SHA256 |
|---|---|
/run/media/kmosoti/data/FabricO11y/results/candidate-build-fresh-8fb6f413179b-01/run-step-browser-announcement-corrective-15.py (7035 bytes) |
5f6238a9c7b7c5d05e88d274b64a1920818976524eb79374a06142cccd424ab0 |
/run/media/kmosoti/data/FabricO11y/scratch/announcement-runtime/tools/ui/announcement_probe.py (26039 bytes) |
d8d7df88b3f6d927d01b59174031420d059ef3bedf351156fdfed2bad08aaba0 |
/run/media/kmosoti/data/FabricO11y/scratch/announcement-runtime/tools/ui/announcement_oracle.py (2000 bytes) |
dfe0e793dd48064a9dc9d391c51e0f6b56265e509b2d83dec5019fa7705357db |
/run/media/kmosoti/data/FabricO11y/scratch/announcement-runtime/tools/ui/test_announcement.py (9903 bytes) |
d54480b8dd73381161286d0a447591a5e6ba533142fb15d30b448cdd5ef0e5c1 |
/run/media/kmosoti/data/FabricO11y/results/accessibility-orca-preparation-02/receipt.json (287055 bytes) |
7185e494d083a0420c3fcdf146d42123c4233330e91f45951170eaad3207c4f7 |
/run/media/kmosoti/data/FabricO11y/results/accessibility-xvfb-preparation-01/receipt.json (5390 bytes) |
b8d1d61e35b50d9980f39e1bb1d17f01066995c0132084ea2d68ef787727cc92 |
/run/media/kmosoti/data/FabricO11y/results/service-opening-candidate/browser-announcement-native-orca51-01.json (1802 bytes) |
6b8228c9ed6cb83d696a1724f00723b35e28c8943caf62c3260ab03010c316f7 |
/run/media/kmosoti/data/FabricO11y/results/service-opening-candidate/resource-containment/fabric-work-038d894718c14bf388e6c9ebaf6c9708.json (2181 bytes) |
6a22037ee1e067505cb9e069301c93d97bd274e8fb0a415efc7d27d579f11aa3 |
/run/media/kmosoti/data/FabricO11y/results/browser-announcement-native-orca51-01/receipt.json (286688 bytes) |
16f180507f03f5b8fdaf5322d3fee1883f8b6842ddb9f46c7171edb6d911e65d |
/run/media/kmosoti/data/FabricO11y/results/browser-announcement-native-orca51-01/inside.json (29116 bytes) |
68a59766c1e9d39ab270c037bb276ef500dcf0a657b3659bce3f47673583677f |
/run/media/kmosoti/data/FabricO11y/results/browser-announcement-native-orca51-01/events.jsonl (11122 bytes) |
4937be20ea3bc1a9c161410280d97bb5be8f7c505a5eee0e3350d857b5775dff |
/run/media/kmosoti/data/FabricO11y/results/browser-announcement-native-orca51-01/speech.jsonl (2366 bytes) |
d3433859a3878033e867b193d74dc5adcb2685523a225c7f03fe2d6f44b004fc |
/run/media/kmosoti/data/FabricO11y/results/browser-announcement-native-orca51-01/speech.raw (1128492 bytes) |
de57a1a8015aab8e16a10ce7a2daca218e1436f41a5118eb2b1cb776f471305c |
/run/media/kmosoti/data/FabricO11y/results/browser-announcement-native-orca51-01/public-http.jsonl (137 bytes) |
71d7ee00f5b6636aed867990d45b409ae67d0dc96dbd15698f27f38eedfd9351 |
/run/media/kmosoti/data/FabricO11y/results/browser-announcement-native-orca51-01/orca-runtime.json (172 bytes) |
b1da67666358dc3f5bf554860862ca90f17473d3a4ade11131fd1d3f1f118570 |
/run/media/kmosoti/data/FabricO11y/results/browser-announcement-native-orca51-01/orca-debug.log (625561 bytes) |
a9162a15aab15eff933f55646aafa7f458245b2bb72ecf18c91ee6d9d5b00e8a |
/run/media/kmosoti/data/FabricO11y/results/browser-announcement-native-orca51-01/speech-logs/speech-dispatcher.log (2743462 bytes) |
ea1e217218b95ba0b162bf5b22283daad07031781c4cb7e06617d596af58d6c3 |
The source guard was frozen at c3d, not the later interactive caller module.
Full original argv/environment and tools/configuration witnesses remain in the
native receipt/inside command list. Prepared GSettings schema SHA256 was
a14ebd3855c2dc3a8a033fbf3f59aadae678953d2bc16323025ab0cb35b21485.
The native suppression cell is not run. Actual console caller, keyboard/target inventory and package-bound speech cells remain unrun, requiring successful exact replacement#41, canonical staging, same-package browser positive, merged runtime admission and fresh sole scheduler clearance. Signed-security/key-format,32-row controlled expiry and the rest of the existing browser matrix keep their own prerequisites and receipts. This public-text result closes only the working private AT environment prerequisite; it does not close#45 or supply soak credit.