Skip to content

[beta.2.1] Maintain public URLPatternList fork and consume qualified releases #1324

Description

@SisyphusZheng

Part of #1320. Replaces embedded/vendored production maintenance with an independently maintained public fork; upstream acceptance is not a delivery prerequisite.

Source and governance

  • Fork justinfagnani/url-pattern-list into open-element/url-pattern-list; retain Git history and MIT attribution from v0.5.0 / 4911e649cc11860c7da90c9d0d9b05626c5cbb83.
  • Maintain compact divergence record, independent tests/build/release and named maintenance responsibility.
  • Pin an exact qualified built package version in OE and lock dependencies; remove embedded production duplicate after migration.
  • Send generic fixes/tests/benchmarks upstream without blocking release. Review upstream updates selectively; returning to official dependency is optional.

Correctness and boundaries

  • Same-constructor native/polyfill ordered-linear oracle agrees on full result/value identity.
  • Cover static/params/catch-all/regex/optional/overlap/duplicates/encoded/case/baseURL/empty and full URL components; seed replay and reduced failures.
  • Safe pruning cannot discard earlier winners; merge conservative candidates by registration sequence. Platform owns grammar/captures.
  • No RouteRecord, HTTP/HEAD, loader/action, Hono or Native/Lit lifecycle inside the fork; no public parser/trie or standard-polyfill claim.

Performance acceptance

  • Reproducible construction/hit/miss/MEMORY baselines, runtime/GC conditions and realistic distributions.
  • Compare old OE behavior as well as linear oracle; record regressions. OE-specific harness stays outside generic library.

Construction/hit/miss/memory must be reproducibly measured against relevant baselines (old OE behavior and the ordered-linear oracle), with runtime/GC conditions and realistic distributions recorded; an unmeasured dimension never completes this issue. Defer speculative native/WASM and complex incremental mutation. Fork creation alone is not implementation qualification. Status 2026-09-09: the fork's BENCHMARKS.md now records GC-controlled memory measurement alongside construction/hit/miss (see the status comment); publication and OE consumption remain open below.

Governing plan (2026-09-08)

Maintainer-approved: ADR-0152, docs/current/VERSION_PLAN.md and #1341. Execution: https://github.com/orgs/open-element/projects/3. Acceptance checkpoints replace the three-day schedule. No automatic beta.2.4. Native/Lit are formal Framework Mode targets, not already-shipped support. Existing release records/versions remain unchanged; no closure without final-SHA evidence. examples/** stays frozen.

Accepted upstream-contribution priority — 2026-09-08

Preserve upstream history/structure and Node test conventions where practical. Generic correctness fixes, corpus and benchmarks should be contribution-ready in the upstream harness; no OE semantics or WTR requirement. Autonomous fork release remains supported regardless of upstream activity. Additional local work for maintainable upstream compatibility is acceptable; no forced switch back upstream or PR quota.

Use docs/architecture/infrastructure-reduction.md and VERSION_PLAN as scope. Prepare useful generic fixes for contribution through normal authorization; no invented bugs, cosmetic PR quota, or upstream-response release dependency. No migration is completed by this update.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions