Correct the DNR header story and document the gecko-block trap
Safari does not crash on a modifyHeaders rule, it accepts one and never
applies it. D1 now carries the measurement (accepted, stored, listed back,
never applied; a block rule in the same call blocks) instead of the crash
misattribution, plus the header allowlist, the synchronous-throw behaviour and
the unimplemented response side. D2 gains the measured numbers: 249 of Bypass
Paywalls Clean's 253 regexFilter rules refused, all 530 urlFilter rules kept.
New E3b for the trap the conversion creates itself: we add
browser_specific_settings.safari, so a bundle reading its Firefox block
through a container-only guard throws at the top level of its background
script. That is what left BPC registering no rules at all.
Also record that the --debug ring now captures uncaught host-script errors,
and thread guardGeckoSettingsAccess through the pipeline and stage pages.
Document the two Safari behaviors behind a login that never persisted
E13a: no webNavigation event reaches a listener the background added after it
evaluated, so the auth tab's redirect went unseen and every silent re-auth timed
out. E13b: neither minimized nor off-screen hides a window, so the flow keeps a
background tab. E14a: the owner's storage.session dies with its page, hence the
mirror. Plus the __c2sAuthLog record and how to read it from outside the browser.
Document the bridge transports, sender rules and world:"MAIN" fallback
Covers what 1.11.0 changed and why each piece is shaped the way it is: the two
transports into a converted background, the origin and tab a bridged sender
carries, the script-tag fallback for a world:"MAIN" entry Safari skipped, the
scoping rule on strict_min_version, and Safari's "Tab not found." teardown.
Adds Safari Quirks E9 and E10, updates E1, records the diagnostics in Testing
and Debugging, and moves Claude in Chrome to a verified login.
Document the pipeline bug-hunt fixes (92fa2ee)
Add an Unreleased section to Release-History and update the matching subsystem
references for the eight fixes: CRX-key lenient parse (Input Handling), the
defaultBundleId slug-collision fix and uninstall broker id read (Build and
Install), the shared redirect deadline (Input Handling), the ancestorOrigins
guard hardening (Safari Quirks E3), the hotkey key mapping (Safari Quirks A5),
the deriveChromeId dead-catch removal (OAuth Bridge), and the importScripts
comment-in-static-args fix (Runtime Shim).
Humanize wiki prose: remove em/en dashes and curly quotes
Replace em/en dashes with commas, colons, or sentence breaks per context,
and normalize curly quotes to straight. Dashes inside code blocks, diagrams,
and range expressions are preserved.
Add Viaduct CLI wiki
Contributor-grade documentation for viaduct-cli, verified against src/ and
grounded in the git history. 14 content pages plus Home, sidebar, and footer:
architecture, conversion pipeline, CLI reference, input handling, manifest
transform, analyzer, runtime shim, OAuth bridge, build/install, Safari quirks,
testing/debugging, limitations/FAQ, and a commit-grounded release history.