Integrate Star-Lang blocking engine with Nyxt request and document lifecycle #4

Open
opened 2026-09-11 05:16:38 +00:00 by lost-rob0t · 0 comments
lost-rob0t commented 2026-09-11 05:16:38 +00:00 (Migrated from github.com)

Parent: #1
Depends on: #2, #3, #6

Goal

Wire the Star-Lang blocker into Nyxt so network requests and page content can actually be filtered without putting blocking logic in the UI layer.

Scope

  • Add a thin Nyxt adapter around the Star-Lang engine contract.
  • Evaluate requests early enough to prevent blocked resources from loading.
  • Pass normalized request/document context required by #2.
  • Apply cosmetic/document filtering after page state is available.
  • Support per-buffer/per-site state needed by the later minor mode.
  • Surface structured decision/provenance events for diagnostics and UI.
  • Keep failure behavior safe: engine failure should be visible and deterministic rather than silently corrupting browser state.

Acceptance criteria

  • A fixture/example page proves network blocking and cosmetic filtering through Nyxt.
  • Decisions come from the Star-Lang engine, not duplicated Common Lisp/JavaScript policy code.
  • The adapter exposes lifecycle hooks usable by settings and mode-control work.
  • Blocking can be enabled/disabled cleanly at runtime without restarting Nyxt.
  • Decision logs include URL/context, action, rule/expert source, and timing suitable for debugging.
Parent: #1 Depends on: #2, #3, #6 ## Goal Wire the Star-Lang blocker into Nyxt so network requests and page content can actually be filtered without putting blocking logic in the UI layer. ## Scope - Add a thin Nyxt adapter around the Star-Lang engine contract. - Evaluate requests early enough to prevent blocked resources from loading. - Pass normalized request/document context required by #2. - Apply cosmetic/document filtering after page state is available. - Support per-buffer/per-site state needed by the later minor mode. - Surface structured decision/provenance events for diagnostics and UI. - Keep failure behavior safe: engine failure should be visible and deterministic rather than silently corrupting browser state. ## Acceptance criteria - A fixture/example page proves network blocking and cosmetic filtering through Nyxt. - Decisions come from the Star-Lang engine, not duplicated Common Lisp/JavaScript policy code. - The adapter exposes lifecycle hooks usable by settings and mode-control work. - Blocking can be enabled/disabled cleanly at runtime without restarting Nyxt. - Decision logs include URL/context, action, rule/expert source, and timing suitable for debugging.
Sign in to join this conversation.
No description provided.