Nishi Family › Compare › Ethical Clean-Serve -- Safe Delivery of the Hostile Web

Nishi Compare · capabilities, evidence and delivery

Ethical Clean-Serve -- Safe Delivery of the Hostile Web

Compare capabilities and delivery evidence. Source discovery, qualification, deployment and accepted outcomes are separate; an open contract names work still to verify.

The roadmap-binding board behind /compare/cleanserve. Rival codes copied verbatim from cleanserve.sota; Nishi cells are MEASURED -- the ranker requires the implementing symbol as a top-level func in the real organ source on disk.

Overview

The purpose, declared position and evidence coverage of this domain. Source presence and completed acceptance are different measures.

Where we are. Clean-serve is narrow-but-deep. It stands alone in the field on five structural axes: the hostile page's active content is neutralized SERVER-SIDE so its JavaScript never executes in the user's browser at all, safe ads are PRESERVED as inert static creatives instead of blocked, every page emits a machine-readable safety receipt, difficult-but-legal sites are served neutrally rather than deranked, and the whole path is a zero-third-party sovereign stack. It honestly trails a decade-old blocker on breadth. The anti-vanity count is 5 Best against 9 No.

Where we need to go. Close the breadth gap WITHOUT trading away the structural wins. Nothing here requires abandoning server-side neutralization, which is the one axis a browser extension cannot reach by construction. A rung is done when the matrix cell it targets can honestly change grade, proven by a gate, not when the code exists.

The unit. One unit is one seat-session of build plus the gate that proves it. Estimates are units, never hours.

Latest recorded release

2026-09-02 · CS9

LIVE 2026-09-02: /api/build BUILT 632,400 B sha256 0a18a51a (src 989d68bf); nx_contentdiff against my own CS6 build lost exactly ONE run, the banner literal deliberately split to insert the ad-video count; /api/deploy target=cleanserve with confirm_gate_override=yes (AUDITED, the same five unrelated RED domains), deploy_status DEPLOYED-GREEN listen=VERIFIED, live hash confirmed. LIVE measured: hornyleak.tv no ad video and no wrong player (receipt ad_videos 1), cdn.semyana.website direct mp4 served bare, noodlemagazine and prostoporno players extracted, camwhores unchanged. The gate nx_clean_serve_gate (52 of 52 locally, BUILT 61,728 B on the NAS) is REFUSED promotion under D001 because it rolls its own verdict, so no /api/gate_run receipt and no cleanserve.gates row exists for it: the gv_check migration is owed before it can be counted as executed evidence.

Release history and work log

Release entries describe recorded changes; they do not establish that every capability passed evaluation.

9 of 18 capability source symbols found|3 of them authored stronger-claims|9 open|coverage 500/1000|adoption 8 full / 1 partial

Evidence profile — what the gaps on this board actually are

Measured by nx_swcompare_evidence, read back by nx_evprofile_lib. Every figure is a count with its denominator — there is deliberately no score, no grade and no percentage anywhere in this band, because a stored scalar is a field a seat can edit and a counted partition is not.

evidence|grounded 9/9|unsupported 0|gates green 2/2|proven able to fail 0/2|never bitten 2|green at 0/0 0|open gaps 9|of them unnamed 0|of them proof withheld 0|flips ready 1

proven able to fail counts the gates that have a RECORDED RED — nx_gate_bite mutated the gate subject, rebuilt it, watched the gate go red, and that record is inside the shared TTL. never bitten is its complement over the same denominator: those gates ran and were green, and nothing has ever shown them able to detect anything, so their green is a statement about this run and not about the gate. green at 0/0 is a separate and much weaker observation — the gate printed GREEN on a zero denominator, so its own tooth counter says it examined nothing. A gate can be green, non-zero, and still never bitten; that is the common case and it is now visible instead of implied.

partition: grounded + unsupported = 9 vs present 9 · named + unnamed + withheld = 9 vs open 9 · both reconcile

liar-kill conj=GPQN · all four conjuncts held

graded document: BUILDROOT tree, 11890 bytes · gates map: PRIMARY · stamped 35d 21h ago · STALE against the shared TTL of 604800s — this is evidence about a build nobody can vouch for now · source ../knowledge/status/evstamp_cleanserve.verdict

Gap classWhat it is, and the work it names
FLIP-READYA watch contract symbol is now present in the organ it named: the cell can flip on a pure data edit with no new code. These are the cheapest closures on this board and they belong before any new work.
STALEThis profile is older than the shared TTL, or its clock ran backwards. It is reported as unusable rather than as fresh, because being wrong in the direction of refusing is the safe direction.
This band reports the referee counts. The per-axis worklist rows — which axis is unsupported, which watch is ready to flip, which gap is unnamed — are printed by nx_swcompare_evidence cleanserve itself and are not carried on the stamp, so this page names the classes and the producer names the rows. That split is stated rather than hidden: a count without a worklist is not actionable, and this band is honest about which half of that it is.

Production map

Follow the dependencies, declared acceptance criteria and recorded priorities. Inspect source binding before treating a rank as executable work.

Ranking source binding: PLAN_MATRIX_BOUND_ONLY. Recorded priorities require current acceptance evidence and resource checks before execution.

Ranking matches the captured plan and matrix only. Latest execution outcome, research freshness, accepted delivery and investment return are unverified.

Recorded priority estimates

Order from nx_compare_rank (nx_dr_ocm: (deficit + cost-of-delay + option + enables) x sponsor x self-sufficiency x momentum / cost). FINISH rows are rungs whose symbol is present but whose organ is short of full adoption: listed before new work by this heuristic. Priority is not measured delivery cost or execution readiness. Stamp: # asof=1790081653 domain=cleanserve target_version=v1 breadth rungs=11 done=2 open=9 finish=0 ranker=nx_dr_ocm

#StageRungPriorityDerivation
#1v1 breadthFilter-list breadth to EasyList scale (CS1) _ABSENT_:fml_classify dossier1000v=80 m=1 c=80
#2v1 breadthRun framework JS inside clean-serve to resolve player media (CS2) _ABSENT_:vsf_sniff_url_net dossier1000v=130 m=1 c=130
#3laterSame-site embed follow to the real player (CS10) _ABSENT_:csd_embed_follow dossier80v=2 m=2 c=50
#4laterBlocker-fingerprint neutrality - the clean view trips no anti-adblock wall (CS8) _ABSENT_:csn_blocker_probe dossier38v=5 m=1 c=130
#5laterAutonomous site census and class ranking (CS11) _ABSENT_:ccl_classify dossier25v=1 m=2 c=80
#6laterFingerprint resistance depth (CS4) _ABSENT_:fpd_randomize dossier15v=2 m=1 c=130
#7laterArchive capture at scale (CS5) _ABSENT_:csa_warc_emit dossier15v=2 m=1 c=130
#8laterPass the Cloudflare managed JS challenge (CS3) _ABSENT_:cfc_solve dossier9v=2 m=1 c=210
#9laterSovereign media relay for token-bound and IP-bound streams (CS7) _ABSENT_:csr_media_relay dossier0v=0 m=2 c=80

Declared roadmap — contract, acceptance, executor, effort

RungCloses withDefinition of done (pre-declared)ExecutorEst.
Filter-list breadth to EasyList scale (CS1)_ABSENT_:fml_classifyPre-declared: over the SAME six sites already measured live (HN, guardian, arstechnica, techcrunch, nytimes and one control), the neutralized-tracker count must be printed PER SITE beside the count uBlock Origin blocks on that same page, and clean-serve must be no lower on any of the six. A total that improves while one site regresses does NOT pass -- the per-site list is the verdict, not the sum. Closes the .sota rows graded n for filter-list breadth and real-time auto-update. Organ: runtime/nx_filter_ml.nxclaude8 u
Run framework JS inside clean-serve to resolve player media (CS2)_ABSENT_:vsf_sniff_url_netPre-declared: minified jQuery 3.7.1 already LOADS in the sovereign JS VM, so the gate is not can-it-parse. It is that a page whose media URL is only computable by running its player script yields a playable native element, with a NEGATIVE CONTROL: a page whose media is already static must be byte-identical before and after, or the win is a rewrite rather than a resolution. This is F108d, and the symbol is the one the .sota names as not yet wired. Organ: runtime/nx_cleanserve_jsexec.nxclaude13 u
Pass the Cloudflare managed JS challenge (CS3)
after CS2
_ABSENT_:cfc_solvePre-declared: a site currently returning a challenge interstitial returns its real article, AND the receipt still reports the neutralization counts for that page. Passing the challenge while losing the receipt would trade the unique axis for a common one. Organ: runtime/nx_cf_challenge.nxclaude21 u
Fingerprint resistance depth (CS4)_ABSENT_:fpd_randomizePre-declared: the zero-JS view already removes JS fingerprinting, so the gate must NOT re-measure that. It must show a difference on a surface that SURVIVES zero-JS, or state UNOBSERVABLE. A gate that passes because JS is absent is measuring the previous rung. Organ: runtime/nx_fingerprint_defense.nxclaude13 u
Archive capture at scale (CS5)
after CS2
_ABSENT_:csa_warc_emitPre-declared: a captured page replays with its text and images intact and the record DECLARES what it did not capture. Browsertrix-scale JS-render fidelity is explicitly NOT claimed; the done-rule is an honest fidelity statement plus a replay, not parity. Organ: runtime/nx_cleanserve_archive.nxclaude13 u

Milestones

MilestoneRungsCumulative
Breadth parity · the two rungs that close the widest honest gapsCS1,CS221 u
Access · reach pages the field can reach todayCS342 u
RungCloses withDefinition of done (pre-declared)ExecutorEst.
Entity-body contract - a CRLF page keeps its player (CS6)cs_entity_body_offPre-declared and MET 2026-09-02: the fetcher returns the entity body, so the clean path may strip an HTTP header block ONLY when the buffer begins with a status line. Gate nx_clean_serve_gate TEST D: a CRLF page whose first blank line falls after the player must reach the extractor whole (neg-control: the old blank-line scan provably cuts that same fixture), a real wire response is still stripped exactly past its headers, an LF-only page is unchanged. Live proof: camwhores.tv/videos/1855636 served with NO video element before, a native video element carrying the page's own get_file URL after. Organ: runtime/_hdl_build/nx_clean_serve.nxclaude1 u
Sovereign media relay for token-bound and IP-bound streams (CS7)
after CS6
_ABSENT_:csr_media_relayPre-declared: a stream URL the page mints for the FETCHER (KVS get_file with v-acctoken, expiring CDN acctoken) must play in the user's browser even when the CDN binds it to the fetching IP or to a Referer -- the daemon relays the bytes over its own sovereign TLS with Range passthrough, never exposing the upstream token to the client. Gate: a fixture CDN that refuses a second IP must still yield a 206 through the relay, and a NEGATIVE CONTROL: a plain public mp4 must still be served DIRECT (byte-identical page), or the relay is a rewrite rather than a fallback. UNMEASURED today whether camwhores.tv binds by IP: the NAS and the operator's laptop share egress 75.28.18.94, so the only test available could not discriminate. Organ: runtime/nx_cleanserve_relay.nxclaude8 u
Blocker-fingerprint neutrality - the clean view trips no anti-adblock wall (CS8)
after CS1
_ABSENT_:csn_blocker_probePre-declared (operator 2026-09-02: clean browsing for the Nishi browser and OS must carry no attack vectors AND must not trigger the uBlock-class detection thumbprints): over a named corpus of anti-adblock sites the served clean view must render the article with ZERO adblock-wall markup and ZERO detection beacons in the receipt, measured per site beside what a stock browser with uBlock Origin shows on the same page; a site where the wall survives is a named failure, never a total. The mechanism is already structural (no page JS runs, so no detector can run) -- the gate must prove it on real walls, and its neg-control is a page whose wall is server-rendered HTML that the CSS surrogate must hide without hiding the article. Organ: runtime/nx_cleanserve_neutrality.nxclaude13 u

Milestones

MilestoneRungsCumulative
Depth and durability · the remaining two No axesCS4,CS568 u
RungCloses withDefinition of done (pre-declared)ExecutorEst.
Declared-metadata resolve, candidate ranking and same-site embed follow (CS9)
after CS6
_ABSENT_:csd_media_rankPre-declared 2026-09-02 from three live failures: hornyleak.tv served a RELATED-VIDEO PREVIEW CLIP as the player because the first .mp4 literal in the page won (15 hover previews on hdplayer.gives) while the real player is the site's own same-origin /embed/904/ iframe the policy strips and the page carries a schema.org VideoObject; hdthot.com (JW Player, og:video declared, no .mp4 literal) yielded no player at all; a direct mp4 URL given to /clean (cdn.semyana.website, 57.5 MB, 206 with and without Referer) was fetched as a page into the 8 MiB buffer and reported Fetch failed. Done-rule, MET 2026-09-02 (symbol csd_media_rank): declared metadata first (JSON-LD VideoObject contentUrl, og:video, og:video:secure_url, twitter:player:stream, and a declaration naming the page itself is rejected by the media-extension test), then literal stream candidates ranked against a NAMED skip table (hover previews, thumbnails, vast, preroll, the IAB creative sizes 728x90 300x250 160x600 320x50 300x600 970x250, ad paths, banner) read from knowledge/cleanserve_media_skip.conf with bootstrap rows in the lib, a KVS field that names a skipped clip is dropped too, a URL that is itself media is played bare with no page fetch, and an autoplaying ad VIDEO element in the page is removed and counted in the receipt as ad_videos. Gate nx_clean_serve_gate TEST E: 15 teeth incl. neg-controls (content mp4 not skipped, a conf table replaces the bootstrap rows, the real player beside an ad survives, fixture A counts 0). The same-site embed follow is rung CS10. Organ: runtime/_hdl_build/nx_clean_serve_daemon.nxclaude3 u
Same-site embed follow to the real player (CS10)
after CS9
_ABSENT_:csd_embed_followPre-declared 2026-09-02 from hornyleak.tv: the page's own player is an iframe to the site's /embed/904/, which in turn frames hdplayer.gives/embed/<id> (a dplayer config); the policy strips iframes by design, so the page yields NO player after CS9 (correct, no ad video either). Done-rule: follow at most TWO bounded hops of iframe src starting same-site (the site's own /embed/ path, then the provider it frames), each SSRF-guarded and fetched over sovereign TLS, run the CS9 resolver on each hop's body, and emit the first media that survives; a NEGATIVE CONTROL page whose iframe is an ad widget (creative.hornyleaklive.com) must NOT be followed (skip-table on the iframe host and path). Organ: runtime/_hdl_build/nx_clean_serve_daemon.nxclaude5 u
Autonomous site census and class ranking (CS11)
after CS9
_ABSENT_:ccl_classifyOperator 2026-09-02: clean-serve must grow autonomously, delivering more sites without the garbage. The mechanism is a corpus plus a beat: knowledge/cleanserve_sites.conf (every URL the operator or a seat has tried, seeded today with 11) is walked by nx_cleanserve_census on a daily clock row through the LIVE /clean; each row is classified by ONE ruler (ccl_classify in nx_cleanserve_census_lib, gate-tested over canned clean-view bodies) into PLAYER, NO-PLAYER, AD-VIDEO, FETCH-FAIL, BLOCKED or CHALLENGE, a time-spine row is appended (knowledge/status/cleanserve_census.log, plane cleanservecensus-), a truncate-written status names the partition with sums and the top failing class, and a log row lands on THIS plan so the ranker prices the class with the most sites behind it. Done-rule: the beat runs on the clock plane, the partition sums to the corpus, a planted regression (a page that stops yielding a player) flips its class on the next beat and the status names it, and a row added to the corpus is measured on the next beat without any code change. Organ: runtime/nx_cleanserve_census.nxclaude8 u

Milestones

MilestoneRungsCumulative
Media delivery · the player must actually play: entity-body contract shipped, metadata-first resolve shipped, relay and embed follow openCS6,CS7,CS9,CS1017 u
Autonomy · the corpus and the beat that choose the next rung by countCS118 u
Neutrality · the clean view is invisible to blocker detectorsCS813 u
Ladder verdict. NOT DECLARED. This board names no dated best-in-class or frontier target and no rung roles (sotatarget and rungrole rows on its plan); the ranker labels it NO-LADDER until it does, and until then its rungs climb toward a target nobody has written down. Bars read NO-BAR against the current month 2026-10.
Bar freshness, counted
ClassCountNote
bars0sotabar rows on the plan
fresh0the bar month is the current month
attested0an older bar with a this-month barscan reporting no newer entry
stale0a this-month scan saw a newer month the bar ignores
unattested0nobody looked this month
malformed0a sotabar row missing a field
duplicate0bar ids an earlier row already carries
bars, summed0RECONCILED: the parts sum to the total 0
current month2026-10the month every bar is judged against
Treatment verdict. NOT DECLARED. No rung on this board declares its three-step treatment (a treat row naming the MCP row, the API route, the primitive it composes, the workflow that composes it and the agent beat that runs it); the ranker labels every rung TREATMENT-UNDECLARED until it does.

Inspect a rung and its prerequisites

Declared nodes 11. Rank input binding: PLAN_MATRIX_BOUND_ONLY. Dependency order is authored. Implementation, acceptance evidence, authority and resource readiness are unverified. No action is recommended or dispatched here.

Plan SHA-256 02dfd43ecc558f5af843b0f8f59ce0244da604447babc1111b89b28559848b68. Target rows 0; role rows 0. Existing risks and release worklog retain their own scope; no node completion is inferred.

Runtime observation coverage: 0 of 11 rungs have current, identity-bound execution observations. Observation may report RED. Accepted completion remains unknown; source presence, qualification and deployment do not establish it.

Use Enter or Space on a rung to inspect its contract. Prerequisite links locate another rung in this list; open its summary to inspect it. Estimates are authored effort, not forecasts.

  1. CS1 — Filter-list breadth to EasyList scale

    Prerequisites: None declared; this does not establish execution eligibility.

    Contract: _ABSENT_:fml_classify

    Acceptance: Pre-declared: over the SAME six sites already measured live (HN, guardian, arstechnica, techcrunch, nytimes and one control), the neutralized-tracker count must be printed PER SITE beside the count uBlock Origin blocks on that same page, and clean-serve must be no lower on any of the six. A total that improves while one site regresses does NOT pass -- the per-site list is the verdict, not the sum. Closes the .sota rows graded n for filter-list breadth and real-time auto-update. Organ: runtime/nx_filter_ml.nx

    Authored effort: 8. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  2. CS2 — Run framework JS inside clean-serve to resolve player media

    Prerequisites: None declared; this does not establish execution eligibility.

    Contract: _ABSENT_:vsf_sniff_url_net

    Acceptance: Pre-declared: minified jQuery 3.7.1 already LOADS in the sovereign JS VM, so the gate is not can-it-parse. It is that a page whose media URL is only computable by running its player script yields a playable native element, with a NEGATIVE CONTROL: a page whose media is already static must be byte-identical before and after, or the win is a rewrite rather than a resolution. This is F108d, and the symbol is the one the .sota names as not yet wired. Organ: runtime/nx_cleanserve_jsexec.nx

    Authored effort: 13. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  3. CS3 — Pass the Cloudflare managed JS challenge

    Prerequisites: CS2 (acceptance unverified)

    Contract: _ABSENT_:cfc_solve

    Acceptance: Pre-declared: a site currently returning a challenge interstitial returns its real article, AND the receipt still reports the neutralization counts for that page. Passing the challenge while losing the receipt would trade the unique axis for a common one. Organ: runtime/nx_cf_challenge.nx

    Authored effort: 21. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  4. CS4 — Fingerprint resistance depth

    Prerequisites: None declared; this does not establish execution eligibility.

    Contract: _ABSENT_:fpd_randomize

    Acceptance: Pre-declared: the zero-JS view already removes JS fingerprinting, so the gate must NOT re-measure that. It must show a difference on a surface that SURVIVES zero-JS, or state UNOBSERVABLE. A gate that passes because JS is absent is measuring the previous rung. Organ: runtime/nx_fingerprint_defense.nx

    Authored effort: 13. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  5. CS5 — Archive capture at scale

    Prerequisites: CS2 (acceptance unverified)

    Contract: _ABSENT_:csa_warc_emit

    Acceptance: Pre-declared: a captured page replays with its text and images intact and the record DECLARES what it did not capture. Browsertrix-scale JS-render fidelity is explicitly NOT claimed; the done-rule is an honest fidelity statement plus a replay, not parity. Organ: runtime/nx_cleanserve_archive.nx

    Authored effort: 13. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  6. CS6 — Entity-body contract - a CRLF page keeps its player

    Prerequisites: None declared; this does not establish execution eligibility.

    Contract: cs_entity_body_off

    Acceptance: Pre-declared and MET 2026-09-02: the fetcher returns the entity body, so the clean path may strip an HTTP header block ONLY when the buffer begins with a status line. Gate nx_clean_serve_gate TEST D: a CRLF page whose first blank line falls after the player must reach the extractor whole (neg-control: the old blank-line scan provably cuts that same fixture), a real wire response is still stripped exactly past its headers, an LF-only page is unchanged. Live proof: camwhores.tv/videos/1855636 served with NO video element before, a native video element carrying the page's own get_file URL after. Organ: runtime/_hdl_build/nx_clean_serve.nx

    Authored effort: 1. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  7. CS7 — Sovereign media relay for token-bound and IP-bound streams

    Prerequisites: CS6 (acceptance unverified)

    Contract: _ABSENT_:csr_media_relay

    Acceptance: Pre-declared: a stream URL the page mints for the FETCHER (KVS get_file with v-acctoken, expiring CDN acctoken) must play in the user's browser even when the CDN binds it to the fetching IP or to a Referer -- the daemon relays the bytes over its own sovereign TLS with Range passthrough, never exposing the upstream token to the client. Gate: a fixture CDN that refuses a second IP must still yield a 206 through the relay, and a NEGATIVE CONTROL: a plain public mp4 must still be served DIRECT (byte-identical page), or the relay is a rewrite rather than a fallback. UNMEASURED today whether camwhores.tv binds by IP: the NAS and the operator's laptop share egress 75.28.18.94, so the only test available could not discriminate. Organ: runtime/nx_cleanserve_relay.nx

    Authored effort: 8. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  8. CS8 — Blocker-fingerprint neutrality - the clean view trips no anti-adblock wall

    Prerequisites: CS1 (acceptance unverified)

    Contract: _ABSENT_:csn_blocker_probe

    Acceptance: Pre-declared (operator 2026-09-02: clean browsing for the Nishi browser and OS must carry no attack vectors AND must not trigger the uBlock-class detection thumbprints): over a named corpus of anti-adblock sites the served clean view must render the article with ZERO adblock-wall markup and ZERO detection beacons in the receipt, measured per site beside what a stock browser with uBlock Origin shows on the same page; a site where the wall survives is a named failure, never a total. The mechanism is already structural (no page JS runs, so no detector can run) -- the gate must prove it on real walls, and its neg-control is a page whose wall is server-rendered HTML that the CSS surrogate must hide without hiding the article. Organ: runtime/nx_cleanserve_neutrality.nx

    Authored effort: 13. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  9. CS9 — Declared-metadata resolve, candidate ranking and same-site embed follow

    Prerequisites: CS6 (acceptance unverified)

    Contract: _ABSENT_:csd_media_rank

    Acceptance: Pre-declared 2026-09-02 from three live failures: hornyleak.tv served a RELATED-VIDEO PREVIEW CLIP as the player because the first .mp4 literal in the page won (15 hover previews on hdplayer.gives) while the real player is the site's own same-origin /embed/904/ iframe the policy strips and the page carries a schema.org VideoObject; hdthot.com (JW Player, og:video declared, no .mp4 literal) yielded no player at all; a direct mp4 URL given to /clean (cdn.semyana.website, 57.5 MB, 206 with and without Referer) was fetched as a page into the 8 MiB buffer and reported Fetch failed. Done-rule, MET 2026-09-02 (symbol csd_media_rank): declared metadata first (JSON-LD VideoObject contentUrl, og:video, og:video:secure_url, twitter:player:stream, and a declaration naming the page itself is rejected by the media-extension test), then literal stream candidates ranked against a NAMED skip table (hover previews, thumbnails, vast, preroll, the IAB creative sizes 728x90 300x250 160x600 320x50 300x600 970x250, ad paths, banner) read from knowledge/cleanserve_media_skip.conf with bootstrap rows in the lib, a KVS field that names a skipped clip is dropped too, a URL that is itself media is played bare with no page fetch, and an autoplaying ad VIDEO element in the page is removed and counted in the receipt as ad_videos. Gate nx_clean_serve_gate TEST E: 15 teeth incl. neg-controls (content mp4 not skipped, a conf table replaces the bootstrap rows, the real player beside an ad survives, fixture A counts 0). The same-site embed follow is rung CS10. Organ: runtime/_hdl_build/nx_clean_serve_daemon.nx

    Authored effort: 3. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  10. CS10 — Same-site embed follow to the real player

    Prerequisites: CS9 (acceptance unverified)

    Contract: _ABSENT_:csd_embed_follow

    Acceptance: Pre-declared 2026-09-02 from hornyleak.tv: the page's own player is an iframe to the site's /embed/904/, which in turn frames hdplayer.gives/embed/<id> (a dplayer config); the policy strips iframes by design, so the page yields NO player after CS9 (correct, no ad video either). Done-rule: follow at most TWO bounded hops of iframe src starting same-site (the site's own /embed/ path, then the provider it frames), each SSRF-guarded and fetched over sovereign TLS, run the CS9 resolver on each hop's body, and emit the first media that survives; a NEGATIVE CONTROL page whose iframe is an ad widget (creative.hornyleaklive.com) must NOT be followed (skip-table on the iframe host and path). Organ: runtime/_hdl_build/nx_clean_serve_daemon.nx

    Authored effort: 5. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  11. CS11 — Autonomous site census and class ranking

    Prerequisites: CS9 (acceptance unverified)

    Contract: _ABSENT_:ccl_classify

    Acceptance: Operator 2026-09-02: clean-serve must grow autonomously, delivering more sites without the garbage. The mechanism is a corpus plus a beat: knowledge/cleanserve_sites.conf (every URL the operator or a seat has tried, seeded today with 11) is walked by nx_cleanserve_census on a daily clock row through the LIVE /clean; each row is classified by ONE ruler (ccl_classify in nx_cleanserve_census_lib, gate-tested over canned clean-view bodies) into PLAYER, NO-PLAYER, AD-VIDEO, FETCH-FAIL, BLOCKED or CHALLENGE, a time-spine row is appended (knowledge/status/cleanserve_census.log, plane cleanservecensus-), a truncate-written status names the partition with sums and the top failing class, and a log row lands on THIS plan so the ranker prices the class with the most sites behind it. Done-rule: the beat runs on the clock plane, the partition sums to the corpus, a planted regression (a page that stops yielding a player) flips its class on the next beat and the status names it, and a row added to the corpus is measured on the next beat without any code change. Organ: runtime/nx_cleanserve_census.nx

    Authored effort: 8. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

Learning and practice paths

No structured learning path is declared for this plan. Existing research, roadmap and worklog remain available above.

Rung dossiers — every record that bears on a rung, in one place

Joined by symbol, never typed. Each dossier is assembled on every publish from the rows this board already carries: the plan's rung row, the matrix row that carries its contract symbol (its status re-measured by the one symbol ruler), the gate the organ declares and the verdict the evidence referee recorded on its last run, the reference marks in the rung text, the design rows that name the rung and the work log filed against it. The capability matrix links each cell to its dossier and each dossier links back to its cell and forward to the rungs it stands on; a dependency naming no rung on this plan is written as UNRESOLVED rather than linked. Absences are named: NO-MATRIX-ROW, NO-GATE-DECLARED, UNRECORDED.
Gate verdicts: UNSTAMPED — no per-gate verdict artifact is published for this domain yet (nx_swcompare_evidence cleanserve writes it beside its stamp); every gate below reads UNRECORDED until it runs.
Gate declarations: knowledge/organ_gate.conf read from this working directory (1 rows) and from the estate root (196 rows); rows in both counted once: 0; declarations read: 197. Every declaration in either copy counts, so a stub beside the publisher can never hide the root.
CS1 Filter-list breadth to EasyList scale · cell WATCHING · gate NO-GATE-DECLARED
Contract_ABSENT_:fml_classify · executor claude · 8 u · stands on nothing
Definition of donePre-declared: over the SAME six sites already measured live (HN, guardian, arstechnica, techcrunch, nytimes and one control), the neutralized-tracker count must be printed PER SITE beside the count uBlock Origin blocks on that same page, and clean-serve must be no lower on any of the six. A total that improves while one site regresses does NOT pass -- the per-site list is the verdict, not the sum. Closes the .sota rows graded n for filter-list breadth and real-time auto-update. Organ: runtime/nx_filter_ml.nx
Matrix cellFilter-list breadth EasyList-scale · runtime/nx_filter_ml.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_filter_ml; declare nx_filter_ml TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
CS2 Run framework JS inside clean-serve to resolve player media · cell WATCHING · gate NO-GATE-DECLARED
Contract_ABSENT_:vsf_sniff_url_net · executor claude · 13 u · stands on nothing
Definition of donePre-declared: minified jQuery 3.7.1 already LOADS in the sovereign JS VM, so the gate is not can-it-parse. It is that a page whose media URL is only computable by running its player script yields a playable native element, with a NEGATIVE CONTROL: a page whose media is already static must be byte-identical before and after, or the win is a rewrite rather than a resolution. This is F108d, and the symbol is the one the .sota names as not yet wired. Organ: runtime/nx_cleanserve_jsexec.nx
Matrix cellRun framework JS to resolve player media · runtime/nx_cleanserve_jsexec.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_cleanserve_jsexec; declare nx_cleanserve_jsexec TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
CS3 Pass the Cloudflare managed JS challenge · cell WATCHING · gate NO-GATE-DECLARED
Contract_ABSENT_:cfc_solve · executor claude · 21 u · stands on CS2
Definition of donePre-declared: a site currently returning a challenge interstitial returns its real article, AND the receipt still reports the neutralization counts for that page. Passing the challenge while losing the receipt would trade the unique axis for a common one. Organ: runtime/nx_cf_challenge.nx
Matrix cellPass Cloudflare JS challenge · runtime/nx_cf_challenge.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_cf_challenge; declare nx_cf_challenge TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
CS4 Fingerprint resistance depth · cell WATCHING · gate NO-GATE-DECLARED
Contract_ABSENT_:fpd_randomize · executor claude · 13 u · stands on nothing
Definition of donePre-declared: the zero-JS view already removes JS fingerprinting, so the gate must NOT re-measure that. It must show a difference on a surface that SURVIVES zero-JS, or state UNOBSERVABLE. A gate that passes because JS is absent is measuring the previous rung. Organ: runtime/nx_fingerprint_defense.nx
Matrix cellFingerprint resistance depth · runtime/nx_fingerprint_defense.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_fingerprint_defense; declare nx_fingerprint_defense TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
CS5 Archive capture at scale · cell WATCHING · gate NO-GATE-DECLARED
Contract_ABSENT_:csa_warc_emit · executor claude · 13 u · stands on CS2
Definition of donePre-declared: a captured page replays with its text and images intact and the record DECLARES what it did not capture. Browsertrix-scale JS-render fidelity is explicitly NOT claimed; the done-rule is an honest fidelity statement plus a replay, not parity. Organ: runtime/nx_cleanserve_archive.nx
Matrix cellLink-rot archive capture WARC · runtime/nx_cleanserve_archive.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_cleanserve_archive; declare nx_cleanserve_archive TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
CS6 Entity-body contract - a CRLF page keeps its player · cell PRESENT · gate NO-GATE-DECLARED
Contractcs_entity_body_off · executor claude · 1 u · stands on nothing
Definition of donePre-declared and MET 2026-09-02: the fetcher returns the entity body, so the clean path may strip an HTTP header block ONLY when the buffer begins with a status line. Gate nx_clean_serve_gate TEST D: a CRLF page whose first blank line falls after the player must reach the extractor whole (neg-control: the old blank-line scan provably cuts that same fixture), a real wire response is still stripped exactly past its headers, an LF-only page is unchanged. Live proof: camwhores.tv/videos/1855636 served with NO video element before, a native video element carrying the page's own get_file URL after. Organ: runtime/_hdl_build/nx_clean_serve.nx
Matrix cellEntity-body contract - CRLF pages keep their player · runtime/_hdl_build/nx_clean_serve.nx · PRESENT decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_clean_serve; declare nx_clean_serve TAB <gate> and the ship loop proves it and the verdict lands here.
Work log2026-09-02 measure LIVE /clean on camwhores.tv/videos/1855636 returned 42,888 B with NO video element while the page itself (81,570 B) carries a plain video_url in flashvars. The cleaned body began at byte 41,335 of the page and the receipt said 4 scripts -- exactly the 4 script tags after that byte. Cause read from source: nx_https_fetch_follow_best returns the entity body, and the daemon then ran a second header strip (first blank CRLF line) on HTML. Instrument: byte offsets of the live response against the raw page.
2026-09-02 retract The sota row Native HTML5 media delivery (graded Y, including KVS de-obfuscation) was TRUE ONLY FOR LF-FORMATTED PAGES: every CRLF page (KVS/kt_player tube sites, IIS, many CMSes) lost its head, player block and flashvars before extraction ran, so the grade rested on the six LF-only news sites it was measured on. Discriminating experiment: the cleaned body of a CRLF page starts at its first in-document blank line; an LF page starts at 0.
2026-09-02 lesson A CONSUMER THAT RE-STRIPS WHAT ITS PRODUCER ALREADY STRIPPED IS A DEFECT THAT HIDES ON EVERY INPUT THE PRODUCER HAPPENED TO NORMALISE. Two organs (the daemon and nx_cleanview) carried the same private blank-line scan; both now delegate to ONE ruler in the lib (cs_entity_body_off), which strips only when the buffer begins with an HTTP status line. And the fixture that proves it must spell CR LF as escapes: a literal CR in source was silently stripped by a text-mode copy on its first trip to the NAS. CHECK-BEFORE-BUILD, measured after the fact: of 32 consumers of nx_https_fetch_follow_best in the tree, exactly three re-strip, and the third (nx_fetch_any fa_body_off) ALREADY carried the correct status-line-guarded shape -- the clean-serve family held the unguarded twin of a ruler the estate had.
2026-09-02 measure REAL BROWSER (Waterfox 153 via Marionette, 2026-09-02): the operator's video 1855636 fails IDENTICALLY on camwhores.tv ITSELF (video.error=4 Failed to open media, networkState=3) and on the fixed clean view -- the site's redirector sends every request to CDN vhost camvideo32, which answers 403 (nginx), while the same file and the same token on vhost camvideo3 (same IP 176.98.190.24) answer 206; three other public videos on the site (12756124, 6461619, 6548478) redirect to healthy nodes and answer 206. Through the fixed clean view, 12756124 PLAYS in Waterfox: readyState 4, error null, 1920x1080, duration 786 s, currentTime advancing, 65 s buffered, receipt 15 scripts and 1 tracker neutralized. So the clean view is now at parity with the site on its own player URL; the cited video is refused by the site's CDN for everyone right now.
2026-09-02 queue NAS SHIP STATE at write time: lib ruler, gate teeth, daemon and nx_cleanview delegations are source-landed in buildroot (both trees identical for lib and gate); gate GREEN 37/37 locally and RED 34/37 against a planted revert of the ruler (restored byte-identical); daemon built locally (1,108,899 B) and proven end-to-end in a real browser. /api/build for nx_clean_serve_daemon and nx_clean_serve_gate was REFUSED by build admission (D-state storm, procs_blocked 9 of 8) and QUEUED (deployq rows BQ-nx_clean_serve_daemon, BQ-nx_clean_serve_gate); deploy_targets row cleanserve (gdeploy@cleanserve :8102) and daemons.reg revive (re-signed) are in place, pre-change binary banked as knowledge/status/nx_clean_serve_daemon.elf.bank-20260902-precrlf sha256 356c6df3. Next seat: when the BQ row reads fired-rc0, nx_contentdiff live vs stage, then /api/deploy target=cleanserve and re-run the live /clean check.
2026-09-02 land DEPLOYED 2026-09-02. /api/build BUILT 623,072 B sha256 34eb5538 from src 2f45a13a (a stale 532,574 B stage from another lane was banked as .prev, not overwritten). nx_contentdiff live vs stage read RED with 324 lost runs, ENUMERATED: 6 compiler pad runs (0x55 and 0x33 fill) plus 2 copies of one long Accept header that is absent from the current shared fetch-lib source (an estate-wide lib change predating this lane), and no clean-serve string lost. /api/deploy target=cleanserve was REFUSED by the pre-deploy gate (evidence-honesty BLOCK: five RED domains automation, swarm, videocodec, smallos, autodev, none of them cleanserve) and re-issued with confirm_gate_override=yes, recorded as AUDITED; deploy_status DEPLOYED-GREEN listen=VERIFIED. Live sha256 34eb5538 confirmed by nx_filehash. LIVE /clean now serves the native player with the site's own get_file URL for 1855636, 6461619 and 2108275 and /receipt reads 15 scripts and 1 tracker where it read 4 scripts and no video.
2026-09-02 lesson BING, MEASURED on the operator's URL and a Vimeo control through Waterfox: the detail view is Bing's own smtplayer element plus a per-result vrhm record (murl media URL, purl and pgurl page URL, thid OVP thumbnail id, mmsturl a 1.1 MB video/mp4 preview clip Bing RE-HOSTS on th.bing.com with CORS star and a 30-day cache, du duration, md5). For an embeddable provider the detail is the PROVIDER's iframe (player.vimeo.com/video/<id> with autoplay); for a site with no embed contract (camwhores /embed/<id> answers 404 for every video) Bing shows Sorry, this video is no longer available and never plays it. What to bring into the Nishi browser and OS: index-time preview clips and posters re-hosted on our own store (first-party, no hotlink), a declared-embed registry (VideoObject, og:video, provider embed templates), and for full playback the relay, which is the one thing Bing does NOT do for these sites.
CS7 Sovereign media relay for token-bound and IP-bound streams · cell WATCHING · gate NO-GATE-DECLARED
Contract_ABSENT_:csr_media_relay · executor claude · 8 u · stands on CS6
Definition of donePre-declared: a stream URL the page mints for the FETCHER (KVS get_file with v-acctoken, expiring CDN acctoken) must play in the user's browser even when the CDN binds it to the fetching IP or to a Referer -- the daemon relays the bytes over its own sovereign TLS with Range passthrough, never exposing the upstream token to the client. Gate: a fixture CDN that refuses a second IP must still yield a 206 through the relay, and a NEGATIVE CONTROL: a plain public mp4 must still be served DIRECT (byte-identical page), or the relay is a rewrite rather than a fallback. UNMEASURED today whether camwhores.tv binds by IP: the NAS and the operator's laptop share egress 75.28.18.94, so the only test available could not discriminate. Organ: runtime/nx_cleanserve_relay.nx
Matrix cellSovereign media relay for token-bound streams · runtime/nx_cleanserve_relay.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_cleanserve_relay; declare nx_cleanserve_relay TAB <gate> and the ship loop proves it and the verdict lands here.
Work log2026-09-02 queue Whether the get_file token is IP-bound is UNMEASURED: the page's v-acctoken decodes to 315 / 1222460 / 0 / hash and the CDN redirect acctoken carries a 2 h expiry, but the NAS and the operator's laptop share egress 75.28.18.94, so a laptop 206 proves nothing about a remote viewer. Recipe: fetch /clean from an off-LAN vantage and GET the served video src with Range; a 403 there is the CS7 trigger.
2026-09-02 measure REAL-BROWSER CENSUS over five camwhores.tv videos through the fixed daemon: extraction correct 5 of 5, server-side Range 206 5 of 5 (nodes camvideo3, ghjtuthynvideos, camvideo8, v1, video15), DIRECT cross-origin video-element playback 1 of 5. 12756124 on woopeedoopcmwhrs.xyz plays; the four on wpnrtnmrewunrtok.xyz fail with media error 4 while the SAME URL plays from the site's own page and curl gets 206 seconds later on the daemon-minted token. Ruled out by control: token expiry, codec (all avc1 and mp4a, moov at the tail), response headers (byte-identical dumps across both families), Safe Browsing, the tracking-protection classifier (no table match), HTTP/2 (fails with h2 disabled), certificate chain (both Let's Encrypt). The browser creates the redirect-target channel and never opens a connection; the exact Firefox rule is UNATTRIBUTED. The consequence stands regardless: a bare cross-origin video src is not a delivery path for that CDN family, a same-origin relay is. erome.tv and hornyfans.to (get_file served by the site host, no third-party CDN hop) play. 1855636 additionally depends on which node the site's redirector assigns: camvideo32 answers 403 for everyone and camvideo3 answers 206 for the same file and token, and the assignment changed within the hour, which is the dynamic behaviour the operator saw on reload.
2026-09-02 lesson A CROSS-ORIGIN VIDEO SRC IS A REQUEST THE BROWSER MAKES ON THE VIEWER'S BEHALF UNDER RULES WE DO NOT CONTROL; ONLY A SAME-ORIGIN RELAY MAKES DELIVERY A PROPERTY OF OUR CODE. Second lesson, from hornyleak: THE FIRST .MP4 IN A PAGE IS THE FIRST .MP4 IN A PAGE, NOT THE VIDEO -- a page full of hover previews wins that race every time.
2026-09-02 queue The relay is now REQUIRED, not a nice-to-have: 4 of 5 KVS videos on the dominant CDN family cannot be played by a bare video element from our origin. Build: /clean/media?u=<upstream>&p=<page>, SSRF-guarded, sovereign TLS fetch with the client's Range passed through and the page origin as Referer, the redirect followed server-side, one retry on a 403 node (fresh redirect), streamed to the client with Content-Range and Accept-Ranges; the clean page's video src becomes same-origin. Needs a streaming primitive: nx_https_fetch_follow is buffered at 8 MiB, so either a windowed Range loop over it or a record-streaming variant of ff_core.
CS8 Blocker-fingerprint neutrality - the clean view trips no anti-adblock wall · cell WATCHING · gate NO-GATE-DECLARED
Contract_ABSENT_:csn_blocker_probe · executor claude · 13 u · stands on CS1
Definition of donePre-declared (operator 2026-09-02: clean browsing for the Nishi browser and OS must carry no attack vectors AND must not trigger the uBlock-class detection thumbprints): over a named corpus of anti-adblock sites the served clean view must render the article with ZERO adblock-wall markup and ZERO detection beacons in the receipt, measured per site beside what a stock browser with uBlock Origin shows on the same page; a site where the wall survives is a named failure, never a total. The mechanism is already structural (no page JS runs, so no detector can run) -- the gate must prove it on real walls, and its neg-control is a page whose wall is server-rendered HTML that the CSS surrogate must hide without hiding the article. Organ: runtime/nx_cleanserve_neutrality.nx
Matrix cellBlocker-fingerprint neutrality - no anti-adblock wall trips · runtime/nx_cleanserve_neutrality.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_cleanserve_neutrality; declare nx_cleanserve_neutrality TAB <gate> and the ship loop proves it and the verdict lands here.
Work log2026-09-02 queue Operator ask 2026-09-02: this lane is the test-bed for the Nishi browser and OS -- no attack vectors, and no uBlock-class detection thumbprint either. The zero-JS clean view cannot run a detector by construction, but the anti-adblock WALL markup can still be server-rendered; CS8 measures that on real walls and pairs it with CS1 breadth.
CS9 Declared-metadata resolve, candidate ranking and same-site embed follow · cell LANDED · gate NO-GATE-DECLARED
Contract_ABSENT_:csd_media_rank · executor claude · 3 u · stands on CS6
Definition of donePre-declared 2026-09-02 from three live failures: hornyleak.tv served a RELATED-VIDEO PREVIEW CLIP as the player because the first .mp4 literal in the page won (15 hover previews on hdplayer.gives) while the real player is the site's own same-origin /embed/904/ iframe the policy strips and the page carries a schema.org VideoObject; hdthot.com (JW Player, og:video declared, no .mp4 literal) yielded no player at all; a direct mp4 URL given to /clean (cdn.semyana.website, 57.5 MB, 206 with and without Referer) was fetched as a page into the 8 MiB buffer and reported Fetch failed. Done-rule, MET 2026-09-02 (symbol csd_media_rank): declared metadata first (JSON-LD VideoObject contentUrl, og:video, og:video:secure_url, twitter:player:stream, and a declaration naming the page itself is rejected by the media-extension test), then literal stream candidates ranked against a NAMED skip table (hover previews, thumbnails, vast, preroll, the IAB creative sizes 728x90 300x250 160x600 320x50 300x600 970x250, ad paths, banner) read from knowledge/cleanserve_media_skip.conf with bootstrap rows in the lib, a KVS field that names a skipped clip is dropped too, a URL that is itself media is played bare with no page fetch, and an autoplaying ad VIDEO element in the page is removed and counted in the receipt as ad_videos. Gate nx_clean_serve_gate TEST E: 15 teeth incl. neg-controls (content mp4 not skipped, a conf table replaces the bootstrap rows, the real player beside an ad survives, fixture A counts 0). The same-site embed follow is rung CS10. Organ: runtime/_hdl_build/nx_clean_serve_daemon.nx
Matrix cellDeclared-metadata resolve, candidate ranking and embed follow · runtime/_hdl_build/nx_clean_serve_daemon.nx · LANDED decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_clean_serve_daemon; declare nx_clean_serve_daemon TAB <gate> and the ship loop proves it and the verdict lands here.
Work log2026-09-02 land SHIPPED 2026-09-02 (build+deploy in flight on the NAS at write time; proven locally): cs_media_skip, cs_find_declared, cs_media_ext and cs_quoted_after in the lib, csd_media_rank and the bare direct-media player in the daemon, ad VIDEO elements stripped and counted (receipt field ad_videos, additive). Gate 52 of 52 locally. Measured through the fixed daemon: cdn.semyana.website direct mp4 now plays bare (was Fetch failed); hornyleak.tv no longer shows the 728x90 autoplay advertisement (ad_videos 1, no wrong player; the real player is a two-hop embed, rung CS10); hdthot.com stays honestly playerless (og:video names the page itself, rejected); camwhores, erome and hornyfans unchanged.
2026-09-02 land LIVE 2026-09-02: /api/build BUILT 632,400 B sha256 0a18a51a (src 989d68bf); nx_contentdiff against my own CS6 build lost exactly ONE run, the banner literal deliberately split to insert the ad-video count; /api/deploy target=cleanserve with confirm_gate_override=yes (AUDITED, the same five unrelated RED domains), deploy_status DEPLOYED-GREEN listen=VERIFIED, live hash confirmed. LIVE measured: hornyleak.tv no ad video and no wrong player (receipt ad_videos 1), cdn.semyana.website direct mp4 served bare, noodlemagazine and prostoporno players extracted, camwhores unchanged. The gate nx_clean_serve_gate (52 of 52 locally, BUILT 61,728 B on the NAS) is REFUSED promotion under D001 because it rolls its own verdict, so no /api/gate_run receipt and no cleanserve.gates row exists for it: the gv_check migration is owed before it can be counted as executed evidence.
2026-09-02 queued CS9c page-identity ranking: a literal stream candidate that carries the page's own id token (cs_page_token: the last non-empty path segment, KVS ids and VK-style ids reappear verbatim in the stream URL) wins; with no token match and CS_LISTING_MIN or more distinct candidates the page is a grid and NO player is emitted rather than a related video. Gate teeth for the token ruler incl. three neg-controls (bare host, dotted file segment, too-short segment). Written and being proven locally at write time.
CS10 Same-site embed follow to the real player · cell WATCHING · gate NO-GATE-DECLARED
Contract_ABSENT_:csd_embed_follow · executor claude · 5 u · stands on CS9
Definition of donePre-declared 2026-09-02 from hornyleak.tv: the page's own player is an iframe to the site's /embed/904/, which in turn frames hdplayer.gives/embed/<id> (a dplayer config); the policy strips iframes by design, so the page yields NO player after CS9 (correct, no ad video either). Done-rule: follow at most TWO bounded hops of iframe src starting same-site (the site's own /embed/ path, then the provider it frames), each SSRF-guarded and fetched over sovereign TLS, run the CS9 resolver on each hop's body, and emit the first media that survives; a NEGATIVE CONTROL page whose iframe is an ad widget (creative.hornyleaklive.com) must NOT be followed (skip-table on the iframe host and path). Organ: runtime/_hdl_build/nx_clean_serve_daemon.nx
Matrix cellSame-site embed follow to the real player · runtime/_hdl_build/nx_clean_serve_daemon.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_clean_serve_daemon; declare nx_clean_serve_daemon TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
CS11 Autonomous site census and class ranking · cell WATCHING · gate NO-GATE-DECLARED
Contract_ABSENT_:ccl_classify · executor claude · 8 u · stands on CS9
Definition of doneOperator 2026-09-02: clean-serve must grow autonomously, delivering more sites without the garbage. The mechanism is a corpus plus a beat: knowledge/cleanserve_sites.conf (every URL the operator or a seat has tried, seeded today with 11) is walked by nx_cleanserve_census on a daily clock row through the LIVE /clean; each row is classified by ONE ruler (ccl_classify in nx_cleanserve_census_lib, gate-tested over canned clean-view bodies) into PLAYER, NO-PLAYER, AD-VIDEO, FETCH-FAIL, BLOCKED or CHALLENGE, a time-spine row is appended (knowledge/status/cleanserve_census.log, plane cleanservecensus-), a truncate-written status names the partition with sums and the top failing class, and a log row lands on THIS plan so the ranker prices the class with the most sites behind it. Done-rule: the beat runs on the clock plane, the partition sums to the corpus, a planted regression (a page that stops yielding a player) flips its class on the next beat and the status names it, and a row added to the corpus is measured on the next beat without any code change. Organ: runtime/nx_cleanserve_census.nx
Matrix cellAutonomous site census and class ranking · runtime/nx_cleanserve_census.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_cleanserve_census; declare nx_cleanserve_census TAB <gate> and the ship loop proves it and the verdict lands here.
Work log2026-09-02 measure prostoporno.place/videos/375669: KVS LF page, player extracted (get_file 375669_h.mp4 plus an alt URL), get_file redirects to node 2.prostoporno.place which answered NOTHING to a Range probe from our egress (curl exit, no status) -- class STREAM-UNREACHABLE from this vantage; browser playback UNMEASURED.
2026-09-02 queue OPERATOR STANDING DIRECTION 2026-09-02: clean-serve must grow autonomously and constantly improve, delivering more and more sites without the garbage. Landed today as data: the corpus knowledge/cleanserve_sites.conf (11 rows with measured classes) and rung CS11 (census beat, one classifier ruler, time spine, class ranking feeding this plan). Owed: the census organ and its lib+gate, the clock row, and the relay (CS7) which converts every CROSS-ORIGIN-FAIL row (4 of the 11) into PLAYS by construction.
2026-09-02 measure Three more corpus rows classified 2026-09-02. pornslash.com/watch/ykm1X54J6g0: WRONG-VIDEO -- 50 related-video mp4 literals on pages.dev, none for this id, the page's own player is an hls.js embed whose stream is built by JS (embed HTML carries no literal), so first-literal-wins served a RELATED video. noodlemagazine.com/watch/-88674838_456240139: DECOY-404 -- the literal carrying the page id (noodlemagazine.com/videofile/<id>.mp4) answers 404 while the real player is an nmcorp.video og:video and JS-built pvvstream.pro streams. prostoporno.place/videos/375669: STREAM-TLS-FAIL -- KVS extraction correct, the redirect node 2.prostoporno.place fails the TLS handshake from Windows schannel; browser playback UNMEASURED. The embed pages behind hornyleak (hdplayer.gives, jwplayer+dplayer) and pornslash (hls.js) carry NO literal media, so rung CS10 alone cannot serve them: they are rung CS2 (JS-VM) cases and the embed follow is the delivery vehicle for CS2's result.

dossiers=11 cells_joined=11 no_matrix_row=0 (sum 11) gates_recorded=0 gates_unrecorded=0 no_gate_declared=11 (sum 11 of cells_joined) evgates=UNSTAMPED

Capability comparisons

Compare the field, search individual capabilities and open their source and adoption evidence. Documented presence does not establish comparative quality.

Position map — centrality and distinctiveness

The four-quadrant map the field uses for brand strategy (Dawar and Bagga, HBR June 2015), re-derived from this matrix on every publish. Centrality is the share of the category's feature mass a player covers, each feature weighted by how many hold it; distinctiveness is the average lead over each rival on the rows the player holds; breadth is the depth-weighted share of the whole matrix (the bubble); depth is how deeply the rows held are held; momentum is the day-over-day move off the spine (green rising, red falling, grey until day two); the dashed path runs first day → previous day → today. Dividers are the category means. Axes are fitted to the field of play, so read the tick numerals, not the frame. Rival marks are documented presence, so a rival's position reads the record, never its quality. The picture grades its own readability below; the table beside it is the same data for a screen reader or a second method.

Rows. 18 feature rows mapped of 18 matrix rows; 0 substrate rows (kernels, bounds and instruments the plan's rungrole marks substrate) are the estate's scaffolding, not category features, and stay off the map
Views. 2D cut: centrality, distinctiveness · 3D cube: centrality, distinctiveness, breadth · axes registered: centrality, distinctiveness, breadth, depth, momentum · a board picks its own in knowledge/compare/cleanserve.cdmap (cut|x|y, cube|x|y|z); absent = the HBR defaults
Position map, two-dimensional cutOne bubble per player. Bubble area is breadth, the ring colour is momentum, the dashed lines are the category means, and both axes are fitted to the field of play with their tick numerals shown. Every value is repeated in the table that follows. 450 500 550 600 650 700 200 300 400 500 600 700 centrality (permil, fitted 450–700) distinctiveness (permil, fitted 200–700) mean 555 mean 424 Unconventional Aspirational Peripheral Mainstream Nishi, centrality 611, distinctiveness 564, breadth 388, depth 777, momentum 0 uBlock-Origin, centrality 500, distinctiveness 383, breadth 222, depth 800, momentum 0 Brave-Shields, centrality 500, distinctiveness 333, breadth 203, depth 733, momentum 0 AdBlock-Plus, centrality 500, distinctiveness 250, breadth 185, depth 666, momentum 0 Browsertrix, centrality 666, distinctiveness 590, breadth 481, depth 722, momentum 0 Nishi uBlock-Origin Brave-Shields AdBlock-Plus Browsertrix

bubble area = breadth · ring = momentum (green rising, red falling, grey until day two) · dashed = category means · axes fitted to the field of play: centrality 450–700, distinctiveness 200–700 of 0–1000 permil (the full range put every player in one corner)
readability of the 2D cut, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 0 (a fact of the data: two players that close are that close) · data spread 671 permil of the plot · quadrant words unseated 0
text contrast, measured with wcag2-ratio (floors from contrast.conf), light theme: labels 16.24 (floor 4.50) · notes 16.24 (floor 4.50) · quadrant words 5.89 (floor 4.50) · tick numerals 5.89 (floor 4.50) · axis titles 5.59 (floor 4.50) · dark theme: labels 13.78 (floor 4.50) · quadrant words 5.55 (floor 4.50) · axis titles 5.97 (floor 4.50) · dark classes under their floor 0 (one figure serves both themes: a dark shortfall is a token to fix, never a class to hide) · classes refused under their floor 0 (a refused class is not drawn; the scale classes are measured, never hidden) · export: SVG PNG (receipt, rendered by the estate's own rasteriser from this page)
Position map, three-dimensional cubeThe same players in an isometric cube. Each axis is fitted to its own field of play and carries numerals on the floor grid and the vertical axis; each bubble drops a dotted line to its floor shadow so height reads as height. Values are in the table that follows. 450 500 550 600 650 700 200 300 400 500 600 700 100 200 300 400 500 600 centrality distinctiveness breadth AdBlock-Plus: centrality 500, distinctiveness 250, breadth 185 Brave-Shields: centrality 500, distinctiveness 333, breadth 203 uBlock-Origin: centrality 500, distinctiveness 383, breadth 222 Nishi: centrality 611, distinctiveness 564, breadth 388 Browsertrix: centrality 666, distinctiveness 590, breadth 481 Nishi uBlock-Origin Brave-Shields AdBlock-Plus Browsertrix
axes fitted: centrality 450–700 · distinctiveness 200–700 · breadth 100–600 permil · farther bubbles are painted first, nearer ones over them · the floor shadow is each bubble's (x, y) at height 0
readability of the 3D cube, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 0 (a fact of the data: two players that close are that close) · data spread 96 permil of the plot
Position map, small multiplesEvery pair of registered axes as one small cut. Each panel fits both axes to the field of play, the dashed lines are the category means, bubble area is breadth and the ring colour is momentum; the legend below names the colours. 450 700 200 700 distinctiveness vs centrality Nishi: centrality 611, distinctiveness 564 uBlock-Origin: centrality 500, distinctiveness 383 Brave-Shields: centrality 500, distinctiveness 333 AdBlock-Plus: centrality 500, distinctiveness 250 Browsertrix: centrality 666, distinctiveness 590 450 700 100 600 breadth vs centrality Nishi: centrality 611, breadth 388 uBlock-Origin: centrality 500, breadth 222 Brave-Shields: centrality 500, breadth 203 AdBlock-Plus: centrality 500, breadth 185 Browsertrix: centrality 666, breadth 481 450 700 625 825 depth vs centrality Nishi: centrality 611, depth 777 uBlock-Origin: centrality 500, depth 800 Brave-Shields: centrality 500, depth 733 AdBlock-Plus: centrality 500, depth 666 Browsertrix: centrality 666, depth 722 450 700 480 520 momentum vs centrality Nishi: centrality 611, momentum 500 uBlock-Origin: centrality 500, momentum 500 Brave-Shields: centrality 500, momentum 500 AdBlock-Plus: centrality 500, momentum 500 Browsertrix: centrality 666, momentum 500 200 700 100 600 breadth vs distinctiveness Nishi: distinctiveness 564, breadth 388 uBlock-Origin: distinctiveness 383, breadth 222 Brave-Shields: distinctiveness 333, breadth 203 AdBlock-Plus: distinctiveness 250, breadth 185 Browsertrix: distinctiveness 590, breadth 481 200 700 625 825 depth vs distinctiveness Nishi: distinctiveness 564, depth 777 uBlock-Origin: distinctiveness 383, depth 800 Brave-Shields: distinctiveness 333, depth 733 AdBlock-Plus: distinctiveness 250, depth 666 Browsertrix: distinctiveness 590, depth 722 200 700 480 520 momentum vs distinctiveness Nishi: distinctiveness 564, momentum 500 uBlock-Origin: distinctiveness 383, momentum 500 Brave-Shields: distinctiveness 333, momentum 500 AdBlock-Plus: distinctiveness 250, momentum 500 Browsertrix: distinctiveness 590, momentum 500 100 600 625 825 depth vs breadth Nishi: breadth 388, depth 777 uBlock-Origin: breadth 222, depth 800 Brave-Shields: breadth 203, depth 733 AdBlock-Plus: breadth 185, depth 666 Browsertrix: breadth 481, depth 722 100 600 480 520 momentum vs breadth Nishi: breadth 388, momentum 500 uBlock-Origin: breadth 222, momentum 500 Brave-Shields: breadth 203, momentum 500 AdBlock-Plus: breadth 185, momentum 500 Browsertrix: breadth 481, momentum 500 625 825 480 520 momentum vs depth Nishi: depth 777, momentum 500 uBlock-Origin: depth 800, momentum 500 Brave-Shields: depth 733, momentum 500 AdBlock-Plus: depth 666, momentum 500 Browsertrix: depth 722, momentum 500
Nishi uBlock-Origin Brave-Shields AdBlock-Plus Browsertrix
10 panels over 5 registered axes, every pair once (the lower axis on x, the higher on y) · each panel fitted to its own field of play, first and last tick numerals shown · no labels in a small cut, the legend names the colours; the grade below reports the mark terms only (MM summed over the panels, spread averaged)
readability of the small multiples, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 7 (a fact of the data: two players that close are that close) · data spread 519 permil of the plot
PlayerQuadrantcentralitydistinctivenessbreadthdepthmomentumRows heldDays on spineFirst seen
NishiAspirational6115643887770 since 2026-09-239102026-09-15
uBlock-OriginPeripheral5003832228000 since 2026-09-235102026-09-15
Brave-ShieldsPeripheral5003332037330 since 2026-09-235102026-09-15
AdBlock-PlusPeripheral5002501856660 since 2026-09-235102026-09-15
BrowsertrixAspirational6665904817220 since 2026-09-2312102026-09-15
DayMatrix rows reviewedPlayers recorded
2026-09-15185
2026-09-16185
2026-09-17185
2026-09-18185
2026-09-19185
2026-09-20185
2026-09-21185
2026-09-22185
2026-09-23185
2026-10-08185

players 5|matrix rows 18|feature mass 36|centrality mean 555|distinctiveness mean 424|axes 5|spine days 10 (shown 10)|rows written today 0|readability defects 2D 0 cube 0|spine knowledge/status/cdmap/cleanserve.spine

How to read this evidence. A Nishi source mark records whether the named symbol is declared in the selected source file. It does not establish working behavior or accepted delivery. A watching tag names an expected source entry; discovering it updates source coverage only. A dark tag means the file exists but the named symbol was not found: inspect the source and contract before assuming the capability is missing or renaming code. Peer codes are authored assessments; unassessed means no comparison is established, not absence. Qualification, deployment identity, runtime observations and acceptance must carry their own evidence. Adoption records the catalog's observed path through source, build, promotion, registration and invocation; libraries use importer evidence and gates use declared execution surfaces. A full catalog path does not establish quality, freshness or a successful user outcome. Partial and unknown states retain their stated next action. Census stamps: importers asof 1790637268, gate census asof 1790104131 (unix seconds; -1 = census absent).

Capability matrix — measured against source

◉ authored stronger claim; source present● present◐ partial○ absent? unassessed; excluded from relative comparison · click any capability for its evidence

Peer cell coverage: authored assessed 72, unassessed 0. Authored assessments are not verified outcomes.

CapabilityNishiuBlock-OriginBrave-ShieldsAdBlock-PlusBrowsertrix
Server-side neutralization - page JS never runs in your browserSource present; authored stronger claim: cs_clean_page in runtime/_hdl_build/nx_clean_serve.nx, verified at emit. LANDED. The keystone: active content is stripped ON THE SERVER so the hostile page never executes in the user context, where every browser extension is client-side and only blocks network requests. Gate-backed at 20/20 KATs by nx_html_sanitize_test over real stored-XSS vectors. Listed so dependents carry its momentum rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=3 nonval=2 — fully adopted (top of its ladder).
Pros Source symbol found; stronger capability claim is authored; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus, Browsertrix; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
◉○○○●
Preserve the site safe ads - SANITIZE not blockSource present; authored stronger claim: cs_verdict in runtime/_hdl_build/nx_clean_serve.nx, verified at emit. LANDED and UNIQUE. An ad kept as an inert static creative so the site earns a real impression; everyone else blocks all ads, Brave substitutes its own, and AdBlock Plus Acceptable-Ads is pay-to-whitelist rather than per-ad. Proven by the POSITIVE KATs, which are the load-bearing half: a sanitizer returning the empty string would pass every XSS test and fail these rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=3 nonval=2 — fully adopted (top of its ladder).
Pros Source symbol found; stronger capability claim is authored; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus, Browsertrix; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
◉○○◐○
Machine-readable safety receiptSource present; authored stronger claim: cs_receipt_json in runtime/_hdl_build/nx_clean_serve.nx, verified at emit. LANDED and UNIQUE. A per-page JSON receipt of attacks neutralized and ads preserved; no incumbent emits an auditable receipt at all, which is why all four rival cells are honestly zero rather than low Adoption: LIB-WIRED importers=3 nonval=2 — fully adopted (top of its ladder).
Pros Source symbol found; stronger capability claim is authored; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus, Browsertrix; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
◉○○○○
SSRF guard on the fetch proxyMeasured: ncv_url_safe exists in runtime/_hdl_build/nx_cleanview.nx, verified at emit. LANDED. Clean-serve is a public fetch proxy and refuses private loopback and internal targets by construction. The rivals are extensions rather than proxies, so most cannot hold this axis at all rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
not adopted: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
Pros Implementing source symbol found; runtime acceptance separate; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus, BrowsertrixCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
●○○○◐
Own sovereign TLS 1.3 fetch stackMeasured: nx_https_fetch_follow_best exists in runtime/nx_https_fetch_follow.nx, verified at emit. LANDED. Own x509, chacha and aes; every competitor rides the OS or browser TLS, so this row is zero across the board by construction rather than by immaturity Adoption: LIB-WIRED importers=241 nonval=217 — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus, Browsertrix; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
●○○○○
Session and cookie-jar fetchMeasured: ff_core exists in runtime/nx_https_fetch_follow.nx, verified at emit. LANDED. The cookie jar carries session and consent cookies across redirects. Browsertrix gets full cookies from a real headless Chrome, which is the honest reason its cell is not zero rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=241 nonval=217 — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
●○○○●
Tracker and beacon blockingMeasured: wf_should_block exists in runtime/_hdl_build/nx_web_filter.nx, verified at emit. PART, and the honest one. PATH CORRECTED 2026-08-25, SAME SESSION THIS ROW WAS WRITTEN: it originally read runtime/nx_web_filter.nx, which was COPIED VERBATIM FROM cleanserve.axes AND IS WRONG THERE TOO -- that file does not exist. The symbol is real and is declared once in the whole tree, at runtime/_hdl_build/nx_web_filter.nx line 71, proven by grep over buildroot with matches=1 coverage_complete=1 corpus_complete=1 across 61,095 sources. It matters because the symbol ruler resolves exactly ONE path with no _hdl_build fallback, so the row would have reported a SHIPPED capability as missing -- the precise failure this board's own header warns about for landed rows. nx_web_filter is a seed table rather than EasyPrivacy scale, so this row is graded Part on the sota page and stays Part here. uBlock Origin leads. It is listed because rung CS1 is measured against exactly this deficit rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=6 nonval=4 — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; ahead of Browsertrix; fully adopted on the estate ladderCons behind uBlock-Origin (leads)
●◉●●◐
Filter-list breadth EasyList-scaleOpen — watching runtime/nx_filter_ml.nx : fml_classify, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS1, the widest honest gap on the board. Done-rule is pre-declared PER SITE over the same six sites already measured live: the neutralized-tracker count printed beside what uBlock Origin blocks on that same page, and clean-serve no lower on any of the six. A total that improves while one site regresses does NOT pass rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching fml_classify
Pros none measured yetCons behind uBlock-Origin (leads), Brave-Shields, AdBlock-Plus (leads); open contract; expected source declaration not established
○◉●◉○
Run framework JS to resolve player mediaOpen — watching runtime/nx_cleanserve_jsexec.nx : vsf_sniff_url_net, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS2, and this is F108d. Minified jQuery 3.7.1 already LOADS in the sovereign JS VM, so the contract is not can-it-parse: a page whose media URL is only computable by running its player script must yield a playable native element, with a NEGATIVE CONTROL that a page whose media is already static is byte-identical before and after rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching vsf_sniff_url_net
Pros none measured yetCons behind Browsertrix (leads); open contract; expected source declaration not established
○○○○◉
Pass Cloudflare JS challengeOpen — watching runtime/nx_cf_challenge.nx : cfc_solve, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS3. A site currently returning a challenge interstitial must return its real article AND the receipt must still report the neutralization counts for that page. Passing the challenge while losing the receipt would trade the unique axis for a common one, so the receipt is half the done-rule rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching cfc_solve
Pros none measured yetCons behind Browsertrix (leads); open contract; expected source declaration not established
○○○○◉
Fingerprint resistance depthOpen — watching runtime/nx_fingerprint_defense.nx : fpd_randomize, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS4. The zero-JS view already removes JS fingerprinting, so the gate must NOT re-measure that: it must show a difference on a surface that SURVIVES zero-JS, or state UNOBSERVABLE. A gate that passes because JS is absent is measuring the previous rung rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching fpd_randomize
Pros none measured yetCons behind uBlock-Origin, Brave-Shields (leads); open contract; expected source declaration not established
○◐◉○○
Entity-body contract - CRLF pages keep their playerMeasured: cs_entity_body_off exists in runtime/_hdl_build/nx_clean_serve.nx, verified at emit. LANDED 2026-09-02, rung CS6, shipped with referee grade from nx_clean_serve_gate TEST D and awaiting operator acceptance. The fetcher returns the entity body, so the daemon and nx_cleanview no longer run a second blank-CRLF-line header strip on HTML; the ONE ruler strips only when the buffer begins with an HTTP status line. Rivals are client-side and never had this class of defect, which is why their cells are Yes and the Nishi exceed is honestly 0: this row is parity restored, not a lead rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=3 nonval=2 — fully adopted (top of its ladder).
dossier
Pros Implementing source symbol found; runtime acceptance separate; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
●●●●●
Sovereign media relay for token-bound streamsOpen — watching runtime/nx_cleanserve_relay.nx : csr_media_relay, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS7. A stream minted for the fetcher (KVS get_file v-acctoken, expiring CDN acctoken) must play for the viewer even when the CDN binds it to the fetching IP or a Referer: relay over sovereign TLS with Range passthrough, upstream token never exposed. Neg-control: a plain public mp4 stays DIRECT. IP-binding on the live case is UNMEASURED (shared egress), which is exactly why this stays a watch and not a claim rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching csr_media_relay
Pros none measured yetCons behind Browsertrix; open contract; expected source declaration not established
○○○○◐
Declared-metadata resolve, candidate ranking and embed followMeasured: csd_media_rank exists in runtime/_hdl_build/nx_clean_serve_daemon.nx, verified at emit. OPEN -- rung CS9, from three live failures on 2026-09-02: hornyleak served a related-video PREVIEW CLIP because the first .mp4 literal won, hdthot (JW Player, og:video declared) yielded nothing, a direct mp4 URL was fetched as a page and failed. Declared metadata first, a named skip table from conf, one bounded same-site embed follow, media URLs played bare. Browsertrix scores Part because a real Chrome renders the real player; the extensions never resolve media at all rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIVE-DAEMON — fully adopted (top of its ladder).
dossier
Pros Implementing source symbol found; runtime acceptance separate; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus; fully adopted on the estate ladderCons behind Browsertrix (leads)
●○○○◉
Same-site embed follow to the real playerDARK — runtime/_hdl_build/nx_clean_serve_daemon.nx EXISTS but does not declare csd_embed_follow: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. OPEN -- rung CS10. hornyleak.tv: page -> same-site /embed/904/ -> hdplayer.gives dplayer embed; two bounded SSRF-guarded hops, the CS9 resolver on each, ad-widget iframes never followed. Browsertrix renders it because real Chrome walks the frames rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching csd_embed_follow
Pros none measured yetCons behind Browsertrix (leads); open contract; expected source declaration not established
○○○○◉
Autonomous site census and class rankingOpen — watching runtime/nx_cleanserve_census.nx : ccl_classify, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS11, the operator's standing direction: a corpus of every tried URL plus a daily beat that classifies each through the live /clean with ONE gate-tested ruler, appends a time spine and lands a log row on the plan so the next rung is chosen by count. No extension measures itself against a corpus; Browsertrix has crawl QA reports, hence its Yes rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching ccl_classify
Pros none measured yetCons behind Browsertrix; open contract; expected source declaration not established
○○○○●
Blocker-fingerprint neutrality - no anti-adblock wall tripsOpen — watching runtime/nx_cleanserve_neutrality.nx : csn_blocker_probe, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS8, the operator's 2026-09-02 requirement for the Nishi browser and OS: no attack vectors AND no uBlock-class detection thumbprint. Measured per site over a named anti-adblock corpus beside a stock browser running uBlock Origin; uBlock leads today with scriptlets and surrogates, and the zero-JS view's structural immunity must be PROVEN on real walls before the cell moves rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching csn_blocker_probe
Pros none measured yetCons behind uBlock-Origin (leads), Brave-Shields, AdBlock-Plus; open contract; expected source declaration not established
○◉●●○
Link-rot archive capture WARCOpen — watching runtime/nx_cleanserve_archive.nx : csa_warc_emit, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS5. A captured page replays with its text and images intact and the record DECLARES what it did not capture. Browsertrix-scale JS-render fidelity is explicitly NOT claimed; the done-rule is an honest fidelity statement plus a replay, never parity rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching csa_warc_emit
Pros none measured yetCons behind Browsertrix (leads); open contract; expected source declaration not established
○○○○◉
Rival-claim provenance. Every Yes, Best or Part mark in a rival column is a claim about someone else's product. A cited row carries a reference mark that resolves to a pinned mirror (the refs gate measures that); an uncited row is an observation read and is badged in its evidence until a reference lands. The badge is the receipt, never the proof: a mark proves a mirror exists, not that the mirror supports the code. The rows are counted below.
Rival claims, counted
ClassCountNote
rows with rival marks16rows carrying a Yes, Best or Part in a rival column
cited0a reference mark resolves to a pinned mirror
uncited16an observation read, badged until a reference lands
rows, summed16RECONCILED: the parts sum to the total 16

Delivery and evidence

Inspect risks, technical debt, rendered observations, experiments and references. Read scope and limitations alongside every result.

Risk register

RiskLikelihood x impactMitigation
Filter-list breadth becomes a maintenance treadmilllikely x moderateSubscribe to an existing corpus rather than authoring rules. The axis is breadth, and re-deriving EasyList by hand would be the duplicate-ruler defect at community scale.
Running page JS to resolve media re-introduces the very execution clean-serve exists to preventpossible x severeThe JS runs in the SOVEREIGN VM server-side, never in the user's browser, and the negative control in CS2 exists precisely to prove the static path is untouched.
Passing challenges reads as adversarial to the sites being servedpossible x moderateClean-serve's stance is neutral serve of difficult-but-legal sites, and it preserves the site's safe ads so the publisher still earns a real impression. That is the position to state plainly if it is ever challenged.
A rung ships and the matrix cell is flipped without the gatepossible x severeEach done-rule above is pre-declared in this file BEFORE the work, so a flip without its measurement is visible as a claim with no receipt.

Release history and work log

The worked plan, on the board. Every leg appends what it measured, landed, retracted, learned and left queued, per rung, so a crash leaves the next seat a ledger here rather than a transcript to mine. Kinds: measure, land, retract, lesson, queue. Newest last.
WhenRungKindEntry
2026-09-02CS6measureLIVE /clean on camwhores.tv/videos/1855636 returned 42,888 B with NO video element while the page itself (81,570 B) carries a plain video_url in flashvars. The cleaned body began at byte 41,335 of the page and the receipt said 4 scripts -- exactly the 4 script tags after that byte. Cause read from source: nx_https_fetch_follow_best returns the entity body, and the daemon then ran a second header strip (first blank CRLF line) on HTML. Instrument: byte offsets of the live response against the raw page.
2026-09-02CS6retractThe sota row Native HTML5 media delivery (graded Y, including KVS de-obfuscation) was TRUE ONLY FOR LF-FORMATTED PAGES: every CRLF page (KVS/kt_player tube sites, IIS, many CMSes) lost its head, player block and flashvars before extraction ran, so the grade rested on the six LF-only news sites it was measured on. Discriminating experiment: the cleaned body of a CRLF page starts at its first in-document blank line; an LF page starts at 0.
2026-09-02CS6lessonA CONSUMER THAT RE-STRIPS WHAT ITS PRODUCER ALREADY STRIPPED IS A DEFECT THAT HIDES ON EVERY INPUT THE PRODUCER HAPPENED TO NORMALISE. Two organs (the daemon and nx_cleanview) carried the same private blank-line scan; both now delegate to ONE ruler in the lib (cs_entity_body_off), which strips only when the buffer begins with an HTTP status line. And the fixture that proves it must spell CR LF as escapes: a literal CR in source was silently stripped by a text-mode copy on its first trip to the NAS. CHECK-BEFORE-BUILD, measured after the fact: of 32 consumers of nx_https_fetch_follow_best in the tree, exactly three re-strip, and the third (nx_fetch_any fa_body_off) ALREADY carried the correct status-line-guarded shape -- the clean-serve family held the unguarded twin of a ruler the estate had.
2026-09-02CS6measureREAL BROWSER (Waterfox 153 via Marionette, 2026-09-02): the operator's video 1855636 fails IDENTICALLY on camwhores.tv ITSELF (video.error=4 Failed to open media, networkState=3) and on the fixed clean view -- the site's redirector sends every request to CDN vhost camvideo32, which answers 403 (nginx), while the same file and the same token on vhost camvideo3 (same IP 176.98.190.24) answer 206; three other public videos on the site (12756124, 6461619, 6548478) redirect to healthy nodes and answer 206. Through the fixed clean view, 12756124 PLAYS in Waterfox: readyState 4, error null, 1920x1080, duration 786 s, currentTime advancing, 65 s buffered, receipt 15 scripts and 1 tracker neutralized. So the clean view is now at parity with the site on its own player URL; the cited video is refused by the site's CDN for everyone right now.
2026-09-02CS6queueNAS SHIP STATE at write time: lib ruler, gate teeth, daemon and nx_cleanview delegations are source-landed in buildroot (both trees identical for lib and gate); gate GREEN 37/37 locally and RED 34/37 against a planted revert of the ruler (restored byte-identical); daemon built locally (1,108,899 B) and proven end-to-end in a real browser. /api/build for nx_clean_serve_daemon and nx_clean_serve_gate was REFUSED by build admission (D-state storm, procs_blocked 9 of 8) and QUEUED (deployq rows BQ-nx_clean_serve_daemon, BQ-nx_clean_serve_gate); deploy_targets row cleanserve (gdeploy@cleanserve :8102) and daemons.reg revive (re-signed) are in place, pre-change binary banked as knowledge/status/nx_clean_serve_daemon.elf.bank-20260902-precrlf sha256 356c6df3. Next seat: when the BQ row reads fired-rc0, nx_contentdiff live vs stage, then /api/deploy target=cleanserve and re-run the live /clean check.
2026-09-02CS7queueWhether the get_file token is IP-bound is UNMEASURED: the page's v-acctoken decodes to 315 / 1222460 / 0 / hash and the CDN redirect acctoken carries a 2 h expiry, but the NAS and the operator's laptop share egress 75.28.18.94, so a laptop 206 proves nothing about a remote viewer. Recipe: fetch /clean from an off-LAN vantage and GET the served video src with Range; a 403 there is the CS7 trigger.
2026-09-02CS8queueOperator ask 2026-09-02: this lane is the test-bed for the Nishi browser and OS -- no attack vectors, and no uBlock-class detection thumbprint either. The zero-JS clean view cannot run a detector by construction, but the anti-adblock WALL markup can still be server-rendered; CS8 measures that on real walls and pairs it with CS1 breadth.
2026-09-02CS6landDEPLOYED 2026-09-02. /api/build BUILT 623,072 B sha256 34eb5538 from src 2f45a13a (a stale 532,574 B stage from another lane was banked as .prev, not overwritten). nx_contentdiff live vs stage read RED with 324 lost runs, ENUMERATED: 6 compiler pad runs (0x55 and 0x33 fill) plus 2 copies of one long Accept header that is absent from the current shared fetch-lib source (an estate-wide lib change predating this lane), and no clean-serve string lost. /api/deploy target=cleanserve was REFUSED by the pre-deploy gate (evidence-honesty BLOCK: five RED domains automation, swarm, videocodec, smallos, autodev, none of them cleanserve) and re-issued with confirm_gate_override=yes, recorded as AUDITED; deploy_status DEPLOYED-GREEN listen=VERIFIED. Live sha256 34eb5538 confirmed by nx_filehash. LIVE /clean now serves the native player with the site's own get_file URL for 1855636, 6461619 and 2108275 and /receipt reads 15 scripts and 1 tracker where it read 4 scripts and no video.
2026-09-02CS7measureREAL-BROWSER CENSUS over five camwhores.tv videos through the fixed daemon: extraction correct 5 of 5, server-side Range 206 5 of 5 (nodes camvideo3, ghjtuthynvideos, camvideo8, v1, video15), DIRECT cross-origin video-element playback 1 of 5. 12756124 on woopeedoopcmwhrs.xyz plays; the four on wpnrtnmrewunrtok.xyz fail with media error 4 while the SAME URL plays from the site's own page and curl gets 206 seconds later on the daemon-minted token. Ruled out by control: token expiry, codec (all avc1 and mp4a, moov at the tail), response headers (byte-identical dumps across both families), Safe Browsing, the tracking-protection classifier (no table match), HTTP/2 (fails with h2 disabled), certificate chain (both Let's Encrypt). The browser creates the redirect-target channel and never opens a connection; the exact Firefox rule is UNATTRIBUTED. The consequence stands regardless: a bare cross-origin video src is not a delivery path for that CDN family, a same-origin relay is. erome.tv and hornyfans.to (get_file served by the site host, no third-party CDN hop) play. 1855636 additionally depends on which node the site's redirector assigns: camvideo32 answers 403 for everyone and camvideo3 answers 206 for the same file and token, and the assignment changed within the hour, which is the dynamic behaviour the operator saw on reload.
2026-09-02CS7lessonA CROSS-ORIGIN VIDEO SRC IS A REQUEST THE BROWSER MAKES ON THE VIEWER'S BEHALF UNDER RULES WE DO NOT CONTROL; ONLY A SAME-ORIGIN RELAY MAKES DELIVERY A PROPERTY OF OUR CODE. Second lesson, from hornyleak: THE FIRST .MP4 IN A PAGE IS THE FIRST .MP4 IN A PAGE, NOT THE VIDEO -- a page full of hover previews wins that race every time.
2026-09-02CS7queueThe relay is now REQUIRED, not a nice-to-have: 4 of 5 KVS videos on the dominant CDN family cannot be played by a bare video element from our origin. Build: /clean/media?u=<upstream>&p=<page>, SSRF-guarded, sovereign TLS fetch with the client's Range passed through and the page origin as Referer, the redirect followed server-side, one retry on a 403 node (fresh redirect), streamed to the client with Content-Range and Accept-Ranges; the clean page's video src becomes same-origin. Needs a streaming primitive: nx_https_fetch_follow is buffered at 8 MiB, so either a windowed Range loop over it or a record-streaming variant of ff_core.
2026-09-02CS6lessonBING, MEASURED on the operator's URL and a Vimeo control through Waterfox: the detail view is Bing's own smtplayer element plus a per-result vrhm record (murl media URL, purl and pgurl page URL, thid OVP thumbnail id, mmsturl a 1.1 MB video/mp4 preview clip Bing RE-HOSTS on th.bing.com with CORS star and a 30-day cache, du duration, md5). For an embeddable provider the detail is the PROVIDER's iframe (player.vimeo.com/video/<id> with autoplay); for a site with no embed contract (camwhores /embed/<id> answers 404 for every video) Bing shows Sorry, this video is no longer available and never plays it. What to bring into the Nishi browser and OS: index-time preview clips and posters re-hosted on our own store (first-party, no hotlink), a declared-embed registry (VideoObject, og:video, provider embed templates), and for full playback the relay, which is the one thing Bing does NOT do for these sites.
2026-09-02CS9landSHIPPED 2026-09-02 (build+deploy in flight on the NAS at write time; proven locally): cs_media_skip, cs_find_declared, cs_media_ext and cs_quoted_after in the lib, csd_media_rank and the bare direct-media player in the daemon, ad VIDEO elements stripped and counted (receipt field ad_videos, additive). Gate 52 of 52 locally. Measured through the fixed daemon: cdn.semyana.website direct mp4 now plays bare (was Fetch failed); hornyleak.tv no longer shows the 728x90 autoplay advertisement (ad_videos 1, no wrong player; the real player is a two-hop embed, rung CS10); hdthot.com stays honestly playerless (og:video names the page itself, rejected); camwhores, erome and hornyfans unchanged.
2026-09-02CS11measureprostoporno.place/videos/375669: KVS LF page, player extracted (get_file 375669_h.mp4 plus an alt URL), get_file redirects to node 2.prostoporno.place which answered NOTHING to a Range probe from our egress (curl exit, no status) -- class STREAM-UNREACHABLE from this vantage; browser playback UNMEASURED.
2026-09-02CS11queueOPERATOR STANDING DIRECTION 2026-09-02: clean-serve must grow autonomously and constantly improve, delivering more and more sites without the garbage. Landed today as data: the corpus knowledge/cleanserve_sites.conf (11 rows with measured classes) and rung CS11 (census beat, one classifier ruler, time spine, class ranking feeding this plan). Owed: the census organ and its lib+gate, the clock row, and the relay (CS7) which converts every CROSS-ORIGIN-FAIL row (4 of the 11) into PLAYS by construction.
2026-09-02CS9landLIVE 2026-09-02: /api/build BUILT 632,400 B sha256 0a18a51a (src 989d68bf); nx_contentdiff against my own CS6 build lost exactly ONE run, the banner literal deliberately split to insert the ad-video count; /api/deploy target=cleanserve with confirm_gate_override=yes (AUDITED, the same five unrelated RED domains), deploy_status DEPLOYED-GREEN listen=VERIFIED, live hash confirmed. LIVE measured: hornyleak.tv no ad video and no wrong player (receipt ad_videos 1), cdn.semyana.website direct mp4 served bare, noodlemagazine and prostoporno players extracted, camwhores unchanged. The gate nx_clean_serve_gate (52 of 52 locally, BUILT 61,728 B on the NAS) is REFUSED promotion under D001 because it rolls its own verdict, so no /api/gate_run receipt and no cleanserve.gates row exists for it: the gv_check migration is owed before it can be counted as executed evidence.
2026-09-02CS11measureThree more corpus rows classified 2026-09-02. pornslash.com/watch/ykm1X54J6g0: WRONG-VIDEO -- 50 related-video mp4 literals on pages.dev, none for this id, the page's own player is an hls.js embed whose stream is built by JS (embed HTML carries no literal), so first-literal-wins served a RELATED video. noodlemagazine.com/watch/-88674838_456240139: DECOY-404 -- the literal carrying the page id (noodlemagazine.com/videofile/<id>.mp4) answers 404 while the real player is an nmcorp.video og:video and JS-built pvvstream.pro streams. prostoporno.place/videos/375669: STREAM-TLS-FAIL -- KVS extraction correct, the redirect node 2.prostoporno.place fails the TLS handshake from Windows schannel; browser playback UNMEASURED. The embed pages behind hornyleak (hdplayer.gives, jwplayer+dplayer) and pornslash (hls.js) carry NO literal media, so rung CS10 alone cannot serve them: they are rung CS2 (JS-VM) cases and the embed follow is the delivery vehicle for CS2's result.
2026-09-02CS9queuedCS9c page-identity ranking: a literal stream candidate that carries the page's own id token (cs_page_token: the last non-empty path segment, KVS ids and VK-style ids reappear verbatim in the stream URL) wins; with no token match and CS_LISTING_MIN or more distinct candidates the page is a grid and NO player is emitted rather than a related video. Gate teeth for the token ruler incl. three neg-controls (bare host, dotted file segment, too-short segment). Written and being proven locally at write time.
On these two registers. Rows are declared in the domain's plan file and carry the debt id, which is the join key back to the sovereign debt plane — that plane, not this page, is the authority on state. Reconciling them automatically (the regen reading the plane and refreshing these rows) is a named, owed rung; until it lands, treat an id here as a pointer to look up, not a status to trust.

SOTA field — 8 peers, 39 axes, measured bindings

Nishi clean-serve (server-side attack neutralization + safe-ad preservation + native media + machine receipt) vs the ad-block / shield / reader / archive field

How the field is scored. A state-of-the-art comparison across the FULL competitor field: quantitative axes carry measured or published numbers (Nishi’s column is measured on this estate, competitor columns are researcher-sourced and cited in the note); grade axes carry Best / Yes / Part / No for every peer. A Nishi grade may be bound to an organ and a symbol and is then re-measured on every publish by the one symbol ruler the capability matrix above uses; an over-claim refuses to publish.
field, strip order:uBlock-OriginBrave-ShieldsPrivacy-BadgerAdBlock-PlusNoScriptReader-ViewWeb-LightBrowsertrix·BestYesPartNo
Measured bindings. 1 of the Nishi grades on this page are bound to an organ and a symbol and re-measured on every publish by the one symbol ruler; the drift classes are counted below and their sum is re-derived beside the bound total.
Measured bindings, counted
ClassCountNote
consistent0the grade and the symbol agree
stale-under0the grade says No while the organ carries the symbol; published with the badge, named by the gate until raised
unbacked0a claim over an absent symbol refuses to publish
unresolved0
unreadable0
unserved1the organ carries the symbol in source while its binary is not on the serving surface: built nowhere, invisible to symbol presence; published with the badge, never refused
partition sum1RECONCILED: the parts sum to the total 1

User safety - attack neutralization

Server-side neutralization - page JS never runs in your browser

the keystone - active content stripped on the server so the hostile page never executes in the user context; every browser extension is client-side and only blocks network requests. EVIDENCE (nx_html_sanitize_test, 20/20 KATs, GREEN 2026-08-14 on CURRENT source): byte-exact known-answer tests over real stored-XSS vectors -- script tags, event handlers, javascript: and the java-script: space evasion, case games, unterminated tags, style bodies, a quote-embedded gt, and form theft. HONEST NOTE: this gate was promoted, registered and authorised yet its LIVE BINARY WAS 7.7 DAYS OLDER THAN ITS SOURCE, because the D001 promote door refuses a gate that rolls its own verdict, so it could not be re-promoted while gate_run kept returning green from the fossil. Migrated and re-promoted before this number was quoted

BEST
Strip all inline scripts

cs_clean_page removes every script block; NoScript blocks all JS execution [noscript]; uBlock blocks by list not wholesale

YES
Remove active third-party iframes

iframe embed and object stripped; most blockers gate by list

YES
Neutralize meta-refresh and javascript-URI redirects

malvertising auto-redirect vectors removed; network blockers rarely touch inline redirect

YES
Strip inline event handlers on-star=

onclick onload onerror exec vectors removed at the source [owasp-xss]; network blockers do not rewrite inline HTML

YES
Reverse-tabnabbing protection rel-noopener

rel noopener noreferrer nofollow injected on every anchor; modern browsers default some of this

YES
Tracker and beacon blocking

honest gap - nx_web_filter is a seed table not EasyPrivacy scale; uBlock and Privacy Badger lead [privacy-badger]

PART
Cryptominer blocking

miner request URLs neutralized; uBlock and Brave block by list

YES
Popunder and popup suppression

popunder vectors removed

YES
SSRF guard on the fetch proxy

clean-serve is a public fetch proxy that refuses private loopback and internal targets by construction; extensions are not proxies

YES
Fingerprint resistance depth

honest gap - zero-JS view removes JS fingerprinting but no canvas font or WebGL spoofing; Brave randomizes fingerprints [brave-shields]

NO
Filter-list breadth EasyList-scale

honest gap - seed table only; uBlock EasyList EasyPrivacy and AdBlock are the mature bar [ublock-origin]

NO
Real-time filter-list auto-update

honest gap - static seed table with no subscription auto-refresh

NO
Anti-adblock scriptlet and surrogate defense

honest gap - uBlock injects scriptlets and surrogates to defeat anti-adblock; clean-serve does not

NO
Rich cosmetic element hiding

partial - only a minimal age-gate and consent-overlay CSS neutralizer today; uBlock cosmetic filtering is rich

PART
DNS or network-wide blocking

honest gap - clean-serve is per-fetch server-side, not a DNS sinkhole or network filter

NO

Site monetization - the win-win-win

Preserve the site safe ads - SANITIZE not block

UNIQUE - an ad kept as an inert static creative so the site earns a real impression; all others block ads or Brave substitutes its own and AdBlock Acceptable-Ads is pay-to-whitelist not per-ad. EVIDENCE (nx_html_sanitize_test, GREEN 2026-08-14): sanitize-not-block is PROVEN by the positive KATs, which are the load-bearing half of that suite -- an https href, a relative href, a list and an uppercase anchor must all SURVIVE byte-identical. A sanitizer that returned the empty string would pass every XSS test and fail these four, which is precisely the difference between neutralising a page and destroying it

BEST
Advertiser-honest real impression

the preserved ad is a genuine paid impression not a faked or surrogate success

YES
No pay-to-whitelist scheme

per-ad sanitize needs no payment; AdBlock Plus Acceptable-Ads charges large advertisers [adblock-plus]

YES

Transparency

Machine-readable safety receipt

UNIQUE - cs_receipt_json emits a per-page JSON receipt of attacks neutralized and ads preserved; no incumbent emits an auditable receipt. EVIDENCE (MEASURED 2026-08-14): the serving organ nx_cleanview is real and shipped -- promoted at 1,194,921 B, registered on the MCP surface with a cap minted -- and the neutralisation it reports on is itself gate-backed at 20/20 by nx_html_sanitize_test. A receipt is only worth auditing if the thing it attests is independently checkable, and here it is

BEST
Per-page attack audit

counts every neutralized vector per page; the uBlock logger is the closest

YES

Delivery

Native HTML5 media delivery

extracts the stream including KVS de-obfuscation into a bare video element; reader modes sometimes keep media. CORRECTED 2026-09-02 (rung CS6): this grade was true only for LF-formatted pages until then -- a CRLF page lost its player block to a second header strip before extraction ran (camwhores.tv served no video element); fixed at one ruler, cs_entity_body_off, gate-proven, and this cell is now BOUND to the extractor so a future drift refuses to publish instead of rotting

bound to runtime/_hdl_build/nx_kvs.nx:kvs_extract · measured PRESENT (decl) · UNSERVED — the hand grade claims the capability and the organ carries the symbol in SOURCE, but its binary is not on the serving surface: built nowhere -- this cell over-reports what RUNS and stays flagged until the organ is promoted

YES
Zero-JS deterministic clean view

the delivered page is static zero-JS; reader modes and the defunct Web Light are the closest

YES
Content preserved - article intact

text images and DOM pass through byte-for-byte; reader modes over-strip

YES

Neutrality and policy

Difficult-but-legal site served not deranked

neutral serve of a hostile-but-legal site instead of a search-engine derank or a browser block page - a policy stance no blocker takes. EVIDENCE (nx_html_sanitize_test, GREEN 2026-08-14): the stance is enforced by the mechanism rather than promised in prose -- the sanitizer has no block path at all, so the only outcomes it can produce are a neutralised page or an unchanged one. The preserve-safe-markup KATs prove the second outcome is reachable, which is what makes serve-not-deranked a property of the code instead of a policy someone has to keep honouring

BEST

Fetch and access - what to improve

Session and cookie-jar fetch

ff_core cookie jar carries session and consent cookies across redirects; Browsertrix headless Chrome has full cookies

YES
Pass Cloudflare JS challenge

honest gap and research opp - CF managed-challenge JS proof-of-work not passed; Browsertrix real headless Chrome passes [browsertrix]; own arc

NO
Run framework JS to resolve player media

honest partial - minified jQuery 3.7.1 LOADS in the sovereign JS VM but vsf_sniff_url_net is not yet wired into clean-serve (F108d); Browsertrix runs real Chrome

PART
Geo and split-tunnel unblocking

design principle - slow-exit control-plane and direct data-plane - not yet shipped

PART

Archive and durability

Link-rot archive capture WARC

nx_web_archive present but not Browsertrix or Wayback scale or JS-render fidelity (honest gap) [warc-1-1]

PART

Sovereignty

Zero third-party dependency

own language compiler TLS 1.3 fetch filter and renderer; every competitor is a browser extension or Chromium. EVIDENCE (MEASURED 2026-08-13): a return-42 static ELF out of this toolchain is 188 bytes with --no-crash-guard and 5,105 bytes with the default crash guard -- a binary that size cannot contain a libc, let alone a browser engine. nx_cleanview ships as ONE promoted 1,194,921 B sovereign binary carrying the whole fetch, filter and render path; a Chromium-based competitor cannot state a comparable number

BEST
Own sovereign TLS 1.3 fetch stack

nx_https_fetch_follow plus own x509 chacha and aes; competitors ride the OS or browser TLS

YES
User config UI - element picker and per-site rules

honest gap - no element picker or per-site settings UI; the uBlock advanced UI is the bar

NO
Community filter-list subscriptions

honest gap - no filter-list subscription ecosystem

NO
Browser or mobile client

honest gap - server-side only, no extension or mobile app

NO

Scale and delivery - quantitative

Scripts neutralized per page measured live

receipts this session example 0 HN 1 guardian 19 arstechnica 25 techcrunch 43 nytimes 46

uBlock-Origin by-listBrave-Shields by-listPrivacy-Badger n/aAdBlock-Plus by-listNoScript all-blockedReader-View all-strippedWeb-Light server-transcodeBrowsertrix captured

1 to 46 measured
Nishi, measured
Safe ads preserved per page

clean-serve is the only column not zero by design

uBlock-Origin 0 all-blockedBrave-Shields 0 own-adsPrivacy-Badger 0 all-blockedAdBlock-Plus whitelist-onlyNoScript 0 all-blockedReader-View 0Web-Light 0Browsertrix 0

0 to 2 measured
Nishi, measured
Filter rules maintained

honest gap - rule breadth is the maturity axis to close [easylist]

uBlock-Origin 300k+ EasyListBrave-Shields EasyList+Privacy-Badger heuristic no-listAdBlock-Plus EasyList+NoScript user rulesReader-View n/aWeb-Light n/aBrowsertrix n/a

seed table
Nishi, measured
Third-party runtime dependencies

sovereign stack with zero third-party

uBlock-Origin browser+extBrave-Shields ChromiumPrivacy-Badger browser+extAdBlock-Plus browser+extNoScript browser+extReader-View browserWeb-Light Google infraBrowsertrix Python+Chrome

0
Nishi, measured
8 competitors39 axes4 quantitativeNishi best 5 · absent 9bound 1 · stale-under 0 · unbacked 0 · unserved 1
Honest verdict. Clean-serve is narrow-but-deep: on a handful of STRUCTURAL axes it is alone in the field, and on breadth and ecosystem it is young and trails the mature blockers. Alone: it runs the hostile page's active content server-side, so the page's JavaScript never executes in the user's browser at all -- every extension here is client-side, meaning the malicious JS still runs in your tab and they only block network requests; it is the only tool that preserves the site's safe ads as inert static creatives (a SANITIZE verdict) so a difficult-but-legal site still earns while the user stays safe, where everyone else blocks all ads or substitutes their own; it emits a machine-readable safety receipt per page that no incumbent produces; it serves difficult-but-legal sites neutrally instead of deranking or blocking them; and it runs on a zero-third-party sovereign stack (own TLS 1.3, fetch, filter, renderer). It trails, honestly, on what a decade-old blocker has: no EasyList-scale filter lists, no element-picker or per-site config UI, no browser or mobile client, no community filter subscriptions, no anti-adblock scriptlets, no deep fingerprint spoofing, no DNS-level blocking, and it does not yet pass Cloudflare JS challenges or run framework JS to resolve player media inside clean-serve (9 honest No axes vs 5 Best -- the anti-vanity gate). Those gaps are the ranked research backlog: filter-list breadth, JS-exec-in-clean-serve (F108d), Cloudflare-challenge, fingerprint depth, archive scale. Measured live this session: 5 news/tech sites cleaned safe, 1 to 46 scripts and 0 to 4 trackers neutralized each.
Honest verdict. The coverage above records source-symbol presence. Stronger comparisons are authored claims, not measured runtime superiority or accepted outcomes. A watch contract names an expected source symbol; finding it changes source discovery only. Qualification, deployment and runtime acceptance require their own evidence.

Person · product · place — not yet measured for this domain

Every compare carries this layer. Declare knowledge/compare/cleanserve.ppp (rows surface|nishi or c1..c4|label|url|connect naming OUR live surface and each rival's front door), run nx_ppp_probe domain cleanserve, and this section fills itself on the next beat: the same ruler on both sides — privacy and CX (third-party hosts, tracker classes, cookies, security headers), design and longevity (design hygiene, computed WCAG contrast, render-blocking resources, unsized media, script weight, theme and motion queries), findability (landmarks, skip link, on-site search, breadcrumb, headings, internal links).

The field — discovered, not chosen

Rows written by nx_field_discover from cleanserve.seeds: the industry's own lists (Wikipedia wikitext, GitHub topics, awesome lists) read mechanically, every candidate counted across seeds. The matrix columns above are a SEAT'S pick; this band is the population they were picked from, and the stats line measures one against the other. A rival here is a lead, never a verdict — it earns a column when its capabilities are read and pinned.

Discovery receipt. One row per counter the run wrote, in the receipt's own order; the rival rows follow in their own table.
Field discovery, counted
ClassCountNote
seeds4
scanned4
fetched4
reused0
failed0
named4
candidates4
mentions4
capped0
RankRivalSeedsMentionsFirst seedKindLink
1uBlock-Origin11col0-ublocknamedhttps://github.com/gorhill/uBlock
2Brave-Shields11col1-bravenamedhttps://brave.com/shields/
3AdBlock-Plus11col2-adblocknamedhttps://adblockplus.org/en/acceptable-ads
4Browsertrix11col3-browsertrixnamedhttps://github.com/webrecorder/browsertrix-crawler

field candidates 4|shown 4 of 4|matrix columns in the field 4 of 4|discovered rivals with no column 0|malformed rows 0 (counted, never rendered)|read-capped 0

Exclusive and shared capabilities

One capability is graded on one board; every other board references it. The fleet duplicate census (nx_rivalcensus dupes, on the fleetdupes clock row) reads every board's matrix and names each capability graded as a row on two or more boards, with a home derived from evidence: rung when exactly one board's plan contracts the symbol (that board is starred), gates when no plan contracts it and exactly one board's executed gate map runs the organ's gate (that board is plussed), ambiguous when several boards carry the deciding evidence (a decision for their seats), and none when no evidence decides it, with the reason beside it: unmapped (no board of the duplicate declares a gates map; declare the maps) or unproven (a map exists and runs none of the organ's gates; gate the organ on its proving board, or declare it a shared library by policy). A home elsewhere means this board should carry an @xrow reference to the home board's row rather than a graded row of its own; a home here means the other boards should. The table is this board's slice of one estate-wide census: the shape is shared, the rows are the board's.

This board grades 18 capabilities: 16 exclusive to it and 2 shared with other boards. Shared rows on this page: 2 = home here 2 + home elsewhere 0 + ambiguous 0 + undecided 0 + refused 0 (partition 2); undecided = unmapped 0 + unproven 0 + unevidenced 0; homonyms 0; since the previous census: new 0, resolved 0. Census FRESH age_s=6210.

CapabilityOrganBoards grading itHomeRuleEvidenceStanding on this board
cs_clean_pagenx_clean_serve.nxperformersearch, cleanserve+cleanservegatesgateshome here
csd_media_ranknx_clean_serve_daemon.nxperformersearch, cleanserve*+cleanserverungplanhome here

Gaps from the record — what the estate does that no board carries

The record census (nx_goalmap record) reads the invoked-tool population and every plan queue row and files each organ or directive that NO matrix, plan or gates row names. A row here is a callout the boards missed: adjudicate it onto a board or declare it infrastructure. Census state STALE (age 1395315 s), sources read 4 of 7 declared — a BLIND census is a FLOOR: unread sources can only add rows.

kindnameboardsourceevidence

rows shown 0|this board's directives 0|estate-wide un-boarded organs 452 (listed in full on /compare/ecosystem)|census rows 639|malformed 0 (counted, never rendered)

References

Beyond a link list. Every reference below resolves twice — the publisher's copy and, where banked, the estate's own non-rottable library mirror with a content pin — and carries its evidence class plus the exact claim on this page it grounds. Keyed marks like [key] in the matrix notes jump here. A dash means honestly absent, never assumed.
  1. [ublock-origin] Hill, R. (gorhill) and contributors. uBlock Origin -- an efficient wide-spectrum content blocker: EasyList/EasyPrivacy filter lists, cosmetic filtering, scriptlet injection, element picker, logger (repository README). Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_cleanserve_ublock-origin.html · pin h4724feac2c4a0de664fdbe146007bf087a8c70a804ce6ca743e336d489ceaf56 · accessed 2026-08-18 · vendor-docGrounds: The uBlock-Origin column: Tracker and beacon blocking, Filter-list breadth EasyList-scale, Real-time filter-list auto-update, Anti-adblock scriptlet and surrogate defense, Rich cosmetic element hiding and User config UI - element picker and per-site rules are all coded Best for uBlock and are the honest-gap rows for Nishi; Per-page attack audit names the uBlock logger as the closest incumbent.
  2. [brave-shields] Brave Software. Brave Shields -- built-in ad and tracker blocking, fingerprint randomization (farbling), HTTPS upgrades in the Brave browser. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_cleanserve_brave-shields.html · pin h6fe3d662398ee2bc83b6a07436525052e44883fd60c64eca5761b0da2b9080ad · accessed 2026-08-18 · vendor-docGrounds: The Brave-Shields column: Fingerprint resistance depth is coded Best for Brave (it randomizes fingerprints) and No for Nishi's zero-JS view; also DNS or network-wide blocking and Browser or mobile client where Brave is coded Yes/Best and clean-serve is server-side only.
  3. [privacy-badger] Electronic Frontier Foundation. Privacy Badger -- a browser extension that learns to block invisible trackers heuristically rather than from a filter list. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_cleanserve_privacy-badger.html · pin h2babeb8c86946659ad6702bb513eaa230317c77f3bc00146f3d4f8917064398c · accessed 2026-08-18 · vendor-docGrounds: The Privacy-Badger column: Tracker and beacon blocking is coded Best (heuristic tracker detection) and Filter rules maintained reads heuristic no-list -- the learning-based alternative to EasyPrivacy that Nishi's seed table nx_web_filter is honestly behind.
  4. [adblock-plus] eyeo GmbH. Adblock Plus -- Acceptable Ads: the whitelisting programme under which non-intrusive ads are shown by default and large advertisers pay for participation. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_cleanserve_adblock-plus.html · pin h515b880fce4e5d75f382d07b12c9ff648decfd450025346f32e6568e17469b9b · accessed 2026-08-18 · vendor-docGrounds: The AdBlock-Plus column: No pay-to-whitelist scheme is coded No for AdBlock Plus alone (the note says Acceptable-Ads charges large advertisers) and Preserve the site safe ads - SANITIZE not block contrasts per-ad sanitize with pay-to-whitelist -- this page is eyeo's own description of the programme.
  5. [noscript] Maone, G. NoScript Security Suite -- preemptively blocks scripts and active content, allowing JavaScript only from trusted sites; XSS and clickjacking protection. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_cleanserve_noscript.html · pin haeb18c0a58188bda41cb9d9d12e26834eb60a7eb67fc0965464218e8c93d4808 · accessed 2026-08-18 · vendor-docGrounds: The NoScript column: Strip all inline scripts is coded Best for NoScript (blocks all JS execution) against Nishi's Yes (cs_clean_page removes every script block server-side), and Neutralize meta-refresh and javascript-URI redirects coded Yes -- the client-side script gate the server-side keystone row is contrasted with.
  6. [browsertrix] Webrecorder. Browsertrix Crawler -- a high-fidelity browser-based crawler that captures WARC/WACZ archives with a real headless Chrome, including pages behind JS challenges (repository README). Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_cleanserve_browsertrix.html · pin h8bde618c30412ec0a31fd9c9725d288323c26f3007a0d80541efd976db924f21 · accessed 2026-08-18 · vendor-docGrounds: The Browsertrix column: Pass Cloudflare JS challenge, Run framework JS to resolve player media and Link-rot archive capture WARC are coded Best for Browsertrix (real headless Chrome) and are the honest gaps and research opps (F108d) for clean-serve; Third-party runtime dependencies reads Python+Chrome for it against Nishi's 0.
  7. [easylist] EasyList authors. EasyList -- the primary filter list that removes most adverts, with EasyPrivacy for tracking; the subscription lists uBlock Origin, Adblock Plus and Brave consume. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_cleanserve_easylist.html · pin h8bba49d60800ca0c7f5aaecb46aad441ffd524d7745c712db095d0d04ebcaefe · accessed 2026-08-18 · mirrored-indexGrounds: Filter-list breadth EasyList-scale, Community filter-list subscriptions and Filter rules maintained (300k+ EasyList vs Nishi's seed table) -- the maturity axis the sota names as the one to close; this is the list's own overview page.
  8. [warc-1-1] International Internet Preservation Consortium (IIPC). The WARC Format 1.1 -- the Web ARChive file format (ISO 28500:2017) specification, published on iipc.github.io. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_cleanserve_warc-1-1.html · pin h0c0bd8cc4b351eddd2b04aade67b2ddf9737961e087371998e01ab8deacde39d · accessed 2026-08-18 · published-standardGrounds: Link-rot archive capture WARC -- the archive format the row is named for: Browsertrix and Wayback write WARC 1.1 records, and nx_web_archive is graded partial against Browsertrix or Wayback scale and JS-render fidelity in that same format.
  9. [owasp-xss] OWASP Foundation. Cross Site Scripting Prevention Cheat Sheet (OWASP Cheat Sheet Series) -- output encoding, HTML sanitization, javascript: URL and event-handler vectors. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_cleanserve_owasp-xss.html · pin h209670f837dd49a8e2bdf540490014da6321f09cbc1d9f7a9d51496e1d09c99c · accessed 2026-08-18 · published-standardGrounds: Server-side neutralization - page JS never runs in your browser, Strip inline event handlers on-star= and Neutralize meta-refresh and javascript-URI redirects -- the vector classes the nx_html_sanitize_test 20/20 KATs cover (script tags, event handlers, javascript: and the java-script: space evasion, case games, unterminated tags) are the ones this cheat sheet enumerates as the XSS surface a sanitizer must close.

generated by nx_swcompare_matrix (sovereign NishiLang organ) from knowledge/compare/cleanserve.matrix · source checks show implementation presence; runtime and user-outcome evidence are reported separately · JavaScript supports page controls