Skip to content

Add ICU search and prepaint pre-decision boundary - #19

Draft
isomorphisms wants to merge 1 commit into
mainfrom
prepaint-network-predecision
Draft

Add ICU search and prepaint pre-decision boundary#19
isomorphisms wants to merge 1 commit into
mainfrom
prepaint-network-predecision

Conversation

@isomorphisms

@isomorphisms isomorphisms commented Aug 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a real prepaint_text entry point for ordinary text and URL-list pre-paints
  • add an explicitly named prepaint_full_text path and regression proving article <p> bodies survive extraction
  • preserve an <a href> nested inside a paragraph without dropping the text before or after it
  • preserve <a href><img ...></a> as one image item carrying source, alternate text, caption/title, and link target
  • add a cheap foreground HTTP(S) recognizer aligned with ICU’s current visible-ASCII subset
  • add a shell search boundary that form-encodes words (spaces become +) and runs icu get https://www.google.com/search?q=...
  • add a bounded, nonblocking-by-policy pre-decision probe using dig for A/NS evidence and traceroute for a sampled eight-hop route
  • keep DNS/route/resource-cost evidence in browser policy/workbench diagnostics, never synthetic page content
  • record the full RFC 3986/parser strategy and the remembered Ruby VerbalExpressions vocabulary without adopting its toy URL regex as truth

Important limits

dig and traceroute are opt-in/sampled diagnostics, not every-navigation work. Route latency is not bandwidth and cannot predict total page load. The only five-minute decision in this stub uses explicit known asset bytes divided by an explicit assumed/measured byte rate; missing evidence yields “measure assets before heavy renderer.”

The Android display APK remains network-free. This branch defines the ICU handoff that the integrated IB shell will later connect to the phone surface.

Remote images are not guessed from filename extensions. The extractor retains the remote src plus any enclosing anchor. The background path must fetch with ICU, validate response type/bytes, and replace that source with an already-fetched local/content source in a later pre-paint. The linked-image display field is implemented in sibling PR #16.

Current architecture boundary

This branch now sits directly on main rather than on merged PR #15. It preserves the current ownership split:

  • Idriç owns InformationView, HTML/text extraction, URL-candidate recognition, and the renderer-neutral linked-image record.
  • Grease/shell owns the executable ICU request and the optional bounded network diagnostic probe.
  • The Android prepaint viewer remains a network-free disposable display surface; it does not fetch remote images or own search/network policy.
  • DNS, traceroute, and resource-cost evidence remain browser/workbench diagnostics and never become synthetic page content.

The current centralized browser-foundation workflow invokes these tests through bin/ci_browser_foundation.grease; the branch does not restore the older inline CI orchestration.

Verification

At rebased head 511a436418a7abf66b6272d90a8793191ae2a86f, directly on main c06dea7d18fa804f36e6fbe7e3b46a05347368ac, GitHub Actions run 32856520033 is green:

  • ICU search test proves exact get plus small+fast+browser URL
  • bounded pre-decision test proves parsed A/NS and sampled route evidence plus the 300-second keep-prepaint decision
  • Idriç information renderer compiles and runs under Chez
  • article first/second paragraphs pass
  • a paragraph-nested link, its prefix, and its suffix all pass
  • a linked image passes without a duplicate empty link
  • two plain-text URLs pass and a relative URL is rejected by the cheap recognizer
  • existing browser-owned core and developer workbench tests pass
  • deterministic and live scientific-media tests pass
  • the live progressive arXiv prepaint test still passes

The branch is now a clean sibling on main; it is no longer stacked on PR #15.

@isomorphisms
isomorphisms changed the base branch from resource-constrained-information-renderer to main August 25, 2026 13:51
@isomorphisms
isomorphisms force-pushed the prepaint-network-predecision branch from 4589034 to 511a436 Compare August 25, 2026 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant