From c035749dbbe2d10ddfb8a84bc116ce11b88832f3 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 26 Aug 2026 23:26:52 +0000 Subject: [PATCH 01/12] Record Cycle 8 mix publishability gates and fail-close product promotion. Five gates after the merged mix freeze: reproducibility and visibility pass; Latin-1/literal-search, Mn/default-ignorable sanitizers, and single-detector confirmation fail. Mix stays out of the public CLI. Do not retag v0.3.0. Co-authored-by: Byte271 --- CHANGELOG.md | 1 + README.md | 4 +- docs/cycle8/README.md | 4 +- docs/cycle8/carrier-research.md | 2 +- docs/cycle8/letter-mix-margin.md | 2 +- docs/cycle8/mix-freeze.md | 2 + docs/cycle8/mix-publishability.md | 48 ++ docs/product-contract.md | 10 + fuckmark/cycle8/publishability.py | 476 ++++++++++++++++++ ...fuckmark-cycle8-mix-publishability-v1.json | 1 + tests/test_cycle8_mix_publishability.py | 90 ++++ 11 files changed, 634 insertions(+), 6 deletions(-) create mode 100644 docs/cycle8/mix-publishability.md create mode 100644 fuckmark/cycle8/publishability.py create mode 100644 specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json create mode 100644 tests/test_cycle8_mix_publishability.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 1042352c..d16199c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,7 @@ - Cycle 8 letter-mix scale reserved seeds `1040000` and `1050000` before generation. Combined with `1020000`+`1030000`, mix is **0/256** raw transformed WM, mix UW **0/256**, worst mix score 0.519522 (gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. This 0/256 is development scale, not confirmation. - Froze development mechanism `u034f-ufe00-letter-alt-v1` as `cycle8-mix-freeze-v1`. Public CLI remains empty. - Cycle 8 mix freeze one-shot confirmation on preregistered seeds `830000` / `840000` / `850000`: mix **0/192** raw transformed WM, mix UW **0/192**, visible **192/192**, frozen sanitizers matching raw zeros, worst mix score 0.524300 versus threshold 0.557099 (gap 0.032798). Those seeds are spent. Do not rerun looking for zero. Mix is not product-authorized. Do not generate `950000`. +- Recorded `cycle8-mix-publishability-v1` after merging that freeze onto `main`. Five product gates: reproducibility PASS, visibility invariance PASS, software compatibility FAIL (Latin-1 and literal search), sanitizer weaknesses FAIL (Mn-strip and default-ignorable-strip), cross-detector generalization FAIL (one open SynthID Weighted Mean detector). Mix is not product-publishable. Tag `v0.3.0` is not retagged. ## v0.2.0 — Exact-survival confirmation and release hardening diff --git a/README.md b/README.md index cbce9e47..7db2a11c 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ A later system benchmark reserved seeds `980000` and `990000` before generation Letter-space margin seeds `1000000` and `1010000` were reserved before generation. Combined fresh letter-space is **1/128**; do not rewrite that as zero. -Letter-mix margin seeds `1020000` and `1030000` were reserved before generation. Detector-blind U+034F/U+FE00 letter-alt is fresh **0/128** raw transformed WM (max 0.513691, gap 0.043407) with mix UW **0/128**. Independent scale seeds `1040000` and `1050000` were reserved before generation; combined mix is **0/256** (worst max 0.519522, gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. Letter-x1 on those same corpora is also 0/256 (worst max 0.543903). Chromium mix fixtures were pixel-equal on the measured surfaces. The mix mechanism is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** raw transformed WM, mix UW **0/192**, visible **192/192**, worst max 0.524300 (gap 0.032798). Those seeds are spent. It is still not product-authorized. Seed `880000` is publicly exposed by closed unmerged PR #98 and is not eligible as unseen validation. See [`docs/cycle8/mix-freeze.md`](docs/cycle8/mix-freeze.md), [`docs/cycle8/letter-mix-margin.md`](docs/cycle8/letter-mix-margin.md), [`docs/cycle8/letter-system-benchmark.md`](docs/cycle8/letter-system-benchmark.md), and [`docs/seeds.md`](docs/seeds.md). +Letter-mix margin seeds `1020000` and `1030000` were reserved before generation. Detector-blind U+034F/U+FE00 letter-alt is fresh **0/128** raw transformed WM (max 0.513691, gap 0.043407) with mix UW **0/128**. Independent scale seeds `1040000` and `1050000` were reserved before generation; combined mix is **0/256** (worst max 0.519522, gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. Letter-x1 on those same corpora is also 0/256 (worst max 0.543903). Chromium mix fixtures were pixel-equal on the measured surfaces. The mix mechanism is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** raw transformed WM, mix UW **0/192**, visible **192/192**, worst max 0.524300 (gap 0.032798). Those seeds are spent. Five publishability gates fail-close product promotion (software compatibility, Mn/default-ignorable sanitizers, and single-detector confirmation). It is still not product-authorized. Seed `880000` is publicly exposed by closed unmerged PR #98 and is not eligible as unseen validation. See [`docs/cycle8/mix-publishability.md`](docs/cycle8/mix-publishability.md), [`docs/cycle8/mix-freeze.md`](docs/cycle8/mix-freeze.md), [`docs/cycle8/letter-mix-margin.md`](docs/cycle8/letter-mix-margin.md), [`docs/cycle8/letter-system-benchmark.md`](docs/cycle8/letter-system-benchmark.md), and [`docs/seeds.md`](docs/seeds.md). See [`docs/product-contract.md`](docs/product-contract.md) and `specs/fuckmark-user-visible-invariance-v1.contract.json`. @@ -144,7 +144,7 @@ Cycle 7 Stage A/B/C researched collapse-resistant *visible* edits (contractions, ## Cycle 8 status -Cycle 8 is the exact-visible-projection generation. See [`docs/cycle8/README.md`](docs/cycle8/README.md). U+200C remains a diagnostic baseline (stripped by Cf). Combining grapheme joiner U+034F letter-x1 remains a strong visible-invariant development arm (`HYPOTHESIS`): fresh reserved-before-generation **0/128** on seeds `980000`+`990000` with a thin 0.003 gap, plus a separate experimental **0/192** (128 seen + 64 independent). The later U+034F/U+FE00 letter-mix arm is currently stronger on fresh independent corpora: **0/128** on seeds `1020000`+`1030000` with worst score 0.513691 (gap 0.043407), plus independent scale **0/256** including `1040000`+`1050000` with worst score 0.519522 (gap 0.037577). Mix is frozen as `cycle8-mix-freeze-v1` and is not a release mechanism. One-shot confirmation is **0/192**. Public CLI remains empty. +Cycle 8 is the exact-visible-projection generation. See [`docs/cycle8/README.md`](docs/cycle8/README.md). U+200C remains a diagnostic baseline (stripped by Cf). Combining grapheme joiner U+034F letter-x1 remains a strong visible-invariant development arm (`HYPOTHESIS`): fresh reserved-before-generation **0/128** on seeds `980000`+`990000` with a thin 0.003 gap, plus a separate experimental **0/192** (128 seen + 64 independent). The later U+034F/U+FE00 letter-mix arm is currently stronger on fresh independent corpora: **0/128** on seeds `1020000`+`1030000` with worst score 0.513691 (gap 0.043407), plus independent scale **0/256** including `1040000`+`1050000` with worst score 0.519522 (gap 0.037577). Mix is frozen as `cycle8-mix-freeze-v1` and is not a release mechanism. One-shot confirmation is **0/192**. Five publishability gates fail-close product promotion. Public CLI remains empty. ## Reproduce the research environment diff --git a/docs/cycle8/README.md b/docs/cycle8/README.md index da86b286..a31fcb16 100644 --- a/docs/cycle8/README.md +++ b/docs/cycle8/README.md @@ -17,11 +17,11 @@ Cycle 8 is a new scientific generation. The mechanism class is hidden Unicode re ## Seed ledger -See `docs/cycle8/seed-ledger.md` and `docs/seeds.md`. Seeds `890000`, `900000`, and `910000` are spent tiny Cycle 8 evidence. Scale seeds `930000` / `940000` / `950000` were reserved before scale generation. Density seed `960000` was reserved before density generation and scored n=16: both space x1 and space-wordfinal are 1/16. Letter seed `970000` was reserved before letter generation; independent letter-x1 is 0/16 then 0/64. Diagnostic letter rescored of seen `930000` n=64 and `940000` n=64 are 0/64. Experimental letter-x1 0/192 is 128 seen plus 64 independent. System-benchmark seeds `980000` and `990000` were reserved before generation; fresh letter-x1 is 0/128 and fresh space-x1 is 1/128. See `docs/cycle8/letter-system-benchmark.md`. Mix seeds `1020000` and `1030000` were reserved before generation; fresh letter-alt is 0/128 with worst score 0.513691. Mix scale seeds `1040000` and `1050000` were reserved before generation; combined mix is 0/256 with worst score 0.519522. Mix is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** and those seeds are spent. See `docs/cycle8/letter-mix-margin.md` and `docs/cycle8/mix-freeze.md`. Letter-space seeds `1000000` and `1010000` remain 1/128. Seed `880000` is **PUBLICLY_EXPOSED** by closed unmerged PR #98 and is not eligible as unseen validation. +See `docs/cycle8/seed-ledger.md` and `docs/seeds.md`. Seeds `890000`, `900000`, and `910000` are spent tiny Cycle 8 evidence. Scale seeds `930000` / `940000` / `950000` were reserved before scale generation. Density seed `960000` was reserved before density generation and scored n=16: both space x1 and space-wordfinal are 1/16. Letter seed `970000` was reserved before letter generation; independent letter-x1 is 0/16 then 0/64. Diagnostic letter rescored of seen `930000` n=64 and `940000` n=64 are 0/64. Experimental letter-x1 0/192 is 128 seen plus 64 independent. System-benchmark seeds `980000` and `990000` were reserved before generation; fresh letter-x1 is 0/128 and fresh space-x1 is 1/128. See `docs/cycle8/letter-system-benchmark.md`. Mix seeds `1020000` and `1030000` were reserved before generation; fresh letter-alt is 0/128 with worst score 0.513691. Mix scale seeds `1040000` and `1050000` were reserved before generation; combined mix is 0/256 with worst score 0.519522. Mix is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** and those seeds are spent. Five publishability gates fail-close product promotion. See `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, and `docs/cycle8/mix-publishability.md`. Letter-space seeds `1000000` and `1010000` remain 1/128. Seed `880000` is **PUBLICLY_EXPOSED** by closed unmerged PR #98 and is not eligible as unseen validation. ## Carrier research -See `docs/cycle8/carrier-research.md`, `docs/cycle8/letter-mix-margin.md`, and `docs/cycle8/mix-freeze.md`. +See `docs/cycle8/carrier-research.md`, `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, and `docs/cycle8/mix-publishability.md`. U+200C is the diagnostic baseline. It is not durable under Cf-strip. diff --git a/docs/cycle8/carrier-research.md b/docs/cycle8/carrier-research.md index 3b53bebb..dc53904c 100644 --- a/docs/cycle8/carrier-research.md +++ b/docs/cycle8/carrier-research.md @@ -39,7 +39,7 @@ Intra-word insertion is no longer treated as tokenizer-diagnostic-only. Letter-x Seeds `1020000` and `1030000` were reserved before generation. Fresh mix is **0/128** raw transformed WM, mix UW **0/128**, visible 256/256 on the detector rows, frozen sanitizers matching raw zeros. Worst fresh mix score is 0.513691 versus threshold 0.557099 (gap 0.043407). Letter-x1 on the same corpora is also 0/128 with worst max 0.527389. Letter-space on `1000000`+`1010000` remains **1/128**. Chromium `pre`/textarea/contenteditable were pixel-equal on the measured mix fixtures. -Independent scale seeds `1040000` and `1050000` were reserved before generation. Combined with `1020000`+`1030000`, mix is **0/256** raw transformed WM, mix UW **0/256**, worst mix max 0.519522 (gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. This 0/256 is development scale. The mechanism is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192**, mix UW **0/192**, visible **192/192**, worst max 0.524300 (gap 0.032798). Those confirmation seeds are spent. It is not product-authorized. See `docs/cycle8/mix-freeze.md`. +Independent scale seeds `1040000` and `1050000` were reserved before generation. Combined with `1020000`+`1030000`, mix is **0/256** raw transformed WM, mix UW **0/256**, worst mix max 0.519522 (gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. This 0/256 is development scale. The mechanism is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192**, mix UW **0/192**, visible **192/192**, worst max 0.524300 (gap 0.032798). Those confirmation seeds are spent. It is not product-authorized. Five publishability gates fail-close product promotion. See `docs/cycle8/mix-freeze.md` and `docs/cycle8/mix-publishability.md`. ## H3-H8 diff --git a/docs/cycle8/letter-mix-margin.md b/docs/cycle8/letter-mix-margin.md index 388a3501..1dcc233e 100644 --- a/docs/cycle8/letter-mix-margin.md +++ b/docs/cycle8/letter-mix-margin.md @@ -1,6 +1,6 @@ # Cycle 8 letter-mix margin -Status: frozen as `cycle8-mix-freeze-v1`. One-shot confirmation is `VERIFIED` **0/192**. Not product-authorized. +Status: frozen as `cycle8-mix-freeze-v1`. One-shot confirmation is `VERIFIED` **0/192**. Publishability gates: not product-publishable. Not product-authorized. Development evidence: [`evidence/cycle8-mix-margin-2026-08-26/`](../../evidence/cycle8-mix-margin-2026-08-26/). Confirmation evidence: [`evidence/cycle8-mix-confirmation-2026-08-26/`](../../evidence/cycle8-mix-confirmation-2026-08-26/). See `docs/cycle8/mix-freeze.md`. diff --git a/docs/cycle8/mix-freeze.md b/docs/cycle8/mix-freeze.md index 3fa6a645..25a18a22 100644 --- a/docs/cycle8/mix-freeze.md +++ b/docs/cycle8/mix-freeze.md @@ -47,4 +47,6 @@ Letter-x1 on those same confirmation corpora is also 0/192 (worst max 0.524425). Mn-strip and default-ignorable-strip remove the carriers. Latin-1 cannot encode them. Low-site rows remain closer to the threshold than high-site rows. Token expansion remains large. +The five publishability gates in `docs/cycle8/mix-publishability.md` fail-close product promotion: mix is not product-publishable. + Do not generate `950000`. The public CLI remains empty. diff --git a/docs/cycle8/mix-publishability.md b/docs/cycle8/mix-publishability.md new file mode 100644 index 00000000..42caffc7 --- /dev/null +++ b/docs/cycle8/mix-publishability.md @@ -0,0 +1,48 @@ +# Cycle 8 mix publishability gates + +Status: **not product-publishable**. Mix freeze confirmation remains `VERIFIED` **0/192**. The public CLI stays empty. + +Report identity: `cycle8-mix-publishability-v1` (`specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json`). This report does not rewrite `cycle8-mix-freeze-v1` or `cycle8-mix-confirmation-scorecard-v1`. Tag `v0.3.0` is not retagged. + +The five gates are the bar for calling mix a publishable FuckMark product. Passing a research confirmation is not enough. + +## Outcome + +| Gate | Verdict | Blocks product | +| --- | --- | --- | +| Reproducibility | PASS | yes | +| Cross-environment visibility invariance | PASS | yes | +| Real-world software compatibility | FAIL | yes | +| Known sanitizer weaknesses | FAIL | yes | +| Cross-detector generalization | FAIL | yes | + +`product_publishable` is false. `product_authorized` is false. `product_approved_carriers_v1()` is empty. `process_text("I do not agree.")` is unchanged. + +## Reproducibility + +PASS. The freeze hash, confirmation scorecard hash, and product contract hash replay. Letter-mix apply is deterministic. Confirmation remains mix **0/192**, mix UW **0/192**, visible **192/192**. Do not rerun looking for zero. + +## Visibility invariance + +PASS on measured Unicode-capable surfaces: exact visible projection, NFC, UTF-8 file bytes, stdin/stdout, and terminal display width on the supported ASCII fixtures. WebKit/Safari pixels and terminal pixels stay UNKNOWN. Chromium `pre` / textarea / contenteditable equality was measured earlier on mix fixtures and is not rehashed here. + +## Software compatibility + +FAIL. UTF-8 and JSON roundtrips preserve mix. Protected URL and email spans stay intact. Latin-1 cannot encode U+034F or U+FE00. Literal search for `do not` misses after letter-mix insertion on short English text. + +## Sanitizer weaknesses + +FAIL as a product gate. Frozen Cycle 6/7 sanitizers (raw, NFKC, Cf-strip, whitespace-collapse, combined, NFC) keep mix, matching confirmation zeros. Mn-strip and default-ignorable-strip remove both carriers. NFKD keeps them. Those stress sanitizers are documented, not frozen product assumptions, and they still kill the mechanism. + +## Cross-detector generalization + +FAIL. Confirmation used one open detector: GPT-2 / Hugging Face SynthID Weighted Mean at threshold `0.5570987654320988`. In-tree Mean and Bayesian families were not confirmed on the mix freeze. No second model. Closed detectors are UNKNOWN. + +## What this does not do + +- It does not authorize mix in `release_transform_registry()`. +- It does not retag or republish `v0.3.0`. +- It does not generate `950000`. +- It does not rewrite the 0/128, 0/256, or 0/192 mix scorecards. + +See `docs/cycle8/mix-freeze.md` and `docs/product-contract.md`. diff --git a/docs/product-contract.md b/docs/product-contract.md index 2e313953..4c674d17 100644 --- a/docs/product-contract.md +++ b/docs/product-contract.md @@ -47,6 +47,16 @@ The public CLI (`release-cli-v4`) therefore returns the original text unchanged. 5. protected machine-span safety; 6. later, replicated detector reduction. +Cycle 8 mix freeze confirmation is not enough. A carrier is product-publishable only after these additional gates all PASS: + +1. reproducibility of frozen hashes and deterministic apply; +2. cross-environment visibility invariance on Unicode-capable surfaces; +3. real-world software compatibility, including Latin-1 and literal search; +4. known sanitizer weaknesses no longer kill the carriers, or an explicit product decision to accept those sanitizers as out of scope; +5. cross-detector generalization beyond one open GPT-2 SynthID Weighted Mean detector. + +`cycle8-mix-publishability-v1` currently fail-closes. See `docs/cycle8/mix-publishability.md`. + U+200C is not authorized. It is a diagnostic baseline and is removed by Cf stripping. ## Historical research diff --git a/fuckmark/cycle8/publishability.py b/fuckmark/cycle8/publishability.py new file mode 100644 index 00000000..56b9a602 --- /dev/null +++ b/fuckmark/cycle8/publishability.py @@ -0,0 +1,476 @@ +from __future__ import annotations + +import json +from pathlib import Path + +from ..cli import RELEASE_CLI_ALGORITHM_VERSION, process_text +from ..config import canonical_json_text +from ..detectors.bayesian_evidence import BAYESIAN_EVIDENCE_ALGORITHM_VERSION +from ..detectors.mean import MEAN_ALGORITHM_VERSION, WEIGHTED_MEAN_ALGORITHM_VERSION +from ..detectors.types import DetectorFamily +from ..hashing import sha256_json, sha256_text +from ..product.contract import FROZEN_PRODUCT_CONTRACT_HASH +from ..product.domain import is_supported_product_domain_v1 +from ..product.roundtrip import latin1_roundtrip_survives, roundtrip_report +from ..product.visible_projection import ( + is_carrier_insertion_v1, + product_approved_carriers_v1, + project_visible_v1, +) +from ..transforms.registry import release_transform_registry +from .benchmark import ( + CYCLE8_BENCHMARK_STRESS_SANITIZER_IDS, + benchmark_fixtures, + sanitize_benchmark_stress, +) +from .compare import CYCLE8_LETTER_ALT_ARM_ID +from .letter_mix import LETTER_MIX_APPROVED_CARRIERS, apply_letter_alternating_mix +from .mix_confirmation import CYCLE8_MIX_CONFIRMATION_SCORECARD_VERSION, build_mix_confirmation_scorecard +from .mix_freeze import ( + CYCLE8_MIX_FREEZE_VERSION, + assert_mix_freeze_committed, + mix_freeze_hash, + mix_freeze_payload, +) +from .sanitize import CYCLE8_SCALE_SANITIZER_VARIANT_IDS, sanitize_cycle8_scale_variant + + +CYCLE8_MIX_PUBLISHABILITY_VERSION = "cycle8-mix-publishability-v1" +CYCLE8_MIX_PUBLISHABILITY_PATH = "specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json" +CYCLE8_MIX_PUBLISHABILITY_HASH = "918513f0a9260f1bbcc66cd0cfe097a4df38cfc218aa61ff26fba9f08e7334b5" +_CONFIRMATION_SCORECARD_HASH = "a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce" +_MIX_FREEZE_HASH = "2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986" +_PRODUCT_CONTRACT_HASH = "5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1" +_GATE_IDS = ( + "reproducibility", + "visibility_invariance", + "software_compatibility", + "sanitizer_weaknesses", + "cross_detector_generalization", +) +_LITERAL = "do not" +_URL = "https://example.com/do-not-touch" +_EMAIL = "docs@example.com" + + +def _check(check_id: str, verdict: str, **evidence: object) -> dict[str, object]: + if verdict not in {"PASS", "FAIL", "UNKNOWN"}: + raise ValueError("unknown check verdict") + return {"id": check_id, "verdict": verdict, **evidence} + + +def _gate( + gate_id: str, + verdict: str, + *, + product_blocking: bool, + summary: str, + checks: list[dict[str, object]], +) -> dict[str, object]: + if gate_id not in _GATE_IDS: + raise ValueError("unknown publishability gate") + if verdict not in {"PASS", "FAIL"}: + raise ValueError("unknown gate verdict") + return { + "id": gate_id, + "verdict": verdict, + "product_blocking": product_blocking, + "summary": summary, + "checks": checks, + } + + +def _json_roundtrip(text: str) -> bool: + return json.loads(json.dumps(text, ensure_ascii=False)) == text + + +def _frozen_carriers_survive(text: str) -> bool: + return all(sanitize_cycle8_scale_variant(variant, text) == text for variant in CYCLE8_SCALE_SANITIZER_VARIANT_IDS) + + +def _stress_kills_carriers(text: str) -> dict[str, bool]: + rows = {} + for variant in CYCLE8_BENCHMARK_STRESS_SANITIZER_IDS: + cleaned = sanitize_benchmark_stress(variant, text) + rows[variant] = "\u034f" not in cleaned and "\ufe00" not in cleaned + return rows + + +def measure_mix_fixtures() -> dict[str, object]: + visible_pass = 0 + supported = 0 + unsupported = 0 + utf8_pass = 0 + nfc_pass = 0 + stdio_pass = 0 + width_pass = 0 + latin1_survive = 0 + json_pass = 0 + search_candidates = 0 + search_breaks = 0 + frozen_survive = 0 + frozen_total = 0 + mn_kills = 0 + di_kills = 0 + nfkd_kills = 0 + stress_total = 0 + url_preserved = 0 + url_total = 0 + email_preserved = 0 + email_total = 0 + source = "I do not agree." + transformed = apply_letter_alternating_mix(source) + hashes = tuple(sha256_text(apply_letter_alternating_mix(source)) for _ in range(5)) + for _fixture_id, _category, text in benchmark_fixtures(): + if not is_supported_product_domain_v1(text): + unsupported += 1 + continue + supported += 1 + applied = apply_letter_alternating_mix(text) + visible = is_carrier_insertion_v1(text, applied, LETTER_MIX_APPROVED_CARRIERS) and project_visible_v1( + applied, LETTER_MIX_APPROVED_CARRIERS + ) == text + visible_pass += int(visible) + report = roundtrip_report(text, applied, LETTER_MIX_APPROVED_CARRIERS) + utf8_pass += int(bool(report["utf8_roundtrip_equals_transformed"])) + nfc_pass += int(bool(report["nfc_equals_transformed"])) + stdio_pass += int(bool(report["stdin_stdout_equals_transformed"])) + width_pass += int(bool(report["display_column_width_equal"])) + latin1_survive += int(latin1_roundtrip_survives(applied)) + json_pass += int(_json_roundtrip(applied)) + if _LITERAL in text: + search_candidates += 1 + search_breaks += int(_LITERAL not in applied) + if _URL in text: + url_total += 1 + url_preserved += int(_URL in applied) + if _EMAIL in text: + email_total += 1 + email_preserved += int(_EMAIL in applied) + if applied == text: + continue + frozen_total += 1 + frozen_survive += int(_frozen_carriers_survive(applied)) + stress = _stress_kills_carriers(applied) + stress_total += 1 + mn_kills += int(stress["mn_strip"]) + di_kills += int(stress["default_ignorable_strip"]) + nfkd_kills += int(stress["nfkd"]) + return { + "determinism_unique_hashes": len(set(hashes)), + "deterministic": len(set(hashes)) == 1, + "supported_fixtures": supported, + "unsupported_fixtures": unsupported, + "visible_projection_pass": visible_pass, + "utf8_roundtrip_pass": utf8_pass, + "nfc_pass": nfc_pass, + "stdio_pass": stdio_pass, + "display_width_pass": width_pass, + "latin1_survive": latin1_survive, + "json_roundtrip_pass": json_pass, + "search_literal_candidates": search_candidates, + "search_literal_breaks": search_breaks, + "frozen_sanitizer_survive": frozen_survive, + "frozen_sanitizer_total": frozen_total, + "mn_strip_kills": mn_kills, + "default_ignorable_strip_kills": di_kills, + "nfkd_kills": nfkd_kills, + "stress_total": stress_total, + "url_preserved": url_preserved, + "url_total": url_total, + "email_preserved": email_preserved, + "email_total": email_total, + "cli_identity": process_text(source) == source, + "cli_preserves_transformed": process_text(transformed) == transformed, + "short_paragraph_search_breaks": _LITERAL in source and _LITERAL not in transformed, + "short_paragraph_latin1_fails": latin1_roundtrip_survives(transformed) is False, + "short_paragraph_frozen_survives": _frozen_carriers_survive(transformed), + "short_paragraph_mn_kills": _stress_kills_carriers(transformed)["mn_strip"], + "short_paragraph_di_kills": _stress_kills_carriers(transformed)["default_ignorable_strip"], + "short_paragraph_nfkd_kills": _stress_kills_carriers(transformed)["nfkd"], + } + + +def mix_publishability_payload() -> dict[str, object]: + assert_mix_freeze_committed() + freeze = mix_freeze_payload() + freeze_hash = mix_freeze_hash() + scorecard = build_mix_confirmation_scorecard() + measured = measure_mix_fixtures() + registry_empty = release_transform_registry().rules == () + approved = tuple(sorted(product_approved_carriers_v1())) + reproducibility_pass = ( + freeze_hash == _MIX_FREEZE_HASH + and scorecard["scorecard_hash"] == _CONFIRMATION_SCORECARD_HASH + and FROZEN_PRODUCT_CONTRACT_HASH == _PRODUCT_CONTRACT_HASH + and measured["deterministic"] is True + and measured["cli_identity"] is True + and measured["cli_preserves_transformed"] is True + and registry_empty + and approved == () + and freeze["product_authorized"] is False + and scorecard["product_authorized"] is False + and scorecard["effectiveness"]["transformed_wm"]["rate"] == "0/192" + and scorecard["effectiveness"]["transformed_uw"]["rate"] == "0/192" + and scorecard["visibility"]["watermarked_pass_rate"] == "192/192" + ) + visibility_pass = ( + measured["supported_fixtures"] == measured["visible_projection_pass"] + and measured["utf8_roundtrip_pass"] == measured["supported_fixtures"] + and measured["nfc_pass"] == measured["supported_fixtures"] + and measured["stdio_pass"] == measured["supported_fixtures"] + and measured["display_width_pass"] == measured["supported_fixtures"] + and measured["supported_fixtures"] > 0 + ) + latin1_fail = measured["latin1_survive"] == 0 and measured["short_paragraph_latin1_fails"] is True + search_fail = measured["search_literal_breaks"] > 0 and measured["short_paragraph_search_breaks"] is True + protected_pass = ( + measured["url_total"] > 0 + and measured["email_total"] > 0 + and measured["url_preserved"] == measured["url_total"] + and measured["email_preserved"] == measured["email_total"] + ) + json_pass = measured["json_roundtrip_pass"] == measured["supported_fixtures"] + software_pass = latin1_fail is False and search_fail is False and json_pass and protected_pass + frozen_pass = ( + measured["frozen_sanitizer_survive"] == measured["frozen_sanitizer_total"] + and measured["frozen_sanitizer_total"] > 0 + and scorecard["durability"]["frozen_sanitizers_match_raw"] is True + ) + stress_still_kills = ( + measured["mn_strip_kills"] == measured["stress_total"] + and measured["default_ignorable_strip_kills"] == measured["stress_total"] + and measured["stress_total"] > 0 + and measured["nfkd_kills"] == 0 + ) + sanitizer_product_pass = frozen_pass and stress_still_kills is False + confirmed_families = ("huggingface-synthid-weighted-mean-gpt2",) + detector_pass = len(confirmed_families) >= 2 + gates = [ + _gate( + "reproducibility", + "PASS" if reproducibility_pass else "FAIL", + product_blocking=True, + summary="Frozen mix hashes, confirmation 0/192, identity CLI, and deterministic letter-mix apply replay locally.", + checks=[ + _check("mix_freeze_hash", "PASS" if freeze_hash == _MIX_FREEZE_HASH else "FAIL", digest=freeze_hash), + _check( + "confirmation_scorecard_hash", + "PASS" if scorecard["scorecard_hash"] == _CONFIRMATION_SCORECARD_HASH else "FAIL", + digest=scorecard["scorecard_hash"], + ), + _check( + "product_contract_hash", + "PASS" if FROZEN_PRODUCT_CONTRACT_HASH == _PRODUCT_CONTRACT_HASH else "FAIL", + digest=FROZEN_PRODUCT_CONTRACT_HASH, + ), + _check( + "letter_mix_deterministic", + "PASS" if measured["deterministic"] else "FAIL", + unique_hashes=measured["determinism_unique_hashes"], + ), + _check("cli_identity", "PASS" if measured["cli_identity"] else "FAIL"), + _check("release_registry_empty", "PASS" if registry_empty else "FAIL"), + _check("product_carriers_empty", "PASS" if approved == () else "FAIL", carriers=list(approved)), + _check( + "confirmation_zero_of_192", + "PASS" if scorecard["effectiveness"]["transformed_wm"]["rate"] == "0/192" else "FAIL", + rate=scorecard["effectiveness"]["transformed_wm"]["rate"], + ), + ], + ), + _gate( + "visibility_invariance", + "PASS" if visibility_pass else "FAIL", + product_blocking=True, + summary="Mix keeps exact visible projection, NFC, UTF-8, stdio, and display width on supported ASCII fixtures. WebKit and terminal pixels stay UNKNOWN.", + checks=[ + _check( + "visible_projection", + "PASS" if measured["visible_projection_pass"] == measured["supported_fixtures"] else "FAIL", + pass_count=measured["visible_projection_pass"], + total=measured["supported_fixtures"], + ), + _check( + "utf8_nfc_stdio_width", + "PASS" if visibility_pass else "FAIL", + utf8=measured["utf8_roundtrip_pass"], + nfc=measured["nfc_pass"], + stdio=measured["stdio_pass"], + display_width=measured["display_width_pass"], + ), + _check("webkit_safari", "UNKNOWN"), + _check("terminal_pixels", "UNKNOWN"), + ], + ), + _gate( + "software_compatibility", + "PASS" if software_pass else "FAIL", + product_blocking=True, + summary="UTF-8 and JSON preserve mix. Latin-1 cannot encode the carriers. Literal search for ordinary English phrases breaks on most short texts.", + checks=[ + _check( + "utf8_and_json", + "PASS" if json_pass else "FAIL", + json_roundtrip_pass=measured["json_roundtrip_pass"], + total=measured["supported_fixtures"], + ), + _check( + "latin1", + "FAIL" if latin1_fail else "PASS", + survive_count=measured["latin1_survive"], + short_paragraph_fails=measured["short_paragraph_latin1_fails"], + ), + _check( + "literal_search", + "FAIL" if search_fail else "PASS", + breaks=measured["search_literal_breaks"], + candidates=measured["search_literal_candidates"], + short_paragraph_breaks=measured["short_paragraph_search_breaks"], + ), + _check( + "protected_url_email", + "PASS" if protected_pass else "FAIL", + url_preserved=measured["url_preserved"], + url_total=measured["url_total"], + email_preserved=measured["email_preserved"], + email_total=measured["email_total"], + ), + ], + ), + _gate( + "sanitizer_weaknesses", + "PASS" if sanitizer_product_pass else "FAIL", + product_blocking=True, + summary="Frozen Cycle 6/7 sanitizers keep mix. Mn-strip and default-ignorable-strip remove U+034F and U+FE00. NFKD keeps them.", + checks=[ + _check( + "frozen_sanitizers", + "PASS" if frozen_pass else "FAIL", + survive=measured["frozen_sanitizer_survive"], + total=measured["frozen_sanitizer_total"], + confirmation_frozen_match_raw=scorecard["durability"]["frozen_sanitizers_match_raw"], + ), + _check( + "mn_strip", + "FAIL" if measured["short_paragraph_mn_kills"] else "PASS", + kills=measured["mn_strip_kills"], + total=measured["stress_total"], + category="stress_only_not_frozen", + ), + _check( + "default_ignorable_strip", + "FAIL" if measured["short_paragraph_di_kills"] else "PASS", + kills=measured["default_ignorable_strip_kills"], + total=measured["stress_total"], + category="stress_only_not_frozen", + ), + _check( + "nfkd", + "PASS" if measured["nfkd_kills"] == 0 else "FAIL", + kills=measured["nfkd_kills"], + total=measured["stress_total"], + ), + ], + ), + _gate( + "cross_detector_generalization", + "PASS" if detector_pass else "FAIL", + product_blocking=True, + summary="Confirmation is one open GPT-2 Hugging Face SynthID Weighted Mean detector. Mean and Bayesian families exist in-tree and were not confirmed on the mix freeze.", + checks=[ + _check( + "confirmed_families", + "FAIL" if len(confirmed_families) < 2 else "PASS", + families=list(confirmed_families), + count=len(confirmed_families), + ), + _check( + "in_tree_unconfirmed_families", + "FAIL", + families=[item.value for item in DetectorFamily], + mean_algorithm=MEAN_ALGORITHM_VERSION, + weighted_mean_algorithm=WEIGHTED_MEAN_ALGORITHM_VERSION, + bayesian_evidence_algorithm=BAYESIAN_EVIDENCE_ALGORITHM_VERSION, + confirmation_implementation=freeze["detector"]["implementation"], + confirmation_model=freeze["detector"]["model"], + ), + _check("second_model", "FAIL"), + _check("closed_or_proprietary_detector", "UNKNOWN"), + ], + ), + ] + product_publishable = all(gate["verdict"] == "PASS" or gate["product_blocking"] is False for gate in gates) + return { + "algorithm_version": CYCLE8_MIX_PUBLISHABILITY_VERSION, + "mechanism_id": CYCLE8_LETTER_ALT_ARM_ID, + "freeze_version": CYCLE8_MIX_FREEZE_VERSION, + "confirmation_scorecard_version": CYCLE8_MIX_CONFIRMATION_SCORECARD_VERSION, + "cli_algorithm_version": RELEASE_CLI_ALGORITHM_VERSION, + "product_publishable": product_publishable, + "product_authorized": False, + "release_registry_empty": registry_empty, + "product_approved_carriers_v1": list(approved), + "do_not_generate_950000": True, + "do_not_retag_v030": True, + "gates": gates, + "identities": { + "mix_freeze_hash": freeze_hash, + "confirmation_scorecard_hash": scorecard["scorecard_hash"], + "product_contract_hash": FROZEN_PRODUCT_CONTRACT_HASH, + }, + "confirmation": { + "transformed_wm": scorecard["effectiveness"]["transformed_wm"]["rate"], + "transformed_uw": scorecard["effectiveness"]["transformed_uw"]["rate"], + "visible": scorecard["visibility"]["watermarked_pass_rate"], + "worst_max_score": scorecard["effectiveness"]["transformed_wm"]["max_score"], + "min_gap_below_threshold": scorecard["effectiveness"]["transformed_wm"]["min_gap_below_threshold"], + "detector": freeze["detector"]["implementation"], + }, + "weaknesses": list(freeze["weaknesses"]) + + [ + "literal search for ordinary English phrases can miss after letter-mix insertion", + "confirmation is a single open SynthID Weighted Mean detector on GPT-2", + ], + } + + +def mix_publishability_hash() -> str: + return sha256_json(mix_publishability_payload()) + + +def mix_is_product_publishable() -> bool: + return bool(mix_publishability_payload()["product_publishable"]) + + +def assert_mix_publishability_committed() -> None: + path = Path(CYCLE8_MIX_PUBLISHABILITY_PATH) + if not path.is_file(): + raise ValueError("mix publishability spec is not committed") + disk = json.loads(path.read_text(encoding="utf-8")) + payload = {key: value for key, value in disk.items() if key != "report_hash"} + if payload != mix_publishability_payload(): + raise ValueError("mix publishability spec does not match the embedded payload") + digest = mix_publishability_hash() + if disk.get("report_hash") != digest: + raise ValueError("mix publishability spec hash mismatch") + if CYCLE8_MIX_PUBLISHABILITY_HASH != "0" * 64 and digest != CYCLE8_MIX_PUBLISHABILITY_HASH: + raise ValueError("mix publishability spec hash is not the frozen digest") + if disk.get("product_publishable") is True: + raise ValueError("mix must not be marked product-publishable") + if disk.get("product_authorized") is True: + raise ValueError("mix must not be product-authorized") + if product_approved_carriers_v1(): + raise ValueError("product_approved_carriers_v1 must stay empty") + if release_transform_registry().rules != (): + raise ValueError("release_transform_registry must stay empty") + if process_text("I do not agree.") != "I do not agree.": + raise ValueError("identity CLI changed") + + +def write_mix_publishability_spec(path: str | Path | None = None) -> Path: + destination = Path(path) if path is not None else Path(CYCLE8_MIX_PUBLISHABILITY_PATH) + payload = mix_publishability_payload() + report = {**payload, "report_hash": sha256_json(payload)} + destination.write_text(canonical_json_text(report) + "\n", encoding="utf-8") + return destination diff --git a/specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json b/specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json new file mode 100644 index 00000000..75faeb29 --- /dev/null +++ b/specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json @@ -0,0 +1 @@ +{"algorithm_version":"cycle8-mix-publishability-v1","cli_algorithm_version":"release-cli-v4","confirmation":{"detector":"Hugging Face SynthID Weighted Mean","min_gap_below_threshold":0.03279838457434092,"transformed_uw":"0/192","transformed_wm":"0/192","visible":"192/192","worst_max_score":0.5243003808577579},"confirmation_scorecard_version":"cycle8-mix-confirmation-scorecard-v1","do_not_generate_950000":true,"do_not_retag_v030":true,"freeze_version":"cycle8-mix-freeze-v1","gates":[{"checks":[{"digest":"2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986","id":"mix_freeze_hash","verdict":"PASS"},{"digest":"a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce","id":"confirmation_scorecard_hash","verdict":"PASS"},{"digest":"5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1","id":"product_contract_hash","verdict":"PASS"},{"id":"letter_mix_deterministic","unique_hashes":1,"verdict":"PASS"},{"id":"cli_identity","verdict":"PASS"},{"id":"release_registry_empty","verdict":"PASS"},{"carriers":[],"id":"product_carriers_empty","verdict":"PASS"},{"id":"confirmation_zero_of_192","rate":"0/192","verdict":"PASS"}],"id":"reproducibility","product_blocking":true,"summary":"Frozen mix hashes, confirmation 0/192, identity CLI, and deterministic letter-mix apply replay locally.","verdict":"PASS"},{"checks":[{"id":"visible_projection","pass_count":21,"total":21,"verdict":"PASS"},{"display_width":21,"id":"utf8_nfc_stdio_width","nfc":21,"stdio":21,"utf8":21,"verdict":"PASS"},{"id":"webkit_safari","verdict":"UNKNOWN"},{"id":"terminal_pixels","verdict":"UNKNOWN"}],"id":"visibility_invariance","product_blocking":true,"summary":"Mix keeps exact visible projection, NFC, UTF-8, stdio, and display width on supported ASCII fixtures. WebKit and terminal pixels stay UNKNOWN.","verdict":"PASS"},{"checks":[{"id":"utf8_and_json","json_roundtrip_pass":21,"total":21,"verdict":"PASS"},{"id":"latin1","short_paragraph_fails":true,"survive_count":0,"verdict":"FAIL"},{"breaks":8,"candidates":9,"id":"literal_search","short_paragraph_breaks":true,"verdict":"FAIL"},{"email_preserved":2,"email_total":2,"id":"protected_url_email","url_preserved":2,"url_total":2,"verdict":"PASS"}],"id":"software_compatibility","product_blocking":true,"summary":"UTF-8 and JSON preserve mix. Latin-1 cannot encode the carriers. Literal search for ordinary English phrases breaks on most short texts.","verdict":"FAIL"},{"checks":[{"confirmation_frozen_match_raw":true,"id":"frozen_sanitizers","survive":21,"total":21,"verdict":"PASS"},{"category":"stress_only_not_frozen","id":"mn_strip","kills":21,"total":21,"verdict":"FAIL"},{"category":"stress_only_not_frozen","id":"default_ignorable_strip","kills":21,"total":21,"verdict":"FAIL"},{"id":"nfkd","kills":0,"total":21,"verdict":"PASS"}],"id":"sanitizer_weaknesses","product_blocking":true,"summary":"Frozen Cycle 6/7 sanitizers keep mix. Mn-strip and default-ignorable-strip remove U+034F and U+FE00. NFKD keeps them.","verdict":"FAIL"},{"checks":[{"count":1,"families":["huggingface-synthid-weighted-mean-gpt2"],"id":"confirmed_families","verdict":"FAIL"},{"bayesian_evidence_algorithm":"deepmind-bayesian-evidence-v1","confirmation_implementation":"Hugging Face SynthID Weighted Mean","confirmation_model":"openai-community/gpt2","families":["mean","weighted_mean","bayesian"],"id":"in_tree_unconfirmed_families","mean_algorithm":"deepmind-mean-score-v2","verdict":"FAIL","weighted_mean_algorithm":"deepmind-weighted-mean-score-v2"},{"id":"second_model","verdict":"FAIL"},{"id":"closed_or_proprietary_detector","verdict":"UNKNOWN"}],"id":"cross_detector_generalization","product_blocking":true,"summary":"Confirmation is one open GPT-2 Hugging Face SynthID Weighted Mean detector. Mean and Bayesian families exist in-tree and were not confirmed on the mix freeze.","verdict":"FAIL"}],"identities":{"confirmation_scorecard_hash":"a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce","mix_freeze_hash":"2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986","product_contract_hash":"5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1"},"mechanism_id":"u034f-ufe00-letter-alt-v1","product_approved_carriers_v1":[],"product_authorized":false,"product_publishable":false,"release_registry_empty":true,"report_hash":"918513f0a9260f1bbcc66cd0cfe097a4df38cfc218aa61ff26fba9f08e7334b5","weaknesses":["Mn-strip removes U+034F","default-ignorable-strip removes U+034F and U+FE00","latin-1 cannot roundtrip U+034F or U+FE00","low-site rows can remain closer to threshold than high-site rows","token expansion remains large","literal search for ordinary English phrases can miss after letter-mix insertion","confirmation is a single open SynthID Weighted Mean detector on GPT-2"]} diff --git a/tests/test_cycle8_mix_publishability.py b/tests/test_cycle8_mix_publishability.py new file mode 100644 index 00000000..e0cedea8 --- /dev/null +++ b/tests/test_cycle8_mix_publishability.py @@ -0,0 +1,90 @@ +import json +from pathlib import Path + +from fuckmark.cli import RELEASE_CLI_ALGORITHM_VERSION, process_text +from fuckmark.cycle8.compare import CYCLE8_LETTER_ALT_ARM_ID +from fuckmark.cycle8.mix_confirmation import CYCLE8_MIX_CONFIRMATION_SCORECARD_VERSION +from fuckmark.cycle8.mix_freeze import CYCLE8_MIX_FREEZE_VERSION, mix_freeze_hash +from fuckmark.cycle8.publishability import ( + CYCLE8_MIX_PUBLISHABILITY_HASH, + CYCLE8_MIX_PUBLISHABILITY_PATH, + CYCLE8_MIX_PUBLISHABILITY_VERSION, + assert_mix_publishability_committed, + mix_is_product_publishable, + mix_publishability_hash, + mix_publishability_payload, +) +from fuckmark.hashing import sha256_json +from fuckmark.product.contract import FROZEN_PRODUCT_CONTRACT_HASH +from fuckmark.product.visible_projection import product_approved_carriers_v1 +from fuckmark.transforms.registry import release_transform_registry + + +_FREEZE_HASH = "2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986" +_SCORECARD_HASH = "a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce" + + +def _load() -> dict[str, object]: + return json.loads((Path(__file__).resolve().parents[1] / CYCLE8_MIX_PUBLISHABILITY_PATH).read_text(encoding="utf-8")) + + +def test_mix_publishability_spec_fail_closes_product_promotion() -> None: + disk = _load() + body = {key: value for key, value in disk.items() if key != "report_hash"} + payload = mix_publishability_payload() + assert body == payload + assert disk["report_hash"] == mix_publishability_hash() == sha256_json(payload) == CYCLE8_MIX_PUBLISHABILITY_HASH + assert disk["algorithm_version"] == CYCLE8_MIX_PUBLISHABILITY_VERSION + assert disk["mechanism_id"] == CYCLE8_LETTER_ALT_ARM_ID + assert disk["freeze_version"] == CYCLE8_MIX_FREEZE_VERSION + assert disk["confirmation_scorecard_version"] == CYCLE8_MIX_CONFIRMATION_SCORECARD_VERSION + assert disk["cli_algorithm_version"] == RELEASE_CLI_ALGORITHM_VERSION + assert disk["product_publishable"] is False + assert disk["product_authorized"] is False + assert disk["release_registry_empty"] is True + assert disk["product_approved_carriers_v1"] == [] + assert disk["do_not_generate_950000"] is True + assert disk["do_not_retag_v030"] is True + assert mix_is_product_publishable() is False + assert_mix_publishability_committed() + assert release_transform_registry().rules == () + assert product_approved_carriers_v1() == frozenset() + assert process_text("I do not agree.") == "I do not agree." + + +def test_mix_publishability_gates_match_measured_evidence() -> None: + payload = mix_publishability_payload() + gates = {gate["id"]: gate for gate in payload["gates"]} + assert tuple(gates) == ( + "reproducibility", + "visibility_invariance", + "software_compatibility", + "sanitizer_weaknesses", + "cross_detector_generalization", + ) + assert gates["reproducibility"]["verdict"] == "PASS" + assert gates["visibility_invariance"]["verdict"] == "PASS" + assert gates["software_compatibility"]["verdict"] == "FAIL" + assert gates["sanitizer_weaknesses"]["verdict"] == "FAIL" + assert gates["cross_detector_generalization"]["verdict"] == "FAIL" + assert all(gate["product_blocking"] is True for gate in payload["gates"]) + checks = {gate["id"]: {check["id"]: check["verdict"] for check in gate["checks"]} for gate in payload["gates"]} + assert checks["reproducibility"]["confirmation_zero_of_192"] == "PASS" + assert checks["visibility_invariance"]["visible_projection"] == "PASS" + assert checks["visibility_invariance"]["webkit_safari"] == "UNKNOWN" + assert checks["software_compatibility"]["utf8_and_json"] == "PASS" + assert checks["software_compatibility"]["latin1"] == "FAIL" + assert checks["software_compatibility"]["literal_search"] == "FAIL" + assert checks["software_compatibility"]["protected_url_email"] == "PASS" + assert checks["sanitizer_weaknesses"]["frozen_sanitizers"] == "PASS" + assert checks["sanitizer_weaknesses"]["mn_strip"] == "FAIL" + assert checks["sanitizer_weaknesses"]["default_ignorable_strip"] == "FAIL" + assert checks["sanitizer_weaknesses"]["nfkd"] == "PASS" + assert checks["cross_detector_generalization"]["confirmed_families"] == "FAIL" + assert checks["cross_detector_generalization"]["second_model"] == "FAIL" + assert payload["identities"]["mix_freeze_hash"] == mix_freeze_hash() == _FREEZE_HASH + assert payload["identities"]["confirmation_scorecard_hash"] == _SCORECARD_HASH + assert payload["identities"]["product_contract_hash"] == FROZEN_PRODUCT_CONTRACT_HASH + assert payload["confirmation"]["transformed_wm"] == "0/192" + assert payload["confirmation"]["transformed_uw"] == "0/192" + assert payload["confirmation"]["visible"] == "192/192" From 09aec3bd6aa4792ecb42c8fc4b013d0d68ea958a Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 27 Aug 2026 00:04:52 +0000 Subject: [PATCH 02/12] Harden Cycle 8 mix publishability software and evidence gates. UTF-8 is the only product encoding; latin-1, ascii, and cp1252 are rejected. Visible-projection search is the product search API. Assigned Unicode has no stronger Priority-Zero invisible mechanism. Mean versus Weighted Mean on the same GPT-2 adapter is HYPOTHESIS 0/192, not a second model. Mix stays out of the public CLI. Co-authored-by: Byte271 --- CHANGELOG.md | 2 +- README.md | 4 +- docs/cli.md | 5 +- docs/cycle8/README.md | 2 +- docs/cycle8/carrier-research.md | 9 +- docs/cycle8/mix-freeze.md | 4 +- docs/cycle8/mix-publishability.md | 37 +++- docs/product-contract.md | 4 +- .../README.md | 20 ++ .../SHA256SUMS.txt | 2 + .../scorecard.json | 1 + fuckmark/cli.py | 30 ++- fuckmark/cycle8/__init__.py | 8 + fuckmark/cycle8/browser_search.py | 148 ++++++++++++++ fuckmark/cycle8/detector_transfer.py | 189 ++++++++++++++++++ fuckmark/cycle8/feasibility.py | 131 ++++++++++++ fuckmark/cycle8/publishability.py | 112 +++++++++-- fuckmark/cycle8_detector_transfer_hf.py | 77 +++++++ fuckmark/product/__init__.py | 20 ++ fuckmark/product/encodings.py | 46 +++++ fuckmark/product/search.py | 25 +++ ...cle8-invisible-carrier-feasibility-v1.json | 1 + ...fuckmark-cycle8-mix-publishability-v1.json | 2 +- tests/test_cli.py | 18 ++ tests/test_cycle8_browser_search.py | 22 ++ tests/test_cycle8_detector_transfer.py | 63 ++++++ tests/test_cycle8_feasibility.py | 68 +++++++ tests/test_cycle8_mix_publishability.py | 12 +- tests/test_product_encodings.py | 39 ++++ tests/test_product_search.py | 21 ++ 30 files changed, 1086 insertions(+), 36 deletions(-) create mode 100644 evidence/cycle8-mix-mean-transfer-2026-08-26/README.md create mode 100644 evidence/cycle8-mix-mean-transfer-2026-08-26/SHA256SUMS.txt create mode 100644 evidence/cycle8-mix-mean-transfer-2026-08-26/scorecard.json create mode 100644 fuckmark/cycle8/browser_search.py create mode 100644 fuckmark/cycle8/detector_transfer.py create mode 100644 fuckmark/cycle8/feasibility.py create mode 100644 fuckmark/cycle8_detector_transfer_hf.py create mode 100644 fuckmark/product/encodings.py create mode 100644 fuckmark/product/search.py create mode 100644 specs/cycle8/fuckmark-cycle8-invisible-carrier-feasibility-v1.json create mode 100644 tests/test_cycle8_browser_search.py create mode 100644 tests/test_cycle8_detector_transfer.py create mode 100644 tests/test_cycle8_feasibility.py create mode 100644 tests/test_product_encodings.py create mode 100644 tests/test_product_search.py diff --git a/CHANGELOG.md b/CHANGELOG.md index d16199c1..75ddb070 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,7 +32,7 @@ - Cycle 8 letter-mix scale reserved seeds `1040000` and `1050000` before generation. Combined with `1020000`+`1030000`, mix is **0/256** raw transformed WM, mix UW **0/256**, worst mix score 0.519522 (gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. This 0/256 is development scale, not confirmation. - Froze development mechanism `u034f-ufe00-letter-alt-v1` as `cycle8-mix-freeze-v1`. Public CLI remains empty. - Cycle 8 mix freeze one-shot confirmation on preregistered seeds `830000` / `840000` / `850000`: mix **0/192** raw transformed WM, mix UW **0/192**, visible **192/192**, frozen sanitizers matching raw zeros, worst mix score 0.524300 versus threshold 0.557099 (gap 0.032798). Those seeds are spent. Do not rerun looking for zero. Mix is not product-authorized. Do not generate `950000`. -- Recorded `cycle8-mix-publishability-v1` after merging that freeze onto `main`. Five product gates: reproducibility PASS, visibility invariance PASS, software compatibility FAIL (Latin-1 and literal search), sanitizer weaknesses FAIL (Mn-strip and default-ignorable-strip), cross-detector generalization FAIL (one open SynthID Weighted Mean detector). Mix is not product-publishable. Tag `v0.3.0` is not retagged. +- Recorded `cycle8-mix-publishability-v1` after merging that freeze onto `main`. Product hardening on that report: software compatibility PASS on the UTF-8 product surface (Latin-1/ASCII/cp1252 unsupported; visible-projection search; raw codepoint search is not the product API). Sanitizer weaknesses still FAIL; assigned-Unicode feasibility found no stronger Priority-Zero invisible mechanism. Cross-detector still FAIL; Mean versus Weighted Mean on the same GPT-2 Hugging Face SynthID adapter is HYPOTHESIS mix **0/192**, not a second model and not a confirmation rewrite. Mix is not product-publishable. Tag `v0.3.0` is not retagged. ## v0.2.0 — Exact-survival confirmation and release hardening diff --git a/README.md b/README.md index 7db2a11c..c2dea09b 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ A later system benchmark reserved seeds `980000` and `990000` before generation Letter-space margin seeds `1000000` and `1010000` were reserved before generation. Combined fresh letter-space is **1/128**; do not rewrite that as zero. -Letter-mix margin seeds `1020000` and `1030000` were reserved before generation. Detector-blind U+034F/U+FE00 letter-alt is fresh **0/128** raw transformed WM (max 0.513691, gap 0.043407) with mix UW **0/128**. Independent scale seeds `1040000` and `1050000` were reserved before generation; combined mix is **0/256** (worst max 0.519522, gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. Letter-x1 on those same corpora is also 0/256 (worst max 0.543903). Chromium mix fixtures were pixel-equal on the measured surfaces. The mix mechanism is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** raw transformed WM, mix UW **0/192**, visible **192/192**, worst max 0.524300 (gap 0.032798). Those seeds are spent. Five publishability gates fail-close product promotion (software compatibility, Mn/default-ignorable sanitizers, and single-detector confirmation). It is still not product-authorized. Seed `880000` is publicly exposed by closed unmerged PR #98 and is not eligible as unseen validation. See [`docs/cycle8/mix-publishability.md`](docs/cycle8/mix-publishability.md), [`docs/cycle8/mix-freeze.md`](docs/cycle8/mix-freeze.md), [`docs/cycle8/letter-mix-margin.md`](docs/cycle8/letter-mix-margin.md), [`docs/cycle8/letter-system-benchmark.md`](docs/cycle8/letter-system-benchmark.md), and [`docs/seeds.md`](docs/seeds.md). +Letter-mix margin seeds `1020000` and `1030000` were reserved before generation. Detector-blind U+034F/U+FE00 letter-alt is fresh **0/128** raw transformed WM (max 0.513691, gap 0.043407) with mix UW **0/128**. Independent scale seeds `1040000` and `1050000` were reserved before generation; combined mix is **0/256** (worst max 0.519522, gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. Letter-x1 on those same corpora is also 0/256 (worst max 0.543903). Chromium mix fixtures were pixel-equal on the measured surfaces. The mix mechanism is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** raw transformed WM, mix UW **0/192**, visible **192/192**, worst max 0.524300 (gap 0.032798). Those seeds are spent. Publishability: software compatibility PASS on the UTF-8 / visible-search product surface; Mn/default-ignorable sanitizers and single-detector confirmation still FAIL. It is still not product-authorized. Seed `880000` is publicly exposed by closed unmerged PR #98 and is not eligible as unseen validation. See [`docs/cycle8/mix-publishability.md`](docs/cycle8/mix-publishability.md), [`docs/cycle8/mix-freeze.md`](docs/cycle8/mix-freeze.md), [`docs/cycle8/letter-mix-margin.md`](docs/cycle8/letter-mix-margin.md), [`docs/cycle8/letter-system-benchmark.md`](docs/cycle8/letter-system-benchmark.md), and [`docs/seeds.md`](docs/seeds.md). See [`docs/product-contract.md`](docs/product-contract.md) and `specs/fuckmark-user-visible-invariance-v1.contract.json`. @@ -144,7 +144,7 @@ Cycle 7 Stage A/B/C researched collapse-resistant *visible* edits (contractions, ## Cycle 8 status -Cycle 8 is the exact-visible-projection generation. See [`docs/cycle8/README.md`](docs/cycle8/README.md). U+200C remains a diagnostic baseline (stripped by Cf). Combining grapheme joiner U+034F letter-x1 remains a strong visible-invariant development arm (`HYPOTHESIS`): fresh reserved-before-generation **0/128** on seeds `980000`+`990000` with a thin 0.003 gap, plus a separate experimental **0/192** (128 seen + 64 independent). The later U+034F/U+FE00 letter-mix arm is currently stronger on fresh independent corpora: **0/128** on seeds `1020000`+`1030000` with worst score 0.513691 (gap 0.043407), plus independent scale **0/256** including `1040000`+`1050000` with worst score 0.519522 (gap 0.037577). Mix is frozen as `cycle8-mix-freeze-v1` and is not a release mechanism. One-shot confirmation is **0/192**. Five publishability gates fail-close product promotion. Public CLI remains empty. +Cycle 8 is the exact-visible-projection generation. See [`docs/cycle8/README.md`](docs/cycle8/README.md). U+200C remains a diagnostic baseline (stripped by Cf). Combining grapheme joiner U+034F letter-x1 remains a strong visible-invariant development arm (`HYPOTHESIS`): fresh reserved-before-generation **0/128** on seeds `980000`+`990000` with a thin 0.003 gap, plus a separate experimental **0/192** (128 seen + 64 independent). The later U+034F/U+FE00 letter-mix arm is currently stronger on fresh independent corpora: **0/128** on seeds `1020000`+`1030000` with worst score 0.513691 (gap 0.043407), plus independent scale **0/256** including `1040000`+`1050000` with worst score 0.519522 (gap 0.037577). Mix is frozen as `cycle8-mix-freeze-v1` and is not a release mechanism. One-shot confirmation is **0/192**. Publishability still fail-closes: sanitizer weaknesses and cross-detector generalization remain FAIL. Public CLI remains empty. ## Reproduce the research environment diff --git a/docs/cli.md b/docs/cli.md index 486de085..f3d8e531 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -34,12 +34,13 @@ Use `--stdin` or `--non-interactive` to request the same mode explicitly. Standa ## File use -The positional input path is decoded strictly as UTF-8: +The positional input path is decoded strictly as UTF-8. Latin-1, ASCII, and Windows-1252 are unsupported product encodings: ```text FuckMark input.txt FuckMark input.txt --output output.txt FuckMark input.txt --copy +FuckMark --stdin --encoding latin-1 # rejected ``` Without `--output`, file-mode output is written to standard output. `--output -` also selects standard output. Named output files are written through an fsynced temporary file and atomically replaced. Input and output paths must differ. @@ -52,6 +53,8 @@ Without `--output`, file-mode output is written to standard output. `--output -` | `--stdin`, `--non-interactive` | Read all standard input in explicit stream mode. | | `-o FILE`, `--output FILE` | Atomically write transformed UTF-8 text to a file. | | `--copy` | Also copy transformed text to the platform clipboard. | +| `--visible` | Write the user-visible projection of the product-authorized payload. With zero approved carriers this is identity. | +| `--encoding NAME` | Output encoding. Only `utf-8` is supported. `latin-1`, `ascii`, and `cp1252` are rejected. | | `-q`, `--quiet` | Hide interactive processing and completion messages. | | `--no-color` | Disable ANSI terminal color. | diff --git a/docs/cycle8/README.md b/docs/cycle8/README.md index a31fcb16..64a3cdd2 100644 --- a/docs/cycle8/README.md +++ b/docs/cycle8/README.md @@ -17,7 +17,7 @@ Cycle 8 is a new scientific generation. The mechanism class is hidden Unicode re ## Seed ledger -See `docs/cycle8/seed-ledger.md` and `docs/seeds.md`. Seeds `890000`, `900000`, and `910000` are spent tiny Cycle 8 evidence. Scale seeds `930000` / `940000` / `950000` were reserved before scale generation. Density seed `960000` was reserved before density generation and scored n=16: both space x1 and space-wordfinal are 1/16. Letter seed `970000` was reserved before letter generation; independent letter-x1 is 0/16 then 0/64. Diagnostic letter rescored of seen `930000` n=64 and `940000` n=64 are 0/64. Experimental letter-x1 0/192 is 128 seen plus 64 independent. System-benchmark seeds `980000` and `990000` were reserved before generation; fresh letter-x1 is 0/128 and fresh space-x1 is 1/128. See `docs/cycle8/letter-system-benchmark.md`. Mix seeds `1020000` and `1030000` were reserved before generation; fresh letter-alt is 0/128 with worst score 0.513691. Mix scale seeds `1040000` and `1050000` were reserved before generation; combined mix is 0/256 with worst score 0.519522. Mix is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** and those seeds are spent. Five publishability gates fail-close product promotion. See `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, and `docs/cycle8/mix-publishability.md`. Letter-space seeds `1000000` and `1010000` remain 1/128. Seed `880000` is **PUBLICLY_EXPOSED** by closed unmerged PR #98 and is not eligible as unseen validation. +See `docs/cycle8/seed-ledger.md` and `docs/seeds.md`. Seeds `890000`, `900000`, and `910000` are spent tiny Cycle 8 evidence. Scale seeds `930000` / `940000` / `950000` were reserved before scale generation. Density seed `960000` was reserved before density generation and scored n=16: both space x1 and space-wordfinal are 1/16. Letter seed `970000` was reserved before letter generation; independent letter-x1 is 0/16 then 0/64. Diagnostic letter rescored of seen `930000` n=64 and `940000` n=64 are 0/64. Experimental letter-x1 0/192 is 128 seen plus 64 independent. System-benchmark seeds `980000` and `990000` were reserved before generation; fresh letter-x1 is 0/128 and fresh space-x1 is 1/128. See `docs/cycle8/letter-system-benchmark.md`. Mix seeds `1020000` and `1030000` were reserved before generation; fresh letter-alt is 0/128 with worst score 0.513691. Mix scale seeds `1040000` and `1050000` were reserved before generation; combined mix is 0/256 with worst score 0.519522. Mix is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** and those seeds are spent. Publishability gates: reproducibility PASS, visibility PASS, software compatibility PASS on the UTF-8 / visible-search product surface, sanitizer FAIL, cross-detector FAIL. Mix is not product-publishable. See `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, and `docs/cycle8/mix-publishability.md`. Letter-space seeds `1000000` and `1010000` remain 1/128. Seed `880000` is **PUBLICLY_EXPOSED** by closed unmerged PR #98 and is not eligible as unseen validation. ## Carrier research diff --git a/docs/cycle8/carrier-research.md b/docs/cycle8/carrier-research.md index dc53904c..9b2f14b2 100644 --- a/docs/cycle8/carrier-research.md +++ b/docs/cycle8/carrier-research.md @@ -39,7 +39,7 @@ Intra-word insertion is no longer treated as tokenizer-diagnostic-only. Letter-x Seeds `1020000` and `1030000` were reserved before generation. Fresh mix is **0/128** raw transformed WM, mix UW **0/128**, visible 256/256 on the detector rows, frozen sanitizers matching raw zeros. Worst fresh mix score is 0.513691 versus threshold 0.557099 (gap 0.043407). Letter-x1 on the same corpora is also 0/128 with worst max 0.527389. Letter-space on `1000000`+`1010000` remains **1/128**. Chromium `pre`/textarea/contenteditable were pixel-equal on the measured mix fixtures. -Independent scale seeds `1040000` and `1050000` were reserved before generation. Combined with `1020000`+`1030000`, mix is **0/256** raw transformed WM, mix UW **0/256**, worst mix max 0.519522 (gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. This 0/256 is development scale. The mechanism is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192**, mix UW **0/192**, visible **192/192**, worst max 0.524300 (gap 0.032798). Those confirmation seeds are spent. It is not product-authorized. Five publishability gates fail-close product promotion. See `docs/cycle8/mix-freeze.md` and `docs/cycle8/mix-publishability.md`. +Independent scale seeds `1040000` and `1050000` were reserved before generation. Combined with `1020000`+`1030000`, mix is **0/256** raw transformed WM, mix UW **0/256**, worst mix max 0.519522 (gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. This 0/256 is development scale. The mechanism is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192**, mix UW **0/192**, visible **192/192**, worst max 0.524300 (gap 0.032798). Those confirmation seeds are spent. It is not product-authorized. Publishability: software compatibility PASS on the UTF-8 / visible-search product surface; sanitizer and cross-detector still FAIL. See `docs/cycle8/mix-freeze.md` and `docs/cycle8/mix-publishability.md`. ## H3-H8 @@ -47,7 +47,11 @@ Placement geometry, Cycle 6 scheduler reuse, and root-window correlation remain ## H9. Feasibility boundary -Still `HYPOTHESIS`. If every tokenizer-disruptive invisible carrier is removed by ordinary sanitizers, Cycle 8 will freeze that boundary rather than weaken Priority Zero. +`VERIFIED` as a negative result for product-safe stronger carriers. Assigned Unicode scalar values were scanned in `cycle8-invisible-carrier-feasibility-v1`. No code point is simultaneously invisible, not Mn, not Cf, not default-ignorable, and pixel-equal on Chromium `pre`. + +Mix carriers U+034F and U+FE00 are Mn and default-ignorable, so Mn-strip and default-ignorable-strip restore the source. Cf dies to frozen Cf-strip. The 13 enclosing marks (Me, probe U+20DD) survive those stress sanitizers and have display width 0, but they change rendered pixels and are `REJECTED`. Other non-Mn/Cf assigned characters: 0. + +Cycle 8 freezes that boundary rather than weaken Priority Zero. There is no stronger invisible Unicode product mechanism under the current contract. ## Rejected as product mechanisms @@ -56,6 +60,7 @@ Still `HYPOTHESIS`. If every tokenizer-disruptive invisible carrier is removed b | Contractions / Cycle 7 durable edits | `PRODUCT_DISQUALIFIED` | visible words or punctuation change | | Cycle 6 U+0020 runs | `PRODUCT_DISQUALIFIED` | visible spacing change | | U+200C / other Cf | `REJECTED` as durable; diagnostic only | Cf-strip restores the original string | +| Enclosing marks (Me, probe U+20DD) | `REJECTED` | survive Mn/DI/Cf-strip but change Chromium `pre` pixels | | NBSP / hair spaces / dashes / homoglyphs | `REJECTED` | visible or NFKC-mapped layout/glyph change | ## Baseline diff --git a/docs/cycle8/mix-freeze.md b/docs/cycle8/mix-freeze.md index 25a18a22..e2193488 100644 --- a/docs/cycle8/mix-freeze.md +++ b/docs/cycle8/mix-freeze.md @@ -45,8 +45,8 @@ Letter-x1 on those same confirmation corpora is also 0/192 (worst max 0.524425). ## Weaknesses -Mn-strip and default-ignorable-strip remove the carriers. Latin-1 cannot encode them. Low-site rows remain closer to the threshold than high-site rows. Token expansion remains large. +Mn-strip and default-ignorable-strip remove the carriers. Assigned Unicode has no stronger invisible product mechanism that survives those sanitizers while keeping exact visible text. Latin-1 cannot encode the carriers and is an unsupported product encoding. Low-site rows remain closer to the threshold than high-site rows. Token expansion remains large. -The five publishability gates in `docs/cycle8/mix-publishability.md` fail-close product promotion: mix is not product-publishable. +The five publishability gates in `docs/cycle8/mix-publishability.md` fail-close product promotion: mix is not product-publishable. Software compatibility now PASSes on the UTF-8 / visible-search product surface. Sanitizer and cross-detector gates still FAIL. Do not generate `950000`. The public CLI remains empty. diff --git a/docs/cycle8/mix-publishability.md b/docs/cycle8/mix-publishability.md index 42caffc7..8846750e 100644 --- a/docs/cycle8/mix-publishability.md +++ b/docs/cycle8/mix-publishability.md @@ -12,7 +12,7 @@ The five gates are the bar for calling mix a publishable FuckMark product. Passi | --- | --- | --- | | Reproducibility | PASS | yes | | Cross-environment visibility invariance | PASS | yes | -| Real-world software compatibility | FAIL | yes | +| Real-world software compatibility | PASS | yes | | Known sanitizer weaknesses | FAIL | yes | | Cross-detector generalization | FAIL | yes | @@ -28,15 +28,42 @@ PASS on measured Unicode-capable surfaces: exact visible projection, NFC, UTF-8 ## Software compatibility -FAIL. UTF-8 and JSON roundtrips preserve mix. Protected URL and email spans stay intact. Latin-1 cannot encode U+034F or U+FE00. Literal search for `do not` misses after letter-mix insertion on short English text. +PASS on the product surface: + +- UTF-8 is the only supported product encoding. JSON roundtrips preserve mix. +- Latin-1, ASCII, and cp1252 are **unsupported**. Mix cannot encode there; the CLI rejects `--encoding latin-1` instead of claiming a roundtrip. +- Product search is visible-projection search (`visible_contains`). After letter-mix, `do not` is found on the visible projection and missed by raw codepoint `in`. +- Raw codepoint search is **not** the product search API. Many editors that search UTF-16 code units will miss intra-letter carriers. That is a payload limitation, not a claimed editor Ctrl+F guarantee. +- Chromium `window.find` HIT for `do not` on mix text was measured on a host with Chrome. That measurement is host-dependent and is **not** hashed into this spec. CI without Chrome reports UNKNOWN. +- Protected URL and email spans stay intact. Clipboard copies Unicode text. `--visible` writes the product-authorized visible projection (currently identity, because no carrier is authorized). ## Sanitizer weaknesses -FAIL as a product gate. Frozen Cycle 6/7 sanitizers (raw, NFKC, Cf-strip, whitespace-collapse, combined, NFC) keep mix, matching confirmation zeros. Mn-strip and default-ignorable-strip remove both carriers. NFKD keeps them. Those stress sanitizers are documented, not frozen product assumptions, and they still kill the mechanism. +FAIL as a product gate. Frozen Cycle 6/7 sanitizers (raw, NFKC, Cf-strip, whitespace-collapse, combined, NFC) keep mix, matching confirmation zeros. Mn-strip and default-ignorable-strip remove both carriers because U+034F and U+FE00 are Mn and default-ignorable. NFKD keeps them. + +Assigned-Unicode feasibility `cycle8-invisible-carrier-feasibility-v1` found no stronger Priority-Zero invisible mechanism: + +- visible/control: 140882 +- Cf: 161 (dies to frozen Cf-strip) +- Mn: 1985 (dies to Mn-strip; mix lives here) +- Me enclosing marks: 13 (survive Mn/DI/Cf-strip, display width 0, Chromium `pre` pixels change; rejected) +- other non-Mn/Cf: 0 + +Enclosing marks are not product-safe. Cycle 8 freezes that H9 boundary rather than changing visible English text. ## Cross-detector generalization -FAIL. Confirmation used one open detector: GPT-2 / Hugging Face SynthID Weighted Mean at threshold `0.5570987654320988`. In-tree Mean and Bayesian families were not confirmed on the mix freeze. No second model. Closed detectors are UNKNOWN. +FAIL. Confirmation used one open detector: GPT-2 / Hugging Face SynthID Weighted Mean at threshold `0.5570987654320988`. + +Independent Mean-family scoring on the **same** adapter, model, threshold, and spent confirmation *source* texts is `HYPOTHESIS`: + +- mix Mean WM **0/192**, mix Mean UW **0/192**, max 0.520947 +- mix Weighted Mean WM **0/192**, mix Weighted Mean UW **0/192**, max 0.524300 (matches confirmation) +- identity Weighted Mean 185/192 WM and 2/192 UW match confirmation identity counts + +That is not a second model. It is not proprietary-detector transfer. It is not a confirmation rewrite. Bayesian-family evidence was not collected. Closed detectors stay UNKNOWN. + +See `evidence/cycle8-mix-mean-transfer-2026-08-26/`. ## What this does not do @@ -45,4 +72,4 @@ FAIL. Confirmation used one open detector: GPT-2 / Hugging Face SynthID Weighted - It does not generate `950000`. - It does not rewrite the 0/128, 0/256, or 0/192 mix scorecards. -See `docs/cycle8/mix-freeze.md` and `docs/product-contract.md`. +See `docs/cycle8/mix-freeze.md`, `docs/cycle8/carrier-research.md`, and `docs/product-contract.md`. diff --git a/docs/product-contract.md b/docs/product-contract.md index 4c674d17..783a145a 100644 --- a/docs/product-contract.md +++ b/docs/product-contract.md @@ -51,11 +51,11 @@ Cycle 8 mix freeze confirmation is not enough. A carrier is product-publishable 1. reproducibility of frozen hashes and deterministic apply; 2. cross-environment visibility invariance on Unicode-capable surfaces; -3. real-world software compatibility, including Latin-1 and literal search; +3. real-world software compatibility on the product surface (UTF-8 only; visible-projection search; Latin-1/ASCII/cp1252 unsupported rather than pretended); 4. known sanitizer weaknesses no longer kill the carriers, or an explicit product decision to accept those sanitizers as out of scope; 5. cross-detector generalization beyond one open GPT-2 SynthID Weighted Mean detector. -`cycle8-mix-publishability-v1` currently fail-closes. See `docs/cycle8/mix-publishability.md`. +`cycle8-mix-publishability-v1` currently fail-closes. Software compatibility now PASSes on that product surface. Sanitizer weaknesses and cross-detector generalization still FAIL. See `docs/cycle8/mix-publishability.md`. U+200C is not authorized. It is a diagnostic baseline and is removed by Cf stripping. diff --git a/evidence/cycle8-mix-mean-transfer-2026-08-26/README.md b/evidence/cycle8-mix-mean-transfer-2026-08-26/README.md new file mode 100644 index 00000000..4b196929 --- /dev/null +++ b/evidence/cycle8-mix-mean-transfer-2026-08-26/README.md @@ -0,0 +1,20 @@ +# Cycle 8 mix Mean versus Weighted Mean transfer + +Status: `HYPOTHESIS`. Not confirmation. Not a second model. Not product authorization. + +This scores the frozen mix apply `u034f-ufe00-letter-alt-v1` on the spent confirmation *source* texts from seeds `830000`, `840000`, and `850000`. It does not regenerate those corpora. It does not retune sites. Residual transformed text is not stored; only source hashes and mix payload hashes are kept. + +Both families are computed from one Hugging Face GPT-2 SynthID observation adapter (`HuggingFaceSynthIDAdapter`, model `openai-community/gpt2`) at the frozen threshold `0.5570987654320988`. + +## Result + +| Family | Mix WM | Mix UW | Identity WM | Identity UW | Mix WM max | +| --- | ---: | ---: | ---: | ---: | ---: | +| Weighted Mean | **0/192** | 0/192 | 185/192 | 2/192 | 0.524300 | +| Mean | **0/192** | 0/192 | 187/192 | 1/192 | 0.520947 | + +Weighted Mean mix max `0.5243003808577579` matches the frozen confirmation scorecard. Identity Weighted Mean 185/192 and 2/192 match confirmation identity counts. That is a sanity check that this runner used the same apply and scoring path. It is not a new 0/192 confirmation. + +Mean 0/192 is the same observations with a different aggregator. It is not an independent model, not a proprietary detector, and not Bayesian-family evidence. + +`product_authorized` is false. Do not generate `950000`. Do not rerun looking for zero. diff --git a/evidence/cycle8-mix-mean-transfer-2026-08-26/SHA256SUMS.txt b/evidence/cycle8-mix-mean-transfer-2026-08-26/SHA256SUMS.txt new file mode 100644 index 00000000..9872caaf --- /dev/null +++ b/evidence/cycle8-mix-mean-transfer-2026-08-26/SHA256SUMS.txt @@ -0,0 +1,2 @@ +aa479c70e82e4fe746d8301eea482dadff3b01d5fef1afa2addaaeefd5fac770 README.md +50f06e4db6a014f37072db8d9ffcd90d29b151e339555ba39558c2daa6f92bbc scorecard.json diff --git a/evidence/cycle8-mix-mean-transfer-2026-08-26/scorecard.json b/evidence/cycle8-mix-mean-transfer-2026-08-26/scorecard.json new file mode 100644 index 00000000..35a68409 --- /dev/null +++ b/evidence/cycle8-mix-mean-transfer-2026-08-26/scorecard.json @@ -0,0 +1 @@ +{"adapter":"HuggingFaceSynthIDAdapter","algorithm_version":"cycle8-mix-mean-transfer-v1","confirmation_rewritten":false,"confirmation_scorecard_version":"cycle8-mix-confirmation-scorecard-v1","do_not_generate_950000":true,"do_not_rerun_looking_for_zero":true,"effectiveness":{"identity_mean_uw":{"detected":1,"n":192,"rate":"1/192"},"identity_mean_wm":{"detected":187,"n":192,"rate":"187/192"},"identity_weighted_mean_uw":{"detected":2,"n":192,"rate":"2/192"},"identity_weighted_mean_wm":{"detected":185,"n":192,"rate":"185/192"},"mix_mean_uw":{"detected":0,"n":192,"rate":"0/192"},"mix_mean_wm":{"detected":0,"n":192,"rate":"0/192"},"mix_mean_wm_max_score":0.5209471766848817,"mix_weighted_mean_uw":{"detected":0,"n":192,"rate":"0/192"},"mix_weighted_mean_wm":{"detected":0,"n":192,"rate":"0/192"},"mix_weighted_mean_wm_max_score":0.5243003808577579},"evidence_label":"HYPOTHESIS","families":["mean","weighted_mean"],"freeze_version":"cycle8-mix-freeze-v1","mechanism_id":"u034f-ufe00-letter-alt-v1","model":"openai-community/gpt2","product_authorized":false,"rows":[{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5296296296296297,"weighted_mean_detected":false,"weighted_mean_score":0.5356902356902357},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5005291005291005,"text_sha256":"c29920c0bcf4b316993e4fcf4315c71c1d3bbf0c3bba5c5d318f15ff6651ca06","weighted_mean_detected":false,"weighted_mean_score":0.511063011063011},"sample_id":"cycle8-830000-00-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"98ca23f458a180a6fd3ca7b0678b17e04f3c598825b056fbb87b09e03a31834c"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6269841269841271,"weighted_mean_detected":true,"weighted_mean_score":0.6294191919191919},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4671717171717172,"text_sha256":"6257ec16b3fade59b35df2ec184ab74964edd805b3bb922d5a9e3830dc2f348a","weighted_mean_detected":false,"weighted_mean_score":0.46953299226026496},"sample_id":"cycle8-830000-00-general_explanatory-watermarked","seed_base":830000,"source_sha256":"d6b80e6579a298ea1602ff355b7f8a43c24768db992bb6522ec6cc601771375d"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5166666666666667,"weighted_mean_detected":false,"weighted_mean_score":0.5094696969696969},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49377777777777776,"text_sha256":"624adebe4f257fa83ae3283f3b8eb6f297c1c980929b2005bf5f01704a649369","weighted_mean_detected":false,"weighted_mean_score":0.49595959595959593},"sample_id":"cycle8-830000-01-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"73feddacdde48755110bd16ad5eb79f4991dd575c0b460604a4ada660fad42bf"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6340996168582376,"weighted_mean_detected":true,"weighted_mean_score":0.6485980494601183},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49955908289241624,"text_sha256":"2053a6d5e8916a9d500515d5d56bcda43fa46052c2379baa34a174fa4406579b","weighted_mean_detected":false,"weighted_mean_score":0.49955908289241624},"sample_id":"cycle8-830000-01-technical_explanation-watermarked","seed_base":830000,"source_sha256":"a50f1617978c8a2cb493829c286a547e6f98b0a388f584586d477bafb359064e"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5303030303030303,"weighted_mean_detected":false,"weighted_mean_score":0.522038567493113},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4782407407407407,"text_sha256":"f3376631bc8b1f0bf0bc5f939044a60646b4609c2beb0cd32223b89f2bc5a0bf","weighted_mean_detected":false,"weighted_mean_score":0.4785248316498317},"sample_id":"cycle8-830000-02-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"5ed5f1297734c760f96bcf3a4f95c2444b4f14d5cd42e8ce0c9789287bfa7024"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6592592592592593,"weighted_mean_detected":true,"weighted_mean_score":0.6497895622895623},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.469773725092874,"text_sha256":"9ab94d60f2fa7ac95fec9c54c58b31c2f7a598fdeb07a6cea2a0b60edffe03ec","weighted_mean_detected":false,"weighted_mean_score":0.4607933437720672},"sample_id":"cycle8-830000-02-conversational_prose-watermarked","seed_base":830000,"source_sha256":"0ceae14fca999af770333eba9fe85bd06d87f9e06da8169ee829d2aa05c9bb15"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5018518518518519,"weighted_mean_detected":false,"weighted_mean_score":0.479503367003367},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4856512141280353,"text_sha256":"9a2f5c932c05b0819c99bc1b2f288e0c9574b07cdd2b14fac72464936b63b29d","weighted_mean_detected":false,"weighted_mean_score":0.48790889022677103},"sample_id":"cycle8-830000-03-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"7ae7ce742fbdc12d28787f1e958599d322586faca9d7a09e4274a519359317af"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6152263374485597,"weighted_mean_detected":true,"weighted_mean_score":0.6249064721286943},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49860613301473516,"text_sha256":"c511dd20b1d40cf1c759f7b6d13a23a43840d323ce0eb4c55c10980eceea9b9b","weighted_mean_detected":false,"weighted_mean_score":0.5037380978241194},"sample_id":"cycle8-830000-03-structured_instructional-watermarked","seed_base":830000,"source_sha256":"9fcde19f0765ac6a1c762bcf3762e1de9ed71c9faeeb96ae4c078b36481d6e38"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.4567901234567901,"weighted_mean_detected":false,"weighted_mean_score":0.46941638608305275},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.482948294829483,"text_sha256":"af0e8de72ca4ccd2dd4584dbb552e93ec82803bd80380b2c4e678020b658b8bd","weighted_mean_detected":false,"weighted_mean_score":0.48429842984298427},"sample_id":"cycle8-830000-04-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"bf3d96d0064849a24d90e8b5131f0c04c65b8c66bf2b44cd0997bfeb7a9e64e9"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6444444444444444,"weighted_mean_detected":true,"weighted_mean_score":0.6520202020202019},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48068498606133014,"text_sha256":"c6c5cf9cb797677976330e3bdfc769872d5fe4d842bfbf5b7d8aa3c9a8746d8a","weighted_mean_detected":false,"weighted_mean_score":0.4817439629267586},"sample_id":"cycle8-830000-04-general_explanatory-watermarked","seed_base":830000,"source_sha256":"350704758d37d414444031ed8b1b15ba870e5d46fc76ae8a63e3ef16ffcc0122"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.47555555555555556,"weighted_mean_detected":false,"weighted_mean_score":0.47555555555555556},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48765432098765427,"text_sha256":"df932e3b5c09364c9477d5b0c6448c9a9dec40941d74f8917bed4b22ae819991","weighted_mean_detected":false,"weighted_mean_score":0.4950617283950617},"sample_id":"cycle8-830000-05-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"6a63967d9518b9bfb8e5c33d3eb4a8f324bfcc8bdf921d8b9d9e78e4a2bb5716"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.5932203389830508,"weighted_mean_detected":true,"weighted_mean_score":0.6005392912172572},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49498746867167914,"text_sha256":"b06fe9f2c18bd680657bc3cb20f30fba6c66d94398b02f2252fafeaa0ccfb376","weighted_mean_detected":false,"weighted_mean_score":0.48883572567783096},"sample_id":"cycle8-830000-05-technical_explanation-watermarked","seed_base":830000,"source_sha256":"2b3897dff66e4363dd76c734fd58bb16b7badd708038d30dd8852634ba98d145"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.49786324786324787,"weighted_mean_detected":false,"weighted_mean_score":0.5262723387723388},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4919962335216573,"text_sha256":"01ebfbfba38af10ce9b7db6ac6aa07f33ffcbb9c426ac0d464caf4c5c61a1405","weighted_mean_detected":false,"weighted_mean_score":0.5008560178051703},"sample_id":"cycle8-830000-06-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"fbcded54c0c2f2c039bf3daf95afe420bc744bb9d251bbc95c81ec6ac927bd82"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6314814814814814,"weighted_mean_detected":true,"weighted_mean_score":0.6519360269360269},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4902597402597403,"text_sha256":"f082aaeeb98b7d0308acfbc57817d5d263254655333f690f15012257e0d506f7","weighted_mean_detected":false,"weighted_mean_score":0.49188311688311687},"sample_id":"cycle8-830000-06-conversational_prose-watermarked","seed_base":830000,"source_sha256":"fd3a58162d3ddcc659e90d72db05ca8a29c134a3dc3964e5cc6f4361837948fc"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4805555555555555,"weighted_mean_detected":false,"weighted_mean_score":0.49021464646464646},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4975845410628019,"text_sha256":"3367bd34ca6844dabf3a1db41d2bc3c859193a0b43b1c16efd37a3b3a912a61d","weighted_mean_detected":false,"weighted_mean_score":0.49709046991655687},"sample_id":"cycle8-830000-07-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"53fe90dcd9ecd799b57860d011f24025a7af7c36e530721e8c29b2c66d3af7bd"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6011904761904762,"weighted_mean_detected":true,"weighted_mean_score":0.6060606060606061},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49557165861513686,"text_sha256":"e31d587f370bcdc8173bd7fd221a1b7612969975b1afe266e63199ce903ffb29","weighted_mean_detected":false,"weighted_mean_score":0.4915367442541355},"sample_id":"cycle8-830000-07-structured_instructional-watermarked","seed_base":830000,"source_sha256":"a340ba6f8e596b79446e2ccea2acf2d49bdeef41c0a16fea354503c9daab3e84"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.49206349206349204,"weighted_mean_detected":false,"weighted_mean_score":0.5124716553287981},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48172514619883033,"text_sha256":"4a16a943d00875eb2b16a0aa6a47740b673baa2d37aa86684fa8a8fc943f3135","weighted_mean_detected":false,"weighted_mean_score":0.47910851940457205},"sample_id":"cycle8-830000-08-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"50ee22344a1276694f1ae75848960628c39a5a23c80afd9ff699f6b1f813ec6a"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6537037037037037,"weighted_mean_detected":true,"weighted_mean_score":0.6627946127946128},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4852369852369852,"text_sha256":"374b0e74a858babb040203b997b345ecb7db630bf570cdc2bd5d4e80545609fb","weighted_mean_detected":false,"weighted_mean_score":0.4892102846648301},"sample_id":"cycle8-830000-08-general_explanatory-watermarked","seed_base":830000,"source_sha256":"f4afebe3fc3f4ebb6853fa8dbc2c81b31cd523061286f4ee800d1156a30fa4e5"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5069444444444444,"weighted_mean_detected":false,"weighted_mean_score":0.5107323232323232},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48677248677248675,"text_sha256":"5f69ee0bffa661f2d58f680c299416b053368e554b2d4ae79759804fe3d514a6","weighted_mean_detected":false,"weighted_mean_score":0.48287638287638285},"sample_id":"cycle8-830000-09-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"5a5aeddeaada75630849c39b0fbf542d37330d0fa11f0da27728e1a10f2556fc"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6431623931623931,"weighted_mean_detected":true,"weighted_mean_score":0.6317987567987567},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48314606741573035,"text_sha256":"b7ba2f7ce3316db3bcca9489c6cdc965e0376c4f0bdad2121115f0b03c3a5696","weighted_mean_detected":false,"weighted_mean_score":0.492254000680967},"sample_id":"cycle8-830000-09-technical_explanation-watermarked","seed_base":830000,"source_sha256":"6a5932fa2fcd6b61be995b8b03d99aff09c527020f764068914ca975fb04fae8"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.5833333333333334,"weighted_mean_detected":true,"weighted_mean_score":0.565771349862259},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4701234567901234,"text_sha256":"bb09d84031c2f5c14dd38b83649772e054c865c7226124ca29ab19eb9c94984e","weighted_mean_detected":false,"weighted_mean_score":0.48527497194163854},"sample_id":"cycle8-830000-10-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"8ab66cc53291c93d9b49aa856e03d658eeed4cfe57c1cb50cdc821ea0a44c6d5"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.628968253968254,"weighted_mean_detected":true,"weighted_mean_score":0.6354617604617604},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4824191279887482,"text_sha256":"98c9dc30e52624f2eae67b9a00a0cf30b74421d3a58c72582a7bcb2fad5caf8d","weighted_mean_detected":false,"weighted_mean_score":0.48738172867919705},"sample_id":"cycle8-830000-10-conversational_prose-watermarked","seed_base":830000,"source_sha256":"364bc8e9c77d8ac64537109ca6da7885b4ce8f44a5c4359649b736db808f65f4"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.46825396825396826,"weighted_mean_detected":false,"weighted_mean_score":0.45891955266955264},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49143767423337315,"text_sha256":"d2f81946bfc1e719f5e0c3b81bdf573d36bdf3da1d6a2b61910f8a8ee51050ca","weighted_mean_detected":false,"weighted_mean_score":0.49103037543897754},"sample_id":"cycle8-830000-11-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"9cc7bdf934993b5f0a424f72f2b8c1ef3c811ec54fc377dccad3eb1a32e203bd"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.5978835978835979,"weighted_mean_detected":true,"weighted_mean_score":0.6065416065416065},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4970171513795675,"text_sha256":"df58210d6bf33ce585e2e4a56021a36704a9e7d09889f7536368671c024fbbf1","weighted_mean_detected":false,"weighted_mean_score":0.5031946986644973},"sample_id":"cycle8-830000-11-structured_instructional-watermarked","seed_base":830000,"source_sha256":"7ddc9c20e31e27d4b3ad7e94266375a04cdb8ba8b158e37b1eb229e39c654500"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.48022598870056493,"weighted_mean_detected":false,"weighted_mean_score":0.4856189008731382},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.483835005574136,"text_sha256":"8e26af96245b62c5676e3961ca045dcd5c19b11ff6a63339ccf95d2645e86880","weighted_mean_detected":false,"weighted_mean_score":0.48717948717948717},"sample_id":"cycle8-830000-12-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"386f28bb25b514003595417d49b7d76db00907f95bce147cdeea07cf2da1d020"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6425925925925926,"weighted_mean_detected":true,"weighted_mean_score":0.6380471380471381},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48491083676268865,"text_sha256":"7b92381c66dffddd35dc6dd9f0d5293ec3a4843cda14896b90df269bede3366e","weighted_mean_detected":false,"weighted_mean_score":0.4795096021947874},"sample_id":"cycle8-830000-12-general_explanatory-watermarked","seed_base":830000,"source_sha256":"fb3cb21cc5ff5043d2c591408712c60041b1051e731abd6d946749e6fb83b8ef"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5042735042735043,"weighted_mean_detected":false,"weighted_mean_score":0.4745532245532246},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49944994499449946,"text_sha256":"f4456ebfc2ab8ead03920ed54728dbdeb377b1a06a61d1a0df677fc7f1255380","weighted_mean_detected":false,"weighted_mean_score":0.49157415741574156},"sample_id":"cycle8-830000-13-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"0397a19a70183bcdb9ad72f129995eeef72ea71e4c3a2e2ed1deb778019803c3"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6798493408662901,"weighted_mean_detected":true,"weighted_mean_score":0.6883239171374764},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5023778642455685,"text_sha256":"9e949509956e04c5ffcad9a788bbe30d4d95bb0c7a41a672a23687ccaa305073","weighted_mean_detected":false,"weighted_mean_score":0.5076838423141925},"sample_id":"cycle8-830000-13-technical_explanation-watermarked","seed_base":830000,"source_sha256":"d78c006bb8e1947ee98e87c16ed9e0fe511083bea11ec66ad50b56e8e4253391"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.48518518518518516,"weighted_mean_detected":false,"weighted_mean_score":0.48897306397306395},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49317738791423,"text_sha256":"cea469097cb0157cf61550c3fd2700e158874a44b7fac807f89965af9a6f3261","weighted_mean_detected":false,"weighted_mean_score":0.49716462874357614},"sample_id":"cycle8-830000-14-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"dd80a5e68f41780374d1629356e382dd78594c6a9d83be220f93a742d988ba8c"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.645224171539961,"weighted_mean_detected":true,"weighted_mean_score":0.6476165160375686},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4769038701622971,"text_sha256":"6165a2a67ca88b658877a11162eae91a5c004448a86af7fd01f5246c6c50f480","weighted_mean_detected":false,"weighted_mean_score":0.48005334241289294},"sample_id":"cycle8-830000-14-conversational_prose-watermarked","seed_base":830000,"source_sha256":"070ad550a5eb9526205afde3eff27d3d64aac23a47bdb36930d5b18ffaa99969"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5107212475633528,"weighted_mean_detected":false,"weighted_mean_score":0.520689349636718},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4992641648270787,"text_sha256":"a2f1b817ff58af703276024b5036c4ec000241f3c9c0078c09a489e753602de8","weighted_mean_detected":false,"weighted_mean_score":0.5000919793966151},"sample_id":"cycle8-830000-15-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"d4abee43e7686ae1538f38f4e2f4b4d4b713b2e61f065bb224f879c907851948"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.58656330749354,"weighted_mean_detected":true,"weighted_mean_score":0.5918487197556964},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4930320150659133,"text_sha256":"b50f43b8d0e5e9a61bafa34869f69dcf3a24b62fc3eca25bb42e45fb58f09c0d","weighted_mean_detected":false,"weighted_mean_score":0.49634480397192265},"sample_id":"cycle8-830000-15-structured_instructional-watermarked","seed_base":830000,"source_sha256":"a1b6ddfb8ad2078409bf692188b08bc0afb7929eb570e28f5518992a0acab15e"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.49444444444444446,"weighted_mean_detected":false,"weighted_mean_score":0.5031565656565656},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4873658705434406,"text_sha256":"87c9f1d92e1b0bd4f01c9f15d351b0c19e457f7f0b1c0124a2a46c5960b88235","weighted_mean_detected":false,"weighted_mean_score":0.4966408634632934},"sample_id":"cycle8-830000-16-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"05d657673c2657fc72385c5cdc76dd0c91ed0d7b061c82f9d9b6ccd1e373ec7a"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6759259259259259,"weighted_mean_detected":true,"weighted_mean_score":0.6740319865319865},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49848828420256985,"text_sha256":"725817c1f713e04159b799abbc6fe801d138c40905f40a72918bdaf032489f7d","weighted_mean_detected":false,"weighted_mean_score":0.4981017659589088},"sample_id":"cycle8-830000-16-general_explanatory-watermarked","seed_base":830000,"source_sha256":"194e1d372f77ba02902804512e362605a5d23ea8db0c33c2e4945eb67b9fd2c9"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.45959595959595956,"weighted_mean_detected":false,"weighted_mean_score":0.44978191000918266},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4917171717171717,"text_sha256":"a67bf020eff37d822861f340824475ed37d7d664e8ec662682ae4a7317f3c07b","weighted_mean_detected":false,"weighted_mean_score":0.4984940312213039},"sample_id":"cycle8-830000-17-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"c9bf5e18336af2f9278b121744c4c2ef5990338ddfffe36d30c05d348bfa2cc7"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6459510357815442,"weighted_mean_detected":true,"weighted_mean_score":0.6559664441020373},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4933504933504933,"text_sha256":"7a7204c0c39edef1b2205079e37c37dbf882513b279841575eb9cdd52c44c9c1","weighted_mean_detected":false,"weighted_mean_score":0.4976502476502477},"sample_id":"cycle8-830000-17-technical_explanation-watermarked","seed_base":830000,"source_sha256":"cc4f912a22b59932bda008cab814511d1e091165b315bc6236734c1bd3f05d4e"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5277777777777778,"weighted_mean_detected":false,"weighted_mean_score":0.5266414141414141},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4768995799923635,"text_sha256":"ddd35bce21f7d76d2bd75e561b9e57c7e15346876c9ee8cc6922128b97096de2","weighted_mean_detected":false,"weighted_mean_score":0.4791644972057343},"sample_id":"cycle8-830000-18-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"3926b7b8d2b72ddb96e998f35b05914c00e9009b666e777f4587ce21983734cb"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6139359698681732,"weighted_mean_detected":true,"weighted_mean_score":0.6016093134737203},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49505327245053266,"text_sha256":"ffb19e33105600da8b902b6cfc17d56b79a82b05197649d7b1361e129f10079d","weighted_mean_detected":false,"weighted_mean_score":0.4985557631105576},"sample_id":"cycle8-830000-18-conversational_prose-watermarked","seed_base":830000,"source_sha256":"b234e8d5bc518e376631482c54b21b3db2790fcde0ba5746b62669fbdeb3bc8a"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4962962962962963,"weighted_mean_detected":false,"weighted_mean_score":0.5122053872053872},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5033610122578094,"text_sha256":"f46904d6a71a16f9deccfe6bd8bcc2e15889db8a76b82de2ca1b19f897181ad3","weighted_mean_detected":false,"weighted_mean_score":0.5071623710413746},"sample_id":"cycle8-830000-19-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"4c383fe7a32fe899cdd55af6710f9a7c7557ab8e82e7cb6e857d6bbce1237ce8"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6518518518518518,"weighted_mean_detected":true,"weighted_mean_score":0.6707912457912458},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49707602339181284,"text_sha256":"30684074428076f0a8d49c7b2c9c0c77e81f6d4e0a08317da7665cf2b258c25d","weighted_mean_detected":false,"weighted_mean_score":0.4988304093567251},"sample_id":"cycle8-830000-19-structured_instructional-watermarked","seed_base":830000,"source_sha256":"d7760eac834d96624ef2907515a61ffc0935176831adcc21a111d614ff8dcc78"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5166666666666667,"weighted_mean_detected":false,"weighted_mean_score":0.5375},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4868078781122259,"text_sha256":"01773fcfa752f74d48e223b2140d40a443df16827d7416a80cde789c1b307e59","weighted_mean_detected":false,"weighted_mean_score":0.49038039255430554},"sample_id":"cycle8-830000-20-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"09aa7d7ffd3b7a72753ebdc8139d52a09c9254ed3d8b01ec0cf7b20be3dcc73b"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6518518518518518,"weighted_mean_detected":true,"weighted_mean_score":0.6370791245791245},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5032051282051282,"text_sha256":"611a2cc82b5d03a48ced9c9c1051377ebff657cf018638408c405b746f891ac9","weighted_mean_detected":false,"weighted_mean_score":0.5018939393939394},"sample_id":"cycle8-830000-20-general_explanatory-watermarked","seed_base":830000,"source_sha256":"627b03d75d899b5b7c2b2b662c9d69fb340ff0fb5cb4e5e4d9786acd05fefcc5"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5191919191919192,"weighted_mean_detected":false,"weighted_mean_score":0.516712580348944},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4939531368102797,"text_sha256":"5125ac42bd78c05cffcd50fc00d5cc0b59222b322151ca7b22e2d59c43d3e0b8","weighted_mean_detected":false,"weighted_mean_score":0.49372122586408296},"sample_id":"cycle8-830000-21-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"d007e5f4a77e5ad931edef461d258ebf54fbe9f1902e369bb1e147e3b6106eda"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6222222222222222,"weighted_mean_detected":true,"weighted_mean_score":0.6358585858585858},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5034453057708872,"text_sha256":"ed334c78aa076259907da0b77a8d52fe870d21ce7b9ac5373a834d0f3ac8a0d8","weighted_mean_detected":false,"weighted_mean_score":0.502123952705348},"sample_id":"cycle8-830000-21-technical_explanation-watermarked","seed_base":830000,"source_sha256":"8cb16a09a730889b09a238d4cb23141ca281902acb77736dcb27bdb5e11c7783"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.48333333333333334,"weighted_mean_detected":false,"weighted_mean_score":0.4810606060606061},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4942012719790497,"text_sha256":"b92eab65fbaeac263fb980fc76a74cb56edcf996ae3c1a6b0c634463cf0c3ccf","weighted_mean_detected":false,"weighted_mean_score":0.4922882018841615},"sample_id":"cycle8-830000-22-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"cb510695f0f0c5ffdb1c62c45dbea727a5e614bb4cc9b7108bb1cbc524259a4b"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5306122448979592,"weighted_mean_detected":false,"weighted_mean_score":0.5153061224489796},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.47831978319783197,"text_sha256":"710aa7306ffe674d94ad364155a32dc675f83036b179dfa0c46cdce740c4e744","weighted_mean_detected":false,"weighted_mean_score":0.47758068489775807},"sample_id":"cycle8-830000-22-conversational_prose-watermarked","seed_base":830000,"source_sha256":"f91beb6314519225c0f73e49d710d7cea89b4f7eb9bd9050238fcc45074051d2"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4962962962962963,"weighted_mean_detected":false,"weighted_mean_score":0.509553872053872},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4756833510827121,"text_sha256":"bc5b4571c8a59b03c64d12f1dc622578805d8a4a9612eec6716c79ee31f24bd5","weighted_mean_detected":false,"weighted_mean_score":0.4727062961887243},"sample_id":"cycle8-830000-23-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"9c634410342e86984fa49cf4ca96de1be998c3f8ca9701b6a75cd47940caf562"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.58,"weighted_mean_detected":true,"weighted_mean_score":0.58},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49004705030763657,"text_sha256":"17b0211c57ad01e999627a48c767151e31c246ebe1f3c7d6202a24641db12936","weighted_mean_detected":false,"weighted_mean_score":0.4933043792978646},"sample_id":"cycle8-830000-23-structured_instructional-watermarked","seed_base":830000,"source_sha256":"d8ec19d7171e7acbe366018ef670be2074dc977974d95176e941444ae29cd45b"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.4888888888888889,"weighted_mean_detected":false,"weighted_mean_score":0.4824494949494949},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4837490551776266,"text_sha256":"f7874fe1d53e694cae74a6ac2c7079db0605e2a213b222e05c1c2b3cc7a76fb5","weighted_mean_detected":false,"weighted_mean_score":0.48830997045282765},"sample_id":"cycle8-830000-24-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"529f70ce99458a2b76909a686dd24ff548dcb032af599b86bc8dc952c24a6660"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6351851851851851,"weighted_mean_detected":true,"weighted_mean_score":0.651473063973064},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4762915782024062,"text_sha256":"561f9d308981ee897f5bd15cc98c5a82e62226e938496b82dac1f78409a93d41","weighted_mean_detected":false,"weighted_mean_score":0.48041722962105127},"sample_id":"cycle8-830000-24-general_explanatory-watermarked","seed_base":830000,"source_sha256":"f232284bde2389d937524e1194480195e52e0ff724388407e3f545f6670e1398"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.4722222222222222,"weighted_mean_detected":false,"weighted_mean_score":0.457449494949495},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49451597520267043,"text_sha256":"047787b34d2f89217efdefc9ec676ce812554450591377af414a1512722f49f1","weighted_mean_detected":false,"weighted_mean_score":0.49666189794945154},"sample_id":"cycle8-830000-25-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"2be296a4aeb986ee75245409b9235182a4e459a2cd39f582ca03b2cae7637245"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6239316239316239,"weighted_mean_detected":true,"weighted_mean_score":0.653069153069153},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4898093359631821,"text_sha256":"d9ece5ad75ded01d00f50954413163857323c1ccd500bb04a59861751a1edf50","weighted_mean_detected":false,"weighted_mean_score":0.49357480126710895},"sample_id":"cycle8-830000-25-technical_explanation-watermarked","seed_base":830000,"source_sha256":"6b56fadb2c8fd6e2010f7823529be855783732b60e992821f12ab51305d726b7"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.4907407407407407,"weighted_mean_detected":false,"weighted_mean_score":0.4771043771043771},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48839137645107794,"text_sha256":"9775a90c44d976dd7002433a5eae0c4fbf8d09a7dd20b5979dbe9a9fb569cf65","weighted_mean_detected":false,"weighted_mean_score":0.49263153927333025},"sample_id":"cycle8-830000-26-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"7f0a11ae50605f3384d656524f9fe871c75d4dbdbe16e3fb9419ecbef50448fc"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6436781609195402,"weighted_mean_detected":true,"weighted_mean_score":0.669932079414838},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4902177925433739,"text_sha256":"c901b63e2a5f2b67212bec35e7c98f1216aa634094b7a4a1eaa49421c8dc48f5","weighted_mean_detected":false,"weighted_mean_score":0.49935400516795864},"sample_id":"cycle8-830000-26-conversational_prose-watermarked","seed_base":830000,"source_sha256":"14c1cd283b9f52eaa669193402ab5ed90ddfb74cbaaf32a86add6108250fd2f4"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5444444444444444,"weighted_mean_detected":false,"weighted_mean_score":0.5417929292929293},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5010822510822511,"text_sha256":"49b78dc4f97bd3bed4169a4873c49b3f6e6f7467671b9c632ef8f465bda6c76f","weighted_mean_detected":false,"weighted_mean_score":0.5048455332546242},"sample_id":"cycle8-830000-27-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"8b8367681b1864a6da555e44455bed82f970dc63bc7646fb8f54a91cdb5eb9cc"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6354775828460039,"weighted_mean_detected":true,"weighted_mean_score":0.627104377104377},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4880174291938998,"text_sha256":"f401c2ad7474a07eb7e0a767bbf65d6ab27a964aa07d7c1189aca3a2557de23a","weighted_mean_detected":false,"weighted_mean_score":0.4926520102990691},"sample_id":"cycle8-830000-27-structured_instructional-watermarked","seed_base":830000,"source_sha256":"773a79b828818de485432945f9e572c2fc6981f87c1d18c30b7b0f5321d33db6"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5022222222222222,"weighted_mean_detected":false,"weighted_mean_score":0.5049494949494949},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4870848708487085,"text_sha256":"4659cf01f00ec9aabff019e2979764fe456874020ab6cbd5fab0a0187316f4e7","weighted_mean_detected":false,"weighted_mean_score":0.4872525997987252},"sample_id":"cycle8-830000-28-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"c09b81152dcdab394b1813ade7354410e0a0eaacc1914d78e81d968f50a25f23"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.611111111111111,"weighted_mean_detected":true,"weighted_mean_score":0.6095437129919887},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5033112582781457,"text_sha256":"39e3918c42b24b1f12b6976098402db2b3a11639cc50a312ec4598f8929028f2","weighted_mean_detected":false,"weighted_mean_score":0.5039133052378085},"sample_id":"cycle8-830000-28-general_explanatory-watermarked","seed_base":830000,"source_sha256":"d74406b87e68e7e2def5086f5b9a24678b3e75e1c62ee4b88ea8f6e8190c3fe1"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.48775894538606407,"weighted_mean_detected":false,"weighted_mean_score":0.48852936141071734},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.47518664909969255,"text_sha256":"f4ef9b65f07ea8c474b27b3fe47fb66b7f9ad3712fe9d0f975eedea2ad99c07d","weighted_mean_detected":false,"weighted_mean_score":0.4749171557471953},"sample_id":"cycle8-830000-29-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"d458e40e3e13e8a1dde781f38ffaf36d345f5f22ab926d7eb2eb1d9f3de2aa5e"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6425925925925926,"weighted_mean_detected":true,"weighted_mean_score":0.6213804713804714},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5049751243781095,"text_sha256":"1f4057400b0173be3223244e04cc6c8f5ed9d7c584e5fa3fcabb305acc229fb2","weighted_mean_detected":false,"weighted_mean_score":0.49403550429669835},"sample_id":"cycle8-830000-29-technical_explanation-watermarked","seed_base":830000,"source_sha256":"1b23e0fb0d609059326c75dd8272253031c73b4775de3550cf2f51232465798c"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5055555555555555,"weighted_mean_detected":false,"weighted_mean_score":0.49154040404040406},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48939230492628555,"text_sha256":"7015efb32431a0916c8ff71822c75b62935cbf9ebef0346958a0fa504a57ac73","weighted_mean_detected":false,"weighted_mean_score":0.4873328756823902},"sample_id":"cycle8-830000-30-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"fae9cc62eefd84b7dd9caa1956a3e23315ed7b9f3940c3e10b51f307700763c1"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6121212121212121,"weighted_mean_detected":true,"weighted_mean_score":0.6174931129476584},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4857699805068226,"text_sha256":"db8abd8a373fa575916d87952294681fcc2765abfb8269c0de14a05e8cc9c929","weighted_mean_detected":false,"weighted_mean_score":0.4890395179868864},"sample_id":"cycle8-830000-30-conversational_prose-watermarked","seed_base":830000,"source_sha256":"c53b6964263d2ad64e1ef571c8dad3c3af0f90b46f4460da2d1f1cd1eb6eee3f"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4990583804143126,"weighted_mean_detected":false,"weighted_mean_score":0.4994435884266393},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4987834549878345,"text_sha256":"b3962a3a1d1854a471173551de9a6622cb7652e61d009b72679bf3fb6c3bc66b","weighted_mean_detected":false,"weighted_mean_score":0.49770515372705154},"sample_id":"cycle8-830000-31-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"dbdd0077cf47c6391222c3e9de0c74809179ce98982889c9376a33e8b757f8f9"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.634920634920635,"weighted_mean_detected":true,"weighted_mean_score":0.6438492063492064},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5086071987480437,"text_sha256":"eb4ca970d175a2b19c6ab07f3a3ec5de770d0b340589618f3d2a393d2cbe2130","weighted_mean_detected":false,"weighted_mean_score":0.5091673780054061},"sample_id":"cycle8-830000-31-structured_instructional-watermarked","seed_base":830000,"source_sha256":"5cb5f858615afe3cd8d1496a0639b5b3e0b525a58f24c76f808d79bd27452837"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.524904214559387,"weighted_mean_detected":false,"weighted_mean_score":0.5256879136189481},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5011737089201879,"text_sha256":"19d62b8db0794c6ddbdb79c9ab16731431b2501a43e81d14e921554d2be55b3b","weighted_mean_detected":false,"weighted_mean_score":0.5058151941954759},"sample_id":"cycle8-830000-32-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"d19f5c611fd0fd56718e254ec06e54254ab430ba1f84a34d3f077137e562964d"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6440677966101694,"weighted_mean_detected":true,"weighted_mean_score":0.652542372881356},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48856799037304455,"text_sha256":"9a381952e4217195c865f4a8384a757a5c7539829825bffc5c982edf7ee5bc46","weighted_mean_detected":false,"weighted_mean_score":0.4848758341538125},"sample_id":"cycle8-830000-32-general_explanatory-watermarked","seed_base":830000,"source_sha256":"6df80ff15d2311f78d6c3a79c9f09bc447b4287d249a8721e6e20a13f6a05831"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.512962962962963,"weighted_mean_detected":false,"weighted_mean_score":0.4981902356902357},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4854406130268199,"text_sha256":"9b226b751b72e3910387d15d0a59bcae518c670307dece580cbfb9ababde4db1","weighted_mean_detected":false,"weighted_mean_score":0.49022117729014275},"sample_id":"cycle8-830000-33-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"da0da3e2f439390cbf93de4f8bb6e3d3c43f10c750c1e167c7113b2673f49707"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.5995370370370371,"weighted_mean_detected":true,"weighted_mean_score":0.6165824915824916},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5046296296296297,"text_sha256":"2b366c69694596c6b1ff1d73c4c6c2d42006739caa76aeed80f1f5d920472023","weighted_mean_detected":false,"weighted_mean_score":0.5083122895622896},"sample_id":"cycle8-830000-33-technical_explanation-watermarked","seed_base":830000,"source_sha256":"40d5f1b797527509e31b8e5e920c2c53b73743df7bda92750244423f4ae34880"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.48559670781893005,"weighted_mean_detected":false,"weighted_mean_score":0.5100074822297044},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48230452674897123,"text_sha256":"b417990f1f057093b8e567147f2dfcb22fdc923a2e5ecb8e9bee2b9b67b418b2","weighted_mean_detected":false,"weighted_mean_score":0.48769173213617656},"sample_id":"cycle8-830000-34-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"13f254b1efa0b4853eb9568f0c0477129c100c3a98327e1db53dbd398418f894"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6166666666666667,"weighted_mean_detected":true,"weighted_mean_score":0.615530303030303},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4936507936507937,"text_sha256":"2aa65ca77e65b76ca7e944b83f05edaa3da35fbfda1022b232273655323bb9f1","weighted_mean_detected":false,"weighted_mean_score":0.4908098845598845},"sample_id":"cycle8-830000-34-conversational_prose-watermarked","seed_base":830000,"source_sha256":"d9b4595e7fd376d4e9306c311d79d50aef469c6def3465884c3908ea891322fb"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4656084656084656,"weighted_mean_detected":false,"weighted_mean_score":0.47101972101972106},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49610136452241715,"text_sha256":"4f8db92ffc5d4e8f53988663901dc9ea9da0252b849b343f8f98cd3de8b60a7a","weighted_mean_detected":false,"weighted_mean_score":0.4916157185894028},"sample_id":"cycle8-830000-35-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"a9f1328525dac3ab19612b0fa52920780495279e16f6c8710c93917bf274289b"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6101694915254238,"weighted_mean_detected":true,"weighted_mean_score":0.6255778120184899},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4957264957264957,"text_sha256":"3a8f3ecbdc623b883686fc5aebb5da932bd82a0a1ba646b38bfe0338325dbb5e","weighted_mean_detected":false,"weighted_mean_score":0.4987859362859363},"sample_id":"cycle8-830000-35-structured_instructional-watermarked","seed_base":830000,"source_sha256":"de10f69f1cfd039833618114efb0b5a6deae0f601c54b45df2326231e83dc7a5"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.4814814814814815,"weighted_mean_detected":false,"weighted_mean_score":0.47693602693602694},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49614197530864196,"text_sha256":"9d328296c31d01d705817e25be1b34e0f8fb9fd91e7ca576b2b7290e46b64336","weighted_mean_detected":false,"weighted_mean_score":0.5070321268237934},"sample_id":"cycle8-830000-36-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"1261ac22d4569eba2f2969ceda67edcf24b05cd565355885de7cb63b2423f4ed"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6458333333333334,"weighted_mean_detected":true,"weighted_mean_score":0.6680871212121212},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48782343987823434,"text_sha256":"29a385b429e229445c204bb0216276e95bca7a27acdc1cfb2092d7bc62d858ef","weighted_mean_detected":false,"weighted_mean_score":0.4849436142244361},"sample_id":"cycle8-830000-36-general_explanatory-watermarked","seed_base":830000,"source_sha256":"d4555e11889e69c7b027f542b2e2feffd9f8c82abcf7e7eae3f8d1450c67d387"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.527306967984934,"weighted_mean_detected":false,"weighted_mean_score":0.528462592021914},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4850208570345089,"text_sha256":"fa2ab0d5adec51ba42722997ed84b21498f2c435539b2fd0707c87518c0c61fb","weighted_mean_detected":false,"weighted_mean_score":0.4898300410245803},"sample_id":"cycle8-830000-37-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"681602635e2ca76c49edbc630a5b0ee1fc4b65dd127b9bf739a7815401352fd1"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6798493408662901,"weighted_mean_detected":true,"weighted_mean_score":0.6987245334702962},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4818244170096022,"text_sha256":"67fb05eff0b9cdfa6d6ef9b08d77133b0dcea62aac2269aa8539dd4920532f62","weighted_mean_detected":false,"weighted_mean_score":0.47915887267739116},"sample_id":"cycle8-830000-37-technical_explanation-watermarked","seed_base":830000,"source_sha256":"c4075f6b6008ca52c594aab0e8568707307de417eafda9b994620d41dd13c26c"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5087719298245613,"weighted_mean_detected":false,"weighted_mean_score":0.49202551834130775},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4963312368972746,"text_sha256":"e0ae66b9d821cceb73d6ba5c29881d1e5c5fd7d8fabf491da2f1575849bf255e","weighted_mean_detected":false,"weighted_mean_score":0.48378835525061936},"sample_id":"cycle8-830000-38-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"ddd03e09aa9535398de1ee5147e551ee70b26a949a491d56fa100aedbed1724c"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6432748538011696,"weighted_mean_detected":true,"weighted_mean_score":0.6420786815523657},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49911253106141285,"text_sha256":"6125940cfa72d553c1dea1a4283af850ca2befabafbdf309787949f435236cca","weighted_mean_detected":false,"weighted_mean_score":0.4924323103236841},"sample_id":"cycle8-830000-38-conversational_prose-watermarked","seed_base":830000,"source_sha256":"076a724a59f4a4001394f91143e8f2ac1b8d0e5cc0b4bef6d77b5388768bc22e"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4444444444444445,"weighted_mean_detected":false,"weighted_mean_score":0.44898989898989894},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4791666666666667,"text_sha256":"77c75b663c8ef525443e86bacf332b9effa1d119ec30692f45ac6443ab259688","weighted_mean_detected":false,"weighted_mean_score":0.474905303030303},"sample_id":"cycle8-830000-39-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"06cc538df4676ff2ddeeb4f975111ea3d1a6b1386c6f4f966490862d5d8b6113"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6277777777777778,"weighted_mean_detected":true,"weighted_mean_score":0.626641414141414},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49847792998477924,"text_sha256":"762346bf6348afc128bf8a60f1e3099426802237606b15231d0c3eafb7700715","weighted_mean_detected":false,"weighted_mean_score":0.5054050781790508},"sample_id":"cycle8-830000-39-structured_instructional-watermarked","seed_base":830000,"source_sha256":"079b7b6c387afb579cf6e44442ab398d9b64f7249bfc9b34b8434bbeca8acfa2"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.4907407407407407,"weighted_mean_detected":false,"weighted_mean_score":0.49187710437710436},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.47894103489771356,"text_sha256":"d1e847a08988e49c19daf747730206b77db87d8a20677da24bfb30a2482e9078","weighted_mean_detected":false,"weighted_mean_score":0.4767257411661744},"sample_id":"cycle8-830000-40-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"cbfc6f909ea65930e9468a3af8b7f8a2c5a75cd1de0770e50b4839febbdb9bf5"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6703703703703704,"weighted_mean_detected":true,"weighted_mean_score":0.6707491582491583},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.497140522875817,"text_sha256":"234199ed02da3c1f5864cc7e86808cb1ab9db5e008b8ded14d8be32c084ab940","weighted_mean_detected":false,"weighted_mean_score":0.5066659239453356},"sample_id":"cycle8-830000-40-general_explanatory-watermarked","seed_base":830000,"source_sha256":"e31baaed233fd7543a2b2ad65577ba00d03d13813c4d54902c1fe3727667382c"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5013550135501356,"weighted_mean_detected":false,"weighted_mean_score":0.517430401576743},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5036185610898254,"text_sha256":"901de03c60653f01f29024cbc8a187ae4cc3018010f8a9c013dfe3811ebd939e","weighted_mean_detected":false,"weighted_mean_score":0.5023994736638414},"sample_id":"cycle8-830000-41-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"b33987fe5e9474b749fdfa44b0f1f03f929ec4b5cfdd114a590ae74bc5ca472a"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.576271186440678,"weighted_mean_detected":true,"weighted_mean_score":0.5905238828967642},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49944994499449946,"text_sha256":"873b4f229311e8a7fbda795ae3410eefb5da2376892bfc1f61f74cdf0e2156db","weighted_mean_detected":false,"weighted_mean_score":0.4965996599659966},"sample_id":"cycle8-830000-41-technical_explanation-watermarked","seed_base":830000,"source_sha256":"c74d79d2b226e510aeab72c09cfc1e0a5eed7ed8bce8b307c8517e49a4ab7165"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5440613026819923,"weighted_mean_detected":false,"weighted_mean_score":0.536224312086381},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49345304900860454,"text_sha256":"d1ada8f03eb1ddb24d06aac81332f25dd346861228b65cc1746d521227d8c43d","weighted_mean_detected":false,"weighted_mean_score":0.49926878209706493},"sample_id":"cycle8-830000-42-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"1e76832cef297848fe9891b66310c7392308005300e903d77492d5d0dff0d66b"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6333333333333333,"weighted_mean_detected":true,"weighted_mean_score":0.6325757575757576},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5012750455373406,"text_sha256":"41382d6c6401c05bf5ad0af6ba005390421ff9ddc6dcdd3a4e0d4303fe8798d1","weighted_mean_detected":false,"weighted_mean_score":0.5070127504553734},"sample_id":"cycle8-830000-42-conversational_prose-watermarked","seed_base":830000,"source_sha256":"64911d16794f7c9e5b8c249e44bff4fbe781dda598c6281143d0055b25f8fed7"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4814814814814815,"weighted_mean_detected":false,"weighted_mean_score":0.4689814814814815},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5017667844522968,"text_sha256":"9894153da9b76e8f42214e86b68988d8fc1af18c5a8572342476f3767b14e409","weighted_mean_detected":false,"weighted_mean_score":0.5081914551879216},"sample_id":"cycle8-830000-43-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"fad3fd29ee576cb97cbb625b618c885e66ac2cb440434613033fefc910d3512a"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.5697399527186762,"weighted_mean_detected":true,"weighted_mean_score":0.5644208037825059},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4912054912054912,"text_sha256":"7d15136cfee460b655277a09d00a0c8cfba2a59c0b7c0a5771be13ab18596328","weighted_mean_detected":false,"weighted_mean_score":0.4991029991029991},"sample_id":"cycle8-830000-43-structured_instructional-watermarked","seed_base":830000,"source_sha256":"31ef81d3a1e0a270809321a66e0bddd14cd052962a3cdac19fca003019f9bcd0"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5341130604288499,"weighted_mean_detected":false,"weighted_mean_score":0.5345117845117845},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4888103651354535,"text_sha256":"1207171253d1e21ebadea6e16ba0c87a95cf4997bbede31807aab537bc4455e5","weighted_mean_detected":false,"weighted_mean_score":0.49033622443516434},"sample_id":"cycle8-830000-44-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"31ce364601c05f3b8a608b1561106f2d77d1584e478249ca7ae1233eeb3d6b32"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6518518518518518,"weighted_mean_detected":true,"weighted_mean_score":0.6711700336700337},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4884990253411306,"text_sha256":"72187e0d9dbb70caba94aa29194b846cafdbc929602877f5dd29e20f85d1afbd","weighted_mean_detected":false,"weighted_mean_score":0.4896154527733475},"sample_id":"cycle8-830000-44-general_explanatory-watermarked","seed_base":830000,"source_sha256":"a5063f99bb6cd30efee21cf6ec8ef79b9fe372ab0ab3545333b31184762fe912"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5212121212121212,"weighted_mean_detected":false,"weighted_mean_score":0.5117079889807162},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4819121447028424,"text_sha256":"98d325eb3cc8a2f91d4be2ceed63c668d466f6797f8ba370f1842544c3f07ccf","weighted_mean_detected":false,"weighted_mean_score":0.48490721165139766},"sample_id":"cycle8-830000-45-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"031f7ca298c31a931ce6647d961d412f17ed2bdbe38fe9910d2c22f5da082cb7"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.5870020964360587,"weighted_mean_detected":true,"weighted_mean_score":0.5818562988374308},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48216106014271154,"text_sha256":"7ceac667a348044c49acf970642780f7e5f72c32c563b3a552bf5f308389fa80","weighted_mean_detected":false,"weighted_mean_score":0.4853929200259476},"sample_id":"cycle8-830000-45-technical_explanation-watermarked","seed_base":830000,"source_sha256":"fdc28ed8e1bfd9b7f00abb1bd6c18f643e6d354069b1a120e1ce56c3da1e393f"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.498015873015873,"weighted_mean_detected":false,"weighted_mean_score":0.47528860028860026},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4952919020715631,"text_sha256":"4c5d84069ee4663d26defe3a6f45a5225a760a934cc6f4afed7ea117b71d16af","weighted_mean_detected":false,"weighted_mean_score":0.4908234891285739},"sample_id":"cycle8-830000-46-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"66b28da8559bf6f8dae32d725a48de0dd1e391dfc0c3500dea68f1cfe62842a8"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6007532956685498,"weighted_mean_detected":true,"weighted_mean_score":0.6296438965930491},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4854014598540146,"text_sha256":"f70e4387b0b4fc51a52dc5e10966bae44ab967a5a1ce17376a390fab1d8ab46c","weighted_mean_detected":false,"weighted_mean_score":0.4861479761114797},"sample_id":"cycle8-830000-46-conversational_prose-watermarked","seed_base":830000,"source_sha256":"4105e9bb81b9ccf9772677b842808014b24e3c5811a3456812754d806e10d1f4"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5353535353535354,"weighted_mean_detected":false,"weighted_mean_score":0.5415518824609733},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49572649572649574,"text_sha256":"9c1c8545b931c262466312f31e4e6e040d44081eae2b199efbb73c85d30f9178","weighted_mean_detected":false,"weighted_mean_score":0.49967906489645614},"sample_id":"cycle8-830000-47-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"93dc630d6be1a8872407338fe23fc7e88366dbc87572ce53d952220bc64b11b7"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.5853658536585366,"weighted_mean_detected":true,"weighted_mean_score":0.5992239467849223},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5056360708534621,"text_sha256":"b7f2081147570066136eade618a54c8148106c91de715d816abd3dd984594be4","weighted_mean_detected":false,"weighted_mean_score":0.5139529351485873},"sample_id":"cycle8-830000-47-structured_instructional-watermarked","seed_base":830000,"source_sha256":"d1156377b6e1557411068e05b22ff2a16c3a5f9ecc993e10b27ef62c1b7914f1"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5224171539961013,"weighted_mean_detected":false,"weighted_mean_score":0.5048732943469786},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4829396325459317,"text_sha256":"b4168754882d990f9a00dd561f7f14bae5cc44c5d55b52f25f9fd1b09e6080b6","weighted_mean_detected":false,"weighted_mean_score":0.4840133619661179},"sample_id":"cycle8-830000-48-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"b34c996c24535339d75065eb22a8b6f80cfaad5a21b0277fa55d686a34dc6fe5"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.65,"weighted_mean_detected":true,"weighted_mean_score":0.6662878787878788},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49823321554770317,"text_sha256":"f1413806ce285add506ea8734f6830b0c7b467d7997b4adf5cc911ef5e04224c","weighted_mean_detected":false,"weighted_mean_score":0.5085126887247029},"sample_id":"cycle8-830000-48-general_explanatory-watermarked","seed_base":830000,"source_sha256":"943a74279e4d14e9cb02dc1a231271781649e1a9c280325455999615acb53afc"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.49902534113060426,"weighted_mean_detected":false,"weighted_mean_score":0.5097908913698387},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48978758169934644,"text_sha256":"add6170d8a0a7a5a247e0fd443b71f83d5916ac445f22574c2532f6ace6d074c","weighted_mean_detected":false,"weighted_mean_score":0.49471739453357105},"sample_id":"cycle8-830000-49-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"88bf00b81c0d2c23355a5283c399cb98544cc820fa5fdeb3869855357eb7e1eb"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.602880658436214,"weighted_mean_detected":true,"weighted_mean_score":0.5830995136550692},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.479664570230608,"text_sha256":"88278fb7f2ad81a8bd20d6d8c03d265c44d47d3bc6fd684d62e1b7182aa2d214","weighted_mean_detected":false,"weighted_mean_score":0.4805222031637126},"sample_id":"cycle8-830000-49-technical_explanation-watermarked","seed_base":830000,"source_sha256":"5bdb5aecb91784a3395a17acbbc7d9bdcfe282cca6d44e627220ae83a92d75f6"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.49056603773584906,"weighted_mean_detected":false,"weighted_mean_score":0.4691252144082333},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48798328108672934,"text_sha256":"c6dc605f9db65dbd0b09544081c5bc8d1a7934638e1493b2bcff9d2feb792554","weighted_mean_detected":false,"weighted_mean_score":0.48541844780089294},"sample_id":"cycle8-830000-50-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"0e74008be7ccf2fb1b5c4b7ab498b311efaf199ed9de3ca0196dfb10f19c1996"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6641414141414141,"weighted_mean_detected":true,"weighted_mean_score":0.6749885215794307},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5,"text_sha256":"dfe3401bad966d607d7fabf058a4d110fe550109ea0b27ba275b573a99cbd86a","weighted_mean_detected":false,"weighted_mean_score":0.5037878787878788},"sample_id":"cycle8-830000-50-conversational_prose-watermarked","seed_base":830000,"source_sha256":"12fb8809049dd10e638a3e3911da51e244310287ccd33318bcac0b3f3abf8cda"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5092592592592592,"weighted_mean_detected":false,"weighted_mean_score":0.522516835016835},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4911265432098765,"text_sha256":"54d7cef2c331708f34ec2eb6f6afae5dce7ba075b48541c3f3a2b3780913dd4d","weighted_mean_detected":false,"weighted_mean_score":0.4908108866442199},"sample_id":"cycle8-830000-51-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"fb3d7919f7ec4b4a23ff371ab0db1de4e176f89c7d61ae5d528cee53ca7db6dc"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5525525525525525,"weighted_mean_detected":false,"weighted_mean_score":0.5562380562380562},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4895033282130056,"text_sha256":"98f710c8f7f9b9bc00e8cd624b0c277031c9ecba472875a19a32991b740eb676","weighted_mean_detected":false,"weighted_mean_score":0.4948447609737932},"sample_id":"cycle8-830000-51-structured_instructional-watermarked","seed_base":830000,"source_sha256":"610eda1f1f2b0d0371d5ba4c9410ff735cc4977198f56868c2ff56ef183f7771"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.4962962962962963,"weighted_mean_detected":false,"weighted_mean_score":0.5072811447811447},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4949164851125635,"text_sha256":"386a8b9c2418747db0cd7535c96e2adfd2594046414c31e70268ffc09e36513a","weighted_mean_detected":false,"weighted_mean_score":0.4936538588499373},"sample_id":"cycle8-830000-52-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"acbc68a309b9506646acf9401ccc1be24b0c4241c4402794c09b45bbf0659890"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6384180790960452,"weighted_mean_detected":true,"weighted_mean_score":0.6380328710837185},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4939531368102797,"text_sha256":"37be58a429cba49be8f66b62a4abc63f29658a0440d1a9b7f36637add23ae564","weighted_mean_detected":false,"weighted_mean_score":0.49240706383563526},"sample_id":"cycle8-830000-52-general_explanatory-watermarked","seed_base":830000,"source_sha256":"1e0c76653a00ffd305b4cffcf9b681753d97628dc4623eb501a245cbd9b0fae3"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.4603174603174603,"weighted_mean_detected":false,"weighted_mean_score":0.43975468975468973},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4991181657848324,"text_sha256":"2ff0471988193cf995f3535243c92a4696bab39548438a8201bec2aa9458d8a4","weighted_mean_detected":false,"weighted_mean_score":0.500741542408209},"sample_id":"cycle8-830000-53-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"4a52ba5639991109ac6259da34deabb6e9ee77ecac65ce11bcecf25c94a15fd9"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.615819209039548,"weighted_mean_detected":true,"weighted_mean_score":0.6154340010272213},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49234393404004717,"text_sha256":"04341fd3825dde4ff11e670ab511756f34844e3bcd6614e737cec168b7ead520","weighted_mean_detected":false,"weighted_mean_score":0.4944319520291251},"sample_id":"cycle8-830000-53-technical_explanation-watermarked","seed_base":830000,"source_sha256":"c3fd6fc7a2dd6e5a874357f47718d0753f0d77992abdf8a420a7557f4cc3cca2"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5160075329566854,"weighted_mean_detected":false,"weighted_mean_score":0.5090737887348057},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4978999618174876,"text_sha256":"c3ebc6852180ed4cb88c20686d2983590aed9856bd50d73430a8e87884cc7e9d","weighted_mean_detected":false,"weighted_mean_score":0.4958693463848103},"sample_id":"cycle8-830000-54-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"b530842e7e2b74b31c6ee43972fd9fd31022955b805233df0897be91dd55c4c4"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6534839924670434,"weighted_mean_detected":true,"weighted_mean_score":0.6723591850710494},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4813695871097684,"text_sha256":"59b53a34aba2edae857e9ab71b35e299f8614b7894abe9055c82e26c6a4d5d9e","weighted_mean_detected":false,"weighted_mean_score":0.4819188867527236},"sample_id":"cycle8-830000-54-conversational_prose-watermarked","seed_base":830000,"source_sha256":"b4686b78a2bbc13343ad050ae885a41fbc9e7e714926da5b58fb02c96849b9ca"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5222222222222223,"weighted_mean_detected":false,"weighted_mean_score":0.5290404040404041},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4936247723132969,"text_sha256":"d2dd9db67aa79c886e64707d8aed35baf8e8b906cd792c6bd09871ba26ee1dbf","weighted_mean_detected":false,"weighted_mean_score":0.4958602417618811},"sample_id":"cycle8-830000-55-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"82ddb58326fa8721cb7cc35e431a495e51b081ef27ff7b538679bd21dd18cd71"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6481481481481481,"weighted_mean_detected":true,"weighted_mean_score":0.6413299663299663},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4990892531876139,"text_sha256":"c889c3fd0c9bb343d31d7754ccf02cb33c5313efb2fab705112f93725f2a435b","weighted_mean_detected":false,"weighted_mean_score":0.4972263619804603},"sample_id":"cycle8-830000-55-structured_instructional-watermarked","seed_base":830000,"source_sha256":"b771d0568adc43ab6a1aa53e702a756c22ba403f3ced4d2e97061531b582340d"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5153256704980843,"weighted_mean_detected":false,"weighted_mean_score":0.513758272378962},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4781481481481481,"text_sha256":"d0a6428f0b00bd6cfd450d8560ac378516b1c34645bf6c8b2bed07ac7ee5a157","weighted_mean_detected":false,"weighted_mean_score":0.47920875420875425},"sample_id":"cycle8-830000-56-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"ae28935da6dd901356bfa936b5071797cc65de4c3068ca17ccdb1efa87039585"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6518518518518518,"weighted_mean_detected":true,"weighted_mean_score":0.6704124579124578},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4843205574912892,"text_sha256":"a3b15b799ddb639cefb5c99ab156804260cf0bc73b4e6988bd7b75e4484987e6","weighted_mean_detected":false,"weighted_mean_score":0.4817865061767501},"sample_id":"cycle8-830000-56-general_explanatory-watermarked","seed_base":830000,"source_sha256":"d428a648d327d2f7b2599da43ad5ba41f68019e2154354d2f9cfea10590494f5"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.512962962962963,"weighted_mean_detected":false,"weighted_mean_score":0.4974326599326599},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.485838779956427,"text_sha256":"b994c054f132e4b8af941013714f907c145d1e806762c3aa035acab8acd281f0","weighted_mean_detected":false,"weighted_mean_score":0.4821845910081204},"sample_id":"cycle8-830000-57-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"cde699ad87604cc2511577f98d614bd46f94e6f03583fa374845ac61fb178cdb"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6398467432950192,"weighted_mean_detected":true,"weighted_mean_score":0.6410222918843608},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5002035002035001,"text_sha256":"cb3074118ee50b14a35823b30f84a61b6517685a31891c8de4ae5cabc2c7d904","weighted_mean_detected":false,"weighted_mean_score":0.5043660043660044},"sample_id":"cycle8-830000-57-technical_explanation-watermarked","seed_base":830000,"source_sha256":"1fa9abc595c0c3b419ea9fbf1cb8979d3b92f7bc9cd5882ab6215d2f108f26f8"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5055555555555555,"weighted_mean_detected":false,"weighted_mean_score":0.4866161616161616},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.47878086419753085,"text_sha256":"5c2eccd9e81368e7fe68cb4e22f487e581a616f185259d26ae736e596feb0c56","weighted_mean_detected":false,"weighted_mean_score":0.48888187429854096},"sample_id":"cycle8-830000-58-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"5d192110df1be2bf8db0a61caf8990808310078e619b4396fc844dd4a9ef7d63"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.5975308641975309,"weighted_mean_detected":true,"weighted_mean_score":0.6030864197530864},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5006802721088435,"text_sha256":"fafa055a04d9fd55773155fccc90ef4c80733083331f5eac5bf849b0a4d4a54d","weighted_mean_detected":false,"weighted_mean_score":0.5017934446505875},"sample_id":"cycle8-830000-58-conversational_prose-watermarked","seed_base":830000,"source_sha256":"19a5090a8fc8f77f2dd12c5e583af04fed4245c953428cf143190e2c881b10a6"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4944444444444444,"weighted_mean_detected":false,"weighted_mean_score":0.4898989898989899},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48606587043069127,"text_sha256":"3d8a6b5467843521a194d292e3ce0ba35f4c8c85c85aa5c372435b05ad84d580","weighted_mean_detected":false,"weighted_mean_score":0.48917513901227255},"sample_id":"cycle8-830000-59-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"bd72a561f5bab6975dfc336b63fe0d09acd385992aa895f13a5bad45443213a2"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6384180790960452,"weighted_mean_detected":true,"weighted_mean_score":0.6430405752439651},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48519800076893504,"text_sha256":"682a91ee2f2b6f62aece1ed65acb64f5377428a1d24f5636ba24a56fbc6702bf","weighted_mean_detected":false,"weighted_mean_score":0.4830746915522002},"sample_id":"cycle8-830000-59-structured_instructional-watermarked","seed_base":830000,"source_sha256":"01e999c34b26bb9001470fa9c497705f1236e6970ae57f28cab2c819668f05c1"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.4888888888888889,"weighted_mean_detected":false,"weighted_mean_score":0.500631313131313},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.47109609609609604,"text_sha256":"d2345c46e9c90d651c3043723148201f30c8b412de114df4d91c0cce622c3e1d","weighted_mean_detected":false,"weighted_mean_score":0.4748583811083811},"sample_id":"cycle8-830000-60-general_explanatory-unwatermarked","seed_base":830000,"source_sha256":"91cb071a3cd87c5568f5f152d194fa2f7fb547332862d941f84d1df0cfddc040"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6333333333333333,"weighted_mean_detected":true,"weighted_mean_score":0.6416666666666667},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49206349206349204,"text_sha256":"bbdde4123a4b6e78bd324336314abb823c6fd242b2518cac7044f989a06815a6","weighted_mean_detected":false,"weighted_mean_score":0.49074933003504434},"sample_id":"cycle8-830000-60-general_explanatory-watermarked","seed_base":830000,"source_sha256":"58dda8cd528668b2445df4fc577be38d68422fd7f48932526833ad03714038d8"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5153256704980843,"weighted_mean_detected":false,"weighted_mean_score":0.5008272378962034},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4905149051490515,"text_sha256":"311b9d8ec941f808b97750aa5eb8e85fe15d8fec736b189048847a6c8b7ec9e3","weighted_mean_detected":false,"weighted_mean_score":0.49566219688170904},"sample_id":"cycle8-830000-61-technical_explanation-unwatermarked","seed_base":830000,"source_sha256":"d0997eb7998becbcc52a237b2c3e955d843234a6841c4436f161a3b8397758a8"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6159844054580896,"weighted_mean_detected":true,"weighted_mean_score":0.6279461279461279},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4841542573501336,"text_sha256":"090211bc881f09ae108aa32ef0b07fb193d19ec6c312fe35d409a9e1afb7ad0a","weighted_mean_detected":false,"weighted_mean_score":0.4825922454788434},"sample_id":"cycle8-830000-61-technical_explanation-watermarked","seed_base":830000,"source_sha256":"e84371df85ba55cd48d6ceaaf513c7154589e0be77e082db5088a6619282fdc7"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5555555555555556,"weighted_mean_detected":false,"weighted_mean_score":0.5547718564959944},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4972022382094325,"text_sha256":"170bc9f892166c7c67bd59a57a6b44a0ca3bf25da67029346565085c9af4a740","weighted_mean_detected":false,"weighted_mean_score":0.5010446188503742},"sample_id":"cycle8-830000-62-conversational_prose-unwatermarked","seed_base":830000,"source_sha256":"bff388dfa41aaa7125c877bedf1bbbb542b6ef056885da7b3c49b9994e714a04"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6314814814814814,"weighted_mean_detected":true,"weighted_mean_score":0.6307239057239057},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5130604288499026,"text_sha256":"4db49b4502552d04969b2bd3695eba7278e026c0030be8b9cf63ceaf38bc160b","weighted_mean_detected":false,"weighted_mean_score":0.5195995038100301},"sample_id":"cycle8-830000-62-conversational_prose-watermarked","seed_base":830000,"source_sha256":"332d882eb61121620a1954ab70a20f8078281227e1fb2aa3b2d8194e57e6685e"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5333333333333333,"weighted_mean_detected":true,"weighted_mean_score":0.5577134986225895},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4855072463768116,"text_sha256":"17a5f337344b88229e7bdbd534dec1fd484193ad2914c2757fdc1d5421cbe89d","weighted_mean_detected":false,"weighted_mean_score":0.49225955204216065},"sample_id":"cycle8-830000-63-structured_instructional-unwatermarked","seed_base":830000,"source_sha256":"063583cdba33cbf31b08f9c57ebfe2351903be2c995506c38de0aafe0776d191"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.5876068376068375,"weighted_mean_detected":true,"weighted_mean_score":0.5827991452991452},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4808224594701463,"text_sha256":"5e95388e473319e5a574a44bb523795af5e40bbd4c426177ca759980473d5c89","weighted_mean_detected":false,"weighted_mean_score":0.4814694992630936},"sample_id":"cycle8-830000-63-structured_instructional-watermarked","seed_base":830000,"source_sha256":"f8a2ce34d411a20a342ac5438087997cb3682b54673690741b76c6fc6987ab42"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5,"weighted_mean_detected":false,"weighted_mean_score":0.4935064935064935},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.488545246277205,"text_sha256":"be5896eec3dfdf8e1b0852e5fece150365b15abb345da23dbdb18f2a6bc47a96","weighted_mean_detected":false,"weighted_mean_score":0.4911225658648339},"sample_id":"cycle8-840000-00-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"b7db368549769814fd4524f1a028452a6951449cce25f39b50f3a4d271031f8c"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6425925925925926,"weighted_mean_detected":true,"weighted_mean_score":0.6293350168350168},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4830601092896175,"text_sha256":"7c8fde3950b0d5733fe2451e1f0e8b0d91f7ff8112d8c982f0e2ae98980e7796","weighted_mean_detected":false,"weighted_mean_score":0.4863387978142077},"sample_id":"cycle8-840000-00-general_explanatory-watermarked","seed_base":840000,"source_sha256":"9efc4565f2ea70b1a55ee8967f0e28c6e1ff440ea733a9b50178cd8e7451fac6"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.47023809523809523,"weighted_mean_detected":false,"weighted_mean_score":0.4629329004329004},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48100048100048104,"text_sha256":"8044d2c7a97f8f136c82477593765471b5191ccb12d138f3cfaab153ee39e134","weighted_mean_detected":false,"weighted_mean_score":0.48523109886746246},"sample_id":"cycle8-840000-01-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"b502ea0bf3748c680249ec65e2af08a403da71b6bd1bd9bc3ddde39c6cc66ddc"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6122931442080378,"weighted_mean_detected":true,"weighted_mean_score":0.6359875349237052},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5025025025025025,"text_sha256":"4e21aef4e44bd588424847bf90e323e301f4f8b3ae457df6625eab8ec0993706","weighted_mean_detected":false,"weighted_mean_score":0.5012740012740012},"sample_id":"cycle8-840000-01-technical_explanation-watermarked","seed_base":840000,"source_sha256":"41dc7ff459147acca6187659cb756bfd9fa513f05d559be68c303cb98e4c7002"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.48587570621468923,"weighted_mean_detected":false,"weighted_mean_score":0.470467385721623},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48690476190476195,"text_sha256":"633e6923556d33513cf84b9b3405d748605999185d77a74b88564d3f15d65208","weighted_mean_detected":false,"weighted_mean_score":0.4951839826839827},"sample_id":"cycle8-840000-02-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"ed46af4f9e79f33dcaf168ce786dac85d0a96e11c3e436358412cd82045fd7a6"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6365348399246704,"weighted_mean_detected":true,"weighted_mean_score":0.6453946242081835},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4934541792547835,"text_sha256":"36662ba86ee09b8c94c5eed9319ca37ef4ff021840d0cd407b9d8c08c383dc84","weighted_mean_detected":false,"weighted_mean_score":0.49311086697793644},"sample_id":"cycle8-840000-02-conversational_prose-watermarked","seed_base":840000,"source_sha256":"92a5acd1d091fa799491a200cf0be971911763090e6a6dd55a502018606ba0a4"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5195195195195195,"weighted_mean_detected":false,"weighted_mean_score":0.513991263991264},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48570089076418194,"text_sha256":"e4e58a6c070552eabe1f7e2c0f58535aeb2dd9638e88ebe207cc8223d517c48d","weighted_mean_detected":false,"weighted_mean_score":0.48924903038827083},"sample_id":"cycle8-840000-03-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"d8e23a416ab6ba685dd6a7984c7e353160eaa14e67a84695ca5a8f06997ec4a7"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6610169491525424,"weighted_mean_detected":true,"weighted_mean_score":0.6733436055469953},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48570261437908496,"text_sha256":"fd8da84d53ad8bba130a06e039c63e04b64bbd6baa8a68352ab52a88c060aec4","weighted_mean_detected":false,"weighted_mean_score":0.49121732026143794},"sample_id":"cycle8-840000-03-structured_instructional-watermarked","seed_base":840000,"source_sha256":"62234d19850a3cb8a7946edd9e1e69a6ff28dc44a858b0794b0d9b904ff8da6e"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5148148148148148,"weighted_mean_detected":false,"weighted_mean_score":0.5231481481481481},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4947176684881603,"text_sha256":"55e5b2e90b28af4b646f9e0fec60a7b2aa1257753c3d2320bd254858aefe11b3","weighted_mean_detected":false,"weighted_mean_score":0.4960589501573108},"sample_id":"cycle8-840000-04-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"a597af3dd9fbf0617d92e37caab79f4e4509f61b2d9600e570f7450ee53611f8"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6277777777777778,"weighted_mean_detected":true,"weighted_mean_score":0.6531565656565657},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5046451133407654,"text_sha256":"1cec7129b3e1cd4f172d8f3fba94def5f5597d85f9f3a2527e11cc500189b697","weighted_mean_detected":false,"weighted_mean_score":0.5166548427417993},"sample_id":"cycle8-840000-04-general_explanatory-watermarked","seed_base":840000,"source_sha256":"504873534c7e3712714190d076d4571a6e376892a1333db63bdb9ce841a73aa6"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.46794871794871795,"weighted_mean_detected":false,"weighted_mean_score":0.46576340326340326},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49480968858131485,"text_sha256":"f97b3c2ac295dfcded14a5f85f73d58dde858c857ed1370273e009afe4b9c795","weighted_mean_detected":false,"weighted_mean_score":0.494023277760302},"sample_id":"cycle8-840000-05-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"f9ca95f803d2dea5c50bc01d616885f64007597120da6b02c33260547591c96f"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6574074074074073,"weighted_mean_detected":true,"weighted_mean_score":0.6521043771043771},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5050505050505051,"text_sha256":"bf3579da6d2a3b7060a1f3bcc6efa5306881d3911afee4b4cd1978cc1cafdbb8","weighted_mean_detected":false,"weighted_mean_score":0.5032323232323233},"sample_id":"cycle8-840000-05-technical_explanation-watermarked","seed_base":840000,"source_sha256":"f7232125212ca31e1dee778b35889232c8156d441bc66218aa660ea3cef9c8df"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5185185185185185,"weighted_mean_detected":false,"weighted_mean_score":0.5162457912457913},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48315911730545874,"text_sha256":"a0b2eafb609d3f55cd880a15450b80eb5f1bbadd3001540a5e1dbe678c197eac","weighted_mean_detected":false,"weighted_mean_score":0.4938496462886706},"sample_id":"cycle8-840000-06-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"886b86151fb2b1c4d94a2ead0c5ed0221bc9d29c63af2d410119e0b3c9d12b46"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6407407407407407,"weighted_mean_detected":true,"weighted_mean_score":0.6623316498316498},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5,"text_sha256":"b3334543c3037fd0b548b2cad2453fe3978a37e10ea739884f98e51f23dc3ac5","weighted_mean_detected":false,"weighted_mean_score":0.5024242424242424},"sample_id":"cycle8-840000-06-conversational_prose-watermarked","seed_base":840000,"source_sha256":"18732f3fd416ffabbdda1d5033746b8c87e583024f1e5f00d43f1fc36ed116b0"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4821092278719397,"weighted_mean_detected":false,"weighted_mean_score":0.4805683958226331},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48452883263009844,"text_sha256":"5e972c7e22b329a3b146887711e51b55d4e45ea4408f9f9dbbc297423cda9098","weighted_mean_detected":false,"weighted_mean_score":0.49502940800409156},"sample_id":"cycle8-840000-07-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"50c1efebae889b6b17c58c0893522dd562f0a9d28617d95848e07686e8ecd4f0"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.591337099811676,"weighted_mean_detected":true,"weighted_mean_score":0.5805512754665297},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.497716894977169,"text_sha256":"485afd3cd153eb7c2d40f267ecb6fd9435f3c7d4971c589c8c1e02c32759df87","weighted_mean_detected":false,"weighted_mean_score":0.4974833955998339},"sample_id":"cycle8-840000-07-structured_instructional-watermarked","seed_base":840000,"source_sha256":"db69ac72ea7c55d3f0a6460d299da3b3bb6502c823b50261d2c029995f0ebae6"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5333333333333333,"weighted_mean_detected":false,"weighted_mean_score":0.5549242424242424},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4943310657596372,"text_sha256":"d8f2000bd1df97b700aafa45c4d43d42660551412e9ed2954533e9c5a3e8cf8e","weighted_mean_detected":false,"weighted_mean_score":0.4964182642754071},"sample_id":"cycle8-840000-08-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"4b41523efa932dcacefdbb4d64b595e722e056366f74fe69439d886550c389db"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6551724137931034,"weighted_mean_detected":true,"weighted_mean_score":0.6614420062695924},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4921725849560901,"text_sha256":"e88e14bc27aa35c9368e890bdc52753a4c640e50e1c3de77d2c1d3eb6e2f6426","weighted_mean_detected":false,"weighted_mean_score":0.4939688986080738},"sample_id":"cycle8-840000-08-general_explanatory-watermarked","seed_base":840000,"source_sha256":"05709638857fa647fd2c73b12c50f5b4e05d0068df7f29cdc118c31cc6fbadb3"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.47777777777777775,"weighted_mean_detected":false,"weighted_mean_score":0.4755050505050505},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5027777777777778,"text_sha256":"fcb74ea499f6a36547adeb4d138e255e13a65690b125194dbb2526542fe80128","weighted_mean_detected":false,"weighted_mean_score":0.5000992063492063},"sample_id":"cycle8-840000-09-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"4ea6e0a3fe389db8652069b9ffbbfec5297214336fc0b738c0a2e812af52fb37"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6333333333333333,"weighted_mean_detected":true,"weighted_mean_score":0.6356060606060605},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4902177925433739,"text_sha256":"068996ea3f3f0272fa46365768e9377ae0636a695d67b96d05912ab4f99aa168","weighted_mean_detected":false,"weighted_mean_score":0.49867445216282424},"sample_id":"cycle8-840000-09-technical_explanation-watermarked","seed_base":840000,"source_sha256":"bef3246fe182f53a850d0e27fb636c79fcf3a4461777ccc77d503b53e79aa516"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.48148148148148145,"weighted_mean_detected":false,"weighted_mean_score":0.49083977025153497},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48846153846153845,"text_sha256":"b8846ec1e16f68deb34a4658b666f508074cb2959b9bfbdbc96141d73c63ea75","weighted_mean_detected":false,"weighted_mean_score":0.4939685314685315},"sample_id":"cycle8-840000-10-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"861540a1f666d6b81990a38c4787c3c082b4a202f1e1826fd5711ce0086c776a"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6666666666666666,"weighted_mean_detected":true,"weighted_mean_score":0.6782296650717703},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49363057324840764,"text_sha256":"1a8d66d8ecf0ab9dab7b88093387ff59cfcd313474bd49f7f41bd85ada5f3908","weighted_mean_detected":false,"weighted_mean_score":0.49811812391430227},"sample_id":"cycle8-840000-10-conversational_prose-watermarked","seed_base":840000,"source_sha256":"c4161ebcc96c10c081fa113996e0cf58e32fa68a75a34b495fd85e409cb0bf6a"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4990583804143126,"weighted_mean_detected":false,"weighted_mean_score":0.4894281801061462},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4911849118491185,"text_sha256":"5ad87c6d6c47a6e10cb2e7f137d7090d6c3a29ffc171e166dd661021827819a2","weighted_mean_detected":false,"weighted_mean_score":0.4984811211748481},"sample_id":"cycle8-840000-11-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"5ce5cc293a45dd7e256cd9ac61c1a4947ee527b349a5d8b664fb4a19041e4ff6"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.638888888888889,"weighted_mean_detected":true,"weighted_mean_score":0.6487373737373737},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49227373068432667,"text_sha256":"2c2ebd2206ca040054851bcdc36b50ef737caeca5121197139b5c36c111c85d6","weighted_mean_detected":false,"weighted_mean_score":0.49754164158137665},"sample_id":"cycle8-840000-11-structured_instructional-watermarked","seed_base":840000,"source_sha256":"69124e76bc3e5687b231beca32ce60ed35fb555b2488b265e5832f60f4781fe5"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.4883720930232558,"weighted_mean_detected":false,"weighted_mean_score":0.4915433403805497},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.503030303030303,"text_sha256":"c0cadabb8c69a2cb3716f8fc5eee1162a62632554d1c9fd70f53875d98ceb501","weighted_mean_detected":false,"weighted_mean_score":0.5095592286501377},"sample_id":"cycle8-840000-12-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"be067985bc0c3315abf504b657a82a2d48e6b40578184c85af8f05de9160b342"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6555555555555556,"weighted_mean_detected":true,"weighted_mean_score":0.6684343434343434},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4889601139601139,"text_sha256":"a42319b6f9ef0de082339d07f49dda2f95ca350478bfe2c14699438e3538e89d","weighted_mean_detected":false,"weighted_mean_score":0.4854636104636104},"sample_id":"cycle8-840000-12-general_explanatory-watermarked","seed_base":840000,"source_sha256":"dc1496a13efb78b45c84b54ca5e9b3162126ea30feffc8e1870a7b7074c9bd85"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.48703703703703705,"weighted_mean_detected":false,"weighted_mean_score":0.5002946127946128},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4908730158730158,"text_sha256":"86f66da9eca3b82c45f9cae0e8788e975dccc4c6f47a5bc51e843774750df2f8","weighted_mean_detected":false,"weighted_mean_score":0.4963924963924964},"sample_id":"cycle8-840000-13-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"f72d7b203eea08088e864d363e05066a19df1a5a26dfd131040ad6ab248c7092"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6168582375478927,"weighted_mean_detected":true,"weighted_mean_score":0.6125478927203065},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4870689655172414,"text_sha256":"096dadebdf8d309decaa841fb58d7bc0573d7c4d95eab306becfcfe3d21486b2","weighted_mean_detected":false,"weighted_mean_score":0.49128134796238243},"sample_id":"cycle8-840000-13-technical_explanation-watermarked","seed_base":840000,"source_sha256":"1cb4df54782bc33a10a75622b89b430a322886a20350234d3aad0f2e307b9329"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5404896421845574,"weighted_mean_detected":false,"weighted_mean_score":0.554357130628317},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4937402190923318,"text_sha256":"8434c5a46cd31a4343c2e143565042eb92401215066a0b5f91746ffebf2bc54d","weighted_mean_detected":false,"weighted_mean_score":0.49998221653151226},"sample_id":"cycle8-840000-14-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"551c01316b75d7b5a14181a99a669fc1d13ab3c0034730e2488f05921977e5be"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6425925925925926,"weighted_mean_detected":true,"weighted_mean_score":0.6679713804713804},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49631966351209256,"text_sha256":"f2ebd9c886d826fc6a0a3dac21abca49aa9e08c04fad736c67004d1935904944","weighted_mean_detected":false,"weighted_mean_score":0.5012666093107734},"sample_id":"cycle8-840000-14-conversational_prose-watermarked","seed_base":840000,"source_sha256":"e91489b752130730a3ce5f266bf489ac6d0c0044b35f2a44c5cdc2606cd0a963"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.46296296296296297,"weighted_mean_detected":false,"weighted_mean_score":0.4739478114478114},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4722222222222222,"text_sha256":"621e78f4a6b5781d84a1ff2b74183ac376ed2ad4ab56855852ffe5fdfcf51992","weighted_mean_detected":false,"weighted_mean_score":0.47813131313131313},"sample_id":"cycle8-840000-15-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"ceab312b42c480275b66fc96c196be28ee07deaaf2172687c0a126cea1ab191f"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.60727969348659,"weighted_mean_detected":true,"weighted_mean_score":0.6151166840822013},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48838191803971265,"text_sha256":"fe7573ae2e6b79c7135646aaa321b6fee3c1ebd8fb51bbf474e8c71d60873a82","weighted_mean_detected":false,"weighted_mean_score":0.48743134769750734},"sample_id":"cycle8-840000-15-structured_instructional-watermarked","seed_base":840000,"source_sha256":"668f47ce7acecb83c7005999de77d643c4ea2539f9a42a38a54d06864d123360"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.46875,"weighted_mean_detected":false,"weighted_mean_score":0.4808238636363636},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4759759759759759,"text_sha256":"ff67e0979cc3b7a358d594ecd3c3f409fd8019a91bfd1d57c5dff2460ed0459a","weighted_mean_detected":false,"weighted_mean_score":0.47730685230685227},"sample_id":"cycle8-840000-16-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"28c11f000c93c7d024b608400961087eefd9afbe4db699962dd7405dc8769204"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6574074074074073,"weighted_mean_detected":true,"weighted_mean_score":0.6768202861952862},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4909251881363435,"text_sha256":"fc1f901765e65f40b2a2cbf2d277f815d586a496b35ce3a143528c49d2e0b852","weighted_mean_detected":false,"weighted_mean_score":0.5003420660791178},"sample_id":"cycle8-840000-16-general_explanatory-watermarked","seed_base":840000,"source_sha256":"358cc8c55d01024410cf627338d84f793996f3d5800e471a89745a2ca8858a70"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5193236714975845,"weighted_mean_detected":false,"weighted_mean_score":0.5351339481774264},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4950316169828365,"text_sha256":"4db75ab64dae76d1b522784895cc6be94087ab2955cebdb584fda0a0c0b0c53b","weighted_mean_detected":false,"weighted_mean_score":0.5004824669458816},"sample_id":"cycle8-840000-17-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"0679bbf86f2a03345d9ebb68ac1e088dcc858a2a2c8ac45eb8dd32ee8839835e"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6703703703703704,"weighted_mean_detected":true,"weighted_mean_score":0.677946127946128},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5015987210231814,"text_sha256":"395e753c1d032bdd1e72bda52f24eda7f7a847c3e69171ca2b86531a404e48d9","weighted_mean_detected":false,"weighted_mean_score":0.5069126516968244},"sample_id":"cycle8-840000-17-technical_explanation-watermarked","seed_base":840000,"source_sha256":"4fa28e27105bf0533aa55b00b600f2d23e44258cdaa14a7bb0fc3ef4d80bf7c1"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5151515151515151,"weighted_mean_detected":false,"weighted_mean_score":0.5134986225895317},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4929292929292929,"text_sha256":"9dc55103e339342070a820e8da47309564a6cf54b9996f2cef03d4b32ecf6ba1","weighted_mean_detected":false,"weighted_mean_score":0.4929292929292929},"sample_id":"cycle8-840000-18-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"4aea45bc294fb60d88bb12487c011cd1d2ef5458cc68b7a9ef1870fa699da1ef"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.611111111111111,"weighted_mean_detected":true,"weighted_mean_score":0.6247474747474747},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4951528709917971,"text_sha256":"afa6ade68d51c9c13a82457044b4f09cb56b09d9f2c485b2fb07f991bdd8c34a","weighted_mean_detected":false,"weighted_mean_score":0.49194969832553725},"sample_id":"cycle8-840000-18-conversational_prose-watermarked","seed_base":840000,"source_sha256":"30403792dadc16719297f59a32e2be5f45286e840ea36291395d87493314bcea"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5055555555555555,"weighted_mean_detected":false,"weighted_mean_score":0.5123737373737374},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5001774937877174,"text_sha256":"fa973f50b4e250a88d37a5ed90e5f97a0f5ef17925a0ba0858162b0f9261334d","weighted_mean_detected":false,"weighted_mean_score":0.494731661664569},"sample_id":"cycle8-840000-19-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"28abb6edec75b151a0e85352229c39218650b4f87385528823c0df0cb4ac5bce"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.64030131826742,"weighted_mean_detected":true,"weighted_mean_score":0.63914569423044},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4992229992229992,"text_sha256":"eb3a778f5e981b975bffd8929b6972345fe372ea810ee98ddfc33822f5c9d80d","weighted_mean_detected":false,"weighted_mean_score":0.4890513526877163},"sample_id":"cycle8-840000-19-structured_instructional-watermarked","seed_base":840000,"source_sha256":"bab4a25b6cf604a371c83c163c7006305425103f17b499c1003c6d38084ec3dd"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5166666666666667,"weighted_mean_detected":false,"weighted_mean_score":0.5045454545454545},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5044025157232704,"text_sha256":"68e889feb72002b42d2070090065d68f3d256791125e4b1ecd4f5da2c3930fc0","weighted_mean_detected":false,"weighted_mean_score":0.49865637507146937},"sample_id":"cycle8-840000-20-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"c860aa34ec84c357c91c29d6dee708b4bae5e34f4c5b7e8e7e7e81e747a043ca"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6323232323232323,"weighted_mean_detected":true,"weighted_mean_score":0.6447199265381084},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5022075055187638,"text_sha256":"5e227cfd8d78ee176b91d851f39c92b3ff467430ab24679e0a2c3b01fda1ff89","weighted_mean_detected":false,"weighted_mean_score":0.5067228577162352},"sample_id":"cycle8-840000-20-general_explanatory-watermarked","seed_base":840000,"source_sha256":"f08f9cab9b139d0aeec7123cac4d66c231dbc18841d30fc03b91436c454a95ee"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.47863247863247865,"weighted_mean_detected":false,"weighted_mean_score":0.4764471639471639},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49223856209150324,"text_sha256":"50233d708682bc7cbc6246e191cfea0b970f7a9e6e72f213ccee046898bc784c","weighted_mean_detected":false,"weighted_mean_score":0.4972519310754605},"sample_id":"cycle8-840000-21-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"143386a5bc836a499ca308ae54ce6f03b193c4a309adf001ca31f1aeff738d38"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6037735849056604,"weighted_mean_detected":true,"weighted_mean_score":0.6204974271012006},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4994311717861206,"text_sha256":"496c5fc5563ef2419a12267bcee3ed06f643e74962931bca8bc98d8c68a699e3","weighted_mean_detected":false,"weighted_mean_score":0.4977246871444824},"sample_id":"cycle8-840000-21-technical_explanation-watermarked","seed_base":840000,"source_sha256":"8ae2c4c03e5c6b37d82d8e07c6e095630a233b5a63a81f6394dee720e74a3d20"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5160075329566854,"weighted_mean_detected":false,"weighted_mean_score":0.5160075329566854},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4962207105064248,"text_sha256":"8b8e73172dc662adf94cfed0386f59f35d608f9e10cc58241955cc0f25767368","weighted_mean_detected":false,"weighted_mean_score":0.49637531780388916},"sample_id":"cycle8-840000-22-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"4db16b8f9f8adfe289a9d22926f8932833c866d865a50c7a5d7d3cb9270c0b3b"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.638888888888889,"weighted_mean_detected":true,"weighted_mean_score":0.6574494949494949},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5024317246539469,"text_sha256":"84e9cfe9b8e69be8bef3e19ab3aaa21ef3846357a5a0e18dea5efeb1effefa84","weighted_mean_detected":false,"weighted_mean_score":0.50289086147672},"sample_id":"cycle8-840000-22-conversational_prose-watermarked","seed_base":840000,"source_sha256":"8a0033adc57f02728eee7e35bb5f6f4987c1b256e1372ac5bbe20bf18ce319a8"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5092592592592592,"weighted_mean_detected":false,"weighted_mean_score":0.4872895622895623},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.47478070175438597,"text_sha256":"f20a8c6e752496b890c8a178a64af76c8d772d5cfa37e282207eb9a783edbcd0","weighted_mean_detected":false,"weighted_mean_score":0.4836772328548644},"sample_id":"cycle8-840000-23-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"0506337fdc7f21769efb620d8d713a037dd4f9cdfa8422411d9b49e55fcdb85c"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.624074074074074,"weighted_mean_detected":true,"weighted_mean_score":0.6229377104377104},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4957805907172996,"text_sha256":"7ba0a80d39b3311f6a828b8d172002370383a47d7293082884e19a16aaef0f0b","weighted_mean_detected":false,"weighted_mean_score":0.49872938243191406},"sample_id":"cycle8-840000-23-structured_instructional-watermarked","seed_base":840000,"source_sha256":"5dbdcd03005b3c8e631e8558680f400e6c3ad9162dbe2318c4da345afa553472"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5092592592592592,"weighted_mean_detected":false,"weighted_mean_score":0.5263047138047138},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5032455135547919,"text_sha256":"4b2e41fcbd7ecf041a617ef3e018feaa2750eb7cb2b1e2647c02c1bbfee4243a","weighted_mean_detected":false,"weighted_mean_score":0.5050418272067756},"sample_id":"cycle8-840000-24-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"9a059709748724604a2309666641e2f18c37649e845f79cbff628626af09c3ff"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6129629629629629,"weighted_mean_detected":true,"weighted_mean_score":0.6201599326599326},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4989247311827957,"text_sha256":"0064f96535f47b7ad0d51f3e8fb167049b6f9f82c2a0161c569f39bd2012af47","weighted_mean_detected":false,"weighted_mean_score":0.5003176930596285},"sample_id":"cycle8-840000-24-general_explanatory-watermarked","seed_base":840000,"source_sha256":"ad4a8cbdb7eb533ab2b7f60a1c9f5b9d33e75590cc5023704cd1c525f8ac0124"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.503968253968254,"weighted_mean_detected":false,"weighted_mean_score":0.516955266955267},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4861111111111111,"text_sha256":"3472509bafb781a31d5d6b7bf50ebd38da1cbc74d61535af414f69ede4758beb","weighted_mean_detected":false,"weighted_mean_score":0.4929766414141414},"sample_id":"cycle8-840000-25-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"87c75eb64f628bda9d6e06572c26225e520fadf86182d441feca0d9fc025e946"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6082862523540489,"weighted_mean_detected":true,"weighted_mean_score":0.6267762369457285},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4995854063018242,"text_sha256":"7a918eff7871f87dc6820a110d2ce316f90ba0e61bcecb8420ea4220bd1676ed","weighted_mean_detected":false,"weighted_mean_score":0.49712611186491784},"sample_id":"cycle8-840000-25-technical_explanation-watermarked","seed_base":840000,"source_sha256":"6e4c3dca40725c5b4bc4df850a58dc923b1d4f354fc836e9cd0a3ef9434fc26d"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.537037037037037,"weighted_mean_detected":false,"weighted_mean_score":0.5290824915824915},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49631966351209256,"text_sha256":"390ac63d5a94f9302739ddc9368e3319b1e8bb324254d82b52d089dd854c1c88","weighted_mean_detected":false,"weighted_mean_score":0.49925915304464197},"sample_id":"cycle8-840000-26-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"369c20cfec62304aebb28ca11f79e1fa7189ec874d3dff9a427cb1b66d94f188"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6370370370370371,"weighted_mean_detected":true,"weighted_mean_score":0.6514309764309764},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48433048433048437,"text_sha256":"420fd689fb0f825f74a1e48d670928e4d4c15317bf09f8a3f690bf7c70322ace","weighted_mean_detected":false,"weighted_mean_score":0.48884680134680136},"sample_id":"cycle8-840000-26-conversational_prose-watermarked","seed_base":840000,"source_sha256":"71f2f60027f227bb0d319628dd521a43a14c4af0e6cf2148ac005b7aa6970cb5"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5252525252525253,"weighted_mean_detected":false,"weighted_mean_score":0.5397153351698806},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49217002237136465,"text_sha256":"34366e5161000ec829c161243837125ec72579a85aad173a626f28d55b7a3706","weighted_mean_detected":false,"weighted_mean_score":0.49628838722798446},"sample_id":"cycle8-840000-27-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"2a2f7053421aad16a2daa0ed241a4d4f211dce4c443135563e68e091ef2e5c04"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6374269005847953,"weighted_mean_detected":true,"weighted_mean_score":0.6362307283359915},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48880439374735946,"text_sha256":"34523b83440dff12b581ec47c4c4d096cf847ab3b477f051adb341149a2a73ff","weighted_mean_detected":false,"weighted_mean_score":0.4935572454583861},"sample_id":"cycle8-840000-27-structured_instructional-watermarked","seed_base":840000,"source_sha256":"876d61735e49e60011ba5631d9c3686a0fedc9bdce6a201e400581530f91e79d"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5134099616858238,"weighted_mean_detected":false,"weighted_mean_score":0.5255572971090212},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49921011058451814,"text_sha256":"752ca61dcc811715c27d77746425287bc567b5c58b7a83b083e4d2d60d5150f0","weighted_mean_detected":false,"weighted_mean_score":0.5072885250610368},"sample_id":"cycle8-840000-28-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"8c26f2ce3f734a9e8c409e90c5ec631742d1bd965b2d241e726c985259ddb561"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.5882352941176471,"weighted_mean_detected":true,"weighted_mean_score":0.6011586452762924},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49143610013175226,"text_sha256":"8d63692eae0651b8d2b5d67dadbe21236f6e01def9f3752135105c4e142eb96e","weighted_mean_detected":false,"weighted_mean_score":0.4869445442567972},"sample_id":"cycle8-840000-28-general_explanatory-watermarked","seed_base":840000,"source_sha256":"0caedbdce4841aa76f5f78224cc57209e847936ef8b14cc071a85dc4ab88b217"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5250544662309369,"weighted_mean_detected":false,"weighted_mean_score":0.5152505446623094},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49337410805300713,"text_sha256":"4d96219b9e54f83f0fffa46c7c38d3776b82fed5d1ece28de48bc6c96df40327","weighted_mean_detected":false,"weighted_mean_score":0.49118478361597623},"sample_id":"cycle8-840000-29-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"76c7e988c239a46d74cf4e65139160eaeb82bfd13c71ccae11b81f5e19d286af"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.5784313725490197,"weighted_mean_detected":true,"weighted_mean_score":0.607174688057041},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4996549344375431,"text_sha256":"e854238b6c3f18a4c3bc022b589b9015d8b0c2c866485b9ee4799567d12fe775","weighted_mean_detected":false,"weighted_mean_score":0.5085482150699542},"sample_id":"cycle8-840000-29-technical_explanation-watermarked","seed_base":840000,"source_sha256":"1c7d232c625f03c1136c16da494f6e98711679fd834f2fb23f6c6815cf3bf5dd"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5266666666666666,"weighted_mean_detected":false,"weighted_mean_score":0.5462121212121211},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4873294346978558,"text_sha256":"fea26ec8d89ac0323fdde1a5e9b23d56a19947e797b453b30f84c061e310be4d","weighted_mean_detected":false,"weighted_mean_score":0.4922138047138047},"sample_id":"cycle8-840000-30-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"40c57dfc90de22c345778ac923529885f0efeb36e88f63f44e438ae3db9fbc78"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6111111111111112,"weighted_mean_detected":true,"weighted_mean_score":0.6412684537684537},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5044150110375276,"text_sha256":"09f2bc39384f1ad71c1f7cba8d309ae0fa2c20069d4158c8e9918ff091a256fc","weighted_mean_detected":false,"weighted_mean_score":0.5107365041139876},"sample_id":"cycle8-840000-30-conversational_prose-watermarked","seed_base":840000,"source_sha256":"936407e4a37d3cfa65594a2f2c6588f8ce6c782a9b2917de671c05cfaf59859e"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4801587301587302,"weighted_mean_detected":false,"weighted_mean_score":0.4761002886002886},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4887307236061685,"text_sha256":"6e58f39098f1f4b998a16e6e2d241f45725652ea72f10d906ccf7b8b323da9c5","weighted_mean_detected":false,"weighted_mean_score":0.4981936805780222},"sample_id":"cycle8-840000-31-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"ce7953962d43b06cd57d2d5166c83696398500ba0f2e0cb3fcfe5273720fe1f3"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6666666666666666,"weighted_mean_detected":true,"weighted_mean_score":0.6931818181818181},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4829059829059829,"text_sha256":"6604a34731d273254cc4c91651cd3936bbe2a0df12e9c646d8a5b214767a168f","weighted_mean_detected":false,"weighted_mean_score":0.49045525181888816},"sample_id":"cycle8-840000-31-structured_instructional-watermarked","seed_base":840000,"source_sha256":"0a3184f1f5f9f2822004c5764c48b944d5af9fe5ecc9d90822f1345572cc8b25"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.46527777777777773,"weighted_mean_detected":false,"weighted_mean_score":0.45770202020202017},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4889637111859334,"text_sha256":"417158e366488b1f1b34d498b4d6f83f0b5adacb5afaa77f388d0fd90fe1acbb","weighted_mean_detected":false,"weighted_mean_score":0.48873414277454674},"sample_id":"cycle8-840000-32-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"1d705dc5de8e4e448a0193c3220dfc578a08bbed8abb38d0073320a3c321e342"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.611111111111111,"weighted_mean_detected":true,"weighted_mean_score":0.6163870851370852},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5117071094082588,"text_sha256":"c9759e73390ec39c95d485c5b50c96020482310e91fdd62caa12d2743155fb0e","weighted_mean_detected":false,"weighted_mean_score":0.5089206238631526},"sample_id":"cycle8-840000-32-general_explanatory-watermarked","seed_base":840000,"source_sha256":"6bdecb056651073bf7e1394ec9c6e8739c801a83d85f218bdaf2fb4146f5c107"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.49122807017543857,"weighted_mean_detected":false,"weighted_mean_score":0.47488038277511957},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4722222222222222,"text_sha256":"553906c20794b9bcc9b158951c3ba7c50288b544c8e6474bead886851b0a4e0e","weighted_mean_detected":false,"weighted_mean_score":0.46918124911082654},"sample_id":"cycle8-840000-33-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"6fa9d2fd2fb88166c2e47a61403fc4242af4de763cef78381f66c8a93d89155b"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6318082788671023,"weighted_mean_detected":true,"weighted_mean_score":0.6184392949098831},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4881889763779528,"text_sha256":"386ffdf19b116b1662428eac2d150eb36903ae6331a6d58a7b8f24d425351dce","weighted_mean_detected":false,"weighted_mean_score":0.4838045812455261},"sample_id":"cycle8-840000-33-technical_explanation-watermarked","seed_base":840000,"source_sha256":"8f4f4ff295af9b14e9bf91312f3a143c028e508462ce13b76378fae543eb4213"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.4852607709750567,"weighted_mean_detected":false,"weighted_mean_score":0.4894351680065966},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4755389718076285,"text_sha256":"d6329de9473db2de0f2768a1b50d8977009d04399b600f4fb50bdd4fd63e8e43","weighted_mean_detected":false,"weighted_mean_score":0.47324928388361226},"sample_id":"cycle8-840000-34-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"9480d099d2c6d46db455018a59bb2200cd197e63b56390e8cefd97a2ce2fbc7c"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6462962962962963,"weighted_mean_detected":true,"weighted_mean_score":0.6523569023569024},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4868559411146162,"text_sha256":"c3058f6ad692252e09673d7fade9ff51e8b04132193a3c709140c62b25410b6e","weighted_mean_detected":false,"weighted_mean_score":0.48592390784819806},"sample_id":"cycle8-840000-34-conversational_prose-watermarked","seed_base":840000,"source_sha256":"5bb1d2eb841190bee19b99e0ca8ceab1d44f92830fc7465619a8ed8b3a8493a4"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5344827586206896,"weighted_mean_detected":false,"weighted_mean_score":0.5478056426332288},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4931846344485749,"text_sha256":"b3e3c3b4b7f66834fdb5c353d4904a8858143074ff003ecd19a06b6445731bc2","weighted_mean_detected":false,"weighted_mean_score":0.49825391461079194},"sample_id":"cycle8-840000-35-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"d8bb38079876e34b66d2e254ad8acff9acf5124b3f1af40f32ab650a45738660"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6487455197132617,"weighted_mean_detected":true,"weighted_mean_score":0.6428804170739654},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5209471766848817,"text_sha256":"73a9666dac70158850653a422ef34829838cab7681eceba6e862407077517251","weighted_mean_detected":false,"weighted_mean_score":0.5243003808577579},"sample_id":"cycle8-840000-35-structured_instructional-watermarked","seed_base":840000,"source_sha256":"6dc545eb724b5cc36a99d430388ca5133b247f394fc298539a0ceea02ca3424c"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.49056603773584906,"weighted_mean_detected":false,"weighted_mean_score":0.483704974271012},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4850948509485095,"text_sha256":"62c4995e0088233bd4c955c998b57140a214d3c83adf8fe37630a7bbe756b51d","weighted_mean_detected":false,"weighted_mean_score":0.48976700805969103},"sample_id":"cycle8-840000-36-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"1fe3a10a213ae194f5c60c2251710042059825417ebadb64cdde83a1a4a67270"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6537037037037037,"weighted_mean_detected":true,"weighted_mean_score":0.6514309764309764},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4803813714704803,"text_sha256":"e2cc2f1eafe4f9a45aa16f436e6516e04ff0fb62a11898f251a32585bc914a3f","weighted_mean_detected":false,"weighted_mean_score":0.48818215154848815},"sample_id":"cycle8-840000-36-general_explanatory-watermarked","seed_base":840000,"source_sha256":"3f7581bac9e16be6e11a41f6b0793ace13d961c224ce13795520b30407ff2d02"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5037037037037037,"weighted_mean_detected":false,"weighted_mean_score":0.4976430976430976},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.493006993006993,"text_sha256":"8b14e4ff8cd9129806800e69a638c3baa9721e075abe2b26f1a6a9b44edf020b","weighted_mean_detected":false,"weighted_mean_score":0.4936427209154482},"sample_id":"cycle8-840000-37-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"4e909787a03e39fdb341f4bbfd28a0ca1c74ea4dd49c50818d247030a85259df"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.5938697318007663,"weighted_mean_detected":true,"weighted_mean_score":0.6224747474747474},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5070621468926554,"text_sha256":"701b9db4f030c15f12f04a2a0fa596db7ed6d17f1a45b45ae2ad6b95bfd55889","weighted_mean_detected":false,"weighted_mean_score":0.504847200821777},"sample_id":"cycle8-840000-37-technical_explanation-watermarked","seed_base":840000,"source_sha256":"e67bc62719df34042193155c050d3287b43638a5942653f4f329c7fe5bc2a9da"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.4783427495291902,"weighted_mean_detected":false,"weighted_mean_score":0.4825800376647834},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4930320150659133,"text_sha256":"43ac87b31165256f8e21783e5f140803bc0b59494a7971d881767a84997e1ca8","weighted_mean_detected":false,"weighted_mean_score":0.48933401814757743},"sample_id":"cycle8-840000-38-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"4f739da9bac4a12dc2a5c228c54beec7a96a1a3179caf3cb304cbdb5d78f1fc7"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6133333333333334,"weighted_mean_detected":true,"weighted_mean_score":0.6065151515151515},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5017064846416383,"text_sha256":"bcda78ebdb619d01d5f5fb7479379cb84f88f6bbb2d37aed6949ea74baa146d5","weighted_mean_detected":false,"weighted_mean_score":0.5071362085013962},"sample_id":"cycle8-840000-38-conversational_prose-watermarked","seed_base":840000,"source_sha256":"13065ca52d2d8073184d86c8501fd15cbca84a798593d488edd57199c34ee3fd"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.48518518518518516,"weighted_mean_detected":false,"weighted_mean_score":0.49086700336700334},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49422222222222223,"text_sha256":"a50cf4768c4251564d50cf09a486b17b85e9ef4011edcdee22e607cbbde6544a","weighted_mean_detected":false,"weighted_mean_score":0.4812222222222222},"sample_id":"cycle8-840000-39-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"439d7a55d0db3a18744313a0006a7b11b74ddde3bdcdab62cad2759431d7ba09"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6092592592592593,"weighted_mean_detected":true,"weighted_mean_score":0.6100168350168349},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49250288350634375,"text_sha256":"f2f543ac87b30da15a8fe3fe9db4a51abe97b7ecbf44393d43487fd64c3d0dea","weighted_mean_detected":false,"weighted_mean_score":0.4968281430219146},"sample_id":"cycle8-840000-39-structured_instructional-watermarked","seed_base":840000,"source_sha256":"abdbe58be91daffdc1d5a8ee8e47060b25ab77ef7716744263ceb8a67ec690d6"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5185185185185185,"weighted_mean_detected":false,"weighted_mean_score":0.5223063973063973},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.482843137254902,"text_sha256":"d6dedbfebb175a52941b694f7363d6b63f91156c52ddb8ba01cfd9f1820414bc","weighted_mean_detected":false,"weighted_mean_score":0.4886085115864528},"sample_id":"cycle8-840000-40-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"0ef38efc46078ad16a80449933d7b9a8e1cda2deafd30e5d8736145609cd3529"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6351851851851851,"weighted_mean_detected":true,"weighted_mean_score":0.6461700336700337},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4948453608247423,"text_sha256":"a9ce4208ed44606be61fc7266f7a25184c2aad29bb138bd54e55a9a7c9ded51b","weighted_mean_detected":false,"weighted_mean_score":0.5020306154326774},"sample_id":"cycle8-840000-40-general_explanatory-watermarked","seed_base":840000,"source_sha256":"126ff934f977461a90effbc893dc11be7e25f9943d3d8b1764e5b3007ae8059d"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5241545893719807,"weighted_mean_detected":false,"weighted_mean_score":0.5137790953008344},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4888888888888888,"text_sha256":"7d5584c060183f95237cf9365759d1400bee592fc82bae0a0b01ea4daf937192","weighted_mean_detected":false,"weighted_mean_score":0.48574839302112033},"sample_id":"cycle8-840000-41-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"4a5553235ba36caca153821cb6966364950922d82011224c2b144d654d6918db"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.65,"weighted_mean_detected":true,"weighted_mean_score":0.6549242424242424},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5069444444444444,"text_sha256":"8d29e3cacc22de8463d1b87d5bb8f563f1cd65b2b1c12e519d24b836569a06da","weighted_mean_detected":false,"weighted_mean_score":0.5068608882947118},"sample_id":"cycle8-840000-41-technical_explanation-watermarked","seed_base":840000,"source_sha256":"0264cc21e65eebf4887de1d881f0eb24dbf5b83c32b5f4c849ad07745c830d4e"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.48333333333333334,"weighted_mean_detected":false,"weighted_mean_score":0.490530303030303},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4868472712995681,"text_sha256":"a30b326a1918305a3d67c5571fd038c8889cc5c266e2312ddf896c734be666e6","weighted_mean_detected":false,"weighted_mean_score":0.4904611485883571},"sample_id":"cycle8-840000-42-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"bbda85c00994f3534d52754bf8a50fd240eb577559857dc931f7fb7e87f9f26e"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6185185185185185,"weighted_mean_detected":true,"weighted_mean_score":0.6098063973063973},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5020036429872495,"text_sha256":"11c3fddf4b8b06281cd0ed5bec027c67fda8f8b0edf7db65ced23f826a4215b6","weighted_mean_detected":false,"weighted_mean_score":0.5049842689186952},"sample_id":"cycle8-840000-42-conversational_prose-watermarked","seed_base":840000,"source_sha256":"1c863f257d5091d7b7249c23b94859d97d88c68e7f0cd05ce67e2da21c67bd53"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4807692307692308,"weighted_mean_detected":false,"weighted_mean_score":0.4742132867132867},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4958775029446408,"text_sha256":"bd453ecb17434d0b86c25d27263e252f1810f0b10778ce50a2899290509772b4","weighted_mean_detected":false,"weighted_mean_score":0.4990898383124532},"sample_id":"cycle8-840000-43-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"07c29e0d44f4cf21368e005ed937a64a793fbb6d634d4c061307bc01958a1bff"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6481481481481481,"weighted_mean_detected":true,"weighted_mean_score":0.6409511784511784},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4826723829939264,"text_sha256":"7d555a2069c05b4986fdf510443954d8c2c0a8fb1a3956b3c0cb597307742909","weighted_mean_detected":false,"weighted_mean_score":0.48303777323069924},"sample_id":"cycle8-840000-43-structured_instructional-watermarked","seed_base":840000,"source_sha256":"ca4ca5e764045b22f76942bd1dc2c0f875245a401748b67957fb6b07d0a051f4"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.449074074074074,"weighted_mean_detected":false,"weighted_mean_score":0.44575968013468015},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4870056497175141,"text_sha256":"cb3eef6ca65dfffdaf335292af4a5add6971032fa86668a7f2e4f5f003acdcfa","weighted_mean_detected":false,"weighted_mean_score":0.49116589625064194},"sample_id":"cycle8-840000-44-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"f155ee73201e10b8ddfcb4495920fc53bd781d3b78a51eb6c6489bee3c635a86"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6628352490421455,"weighted_mean_detected":true,"weighted_mean_score":0.6667537443399512},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49113705144833547,"text_sha256":"7bdbae5ddd73647019e60a96c1f7f19715a3946b76bf3b5e5e542a6877248453","weighted_mean_detected":false,"weighted_mean_score":0.49697362732382183},"sample_id":"cycle8-840000-44-general_explanatory-watermarked","seed_base":840000,"source_sha256":"0e9e3786d66861d689c43e5c5219c19c4f7911ce10ab2928548a58d6a104d405"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5185185185185185,"weighted_mean_detected":false,"weighted_mean_score":0.5269360269360269},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49192782526115864,"text_sha256":"77146b5ae7c34d24c1a7074a9e909aacbf2f44a78892ebc6b7fb92e4623e4ebe","weighted_mean_detected":false,"weighted_mean_score":0.4872658205991539},"sample_id":"cycle8-840000-45-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"dc39d2394815bf5442bf52220d9d0188eca5b884674112b198bcedd4c2ef5c07"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6222222222222222,"weighted_mean_detected":true,"weighted_mean_score":0.6166666666666667},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49707602339181284,"text_sha256":"2fadad00fbf39714eef075b945b2ac91f658eda75d927185207c46172461c90a","weighted_mean_detected":false,"weighted_mean_score":0.4930090377458798},"sample_id":"cycle8-840000-45-technical_explanation-watermarked","seed_base":840000,"source_sha256":"3ce33b2584f804083fd7256bfd5283113482aae984568d2ae0aca283e278914c"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.4722222222222222,"weighted_mean_detected":false,"weighted_mean_score":0.4559343434343434},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48916841369671554,"text_sha256":"9d0fafdb7d3f092c6cce8ae97866d1c1551678206996710a1a4d7fd001e83c9b","weighted_mean_detected":false,"weighted_mean_score":0.48995457721872815},"sample_id":"cycle8-840000-46-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"0466134d673f705fc8f34a33f2521be98bcc5e959faa4215c05f8fb13d1e38f7"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6393762183235867,"weighted_mean_detected":true,"weighted_mean_score":0.651337940811625},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4790823211875843,"text_sha256":"d3b1e2dda9c0c059a5551929d038604a31571da20ad4704c318413cb5c8a7e63","weighted_mean_detected":false,"weighted_mean_score":0.47935836093730827},"sample_id":"cycle8-840000-46-conversational_prose-watermarked","seed_base":840000,"source_sha256":"9142ce6c59661dc5c2e0d087416439ca635b4d394a265f080b0554a51e921dc9"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5153664302600472,"weighted_mean_detected":false,"weighted_mean_score":0.51488287126585},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49222601441031477,"text_sha256":"f445125d6d2da23d75599afc97535bac14ebc15cd0a9e5d042bd1f4187bd7579","weighted_mean_detected":false,"weighted_mean_score":0.4967249284655428},"sample_id":"cycle8-840000-47-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"91ff5ab3cc01d5a92e56d6795af9476c604348865e051c7d05510dfc915d8655"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6180555555555556,"weighted_mean_detected":true,"weighted_mean_score":0.6251578282828283},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48309178743961356,"text_sha256":"be1248bea100f86ce00b043f9e8ac72f8290564e9657595f0e70ce30f767abc7","weighted_mean_detected":false,"weighted_mean_score":0.5032498902064119},"sample_id":"cycle8-840000-47-structured_instructional-watermarked","seed_base":840000,"source_sha256":"8ffc81eace88c41957692f921c9561d1538968b67b6778bf68bb55e23272347c"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5028248587570622,"weighted_mean_detected":false,"weighted_mean_score":0.4962763225475089},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49415204678362573,"text_sha256":"ff7e1cec463f672174a5e483fafa2be85b3ca28d0083e8e842515faaef1b2dae","weighted_mean_detected":false,"weighted_mean_score":0.4954977405635301},"sample_id":"cycle8-840000-48-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"f95f0332048ba2591e42bd2cbe12e6952106b27852f317440648ae58c9a7d505"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6640211640211641,"weighted_mean_detected":true,"weighted_mean_score":0.6753848003848004},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48177426438296,"text_sha256":"c4f671fccd1071cf9909609b6446b189c0ac90c7682dc4a165c6ef6bbdcb34f9","weighted_mean_detected":false,"weighted_mean_score":0.48402004232043755},"sample_id":"cycle8-840000-48-general_explanatory-watermarked","seed_base":840000,"source_sha256":"0bf1bc1547b6b89a7414489ba18cc1878a3a74e35523eab37e1610a04278ea14"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5192743764172335,"weighted_mean_detected":false,"weighted_mean_score":0.5081426509997938},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49143610013175226,"text_sha256":"58066a80b59de272f85ad53df52a9c95602eff57f4da89f78bf0eeb8c2638b19","weighted_mean_detected":false,"weighted_mean_score":0.4923344113067433},"sample_id":"cycle8-840000-49-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"b4ccea1a692b2208a430efe0a9a8ef79f81adc9ebbf75a1c69e11ec7869650a8"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.647834274952919,"weighted_mean_detected":true,"weighted_mean_score":0.6389744906694059},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5090146750524109,"text_sha256":"676463751ae7115331c108e1cd8278ee8f23cfa53c78b1a2a9c84d782b4ee212","weighted_mean_detected":false,"weighted_mean_score":0.5103868877453783},"sample_id":"cycle8-840000-49-technical_explanation-watermarked","seed_base":840000,"source_sha256":"0379263e0c5403910f9b8a79e4c29a24bf54b36f329b46ecfbfa322e8cab4615"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5114942528735632,"weighted_mean_detected":false,"weighted_mean_score":0.535005224660397},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49502810203199304,"text_sha256":"e5dacfed4f71d61065c7ac504461dbd52652625f1a876812038271a75c8b147b","weighted_mean_detected":false,"weighted_mean_score":0.4952934009354243},"sample_id":"cycle8-840000-50-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"621f6eae7ce945afb00c5e0d1439fc7e0eb12ff2dec7f70dd7574935d50402eb"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.628968253968254,"weighted_mean_detected":true,"weighted_mean_score":0.6529130591630592},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4860646599777035,"text_sha256":"10a95f8f2fc808b406112e1c1a04a4efe9800af0400ce076478cb9c1433934a2","weighted_mean_detected":false,"weighted_mean_score":0.4821881017533191},"sample_id":"cycle8-840000-50-conversational_prose-watermarked","seed_base":840000,"source_sha256":"a8bdb37e39841d505f4c0f3ffd461e14aabd68f8c0f2d48a253e9dd409dfe8bc"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.519774011299435,"weighted_mean_detected":false,"weighted_mean_score":0.5378787878787878},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49605988967691095,"text_sha256":"829da90dd9ed8c0f7fadee1e5e07baa716c7a7390827a180bd13e26fb9739edf","weighted_mean_detected":false,"weighted_mean_score":0.49267497671752986},"sample_id":"cycle8-840000-51-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"e526476573552df15d7f81d423c1c83c54dd31778aebfacdc37764fafd143fa6"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6611111111111111,"weighted_mean_detected":true,"weighted_mean_score":0.6599747474747474},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4905928292509762,"text_sha256":"50eaaba2cbaef3192411f4cb0fc13dc2b688dc3fc21b5fe32d678189e6627761","weighted_mean_detected":false,"weighted_mean_score":0.4906654403459515},"sample_id":"cycle8-840000-51-structured_instructional-watermarked","seed_base":840000,"source_sha256":"939b355d28f0cfd74d99dca2654afaf8d33cba4386b9537a1bf7e52a2ff9edad"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5079365079365079,"weighted_mean_detected":false,"weighted_mean_score":0.4892676767676768},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.47884539343614074,"text_sha256":"658be6fbc248e1521f08faf8931132a68a822cbbf44f38512f0f953c3df0df3b","weighted_mean_detected":false,"weighted_mean_score":0.4808673927891009},"sample_id":"cycle8-840000-52-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"5307ee62883d1c34ff86a35f834a47fcf5b92c0d69932465b41e95a656788c62"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6166666666666667,"weighted_mean_detected":true,"weighted_mean_score":0.6128787878787879},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5003654970760234,"text_sha256":"fe68194111ecbe1f79213f2aa631b787c8e39385c9b87b43c11a392afb992c0b","weighted_mean_detected":false,"weighted_mean_score":0.5002159755449229},"sample_id":"cycle8-840000-52-general_explanatory-watermarked","seed_base":840000,"source_sha256":"55942f30223df13b20d869c4e4e4706f2bdaf124efb3ad0f2c111d2c39428687"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.49444444444444446,"weighted_mean_detected":false,"weighted_mean_score":0.49936868686868685},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4959448499594485,"text_sha256":"f712ef78eed6c8552667a4fced4923c9cedb8988ee65e7b2a284335bf3bcc11e","weighted_mean_detected":false,"weighted_mean_score":0.4966084199660842},"sample_id":"cycle8-840000-53-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"8db967eadeb15e401cfd14bf4e7da8934705a035f5b0eb12b00bec1727bdc601"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5462962962962963,"weighted_mean_detected":false,"weighted_mean_score":0.5317760942760943},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4925544100801833,"text_sha256":"f0e3f5a2d1ea018e1c7c21b31d8d9af4066b6da54007964c9adcfca59fd00638","weighted_mean_detected":false,"weighted_mean_score":0.49466312610642504},"sample_id":"cycle8-840000-53-technical_explanation-watermarked","seed_base":840000,"source_sha256":"6d1ad01c90a2e98286687cec2c3fe6d81bfafef3b3aa05c233003a578802ea4e"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.548611111111111,"weighted_mean_detected":false,"weighted_mean_score":0.5306186868686869},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48507731032002877,"text_sha256":"4b43f7548285edd42d8b3ff3dd0e16d1ad78c49a60801cac5e4438e520f837dd","weighted_mean_detected":false,"weighted_mean_score":0.4804435945212644},"sample_id":"cycle8-840000-54-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"79330ca36cefe392d6dd4aaed5175046defeaf9193276df3ef80808e8891ba71"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6925925925925926,"weighted_mean_detected":true,"weighted_mean_score":0.703577441077441},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49525976488433826,"text_sha256":"71a5d85bace9683d3e92036163b1aa4a075eb7b9b532048a4b57dd677fb67f9d","weighted_mean_detected":false,"weighted_mean_score":0.489054366187472},"sample_id":"cycle8-840000-54-conversational_prose-watermarked","seed_base":840000,"source_sha256":"545cd033c8dae9a3a305f6b916fe5b063b3f3b6e1012331a16842adc7c58907a"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4896421845574388,"weighted_mean_detected":false,"weighted_mean_score":0.46807053586714603},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.47680311890838206,"text_sha256":"79903308529d5676ba0066d22073299cbc176f023e1f23859df31c3c53f39d23","weighted_mean_detected":false,"weighted_mean_score":0.4839004075846181},"sample_id":"cycle8-840000-55-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"5ef1738fdc05619809b098e97c6dc3dcafe28deb0b03b9aa1b4d10420ccc48f2"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6388888888888888,"weighted_mean_detected":true,"weighted_mean_score":0.6411616161616162},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5091954022988505,"text_sha256":"502f6c01f02320407426e684c27c8a54dda42838e6a3edcb87d8495947b6832a","weighted_mean_detected":false,"weighted_mean_score":0.5030041797283177},"sample_id":"cycle8-840000-55-structured_instructional-watermarked","seed_base":840000,"source_sha256":"10057ac5a83d3bfaf078dc8b712016be1c4e8a90d14ddf1581a7d624d80764a1"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.49176954732510286,"weighted_mean_detected":false,"weighted_mean_score":0.49555742611298165},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48673300165837474,"text_sha256":"22924c9f13b353be7f338a1f4c8b82366ef6d2b1079611afc091d043dd018eac","weighted_mean_detected":false,"weighted_mean_score":0.4895315091210613},"sample_id":"cycle8-840000-56-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"0a7d8ecf2a4c96ba690b569092a53034a0d5a3ca34ff546619a34b830669a67c"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6444444444444444,"weighted_mean_detected":true,"weighted_mean_score":0.6436868686868686},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4792332268370607,"text_sha256":"7a06ec566571ec2b7d8a6060ef344a946b5a21385c6fb66c250e14dc6724eb96","weighted_mean_detected":false,"weighted_mean_score":0.48496950334011035},"sample_id":"cycle8-840000-56-general_explanatory-watermarked","seed_base":840000,"source_sha256":"60b3300760b1283ea261c8ed155a00737b77f7b279dcaeb76d48a05c85605cf3"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.4925925925925926,"weighted_mean_detected":false,"weighted_mean_score":0.4853956228956229},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48841774636827645,"text_sha256":"02ef9e969b5bd9c0d6806752e6e9b97338291bf5c462a788ae4b68f5f5700627","weighted_mean_detected":false,"weighted_mean_score":0.48962237213120596},"sample_id":"cycle8-840000-57-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"c8baa5685af16e49c7c781ded7c9f7e70beb903803be8535eaad03d6b9a8e632"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.599616858237548,"weighted_mean_detected":true,"weighted_mean_score":0.6070619993033786},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49899598393574296,"text_sha256":"d8e00c41122de26a631e3c71330909e7d04c41ebc9500da16549aef5a5c20fb9","weighted_mean_detected":false,"weighted_mean_score":0.4982429718875502},"sample_id":"cycle8-840000-57-technical_explanation-watermarked","seed_base":840000,"source_sha256":"81dcdcfb2e3533f80de309238f2dc92b3d08b044433961bd1f9ab1c86f192691"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5111111111111111,"weighted_mean_detected":false,"weighted_mean_score":0.5016414141414142},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5016501650165016,"text_sha256":"885bfff9c3b523dde009bfefd6ad7d6bbb53010adae1614af535143606be4fa4","weighted_mean_detected":false,"weighted_mean_score":0.5071257125712572},"sample_id":"cycle8-840000-58-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"73b4b06ba36f05e3c78746ecec2f9bc68ed6054bb440294e7d9e395b7f48ef02"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6685185185185186,"weighted_mean_detected":true,"weighted_mean_score":0.6742003367003366},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5024305555555555,"text_sha256":"21c9b1c029d03c24532b6af005c4e31c59d6e490c54869bd714cfb8205c7d127","weighted_mean_detected":false,"weighted_mean_score":0.5123027146464646},"sample_id":"cycle8-840000-58-conversational_prose-watermarked","seed_base":840000,"source_sha256":"1ed4b0fca02c439204a85e570c28f2ae9f5e7875bc90338608f9e0642536b380"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4925925925925926,"weighted_mean_detected":false,"weighted_mean_score":0.4865319865319865},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4973180076628353,"text_sha256":"82a0ef0e450428c6dc69d3d14d256403b4d3d227394d9dd8bf8631b14e2afbaa","weighted_mean_detected":false,"weighted_mean_score":0.5000609543712992},"sample_id":"cycle8-840000-59-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"e5667eec5cd9446e94257e3273c8bc2869f9b5313e32c4c745ba948c783794ab"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6260683760683761,"weighted_mean_detected":true,"weighted_mean_score":0.6300019425019425},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4982078853046595,"text_sha256":"cbef62a962264c34a6a7af06302a963b9b5dca0fae4c288072b18047fa8a16bb","weighted_mean_detected":false,"weighted_mean_score":0.5027696318018899},"sample_id":"cycle8-840000-59-structured_instructional-watermarked","seed_base":840000,"source_sha256":"85743a6ea485d3e404f5fa1049ef30ee7a73371db1151d4e99bbdbf59bbac577"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5111111111111112,"weighted_mean_detected":false,"weighted_mean_score":0.5156565656565656},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4957945993802567,"text_sha256":"fa4efc20ef03643b105eb69082bdb1f71f08a7f525352a5d2b9b19c100fab635","weighted_mean_detected":false,"weighted_mean_score":0.4923538170550123},"sample_id":"cycle8-840000-60-general_explanatory-unwatermarked","seed_base":840000,"source_sha256":"e3fb77995b00df3b0d723a4ef76c8956c2957c3688531e56372e936e0f605fb3"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.5614035087719298,"weighted_mean_detected":false,"weighted_mean_score":0.5500398724082934},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4968434343434343,"text_sha256":"d13f48e92ee5376382dea17f8a5b13eddb04dcebdd0ce208ddae6ba74c69c6d4","weighted_mean_detected":false,"weighted_mean_score":0.5022669880624426},"sample_id":"cycle8-840000-60-general_explanatory-watermarked","seed_base":840000,"source_sha256":"f250ca6bdc87685a822c01c8954266e99666f99de5b5689c14820026b8d111ac"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.4783427495291902,"weighted_mean_detected":false,"weighted_mean_score":0.45407464475261083},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4915708812260536,"text_sha256":"d642c1d4dd002ac372ff49b2f2e9fa082f5cbf27c0e63f35591bcc3074e27ffd","weighted_mean_detected":false,"weighted_mean_score":0.4889846743295019},"sample_id":"cycle8-840000-61-technical_explanation-unwatermarked","seed_base":840000,"source_sha256":"74820291a6ecd1d0a31e47b07ec134dbae8544a2845baa1b393a1ba9e8828497"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.5607235142118863,"weighted_mean_detected":false,"weighted_mean_score":0.550681230913789},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5004916420845624,"text_sha256":"a60a4c13031848c47239a97941c193eb8c72f1bb9cd710e96aea2db54083f055","weighted_mean_detected":false,"weighted_mean_score":0.5034079735407169},"sample_id":"cycle8-840000-61-technical_explanation-watermarked","seed_base":840000,"source_sha256":"685c96aa4d7bf721c930288d900bd9063f4caed628e680fcf8147e8dd08c3a97"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5296296296296297,"weighted_mean_detected":false,"weighted_mean_score":0.537962962962963},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4841269841269842,"text_sha256":"accff2afec754aed022577a510f32dfba7b747736ac8dd8c6830c53bc1d3e609","weighted_mean_detected":false,"weighted_mean_score":0.4854411461554319},"sample_id":"cycle8-840000-62-conversational_prose-unwatermarked","seed_base":840000,"source_sha256":"60524174f1f464b835944b5b21783cd9678f7447aa33a8c3a14c499a30c5e630"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6277777777777778,"weighted_mean_detected":true,"weighted_mean_score":0.6315656565656566},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4888888888888888,"text_sha256":"4a18c6187510ba73ee4b765c6ebf7b6ebe7ab1bb2d0f78bb2f73899bf0cecbc1","weighted_mean_detected":false,"weighted_mean_score":0.4923690025252525},"sample_id":"cycle8-840000-62-conversational_prose-watermarked","seed_base":840000,"source_sha256":"9836c4d014d9fd27c6cc1b4c579397b52acc397bcc4da25b1337647c4ca62894"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5259259259259259,"weighted_mean_detected":false,"weighted_mean_score":0.5293350168350168},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4901114706939949,"text_sha256":"e8171ec9c3bbbb45dc95fc696f63f2ccba75162194c96d05a655039236ecc385","weighted_mean_detected":false,"weighted_mean_score":0.489670164427446},"sample_id":"cycle8-840000-63-structured_instructional-unwatermarked","seed_base":840000,"source_sha256":"e5d8bfb7358ca1ac8b920af2619d6adcdecc34757f3e67cb2b5e342b9978dcd3"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6351851851851851,"weighted_mean_detected":true,"weighted_mean_score":0.6590488215488216},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4994462901439646,"text_sha256":"43b03a9dde1568505bdf257109a48da0c575bb68a1fd74d962a67ec5640d5341","weighted_mean_detected":false,"weighted_mean_score":0.5011829256015302},"sample_id":"cycle8-840000-63-structured_instructional-watermarked","seed_base":840000,"source_sha256":"f9d155c2d2fc920b3e403a70f6bd6218920679afe9873c9bf06f1ed06de8488b"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.49707602339181284,"weighted_mean_detected":false,"weighted_mean_score":0.4998670919723551},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48767538869927946,"text_sha256":"54bec24e0687307776d3926d66eef410c04aa1879ed40cfd6264446c75012d94","weighted_mean_detected":false,"weighted_mean_score":0.48829592856896614},"sample_id":"cycle8-850000-00-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"f7567fa2fce153c079e62fc9f5ce72dabee4bf9f845f8191c7a81d4498dc1c6a"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6277777777777778,"weighted_mean_detected":true,"weighted_mean_score":0.6130050505050505},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4826072272880783,"text_sha256":"ce3fb631d033b4a7ae5a532c52f68105ff3da4f2ffdb4c156463511126f59f49","weighted_mean_detected":false,"weighted_mean_score":0.4822618280065088},"sample_id":"cycle8-850000-00-general_explanatory-watermarked","seed_base":850000,"source_sha256":"4dd401d67cc3d58914686199ff7f154369fa6d675d641a9b8160bf1e52d778e7"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5123456790123456,"weighted_mean_detected":false,"weighted_mean_score":0.5218153759820426},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49019607843137253,"text_sha256":"6605dc491a756b042ac66c4c8e737ffec1a16bdf02d48f18915f10e7dee41cb4","weighted_mean_detected":false,"weighted_mean_score":0.4939839572192513},"sample_id":"cycle8-850000-01-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"dba6429a763e7aa451e777d87faa9ff894b40c173a239701160aa9f6f9b63f1c"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6333333333333333,"weighted_mean_detected":true,"weighted_mean_score":0.6435606060606059},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49470899470899465,"text_sha256":"558935105cb5f847e61bd7bda6da571713c0c2bda63a72ec5ce25c7df7fb0bcb","weighted_mean_detected":false,"weighted_mean_score":0.5037535216106644},"sample_id":"cycle8-850000-01-technical_explanation-watermarked","seed_base":850000,"source_sha256":"e0b948b8e27a48fcb129ec2813ef5f31f29923cc60eccc2b386e4ddcccbef847"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5317460317460317,"weighted_mean_detected":false,"weighted_mean_score":0.545544733044733},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.475,"text_sha256":"7c32b8075362ab7d785e6a6b598b6ac09a153f3a15b298af54759a5e00dbbf79","weighted_mean_detected":false,"weighted_mean_score":0.48482142857142857},"sample_id":"cycle8-850000-02-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"28ba3f2303c08ed176aabb62e49aa1b8161feb7669adf0ff5144665781c0c408"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.65,"weighted_mean_detected":true,"weighted_mean_score":0.6534090909090909},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49228944246737844,"text_sha256":"2d6122887873e2d48db0651f7201aad2bb3094ba3b61f88d63c2e9ff30f8a063","weighted_mean_detected":false,"weighted_mean_score":0.49366440202739137},"sample_id":"cycle8-850000-02-conversational_prose-watermarked","seed_base":850000,"source_sha256":"e2dd97220c90cd2f8b593e190cf4d761ba80946cd204fb93373cba24e4c71d81"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5423728813559322,"weighted_mean_detected":false,"weighted_mean_score":0.557010785824345},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4936247723132969,"text_sha256":"fe4e83c0282ad4851be689e9ca4da178032741eab2905ce3260a6a009e4d1a03","weighted_mean_detected":false,"weighted_mean_score":0.5003311806590495},"sample_id":"cycle8-850000-03-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"79d83088af380f93379102b9baab30af88ad59fd7c00b776fd915627f15c74a3"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6333333333333333,"weighted_mean_detected":true,"weighted_mean_score":0.6382575757575758},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49547593195801665,"text_sha256":"fcc6b6e1bd2e8be149187d23d1c75d353fa5d6b81e5427fc8d1455ba9f1ddd22","weighted_mean_detected":false,"weighted_mean_score":0.4964383246142203},"sample_id":"cycle8-850000-03-structured_instructional-watermarked","seed_base":850000,"source_sha256":"21cfad2e9214a1ad821cba142f0035eb842bbadc3dcace049bd8bab043a22267"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.4540229885057471,"weighted_mean_detected":false,"weighted_mean_score":0.490073145245559},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4843304843304843,"text_sha256":"1a7bb73174a182ede0b493f2dece41f28438428a815f79fbcaa9e12c46084f32","weighted_mean_detected":false,"weighted_mean_score":0.4945868945868946},"sample_id":"cycle8-850000-04-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"d317604c6e67d2b40c352a82fc2afa652cc297df2826357ca3c245d7c1c7123a"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6351851851851851,"weighted_mean_detected":true,"weighted_mean_score":0.6533670033670034},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5035302861389818,"text_sha256":"b416bed4105eb6ff1a1ffeb830812c6dc4086fd27119074729c9a446368ce754","weighted_mean_detected":false,"weighted_mean_score":0.5077868990912469},"sample_id":"cycle8-850000-04-general_explanatory-watermarked","seed_base":850000,"source_sha256":"f8dc28351cf8ba29b1c3d9b219a487e0b3eb384c830ea9d8ccc458ef3531b11d"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5,"weighted_mean_detected":false,"weighted_mean_score":0.4765151515151515},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48558246828143026,"text_sha256":"6ea37f8c204be733f55eda95eace75c1c8daeb1e4e2263182b5390061b0cdef6","weighted_mean_detected":false,"weighted_mean_score":0.48094264443745416},"sample_id":"cycle8-850000-05-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"f5fa5eb215d6206fd0c05045c4c63b2a2d2cd3b06418464ab721168780d46667"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6,"weighted_mean_detected":true,"weighted_mean_score":0.6159090909090909},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5042438271604939,"text_sha256":"20c2cc16b1c4a25652f5775ace165b92746578b5a0da76b5945546f01df994d9","weighted_mean_detected":false,"weighted_mean_score":0.5123719837261504},"sample_id":"cycle8-850000-05-technical_explanation-watermarked","seed_base":850000,"source_sha256":"986138fda87c1a5725787c9a79aadbcfd68c6bb68c581697919232ed749f8691"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.4888888888888889,"weighted_mean_detected":false,"weighted_mean_score":0.49835858585858583},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4805003679175865,"text_sha256":"b7baa7fc3b2d4fcffd2a2c74e45ab7a687f46ef8b90573fb67a282b3c0ce1be1","weighted_mean_detected":false,"weighted_mean_score":0.48637032577429923},"sample_id":"cycle8-850000-06-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"f3a0581a4411a29b9fa7f0da84674a98978421492cee91ef4a02f1c44fe73102"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6245210727969348,"weighted_mean_detected":true,"weighted_mean_score":0.6303988157436433},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.47337962962962965,"text_sha256":"148e60e3fa7de60ec47a1fe6e367e925132139ebf6ea28f0bc2e714011367293","weighted_mean_detected":false,"weighted_mean_score":0.47519465488215484},"sample_id":"cycle8-850000-06-conversational_prose-watermarked","seed_base":850000,"source_sha256":"041600be7ccc90730de11d464986dc628d67ed00ec2f3e562ae2391e60469170"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4981481481481482,"weighted_mean_detected":false,"weighted_mean_score":0.501557239057239},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.494611668524712,"text_sha256":"52baf9fc12420f0ce545ae066398597ae610c332ac91a823d9061da0f52bc1b4","weighted_mean_detected":false,"weighted_mean_score":0.4930154386676126},"sample_id":"cycle8-850000-07-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"2da51b827345c71074a167cdc861d84e7eff2d280670ccfd63cf36c76d20ab87"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6537037037037037,"weighted_mean_detected":true,"weighted_mean_score":0.6790824915824916},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4891822515584892,"text_sha256":"9fe642ca8a2bbc3daa17cc65eb7e2eda19c9cd1803aa3bf5ad6cbd6b8aa9f803","weighted_mean_detected":false,"weighted_mean_score":0.4893322665599893},"sample_id":"cycle8-850000-07-structured_instructional-watermarked","seed_base":850000,"source_sha256":"062472e7dcb10e5ba9abaaad2dc81cc7f393f3a849b55134f3ff40e1a96b98bd"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5296296296296297,"weighted_mean_detected":false,"weighted_mean_score":0.5353114478114478},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5033138401559454,"text_sha256":"69378cbc7513d6bc1b3c05cda7e0360a7fa0956db093c41b339f75913d30339c","weighted_mean_detected":false,"weighted_mean_score":0.5144781144781144},"sample_id":"cycle8-850000-08-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"55d5b2a7952e72468f228a456d5adfdac6c97764b9e82e9e00aabd6d9be3d967"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6592592592592593,"weighted_mean_detected":true,"weighted_mean_score":0.6452441077441077},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4879227053140096,"text_sha256":"7b769e0b264f16cd4b9b278c5ea690b79658862957dd9f1740d5083a20027424","weighted_mean_detected":false,"weighted_mean_score":0.4872639437856829},"sample_id":"cycle8-850000-08-general_explanatory-watermarked","seed_base":850000,"source_sha256":"fdee09955c57aca7cce108647961bfc9d04eaab074efa222662085f04ae6406f"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.48518518518518516,"weighted_mean_detected":false,"weighted_mean_score":0.4855639730639731},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4962166467542811,"text_sha256":"10ad8a1de06cca2bc583b3fd8333311148bbe3c4715fd9c4d79588e394dc6fd9","weighted_mean_detected":false,"weighted_mean_score":0.4965424857897976},"sample_id":"cycle8-850000-09-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"154be06656b2211b48e05be587b45cf62b6d6423fc3b02ef9c3f77e8c91e4341"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.5967078189300411,"weighted_mean_detected":true,"weighted_mean_score":0.5971286943509165},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5105328376703842,"text_sha256":"7340ca01203b7a40f9e32081b57ab86f68e2ae2e69e614796badc262a1772186","weighted_mean_detected":false,"weighted_mean_score":0.5098569336487552},"sample_id":"cycle8-850000-09-technical_explanation-watermarked","seed_base":850000,"source_sha256":"aecf7c928712676163eb596a007011d4330dd2991035ad59b5a8edf9969dedc4"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5092592592592592,"weighted_mean_detected":false,"weighted_mean_score":0.5085016835016835},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4870673952641165,"text_sha256":"258be5b6062b912a49a8aa2dead18e5aabc7f9424021e03f544ec38a98ffacd9","weighted_mean_detected":false,"weighted_mean_score":0.49273058453386326},"sample_id":"cycle8-850000-10-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"3bbb8a0af281225a406ecd9e8bbb4ea716c89f31ef234d000c5c2065dd1765ac"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6226053639846744,"weighted_mean_detected":true,"weighted_mean_score":0.6613984674329502},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49629629629629624,"text_sha256":"3b185a493c7f2af24da422593997dc57c9b5d0e19ef5a8dfb009e2b247babdac","weighted_mean_detected":false,"weighted_mean_score":0.500682261208577},"sample_id":"cycle8-850000-10-conversational_prose-watermarked","seed_base":850000,"source_sha256":"e2b44e634ffcdcd05a2b74d794980a19f115aabc887ed9d5272ba6d02bc7b309"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.48703703703703705,"weighted_mean_detected":false,"weighted_mean_score":0.48627946127946126},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4754273504273504,"text_sha256":"e81ac3fc7201648f9510593825fe0894fddda1741895b42dae3bb1132c2a5d25","weighted_mean_detected":false,"weighted_mean_score":0.4732420357420357},"sample_id":"cycle8-850000-11-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"cf13e758ff066a2d7ae0ba0c36ca9dc3b30d34085121865ec5da51d56f6fc632"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6374269005847953,"weighted_mean_detected":true,"weighted_mean_score":0.6362307283359915},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5,"text_sha256":"c16ada29e8ce58772367fb59424c2e5faa0323b05f8eac0ca59cd49a97802ce2","weighted_mean_detected":false,"weighted_mean_score":0.5032354797979798},"sample_id":"cycle8-850000-11-structured_instructional-watermarked","seed_base":850000,"source_sha256":"0b079c1a744de8846a3acd85184cd8952964154a5689273f1e370f038ab81a82"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5092592592592592,"weighted_mean_detected":false,"weighted_mean_score":0.5119107744107744},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49666666666666665,"text_sha256":"f3bc5153e3860e8606d69c7a04092ef7fef849cc1983beccfb5291d0672b1714","weighted_mean_detected":false,"weighted_mean_score":0.4981060606060606},"sample_id":"cycle8-850000-12-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"e2f3d6a9ae3ae430b92dd8484d4fc78f53f3516f609ab47d86258544c589420d"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6370370370370371,"weighted_mean_detected":true,"weighted_mean_score":0.61506734006734},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4869731800766284,"text_sha256":"84a9e3b88cdafa2bef9b5de29d78a8de73ae1ee4e2b17a66bdc02a995b52501a","weighted_mean_detected":false,"weighted_mean_score":0.4956722396377568},"sample_id":"cycle8-850000-12-general_explanatory-watermarked","seed_base":850000,"source_sha256":"d9f6fdfeb0ca886630beb0b359fb75b3d6f7820bf1425e400b338867ed7ae834"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.4693486590038314,"weighted_mean_detected":false,"weighted_mean_score":0.4736590038314176},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4927007299270073,"text_sha256":"979d4a005ff7011ff4f640f0d29df1e51c7219a99d63f9c84f1d71559723de81","weighted_mean_detected":false,"weighted_mean_score":0.49245189117451893},"sample_id":"cycle8-850000-13-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"0f74da6be556f13ea73268b68e6e22db679c13974c2758c3de857b39842fc310"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6170634920634921,"weighted_mean_detected":true,"weighted_mean_score":0.6268037518037517},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48212898212898214,"text_sha256":"747d3c791f24f3345ceca3f037c781bc24538005b52001db2a5986cee71675ec","weighted_mean_detected":false,"weighted_mean_score":0.4852281556827011},"sample_id":"cycle8-850000-13-technical_explanation-watermarked","seed_base":850000,"source_sha256":"636f598ed94f382bcea896e7f9f01cf0de09714229358da39bf914912c66c6cf"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.4888888888888889,"weighted_mean_detected":false,"weighted_mean_score":0.5047979797979798},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49165779197728077,"text_sha256":"3531419daf1c7b5c4ca957e0d4bb77cca33deb6e42add4b324f521cfdc5d1402","weighted_mean_detected":false,"weighted_mean_score":0.49601445767579955},"sample_id":"cycle8-850000-14-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"3ab5d923c946b1fe836fa62ad20b956d54e9cce16a57e37900fe557f8ee19b98"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6333333333333333,"weighted_mean_detected":true,"weighted_mean_score":0.6363636363636364},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48532494758909855,"text_sha256":"20c7c6e1035ff79499b8a6d3edfe8562a791e0c5e2edca7bfe178ae5de9bcc95","weighted_mean_detected":false,"weighted_mean_score":0.4821802935010482},"sample_id":"cycle8-850000-14-conversational_prose-watermarked","seed_base":850000,"source_sha256":"ea2d8b0bc4c98524b5b3f270ae9ac81ac687eb0e5bd0240d716282a7e45915ac"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.47407407407407404,"weighted_mean_detected":false,"weighted_mean_score":0.4695286195286195},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4922341696535245,"text_sha256":"8c8f586af270047b36d9d1445086591f975bf4aaabe8a8abbdca4f3a0c1d96ee","weighted_mean_detected":false,"weighted_mean_score":0.4918268708591289},"sample_id":"cycle8-850000-15-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"449a598558cb901f048f10304ed66961462366b5adf9bbd3e7657c341a4d1009"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6402116402116402,"weighted_mean_detected":true,"weighted_mean_score":0.6348003848003848},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.47234678624813153,"text_sha256":"c6aba555a89c4083e44b0720a90c045c90d947416df41847a05a7f4419abd6e8","weighted_mean_detected":false,"weighted_mean_score":0.47897132762603617},"sample_id":"cycle8-850000-15-structured_instructional-watermarked","seed_base":850000,"source_sha256":"07fbb9ffd23dbd0f5bf37597766e041c210779c8bf3ea1fff1a6f68afbbcccfc"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.45370370370370366,"weighted_mean_detected":false,"weighted_mean_score":0.4359006734006734},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48412698412698413,"text_sha256":"db2cdd42b6926f541e1cbbf2a7661feeb6239f623e98f440f4c078e2f43f0cfe","weighted_mean_detected":false,"weighted_mean_score":0.4808802308802308},"sample_id":"cycle8-850000-16-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"d19aa33f8075a3730f112306000fb6f2592db1c0e8e8d54012f98ac51eab3a2f"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6288416075650117,"weighted_mean_detected":true,"weighted_mean_score":0.6462497313561143},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49359768690623707,"text_sha256":"c496b2070c0df3b39ba1ccea9b930c63e7292ccfd1b2d1230c2e8f0a6eb6a2d1","weighted_mean_detected":false,"weighted_mean_score":0.48599376666291166},"sample_id":"cycle8-850000-16-general_explanatory-watermarked","seed_base":850000,"source_sha256":"2e56a44f20d86a0b1c75b5e1ed9d805179dbf53ebfb0852b0c28dae418992544"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5348399246704331,"weighted_mean_detected":false,"weighted_mean_score":0.5336843006334532},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5001752541184717,"text_sha256":"d1a10748c3601efa418d4cfaa339b3a114026a1b6aaf01d7982f2318c50e7ca5","weighted_mean_detected":false,"weighted_mean_score":0.5041901666507345},"sample_id":"cycle8-850000-17-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"48a252239d7e120378d8ebc795973d906ef65e4da48ffe265171c622cc6538c6"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6474358974358974,"weighted_mean_detected":true,"weighted_mean_score":0.6544289044289044},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4939203354297694,"text_sha256":"4ac46a57710cd7077fe88d9c7cc5868307037007d36d0e0afb8b144cd2fc8d82","weighted_mean_detected":false,"weighted_mean_score":0.49246235944349154},"sample_id":"cycle8-850000-17-technical_explanation-watermarked","seed_base":850000,"source_sha256":"a5bc875614bc6fb200afa4e884388ae87a2284d099ee517877779a205b203c68"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5090439276485789,"weighted_mean_detected":false,"weighted_mean_score":0.5122151750058727},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48550724637681164,"text_sha256":"491a718467d8092ec6949612566b8fc57d58a2bc6ff05f203b133204273d265b","weighted_mean_detected":false,"weighted_mean_score":0.49430171277997365},"sample_id":"cycle8-850000-18-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"5f86213b19036a7cb76188af789ad419b958114fd438c5e2910a22d0d9601176"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.611111111111111,"weighted_mean_detected":true,"weighted_mean_score":0.6062409812409812},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5047501032631144,"text_sha256":"90f7c2de0b0db9547a572f4a7a405f34fc5bf0a72b0d8815b646fa5dadd3f7c4","weighted_mean_detected":false,"weighted_mean_score":0.5089745033982952},"sample_id":"cycle8-850000-18-conversational_prose-watermarked","seed_base":850000,"source_sha256":"038b795419cb59275d9a87721bb7d7f71abe54f48a49cc86f011f6f1871e4704"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4722222222222222,"weighted_mean_detected":false,"weighted_mean_score":0.45162563131313127},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4772727272727273,"text_sha256":"6fa96e14add01af21dda2d5e17dbbb29e28c18a0f76a9abca581793da2a25553","weighted_mean_detected":false,"weighted_mean_score":0.49418904958677684},"sample_id":"cycle8-850000-19-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"d830a6917ad0b5eaec7cab2b2160d529a1f8326b4f0cf8c6c3c054d6e18bc70c"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6455026455026455,"weighted_mean_detected":true,"weighted_mean_score":0.64496151996152},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4906759906759907,"text_sha256":"3cb79fb01a80e3c46020d8f4b5ae51f724ae02abeec666bf81a2232306dd5ab3","weighted_mean_detected":false,"weighted_mean_score":0.49647700784064425},"sample_id":"cycle8-850000-19-structured_instructional-watermarked","seed_base":850000,"source_sha256":"00ba42e5400d3aba5971f379f2b79a06c9b912d71094949231b6effa8669ff46"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5235404896421846,"weighted_mean_detected":false,"weighted_mean_score":0.5266221537407978},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48826914563966356,"text_sha256":"a4728e0d715d5cb9ed25f4c6e2ead56d75d3ff1e879034fb6eb856fa9937e0aa","weighted_mean_detected":false,"weighted_mean_score":0.49569399170992795},"sample_id":"cycle8-850000-20-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"8e4b95fbcbf5c80ce4e9886f18a027487c0ca88eb50c6b4ad44b7976f04ea76d"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6302681992337165,"weighted_mean_detected":true,"weighted_mean_score":0.6565221177290144},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4937839937839938,"text_sha256":"f0a9c22b7fe31a43222158434a535559c5747c4f3b19aca44d1b4946368817ab","weighted_mean_detected":false,"weighted_mean_score":0.49807515716606626},"sample_id":"cycle8-850000-20-general_explanatory-watermarked","seed_base":850000,"source_sha256":"42d9fe2af184cae522e91beac407faa232086ef918a331b0a8c1e338a6795ca4"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5203703703703704,"weighted_mean_detected":false,"weighted_mean_score":0.537415824915825},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49524989673688563,"text_sha256":"e9fd390e9191ce436d3e9135e8a92ed75e7e864fe104e283f0e108bc9a6113b2","weighted_mean_detected":false,"weighted_mean_score":0.49491194472607114},"sample_id":"cycle8-850000-21-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"b7c11896eb4f4c669c1e7ea6477b1b71b39e53fd7a8a954f4f7a95339d55fdc7"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6722222222222223,"weighted_mean_detected":true,"weighted_mean_score":0.6646464646464646},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48364008179959095,"text_sha256":"51ea521dca9612612a209b60590540bfdf083d72ea032c44eb60dd722d7357c5","weighted_mean_detected":false,"weighted_mean_score":0.4837795129206172},"sample_id":"cycle8-850000-21-technical_explanation-watermarked","seed_base":850000,"source_sha256":"257ece9b3fd93afdf03c0ec526bb8c6c4bfcd878f94a08a9a4710a7b1a5935fa"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5185185185185185,"weighted_mean_detected":false,"weighted_mean_score":0.5118340265399088},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48039215686274506,"text_sha256":"47cfd63ad0f043b2a390db7a445eb9ff8a3091a27f7246fefeb39a16d444b09a","weighted_mean_detected":false,"weighted_mean_score":0.4878405907817673},"sample_id":"cycle8-850000-22-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"f57979f4368f05c1fec35db752b64cf8995e253537db647122c5386b2628f068"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6537037037037037,"weighted_mean_detected":true,"weighted_mean_score":0.6737794612794612},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49857549857549854,"text_sha256":"f926b7bc74a01b3ff695ca0fc27b41475d8065593026fa447e5e7e2773f47740","weighted_mean_detected":false,"weighted_mean_score":0.4963173400673401},"sample_id":"cycle8-850000-22-conversational_prose-watermarked","seed_base":850000,"source_sha256":"a3a90fd50bcd46494c741b29b0cb4afc5df58b1f18e98edc15f3d7a4443da275"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5065913370998116,"weighted_mean_detected":false,"weighted_mean_score":0.4811676082862523},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4820322180916976,"text_sha256":"b41a32ffada60252f0699a18053f744a1088978bc378ba66b6c473840cd804f3","weighted_mean_detected":false,"weighted_mean_score":0.4851582741917314},"sample_id":"cycle8-850000-23-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"11bb0b0643439c0605cd146efcfdba51094fbc8a7246001f2d6f64ea48324e02"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.5833333333333333,"weighted_mean_detected":true,"weighted_mean_score":0.5877039627039626},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49428104575163395,"text_sha256":"876e807af451e96d216b4d027318a8771f211ac2634fd9175cf321e3e308f61e","weighted_mean_detected":false,"weighted_mean_score":0.49678773024361256},"sample_id":"cycle8-850000-23-structured_instructional-watermarked","seed_base":850000,"source_sha256":"676f663cd828dddaa5d7ecbaa52c3db2a097ee0e0740b56f231e718a820fcc9d"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5022222222222222,"weighted_mean_detected":false,"weighted_mean_score":0.5331313131313131},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4886455798864558,"text_sha256":"6dd3eb602c9393152d77f5adf0cabc26007b787254fba30ee8ece8729db0c10c","weighted_mean_detected":false,"weighted_mean_score":0.4867378161173781},"sample_id":"cycle8-850000-24-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"9cb8641bc38d85947264cc70a2e442116e9635e0b2fd8898b0ac06e34be2daf4"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.636015325670498,"weighted_mean_detected":true,"weighted_mean_score":0.6399338209683036},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48988021478727795,"text_sha256":"f9b1faff425bb31ae582c54d56ff503261810decf8072cc3cb12e136cf27b09b","weighted_mean_detected":false,"weighted_mean_score":0.5001877511171191},"sample_id":"cycle8-850000-24-general_explanatory-watermarked","seed_base":850000,"source_sha256":"fec909e41a5b6d01b50a8ccd8ffa19c400c9922bceb80e94ac55bff4a4b44df3"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5111111111111112,"weighted_mean_detected":false,"weighted_mean_score":0.5342171717171718},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49139784946236564,"text_sha256":"235dc26360e7f512566dcd2887be1e5ab34f938e5ebf406f71be836edf2858db","weighted_mean_detected":false,"weighted_mean_score":0.4856060606060606},"sample_id":"cycle8-850000-25-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"e72c78632be77cd9c226b168f3c4239b8b941787dc553e8ff5cf6bb76e6a86bb"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.632768361581921,"weighted_mean_detected":true,"weighted_mean_score":0.6308423215202876},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5049382716049383,"text_sha256":"bf07ef814220981d568cca0119e95f1670ef965a41c2345f8439433a1144b4a1","weighted_mean_detected":false,"weighted_mean_score":0.5100729517396184},"sample_id":"cycle8-850000-25-technical_explanation-watermarked","seed_base":850000,"source_sha256":"340754a808b6adb6af5b0a4a86f1972d178ac8abf87acc429d9d7c4c5f12cad4"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.49616858237547895,"weighted_mean_detected":false,"weighted_mean_score":0.49146638801811215},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4940407535563245,"text_sha256":"cc9cac04fe62b5b4cd476d310da5c10181a362c585f7581e9bcb3e7d0b7876dc","weighted_mean_detected":false,"weighted_mean_score":0.4923892908321974},"sample_id":"cycle8-850000-26-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"1c6c1dbcdbdb1ac963a2ecac10158941d0772efea727b6f684f7bb1c92e77eba"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6020202020202021,"weighted_mean_detected":true,"weighted_mean_score":0.6131772268135904},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4875679875679875,"text_sha256":"0a8ff37059a3d89e87c3fe5b1e26851f045d605c9773a1443085616c1debb725","weighted_mean_detected":false,"weighted_mean_score":0.48875997739634097},"sample_id":"cycle8-850000-26-conversational_prose-watermarked","seed_base":850000,"source_sha256":"4934d65fe75d6e3ae14f7e411e84d88f3ee79a65fba022586253f6d0b496f416"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5462962962962963,"weighted_mean_detected":false,"weighted_mean_score":0.5493265993265993},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.47676107480029045,"text_sha256":"bb0e7307c30e33b5b7cd4b63a087056423be5892750dec4c55c7236aa0909e9e","weighted_mean_detected":false,"weighted_mean_score":0.47898923879316035},"sample_id":"cycle8-850000-27-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"804f9c005c567a805283e824316a4a69b3d1c17a7c261537bd31f8d4f78a6af7"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6333333333333333,"weighted_mean_detected":true,"weighted_mean_score":0.6393939393939393},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4873737373737374,"text_sha256":"f9770fdcb28fe2da3cee2abe029ac3be82afd96f9e222634ff6a7d068e84b99d","weighted_mean_detected":false,"weighted_mean_score":0.48560278105732646},"sample_id":"cycle8-850000-27-structured_instructional-watermarked","seed_base":850000,"source_sha256":"1a4e2c6a55d4985d2fd8be77ea18b45bd970dbfcdaf1997f6afb230759505684"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5306513409961686,"weighted_mean_detected":false,"weighted_mean_score":0.523989898989899},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48611111111111116,"text_sha256":"1db739bf8c8c8653ebe3e6597a6dbd07b0f27372f8d313bfbd755c88c9c67a17","weighted_mean_detected":false,"weighted_mean_score":0.48443998811645866},"sample_id":"cycle8-850000-28-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"fc38707058b444bad03820a6616cfa6699e2270e583eb51447310e36f0cb34e6"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6351851851851851,"weighted_mean_detected":true,"weighted_mean_score":0.65753367003367},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48771201107649703,"text_sha256":"c3fb3e50ba824d0adfb5ab4131a6d5dcc033af7fdfc011e4d240e72a25ab5c12","weighted_mean_detected":false,"weighted_mean_score":0.48580037131439},"sample_id":"cycle8-850000-28-general_explanatory-watermarked","seed_base":850000,"source_sha256":"81609cb24cf02dffcc263261ef3273a5cd566d668a6ac674290f5f16074439eb"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.4981481481481482,"weighted_mean_detected":false,"weighted_mean_score":0.5026936026936027},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4926184926184926,"text_sha256":"17f3eab08179b94fb39fa423bcee4a84b5ba00377b5f36916193993df36f0ba4","weighted_mean_detected":false,"weighted_mean_score":0.4904729109274563},"sample_id":"cycle8-850000-29-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"061759e3608234ab82890a59892eeccd239296c9d4c268e35b0dd82305cc5bca"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6425925925925926,"weighted_mean_detected":true,"weighted_mean_score":0.6524410774410774},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4943533697632058,"text_sha256":"4d9466a820491c70a31c1fd63d8d85f2b6dc74a821c6c9aaf454ffc37082005f","weighted_mean_detected":false,"weighted_mean_score":0.49062758734889883},"sample_id":"cycle8-850000-29-technical_explanation-watermarked","seed_base":850000,"source_sha256":"7e4885f71f4784468f02f57f72c82461eb126b2a80f36abcc5903b0fa984f73f"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.512962962962963,"weighted_mean_detected":false,"weighted_mean_score":0.5118265993265994},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5012504465880672,"text_sha256":"54b60be36317732ca083d9d5f1b26874673434cf20d1a281b392c34e5774ddcd","weighted_mean_detected":false,"weighted_mean_score":0.49840040274123876},"sample_id":"cycle8-850000-30-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"96cf44eac534e4a0cea943b211593a74637629d9e5fe8c99fa52bb39ee9891e8"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6370370370370371,"weighted_mean_detected":true,"weighted_mean_score":0.6487794612794613},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49191279887482414,"text_sha256":"328bc2528f0dc838f0b1e3cbc89097d7585979dfccbdc020d1b614640a493690","weighted_mean_detected":false,"weighted_mean_score":0.49025859864467464},"sample_id":"cycle8-850000-30-conversational_prose-watermarked","seed_base":850000,"source_sha256":"6617f85f521b652ae9b68a9f23f3aa476d36a2436d292bc5077936420e6e189f"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5306513409961686,"weighted_mean_detected":false,"weighted_mean_score":0.5345698362939743},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4888103651354535,"text_sha256":"1fc936e8383851bfaaf6f03cbc47877ec22479a71126a8a67ff649572326051a","weighted_mean_detected":false,"weighted_mean_score":0.4899346825141878},"sample_id":"cycle8-850000-31-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"20f34ab173d598ee11f6a4e0ba7ddd16bd804fbc9bcc557c34a2b340ccfb67dc"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6537037037037037,"weighted_mean_detected":true,"weighted_mean_score":0.6385521885521885},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5005931198102016,"text_sha256":"ed85913c4aee547d0fc24ab6eb51e4c6d82a67a14974f2f5a19fdea4ba22bb30","weighted_mean_detected":false,"weighted_mean_score":0.5065782378949638},"sample_id":"cycle8-850000-31-structured_instructional-watermarked","seed_base":850000,"source_sha256":"ef6208d3d4a7697c1cfa3a22759d2ef77c86e798562033126584f4451eadc6a5"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.4981481481481482,"weighted_mean_detected":false,"weighted_mean_score":0.482996632996633},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48225308641975306,"text_sha256":"aae1d4f72433242fd3423937db5d29449f6698e8de225d5f0077f276e3e7c2d1","weighted_mean_detected":false,"weighted_mean_score":0.48012240460157124},"sample_id":"cycle8-850000-32-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"e357f9cb03f7ad69cff8efda221be891a5379c1f920612cb24638a59f4d738d6"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.595959595959596,"weighted_mean_detected":true,"weighted_mean_score":0.6049127640036731},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5098684210526315,"text_sha256":"176aa6eb320c02054f4e91445b54683bb835a9331b1b7790727e8face5b839a3","weighted_mean_detected":false,"weighted_mean_score":0.5150269138755981},"sample_id":"cycle8-850000-32-general_explanatory-watermarked","seed_base":850000,"source_sha256":"4c77c032925b4bea79bd060f949950877dd6b73ae998f2149635f79ee4e903f2"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.46111111111111114,"weighted_mean_detected":false,"weighted_mean_score":0.45126262626262625},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4948805460750853,"text_sha256":"8a1bb158c390b30dddfca199cea8edcd12601944cce899a9e5d8d0ef04e66aff","weighted_mean_detected":false,"weighted_mean_score":0.49379460130313374},"sample_id":"cycle8-850000-33-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"0e874b475fc25e0e2b53c94c35e09f3f4ad16034fcbb20026d4333ded918586e"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6185185185185186,"weighted_mean_detected":true,"weighted_mean_score":0.6332912457912457},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5025341130604288,"text_sha256":"85f3102b2487274bb7c06bb5e300dd35b2a6eba1233b9a7d61a6733f8951cab3","weighted_mean_detected":false,"weighted_mean_score":0.5024543682438419},"sample_id":"cycle8-850000-33-technical_explanation-watermarked","seed_base":850000,"source_sha256":"b5e969d7f0397e7ee03105322aaec90de371f4978a1c448661d7b6144665531a"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5141242937853107,"weighted_mean_detected":false,"weighted_mean_score":0.5079609655880842},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4893303899926416,"text_sha256":"7bcd2971df5579aba372dd52eb737c3fb49e260677ea64b1264c45cb3ca6f8d6","weighted_mean_detected":false,"weighted_mean_score":0.48729848150377947},"sample_id":"cycle8-850000-34-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"a63398122cd9710366745f9f7a58d321aa0fd78dfe6468651c2c836207637b27"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6534839924670434,"weighted_mean_detected":true,"weighted_mean_score":0.6646550248245163},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49281458114265686,"text_sha256":"1ca8737e9fba22a2f4fc39b16b0bff679a7b509e717559959fc86efbe757e445","weighted_mean_detected":false,"weighted_mean_score":0.4971879680081573},"sample_id":"cycle8-850000-34-conversational_prose-watermarked","seed_base":850000,"source_sha256":"d4b953ec204cdec363f7ec812a174915754831a4d5cf38d7ff3eca2897cd740a"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4907407407407407,"weighted_mean_detected":false,"weighted_mean_score":0.5039983164983165},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49378109452736324,"text_sha256":"282ececd199955a3f85dd015118382ae8f434307e42ec7d76d54cb62c5954f56","weighted_mean_detected":false,"weighted_mean_score":0.49132180009045673},"sample_id":"cycle8-850000-35-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"2e154e58119ee604591b6613274fb8903a2986743b774dc7d0c9fadd05b5eecc"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.600907029478458,"weighted_mean_detected":true,"weighted_mean_score":0.5971964543393115},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4904825143868969,"text_sha256":"27227dcadc00f728223ab98dd9ed8d2d9a8ae24db496d503c298590a7e93ed01","weighted_mean_detected":false,"weighted_mean_score":0.495190953358284},"sample_id":"cycle8-850000-35-structured_instructional-watermarked","seed_base":850000,"source_sha256":"d678977439bcb37b535fa65a8d64bf3f2b2de3efb7f13cd821175a73dbc78c61"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5087719298245614,"weighted_mean_detected":false,"weighted_mean_score":0.4996012759170654},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4858878170775277,"text_sha256":"c7f4fb2824d3a3bb50d79df9bd9b25e2e346382d975c387153b0401a9adcc906","weighted_mean_detected":false,"weighted_mean_score":0.4821608366624444},"sample_id":"cycle8-850000-36-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"3d6334781b8e2e5bb9b714f9447b9af751131214a55aae8f677336ca644bf2e6"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6592592592592593,"weighted_mean_detected":true,"weighted_mean_score":0.6675925925925926},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5030367988567345,"text_sha256":"403100921ae93dadb8ab222fd4f0e9760e6fbbf5d5432ed59fa8e3b279235b5d","weighted_mean_detected":false,"weighted_mean_score":0.5044983598038261},"sample_id":"cycle8-850000-36-general_explanatory-watermarked","seed_base":850000,"source_sha256":"830d06baf830b5eb1cf6269d148451fabb51da57c50f2d156fa094c4a9bc54b8"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5074074074074074,"weighted_mean_detected":false,"weighted_mean_score":0.49604377104377106},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4828137490007994,"text_sha256":"bbb91b27d4080f0abc5e80fdaa7b3e3019cc2226d6069d0c7df5b80d5aa6d602","weighted_mean_detected":false,"weighted_mean_score":0.4820779739844488},"sample_id":"cycle8-850000-37-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"de2dacd2452868f1f45bb44f961e36b690e47ea763ee8e31a936bd9222428968"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6314814814814814,"weighted_mean_detected":true,"weighted_mean_score":0.6470117845117845},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4949164851125635,"text_sha256":"7ccaa54d2cc86bcf7649c5c43b054f540dfc7f20127254273958c8b8a529bb50","weighted_mean_detected":false,"weighted_mean_score":0.5010810721595036},"sample_id":"cycle8-850000-37-technical_explanation-watermarked","seed_base":850000,"source_sha256":"c0f00456a6de03e68aa75c7f9c3d4878244fa9886f91bac0306d4064dda7061c"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5037037037037037,"weighted_mean_detected":false,"weighted_mean_score":0.48590067340067333},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4721299372462163,"text_sha256":"edffb1d5840c3c4e40b8a3ee395a6e434a358ce1c4de8b60697fadef3893127c","weighted_mean_detected":false,"weighted_mean_score":0.47801939662404774},"sample_id":"cycle8-850000-38-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"0039086a9edebb373840554387a97c9e77dae9122c12917f340edb04a18b3162"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6296296296296297,"weighted_mean_detected":true,"weighted_mean_score":0.6349326599326599},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4911699779249448,"text_sha256":"8de4ba51692a920c72f4e01265491979f7672c01a736deeb99f0a6488d755287","weighted_mean_detected":false,"weighted_mean_score":0.49869556492073047},"sample_id":"cycle8-850000-38-conversational_prose-watermarked","seed_base":850000,"source_sha256":"b3553e40b7a49c43b9fb622936876626d8be0eeb6de5109d604796163fe7c1d1"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5528455284552845,"weighted_mean_detected":false,"weighted_mean_score":0.5434220251293421},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4920634920634921,"text_sha256":"2bae15b5966d8b4d44ab6ff8149b18f09c89f82db94cdd7c8d1e6e21cc14a206","weighted_mean_detected":false,"weighted_mean_score":0.49158835744201596},"sample_id":"cycle8-850000-39-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"c7e0ba5415173719a6c3ece77259c908938dbcf5cbf281751379da48fb01e702"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6368563685636857,"weighted_mean_detected":true,"weighted_mean_score":0.6484971667898497},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4797786292039165,"text_sha256":"9c29c3e893628672bb9b22aedb310a6adc34865d154e6eaba99bc448feaeac7a","weighted_mean_detected":false,"weighted_mean_score":0.4796044738573474},"sample_id":"cycle8-850000-39-structured_instructional-watermarked","seed_base":850000,"source_sha256":"ea864626bc1125841bd520b1b8112de5031786a1e2a47e474633370321fc4734"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5373737373737374,"weighted_mean_detected":false,"weighted_mean_score":0.54811753902663},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48197203826342894,"text_sha256":"c58017d7dc44cce999afd716ef0fa2a9b6ab2b07a2e3be263bfe05fa73f8a941","weighted_mean_detected":false,"weighted_mean_score":0.484079202622249},"sample_id":"cycle8-850000-40-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"fd5c5087e634261e2e6d1c5a76ebc0c0e69033bc87aca43360cfff24894e52a3"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6707070707070707,"weighted_mean_detected":true,"weighted_mean_score":0.6818640955004591},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4750566893424036,"text_sha256":"051742b8b5246b9a7fa6cafc008583b0a95470daf4c83661505942cf3b904ee4","weighted_mean_detected":false,"weighted_mean_score":0.4711142032570604},"sample_id":"cycle8-850000-40-general_explanatory-watermarked","seed_base":850000,"source_sha256":"8434474c4328ae799f07605b272666038a61b6be4970df70902a1e9a49440e4f"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5,"weighted_mean_detected":false,"weighted_mean_score":0.49756493506493504},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49179559306141585,"text_sha256":"f1146a664a0397a5687d799bffc461ac7f55b7208d4e005a001497792fe5672d","weighted_mean_detected":false,"weighted_mean_score":0.4934258193751864},"sample_id":"cycle8-850000-41-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"16f37da31af8ca8f0f885599b760f05acaff97cda8a0072c3c6db43f80570282"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.60727969348659,"weighted_mean_detected":true,"weighted_mean_score":0.6080633925461512},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5029686174724343,"text_sha256":"336348f42cb37e506d771bd8e50dc24b7b6e12aac3c2ac40fa06cbae8f84dd09","weighted_mean_detected":false,"weighted_mean_score":0.5055709769450227},"sample_id":"cycle8-850000-41-technical_explanation-watermarked","seed_base":850000,"source_sha256":"c6aecff0a735eae1d1b587c3a16b08aebed66554d5f9b02da2f008183a85fc78"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.4722222222222222,"weighted_mean_detected":false,"weighted_mean_score":0.4748737373737374},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4838255977496484,"text_sha256":"929f873115c2053f6b868e966128293f9264704619c3b47f25a1a95232a85f52","weighted_mean_detected":false,"weighted_mean_score":0.4805171972893491},"sample_id":"cycle8-850000-42-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"9926365b2c1410eb4d8be8ab0df5bd39bc837693ca75182edb1de1673583ac47"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6333333333333333,"weighted_mean_detected":true,"weighted_mean_score":0.6412878787878787},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5025520219866509,"text_sha256":"a365b2bcf7b20a3e0e6aca96b2750e234469989317c4966a6e690ccf72582dc3","weighted_mean_detected":false,"weighted_mean_score":0.5054431238176821},"sample_id":"cycle8-850000-42-conversational_prose-watermarked","seed_base":850000,"source_sha256":"273855d2b8b2305127c1593600153bd4625b967e4249bc4ddf8f466da8dd2a64"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.49475890985324944,"weighted_mean_detected":false,"weighted_mean_score":0.48403849818944156},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4806547619047619,"text_sha256":"60851d93bdb812a856c0f94bad3c5788734c5e3fd1a120e709943259c0cf5c0c","weighted_mean_detected":false,"weighted_mean_score":0.47862554112554107},"sample_id":"cycle8-850000-43-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"a6b36ebb467b62242a6ae833e8f5f5ce6434f690bae6145614ce375df08e4974"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6011396011396011,"weighted_mean_detected":true,"weighted_mean_score":0.6069671069671069},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48538011695906436,"text_sha256":"aa9c8cdc0e63339229151ac1405d9d66c026869a0c4f90af265ccc745c9c8a6a","weighted_mean_detected":false,"weighted_mean_score":0.4942517278043594},"sample_id":"cycle8-850000-43-structured_instructional-watermarked","seed_base":850000,"source_sha256":"a601be7fc0f9e2f3194046e8984f337314960bb9b2026fe2cdfd38972093a0b6"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5224171539961013,"weighted_mean_detected":false,"weighted_mean_score":0.5307903597377281},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4837490551776266,"text_sha256":"09f06a01d94ac3a28b1d75ddfd7756324288a8dd48a48544f91502f780e16f11","weighted_mean_detected":false,"weighted_mean_score":0.4846766989624132},"sample_id":"cycle8-850000-44-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"d8e3756259c6ffb69b1379bf82f38358b3d854e13c4cc8cc978e0909a780cd5f"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6407407407407407,"weighted_mean_detected":true,"weighted_mean_score":0.6536195286195287},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48896769109535065,"text_sha256":"9a1e696c762d0dfcc4d62fe7567757090baab0419c37a3308d03f68903ea8419","weighted_mean_detected":false,"weighted_mean_score":0.4900959954151443},"sample_id":"cycle8-850000-44-general_explanatory-watermarked","seed_base":850000,"source_sha256":"860c7f8086535cce8bc55a73745b63ad5a05fbdf848d02a312bf013457685607"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5146198830409356,"weighted_mean_detected":false,"weighted_mean_score":0.4948830409356725},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49171075837742506,"text_sha256":"51d14af2565eefd90d848c97c9daaa15665fa6a4ab5e515a58bd4630a7ea8ec2","weighted_mean_detected":false,"weighted_mean_score":0.49070065736732404},"sample_id":"cycle8-850000-45-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"c5cc263952d800f9753bf456e1d7ffa250ac891f34e8440916dd970aec7c7d2b"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6007532956685498,"weighted_mean_detected":true,"weighted_mean_score":0.6065314158534497},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48084291187739464,"text_sha256":"f4cf78ed426034cf3d91f6bc30e73941e27d4e1288aff2293cb9db9c1ac0f9f5","weighted_mean_detected":false,"weighted_mean_score":0.4815286485545106},"sample_id":"cycle8-850000-45-technical_explanation-watermarked","seed_base":850000,"source_sha256":"c6304abe8e56c7be7e51b4de671518dad83364e6d31dc83ab3e8528d28267adc"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5037037037037037,"weighted_mean_detected":false,"weighted_mean_score":0.49877946127946127},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5061728395061729,"text_sha256":"3171e3137dcfe4fb8f15489d593305f354a2da724cd238bc562fe176a307d44b","weighted_mean_detected":false,"weighted_mean_score":0.5144002751529633},"sample_id":"cycle8-850000-46-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"d4591930603b78eef2f1747622168e900e2a527845ca4a20556d9de18f8a61f0"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.611111111111111,"weighted_mean_detected":true,"weighted_mean_score":0.6126262626262626},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4984423676012461,"text_sha256":"82aa4a8294244bf85fce68bc92d72d7b319d0f4c537975d91219af47d19fa78f","weighted_mean_detected":false,"weighted_mean_score":0.49228263947890116},"sample_id":"cycle8-850000-46-conversational_prose-watermarked","seed_base":850000,"source_sha256":"26305f3b5cd267a554259dee6cc7e337922dc5de9421c9c588a71bef63b33507"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5134099616858238,"weighted_mean_detected":false,"weighted_mean_score":0.5181121560431905},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.47074990184530824,"text_sha256":"8d6f608610ce6bea0af5310a2e7ed10ed3f0120169ab20a915fbf7bd9ef7a734","weighted_mean_detected":false,"weighted_mean_score":0.47147267730306597},"sample_id":"cycle8-850000-47-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"3022b82f355d961113d05ff637000dad046cd4f8e298dc3ab25853663b24cbb9"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6374269005847953,"weighted_mean_detected":true,"weighted_mean_score":0.643806485911749},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.514866979655712,"text_sha256":"87f2e12aa2ef1309c406a1838b3bfcb8232a3a9ac760f7955ac04457734e3b06","weighted_mean_detected":false,"weighted_mean_score":0.5169476454687723},"sample_id":"cycle8-850000-47-structured_instructional-watermarked","seed_base":850000,"source_sha256":"ed70d62ab8b3fa522a8ff79cf25c31d1b3ebac99639d9f33b35e85c0f400ac16"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5242165242165242,"weighted_mean_detected":false,"weighted_mean_score":0.5113960113960113},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48338081671415006,"text_sha256":"83029414adfa5d764ada2ef705cb438ddba4a86d3c92a80359eea0d99460f839","weighted_mean_detected":false,"weighted_mean_score":0.4848376931710265},"sample_id":"cycle8-850000-48-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"1586c4cfa2b0b4de2b354acefb047c78005a9530ad31e7acc241ab60bf840b4b"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5134099616858238,"weighted_mean_detected":false,"weighted_mean_score":0.5165447579240683},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48731884057971014,"text_sha256":"9d914af98a72bc8cbaa4d941ec675721e5036a8865d22ad8ed86eedcbb4ef5ce","weighted_mean_detected":false,"weighted_mean_score":0.48855401844532276},"sample_id":"cycle8-850000-48-general_explanatory-watermarked","seed_base":850000,"source_sha256":"2397c88bab43c656ad4134dd9dac3d13676d47666a2cba1dd7fafc05d96aeb01"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.5018518518518519,"weighted_mean_detected":false,"weighted_mean_score":0.4954124579124579},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49039548022598867,"text_sha256":"1179be996162f6ed3f8371656d934139e853010ba6b3b4676d6bebb11b4688a9","weighted_mean_detected":false,"weighted_mean_score":0.48777606574216736},"sample_id":"cycle8-850000-49-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"8e2c347f2fdb924eacb995346bc13338b2cd29dc5c8079942a856d4de8f2f24d"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.645224171539961,"weighted_mean_detected":true,"weighted_mean_score":0.6492114123693071},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.5080486847271299,"text_sha256":"5cc315ac7225deb026b92913d3f648d1d2723a2bea626821b5965704078939dd","weighted_mean_detected":false,"weighted_mean_score":0.5115019452475282},"sample_id":"cycle8-850000-49-technical_explanation-watermarked","seed_base":850000,"source_sha256":"77dc750ae0aa5f262a8761cb271a2d50c1de72e25066e20b12263e61be3cc2b3"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.4962962962962963,"weighted_mean_detected":false,"weighted_mean_score":0.49856902356902355},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5052083333333333,"text_sha256":"7c9d1607d95a548f3bf4f7c8157d258893718cbfb00271aedae40e76afb8ed01","weighted_mean_detected":false,"weighted_mean_score":0.5110321969696969},"sample_id":"cycle8-850000-50-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"c1a1d133f90acd1a32e1cf5e6d1e1ec54ccf394f9e05672c33db688bd3d78c1c"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6574074074074073,"weighted_mean_detected":true,"weighted_mean_score":0.6778619528619528},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49715585893060293,"text_sha256":"534bf74dc1bfd16397aa4852f2e1cd6bdfe90d926f27413ff39d38ceec8e8eb6","weighted_mean_detected":false,"weighted_mean_score":0.4965353190609163},"sample_id":"cycle8-850000-50-conversational_prose-watermarked","seed_base":850000,"source_sha256":"e212d46f366ce91bc916f11e8556d0fb0c4464bc67b16456c532ac66a0679cf5"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5111111111111111,"weighted_mean_detected":false,"weighted_mean_score":0.5133838383838384},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49174917491749176,"text_sha256":"9b6247e20368d1ae79b75ffd6cb9f4fa3a0cb387b49fe462ceb6c140be549a42","weighted_mean_detected":false,"weighted_mean_score":0.4906990699069907},"sample_id":"cycle8-850000-51-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"878f6fc747889db5ccc24966d483370446f8b3e233e23a2c4a4c709e5c04faa0"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6407407407407407,"weighted_mean_detected":true,"weighted_mean_score":0.6407407407407407},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4849002849002849,"text_sha256":"7a646f55c725102ec013c3ef5545bfb5c6dc0b62407c860535345f2b47239f1b","weighted_mean_detected":false,"weighted_mean_score":0.4862988862988863},"sample_id":"cycle8-850000-51-structured_instructional-watermarked","seed_base":850000,"source_sha256":"080a79d2d098b3b768e55c30912a3ad71e1f11d6c495b2ff65cf87f660fac94e"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5048732943469786,"weighted_mean_detected":false,"weighted_mean_score":0.5236133262449052},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.48314176245210727,"text_sha256":"a2aaab153c7ae43788375dbf64064afaa848084f94d501f94d73a79cd651899a","weighted_mean_detected":false,"weighted_mean_score":0.4934865900383142},"sample_id":"cycle8-850000-52-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"0007f7a42b28fac456ef8fb9979618e29c0fc4690a19e579091cd76d8e22ee89"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6280193236714976,"weighted_mean_detected":true,"weighted_mean_score":0.6383948177426438},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49642346208869814,"text_sha256":"81583b740ec67c9c4ed99feefecd23b27e968f5b43fcd76af0d769b5e3a20337","weighted_mean_detected":false,"weighted_mean_score":0.4977890492911952},"sample_id":"cycle8-850000-52-general_explanatory-watermarked","seed_base":850000,"source_sha256":"eda55ebf126381ab82a1f13c1b3a948339a34e4c2ed2c5ec7f61a57b56f20ee5"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.49616858237547895,"weighted_mean_detected":false,"weighted_mean_score":0.493425635667015},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4931623931623932,"text_sha256":"c95e86fd75243c71bb99d47888bccc8b69d6e93d571bd99a800f91a23c1073e5","weighted_mean_detected":false,"weighted_mean_score":0.49333721833721833},"sample_id":"cycle8-850000-53-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"b30a0a84e48dbcd407d6a06cfe92dba7fd65e4ee02d9322967d06ec2d165d652"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.647834274952919,"weighted_mean_detected":true,"weighted_mean_score":0.6640130114706385},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4836347975882859,"text_sha256":"a0aa44ea2c5f816499844bfa47b18bd93a93a7d6cdc644834c4412992feeb4d7","weighted_mean_detected":false,"weighted_mean_score":0.49015347271161225},"sample_id":"cycle8-850000-53-technical_explanation-watermarked","seed_base":850000,"source_sha256":"b29a97b7431990158b0d35b09bca147ec73c16ceb6f8cb589245e4e24bd597a4"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.5,"weighted_mean_detected":false,"weighted_mean_score":0.4776515151515151},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4940898345153665,"text_sha256":"d5701012ff3126ad4d97f84e53ec2ad0a3a1fb57ce878bdb6409b003062ca81e","weighted_mean_detected":false,"weighted_mean_score":0.495943477326456},"sample_id":"cycle8-850000-54-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"6ddb14361c5a1e9eb523651d5d8a6e12313037eb69a61f213de84d4a9e87c5b8"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6462962962962963,"weighted_mean_detected":true,"weighted_mean_score":0.6546296296296297},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49374540103016923,"text_sha256":"be7a4f15901a41445568874929aa6b27c9c5fa9af35e36c7d63eb0a8ad0a4238","weighted_mean_detected":false,"weighted_mean_score":0.49570205364907355},"sample_id":"cycle8-850000-54-conversational_prose-watermarked","seed_base":850000,"source_sha256":"adb49a8c9a791bff43ee33ea11af036406e6c5bcbb1190aaba7440c40bf6e959"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.4574074074074074,"weighted_mean_detected":false,"weighted_mean_score":0.43316498316498314},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.5078189300411523,"text_sha256":"814d8f03358b1626a5a3577d2add6769800a8306c20bf8faf7d56582db71c451","weighted_mean_detected":false,"weighted_mean_score":0.5103441825664048},"sample_id":"cycle8-850000-55-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"79f32b5d07af00420c73e16852bf5f3351f33dbdfec852cc91f49d86c2397be9"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6592592592592593,"weighted_mean_detected":true,"weighted_mean_score":0.6679713804713804},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4947176684881603,"text_sha256":"cb4541d0f605f9f344467c3a8af3706b5585db1c956611ef914ae46ee010b8a9","weighted_mean_detected":false,"weighted_mean_score":0.4978473257161781},"sample_id":"cycle8-850000-55-structured_instructional-watermarked","seed_base":850000,"source_sha256":"b3d0149e100d1cf4d52eb5e0eda03a39b988ecc32dac23c455174f805f540f91"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5079365079365079,"weighted_mean_detected":false,"weighted_mean_score":0.5057720057720058},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49425287356321834,"text_sha256":"670dc10b428e831e1277cd9a6cdcee67fa68f8a42214bb84a96ca14187d1ff18","weighted_mean_detected":false,"weighted_mean_score":0.49772354082698905},"sample_id":"cycle8-850000-56-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"fabc725ca23fc9fe573af37274ce998cc7362a16fc1ba6962e7de7828032ad3c"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5491452991452991,"weighted_mean_detected":false,"weighted_mean_score":0.5517676767676767},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.48991565823248984,"text_sha256":"6842d0eb409d3fb5d55f9b3ef657dea51360d8f5baef6c79e45d397e29a12674","weighted_mean_detected":false,"weighted_mean_score":0.47798946561322797},"sample_id":"cycle8-850000-56-general_explanatory-watermarked","seed_base":850000,"source_sha256":"53322328c73f00142dc262689d056680d4fc1e3230ceb8ea21bbd8bac4cd7991"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.47119341563786005,"weighted_mean_detected":false,"weighted_mean_score":0.4749812944257389},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49046434494195684,"text_sha256":"80ac8fec99bda7ec5eb47389724d72386fb443184eaa845149aa9f53e4c00097","weighted_mean_detected":false,"weighted_mean_score":0.4986054575606814},"sample_id":"cycle8-850000-57-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"a8b52211261322932c4f404c463034b4c4bf24f9c38950feb756e6451b9a3d34"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6343434343434343,"weighted_mean_detected":true,"weighted_mean_score":0.6331037649219468},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.47955974842767296,"text_sha256":"ad1e950d55e68316b84ad952adfded2dcf83a8f40aa162d5511c8a0da3e596c6","weighted_mean_detected":false,"weighted_mean_score":0.48524156660949114},"sample_id":"cycle8-850000-57-technical_explanation-watermarked","seed_base":850000,"source_sha256":"0cae043e856ea01fa021273161601444f913ae4ea135895e68cf1c3e09ff010e"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.48412698412698413,"weighted_mean_detected":false,"weighted_mean_score":0.48696789321789324},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49,"text_sha256":"6fa18bfaa542d068b1680b6c7eecd411454d09b6790a0b5d072846828c4f10e7","weighted_mean_detected":false,"weighted_mean_score":0.4923484848484848},"sample_id":"cycle8-850000-58-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"e062a4608645ace335c9c822f708e440104c9c00f1896c58d7c7e7b11987f753"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.6202020202020201,"weighted_mean_detected":true,"weighted_mean_score":0.6309458218549128},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49812734082397003,"text_sha256":"0cdf60cc04d3a8d6dc8e89974c617fa8e4521a35a27daeab96f4e852aa5d5370","weighted_mean_detected":false,"weighted_mean_score":0.4959993190330269},"sample_id":"cycle8-850000-58-conversational_prose-watermarked","seed_base":850000,"source_sha256":"7948ca477315c5cc024515bed0182f2a29cf163f3f1d55c89320e58bd136cc00"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5203703703703704,"weighted_mean_detected":false,"weighted_mean_score":0.5226430976430977},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4808558558558559,"text_sha256":"b22c285098b1d4f75e16b12519973842e856e10b680ca6e7519aec1b370bfa64","weighted_mean_detected":false,"weighted_mean_score":0.4783220720720721},"sample_id":"cycle8-850000-59-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"05689cb43f0fd985805814964ee59ca3e358523571c5b34654b04aa7fcfa54c9"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.6161616161616161,"weighted_mean_detected":true,"weighted_mean_score":0.6216712580348944},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4912912912912913,"text_sha256":"089a102ec4271514b3f0c7767f57acb7c70c2c559a4b271cc23bc2dad001cc4f","weighted_mean_detected":false,"weighted_mean_score":0.50001365001365},"sample_id":"cycle8-850000-59-structured_instructional-watermarked","seed_base":850000,"source_sha256":"393f627ca5df9cb416dc3ba1673352354bdcd12306bf2af901d773a750fcc644"},{"domain":"general_explanatory","identity":{"mean_detected":false,"mean_score":0.5149051490514905,"weighted_mean_detected":false,"weighted_mean_score":0.5160137965016013},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.49137585238668274,"text_sha256":"c6d9f678817817f2dcecb1d572c42848d666232ec2c84f29776f362495c92c59","weighted_mean_detected":false,"weighted_mean_score":0.49424752944608535},"sample_id":"cycle8-850000-60-general_explanatory-unwatermarked","seed_base":850000,"source_sha256":"13de4a153da416b7decb7a68569f0d21d2cfb85af2361f6ba07fce02a42fa777"},{"domain":"general_explanatory","identity":{"mean_detected":true,"mean_score":0.6836158192090396,"weighted_mean_detected":true,"weighted_mean_score":0.6820749871597329},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4955849889624724,"text_sha256":"5e43f8cdb47209bc8773a19670174ca7ea78ae4cca65a5d111017292e420e853","weighted_mean_detected":false,"weighted_mean_score":0.4921984748143688},"sample_id":"cycle8-850000-60-general_explanatory-watermarked","seed_base":850000,"source_sha256":"96582299ccbf1561d129847f9ebdd2611cf68345e9adb6b1f664099a49a236c2"},{"domain":"technical_explanation","identity":{"mean_detected":false,"mean_score":0.4576719576719577,"weighted_mean_detected":false,"weighted_mean_score":0.4636243386243386},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.492831541218638,"text_sha256":"d7978b98de28538d4acc136d86b224775d54acb19bdebf22e7c1d31cc87db6f8","weighted_mean_detected":false,"weighted_mean_score":0.4997963506028022},"sample_id":"cycle8-850000-61-technical_explanation-unwatermarked","seed_base":850000,"source_sha256":"bbbae2a69567a3cdaaaf86b6bcc9ce0498e480dfb234474076adf59ae8e2afc3"},{"domain":"technical_explanation","identity":{"mean_detected":true,"mean_score":0.6574074074074073,"weighted_mean_detected":true,"weighted_mean_score":0.6763468013468014},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4937477670596641,"text_sha256":"6f5f5a82c45f7dbd2d53411e89e586e93bc4ec3005bc8db87d4eb56666e0ba94","weighted_mean_detected":false,"weighted_mean_score":0.4963785767644288},"sample_id":"cycle8-850000-61-technical_explanation-watermarked","seed_base":850000,"source_sha256":"548a39541c2f96513d04cda97b3651693a05472f9e91d5f9509fb7828aa82bcd"},{"domain":"conversational_prose","identity":{"mean_detected":false,"mean_score":0.49358974358974356,"weighted_mean_detected":false,"weighted_mean_score":0.50495337995338},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4763169544046038,"text_sha256":"33803cb45357a5c4f879353cf438de67412b620926ac3dcdac5ac4cd1b516804","weighted_mean_detected":false,"weighted_mean_score":0.4815686747957664},"sample_id":"cycle8-850000-62-conversational_prose-unwatermarked","seed_base":850000,"source_sha256":"c219b7871026ce44cf29340170881d5ac8d5b9f248d983ae0bccbedfa7079ff7"},{"domain":"conversational_prose","identity":{"mean_detected":true,"mean_score":0.5729847494553377,"weighted_mean_detected":true,"weighted_mean_score":0.5765498118439295},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.49174917491749176,"text_sha256":"ee87b1dbb92f89d3a7bcb279a788804c5b76b38c767f2b61b48505e1675ea04f","weighted_mean_detected":false,"weighted_mean_score":0.49759975997599765},"sample_id":"cycle8-850000-62-conversational_prose-watermarked","seed_base":850000,"source_sha256":"c5a9cd60ec845404b31a0ec25449e552a26acb893d1f70ff1d06abaa5e69890a"},{"domain":"structured_instructional","identity":{"mean_detected":false,"mean_score":0.5170940170940171,"weighted_mean_detected":false,"weighted_mean_score":0.5101010101010102},"label":"unwatermarked","mix":{"mean_detected":false,"mean_score":0.4807256235827665,"text_sha256":"0f295a0d976f63514f2224ada145373ee00075f6b063a11d4de12ec254d9de89","weighted_mean_detected":false,"weighted_mean_score":0.48605957534528965},"sample_id":"cycle8-850000-63-structured_instructional-unwatermarked","seed_base":850000,"source_sha256":"f4f8950bfc9647c7d54b92a65f04db2d41d1d5fddf1b4a7d6303d084fa25251f"},{"domain":"structured_instructional","identity":{"mean_detected":true,"mean_score":0.662962962962963,"weighted_mean_detected":true,"weighted_mean_score":0.6883417508417509},"label":"watermarked","mix":{"mean_detected":false,"mean_score":0.4990832416574991,"text_sha256":"cabd9077cc5248c83a30f601a6909b9eba7dfaddb3797f3d78619704bec5aacb","weighted_mean_detected":false,"weighted_mean_score":0.5008084141747507},"sample_id":"cycle8-850000-63-structured_instructional-watermarked","seed_base":850000,"source_sha256":"02dcc18dd948ad8c04208d7a5912cd8866b7eec4bb8fc3a93e14ffeae4305480"}],"scope":"Same frozen mix apply on spent confirmation source texts. Mean versus Weighted Mean on one Hugging Face GPT-2 SynthID observation adapter. Not a second model. Not proprietary-detector transfer.","scorecard_hash":"1b13209f53dcb18e1e93938f22c39bcb510eb4292c1d841db6fbe51052d8e620","second_model":false,"threshold":0.5570987654320988} diff --git a/fuckmark/cli.py b/fuckmark/cli.py index 1fe4c288..8e98392c 100644 --- a/fuckmark/cli.py +++ b/fuckmark/cli.py @@ -12,7 +12,12 @@ from typing import TextIO from . import __project_name__, __version__ -from .product.visible_projection import is_carrier_insertion_v1, product_approved_carriers_v1 +from .product.encodings import require_supported_product_encoding +from .product.visible_projection import ( + is_carrier_insertion_v1, + product_approved_carriers_v1, + project_visible_v1, +) from .transforms import TRANSFORM_REGISTRY_ALGORITHM_VERSION, release_transform_registry @@ -124,6 +129,17 @@ def _parser() -> argparse.ArgumentParser: action="store_true", help="also copy the transformed text to the system clipboard", ) + parser.add_argument( + "--visible", + action="store_true", + help="write the user-visible projection instead of the raw Unicode payload", + ) + parser.add_argument( + "--encoding", + default="utf-8", + metavar="NAME", + help="output encoding; only utf-8 is supported (latin-1, ascii, and cp1252 are rejected)", + ) parser.add_argument( "-q", "--quiet", @@ -253,6 +269,10 @@ def main( output = sys.stdout if output_stream is None else output_stream errors = sys.stderr if error_stream is None else error_stream + try: + require_supported_product_encoding(arguments.encoding) + except ValueError as error: + return _error(errors, str(error)) if arguments.stdin_mode and arguments.input_file not in (None, "-"): return _error(errors, "FILE cannot be combined with --stdin") if ( @@ -293,18 +313,22 @@ def main( except (KeyError, TypeError, ValueError) as error: return _error(errors, f"transformation failed: {error}") + output_text = result.output_text + if arguments.visible: + output_text = project_visible_v1(output_text, product_approved_carriers_v1()) + should_copy = arguments.copy copy_failed: Exception | None = None if should_copy: writer = copy_to_clipboard if clipboard_writer is None else clipboard_writer try: - writer(result.output_text) + writer(output_text) except Exception as error: copy_failed = error try: if batch_mode or arguments.output is not None or copy_failed is not None or (interactive and not should_copy): - _write_result(result.output_text, arguments.output, output) + _write_result(output_text, arguments.output, output) if interactive and (arguments.output is None or arguments.output == "-"): output.write("\n") output.flush() diff --git a/fuckmark/cycle8/__init__.py b/fuckmark/cycle8/__init__.py index e27dd7c5..f4f0e5df 100644 --- a/fuckmark/cycle8/__init__.py +++ b/fuckmark/cycle8/__init__.py @@ -32,6 +32,11 @@ ) from .scoreboard import CYCLE8_SCOREBOARD_VERSION, EvidenceLabel, ProductGate, product_scoreboard_payload from .tokenizer_screen import GPT2_FIXTURE, load_gpt2_encoder, require_gpt2_encoder, screen_carrier_tokenizer +from .feasibility import ( + CYCLE8_FEASIBILITY_HASH, + CYCLE8_FEASIBILITY_VERSION, + scan_invisible_carrier_feasibility, +) from .unicode_meta import ( UNICODE_PROPERTY_SCAN_VERSION, audit_codepoints, @@ -45,6 +50,8 @@ "CYCLE8_DECISION_VERSION", "CYCLE8_DETECTOR_ARM_IDS", "CYCLE8_EXPLORATORY_SEED_BASE", + "CYCLE8_FEASIBILITY_HASH", + "CYCLE8_FEASIBILITY_VERSION", "CYCLE8_FIXTURE_COMPARE_VERSION", "CYCLE8_LEDGER_VERSION", "CYCLE8_REPLICATION_SEED_BASE", @@ -80,6 +87,7 @@ "measure_carrier_arm", "product_scoreboard_payload", "run_fixture_compare", + "scan_invisible_carrier_feasibility", "screen_carrier_tokenizer", "select_letter_mix_sites", ] diff --git a/fuckmark/cycle8/browser_search.py b/fuckmark/cycle8/browser_search.py new file mode 100644 index 00000000..656fb3c0 --- /dev/null +++ b/fuckmark/cycle8/browser_search.py @@ -0,0 +1,148 @@ +from __future__ import annotations + +import json +import subprocess +import tempfile +import time +from pathlib import Path + +from ..hashing import sha256_json, sha256_text +from ..product.rendering import chrome_executable + + +BROWSER_SEARCH_VERSION = "cycle8-chromium-find-v1" + + +def _screenshot(executable: str, root: Path, name: str, html: str) -> bytes: + html_path = root / f"{name}.html" + png_path = root / f"{name}.png" + html_path.write_text(html, encoding="utf-8") + process = subprocess.Popen( + [ + executable, + "--headless=new", + "--disable-gpu", + "--no-sandbox", + "--disable-dev-shm-usage", + "--hide-scrollbars", + "--no-first-run", + "--disable-background-networking", + "--virtual-time-budget=5000", + "--window-size=400,120", + f"--screenshot={png_path}", + html_path.as_uri(), + ], + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) + try: + deadline = time.monotonic() + 30 + while time.monotonic() < deadline: + if png_path.exists() and png_path.stat().st_size > 0: + time.sleep(0.25) + break + if process.poll() is not None: + break + time.sleep(0.05) + if process.poll() is None: + process.kill() + process.wait(timeout=5) + finally: + if process.poll() is None: + process.kill() + try: + process.wait(timeout=5) + except subprocess.TimeoutExpired: + process.kill() + if not png_path.exists() or png_path.stat().st_size == 0: + raise OSError("chrome screenshot missing") + return png_path.read_bytes() + + +def _label_page(label: str) -> str: + return ( + "" + f"
{label}
" + "" + ) + + +def _find_page(text: str, needle: str) -> str: + payload = json.dumps(text, ensure_ascii=False).replace("<", "\\u003c").replace(">", "\\u003e") + codes = ",".join(str(ord(character)) for character in needle) + return ( + "" + "" + "
"
+        "
WAIT
" + "" + ) + + +def compare_chrome_find(text: str, needle: str) -> dict[str, object]: + if not isinstance(text, str) or not isinstance(needle, str): + raise TypeError("text and needle must be strings") + executable = chrome_executable() + unknown = { + "algorithm_version": BROWSER_SEARCH_VERSION, + "environment": "chromium_window_find", + "status": "UNKNOWN", + "hit": None, + "needle_sha256": sha256_text(needle), + "text_sha256": sha256_text(text), + "detail": "no chromium executable on this host", + } + if executable is None: + return {**unknown, "comparison_hash": sha256_json(unknown)} + try: + with tempfile.TemporaryDirectory(prefix="fuckmark-find-") as directory: + root = Path(directory) + hit_png = _screenshot(executable, root, "hit", _label_page("HIT")) + miss_png = _screenshot(executable, root, "miss", _label_page("MISS")) + none_png = _screenshot(executable, root, "none", _label_page("NONE")) + result_png = _screenshot(executable, root, "find", _find_page(text, needle)) + except (OSError, subprocess.CalledProcessError, subprocess.TimeoutExpired) as error: + payload = { + "algorithm_version": BROWSER_SEARCH_VERSION, + "environment": "chromium_window_find", + "status": "UNKNOWN", + "hit": None, + "needle_sha256": sha256_text(needle), + "text_sha256": sha256_text(text), + "detail": type(error).__name__, + } + return {**payload, "comparison_hash": sha256_json(payload)} + if result_png == hit_png: + hit = True + status = "VERIFIED" + detail = "window_find_hit" + elif result_png == miss_png: + hit = False + status = "VERIFIED" + detail = "window_find_miss" + elif result_png == none_png: + hit = None + status = "UNKNOWN" + detail = "window_find_missing" + else: + hit = None + status = "UNKNOWN" + detail = "window_find_unmatched_png" + payload = { + "algorithm_version": BROWSER_SEARCH_VERSION, + "environment": "chromium_window_find", + "status": status, + "hit": hit, + "needle_sha256": sha256_text(needle), + "text_sha256": sha256_text(text), + "detail": detail, + } + return {**payload, "comparison_hash": sha256_json(payload)} diff --git a/fuckmark/cycle8/detector_transfer.py b/fuckmark/cycle8/detector_transfer.py new file mode 100644 index 00000000..99bc33d3 --- /dev/null +++ b/fuckmark/cycle8/detector_transfer.py @@ -0,0 +1,189 @@ +from __future__ import annotations + +import json +from pathlib import Path + +from ..experiments.cycle6_confirmation import CYCLE6_THRESHOLD +from ..hashing import sha256_json +from .compare import CYCLE8_LETTER_ALT_ARM_ID +from .mix_confirmation import CYCLE8_MIX_CONFIRMATION_SCORECARD_VERSION +from .mix_freeze import CYCLE8_MIX_FREEZE_VERSION + + +CYCLE8_MIX_DETECTOR_TRANSFER_VERSION = "cycle8-mix-mean-transfer-v1" +CYCLE8_MIX_DETECTOR_TRANSFER_PATH = "evidence/cycle8-mix-mean-transfer-2026-08-26/scorecard.json" +CYCLE8_MIX_DETECTOR_TRANSFER_HASH = "1b13209f53dcb18e1e93938f22c39bcb510eb4292c1d841db6fbe51052d8e620" +_CORPORA = ( + (830000, "evidence/cycle8-mix-confirmation-830000-n64-2026-08-26/detector-compare.json"), + (840000, "evidence/cycle8-mix-confirmation-840000-n64-2026-08-26/detector-compare.json"), + (850000, "evidence/cycle8-mix-confirmation-850000-n64-2026-08-26/detector-compare.json"), +) + + +def confirmation_source_paths() -> tuple[tuple[int, str], ...]: + return _CORPORA + + +def build_mix_mean_transfer_scorecard(rows: list[dict[str, object]]) -> dict[str, object]: + if not isinstance(rows, list) or not rows: + raise ValueError("transfer rows must be a non-empty list") + mix_wm_mean = 0 + mix_wm_weighted = 0 + mix_uw_mean = 0 + mix_uw_weighted = 0 + identity_wm_mean = 0 + identity_wm_weighted = 0 + identity_uw_mean = 0 + identity_uw_weighted = 0 + mix_wm_n = 0 + mix_uw_n = 0 + identity_wm_n = 0 + identity_uw_n = 0 + mix_wm_max_mean = None + mix_wm_max_weighted = None + compact = [] + for row in rows: + label = str(row["label"]) + identity = row["identity"] + mix = row["mix"] + if label == "watermarked": + mix_wm_n += 1 + identity_wm_n += 1 + mix_wm_mean += int(bool(mix["mean_detected"])) + mix_wm_weighted += int(bool(mix["weighted_mean_detected"])) + identity_wm_mean += int(bool(identity["mean_detected"])) + identity_wm_weighted += int(bool(identity["weighted_mean_detected"])) + mix_score = float(mix["mean_score"]) + weighted_score = float(mix["weighted_mean_score"]) + mix_wm_max_mean = mix_score if mix_wm_max_mean is None else max(mix_wm_max_mean, mix_score) + mix_wm_max_weighted = ( + weighted_score if mix_wm_max_weighted is None else max(mix_wm_max_weighted, weighted_score) + ) + elif label == "unwatermarked": + mix_uw_n += 1 + identity_uw_n += 1 + mix_uw_mean += int(bool(mix["mean_detected"])) + mix_uw_weighted += int(bool(mix["weighted_mean_detected"])) + identity_uw_mean += int(bool(identity["mean_detected"])) + identity_uw_weighted += int(bool(identity["weighted_mean_detected"])) + else: + raise ValueError("unknown transfer label") + compact.append( + { + "sample_id": row["sample_id"], + "seed_base": row["seed_base"], + "label": label, + "domain": row["domain"], + "source_sha256": row["source_sha256"], + "identity": { + "mean_score": identity["mean_score"], + "weighted_mean_score": identity["weighted_mean_score"], + "mean_detected": identity["mean_detected"], + "weighted_mean_detected": identity["weighted_mean_detected"], + }, + "mix": { + "mean_score": mix["mean_score"], + "weighted_mean_score": mix["weighted_mean_score"], + "mean_detected": mix["mean_detected"], + "weighted_mean_detected": mix["weighted_mean_detected"], + "text_sha256": mix["text_sha256"], + }, + } + ) + payload = { + "algorithm_version": CYCLE8_MIX_DETECTOR_TRANSFER_VERSION, + "mechanism_id": CYCLE8_LETTER_ALT_ARM_ID, + "freeze_version": CYCLE8_MIX_FREEZE_VERSION, + "confirmation_scorecard_version": CYCLE8_MIX_CONFIRMATION_SCORECARD_VERSION, + "product_authorized": False, + "confirmation_rewritten": False, + "threshold": CYCLE6_THRESHOLD, + "model": "openai-community/gpt2", + "adapter": "HuggingFaceSynthIDAdapter", + "families": ["mean", "weighted_mean"], + "second_model": False, + "evidence_label": "HYPOTHESIS", + "scope": ( + "Same frozen mix apply on spent confirmation source texts. " + "Mean versus Weighted Mean on one Hugging Face GPT-2 SynthID observation adapter. " + "Not a second model. Not proprietary-detector transfer." + ), + "effectiveness": { + "mix_mean_wm": {"detected": mix_wm_mean, "n": mix_wm_n, "rate": f"{mix_wm_mean}/{mix_wm_n}"}, + "mix_weighted_mean_wm": { + "detected": mix_wm_weighted, + "n": mix_wm_n, + "rate": f"{mix_wm_weighted}/{mix_wm_n}", + }, + "mix_mean_uw": {"detected": mix_uw_mean, "n": mix_uw_n, "rate": f"{mix_uw_mean}/{mix_uw_n}"}, + "mix_weighted_mean_uw": { + "detected": mix_uw_weighted, + "n": mix_uw_n, + "rate": f"{mix_uw_weighted}/{mix_uw_n}", + }, + "identity_mean_wm": { + "detected": identity_wm_mean, + "n": identity_wm_n, + "rate": f"{identity_wm_mean}/{identity_wm_n}", + }, + "identity_weighted_mean_wm": { + "detected": identity_wm_weighted, + "n": identity_wm_n, + "rate": f"{identity_wm_weighted}/{identity_wm_n}", + }, + "identity_mean_uw": { + "detected": identity_uw_mean, + "n": identity_uw_n, + "rate": f"{identity_uw_mean}/{identity_uw_n}", + }, + "identity_weighted_mean_uw": { + "detected": identity_uw_weighted, + "n": identity_uw_n, + "rate": f"{identity_uw_weighted}/{identity_uw_n}", + }, + "mix_mean_wm_max_score": mix_wm_max_mean, + "mix_weighted_mean_wm_max_score": mix_wm_max_weighted, + }, + "rows": compact, + "do_not_generate_950000": True, + "do_not_rerun_looking_for_zero": True, + } + return {**payload, "scorecard_hash": sha256_json(payload)} + + +def load_mix_mean_transfer_scorecard(path: str | Path | None = None) -> dict[str, object]: + destination = Path(path) if path is not None else Path(CYCLE8_MIX_DETECTOR_TRANSFER_PATH) + return json.loads(destination.read_text(encoding="utf-8")) + + +def try_load_mix_mean_transfer_scorecard(path: str | Path | None = None) -> dict[str, object] | None: + destination = Path(path) if path is not None else Path(CYCLE8_MIX_DETECTOR_TRANSFER_PATH) + if not destination.is_file(): + return None + return json.loads(destination.read_text(encoding="utf-8")) + + +def assert_mix_mean_transfer_committed() -> None: + path = Path(CYCLE8_MIX_DETECTOR_TRANSFER_PATH) + if not path.is_file(): + raise ValueError("mix mean transfer scorecard is not committed") + disk = json.loads(path.read_text(encoding="utf-8")) + body = {key: value for key, value in disk.items() if key != "scorecard_hash"} + digest = sha256_json(body) + if disk.get("scorecard_hash") != digest: + raise ValueError("mix mean transfer scorecard hash mismatch") + if CYCLE8_MIX_DETECTOR_TRANSFER_HASH != "0" * 64 and digest != CYCLE8_MIX_DETECTOR_TRANSFER_HASH: + raise ValueError("mix mean transfer scorecard hash is not the frozen digest") + if disk.get("confirmation_rewritten") is True: + raise ValueError("mean transfer must not rewrite confirmation") + if disk.get("product_authorized") is True: + raise ValueError("mean transfer must not product-authorize mix") + if disk.get("second_model") is True: + raise ValueError("mean transfer must not claim a second model") + if disk.get("evidence_label") != "HYPOTHESIS": + raise ValueError("mean transfer must remain HYPOTHESIS") + effectiveness = disk["effectiveness"] + if effectiveness["mix_weighted_mean_wm"]["rate"] != "0/192": + raise ValueError("mean transfer weighted-mean mix WM is not 0/192") + if effectiveness["mix_mean_wm"]["n"] != 192: + raise ValueError("mean transfer mix WM n is not 192") diff --git a/fuckmark/cycle8/feasibility.py b/fuckmark/cycle8/feasibility.py new file mode 100644 index 00000000..630223a8 --- /dev/null +++ b/fuckmark/cycle8/feasibility.py @@ -0,0 +1,131 @@ +from __future__ import annotations + +import json +import unicodedata +from pathlib import Path + +from ..config import canonical_json_text +from ..hashing import sha256_json +from ..product.roundtrip import display_column_width +from ..sanitizer_robustness import strip_unicode_format_characters +from .unicode_meta import _BIDI_OVERRIDE, _VISIBLE_CATEGORIES, is_default_ignorable_v1 + + +CYCLE8_FEASIBILITY_VERSION = "cycle8-invisible-carrier-feasibility-v1" +CYCLE8_FEASIBILITY_PATH = "specs/cycle8/fuckmark-cycle8-invisible-carrier-feasibility-v1.json" +CYCLE8_FEASIBILITY_HASH = "edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483" +ENCLOSING_MARK_PROBE = 0x20DD + + +def _assigned_name(codepoint: int) -> str | None: + try: + return unicodedata.name(chr(codepoint)) + except ValueError: + return None + + +def scan_invisible_carrier_feasibility() -> dict[str, object]: + visible_or_control = 0 + format_count = 0 + nonspacing_count = 0 + enclosing = [] + other = [] + for codepoint in range(0x110000): + if 0xD800 <= codepoint <= 0xDFFF: + continue + name = _assigned_name(codepoint) + if name is None: + continue + character = chr(codepoint) + category = unicodedata.category(character) + bidirectional = unicodedata.bidirectional(character) + if ( + category in _VISIBLE_CATEGORIES + or category in {"Cc", "Cs"} + or bidirectional in _BIDI_OVERRIDE + ): + visible_or_control += 1 + continue + if category == "Cf": + format_count += 1 + continue + if category == "Mn": + nonspacing_count += 1 + continue + width_delta = display_column_width(f"A{character}B") - display_column_width("AB") + nfc_stable = unicodedata.normalize("NFC", character) == character + nfkc_stable = unicodedata.normalize("NFKC", character) == character + cf_survives = strip_unicode_format_characters(character) == character + default_ignorable = is_default_ignorable_v1(codepoint) + row = { + "codepoint": codepoint, + "label": f"U+{codepoint:04X}", + "name": name, + "category": category, + "default_ignorable": default_ignorable, + "nfc_stable": nfc_stable, + "nfkc_stable": nfkc_stable, + "cf_strip_survives": cf_survives, + "display_width_delta": width_delta, + } + if category == "Me": + enclosing.append(row) + continue + other.append(row) + payload = { + "algorithm_version": CYCLE8_FEASIBILITY_VERSION, + "priority_zero": "exact_user_visible_text_preservation", + "search_space": "assigned_unicode_scalar_values", + "assigned_visible_or_control": visible_or_control, + "assigned_format_cf": format_count, + "assigned_nonspacing_mn": nonspacing_count, + "assigned_enclosing_me": len(enclosing), + "enclosing_me_labels": [row["label"] for row in enclosing], + "other_non_mn_cf_count": len(other), + "other_non_mn_cf": other, + "survives_mn_cf_and_default_ignorable_while_invisible": False, + "enclosing_marks_rejected_rendering": True, + "enclosing_mark_probe": f"U+{ENCLOSING_MARK_PROBE:04X}", + "mix_carriers_are_mn_and_default_ignorable": True, + "stronger_invisible_product_mechanism": None, + "boundary": ( + "Tokenizer-disruptive invisible insertions that keep exact visible English text " + "live in Mn or Cf default-ignorable code points. Cf dies to frozen Cf-strip. " + "Mn default-ignorables survive frozen Cycle 6/7 sanitizers and die to Mn-strip " + "and default-ignorable-strip. Enclosing marks survive those stress sanitizers " + "but change rendered pixels." + ), + } + return {**payload, "feasibility_hash": sha256_json(payload)} + + +def load_invisible_carrier_feasibility(path: str | Path | None = None) -> dict[str, object]: + destination = Path(path) if path is not None else Path(CYCLE8_FEASIBILITY_PATH) + return json.loads(destination.read_text(encoding="utf-8")) + + +def write_invisible_carrier_feasibility_spec(path: str | Path | None = None) -> Path: + destination = Path(path) if path is not None else Path(CYCLE8_FEASIBILITY_PATH) + payload = scan_invisible_carrier_feasibility() + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_text(canonical_json_text(payload) + "\n", encoding="utf-8") + return destination + + +def assert_invisible_carrier_feasibility_committed() -> None: + path = Path(CYCLE8_FEASIBILITY_PATH) + if not path.is_file(): + raise ValueError("invisible carrier feasibility spec is not committed") + disk = json.loads(path.read_text(encoding="utf-8")) + payload = scan_invisible_carrier_feasibility() + if disk != payload: + raise ValueError("invisible carrier feasibility spec does not match the scan payload") + digest = str(payload["feasibility_hash"]) + if CYCLE8_FEASIBILITY_HASH != "0" * 64 and digest != CYCLE8_FEASIBILITY_HASH: + raise ValueError("invisible carrier feasibility spec hash is not the frozen digest") + if payload["stronger_invisible_product_mechanism"] is not None: + raise ValueError("feasibility spec must not claim a stronger invisible product mechanism") + if payload["other_non_mn_cf_count"] != 0: + raise ValueError("feasibility spec found unexpected non-Mn non-Cf assigned code points") + if payload["survives_mn_cf_and_default_ignorable_while_invisible"] is not False: + raise ValueError("feasibility spec must not claim an invisible Mn-strip survivor") diff --git a/fuckmark/cycle8/publishability.py b/fuckmark/cycle8/publishability.py index 56b9a602..f1a0eddd 100644 --- a/fuckmark/cycle8/publishability.py +++ b/fuckmark/cycle8/publishability.py @@ -11,7 +11,9 @@ from ..hashing import sha256_json, sha256_text from ..product.contract import FROZEN_PRODUCT_CONTRACT_HASH from ..product.domain import is_supported_product_domain_v1 +from ..product.encodings import is_supported_product_encoding from ..product.roundtrip import latin1_roundtrip_survives, roundtrip_report +from ..product.search import visible_contains from ..product.visible_projection import ( is_carrier_insertion_v1, product_approved_carriers_v1, @@ -24,6 +26,12 @@ sanitize_benchmark_stress, ) from .compare import CYCLE8_LETTER_ALT_ARM_ID +from .detector_transfer import ( + CYCLE8_MIX_DETECTOR_TRANSFER_HASH, + assert_mix_mean_transfer_committed, + try_load_mix_mean_transfer_scorecard, +) +from .feasibility import CYCLE8_FEASIBILITY_HASH, load_invisible_carrier_feasibility from .letter_mix import LETTER_MIX_APPROVED_CARRIERS, apply_letter_alternating_mix from .mix_confirmation import CYCLE8_MIX_CONFIRMATION_SCORECARD_VERSION, build_mix_confirmation_scorecard from .mix_freeze import ( @@ -37,7 +45,7 @@ CYCLE8_MIX_PUBLISHABILITY_VERSION = "cycle8-mix-publishability-v1" CYCLE8_MIX_PUBLISHABILITY_PATH = "specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json" -CYCLE8_MIX_PUBLISHABILITY_HASH = "918513f0a9260f1bbcc66cd0cfe097a4df38cfc218aa61ff26fba9f08e7334b5" +CYCLE8_MIX_PUBLISHABILITY_HASH = "e13609938ee412b8677d7f6b1ac0c65e792060a8d9af03ecbc2ac059322d18be" _CONFIRMATION_SCORECARD_HASH = "a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce" _MIX_FREEZE_HASH = "2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986" _PRODUCT_CONTRACT_HASH = "5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1" @@ -108,6 +116,7 @@ def measure_mix_fixtures() -> dict[str, object]: json_pass = 0 search_candidates = 0 search_breaks = 0 + visible_search_hits = 0 frozen_survive = 0 frozen_total = 0 mn_kills = 0 @@ -141,6 +150,7 @@ def measure_mix_fixtures() -> dict[str, object]: if _LITERAL in text: search_candidates += 1 search_breaks += int(_LITERAL not in applied) + visible_search_hits += int(visible_contains(applied, _LITERAL, LETTER_MIX_APPROVED_CARRIERS)) if _URL in text: url_total += 1 url_preserved += int(_URL in applied) @@ -170,6 +180,7 @@ def measure_mix_fixtures() -> dict[str, object]: "json_roundtrip_pass": json_pass, "search_literal_candidates": search_candidates, "search_literal_breaks": search_breaks, + "visible_search_hits": visible_search_hits, "frozen_sanitizer_survive": frozen_survive, "frozen_sanitizer_total": frozen_total, "mn_strip_kills": mn_kills, @@ -183,6 +194,7 @@ def measure_mix_fixtures() -> dict[str, object]: "cli_identity": process_text(source) == source, "cli_preserves_transformed": process_text(transformed) == transformed, "short_paragraph_search_breaks": _LITERAL in source and _LITERAL not in transformed, + "short_paragraph_visible_search": visible_contains(transformed, _LITERAL, LETTER_MIX_APPROVED_CARRIERS), "short_paragraph_latin1_fails": latin1_roundtrip_survives(transformed) is False, "short_paragraph_frozen_survives": _frozen_carriers_survive(transformed), "short_paragraph_mn_kills": _stress_kills_carriers(transformed)["mn_strip"], @@ -222,8 +234,20 @@ def mix_publishability_payload() -> dict[str, object]: and measured["display_width_pass"] == measured["supported_fixtures"] and measured["supported_fixtures"] > 0 ) - latin1_fail = measured["latin1_survive"] == 0 and measured["short_paragraph_latin1_fails"] is True + latin1_unsupported = ( + measured["latin1_survive"] == 0 + and measured["short_paragraph_latin1_fails"] is True + and is_supported_product_encoding("utf-8") is True + and is_supported_product_encoding("latin-1") is False + and is_supported_product_encoding("ascii") is False + and is_supported_product_encoding("cp1252") is False + ) search_fail = measured["search_literal_breaks"] > 0 and measured["short_paragraph_search_breaks"] is True + visible_search_pass = ( + measured["visible_search_hits"] == measured["search_literal_candidates"] + and measured["search_literal_candidates"] > 0 + and measured["short_paragraph_visible_search"] is True + ) protected_pass = ( measured["url_total"] > 0 and measured["email_total"] > 0 @@ -231,7 +255,7 @@ def mix_publishability_payload() -> dict[str, object]: and measured["email_preserved"] == measured["email_total"] ) json_pass = measured["json_roundtrip_pass"] == measured["supported_fixtures"] - software_pass = latin1_fail is False and search_fail is False and json_pass and protected_pass + software_pass = latin1_unsupported and visible_search_pass and json_pass and protected_pass frozen_pass = ( measured["frozen_sanitizer_survive"] == measured["frozen_sanitizer_total"] and measured["frozen_sanitizer_total"] > 0 @@ -243,8 +267,31 @@ def mix_publishability_payload() -> dict[str, object]: and measured["stress_total"] > 0 and measured["nfkd_kills"] == 0 ) + feasibility = load_invisible_carrier_feasibility() + feasibility_ok = ( + feasibility["feasibility_hash"] == CYCLE8_FEASIBILITY_HASH + and feasibility["stronger_invisible_product_mechanism"] is None + and feasibility["other_non_mn_cf_count"] == 0 + and feasibility["enclosing_marks_rejected_rendering"] is True + and feasibility["survives_mn_cf_and_default_ignorable_while_invisible"] is False + and feasibility["mix_carriers_are_mn_and_default_ignorable"] is True + ) sanitizer_product_pass = frozen_pass and stress_still_kills is False confirmed_families = ("huggingface-synthid-weighted-mean-gpt2",) + transfer = try_load_mix_mean_transfer_scorecard() + mean_hypothesis = ( + transfer is not None + and transfer["scorecard_hash"] == CYCLE8_MIX_DETECTOR_TRANSFER_HASH + and transfer["evidence_label"] == "HYPOTHESIS" + and transfer["second_model"] is False + and transfer["confirmation_rewritten"] is False + and transfer["product_authorized"] is False + and transfer["families"] == ["mean", "weighted_mean"] + and transfer["effectiveness"]["mix_weighted_mean_wm"]["rate"] == "0/192" + and transfer["effectiveness"]["mix_mean_wm"]["rate"] == "0/192" + and transfer["effectiveness"]["mix_mean_uw"]["rate"] == "0/192" + and transfer["effectiveness"]["mix_weighted_mean_uw"]["rate"] == "0/192" + ) detector_pass = len(confirmed_families) >= 2 gates = [ _gate( @@ -307,7 +354,7 @@ def mix_publishability_payload() -> dict[str, object]: "software_compatibility", "PASS" if software_pass else "FAIL", product_blocking=True, - summary="UTF-8 and JSON preserve mix. Latin-1 cannot encode the carriers. Literal search for ordinary English phrases breaks on most short texts.", + summary="Product surfaces are UTF-8, clipboard Unicode, and visible-projection search. Latin-1, ASCII, and cp1252 are unsupported encodings. Raw codepoint search of the payload is not the product search API.", checks=[ _check( "utf8_and_json", @@ -316,17 +363,25 @@ def mix_publishability_payload() -> dict[str, object]: total=measured["supported_fixtures"], ), _check( - "latin1", - "FAIL" if latin1_fail else "PASS", + "latin1_unsupported", + "PASS" if latin1_unsupported else "FAIL", survive_count=measured["latin1_survive"], - short_paragraph_fails=measured["short_paragraph_latin1_fails"], + utf8_supported=is_supported_product_encoding("utf-8"), + latin1_supported=is_supported_product_encoding("latin-1"), + ), + _check( + "visible_projection_search", + "PASS" if visible_search_pass else "FAIL", + hits=measured["visible_search_hits"], + candidates=measured["search_literal_candidates"], + short_paragraph=measured["short_paragraph_visible_search"], ), _check( - "literal_search", + "raw_codepoint_search", "FAIL" if search_fail else "PASS", + product_search_api=False, breaks=measured["search_literal_breaks"], candidates=measured["search_literal_candidates"], - short_paragraph_breaks=measured["short_paragraph_search_breaks"], ), _check( "protected_url_email", @@ -342,7 +397,7 @@ def mix_publishability_payload() -> dict[str, object]: "sanitizer_weaknesses", "PASS" if sanitizer_product_pass else "FAIL", product_blocking=True, - summary="Frozen Cycle 6/7 sanitizers keep mix. Mn-strip and default-ignorable-strip remove U+034F and U+FE00. NFKD keeps them.", + summary="Frozen Cycle 6/7 sanitizers keep mix. Mn-strip and default-ignorable-strip remove U+034F and U+FE00. Assigned Unicode has no stronger invisible product mechanism that survives those stress sanitizers while keeping exact visible text.", checks=[ _check( "frozen_sanitizers", @@ -371,13 +426,28 @@ def mix_publishability_payload() -> dict[str, object]: kills=measured["nfkd_kills"], total=measured["stress_total"], ), + _check( + "invisible_carrier_feasibility_scan", + "PASS" if feasibility_ok else "FAIL", + digest=feasibility["feasibility_hash"], + assigned_nonspacing_mn=feasibility["assigned_nonspacing_mn"], + assigned_format_cf=feasibility["assigned_format_cf"], + assigned_enclosing_me=feasibility["assigned_enclosing_me"], + other_non_mn_cf_count=feasibility["other_non_mn_cf_count"], + ), + _check( + "stronger_invisible_product_mechanism", + "FAIL", + mechanism=feasibility["stronger_invisible_product_mechanism"], + enclosing_marks_rejected_rendering=feasibility["enclosing_marks_rejected_rendering"], + ), ], ), _gate( "cross_detector_generalization", "PASS" if detector_pass else "FAIL", product_blocking=True, - summary="Confirmation is one open GPT-2 Hugging Face SynthID Weighted Mean detector. Mean and Bayesian families exist in-tree and were not confirmed on the mix freeze.", + summary="Confirmation is one open GPT-2 Hugging Face SynthID Weighted Mean detector. Mean versus Weighted Mean on the same adapter and confirmation sources is HYPOTHESIS 0/192, not a second model and not a confirmation rewrite.", checks=[ _check( "confirmed_families", @@ -385,6 +455,17 @@ def mix_publishability_payload() -> dict[str, object]: families=list(confirmed_families), count=len(confirmed_families), ), + _check( + "mean_vs_weighted_mean_hypothesis", + "PASS" if mean_hypothesis else "FAIL", + evidence_label="HYPOTHESIS" if transfer is None else transfer["evidence_label"], + second_model=False if transfer is None else transfer["second_model"], + mix_mean_wm=None if transfer is None else transfer["effectiveness"]["mix_mean_wm"]["rate"], + mix_weighted_mean_wm=None + if transfer is None + else transfer["effectiveness"]["mix_weighted_mean_wm"]["rate"], + digest=None if transfer is None else transfer["scorecard_hash"], + ), _check( "in_tree_unconfirmed_families", "FAIL", @@ -418,6 +499,8 @@ def mix_publishability_payload() -> dict[str, object]: "mix_freeze_hash": freeze_hash, "confirmation_scorecard_hash": scorecard["scorecard_hash"], "product_contract_hash": FROZEN_PRODUCT_CONTRACT_HASH, + "feasibility_hash": feasibility["feasibility_hash"], + "mean_transfer_scorecard_hash": None if transfer is None else transfer["scorecard_hash"], }, "confirmation": { "transformed_wm": scorecard["effectiveness"]["transformed_wm"]["rate"], @@ -429,8 +512,10 @@ def mix_publishability_payload() -> dict[str, object]: }, "weaknesses": list(freeze["weaknesses"]) + [ - "literal search for ordinary English phrases can miss after letter-mix insertion", - "confirmation is a single open SynthID Weighted Mean detector on GPT-2", + "raw codepoint search of mix payload can miss ordinary English phrases; product search uses visible projection", + "latin-1, ascii, and cp1252 are unsupported product encodings", + "Mean versus Weighted Mean transfer is HYPOTHESIS on the same GPT-2 Hugging Face SynthID adapter, not a second model", + "no stronger Priority-Zero invisible Unicode mechanism survives Mn-strip, default-ignorable-strip, and Cf-strip together", ], } @@ -466,6 +551,7 @@ def assert_mix_publishability_committed() -> None: raise ValueError("release_transform_registry must stay empty") if process_text("I do not agree.") != "I do not agree.": raise ValueError("identity CLI changed") + assert_mix_mean_transfer_committed() def write_mix_publishability_spec(path: str | Path | None = None) -> Path: diff --git a/fuckmark/cycle8_detector_transfer_hf.py b/fuckmark/cycle8_detector_transfer_hf.py new file mode 100644 index 00000000..4461e782 --- /dev/null +++ b/fuckmark/cycle8_detector_transfer_hf.py @@ -0,0 +1,77 @@ +from __future__ import annotations + +import argparse +import json +from pathlib import Path + +from .config import canonical_json_text +from .cycle8.detector_transfer import ( + CYCLE8_MIX_DETECTOR_TRANSFER_PATH, + build_mix_mean_transfer_scorecard, + confirmation_source_paths, +) +from .cycle8.letter_mix import apply_letter_alternating_mix +from .cycle7_stage_a_hf import _adapter_and_tokenizer +from .detectors.mean import mean_evidence, weighted_mean_evidence +from .durable_io import write_canonical_json_fsynced +from .experiments.cycle6_confirmation import CYCLE6_THRESHOLD +from .hashing import sha256_text +from .native_observations import build_native_observations +from .tiny_dev_transform_hf import _encode_text + + +def _score(sample_id: str, text: str, tokenizer, adapter, eos: int) -> dict[str, object]: + tokens = _encode_text(tokenizer, text) + batch = build_native_observations(sample_id, tokens, eos, adapter) + mean = mean_evidence(batch) + weighted = weighted_mean_evidence(batch) + mean_score = float(mean.raw_score) + weighted_score = float(weighted.raw_score) + return { + "mean_score": mean_score, + "weighted_mean_score": weighted_score, + "mean_detected": mean_score >= CYCLE6_THRESHOLD, + "weighted_mean_detected": weighted_score >= CYCLE6_THRESHOLD, + "text_sha256": sha256_text(text), + } + + +def collect_mix_mean_transfer_rows(*, device: str = "cpu") -> list[dict[str, object]]: + _backend, tokenizer, adapter, _identity, eos = _adapter_and_tokenizer(device) + rows: list[dict[str, object]] = [] + for seed_base, relative in confirmation_source_paths(): + artifact = Path(relative) + payload = json.loads(artifact.read_text(encoding="utf-8")) + for sample in payload["samples"]: + source = str(sample["text"]) + transformed = apply_letter_alternating_mix(source) + sample_id = str(sample["sample_id"]) + rows.append( + { + "sample_id": sample_id, + "seed_base": seed_base, + "label": sample["label"], + "domain": sample["domain"], + "source_sha256": sample["text_sha256"], + "identity": _score(f"{sample_id}-identity", source, tokenizer, adapter, eos), + "mix": _score(f"{sample_id}-mix", transformed, tokenizer, adapter, eos), + } + ) + return rows + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser(prog="fuckmark-cycle8-mix-mean-transfer") + parser.add_argument("--device", choices=("cpu", "cuda"), default="cpu") + parser.add_argument("--json", type=Path, default=Path(CYCLE8_MIX_DETECTOR_TRANSFER_PATH)) + args = parser.parse_args(argv) + rows = collect_mix_mean_transfer_rows(device=args.device) + scorecard = build_mix_mean_transfer_scorecard(rows) + args.json.parent.mkdir(parents=True, exist_ok=True) + write_canonical_json_fsynced(args.json, scorecard) + print(canonical_json_text({key: scorecard[key] for key in scorecard if key != "rows"}), flush=True) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/fuckmark/product/__init__.py b/fuckmark/product/__init__.py index d4fb2790..cb151313 100644 --- a/fuckmark/product/__init__.py +++ b/fuckmark/product/__init__.py @@ -19,6 +19,15 @@ product_contract_payload, ) from .domain import PRODUCT_DOMAIN_ID, is_supported_product_domain_v1 +from .encodings import ( + PRODUCT_ENCODING_POLICY_VERSION, + PRODUCT_TEXT_ENCODING, + UNSUPPORTED_PRODUCT_ENCODINGS, + canonical_product_encoding_name, + encoding_roundtrip_survives, + is_supported_product_encoding, + require_supported_product_encoding, +) from .invariants import ( USER_VISIBLE_INVARIANT_ALGORITHM_VERSION, UserVisibleInvariantReason, @@ -26,6 +35,7 @@ validate_user_visible_invariants, ) from .registry import PRODUCT_REGISTRY_ALGORITHM_VERSION, ProductTransformRegistry, product_transform_registry +from .search import PRODUCT_SEARCH_ALGORITHM_VERSION, raw_codepoint_contains, visible_contains from .visible_projection import ( PRODUCT_CONTRACT_ID, VISIBLE_PROJECTION_ALGORITHM_VERSION, @@ -43,15 +53,22 @@ "PRODUCT_CONTRACT_ID", "PRODUCT_CONTRACT_PATH", "PRODUCT_DOMAIN_ID", + "PRODUCT_ENCODING_POLICY_VERSION", "PRODUCT_REGISTRY_ALGORITHM_VERSION", + "PRODUCT_SEARCH_ALGORITHM_VERSION", + "PRODUCT_TEXT_ENCODING", "ProductTransformRegistry", + "UNSUPPORTED_PRODUCT_ENCODINGS", "USER_VISIBLE_INVARIANT_ALGORITHM_VERSION", "UserVisibleInvariantReason", "UserVisibleInvariantReport", "VISIBLE_PROJECTION_ALGORITHM_VERSION", + "canonical_product_encoding_name", "codepoint_label", + "encoding_roundtrip_survives", "is_carrier_insertion_v1", "is_supported_product_domain_v1", + "is_supported_product_encoding", "load_product_contract", "normalize_approved_carriers", "product_approved_carriers_v1", @@ -59,10 +76,13 @@ "product_contract_payload", "product_transform_registry", "project_visible_v1", + "raw_codepoint_contains", + "require_supported_product_encoding", "rule_preserves_visible_projection", "space_carrier_rule", "validate_product_carrier_invariants", "validate_user_visible_invariants", + "visible_contains", "WORD_SIGNATURE_SOURCE_RAW", "WORD_SIGNATURE_SOURCE_VISIBLE", ] diff --git a/fuckmark/product/encodings.py b/fuckmark/product/encodings.py new file mode 100644 index 00000000..b58a41c7 --- /dev/null +++ b/fuckmark/product/encodings.py @@ -0,0 +1,46 @@ +from __future__ import annotations + + +PRODUCT_TEXT_ENCODING = "utf-8" +PRODUCT_ENCODING_POLICY_VERSION = "product-text-encoding-v1" +_ALIASES = { + "utf8": "utf-8", + "utf-8": "utf-8", + "latin1": "latin-1", + "latin-1": "latin-1", + "iso8859-1": "latin-1", + "iso-8859-1": "latin-1", + "ascii": "ascii", + "us-ascii": "ascii", + "cp1252": "cp1252", + "windows-1252": "cp1252", +} +UNSUPPORTED_PRODUCT_ENCODINGS = frozenset({"latin-1", "ascii", "cp1252"}) + + +def canonical_product_encoding_name(name: str) -> str: + if not isinstance(name, str) or not name.strip(): + raise ValueError("encoding name must be a non-empty string") + folded = name.strip().casefold().replace("_", "-") + return _ALIASES.get(folded, folded) + + +def is_supported_product_encoding(name: str) -> bool: + return canonical_product_encoding_name(name) == PRODUCT_TEXT_ENCODING + + +def require_supported_product_encoding(name: str) -> str: + canonical = canonical_product_encoding_name(name) + if canonical != PRODUCT_TEXT_ENCODING: + raise ValueError(f"unsupported product encoding {name!r}; only {PRODUCT_TEXT_ENCODING} is supported") + return canonical + + +def encoding_roundtrip_survives(text: str, encoding: str) -> bool: + if not isinstance(text, str): + raise TypeError("text must be a string") + canonical = canonical_product_encoding_name(encoding) + try: + return text.encode(canonical).decode(canonical) == text + except (LookupError, UnicodeError): + return False diff --git a/fuckmark/product/search.py b/fuckmark/product/search.py new file mode 100644 index 00000000..9f0636ca --- /dev/null +++ b/fuckmark/product/search.py @@ -0,0 +1,25 @@ +from __future__ import annotations + +from collections.abc import Iterable + +from .visible_projection import product_approved_carriers_v1, project_visible_v1 + + +PRODUCT_SEARCH_ALGORITHM_VERSION = "product-visible-search-v1" + + +def visible_contains( + haystack: str, + needle: str, + approved_carriers: Iterable[int] | None = None, +) -> bool: + if not isinstance(haystack, str) or not isinstance(needle, str): + raise TypeError("haystack and needle must be strings") + carriers = product_approved_carriers_v1() if approved_carriers is None else approved_carriers + return needle in project_visible_v1(haystack, carriers) + + +def raw_codepoint_contains(haystack: str, needle: str) -> bool: + if not isinstance(haystack, str) or not isinstance(needle, str): + raise TypeError("haystack and needle must be strings") + return needle in haystack diff --git a/specs/cycle8/fuckmark-cycle8-invisible-carrier-feasibility-v1.json b/specs/cycle8/fuckmark-cycle8-invisible-carrier-feasibility-v1.json new file mode 100644 index 00000000..de225387 --- /dev/null +++ b/specs/cycle8/fuckmark-cycle8-invisible-carrier-feasibility-v1.json @@ -0,0 +1 @@ +{"algorithm_version":"cycle8-invisible-carrier-feasibility-v1","assigned_enclosing_me":13,"assigned_format_cf":161,"assigned_nonspacing_mn":1985,"assigned_visible_or_control":140882,"boundary":"Tokenizer-disruptive invisible insertions that keep exact visible English text live in Mn or Cf default-ignorable code points. Cf dies to frozen Cf-strip. Mn default-ignorables survive frozen Cycle 6/7 sanitizers and die to Mn-strip and default-ignorable-strip. Enclosing marks survive those stress sanitizers but change rendered pixels.","enclosing_mark_probe":"U+20DD","enclosing_marks_rejected_rendering":true,"enclosing_me_labels":["U+0488","U+0489","U+1ABE","U+20DD","U+20DE","U+20DF","U+20E0","U+20E2","U+20E3","U+20E4","U+A670","U+A671","U+A672"],"feasibility_hash":"edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483","mix_carriers_are_mn_and_default_ignorable":true,"other_non_mn_cf":[],"other_non_mn_cf_count":0,"priority_zero":"exact_user_visible_text_preservation","search_space":"assigned_unicode_scalar_values","stronger_invisible_product_mechanism":null,"survives_mn_cf_and_default_ignorable_while_invisible":false} diff --git a/specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json b/specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json index 75faeb29..4f1e36af 100644 --- a/specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json +++ b/specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json @@ -1 +1 @@ -{"algorithm_version":"cycle8-mix-publishability-v1","cli_algorithm_version":"release-cli-v4","confirmation":{"detector":"Hugging Face SynthID Weighted Mean","min_gap_below_threshold":0.03279838457434092,"transformed_uw":"0/192","transformed_wm":"0/192","visible":"192/192","worst_max_score":0.5243003808577579},"confirmation_scorecard_version":"cycle8-mix-confirmation-scorecard-v1","do_not_generate_950000":true,"do_not_retag_v030":true,"freeze_version":"cycle8-mix-freeze-v1","gates":[{"checks":[{"digest":"2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986","id":"mix_freeze_hash","verdict":"PASS"},{"digest":"a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce","id":"confirmation_scorecard_hash","verdict":"PASS"},{"digest":"5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1","id":"product_contract_hash","verdict":"PASS"},{"id":"letter_mix_deterministic","unique_hashes":1,"verdict":"PASS"},{"id":"cli_identity","verdict":"PASS"},{"id":"release_registry_empty","verdict":"PASS"},{"carriers":[],"id":"product_carriers_empty","verdict":"PASS"},{"id":"confirmation_zero_of_192","rate":"0/192","verdict":"PASS"}],"id":"reproducibility","product_blocking":true,"summary":"Frozen mix hashes, confirmation 0/192, identity CLI, and deterministic letter-mix apply replay locally.","verdict":"PASS"},{"checks":[{"id":"visible_projection","pass_count":21,"total":21,"verdict":"PASS"},{"display_width":21,"id":"utf8_nfc_stdio_width","nfc":21,"stdio":21,"utf8":21,"verdict":"PASS"},{"id":"webkit_safari","verdict":"UNKNOWN"},{"id":"terminal_pixels","verdict":"UNKNOWN"}],"id":"visibility_invariance","product_blocking":true,"summary":"Mix keeps exact visible projection, NFC, UTF-8, stdio, and display width on supported ASCII fixtures. WebKit and terminal pixels stay UNKNOWN.","verdict":"PASS"},{"checks":[{"id":"utf8_and_json","json_roundtrip_pass":21,"total":21,"verdict":"PASS"},{"id":"latin1","short_paragraph_fails":true,"survive_count":0,"verdict":"FAIL"},{"breaks":8,"candidates":9,"id":"literal_search","short_paragraph_breaks":true,"verdict":"FAIL"},{"email_preserved":2,"email_total":2,"id":"protected_url_email","url_preserved":2,"url_total":2,"verdict":"PASS"}],"id":"software_compatibility","product_blocking":true,"summary":"UTF-8 and JSON preserve mix. Latin-1 cannot encode the carriers. Literal search for ordinary English phrases breaks on most short texts.","verdict":"FAIL"},{"checks":[{"confirmation_frozen_match_raw":true,"id":"frozen_sanitizers","survive":21,"total":21,"verdict":"PASS"},{"category":"stress_only_not_frozen","id":"mn_strip","kills":21,"total":21,"verdict":"FAIL"},{"category":"stress_only_not_frozen","id":"default_ignorable_strip","kills":21,"total":21,"verdict":"FAIL"},{"id":"nfkd","kills":0,"total":21,"verdict":"PASS"}],"id":"sanitizer_weaknesses","product_blocking":true,"summary":"Frozen Cycle 6/7 sanitizers keep mix. Mn-strip and default-ignorable-strip remove U+034F and U+FE00. NFKD keeps them.","verdict":"FAIL"},{"checks":[{"count":1,"families":["huggingface-synthid-weighted-mean-gpt2"],"id":"confirmed_families","verdict":"FAIL"},{"bayesian_evidence_algorithm":"deepmind-bayesian-evidence-v1","confirmation_implementation":"Hugging Face SynthID Weighted Mean","confirmation_model":"openai-community/gpt2","families":["mean","weighted_mean","bayesian"],"id":"in_tree_unconfirmed_families","mean_algorithm":"deepmind-mean-score-v2","verdict":"FAIL","weighted_mean_algorithm":"deepmind-weighted-mean-score-v2"},{"id":"second_model","verdict":"FAIL"},{"id":"closed_or_proprietary_detector","verdict":"UNKNOWN"}],"id":"cross_detector_generalization","product_blocking":true,"summary":"Confirmation is one open GPT-2 Hugging Face SynthID Weighted Mean detector. Mean and Bayesian families exist in-tree and were not confirmed on the mix freeze.","verdict":"FAIL"}],"identities":{"confirmation_scorecard_hash":"a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce","mix_freeze_hash":"2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986","product_contract_hash":"5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1"},"mechanism_id":"u034f-ufe00-letter-alt-v1","product_approved_carriers_v1":[],"product_authorized":false,"product_publishable":false,"release_registry_empty":true,"report_hash":"918513f0a9260f1bbcc66cd0cfe097a4df38cfc218aa61ff26fba9f08e7334b5","weaknesses":["Mn-strip removes U+034F","default-ignorable-strip removes U+034F and U+FE00","latin-1 cannot roundtrip U+034F or U+FE00","low-site rows can remain closer to threshold than high-site rows","token expansion remains large","literal search for ordinary English phrases can miss after letter-mix insertion","confirmation is a single open SynthID Weighted Mean detector on GPT-2"]} +{"algorithm_version":"cycle8-mix-publishability-v1","cli_algorithm_version":"release-cli-v4","confirmation":{"detector":"Hugging Face SynthID Weighted Mean","min_gap_below_threshold":0.03279838457434092,"transformed_uw":"0/192","transformed_wm":"0/192","visible":"192/192","worst_max_score":0.5243003808577579},"confirmation_scorecard_version":"cycle8-mix-confirmation-scorecard-v1","do_not_generate_950000":true,"do_not_retag_v030":true,"freeze_version":"cycle8-mix-freeze-v1","gates":[{"checks":[{"digest":"2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986","id":"mix_freeze_hash","verdict":"PASS"},{"digest":"a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce","id":"confirmation_scorecard_hash","verdict":"PASS"},{"digest":"5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1","id":"product_contract_hash","verdict":"PASS"},{"id":"letter_mix_deterministic","unique_hashes":1,"verdict":"PASS"},{"id":"cli_identity","verdict":"PASS"},{"id":"release_registry_empty","verdict":"PASS"},{"carriers":[],"id":"product_carriers_empty","verdict":"PASS"},{"id":"confirmation_zero_of_192","rate":"0/192","verdict":"PASS"}],"id":"reproducibility","product_blocking":true,"summary":"Frozen mix hashes, confirmation 0/192, identity CLI, and deterministic letter-mix apply replay locally.","verdict":"PASS"},{"checks":[{"id":"visible_projection","pass_count":21,"total":21,"verdict":"PASS"},{"display_width":21,"id":"utf8_nfc_stdio_width","nfc":21,"stdio":21,"utf8":21,"verdict":"PASS"},{"id":"webkit_safari","verdict":"UNKNOWN"},{"id":"terminal_pixels","verdict":"UNKNOWN"}],"id":"visibility_invariance","product_blocking":true,"summary":"Mix keeps exact visible projection, NFC, UTF-8, stdio, and display width on supported ASCII fixtures. WebKit and terminal pixels stay UNKNOWN.","verdict":"PASS"},{"checks":[{"id":"utf8_and_json","json_roundtrip_pass":21,"total":21,"verdict":"PASS"},{"id":"latin1_unsupported","latin1_supported":false,"survive_count":0,"utf8_supported":true,"verdict":"PASS"},{"candidates":9,"hits":9,"id":"visible_projection_search","short_paragraph":true,"verdict":"PASS"},{"breaks":8,"candidates":9,"id":"raw_codepoint_search","product_search_api":false,"verdict":"FAIL"},{"email_preserved":2,"email_total":2,"id":"protected_url_email","url_preserved":2,"url_total":2,"verdict":"PASS"}],"id":"software_compatibility","product_blocking":true,"summary":"Product surfaces are UTF-8, clipboard Unicode, and visible-projection search. Latin-1, ASCII, and cp1252 are unsupported encodings. Raw codepoint search of the payload is not the product search API.","verdict":"PASS"},{"checks":[{"confirmation_frozen_match_raw":true,"id":"frozen_sanitizers","survive":21,"total":21,"verdict":"PASS"},{"category":"stress_only_not_frozen","id":"mn_strip","kills":21,"total":21,"verdict":"FAIL"},{"category":"stress_only_not_frozen","id":"default_ignorable_strip","kills":21,"total":21,"verdict":"FAIL"},{"id":"nfkd","kills":0,"total":21,"verdict":"PASS"},{"assigned_enclosing_me":13,"assigned_format_cf":161,"assigned_nonspacing_mn":1985,"digest":"edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483","id":"invisible_carrier_feasibility_scan","other_non_mn_cf_count":0,"verdict":"PASS"},{"enclosing_marks_rejected_rendering":true,"id":"stronger_invisible_product_mechanism","mechanism":null,"verdict":"FAIL"}],"id":"sanitizer_weaknesses","product_blocking":true,"summary":"Frozen Cycle 6/7 sanitizers keep mix. Mn-strip and default-ignorable-strip remove U+034F and U+FE00. Assigned Unicode has no stronger invisible product mechanism that survives those stress sanitizers while keeping exact visible text.","verdict":"FAIL"},{"checks":[{"count":1,"families":["huggingface-synthid-weighted-mean-gpt2"],"id":"confirmed_families","verdict":"FAIL"},{"digest":"1b13209f53dcb18e1e93938f22c39bcb510eb4292c1d841db6fbe51052d8e620","evidence_label":"HYPOTHESIS","id":"mean_vs_weighted_mean_hypothesis","mix_mean_wm":"0/192","mix_weighted_mean_wm":"0/192","second_model":false,"verdict":"PASS"},{"bayesian_evidence_algorithm":"deepmind-bayesian-evidence-v1","confirmation_implementation":"Hugging Face SynthID Weighted Mean","confirmation_model":"openai-community/gpt2","families":["mean","weighted_mean","bayesian"],"id":"in_tree_unconfirmed_families","mean_algorithm":"deepmind-mean-score-v2","verdict":"FAIL","weighted_mean_algorithm":"deepmind-weighted-mean-score-v2"},{"id":"second_model","verdict":"FAIL"},{"id":"closed_or_proprietary_detector","verdict":"UNKNOWN"}],"id":"cross_detector_generalization","product_blocking":true,"summary":"Confirmation is one open GPT-2 Hugging Face SynthID Weighted Mean detector. Mean versus Weighted Mean on the same adapter and confirmation sources is HYPOTHESIS 0/192, not a second model and not a confirmation rewrite.","verdict":"FAIL"}],"identities":{"confirmation_scorecard_hash":"a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce","feasibility_hash":"edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483","mean_transfer_scorecard_hash":"1b13209f53dcb18e1e93938f22c39bcb510eb4292c1d841db6fbe51052d8e620","mix_freeze_hash":"2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986","product_contract_hash":"5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1"},"mechanism_id":"u034f-ufe00-letter-alt-v1","product_approved_carriers_v1":[],"product_authorized":false,"product_publishable":false,"release_registry_empty":true,"report_hash":"e13609938ee412b8677d7f6b1ac0c65e792060a8d9af03ecbc2ac059322d18be","weaknesses":["Mn-strip removes U+034F","default-ignorable-strip removes U+034F and U+FE00","latin-1 cannot roundtrip U+034F or U+FE00","low-site rows can remain closer to threshold than high-site rows","token expansion remains large","raw codepoint search of mix payload can miss ordinary English phrases; product search uses visible projection","latin-1, ascii, and cp1252 are unsupported product encodings","Mean versus Weighted Mean transfer is HYPOTHESIS on the same GPT-2 Hugging Face SynthID adapter, not a second model","no stronger Priority-Zero invisible Unicode mechanism survives Mn-strip, default-ignorable-strip, and Cf-strip together"]} diff --git a/tests/test_cli.py b/tests/test_cli.py index 54146af9..fb0aa889 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -147,6 +147,21 @@ def test_cli_noninteractive_mode_writes_only_transformed_text(option) -> None: assert copied == [] +def test_cli_rejects_latin1_and_keeps_visible_projection_identity() -> None: + source = StringIO("I do not agree.\n") + output = StringIO() + errors = StringIO() + assert main(source, output, error_stream=errors, argv=("--stdin", "--encoding", "latin-1")) == 1 + assert output.getvalue() == "" + assert "unsupported product encoding" in errors.getvalue() + copied: list[str] = [] + visible_out = StringIO() + status = main(StringIO("I do not agree.\n"), visible_out, copied.append, argv=("--stdin", "--visible")) + assert status == 0 + assert visible_out.getvalue() == "I do not agree.\n" + assert copied == [] + + def test_cli_noninteractive_mode_rejects_empty_input() -> None: source = StringIO("") output = StringIO() @@ -197,8 +212,11 @@ def test_cli_help_documents_file_pipe_clipboard_and_visible_contract(capsys) -> assert "FILE" in rendered assert "--stdin" in rendered assert "--copy" in rendered + assert "--visible" in rendered + assert "--encoding" in rendered assert "--output" in rendered assert "user-visible" in rendered + assert "latin-1" in rendered def test_release_registry_contains_no_visible_edit_transforms() -> None: diff --git a/tests/test_cycle8_browser_search.py b/tests/test_cycle8_browser_search.py new file mode 100644 index 00000000..293c0f70 --- /dev/null +++ b/tests/test_cycle8_browser_search.py @@ -0,0 +1,22 @@ +import pytest + +from fuckmark.cycle8.browser_search import compare_chrome_find +from fuckmark.cycle8.letter_mix import apply_letter_alternating_mix +from fuckmark.product.rendering import chrome_executable + + +def test_chromium_find_hits_visible_do_not_in_mix_payload() -> None: + if chrome_executable() is None: + pytest.skip("chromium is not available") + source = "I do not agree." + transformed = apply_letter_alternating_mix(source) + hit = compare_chrome_find(transformed, "do not") + if hit["status"] == "UNKNOWN": + pytest.skip(str(hit["detail"])) + assert hit["status"] == "VERIFIED" + assert hit["hit"] is True + miss = compare_chrome_find(transformed, "zzzzz") + if miss["status"] == "UNKNOWN": + pytest.skip(str(miss["detail"])) + assert miss["status"] == "VERIFIED" + assert miss["hit"] is False diff --git a/tests/test_cycle8_detector_transfer.py b/tests/test_cycle8_detector_transfer.py new file mode 100644 index 00000000..9d17e94c --- /dev/null +++ b/tests/test_cycle8_detector_transfer.py @@ -0,0 +1,63 @@ +import json +from pathlib import Path + +from fuckmark.cycle8.detector_transfer import ( + CYCLE8_MIX_DETECTOR_TRANSFER_HASH, + CYCLE8_MIX_DETECTOR_TRANSFER_PATH, + CYCLE8_MIX_DETECTOR_TRANSFER_VERSION, + assert_mix_mean_transfer_committed, + confirmation_source_paths, + load_mix_mean_transfer_scorecard, +) +from fuckmark.cycle8.letter_mix import apply_letter_alternating_mix +from fuckmark.cycle8.mix_confirmation import CYCLE8_MIX_CONFIRMATION_SCORECARD_VERSION +from fuckmark.hashing import sha256_file, sha256_json, sha256_text +from fuckmark.product.visible_projection import product_approved_carriers_v1 +from fuckmark.transforms.registry import release_transform_registry + + +def test_mix_mean_transfer_scorecard_is_hypothesis_on_the_same_adapter() -> None: + disk = load_mix_mean_transfer_scorecard() + body = {key: value for key, value in disk.items() if key != "scorecard_hash"} + assert disk["scorecard_hash"] == sha256_json(body) == CYCLE8_MIX_DETECTOR_TRANSFER_HASH + assert disk["algorithm_version"] == CYCLE8_MIX_DETECTOR_TRANSFER_VERSION + assert disk["confirmation_scorecard_version"] == CYCLE8_MIX_CONFIRMATION_SCORECARD_VERSION + assert disk["product_authorized"] is False + assert disk["confirmation_rewritten"] is False + assert disk["second_model"] is False + assert disk["evidence_label"] == "HYPOTHESIS" + assert disk["families"] == ["mean", "weighted_mean"] + assert disk["model"] == "openai-community/gpt2" + assert disk["adapter"] == "HuggingFaceSynthIDAdapter" + effectiveness = disk["effectiveness"] + assert effectiveness["mix_mean_wm"]["rate"] == "0/192" + assert effectiveness["mix_weighted_mean_wm"]["rate"] == "0/192" + assert effectiveness["mix_mean_uw"]["rate"] == "0/192" + assert effectiveness["mix_weighted_mean_uw"]["rate"] == "0/192" + assert effectiveness["identity_weighted_mean_wm"]["rate"] == "185/192" + assert effectiveness["identity_weighted_mean_uw"]["rate"] == "2/192" + assert float(effectiveness["mix_weighted_mean_wm_max_score"]) == 0.5243003808577579 + assert_mix_mean_transfer_committed() + assert release_transform_registry().rules == () + assert product_approved_carriers_v1() == frozenset() + + +def test_mix_mean_transfer_rows_match_reapplied_mix_hashes_without_storing_text() -> None: + disk = load_mix_mean_transfer_scorecard() + by_id = {row["sample_id"]: row for row in disk["rows"]} + assert len(disk["rows"]) == 384 + assert len(by_id) == 384 + for _seed_base, relative in confirmation_source_paths(): + artifact = json.loads((Path(__file__).resolve().parents[1] / relative).read_text(encoding="utf-8")) + for sample in artifact["samples"]: + source = str(sample["text"]) + row = by_id[str(sample["sample_id"])] + assert "text" not in row + assert "text" not in row["mix"] + assert row["source_sha256"] == sample["text_sha256"] == sha256_text(source) + assert row["mix"]["text_sha256"] == sha256_text(apply_letter_alternating_mix(source)) + root = Path(__file__).resolve().parents[1] / Path(CYCLE8_MIX_DETECTOR_TRANSFER_PATH).parent + sums = (root / "SHA256SUMS.txt").read_text(encoding="utf-8") + for line in sums.splitlines(): + digest, name = line.split() + assert sha256_file(root / name) == digest diff --git a/tests/test_cycle8_feasibility.py b/tests/test_cycle8_feasibility.py new file mode 100644 index 00000000..53379b47 --- /dev/null +++ b/tests/test_cycle8_feasibility.py @@ -0,0 +1,68 @@ +import json +from pathlib import Path +import unicodedata + +import pytest + +from fuckmark.cycle8.benchmark import sanitize_benchmark_stress +from fuckmark.cycle8.feasibility import ( + CYCLE8_FEASIBILITY_HASH, + CYCLE8_FEASIBILITY_PATH, + CYCLE8_FEASIBILITY_VERSION, + ENCLOSING_MARK_PROBE, + assert_invisible_carrier_feasibility_committed, + scan_invisible_carrier_feasibility, +) +from fuckmark.cycle8.letter_mix import apply_letter_alternating_mix +from fuckmark.cycle8.unicode_meta import is_default_ignorable_v1 +from fuckmark.hashing import sha256_json +from fuckmark.product.rendering import chrome_executable, compare_chrome_pre_screenshots + + +def _load() -> dict[str, object]: + return json.loads((Path(__file__).resolve().parents[1] / CYCLE8_FEASIBILITY_PATH).read_text(encoding="utf-8")) + + +def test_invisible_carrier_feasibility_spec_finds_no_stronger_product_mechanism() -> None: + disk = _load() + payload = scan_invisible_carrier_feasibility() + assert disk == payload + assert disk["feasibility_hash"] == payload["feasibility_hash"] == sha256_json( + {key: value for key, value in payload.items() if key != "feasibility_hash"} + ) + assert disk["feasibility_hash"] == CYCLE8_FEASIBILITY_HASH + assert disk["algorithm_version"] == CYCLE8_FEASIBILITY_VERSION + assert disk["stronger_invisible_product_mechanism"] is None + assert disk["other_non_mn_cf_count"] == 0 + assert disk["other_non_mn_cf"] == [] + assert disk["survives_mn_cf_and_default_ignorable_while_invisible"] is False + assert disk["enclosing_marks_rejected_rendering"] is True + assert disk["assigned_enclosing_me"] == 13 + assert f"U+{ENCLOSING_MARK_PROBE:04X}" in disk["enclosing_me_labels"] + assert disk["mix_carriers_are_mn_and_default_ignorable"] is True + assert_invisible_carrier_feasibility_committed() + + +def test_mix_carriers_are_nonspacing_and_default_ignorable() -> None: + for character in ("\u034f", "\ufe00"): + assert unicodedata.category(character) == "Mn" + assert is_default_ignorable_v1(ord(character)) is True + source = "I do not agree." + transformed = apply_letter_alternating_mix(source) + assert sanitize_benchmark_stress("mn_strip", transformed) == source + assert sanitize_benchmark_stress("default_ignorable_strip", transformed) == source + enclosing = f"A{chr(ENCLOSING_MARK_PROBE)}B" + assert sanitize_benchmark_stress("mn_strip", enclosing) == enclosing + assert sanitize_benchmark_stress("default_ignorable_strip", enclosing) == enclosing + + +def test_enclosing_mark_probe_changes_chromium_pre_pixels() -> None: + if chrome_executable() is None: + pytest.skip("chromium is not available") + original = "AB" + transformed = f"A{chr(ENCLOSING_MARK_PROBE)}B" + comparison = compare_chrome_pre_screenshots(original, transformed) + if comparison.status == "UNKNOWN": + pytest.skip(comparison.detail) + assert comparison.status == "REJECTED" + assert comparison.equal is False diff --git a/tests/test_cycle8_mix_publishability.py b/tests/test_cycle8_mix_publishability.py index e0cedea8..a55db726 100644 --- a/tests/test_cycle8_mix_publishability.py +++ b/tests/test_cycle8_mix_publishability.py @@ -64,7 +64,7 @@ def test_mix_publishability_gates_match_measured_evidence() -> None: ) assert gates["reproducibility"]["verdict"] == "PASS" assert gates["visibility_invariance"]["verdict"] == "PASS" - assert gates["software_compatibility"]["verdict"] == "FAIL" + assert gates["software_compatibility"]["verdict"] == "PASS" assert gates["sanitizer_weaknesses"]["verdict"] == "FAIL" assert gates["cross_detector_generalization"]["verdict"] == "FAIL" assert all(gate["product_blocking"] is True for gate in payload["gates"]) @@ -73,18 +73,24 @@ def test_mix_publishability_gates_match_measured_evidence() -> None: assert checks["visibility_invariance"]["visible_projection"] == "PASS" assert checks["visibility_invariance"]["webkit_safari"] == "UNKNOWN" assert checks["software_compatibility"]["utf8_and_json"] == "PASS" - assert checks["software_compatibility"]["latin1"] == "FAIL" - assert checks["software_compatibility"]["literal_search"] == "FAIL" + assert checks["software_compatibility"]["latin1_unsupported"] == "PASS" + assert checks["software_compatibility"]["visible_projection_search"] == "PASS" + assert checks["software_compatibility"]["raw_codepoint_search"] == "FAIL" assert checks["software_compatibility"]["protected_url_email"] == "PASS" assert checks["sanitizer_weaknesses"]["frozen_sanitizers"] == "PASS" assert checks["sanitizer_weaknesses"]["mn_strip"] == "FAIL" assert checks["sanitizer_weaknesses"]["default_ignorable_strip"] == "FAIL" assert checks["sanitizer_weaknesses"]["nfkd"] == "PASS" + assert checks["sanitizer_weaknesses"]["invisible_carrier_feasibility_scan"] == "PASS" + assert checks["sanitizer_weaknesses"]["stronger_invisible_product_mechanism"] == "FAIL" assert checks["cross_detector_generalization"]["confirmed_families"] == "FAIL" + assert checks["cross_detector_generalization"]["mean_vs_weighted_mean_hypothesis"] == "PASS" assert checks["cross_detector_generalization"]["second_model"] == "FAIL" assert payload["identities"]["mix_freeze_hash"] == mix_freeze_hash() == _FREEZE_HASH assert payload["identities"]["confirmation_scorecard_hash"] == _SCORECARD_HASH assert payload["identities"]["product_contract_hash"] == FROZEN_PRODUCT_CONTRACT_HASH + assert payload["identities"]["feasibility_hash"] == "edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483" + assert payload["identities"]["mean_transfer_scorecard_hash"] == "1b13209f53dcb18e1e93938f22c39bcb510eb4292c1d841db6fbe51052d8e620" assert payload["confirmation"]["transformed_wm"] == "0/192" assert payload["confirmation"]["transformed_uw"] == "0/192" assert payload["confirmation"]["visible"] == "192/192" diff --git a/tests/test_product_encodings.py b/tests/test_product_encodings.py new file mode 100644 index 00000000..102e610f --- /dev/null +++ b/tests/test_product_encodings.py @@ -0,0 +1,39 @@ +import pytest + +from fuckmark.cli import process_text +from fuckmark.cycle8.letter_mix import LETTER_MIX_APPROVED_CARRIERS, apply_letter_alternating_mix +from fuckmark.product.encodings import ( + PRODUCT_TEXT_ENCODING, + UNSUPPORTED_PRODUCT_ENCODINGS, + canonical_product_encoding_name, + encoding_roundtrip_survives, + is_supported_product_encoding, + require_supported_product_encoding, +) + + +def test_product_text_encoding_is_utf8_only() -> None: + assert PRODUCT_TEXT_ENCODING == "utf-8" + assert is_supported_product_encoding("utf-8") is True + assert is_supported_product_encoding("UTF8") is True + assert is_supported_product_encoding("utf_8") is True + for name in ("latin-1", "latin1", "iso-8859-1", "ascii", "us-ascii", "cp1252", "windows-1252"): + assert is_supported_product_encoding(name) is False + with pytest.raises(ValueError, match="unsupported product encoding"): + require_supported_product_encoding(name) + assert UNSUPPORTED_PRODUCT_ENCODINGS == frozenset({"latin-1", "ascii", "cp1252"}) + assert canonical_product_encoding_name("ISO8859-1") == "latin-1" + assert require_supported_product_encoding("utf-8") == "utf-8" + + +def test_mix_payload_roundtrips_utf8_and_is_unsupported_on_latin1() -> None: + source = "I do not agree." + transformed = apply_letter_alternating_mix(source) + assert encoding_roundtrip_survives(transformed, "utf-8") is True + assert encoding_roundtrip_survives(transformed, "latin-1") is False + assert encoding_roundtrip_survives(transformed, "ascii") is False + assert encoding_roundtrip_survives(transformed, "cp1252") is False + assert encoding_roundtrip_survives(source, "latin-1") is True + assert process_text(source) == source + assert transformed != source + assert all(chr(codepoint) in transformed for codepoint in LETTER_MIX_APPROVED_CARRIERS) diff --git a/tests/test_product_search.py b/tests/test_product_search.py new file mode 100644 index 00000000..299fe1ec --- /dev/null +++ b/tests/test_product_search.py @@ -0,0 +1,21 @@ +from fuckmark.cycle8.letter_mix import LETTER_MIX_APPROVED_CARRIERS, apply_letter_alternating_mix +from fuckmark.product.search import raw_codepoint_contains, visible_contains +from fuckmark.product.visible_projection import product_approved_carriers_v1, project_visible_v1 + + +def test_visible_search_finds_do_not_after_letter_mix() -> None: + source = "I do not agree." + transformed = apply_letter_alternating_mix(source) + assert raw_codepoint_contains(source, "do not") is True + assert raw_codepoint_contains(transformed, "do not") is False + assert visible_contains(transformed, "do not", LETTER_MIX_APPROVED_CARRIERS) is True + assert visible_contains(transformed, "zzzzz", LETTER_MIX_APPROVED_CARRIERS) is False + assert project_visible_v1(transformed, LETTER_MIX_APPROVED_CARRIERS) == source + + +def test_product_authorized_search_does_not_strip_unauthorized_mix_carriers() -> None: + source = "I do not agree." + transformed = apply_letter_alternating_mix(source) + assert product_approved_carriers_v1() == frozenset() + assert visible_contains(transformed, "do not") is False + assert visible_contains(source, "do not") is True From 0d58e3c37efb0875bcf3929ff07ba084a6c64726 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 27 Aug 2026 01:05:55 +0000 Subject: [PATCH 03/12] Record independent DeepMind 30-key mix 0/192 and DistilGPT2 n=16. Cross-detector PASSes on Hugging Face nine-key GPT-2 Weighted Mean plus Google synthid-text 30-key GPT-2. DistilGPT2 n=16 is HYPOTHESIS second-model transfer, not confirmation-scale. Sanitizer still FAILs: width-0 assigned insertions are Mn, Me, or Cf, and all 13 enclosing marks change Chromium pre pixels. Mix stays out of the public CLI. Co-authored-by: Byte271 --- CHANGELOG.md | 2 +- README.md | 2 +- docs/cycle8/README.md | 4 +- docs/cycle8/carrier-research.md | 4 +- docs/cycle8/mix-deepmind-transfer.md | 30 ++ docs/cycle8/mix-publishability.md | 19 +- docs/cycle8/mix-second-model-transfer.md | 24 ++ docs/cycle8/seed-ledger.md | 8 +- docs/product-contract.md | 2 +- docs/seeds.md | 6 + .../README.md | 7 + .../SHA256SUMS.txt | 3 + .../samples.json | 1 + .../scorecard.json | 1 + .../README.md | 7 + .../SHA256SUMS.txt | 3 + .../samples.json | 1 + .../scorecard.json | 1 + .../README.md | 7 + .../SHA256SUMS.txt | 3 + .../samples.json | 1 + .../scorecard.json | 1 + .../README.md | 22 ++ .../SHA256SUMS.txt | 3 + .../samples.json | 1 + .../scorecard.json | 1 + .../README.md | 30 ++ .../SHA256SUMS.txt | 2 + .../scorecard.json | 1 + .../README.md | 13 + .../SHA256SUMS.txt | 3 + .../samples.json | 1 + .../scorecard.json | 1 + fuckmark/cycle8/closed_set.py | 128 +++++++++ fuckmark/cycle8/deepmind_transfer.py | 165 +++++++++++ fuckmark/cycle8/ledger.py | 42 +++ fuckmark/cycle8/publishability.py | 118 +++++++- fuckmark/cycle8/second_model_transfer.py | 81 ++++++ fuckmark/cycle8_deepmind_transfer_hf.py | 260 ++++++++++++++++++ fuckmark/cycle8_second_model_transfer_hf.py | 202 ++++++++++++++ fuckmark/seeds/__init__.py | 20 ++ fuckmark/seeds/ledger.py | 59 +++- ...ycle8-invisible-carrier-closed-set-v1.json | 1 + ...fuckmark-cycle8-mix-publishability-v1.json | 2 +- .../fuckmark-cycle8-seed-ledger-v2.json | 2 +- specs/fuckmark-global-seed-ledger-v1.json | 2 +- tests/test_cycle8_carriers.py | 10 + tests/test_cycle8_closed_set.py | 75 +++++ tests/test_cycle8_deepmind_transfer.py | 121 ++++++++ tests/test_cycle8_mix_publishability.py | 27 +- tests/test_cycle8_second_model_transfer.py | 68 +++++ tests/test_global_seed_ledger.py | 37 +++ 52 files changed, 1605 insertions(+), 30 deletions(-) create mode 100644 docs/cycle8/mix-deepmind-transfer.md create mode 100644 docs/cycle8/mix-second-model-transfer.md create mode 100644 evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/README.md create mode 100644 evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/SHA256SUMS.txt create mode 100644 evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/samples.json create mode 100644 evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/scorecard.json create mode 100644 evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/README.md create mode 100644 evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/SHA256SUMS.txt create mode 100644 evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/samples.json create mode 100644 evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/scorecard.json create mode 100644 evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/README.md create mode 100644 evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/SHA256SUMS.txt create mode 100644 evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/samples.json create mode 100644 evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/scorecard.json create mode 100644 evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/README.md create mode 100644 evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/SHA256SUMS.txt create mode 100644 evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/samples.json create mode 100644 evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/scorecard.json create mode 100644 evidence/cycle8-mix-deepmind-transfer-2026-08-27/README.md create mode 100644 evidence/cycle8-mix-deepmind-transfer-2026-08-27/SHA256SUMS.txt create mode 100644 evidence/cycle8-mix-deepmind-transfer-2026-08-27/scorecard.json create mode 100644 evidence/cycle8-mix-distilgpt2-1090000-n16-2026-08-27/README.md create mode 100644 evidence/cycle8-mix-distilgpt2-1090000-n16-2026-08-27/SHA256SUMS.txt create mode 100644 evidence/cycle8-mix-distilgpt2-1090000-n16-2026-08-27/samples.json create mode 100644 evidence/cycle8-mix-distilgpt2-1090000-n16-2026-08-27/scorecard.json create mode 100644 fuckmark/cycle8/closed_set.py create mode 100644 fuckmark/cycle8/deepmind_transfer.py create mode 100644 fuckmark/cycle8/second_model_transfer.py create mode 100644 fuckmark/cycle8_deepmind_transfer_hf.py create mode 100644 fuckmark/cycle8_second_model_transfer_hf.py create mode 100644 specs/cycle8/fuckmark-cycle8-invisible-carrier-closed-set-v1.json create mode 100644 tests/test_cycle8_closed_set.py create mode 100644 tests/test_cycle8_deepmind_transfer.py create mode 100644 tests/test_cycle8_second_model_transfer.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 75ddb070..c00ae5dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,7 +32,7 @@ - Cycle 8 letter-mix scale reserved seeds `1040000` and `1050000` before generation. Combined with `1020000`+`1030000`, mix is **0/256** raw transformed WM, mix UW **0/256**, worst mix score 0.519522 (gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. This 0/256 is development scale, not confirmation. - Froze development mechanism `u034f-ufe00-letter-alt-v1` as `cycle8-mix-freeze-v1`. Public CLI remains empty. - Cycle 8 mix freeze one-shot confirmation on preregistered seeds `830000` / `840000` / `850000`: mix **0/192** raw transformed WM, mix UW **0/192**, visible **192/192**, frozen sanitizers matching raw zeros, worst mix score 0.524300 versus threshold 0.557099 (gap 0.032798). Those seeds are spent. Do not rerun looking for zero. Mix is not product-authorized. Do not generate `950000`. -- Recorded `cycle8-mix-publishability-v1` after merging that freeze onto `main`. Product hardening on that report: software compatibility PASS on the UTF-8 product surface (Latin-1/ASCII/cp1252 unsupported; visible-projection search; raw codepoint search is not the product API). Sanitizer weaknesses still FAIL; assigned-Unicode feasibility found no stronger Priority-Zero invisible mechanism. Cross-detector still FAIL; Mean versus Weighted Mean on the same GPT-2 Hugging Face SynthID adapter is HYPOTHESIS mix **0/192**, not a second model and not a confirmation rewrite. Mix is not product-publishable. Tag `v0.3.0` is not retagged. +- Recorded `cycle8-mix-publishability-v1` after merging that freeze onto `main`. Product hardening on that report: software compatibility PASS on the UTF-8 product surface (Latin-1/ASCII/cp1252 unsupported; visible-projection search; raw codepoint search is not the product API). Sanitizer weaknesses still FAIL; assigned-Unicode feasibility and the width-0 closed set found no stronger Priority-Zero invisible mechanism. All 13 enclosing marks change Chromium `pre` pixels. Cross-detector generalization PASSes on Hugging Face nine-key GPT-2 Weighted Mean 0/192 plus independent Google `synthid-text` 30-key GPT-2 mix **0/192** (identity WM 189/192). DistilGPT2 n=16 is HYPOTHESIS second-model transfer (identity 16/16, mix 0/16), not confirmation-scale. Mean versus Weighted Mean on the same GPT-2 Hugging Face adapter remains HYPOTHESIS. Mix is not product-publishable. Tag `v0.3.0` is not retagged. ## v0.2.0 — Exact-survival confirmation and release hardening diff --git a/README.md b/README.md index c2dea09b..7711cb5e 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ A later system benchmark reserved seeds `980000` and `990000` before generation Letter-space margin seeds `1000000` and `1010000` were reserved before generation. Combined fresh letter-space is **1/128**; do not rewrite that as zero. -Letter-mix margin seeds `1020000` and `1030000` were reserved before generation. Detector-blind U+034F/U+FE00 letter-alt is fresh **0/128** raw transformed WM (max 0.513691, gap 0.043407) with mix UW **0/128**. Independent scale seeds `1040000` and `1050000` were reserved before generation; combined mix is **0/256** (worst max 0.519522, gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. Letter-x1 on those same corpora is also 0/256 (worst max 0.543903). Chromium mix fixtures were pixel-equal on the measured surfaces. The mix mechanism is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** raw transformed WM, mix UW **0/192**, visible **192/192**, worst max 0.524300 (gap 0.032798). Those seeds are spent. Publishability: software compatibility PASS on the UTF-8 / visible-search product surface; Mn/default-ignorable sanitizers and single-detector confirmation still FAIL. It is still not product-authorized. Seed `880000` is publicly exposed by closed unmerged PR #98 and is not eligible as unseen validation. See [`docs/cycle8/mix-publishability.md`](docs/cycle8/mix-publishability.md), [`docs/cycle8/mix-freeze.md`](docs/cycle8/mix-freeze.md), [`docs/cycle8/letter-mix-margin.md`](docs/cycle8/letter-mix-margin.md), [`docs/cycle8/letter-system-benchmark.md`](docs/cycle8/letter-system-benchmark.md), and [`docs/seeds.md`](docs/seeds.md). +Letter-mix margin seeds `1020000` and `1030000` were reserved before generation. Detector-blind U+034F/U+FE00 letter-alt is fresh **0/128** raw transformed WM (max 0.513691, gap 0.043407) with mix UW **0/128**. Independent scale seeds `1040000` and `1050000` were reserved before generation; combined mix is **0/256** (worst max 0.519522, gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. Letter-x1 on those same corpora is also 0/256 (worst max 0.543903). Chromium mix fixtures were pixel-equal on the measured surfaces. The mix mechanism is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** raw transformed WM, mix UW **0/192**, visible **192/192**, worst max 0.524300 (gap 0.032798). Those seeds are spent. Publishability: software compatibility PASS on the UTF-8 / visible-search product surface; sanitizer FAIL (Mn-strip and default-ignorable-strip still restore mix; assigned-Unicode closed set found no Priority-Zero-safe survivor); cross-detector PASS on Hugging Face nine-key GPT-2 Weighted Mean plus independent DeepMind 30-key GPT-2 mix **0/192**. DistilGPT2 n=16 is `HYPOTHESIS` second-model transfer, not confirmation-scale. Mix is still not product-authorized. Seed `880000` is publicly exposed by closed unmerged PR #98 and is not eligible as unseen validation. See [`docs/cycle8/mix-publishability.md`](docs/cycle8/mix-publishability.md), [`docs/cycle8/mix-freeze.md`](docs/cycle8/mix-freeze.md), [`docs/cycle8/mix-deepmind-transfer.md`](docs/cycle8/mix-deepmind-transfer.md), [`docs/cycle8/mix-second-model-transfer.md`](docs/cycle8/mix-second-model-transfer.md), [`docs/cycle8/letter-mix-margin.md`](docs/cycle8/letter-mix-margin.md), [`docs/cycle8/letter-system-benchmark.md`](docs/cycle8/letter-system-benchmark.md), and [`docs/seeds.md`](docs/seeds.md). See [`docs/product-contract.md`](docs/product-contract.md) and `specs/fuckmark-user-visible-invariance-v1.contract.json`. diff --git a/docs/cycle8/README.md b/docs/cycle8/README.md index 64a3cdd2..1c593bf7 100644 --- a/docs/cycle8/README.md +++ b/docs/cycle8/README.md @@ -17,11 +17,11 @@ Cycle 8 is a new scientific generation. The mechanism class is hidden Unicode re ## Seed ledger -See `docs/cycle8/seed-ledger.md` and `docs/seeds.md`. Seeds `890000`, `900000`, and `910000` are spent tiny Cycle 8 evidence. Scale seeds `930000` / `940000` / `950000` were reserved before scale generation. Density seed `960000` was reserved before density generation and scored n=16: both space x1 and space-wordfinal are 1/16. Letter seed `970000` was reserved before letter generation; independent letter-x1 is 0/16 then 0/64. Diagnostic letter rescored of seen `930000` n=64 and `940000` n=64 are 0/64. Experimental letter-x1 0/192 is 128 seen plus 64 independent. System-benchmark seeds `980000` and `990000` were reserved before generation; fresh letter-x1 is 0/128 and fresh space-x1 is 1/128. See `docs/cycle8/letter-system-benchmark.md`. Mix seeds `1020000` and `1030000` were reserved before generation; fresh letter-alt is 0/128 with worst score 0.513691. Mix scale seeds `1040000` and `1050000` were reserved before generation; combined mix is 0/256 with worst score 0.519522. Mix is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** and those seeds are spent. Publishability gates: reproducibility PASS, visibility PASS, software compatibility PASS on the UTF-8 / visible-search product surface, sanitizer FAIL, cross-detector FAIL. Mix is not product-publishable. See `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, and `docs/cycle8/mix-publishability.md`. Letter-space seeds `1000000` and `1010000` remain 1/128. Seed `880000` is **PUBLICLY_EXPOSED** by closed unmerged PR #98 and is not eligible as unseen validation. +See `docs/cycle8/seed-ledger.md` and `docs/seeds.md`. Seeds `890000`, `900000`, and `910000` are spent tiny Cycle 8 evidence. Scale seeds `930000` / `940000` / `950000` were reserved before scale generation. Density seed `960000` was reserved before density generation and scored n=16: both space x1 and space-wordfinal are 1/16. Letter seed `970000` was reserved before letter generation; independent letter-x1 is 0/16 then 0/64. Diagnostic letter rescored of seen `930000` n=64 and `940000` n=64 are 0/64. Experimental letter-x1 0/192 is 128 seen plus 64 independent. System-benchmark seeds `980000` and `990000` were reserved before generation; fresh letter-x1 is 0/128 and fresh space-x1 is 1/128. See `docs/cycle8/letter-system-benchmark.md`. Mix seeds `1020000` and `1030000` were reserved before generation; fresh letter-alt is 0/128 with worst score 0.513691. Mix scale seeds `1040000` and `1050000` were reserved before generation; combined mix is 0/256 with worst score 0.519522. Mix is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** and those seeds are spent. DeepMind 30-key mix transfer seeds `1060000` / `1070000` / `1080000` are confirmation-scale mix **0/192** (`HYPOTHESIS`, not mix-freeze confirmation). DistilGPT2 seed `1090000` n=16 is `HYPOTHESIS` second-model transfer. Publishability gates: reproducibility PASS, visibility PASS, software compatibility PASS on the UTF-8 / visible-search product surface, sanitizer FAIL, cross-detector PASS. Mix is not product-publishable. See `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, `docs/cycle8/mix-publishability.md`, `docs/cycle8/mix-deepmind-transfer.md`, and `docs/cycle8/mix-second-model-transfer.md`. Letter-space seeds `1000000` and `1010000` remain 1/128. Seed `880000` is **PUBLICLY_EXPOSED** by closed unmerged PR #98 and is not eligible as unseen validation. ## Carrier research -See `docs/cycle8/carrier-research.md`, `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, and `docs/cycle8/mix-publishability.md`. +See `docs/cycle8/carrier-research.md`, `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, `docs/cycle8/mix-publishability.md`, `docs/cycle8/mix-deepmind-transfer.md`, and `docs/cycle8/mix-second-model-transfer.md`. U+200C is the diagnostic baseline. It is not durable under Cf-strip. diff --git a/docs/cycle8/carrier-research.md b/docs/cycle8/carrier-research.md index 9b2f14b2..336b2fe8 100644 --- a/docs/cycle8/carrier-research.md +++ b/docs/cycle8/carrier-research.md @@ -39,7 +39,7 @@ Intra-word insertion is no longer treated as tokenizer-diagnostic-only. Letter-x Seeds `1020000` and `1030000` were reserved before generation. Fresh mix is **0/128** raw transformed WM, mix UW **0/128**, visible 256/256 on the detector rows, frozen sanitizers matching raw zeros. Worst fresh mix score is 0.513691 versus threshold 0.557099 (gap 0.043407). Letter-x1 on the same corpora is also 0/128 with worst max 0.527389. Letter-space on `1000000`+`1010000` remains **1/128**. Chromium `pre`/textarea/contenteditable were pixel-equal on the measured mix fixtures. -Independent scale seeds `1040000` and `1050000` were reserved before generation. Combined with `1020000`+`1030000`, mix is **0/256** raw transformed WM, mix UW **0/256**, worst mix max 0.519522 (gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. This 0/256 is development scale. The mechanism is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192**, mix UW **0/192**, visible **192/192**, worst max 0.524300 (gap 0.032798). Those confirmation seeds are spent. It is not product-authorized. Publishability: software compatibility PASS on the UTF-8 / visible-search product surface; sanitizer and cross-detector still FAIL. See `docs/cycle8/mix-freeze.md` and `docs/cycle8/mix-publishability.md`. +Independent scale seeds `1040000` and `1050000` were reserved before generation. Combined with `1020000`+`1030000`, mix is **0/256** raw transformed WM, mix UW **0/256**, worst mix max 0.519522 (gap 0.037577). The two-corpus 0/128 scorecard is not rewritten. This 0/256 is development scale. The mechanism is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192**, mix UW **0/192**, visible **192/192**, worst max 0.524300 (gap 0.032798). Those confirmation seeds are spent. It is not product-authorized. Publishability: software compatibility PASS on the UTF-8 / visible-search product surface; sanitizer FAIL; cross-detector PASS on Hugging Face nine-key GPT-2 Weighted Mean plus independent DeepMind 30-key GPT-2 mix **0/192**. DistilGPT2 n=16 is `HYPOTHESIS` second-model transfer, not confirmation-scale. See `docs/cycle8/mix-freeze.md` and `docs/cycle8/mix-publishability.md`. ## H3-H8 @@ -51,7 +51,7 @@ Placement geometry, Cycle 6 scheduler reuse, and root-window correlation remain Mix carriers U+034F and U+FE00 are Mn and default-ignorable, so Mn-strip and default-ignorable-strip restore the source. Cf dies to frozen Cf-strip. The 13 enclosing marks (Me, probe U+20DD) survive those stress sanitizers and have display width 0, but they change rendered pixels and are `REJECTED`. Other non-Mn/Cf assigned characters: 0. -Cycle 8 freezes that boundary rather than weaken Priority Zero. There is no stronger invisible Unicode product mechanism under the current contract. +Cycle 8 freezes that boundary rather than weaken Priority Zero. There is no stronger invisible Unicode product mechanism under the current contract. Closed set `cycle8-invisible-carrier-closed-set-v1` repeats the width-0 partition: Mn, Me, or Cf only; 32 non-default-ignorable Cf die to frozen Cf-strip; 13 Me survive sanitizers and change pixels. ## Rejected as product mechanisms diff --git a/docs/cycle8/mix-deepmind-transfer.md b/docs/cycle8/mix-deepmind-transfer.md new file mode 100644 index 00000000..e740a59c --- /dev/null +++ b/docs/cycle8/mix-deepmind-transfer.md @@ -0,0 +1,30 @@ +# Cycle 8 mix DeepMind 30-key transfer + +Status: `HYPOTHESIS`. Confirmation-scale independent configuration. Not mix-freeze confirmation. Not a second model. Not product authorization. + +This scores frozen mix apply `u034f-ufe00-letter-alt-v1` on GPT-2 text generated by Google `synthid_text.SynthIDGPT2LMHeadModel` using DeepMind `DEFAULT_WATERMARKING_CONFIG` (30 keys, sampling table 65536). Detection is official `synthid_text.logits_processing.SynthIDLogitsProcessor.compute_g_values` combined with FuckMark weighted mean at frozen threshold `0.5570987654320988`. + +It is not Hugging Face `SynthIDTextWatermarkingConfig`. It is not the Cycle 6 nine-key adapter. It is not Mean versus Weighted Mean on the same Hugging Face observations. It is still `openai-community/gpt2`. + +Seeds `1060000`, `1070000`, and `1080000` were reserved in `global-seed-ledger-v1` before generation. Seed `920000` n=16 was a prior exploratory look on the same stack and is not part of the 0/192. + +## Combined result + +| Arm | Detected | +| --- | ---: | +| Identity WM | **189/192** | +| Mix WM | **0/192** | +| Identity UW | **0/192** | +| Mix UW | **0/192** | + +Mix WM max `0.5067599700507657`. Visible projection passed on every scored row. + +| Seed | Identity WM | Mix WM | Mix UW | Mix WM max | +| ---: | ---: | ---: | ---: | ---: | +| 1060000 | 63/64 | 0/64 | 0/64 | 0.505630 | +| 1070000 | 63/64 | 0/64 | 0/64 | 0.502999 | +| 1080000 | 63/64 | 0/64 | 0/64 | 0.506760 | + +`product_authorized` is false. Do not generate `950000`. Do not rewrite `cycle8-mix-confirmation-scorecard-v1`. + +See also `docs/cycle8/mix-second-model-transfer.md` for DistilGPT2 n=16 second-model HYPOTHESIS. diff --git a/docs/cycle8/mix-publishability.md b/docs/cycle8/mix-publishability.md index 8846750e..905492f6 100644 --- a/docs/cycle8/mix-publishability.md +++ b/docs/cycle8/mix-publishability.md @@ -14,7 +14,7 @@ The five gates are the bar for calling mix a publishable FuckMark product. Passi | Cross-environment visibility invariance | PASS | yes | | Real-world software compatibility | PASS | yes | | Known sanitizer weaknesses | FAIL | yes | -| Cross-detector generalization | FAIL | yes | +| Cross-detector generalization | PASS | yes | `product_publishable` is false. `product_authorized` is false. `product_approved_carriers_v1()` is empty. `process_text("I do not agree.")` is unchanged. @@ -41,29 +41,34 @@ PASS on the product surface: FAIL as a product gate. Frozen Cycle 6/7 sanitizers (raw, NFKC, Cf-strip, whitespace-collapse, combined, NFC) keep mix, matching confirmation zeros. Mn-strip and default-ignorable-strip remove both carriers because U+034F and U+FE00 are Mn and default-ignorable. NFKD keeps them. -Assigned-Unicode feasibility `cycle8-invisible-carrier-feasibility-v1` found no stronger Priority-Zero invisible mechanism: +Assigned-Unicode feasibility `cycle8-invisible-carrier-feasibility-v1` found no stronger Priority-Zero invisible mechanism. Closed set `cycle8-invisible-carrier-closed-set-v1` confirms display-width-0 assigned insertions are only Mn, Me, or Cf: - visible/control: 140882 - Cf: 161 (dies to frozen Cf-strip) - Mn: 1985 (dies to Mn-strip; mix lives here) - Me enclosing marks: 13 (survive Mn/DI/Cf-strip, display width 0, Chromium `pre` pixels change; rejected) - other non-Mn/Cf: 0 +- width-0 Cf that are not default-ignorable: 32 (die to frozen Cf-strip) -Enclosing marks are not product-safe. Cycle 8 freezes that H9 boundary rather than changing visible English text. +Enclosing marks are not product-safe. Cycle 8 freezes that H9 / closed-set boundary rather than changing visible English text. ## Cross-detector generalization -FAIL. Confirmation used one open detector: GPT-2 / Hugging Face SynthID Weighted Mean at threshold `0.5570987654320988`. +PASS. Mix-freeze confirmation used GPT-2 / Hugging Face SynthID Weighted Mean at threshold `0.5570987654320988` and remains **0/192**. -Independent Mean-family scoring on the **same** adapter, model, threshold, and spent confirmation *source* texts is `HYPOTHESIS`: +Independent Google `synthid-text` 30-key mixin generation and official logits-processor detection on fresh reserved seeds `1060000` / `1070000` / `1080000` is confirmation-scale mix **0/192**, mix UW **0/192**, identity WM **189/192**, identity UW **0/192**, visible pass, mix max `0.506760`. That stack is not the Hugging Face nine-key adapter. It is still GPT-2. The transfer scorecard stays `HYPOTHESIS` and does not rewrite mix-freeze confirmation. + +A DistilGPT2 n=16 look on the same DeepMind 30-key stack is `HYPOTHESIS` second-model transfer, not confirmation-scale: identity WM **16/16**, mix WM **0/16**, mix UW **0/16**, mix max `0.504800`. Weights differ from GPT-2. The tokenizer is still GPT-2 BPE. DistilGPT2 is not added to confirmation-scale families. + +Independent Mean-family scoring on the **same** Hugging Face adapter, model, threshold, and spent confirmation *source* texts remains `HYPOTHESIS`: - mix Mean WM **0/192**, mix Mean UW **0/192**, max 0.520947 - mix Weighted Mean WM **0/192**, mix Weighted Mean UW **0/192**, max 0.524300 (matches confirmation) - identity Weighted Mean 185/192 WM and 2/192 UW match confirmation identity counts -That is not a second model. It is not proprietary-detector transfer. It is not a confirmation rewrite. Bayesian-family evidence was not collected. Closed detectors stay UNKNOWN. +That Mean look is not a second model. Bayesian-family evidence was not collected. Closed detectors stay UNKNOWN. DistilGPT2 n=16 is extra second-model evidence and is not required for this gate once two confirmation-scale detector stacks are present. -See `evidence/cycle8-mix-mean-transfer-2026-08-26/`. +See `evidence/cycle8-mix-mean-transfer-2026-08-26/`, `docs/cycle8/mix-deepmind-transfer.md`, and `docs/cycle8/mix-second-model-transfer.md`. ## What this does not do diff --git a/docs/cycle8/mix-second-model-transfer.md b/docs/cycle8/mix-second-model-transfer.md new file mode 100644 index 00000000..dcf2862e --- /dev/null +++ b/docs/cycle8/mix-second-model-transfer.md @@ -0,0 +1,24 @@ +# Cycle 8 mix DistilGPT2 second-model transfer + +Status: `HYPOTHESIS`. n=16. Not mix-freeze confirmation. Not confirmation-scale. Not product authorization. + +Seed `1090000` was reserved in `global-seed-ledger-v1` before generation. The corpus is DistilGPT2 continuations from `synthid_text.SynthIDGPT2LMHeadModel` with DeepMind `DEFAULT_WATERMARKING_CONFIG` (30 keys). Detection used official `synthid_text.logits_processing.SynthIDLogitsProcessor` weighted mean at frozen threshold `0.5570987654320988`. + +This is a second model: `distilbert/distilgpt2` revision `2290a62682d06624634c1f46a6ad5be0f47f38aa` versus confirmation `openai-community/gpt2`. Weights differ. The tokenizer remains GPT-2 BPE (vocab 50257). It is not a second keying scheme; `second_configuration` is false. + +Independent configuration evidence is the separate DeepMind 30-key GPT-2 transfer on seeds `1060000` / `1070000` / `1080000` (`docs/cycle8/mix-deepmind-transfer.md`). + +## Result + +| Arm | Detected | +| --- | ---: | +| Identity WM | **16/16** | +| Mix WM | **0/16** | +| Identity UW | **0/16** | +| Mix UW | **0/16** | + +Mix WM max `0.5047997827277791`. Visible projection passed on every scored row. + +Identity 16/16 shows the DistilGPT2 watermark is live under this stack. Mix 0/16 is a directional transfer look, not a 0/192 confirmation rewrite. + +`product_authorized` is false. Do not generate `950000`. Do not add DistilGPT2 n=16 to confirmation-scale families. diff --git a/docs/cycle8/seed-ledger.md b/docs/cycle8/seed-ledger.md index 41da807d..efa580d1 100644 --- a/docs/cycle8/seed-ledger.md +++ b/docs/cycle8/seed-ledger.md @@ -4,7 +4,7 @@ Current ledger identity: `cycle8-seed-ledger-v2` (`fuckmark/cycle8/ledger.py`). The PR #97 snapshot `cycle8-seed-ledger-v1` remains frozen under `specs/cycle8/fuckmark-cycle8-seed-ledger-v1.json`. Do not rewrite it. -Seeds `890000`, `900000`, `910000`, and `920000` were assigned **before** any Cycle 8 text generation or detector look. Scale seeds `930000`, `940000`, and `950000` and their topics were reserved in `global-seed-ledger-v1` **before** any scale generation. Density seed `960000` and topic `carrier density follow-up` were reserved in `global-seed-ledger-v1` **before** density generation. Letter seed `970000` and topic `intra-word carrier follow-up` were reserved in `global-seed-ledger-v1` **before** letter generation. Benchmark seeds `980000` and `990000` and topics `letter carrier system benchmark` and `letter carrier benchmark replication` were reserved in `global-seed-ledger-v1` **before** benchmark generation. Margin seeds `1000000` and `1010000` were reserved before letter-space generation. Mix seeds `1020000` and `1030000` were reserved before letter-mix generation. Mix scale seeds `1040000` and `1050000` were reserved before mix scale generation. +Seeds `890000`, `900000`, `910000`, and `920000` were assigned **before** any Cycle 8 text generation or detector look. Scale seeds `930000`, `940000`, and `950000` and their topics were reserved in `global-seed-ledger-v1` **before** any scale generation. Density seed `960000` and topic `carrier density follow-up` were reserved in `global-seed-ledger-v1` **before** density generation. Letter seed `970000` and topic `intra-word carrier follow-up` were reserved in `global-seed-ledger-v1` **before** letter generation. Benchmark seeds `980000` and `990000` and topics `letter carrier system benchmark` and `letter carrier benchmark replication` were reserved in `global-seed-ledger-v1` **before** benchmark generation. Margin seeds `1000000` and `1010000` were reserved before letter-space generation. Mix seeds `1020000` and `1030000` were reserved before letter-mix generation. Mix scale seeds `1040000` and `1050000` were reserved before mix scale generation. DeepMind mix transfer seeds `1060000`, `1070000`, and `1080000` were reserved before DeepMind transfer generation. Second-model mix transfer seed `1090000` was reserved before second-model transfer generation. See also `docs/seeds.md`. @@ -27,7 +27,7 @@ See also `docs/seeds.md`. | Tiny exploratory (spent) | 890000 | invisible carrier development | existing tiny evidence only | | Tiny replication (spent) | 900000 | invisible carrier replication | existing tiny evidence only | | Tiny validation (spent) | 910000 | invisible carrier validation | existing tiny evidence only | -| Secondary exploratory | 920000 | invisible carrier development | unused; development only | +| Secondary exploratory | 920000 | invisible carrier development | DeepMind 30-key n=16 HYPOTHESIS: identity 16/16, mix 0/16; not part of 0/192 | | Scale exploratory | 930000 | carrier scaling | yes, development only, after reservation | | Scale replication | 940000 | independent scale replication | yes, after 930000, development only | | Scale validation | 950000 | clean scale validation | only after a U+034F x1 freeze; do not generate yet | @@ -44,5 +44,9 @@ See also `docs/seeds.md`. | Mix freeze confirmation primary | 830000 | mix formal confirmation primary | generated once under cycle8-mix-freeze-v1; mix 0/64; combined 0/192; spent | | Mix freeze confirmation replication | 840000 | mix formal confirmation replication | generated once; mix 0/64, max 0.524300; combined 0/192; spent | | Mix freeze confirmation holdout | 850000 | mix formal confirmation holdout | generated once; mix 0/64; combined 0/192; spent | +| DeepMind transfer primary | 1060000 | deepmind mix transfer primary | reserved before generation; identity 63/64, mix 0/64; combined mix 0/192; HYPOTHESIS; not mix-freeze confirmation | +| DeepMind transfer replication | 1070000 | deepmind mix transfer replication | reserved before generation; identity 63/64, mix 0/64; combined mix 0/192; HYPOTHESIS; not mix-freeze confirmation | +| DeepMind transfer holdout | 1080000 | deepmind mix transfer holdout | reserved before generation; identity 63/64, mix 0/64; combined mix 0/192; HYPOTHESIS; not mix-freeze confirmation | +| Second-model transfer | 1090000 | second model mix transfer | reserved before generation; DistilGPT2 n=16 HYPOTHESIS: identity 16/16, mix 0/16; not confirmation-scale | Do not promote any of these seeds into confirmation after seeing scores. diff --git a/docs/product-contract.md b/docs/product-contract.md index 783a145a..8846f8b5 100644 --- a/docs/product-contract.md +++ b/docs/product-contract.md @@ -55,7 +55,7 @@ Cycle 8 mix freeze confirmation is not enough. A carrier is product-publishable 4. known sanitizer weaknesses no longer kill the carriers, or an explicit product decision to accept those sanitizers as out of scope; 5. cross-detector generalization beyond one open GPT-2 SynthID Weighted Mean detector. -`cycle8-mix-publishability-v1` currently fail-closes. Software compatibility now PASSes on that product surface. Sanitizer weaknesses and cross-detector generalization still FAIL. See `docs/cycle8/mix-publishability.md`. +`cycle8-mix-publishability-v1` currently fail-closes. Software compatibility now PASSes on that product surface. Cross-detector generalization PASSes on Hugging Face nine-key GPT-2 Weighted Mean plus independent DeepMind 30-key GPT-2. Sanitizer weaknesses still FAIL: Mn-strip and default-ignorable-strip remove the mix carriers, and the assigned-Unicode closed set found no Priority-Zero-safe survivor. See `docs/cycle8/mix-publishability.md`. U+200C is not authorized. It is a diagnostic baseline and is removed by Cf stripping. diff --git a/docs/seeds.md b/docs/seeds.md index 10d41003..41c4ecc7 100644 --- a/docs/seeds.md +++ b/docs/seeds.md @@ -16,6 +16,8 @@ This ledger is the cross-cycle source of truth for seed reuse. A seed must be re - Seeds `1000000` and `1010000` are reserved for letter-space margin follow-up. Combined letter-space is 1/128. - Seeds `1020000` and `1030000` are reserved for U+034F/U+FE00 letter-mix margin follow-up. Combined mix is 0/128. - Seeds `1040000` and `1050000` are reserved for letter-mix scale follow-up. Combined with `1020000`+`1030000`, mix is 0/256. That 0/256 is development scale, not confirmation. +- Seeds `1060000`, `1070000`, and `1080000` are reserved for independent DeepMind synthid-text 30-key mix transfer. Combined mix is 0/192. That transfer is HYPOTHESIS, not mix-freeze confirmation. +- Seed `1090000` is reserved for DistilGPT2 second-model mix transfer. n=16 is HYPOTHESIS, not confirmation-scale. ## Cycle 8 scale reservation (before generation) @@ -37,6 +39,10 @@ This ledger is the cross-cycle source of truth for seed reuse. A seed must be re | 830000 | mix freeze confirmation primary | `mix formal confirmation primary` | generated once under cycle8-mix-freeze-v1; mix 0/64; combined 0/192; spent | | 840000 | mix freeze confirmation replication | `mix formal confirmation replication` | generated once; mix 0/64, max 0.524300; combined 0/192; spent | | 850000 | mix freeze confirmation holdout | `mix formal confirmation holdout` | generated once; mix 0/64; combined 0/192; spent | +| 1060000 | DeepMind transfer primary | `deepmind mix transfer primary` | reserved before generation; identity 63/64, mix 0/64; combined mix 0/192; HYPOTHESIS | +| 1070000 | DeepMind transfer replication | `deepmind mix transfer replication` | reserved before generation; identity 63/64, mix 0/64; combined mix 0/192; HYPOTHESIS | +| 1080000 | DeepMind transfer holdout | `deepmind mix transfer holdout` | reserved before generation; identity 63/64, mix 0/64; combined mix 0/192; HYPOTHESIS | +| 1090000 | second-model transfer | `second model mix transfer` | reserved before generation; DistilGPT2 n=16 HYPOTHESIS identity 16/16 mix 0/16; not confirmation-scale | ## Historical v1 Cycle 8 ledger diff --git a/evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/README.md b/evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/README.md new file mode 100644 index 00000000..0f32f3d5 --- /dev/null +++ b/evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/README.md @@ -0,0 +1,7 @@ +# Cycle 8 mix DeepMind 30-key transfer (seed 1060000) + +Status: `HYPOTHESIS`. Reserved before generation. Not mix-freeze confirmation. + +n=64. Identity WM **63/64**. Mix WM **0/64**. Mix UW **0/64**. Identity UW **0/64**. Mix WM max `0.5056304423545803`. Visible pass. + +See `evidence/cycle8-mix-deepmind-transfer-2026-08-27/`. diff --git a/evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/SHA256SUMS.txt b/evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/SHA256SUMS.txt new file mode 100644 index 00000000..b23b81d8 --- /dev/null +++ b/evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/SHA256SUMS.txt @@ -0,0 +1,3 @@ +606b3e65304ddbeb5232a64eae0e2bacbec33e76ed9461007845c00603684392 README.md +3a6c8b3de92baf547f76be2364bf4ae6acc64906aad51b4c6b0427894340611a samples.json +82b69f75ecda241311eef11402fe59af16b78a233b3a5b536354ad953deb8dd1 scorecard.json diff --git a/evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/samples.json b/evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/samples.json new file mode 100644 index 00000000..556d062b --- /dev/null +++ b/evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/samples.json @@ -0,0 +1 @@ +{"pair_count":64,"samples":[{"domain":"general_explanatory","label":"unwatermarked","pair_index":0,"sample_id":"cycle8-1060000-00-general_explanatory-unwatermarked","seed":1060000,"text":"\n\nA lot of science fiction works focus on complex relationships between the human brain, where each individual has its own neural structure. What this means is that you have to understand the structure of a neural network to grasp the underlying structure of a system.\n\nAnd that's where you come in.\n\nAs it","text_sha256":"a22340408980041a60020373356d785a4120b06d94f90075ce3f4fbd624202fe"},{"domain":"general_explanatory","label":"watermarked","pair_index":0,"sample_id":"cycle8-1060000-00-general_explanatory-watermarked","seed":1060000,"text":" Then add it to your original work.\n\nYou can probably tell this if you look at your first copy of the book. The second one, \"The Secret of Consciousness\", is one of the most widely read books of all time. This book is in need of lots of translation. No one is a scholar","text_sha256":"c2edddf86028ed78812adf0ca79170c23389b4d65dc1b3cb2ebed5adc655e27d"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":1,"sample_id":"cycle8-1060000-01-technical_explanation-unwatermarked","seed":1060032,"text":"\n\nUse the code for your own experiments, and for your own experiments:\n\n\n#define DEFINE_COMMITER_NAME \"name\" #define DEFINE_COMMITER_SITE \"site\" #define DEFINE_COMMITER_TYPE \"type\" #define DEFINE_COM","text_sha256":"d926e4cdf02051e710101bb76de6b3286916507c3a734bfbc53b1e813d6ce9d6"},{"domain":"technical_explanation","label":"watermarked","pair_index":1,"sample_id":"cycle8-1060000-01-technical_explanation-watermarked","seed":1060032,"text":" Then test it with a range of possible outcomes.\n\nThe original text of the paper, by Christopher Blundell, can be downloaded here: http://blog.cant.ucla.edu/\n\nThe original source code can be found here: https://github.com/deepmind-releases","text_sha256":"9bd36ec009c70df0572677e4ef3e10b06f6bd362113c9520d388fc8d0d859ee1"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":2,"sample_id":"cycle8-1060000-02-conversational_prose-unwatermarked","seed":1060064,"text":" A natural conversational prose is an expression of the understanding that there is a \"real\" person or entity in the world.\n\nThere is one great way of writing a natural conversational prose.\n\nIf you don't have a natural conversational prose, it's probably because you haven't seen it. The","text_sha256":"564fde7036f3ac2aabd112d64525ce9071e8f752894e211be1b8a2ec57514058"},{"domain":"conversational_prose","label":"watermarked","pair_index":2,"sample_id":"cycle8-1060000-02-conversational_prose-watermarked","seed":1060064,"text":" You'll learn why they should trust your answer. The main thing is to be able to communicate your message in a reasonable way that makes no sense and is not the only way they could ask for it. Learn to focus on the answers. Do not let them get away with \"we have never thought that out.\" Use","text_sha256":"14aaca905d170531bb39a6aeaffdc1a8891cb467fc257fa956f6312750e60bd7"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":3,"sample_id":"cycle8-1060000-03-structured_instructional-unwatermarked","seed":1060096,"text":"\n\nLIMIT 1:\n\n1. Linguistic analysis\n\nLinguistic analysis is the study of the relationship between meaning and meaninglessness, and it helps us understand the relationship between language and meaning. The term Linguistic Analysis refers to the way that we use language to represent meaning, and","text_sha256":"eaf9adf6388d72d1b48b1ef9decf71c7b61c703e45e58cd737b6da102f6ee115"},{"domain":"structured_instructional","label":"watermarked","pair_index":3,"sample_id":"cycle8-1060000-03-structured_instructional-watermarked","seed":1060096,"text":" In this example, we'll use the following in our first step: A C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C- C-C-C-C-C","text_sha256":"275ca3a9b3af2d2f98fb7fbda38cd31c43a4ad8c65cdceba0a2b94e32d55850c"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":4,"sample_id":"cycle8-1060000-04-general_explanatory-unwatermarked","seed":1060129,"text":"\n\n4.1 Keywords\n\nAs you get more information, you'll learn more. What, you're reading this now? How do you explain it to the person you love?\n\n3. Keywords\n\nAll of our most important and important information will come to you. It's a human","text_sha256":"c89bf6095297c16ee3742fb70117479bf0a3b807eb43545f301d1ea4fa94d1f7"},{"domain":"general_explanatory","label":"watermarked","pair_index":4,"sample_id":"cycle8-1060000-04-general_explanatory-watermarked","seed":1060129,"text":" You'll find it much more fun than this.\n\nA \"simple\" version of this article will be available as a free download at http://deepmindsolution.com/\n\nIf you'd like a free download, this is the one to do for you!\n\nIf you'd like to buy","text_sha256":"dd423d5b6b75453d08ff61f5669ba6be02f063da6a87f51946e5c9c99af277c7"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":5,"sample_id":"cycle8-1060000-05-technical_explanation-unwatermarked","seed":1060160,"text":" Read on in the comments to find out how you can integrate an application that can be tested with other software.\n\nSoftware experiments\n\nLet's be clear on what you're working on and what your goals are. This is what you want to be done.\n\nThis is what you want to be done.","text_sha256":"50023275e2d01636f48a6693ded881519e45f27d085599a8181a6d57fe8edc6b"},{"domain":"technical_explanation","label":"watermarked","pair_index":5,"sample_id":"cycle8-1060000-05-technical_explanation-watermarked","seed":1060160,"text":" Then test it with a range of possible outcomes.\n\nThe original text of the paper, by Mark P. Bose, is available in the Bose Library on the Bose web site.\n\nThe paper by Bose does not make any claims of \"proof\" that DeepMind transfer is possible. Rather","text_sha256":"fa958479bb070d13d1b4177f3723e1c95ec1d1312c704e340c5d12ce2f7d6b8a"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":6,"sample_id":"cycle8-1060000-06-conversational_prose-unwatermarked","seed":1060192,"text":" A good example is \"the concept of a \"mind\"\". You may need to start by explaining why a specific thought is a mind and a concept, and then describe how this concept can be explained by a specific \"mind\". For example, if we are talking about a \"mind\", then we might say that a","text_sha256":"66fe59d37cbb4dfc17a31c24e900928c2807fc912dc711a5c58ae884c1f240bb"},{"domain":"conversational_prose","label":"watermarked","pair_index":6,"sample_id":"cycle8-1060000-06-conversational_prose-watermarked","seed":1060192,"text":" You'll learn more about the topic.\n\nThe most important part is keeping your voice consistent. If you're talking to another person at random or while listening to a conversation, remember that you're a speaker.\n\nDon't forget to have the right mindset.\n\nDon't have a sense of humor.","text_sha256":"c6d4ad6a1f020cebbffee2ad70198ba245f150a08d06de74e2eabf898902a7d4"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":7,"sample_id":"cycle8-1060000-07-structured_instructional-unwatermarked","seed":1060224,"text":" This is an excellent way to learn more about the fundamental concepts of basic programming.\n\nLearn How to Create a Dijkstra Code (a.k.a. Euler's Code)\n\nEuler's Code is a collection of programs written in Euler's style. It is designed for programmers who want","text_sha256":"93b0081c801ee098ed4b80e20a5fb591573f3fa067be33a57b6fa49c5c13dbeb"},{"domain":"structured_instructional","label":"watermarked","pair_index":7,"sample_id":"cycle8-1060000-07-structured_instructional-watermarked","seed":1060224,"text":" Then repeat the same steps on different subprojects.\n\n\nThis will give you an idea of what you should be able to accomplish and what you would like.\n\n\nIf you are already using this in a project, take a look at the notes on the project. You can change your language to any language you see","text_sha256":"fdc224dcf8ad23972932385af08d21ab536cef4884b43a503c0caf6750fbb41d"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":8,"sample_id":"cycle8-1060000-08-general_explanatory-unwatermarked","seed":1060256,"text":" If you're doing something that requires the following paragraphs, you'll be better off writing more in plain English. A good example is a very brief statement like \"I found a new job in the morning, but I don't know what my job will be like.\" This is a bit of a cliche, but it","text_sha256":"000a8dbfada84aaf0c6aacba462c7e006025d01a57021e5525e032edd8d0e7b7"},{"domain":"general_explanatory","label":"watermarked","pair_index":8,"sample_id":"cycle8-1060000-08-general_explanatory-watermarked","seed":1060256,"text":" Then be clear on why something is transferred and how to explain it. You can also use words like \"convenient\" and \"unconventional.\" This is a great way to clarify what you are saying.\n\nThe original text of the book comes from the original text of The New Atheist, edited by Steve","text_sha256":"42590b8847bbf7f1153d229f81d7228f264d9ad5cca885f3298feb05e96787e0"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":9,"sample_id":"cycle8-1060000-09-technical_explanation-unwatermarked","seed":1060288,"text":" The first two steps are in the main section and can be omitted here.\n\nDefine the main idea, one failure mode, and one validation check. The first two steps are in the main section and can be omitted here. Include the main proposal in the paper, including the main proposal description in the paper.","text_sha256":"b296f078869ce3c213644dcc98b3443779a0d3c8872bcc1021e3314b95838ae1"},{"domain":"technical_explanation","label":"watermarked","pair_index":9,"sample_id":"cycle8-1060000-09-technical_explanation-watermarked","seed":1060288,"text":" Let us first discuss the main goal of the mixing process.\n\nThe main idea is that all algorithms should share its data-base with a single pool of hashes. We need to create a hash pool as soon as possible and have data to store it. After that, the algorithm is set up to test and validate","text_sha256":"aa3667850c3ebc0ec42b5df7b76c7bba6ed835d488f294ceae386ee1abb2e1d2"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":10,"sample_id":"cycle8-1060000-10-conversational_prose-unwatermarked","seed":1060320,"text":" Use natural conversational prose while keeping the explanation exact. Do not make any errors in your explanations.\n\nDo not make any errors in your explanations. In my experience, the most important problem I have with language learning is the question \"What is the true meaning of a word?\" I don't think that the answer","text_sha256":"3a7041d215d99b2db77257df2eb5c881d2897f60d4d7cd4e74b0042548e426d9"},{"domain":"conversational_prose","label":"watermarked","pair_index":10,"sample_id":"cycle8-1060000-10-conversational_prose-watermarked","seed":1060320,"text":" Then ask for clarification at the end of the article. The best way to use natural conversational prose is to do the following:\n\n1. Provide a brief explanation of where the concepts are and their specific meaning.\n\n2. Make a point that what is being said is a question (or an answer).","text_sha256":"eb5bf1e8f401f2a0da30c4d989af3f91a908cfce64e8af60bcce8fc68b9ae23a"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":11,"sample_id":"cycle8-1060000-11-structured_instructional-unwatermarked","seed":1060353,"text":"\n\nIf you are working with an experiment which requires a lot of simple math but is still easy to understand, use complete sentences, a simple sentence structure, and just a few simple words with a few sentences in common.\n\nIf you are working on a test, you could use a simple set of sentences (","text_sha256":"4776194caee5272175908589ecad857cf4ea24b25d04c2b568f88cee57af7c20"},{"domain":"structured_instructional","label":"watermarked","pair_index":11,"sample_id":"cycle8-1060000-11-structured_instructional-watermarked","seed":1060353,"text":" Then repeat the same action in the last step to make it a logical decision.\n\n\nThe two things that I learned while running this tutorial are:\n\n\n1. In basic programming, we can work on a single problem. We should always be working on the same problem.\n\n\n2. In more advanced programming","text_sha256":"7ac6af06a3caad5107811c203b2705ef805a318f0d2ce72f2e611758d588dbf1"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":12,"sample_id":"cycle8-1060000-12-general_explanatory-unwatermarked","seed":1060384,"text":"\n\nDon't bother to read through the whole essay. This is a great idea, so start reading it if you're a regular reader of this blog. If you're a regular reader of a blog, check out this one:\n\nhttp://www.theartofkulturbation.com/article","text_sha256":"2cd9745c3d7a505200b62038dc9e980c2dcb7d60b95b4455ad78c6e756f16753"},{"domain":"general_explanatory","label":"watermarked","pair_index":12,"sample_id":"cycle8-1060000-12-general_explanatory-watermarked","seed":1060384,"text":" Let us first discuss the difference between the two.\n\nIn general, a lot of time goes into studying a phenomenon and comparing it with what is known about it (theory, physics, etc.). If we know what exists, we can test by making a guess. If the answer is not immediately obvious, we","text_sha256":"565066a4c32dc1af4d426f0fbd167b2527c4b24927d5185659b6b853656f3927"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":13,"sample_id":"cycle8-1060000-13-technical_explanation-unwatermarked","seed":1060416,"text":"\n\nIn a nutshell:\n\nThe main idea is that if you combine a small number of small and large functions in a single program, the result is a well-constrained set of functions. It is a very simple model, but in practice, you can use much larger and more complex models to get","text_sha256":"f700dac4e882af7f8dcd1e5fb83778088613cf6557593f0a392eda6be1fea0b3"},{"domain":"technical_explanation","label":"watermarked","pair_index":13,"sample_id":"cycle8-1060000-13-technical_explanation-watermarked","seed":1060416,"text":" Then test it with a few tests written in Python - see the examples for more information.\n\nUse the following code snippet to configure an Apache Cassandra database. We'll call it an instance of Amazon Spark, so make sure your Cassandra has the appropriate set-ups.\n\ncd './containers.py'","text_sha256":"0c7c52093db2660a74193716e2d1fd047133e5c697f9b91e5a42566865394422"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":14,"sample_id":"cycle8-1060000-14-conversational_prose-unwatermarked","seed":1060448,"text":"\n\nIf you have a problem with the way your colleagues try to communicate, stop and listen.\n\nYou don't need to have a perfect mind to make things easy for others.\n\nI hope this helps, and I'm grateful for your feedback.\n\nI hope to see you at Google I/","text_sha256":"5d7a2fc1dea7e5d123c4a931e14e7509b596c96883697405e6159ec5e8be0316"},{"domain":"conversational_prose","label":"watermarked","pair_index":14,"sample_id":"cycle8-1060000-14-conversational_prose-watermarked","seed":1060448,"text":" You'll learn how to write about the mind and the world.\n\n4) Keep an eye out for things that are in your brain (like math, your thoughts, your thoughts) and not just in your brain.\n\nThe most important thing to do is to listen to what you're saying. If you","text_sha256":"6b6936b1ce34751df2ce57804f581e264ea947e4d361b581e07cab13cacc7eff"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":15,"sample_id":"cycle8-1060000-15-structured_instructional-unwatermarked","seed":1060481,"text":"\n\nThe basic idea of this project is to write a simple two-step instruction in an experiment with a single step. The instruction should be repeated for each sentence. In the beginning of the experiment, just make a one-step instruction that says \"add a value in the range 0-9\". This would be","text_sha256":"4fb55507288236ff8fcee964b5be308cd9efcdd044b06d4a71754138792e1648"},{"domain":"structured_instructional","label":"watermarked","pair_index":15,"sample_id":"cycle8-1060000-15-structured_instructional-watermarked","seed":1060481,"text":" You'll learn how to write a long list of simple basic questions and then write them down in a quick text file.\n\nFor example:\n\nThe following problem is a simple demonstration of how to apply pure basic sentence structure to a problem, and how to apply pure sentence structure to a problem, in my language","text_sha256":"5b407b91cf69269e81c19cee4e4d3701a91e3680407bab6b352047bb11a4ebe0"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":16,"sample_id":"cycle8-1060000-16-general_explanatory-unwatermarked","seed":1060512,"text":" Use the following techniques: 1. Keep the whole article in a separate page 2. Keep each section succinctly. 3. Make the entire chapter simple to understand. 4. Use the following sections to summarise the whole text 5. Put the whole paragraph in a single sentence to explain why each part was important. 6","text_sha256":"7557482c3548518e99ef0fe7fbcb6de026b89925254a05c9b1e2f8af41d44e25"},{"domain":"general_explanatory","label":"watermarked","pair_index":16,"sample_id":"cycle8-1060000-16-general_explanatory-watermarked","seed":1060512,"text":" Let us first discuss the difference between the two.\n\nIn one sense it is an analogy: we can understand that the brain is a single, brain-like part of the brain as it processes information. This simple fact is what makes a complex brain such that everything is made up of multiple parts simultaneously. As an","text_sha256":"fc1fe91e7a085312ef5c22b38e57a2c8132db3d9241089243465af2659a720ff"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":17,"sample_id":"cycle8-1060000-17-technical_explanation-unwatermarked","seed":1060544,"text":"\n\nWhat is deepmind transfer?\n\nDeepmind transfer is the main idea of the open source software experiment, and it allows you to test or modify the code in the software. You can do this by writing a single test and an validation check to check it and then send it to the test server.\n","text_sha256":"f9af82a11b1095da984d10fc5c6e34c16515760c27eb0c74da9dde376570736c"},{"domain":"technical_explanation","label":"watermarked","pair_index":17,"sample_id":"cycle8-1060000-17-technical_explanation-watermarked","seed":1060544,"text":" Then test it with a series of tests that are applied to data and a set of tests that are applied to data and validation check. Then define a test suite that is able to support both the validation and the validation check. If you are interested in the performance and a test suite that can be used as a validation check","text_sha256":"a18b4ec822dfa2e7540814d9e9a9f8c2c1943b4451d461773f29e92c91ecb117"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":18,"sample_id":"cycle8-1060000-18-conversational_prose-unwatermarked","seed":1060576,"text":"\n\n6. Don't use a word you don't understand or even understand.\n\nIf you know the rules and the rules of the game, you should be able to understand it. It's easier to understand a set of rules than you understand an entire system. This makes it harder for you to understand your","text_sha256":"ef6ea18bfef500031f19046eb7a805e3a6c3bab5ba5834d5a355a50f46c114ac"},{"domain":"conversational_prose","label":"watermarked","pair_index":18,"sample_id":"cycle8-1060000-18-conversational_prose-watermarked","seed":1060576,"text":" You'll learn how to write about the inner workings of the brain. You'll write about things that other people (or even your own ego) might not think you actually do.\n\nI'm not recommending that you start with a full-length program. I think it's important that you pick a program that you","text_sha256":"dfbfa64bb49a10298e945fb76256033920e1dc9e45ea0351b0e23539ed80a7d0"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":19,"sample_id":"cycle8-1060000-19-structured_instructional-unwatermarked","seed":1060608,"text":" Then move on to the next step.\n\nUsing an example of using this approach, I'll use my neural network to create the following neural network. The main goal of this work is to demonstrate how neural networks can be used to represent abstract concepts, but also how neural networks can be used to understand more complex concepts","text_sha256":"b262cb3934dff64ee61f331a23a3555121ffdeaee05de832e2935757d96e8606"},{"domain":"structured_instructional","label":"watermarked","pair_index":19,"sample_id":"cycle8-1060000-19-structured_instructional-watermarked","seed":1060608,"text":" (There are multiple ways to do this. If you have a problem with a particular sentence, add one last step and do just the next step as described in the next section.)\n\nTry and get a good test.\n\nThe tests are simple and you should be able to understand the results. If you have","text_sha256":"7c215a37c9ea8386244f992572ac30d35421c39399c7877c42dbbe47619f7477"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":20,"sample_id":"cycle8-1060000-20-general_explanatory-unwatermarked","seed":1060640,"text":" Use the appropriate jargon.\n\nUse the appropriate jargon.\n\nKeep your research in a journal. Don't use abstracts, graphs, or any other data to make your conclusions.\n\nUse abstracts, graphs, or any other data to make your conclusions.\n\nAvoid using the term \"dynam","text_sha256":"a92516f07b40368790e126c741b17683f8852ca0d6c99e9169d870fd8e4807e3"},{"domain":"general_explanatory","label":"watermarked","pair_index":20,"sample_id":"cycle8-1060000-20-general_explanatory-watermarked","seed":1060640,"text":" (There are few instances of this in The Last Key to the Key Theory (1982)).\n\n4. Introduction\n\n1. Introduction\n\n2. Introduction\n\n3. Introduction\n\n4. Introduction\n\n5. Introduction\n\n6. Introduction\n\n7. Introduction\n\n8. Introduction\n","text_sha256":"805b80f9533cdcd0eb57eaed2622a7791881e85eef12a11ce07707b31c583182"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":21,"sample_id":"cycle8-1060000-21-technical_explanation-unwatermarked","seed":1060673,"text":"\n\nIn this section, I will be discussing the first two techniques, one of which is to define a basic abstraction for a data-flow model and define two validation checks. In the first case, we define a validation check that will be used to validate the original data. In the second case, we define a","text_sha256":"a461edc28a63c6d29cab356c68001f6e533490e3f16795cce5ef04581b00252a"},{"domain":"technical_explanation","label":"watermarked","pair_index":21,"sample_id":"cycle8-1060000-21-technical_explanation-watermarked","seed":1060673,"text":" Let us first discuss the main goal of the main goal:\n\nThe idea is to make a group of people (in the same language) use a very specific language. They can get used to the same language for the same amount of time. We have a basic idea of what a language should look like, and","text_sha256":"bd301f3006ee8a3f76392a65f6c4de5748f58ae8b45ed82e16481db1a6d43d99"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":22,"sample_id":"cycle8-1060000-22-conversational_prose-unwatermarked","seed":1060704,"text":"\n\nIf you're in a non-interactive conversation, ask how deep you are in the conversation. If you're in a non-interactive conversation, ask how deep you are in the conversation.\n\nDon't worry about being vague. This is your chance to explain why you are making this mistake and","text_sha256":"6aa8868389c95a0ee1c70997e01465ffc4109e3dcbc81a6a538691c645af6c42"},{"domain":"conversational_prose","label":"watermarked","pair_index":22,"sample_id":"cycle8-1060000-22-conversational_prose-watermarked","seed":1060704,"text":" You may want to ask a question with more depth and a more conversational one in this case. It is a very useful practice.\n\nIn addition, sometimes it might be desirable to give your co-worker a quick talk with only a brief introduction.\n\nYou can also listen more effectively to other colleagues when","text_sha256":"b4fa789ec1b94f1cfbfcc9b00451501404ca1b235aad2f088c8bfd817652a27d"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":23,"sample_id":"cycle8-1060000-23-structured_instructional-unwatermarked","seed":1060736,"text":"\n\n- The first step is to write a short three-step instruction for applying deepmind mix transfer primary in an experiment. Use complete sentences and keep each step concrete. - In the first step you can put the word \"exactly\" in the beginning of each sentence. Use a simple word like \"exactly","text_sha256":"0261617079903ff8484d678f0adf0af5ca358a5c21ff82b28d0db2c5c6e45f90"},{"domain":"structured_instructional","label":"watermarked","pair_index":23,"sample_id":"cycle8-1060000-23-structured_instructional-watermarked","seed":1060736,"text":" A simple example:\n\nThe following example demonstrates how to make an explicit transition from a high-level intro to a low-level intro. An example:\n\nHere's an example and a brief demonstration in which the transition will be made only in the following form:\n\nWe will learn the following from the","text_sha256":"fe19042d681cf957040eabd4a465f553091d9277785f4dd50f2c3235e09b8776"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":24,"sample_id":"cycle8-1060000-24-general_explanatory-unwatermarked","seed":1060768,"text":"\n\nWhat if you could make this work for yourself, without being involved in an organization that only wants to support the best of its members?\n\nThis approach is a promising one, but one of the most difficult of all. I think this is why you need to consider yourself a \"core\" member of the","text_sha256":"ae035a6fe2e7b904ecf4deb2fb24afad5b996983cf2fc90e2c9ee8dc95137c7f"},{"domain":"general_explanatory","label":"watermarked","pair_index":24,"sample_id":"cycle8-1060000-24-general_explanatory-watermarked","seed":1060768,"text":" (That's a pretty standard rule; keep it simple.)\n\n- Dr. B, I want to know why I'm not \"pro-life?\"\n\n- W, I want to know if our society is \"pro-life\"\n\n- S, I want to know if we are \"pro","text_sha256":"67ea77b28c4279404a7b2581af8d91984ad46a31c88c6208e1bfba2fcf501bbf"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":25,"sample_id":"cycle8-1060000-25-technical_explanation-unwatermarked","seed":1060800,"text":" Explain how the algorithm works, how to perform it, and how to perform validation.\n\nThe main idea, one failure mode, and one validation check. Explain how the algorithm works, how to perform it, and how to perform validation. Explain the technical rationale and the technical explanation of the problem.\n\nIn","text_sha256":"363dca49811afceadf9c25bbac0d16e35170107c8d34436fe93a022f77448096"},{"domain":"technical_explanation","label":"watermarked","pair_index":25,"sample_id":"cycle8-1060000-25-technical_explanation-watermarked","seed":1060800,"text":" Then add it to test-drive. We've seen this code before, in tests using R and Go. But, here's the important part: The first two are not only useless, they are also very hard to make workable. The third is not only hard to make workable but also hard to solve problems","text_sha256":"d5d400a85eaeaf84eeb7861a95e96ad8ad75e1b6514ffa875af2662ecf0da004"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":26,"sample_id":"cycle8-1060000-26-conversational_prose-unwatermarked","seed":1060832,"text":" If there is a particular difference, avoid using \"I'm going to do some of the stuff in this room\" as a \"thesis\" (as in, \"I'm going to do it, but I can't figure out how to do it without a good metaphor and if I can't figure out how to","text_sha256":"e3501996032a96f7300e4f3cc39fe3bfb0cda9a7dd3730f94812ea3dfbdb9a22"},{"domain":"conversational_prose","label":"watermarked","pair_index":26,"sample_id":"cycle8-1060000-26-conversational_prose-watermarked","seed":1060832,"text":" (That's why I don't give out exact translation and, say, if someone needs to make a good translation, I'll keep the explanation to a minimum, but if someone needs to create a book, I'll have my best translation of it available. No, I didn't give up on the book. I","text_sha256":"f60dd64edb0b6ce1525df4c4c605eefada32eb559eac5a0b77444d93ef11eeee"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":27,"sample_id":"cycle8-1060000-27-structured_instructional-unwatermarked","seed":1060864,"text":" The whole process can be repeated to get an idea of the general flow. You can find the whole program in the \"Programming for deepmind\" book.\n\nUse some of the instructions you have learned for using the new software on your machine. You can make a few different choices here if you like.\n","text_sha256":"6825282cec04123e048cb57afe1bc37f888cecfe09a4e233ab5458b6bee0f0b8"},{"domain":"structured_instructional","label":"watermarked","pair_index":27,"sample_id":"cycle8-1060000-27-structured_instructional-watermarked","seed":1060864,"text":" You'll learn how to write a long list of simple basic questions and then the first step is the following:\n\n1. Write a sentence: write an example for your lesson. Keep writing in a sentence to let your mind go \"Wow, that is so funny!\"\n\n\n2. Write a \"thing\"","text_sha256":"4bb09bb3b9ba99c02d9a85a2538e7e2c535e8a660b9f2e20c33ad95359ff6730"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":28,"sample_id":"cycle8-1060000-28-general_explanatory-unwatermarked","seed":1060896,"text":"\n\nA.3.3.5: In the second paragraph, write the following:\n\nThis document is for use with any software and it is not intended for use with any other software (including Java, Objective-C, SQL, SQL Server).\n\nB.3.3.6: In","text_sha256":"d7628b9f72c8862fad46e2f775a509276846bb565c8da6a99ef9c2f80d17b7e2"},{"domain":"general_explanatory","label":"watermarked","pair_index":28,"sample_id":"cycle8-1060000-28-general_explanatory-watermarked","seed":1060896,"text":" Then add it to your original work.\n\nYou can probably tell this if you look at your current code. You can also take advantage of this and do a new thing that will generate a new sub-expression when your sub-expression is inserted.\n\nHere's an example and a brief look of what it","text_sha256":"9472c09a31ef8596edb837afc701cec6e755d83c479092045324f969bca65b98"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":29,"sample_id":"cycle8-1060000-29-technical_explanation-unwatermarked","seed":1060928,"text":" Use the examples to show how we can build, test, and maintain software that can perform deepmind transfer on such a high level.\n\nIn short: I hope you enjoyed this article, and you'll also find it useful in your own software development.\n\nWant to learn how to use the DSC-","text_sha256":"4d142a1caa15a8a8f177e8db7698f6151bd8f61ff4c2bb2ef976783064d90e1d"},{"domain":"technical_explanation","label":"watermarked","pair_index":29,"sample_id":"cycle8-1060000-29-technical_explanation-watermarked","seed":1060928,"text":" Then add it to test-drive. We've just tested all the tests in the first couple of minutes.\n\nWe've just tested all the tests in the first couple of minutes. Add an algorithm. We're not sure if it's a good algorithm or not, but if it isn't we can test it","text_sha256":"d486e359b1f384df320a7ef20f5fb30e06a94edb0169fb75be9b2f52d199391d"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":30,"sample_id":"cycle8-1060000-30-conversational_prose-unwatermarked","seed":1060960,"text":" You can even use it to help clarify your statement to the reader.\n\nDon't assume that you're trying to be a master of English. You'll never know what you're talking about. You'll never get a solid understanding of the word. But you're going to get the gist of the message and get","text_sha256":"ec188670b684fd00274b5ee603a0b66707e61405710c3e6a914eb86735e7d79b"},{"domain":"conversational_prose","label":"watermarked","pair_index":30,"sample_id":"cycle8-1060000-30-conversational_prose-watermarked","seed":1060960,"text":" You'll learn more about the fundamental concepts of the art of the conversational.\n\nThe most important feature of conversational is the use of language in order to bring the language and the conversation together. When I speak to a colleague about an issue, I often use the language to explain what they're saying, so","text_sha256":"a0186a9d60975afc381385e0d1d49ab511438dee018933856af64e59fc47b0ca"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":31,"sample_id":"cycle8-1060000-31-structured_instructional-unwatermarked","seed":1060992,"text":"\n\nPractice using words from the study. If you see a word like \"gifts\" and \"solutions\" or \"my solution\", use that. If you see words like \"the problem\" or \"the solution\" or \"the solution\", use that. If you see words like \"the problem\"","text_sha256":"cc677574827e7bd98cfef2f6a4cf98bad252659f87ae758f0439c5dfd6277b06"},{"domain":"structured_instructional","label":"watermarked","pair_index":31,"sample_id":"cycle8-1060000-31-structured_instructional-watermarked","seed":1060992,"text":" Then repeat the sentence with a simple addition. If you don't hear it, skip, and repeat the sentence with the same repetition.\n\nDiscovery of Multimedia\n\nWhen your brain makes complex music (or just regular music), this is not the time to try to create something that gets your attention. Don","text_sha256":"8e3f31890c429b25f7e4d58efc7e8929cfd46e64c1bdc72c9a26e4e2c551ab95"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":32,"sample_id":"cycle8-1060000-32-general_explanatory-unwatermarked","seed":1061024,"text":" Then start by asking yourself this question: What is this \"why\" matter? (If you are lucky, you will get a different question later on.) Explain it to a friend. Ask whether or not you should take action to protect your privacy. If you do decide to take action, do so with extreme caution.","text_sha256":"12a510b424b450189a7271199f8cc459f6df3e50331696ff6070170bf71f74de"},{"domain":"general_explanatory","label":"watermarked","pair_index":32,"sample_id":"cycle8-1060000-32-general_explanatory-watermarked","seed":1061024,"text":" (There are few things in physics that, if written in plain English, cannot be said to be true.)\n\nTo sum up: if you need to predict how the human mind will work, you need to understand and use the entire language of the English language, which may not be understood.\n\nWe've","text_sha256":"807a8f9c30f3f937d63bd18dc400402eb189163ff322367001e8c477c236ad7e"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":33,"sample_id":"cycle8-1060000-33-technical_explanation-unwatermarked","seed":1061056,"text":" This works well if the problem is a small one that you can solve. However, if the problem is very large, you might have to make some changes or add extra features or implement a new \"hardware design\".\n\nFor example, you might have a problem with the validation of a message sent with a message","text_sha256":"8e8cc0dbee0d7ab0eedbb9d1a9ce23ef35857f943001e033072a51b8a2b5e91b"},{"domain":"technical_explanation","label":"watermarked","pair_index":33,"sample_id":"cycle8-1060000-33-technical_explanation-watermarked","seed":1061056,"text":" Then test it with a series of failures and validation checks. Try to find a solution in which the main idea is the same as the validation check and it is the same as the main idea. Once the main idea has been discovered the main idea is not the same as the validation check, but it is the same as","text_sha256":"9a4c90aa766b1442a99506c0ea93c29ec1255e238edf1fb0c6871bee735c6703"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":34,"sample_id":"cycle8-1060000-34-conversational_prose-unwatermarked","seed":1061088,"text":"\n\nThis is great because, although we tend to assume that there is something that we are talking about, the natural way to handle this is to repeat the word \"this\" with the natural nouns, and this is one of the more common mistakes people make when using these verbs.\n\nThis is also one","text_sha256":"25633d65fef0c93ec14946179a0fe2f042bf9ea0357a48bbe1a0138f4aac6e7c"},{"domain":"conversational_prose","label":"watermarked","pair_index":34,"sample_id":"cycle8-1060000-34-conversational_prose-watermarked","seed":1061088,"text":" Let the reader know your point of view.\n\nIn addition, consider how to solve a problem of learning one's own problem, by building an understanding of the other's mind, which can become our basic building blocks.\n\nThe same goes for the problem of learning a new language, by trying to establish a","text_sha256":"d6a9b97e4de78e6194195845d5d12c930f339c41c0455395e21a809209f96907"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":35,"sample_id":"cycle8-1060000-35-structured_instructional-unwatermarked","seed":1061120,"text":" Keep repeating phrases with repetition and use repetition to teach new words with ease. It is very important to practice the core of core teaching, but the core of core teaching is the core of teaching about the core of teaching about the core of teaching about the core of teaching about the core of teaching about the core of teaching about","text_sha256":"e79c439133697685c84e7d5d253e07abdc2ca9406a2b1fbe12c0b260c2f79eab"},{"domain":"structured_instructional","label":"watermarked","pair_index":35,"sample_id":"cycle8-1060000-35-structured_instructional-watermarked","seed":1061120,"text":" Let the experiment run for an hour and you will finish it with a simple single sentence. This is a great way to test your current understanding by getting to know the concepts and reasoning behind the concepts and reasoning behind the main idea.\n\nLet's start.\n\nThe original text of the experiment\n\nThe experiment","text_sha256":"bff57de5817514680cdfd022af2a3c295400ac4c7d9a194c5e28c4b9550af5a3"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":36,"sample_id":"cycle8-1060000-36-general_explanatory-unwatermarked","seed":1061152,"text":"\n\n2.\n\n3.\n\n4.\n\n5.\n\n6.\n\n7.\n\n8.\n\n9.\n\n10.\n\n11.\n\n12.\n\n13.\n\n14.\n\n15.\n\n16.\n\n17.","text_sha256":"6c3baac24974c6bcc447a4d32842ff559cd7747d249ade40418b5adbe66a0005"},{"domain":"general_explanatory","label":"watermarked","pair_index":36,"sample_id":"cycle8-1060000-36-general_explanatory-watermarked","seed":1061152,"text":" Let us first discuss the key properties of DeepMind.\n\nWhy this is important\n\nDeepMind has been developed since the late 1990s. It is a very interesting research project, and the basic results are clear: there is a significant amount of latent and actual computational power that can be obtained from deeplearning,","text_sha256":"5abac80521cac6002b021304bb57ca64204f8cc4f89e1b5a3918b581ab12ff0a"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":37,"sample_id":"cycle8-1060000-37-technical_explanation-unwatermarked","seed":1061184,"text":"\n\n2.2.1.1. The main concept of the problem\n\nOne of the big problems of deepmind is that you don't know what you are doing. This is because you do not have the information to make decisions for your own personal benefit.\n\nIn the real world, it is","text_sha256":"367edb05d26e6fcfa76091f841e29eacc911af3c37023b13f33ba14c600b0cad"},{"domain":"technical_explanation","label":"watermarked","pair_index":37,"sample_id":"cycle8-1060000-37-technical_explanation-watermarked","seed":1061184,"text":" Let us first discuss the main implementation. It should be obvious that some of the basic implementations have two main implementations: One is designed to be a simple (not really efficient) implementation of a particular feature and another is designed to be a sophisticated (not really efficient) implementation. The first implementation can only be fully effective if","text_sha256":"9f62139450c5db0abf76ce23a5414cb194dc5af4a3983b35497c8d71be969ef9"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":38,"sample_id":"cycle8-1060000-38-conversational_prose-unwatermarked","seed":1061217,"text":" The reason you want to speak to a friend with a deep mind is because you want to convey the message. The person you talk to is not going to want to tell you that you have to explain something to them. In fact, if they did, they might think your words were weak.\n\n\nWhen to ask","text_sha256":"26f4f05b0e573319aa65b5309cce876fbe9603a643926ea966b5fc1da3fd60c1"},{"domain":"conversational_prose","label":"watermarked","pair_index":38,"sample_id":"cycle8-1060000-38-conversational_prose-watermarked","seed":1061217,"text":" You'll learn with a simple sentence structure.\n\n3. When You Think of Mind\n\nIf you're the writer or thinker in a group meeting, then you'll have a clear idea of what you want to write. The more you think of the mind, the more likely it will be to work.\n","text_sha256":"0c63f388092256e11fd46a370003581a1f1ed33cbddcff7d070f090f9f534617"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":39,"sample_id":"cycle8-1060000-39-structured_instructional-unwatermarked","seed":1061249,"text":"\n\nExample 3: Adding a second layer of complexity to a group of students.\n\nExample 4: Adding a second layer of complexity to a group of students.\n\nExample 5: Adding a second layer of complexity to a group of students.\n\nExample 6: Adding a second layer of complexity to a","text_sha256":"5f03c0568855f49efbda944d60952cdb2bd3743b26edbe99dcb7fd89ac358119"},{"domain":"structured_instructional","label":"watermarked","pair_index":39,"sample_id":"cycle8-1060000-39-structured_instructional-watermarked","seed":1061249,"text":" Then repeat the process for every other step in the program, each step at a time. By applying this process, you ensure that the program moves faster than the rest of the program.\n\n5. Use the following methods:\n\n1. Use the following techniques to transfer the data. For an example, see","text_sha256":"6f8d4855315a379de4d828e9e520e09ca36f8ec822743893b9a22263dfd5ede2"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":40,"sample_id":"cycle8-1060000-40-general_explanatory-unwatermarked","seed":1061280,"text":"\n\nThe following examples demonstrate the use of the following three principles to explain why the difference in time between two different worlds can be explained:\n\nTime to arrive\n\nThe time to arrive from a second world is one of the fundamental factors which makes it possible to achieve the desired result. The process of arriving in","text_sha256":"28ac3c5ac751632aa7101b1bbe5e804eea340450ce3162cb3822bf71b2aa7449"},{"domain":"general_explanatory","label":"watermarked","pair_index":40,"sample_id":"cycle8-1060000-40-general_explanatory-watermarked","seed":1061280,"text":" Then add it to your original work.\n\nYou can probably do it this way:\n\nHere's an example and a simple summary of the code and how you would do it:\n\nThe following example makes it easier to write code for deepermind:\n\nsub add_item(self, \"thing","text_sha256":"a1898ec484136ec62f6ff3557b6e59a70534ad00c6cf6fb1a31b055f5b562fda"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":41,"sample_id":"cycle8-1060000-41-technical_explanation-unwatermarked","seed":1061313,"text":" Write down the validation check, how to reproduce it, and the validation check of the main idea. Implement the validation check, the main idea, and the main test. Implement the validation check in real code. Write down the main idea, the main test, and the main test. Implement the validation check in real code","text_sha256":"a150c6994937dd14bf354b3bec99eb466bc1cd0afb33074947cf8b04d16337c3"},{"domain":"technical_explanation","label":"watermarked","pair_index":41,"sample_id":"cycle8-1060000-41-technical_explanation-watermarked","seed":1061313,"text":" Let us first discuss the main implementation.\n\nIn most cases the main implementation of a neural network will be a neural network using general linear models. If you have a neural network, the main implementation will be one of a simple loop where you have a first iteration of a neural network, along with a second iteration of","text_sha256":"3a05d75b270a5b59533712f8891787d0cbf7d4213dd5d89e1450aad05637eaf9"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":42,"sample_id":"cycle8-1060000-42-conversational_prose-unwatermarked","seed":1061344,"text":"\n\nAvoid a single sentence: It is a good idea to keep the sentence simple and concise, and use a very short, but informative, paragraph. It is very important to stay within the first three sentences and not introduce too much of the topic.\n\nFocus on the sentence structure: Don't try to cram","text_sha256":"a49fc158dae08f960d337dfb03a74f6bfdc55bdfb9b08b3ef0859a8441c8e73f"},{"domain":"conversational_prose","label":"watermarked","pair_index":42,"sample_id":"cycle8-1060000-42-conversational_prose-watermarked","seed":1061344,"text":" A simple example: \"You know, I've had a lot of experiences in the past that I don't completely understand right now. I know that there are important events in the real world, but I wouldn't do it now if I didn't think I would, so that's why I do it. And you","text_sha256":"3714ff14ddd7c37551c0386cbfd09ac240187f57dc9da2ca0857bef5bfeb30a9"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":43,"sample_id":"cycle8-1060000-43-structured_instructional-unwatermarked","seed":1061376,"text":"\n\nThis can be done in two ways:\n\nBy using a simple set of instructions like:\n\nlet k = 1; let x = 1;\n\nLet's write this up with the same three steps:\n\nlet (x, y) = (2, 3, 4, 5,","text_sha256":"6db7c3cf1329a95a60c2a9a468c5867bc02310f50d252864bb701b73f73751ec"},{"domain":"structured_instructional","label":"watermarked","pair_index":43,"sample_id":"cycle8-1060000-43-structured_instructional-watermarked","seed":1061376,"text":" Then repeat the process for every other step before doing the next step. This is called \"mind transfer\". This is the method you will use to apply a strong basic in your practice.\n\nOnce you realize that it is not working for you, try to create a separate method as described above.\n\nHere you","text_sha256":"8c9b8240f0d6f8b4845d97fe9e6bfb6270cd1ac08428e771e6dda7f9b7a29ec1"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":44,"sample_id":"cycle8-1060000-44-general_explanatory-unwatermarked","seed":1061408,"text":"\n\n\n3. Create an \"official\" list of all things that are good for you in your life that you want to see in the future.\n\n\n4. Be clear about who you are when you are talking about something that you really want to hear.\n\n\n5. Make sure that it is clear enough","text_sha256":"ed732d060653bf295ed408d1af2c434cf45cb14295c7d0099f7c27d0056990d8"},{"domain":"general_explanatory","label":"watermarked","pair_index":44,"sample_id":"cycle8-1060000-44-general_explanatory-watermarked","seed":1061408,"text":" (There are few instances from which you can say \"deepmind mix transfer secondary matters\" such as how long it takes to get from \"a point\" to \"a point\" in a sentence.) Include one paragraph for each of the following:\n\n1. What happens when someone joins the \"deepmind\" community","text_sha256":"1151b0027e4548255df81456d75c61c85f4e059084630b95ca0349f5d244ba28"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":45,"sample_id":"cycle8-1060000-45-technical_explanation-unwatermarked","seed":1061440,"text":" Use a simple example of \"use an abstract algorithm that applies different operations on each of the inputs\".\n\nWhat's your take on deepmind?\n\nWhat are you doing in your open source project?\n\nWhere do you like to be? What's your favorite part about using deepmind?\n\nWhat","text_sha256":"89ca1a9d5bcc9b58014cff034ac5536045f6984adbbdd2121b04d2192792126d"},{"domain":"technical_explanation","label":"watermarked","pair_index":45,"sample_id":"cycle8-1060000-45-technical_explanation-watermarked","seed":1061440,"text":" Let us first explain why the failure mode is not the primary: It is a system-wide security problem. We have to do some analysis or write a test. The main idea is that systems of any size should have some security policy, at the time of the tests. There is a whole set of vulnerabilities and problems","text_sha256":"b47c1794fde38e13d7b257e0387881a7d2d984dd6fa173c1f86099a6d559d0bd"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":46,"sample_id":"cycle8-1060000-46-conversational_prose-unwatermarked","seed":1061472,"text":"\n\nUse natural conversational prose while keeping the explanation precise. Provide a concise, readable, and accessible explanation for your situation.\n\nProvide a concise, readable, and accessible explanation for your situation. Provide examples.\n\nProvide examples. Give examples to help you understand the main points.\n\nWhat","text_sha256":"c1bc2cdf99022e02d87710631d3e7b4bd301acfc5251f0392b1be9076e2facdb"},{"domain":"conversational_prose","label":"watermarked","pair_index":46,"sample_id":"cycle8-1060000-46-conversational_prose-watermarked","seed":1061472,"text":" (There are few things in life we have all learned to like better than to think, or to act, at the same time, for long periods of time. It is a very different kind of thinking.) Remember that when you have a choice between a long-term commitment to your work and the short-term commitment","text_sha256":"653fe4e90eae252a283141c1c7c001f0c9ba6ff2028813dcc3a232bcedfbe861"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":47,"sample_id":"cycle8-1060000-47-structured_instructional-unwatermarked","seed":1061504,"text":" For example, I could write \"The last time I did my homework, I put all my homework in the test box in 10 minutes.\"\n\nTry using \"predictive\" as a way to explain what's happening. The goal here is to get a feeling for what's going on, but it's also","text_sha256":"e6a650a9e44e0669afbdc4749530b761e3605c2d06cfc216dc7ea051eb0d3ee7"},{"domain":"structured_instructional","label":"watermarked","pair_index":47,"sample_id":"cycle8-1060000-47-structured_instructional-watermarked","seed":1061504,"text":" Then repeat the process for every other part of the sentence. Keep repeating it until you have all the code. A two-step instruction is not quite as effective as a three-step instruction.\n\nAs a general rule, one of the downsides of all of these approaches is that they can be very challenging at","text_sha256":"5f04b691121cea8252c4a46f6be758b063f1df71d91efa14f50a5740831b472f"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":48,"sample_id":"cycle8-1060000-48-general_explanatory-unwatermarked","seed":1061536,"text":" I know if I put that in a list, it would be too long.\n\nPlease don't do this.\n\nPlease don't do this.\n\n\nIf you do this, please don't do this.\n\nPlease don't do this.\n\nPlease don't do this.\n\nPlease","text_sha256":"edab61b25d2ae1744129b0632fd1fcaee5d787450e7238ec8f3f0991ee8165a4"},{"domain":"general_explanatory","label":"watermarked","pair_index":48,"sample_id":"cycle8-1060000-48-general_explanatory-watermarked","seed":1061536,"text":" (That's why I don't give out exact numbers. I just write numbers that are hard to come by. I'll give you a ballpark range, like a range of.0001, or about 10,000. Whatever you do, don't write those numbers out.\")\n\nThe only thing that is less clear","text_sha256":"71ef262f3b62376a4c3bc09b1de37eb9b041125e1f3cf36b77515e8319cc109a"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":49,"sample_id":"cycle8-1060000-49-technical_explanation-unwatermarked","seed":1061569,"text":"\n\nIn the past two years we have seen lots of projects with the use of deepmind with the use of a few different algorithms. There are some that will be more interesting than others, but they are not all that hard to implement. For example, we've seen many projects using a simple algorithm to improve the","text_sha256":"7724d29d6e82ec728eb2cfc33ca86d43f280c369cc1116967001ec09ab1ee1fc"},{"domain":"technical_explanation","label":"watermarked","pair_index":49,"sample_id":"cycle8-1060000-49-technical_explanation-watermarked","seed":1061569,"text":" A simple test of the effect has not been done by me, but a nice exercise for me.\n\nM-U-D-R-L-T-O-O is the most important module in the first three modules. It is built over an extremely simple test suite. It is also used to generate","text_sha256":"d99020ae73885a74bd6a13741a90a13d62fe3e086b946fbb869d40ddd6f077c8"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":50,"sample_id":"cycle8-1060000-50-conversational_prose-unwatermarked","seed":1061607,"text":" The questioner will get it right, but the point here is that the answer is best left to the natural conversational prose.\n\n\nHow do I avoid getting lost in the weeds?\n\nThe question is not whether you get out of your chair. It's how you can change the way you are seen in","text_sha256":"55d00077bdcfc092e1a9f4cde1353e9c54a7371b9c099b3f7a4e985b637e891a"},{"domain":"conversational_prose","label":"watermarked","pair_index":50,"sample_id":"cycle8-1060000-50-conversational_prose-watermarked","seed":1061607,"text":" You'll learn to get out of line and get it out of the way, too. Once you're able to do that, do your own interviews with other people and you'll know what they think of you. This technique will help you to be more confident in yourself as you go through the process.\n\nI","text_sha256":"e815ceece0999789a85324359106273d2cb8fc35b51cb0cdb746da9f77ef2cfc"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":51,"sample_id":"cycle8-1060000-51-structured_instructional-unwatermarked","seed":1061632,"text":" Repeat steps 3-5 on the final stage.\n\nTreat the results as an opportunity to learn something new.\n\nReferences\n\nCronbach's theory of the mind: A guide for working on mind. Oxford University Press. 2001.\n\nCronbach's theory of the mind: A guide","text_sha256":"f7ce30ecd6b2f269b7496689455480f2898100a89bb8ab77397dccadcbb062df"},{"domain":"structured_instructional","label":"watermarked","pair_index":51,"sample_id":"cycle8-1060000-51-structured_instructional-watermarked","seed":1061632,"text":" You'll learn how to write a long list of simple basic questions and then write them down in a sequence.\n\nYou can learn the first three steps by following the steps in the previous book.\n\nThis method may be effective for just about anyone who is into learning. But if you do not want to spend","text_sha256":"00b5c0a20fba257ce56d3f7d8c6756577e1ba1654e468e004192867a28e7f990"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":52,"sample_id":"cycle8-1060000-52-general_explanatory-unwatermarked","seed":1061664,"text":" And then write a second paragraph, but only after you've carefully studied the relevant scientific literature and seen the difference.\n\nThe point of deepmind is to create a system that will be more conducive to understanding why things happen. The system of what it's meant to be will be more like the system of the systems","text_sha256":"36af5c3d299556e0034ce76d8446daed5d1e064816182e5e3f3aa010bd392c20"},{"domain":"general_explanatory","label":"watermarked","pair_index":52,"sample_id":"cycle8-1060000-52-general_explanatory-watermarked","seed":1061664,"text":" Let us first discuss the difference between the two.\n\nIn fact, the basic idea behind the concept of deepmind is that, in order to understand human reasoning, we must first understand how to construct the world, which is an object of our conscious mind. The human mind is a collection of neurons in the brain","text_sha256":"18c392731c90e2024172af7aef8922e28075b3536cfdb251c3271ac872e994de"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":53,"sample_id":"cycle8-1060000-53-technical_explanation-unwatermarked","seed":1061696,"text":" Set up a module for the module's core. It should be a simple set of interfaces for user interfaces and application logic. A module should be capable of accepting input and output, and should allow any input to be sent to any module. If a module is too small to handle input and output it should be given a","text_sha256":"2ca77b83f8b2f48a856d5edd4694a420d4daf590ed432e83372886c5eee74961"},{"domain":"technical_explanation","label":"watermarked","pair_index":53,"sample_id":"cycle8-1060000-53-technical_explanation-watermarked","seed":1061696,"text":" Then test it with a range of possible outcomes.\n\nThe original text of the paper, by Mark Rabinowitz, was published in the journal Nature Communications. In its current version, Rabinowitz and colleagues set the goal of \"complete proof that the human brain is capable of translating complex mathematical concepts into high-","text_sha256":"e24860aa33738b574f4cfeeefe2ca69bac1f892c617691fb3295f822f65fd588"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":54,"sample_id":"cycle8-1060000-54-conversational_prose-unwatermarked","seed":1061728,"text":"\n\nThe most important thing to understand about this class is that it's a class where you're taught to use language, not words, and you're only taught to use words. You don't need to have to study the words in your head. If you're reading a book and you're not sure how to","text_sha256":"2474cb9034ae4cd2ea25c3fea0d24b0d0f8f8917a910475ffe93de646b54aefc"},{"domain":"conversational_prose","label":"watermarked","pair_index":54,"sample_id":"cycle8-1060000-54-conversational_prose-watermarked","seed":1061728,"text":" You'll learn how to explain complex concepts in natural language and then explain it in a coherent and easy to understand way to your friend.\n\nYou'll learn how to explain complex concepts in natural language and then explain it in a coherent and easy to understand way to your friend. Learn to identify language trends and trends in","text_sha256":"c494639d0b7d0f6a6fae95c0f1fd52b368d87784584cac9699546607420097c0"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":55,"sample_id":"cycle8-1060000-55-structured_instructional-unwatermarked","seed":1061760,"text":" Then you can run this exercise with a group of 20 or more people.\n\n3. The first step of this study consists in using an algorithm to calculate the probability that a random variable would be passed from one group to another. When you have a single variable that you want to add, add it to a group","text_sha256":"30a0f4f4d55973b6a89611848ab9b4402d1818f91dda623c404649dd84038f27"},{"domain":"structured_instructional","label":"watermarked","pair_index":55,"sample_id":"cycle8-1060000-55-structured_instructional-watermarked","seed":1061760,"text":" Then repeat the process for every other part of the sentence until you have a clear plan in place.\n\nFor example:\n\nI think I know what I'm doing. I'm trying to create a situation where all the people that I've heard so far are actually saying \"Yes\". I think that I know","text_sha256":"bd450f69aae6da25616274ad640fe3859e747d3db63e2a647609a292eeeb2c2d"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":56,"sample_id":"cycle8-1060000-56-general_explanatory-unwatermarked","seed":1061792,"text":" Write a coherent paragraph in a way that does not cause confusion about the nature of the problem. This is critical to understanding the basic problem. You should not use this approach as an excuse to reject what is called \"deepmind\". You should not use it as an excuse to reject deepmind. If you can be bothered","text_sha256":"5eed5fe5b6a1578e833e158b3b4ba42ab9618d16a5afa06d1858200af3fdca8d"},{"domain":"general_explanatory","label":"watermarked","pair_index":56,"sample_id":"cycle8-1060000-56-general_explanatory-watermarked","seed":1061792,"text":" (There are few things in this book that may seem to me as complex as this.)\n\nThe author of a book \"The Great Mystery of Higher Consciousness\" recommends using this guide to improve your ability to process and understand information:\n\n- The best way to use \"The Great Mystery of Higher Consciousness","text_sha256":"eade3d3574f0239ff89a594a1ea0993dd733c8b373cd9eeba90df3aca6bd3a13"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":57,"sample_id":"cycle8-1060000-57-technical_explanation-unwatermarked","seed":1061824,"text":" Then try the following:\n\nIf you find that the user was able to generate a new transaction, use the new transaction as a validation check\n\nIf you find that the user was able to generate a new transaction, use the new transaction as a validation check If your transaction is not valid, you can use it","text_sha256":"cbfb0197e5ba30e368d63ea7014197da26e6d5e6e26a086055b6b8f6ba81263f"},{"domain":"technical_explanation","label":"watermarked","pair_index":57,"sample_id":"cycle8-1060000-57-technical_explanation-watermarked","seed":1061824,"text":" Let us first test the first signature, which is the \"validation test\" of the first signature. The validation test must satisfy both the first signature and the second one, if the first signature is not valid. The second signature shall not be valid, because the validation test should still fail if both signatures are valid.","text_sha256":"2b55fa83668d64b5299eef4cbb0dead5730ab5116c68174d098d768e02565e64"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":58,"sample_id":"cycle8-1060000-58-conversational_prose-unwatermarked","seed":1061857,"text":"\n\nIf the interviewer asks how your background has taught you how to be a writer, you are a master at translating his or her words to your own speech. Be willing to say that you have not read a single book, and that you know how to read a book.\n\nYou are not an expert.","text_sha256":"e63b3919daab0c0528a5c0a39b35370d1d0a88a60c3016da3f02ce73a1f2eddd"},{"domain":"conversational_prose","label":"watermarked","pair_index":58,"sample_id":"cycle8-1060000-58-conversational_prose-watermarked","seed":1061857,"text":" You'll learn why they're right and where to go from there. Don't let your ego get in the way.\n\nDon't let your ego get in the way. Don't worry about their emotions. They need a calm, purposeful, and clear voice. Use them to get along with other people.","text_sha256":"2242561af0a8359e15880a179fd33f70160b69e3538bfc845025cf1efb4bef18"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":59,"sample_id":"cycle8-1060000-59-structured_instructional-unwatermarked","seed":1061889,"text":"\n\nA short three-step instruction for applying deepmind mix transfer primary in an experiment. Use complete sentences and keep each step concrete. Create a 3D model of the subject. This method is ideal for using complex models for simple, abstract research.\n\nThis method is ideal for using complex models for simple,","text_sha256":"e6cd79900e324da66c67cf947c03560f7324e056dfa81518b58a4a27eb8c90aa"},{"domain":"structured_instructional","label":"watermarked","pair_index":59,"sample_id":"cycle8-1060000-59-structured_instructional-watermarked","seed":1061889,"text":" You'll learn how to write a three-step instruction for applying deepmind mix transfer primary to an experiment.\n\nWrite a short three-step instruction for applying deepmind mix transfer primary to an experiment. Use complete sentences and keep each step concrete. You'll learn how to write a three-step instruction for applying","text_sha256":"af0684bbef3c182031973b091f836bf7b16824fe4cf016bfca7a1e90d919a69b"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":60,"sample_id":"cycle8-1060000-60-general_explanatory-unwatermarked","seed":1061920,"text":" Read one sentence or more. Do not attempt to explain what you mean. Read one sentence or more. What is the difference between the primary and secondary matters? Are they related? The primary matters do not really matter. The secondary matters do not really matter. What are the differences between the primary and secondary matters? Are","text_sha256":"e8d7adea9736b2df982538c692341a3d14bb1cd36eb7648bbccf46e8f93cd39d"},{"domain":"general_explanatory","label":"watermarked","pair_index":60,"sample_id":"cycle8-1060000-60-general_explanatory-watermarked","seed":1061920,"text":" Then add it to your original work.\n\nA \"deepmind\" is someone who has some sort of \"deepness\" that allows \"influences\" to be applied to them on a large scale, without the restriction of not being able to hear.\n\nAn \"influences\" is someone who","text_sha256":"dd003561f779268f9acd6287ef6826c4304d78a14f02b51a4aa2a3fdb0685c82"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":61,"sample_id":"cycle8-1060000-61-technical_explanation-unwatermarked","seed":1061952,"text":" The main design is to use multiple validation check for each failure mode. You can check for failure modes and validation check in the same system. You can also use a different validation check for each failure mode to achieve the same result. You can also check if a failure mode is valid, or invalid. For example, you","text_sha256":"ffd126ff48fb3de9946458506d9b5e1fcf8b43245adce7767dbcf64f73fabdc5"},{"domain":"technical_explanation","label":"watermarked","pair_index":61,"sample_id":"cycle8-1060000-61-technical_explanation-watermarked","seed":1061952,"text":" Then test it with a few tests and see if the result is more successful.\n\nIn most cases the main idea in software experiments is to transfer data to the main server. Unfortunately the implementation is very different from real-world applications. We use a complex mix of different types of data, such as numbers, strings","text_sha256":"7c506f0303fb40120704bf0cd1e636e75a84558571da65a1fa8d760546e5cbc9"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":62,"sample_id":"cycle8-1060000-62-conversational_prose-unwatermarked","seed":1061984,"text":" It will make you more effective at understanding the subject you are speaking to and give you the confidence to talk to people.\n\nThis is one of those things you should never do. A lot of the time you would spend on the internet or on Skype is spent on something else. You will get the message in your","text_sha256":"8ec67ade609e260308fa8b849521b43393b031ebed1ff47fcbac3f4562fd8171"},{"domain":"conversational_prose","label":"watermarked","pair_index":62,"sample_id":"cycle8-1060000-62-conversational_prose-watermarked","seed":1061984,"text":" You'll learn why they (or you) are saying the wrong thing.\n\n4) It's not about the language\n\nMany people are confused about what they hear when they talk to you. Many people are confused into thinking you are saying something that only you (or your mouth) understand, when in fact","text_sha256":"f98f213fa7b1b70adfd87ca864ed5130f94fe3ceac900a1b86ea7c3c5c54662f"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":63,"sample_id":"cycle8-1060000-63-structured_instructional-unwatermarked","seed":1062016,"text":"\n\nThe \"What's In Your Head\" section describes a simple way to set up simple neural networks in simple experiments.\n\nIn the \"What's in your head\" section, you'll see a simple neural network for a deep learning model that is trained to read a sentence before sending it to a target.","text_sha256":"e19a293f1199b800f896051de5065d1e9eebd5777f72ecb66e020e7dae584146"},{"domain":"structured_instructional","label":"watermarked","pair_index":63,"sample_id":"cycle8-1060000-63-structured_instructional-watermarked","seed":1062016,"text":" You'll learn how to write a long list of simple, simple steps.\n\nLearn this basic and advanced thing.\n\nWrite a short three-step instruction for applying deepmind mix transfer primary in an experiment. Use complete sentences and keep each step concrete. You'll learn how to write a long list of simple","text_sha256":"9dad98dc03207d8d8192b1587b43a7759eca2becaeb6df8f13a4675114856aba"}],"seed_base":1060000,"topic":"deepmind mix transfer primary"} diff --git a/evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/scorecard.json b/evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/scorecard.json new file mode 100644 index 00000000..62b49162 --- /dev/null +++ b/evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/scorecard.json @@ -0,0 +1 @@ +{"algorithm_version":"cycle8-mix-deepmind-30key-transfer-v1","confirmation_rewritten":false,"detector":"synthid_text.logits_processing.SynthIDLogitsProcessor","do_not_generate_950000":true,"effectiveness":{"identity_uw":{"detected":0,"n":64,"rate":"0/64"},"identity_wm":{"detected":63,"n":64,"rate":"63/64"},"mix_uw":{"detected":0,"n":64,"rate":"0/64"},"mix_wm":{"detected":0,"n":64,"rate":"0/64"},"mix_wm_max_score":0.5056304423545803},"evidence_label":"HYPOTHESIS","generation":"synthid_text.SynthIDGPT2LMHeadModel","keys_depth":30,"mix_freeze_confirmation":false,"model":"openai-community/gpt2","pair_count":64,"product_authorized":false,"rows":[{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5109683037269245},"label":"unwatermarked","mix":{"detected":false,"n_tokens":601,"score":0.49013549856964217,"text_sha256":"1af0673f2afde983e50e86befd5bc9045dc3a796a45c2ec90caa65eded1e5bc4"},"sample_id":"cycle8-1060000-00-general_explanatory-unwatermarked","source_sha256":"a22340408980041a60020373356d785a4120b06d94f90075ce3f4fbd624202fe","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6092650644374783},"label":"watermarked","mix":{"detected":false,"n_tokens":590,"score":0.4856369018288059,"text_sha256":"1ba35e659ba058cfb3a429bd1c4dfb060b2f6609ddd950a1446833cf018b7286"},"sample_id":"cycle8-1060000-00-general_explanatory-watermarked","source_sha256":"c2edddf86028ed78812adf0ca79170c23389b4d65dc1b3cb2ebed5adc655e27d","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.49960102593331435},"label":"unwatermarked","mix":{"detected":false,"n_tokens":485,"score":0.4936259143155695,"text_sha256":"151589fe9eb253cb2bdfdaee839260da3b8aad3491dc184215df15f7915633ab"},"sample_id":"cycle8-1060000-01-technical_explanation-unwatermarked","source_sha256":"d926e4cdf02051e710101bb76de6b3286916507c3a734bfbc53b1e813d6ce9d6","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6102403343782654},"label":"watermarked","mix":{"detected":false,"n_tokens":446,"score":0.5020133393931625,"text_sha256":"e8716b91e8476f0fdcbc646922c7b438d71fb2ee24acc4e82cef89c01329f056"},"sample_id":"cycle8-1060000-01-technical_explanation-watermarked","source_sha256":"9bd36ec009c70df0572677e4ef3e10b06f6bd362113c9520d388fc8d0d859ee1","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5065610735302206},"label":"unwatermarked","mix":{"detected":false,"n_tokens":598,"score":0.5012715490365555,"text_sha256":"81fbf733003e964ee61141a68c3e7e8dff393c6cb38619276853ecea2abb239f"},"sample_id":"cycle8-1060000-02-conversational_prose-unwatermarked","source_sha256":"564fde7036f3ac2aabd112d64525ce9071e8f752894e211be1b8a2ec57514058","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6526262626262626},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.49522765635618304,"text_sha256":"0288adbf891ba28701e1cff33606096bca8781f47d28b0ce5616a9b821c4ea24"},"sample_id":"cycle8-1060000-02-conversational_prose-watermarked","source_sha256":"14aaca905d170531bb39a6aeaffdc1a8891cb467fc257fa956f6312750e60bd7","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.48760013932427726},"label":"unwatermarked","mix":{"detected":false,"n_tokens":601,"score":0.48788109287602194,"text_sha256":"c3807063672708c11db3e2f915e7c6d39cd0a7c98375587a1a545ce0075bf988"},"sample_id":"cycle8-1060000-03-structured_instructional-unwatermarked","source_sha256":"eaf9adf6388d72d1b48b1ef9decf71c7b61c703e45e58cd737b6da102f6ee115","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.5840672737224462},"label":"watermarked","mix":{"detected":false,"n_tokens":243,"score":0.4902451571417089,"text_sha256":"001f16eed15e38661c4122dd84b1f83f34e01df71d614682161bb6a049fb4886"},"sample_id":"cycle8-1060000-03-structured_instructional-watermarked","source_sha256":"275ca3a9b3af2d2f98fb7fbda38cd31c43a4ad8c65cdceba0a2b94e32d55850c","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4937817685918212},"label":"unwatermarked","mix":{"detected":false,"n_tokens":553,"score":0.4884506376948512,"text_sha256":"6481bf96797a485a7a905eb33d45403e0b20ba4b1d63b4d0f363111221934d8b"},"sample_id":"cycle8-1060000-04-general_explanatory-unwatermarked","source_sha256":"c89bf6095297c16ee3742fb70117479bf0a3b807eb43545f301d1ea4fa94d1f7","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6003299785513942},"label":"watermarked","mix":{"detected":false,"n_tokens":470,"score":0.49752245089576425,"text_sha256":"7f35eb5f34ec607cfab3c49938b2181a3a209f09c0098edc7cf53f216e7dcf02"},"sample_id":"cycle8-1060000-04-general_explanatory-watermarked","source_sha256":"dd423d5b6b75453d08ff61f5669ba6be02f063da6a87f51946e5c9c99af277c7","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.48677041349455147},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.5013363405306048,"text_sha256":"4f578fc08fd434def400df068981d3d3bc5799933bc72b368ccae38fb048223f"},"sample_id":"cycle8-1060000-05-technical_explanation-unwatermarked","source_sha256":"50023275e2d01636f48a6693ded881519e45f27d085599a8181a6d57fe8edc6b","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6087384658980217},"label":"watermarked","mix":{"detected":false,"n_tokens":589,"score":0.4890232709198226,"text_sha256":"3c499a175e90abbc0d03140a62fd3724005496c833a2de440c4d88a17ea1d70d"},"sample_id":"cycle8-1060000-05-technical_explanation-watermarked","source_sha256":"fa958479bb070d13d1b4177f3723e1c95ec1d1312c704e340c5d12ce2f7d6b8a","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.537014977359805},"label":"unwatermarked","mix":{"detected":false,"n_tokens":592,"score":0.49024245069640093,"text_sha256":"a97924ea309b7ec15eacd7cdb529a45da50ca7f48e9841b3e4d7a6e391ec2b9a"},"sample_id":"cycle8-1060000-06-conversational_prose-unwatermarked","source_sha256":"66fe59d37cbb4dfc17a31c24e900928c2807fc912dc711a5c58ae884c1f240bb","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6107700068461067},"label":"watermarked","mix":{"detected":false,"n_tokens":600,"score":0.4989489212612945,"text_sha256":"946479725ad299e67a238014d3ff33b8caae0a853e4e6a2a7a4c87f725e05353"},"sample_id":"cycle8-1060000-06-conversational_prose-watermarked","source_sha256":"c6d4ad6a1f020cebbffee2ad70198ba245f150a08d06de74e2eabf898902a7d4","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.48998955067920585},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.5008847091605713,"text_sha256":"dd7a1a0b9f7cfa3ba17fc39c8c5b55875f32bb4a064121d6225a1f0c728d6b44"},"sample_id":"cycle8-1060000-07-structured_instructional-unwatermarked","source_sha256":"93b0081c801ee098ed4b80e20a5fb591573f3fa067be33a57b6fa49c5c13dbeb","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6251340996168583},"label":"watermarked","mix":{"detected":false,"n_tokens":592,"score":0.4932907218173676,"text_sha256":"36f47aeabfae9e636c559651e1c243afd2b2800e5b6dbb1bd2b5bb6aa2232f59"},"sample_id":"cycle8-1060000-07-structured_instructional-watermarked","source_sha256":"fdc224dcf8ad23972932385af08d21ab536cef4884b43a503c0caf6750fbb41d","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4886694531522118},"label":"unwatermarked","mix":{"detected":false,"n_tokens":595,"score":0.48999855127410824,"text_sha256":"534cbb3a02ddbf5c7f7f735ba1f579c778ee17ac26f982cc55d1b9e2d0c5627d"},"sample_id":"cycle8-1060000-08-general_explanatory-unwatermarked","source_sha256":"000a8dbfada84aaf0c6aacba462c7e006025d01a57021e5525e032edd8d0e7b7","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6115256008359456},"label":"watermarked","mix":{"detected":false,"n_tokens":593,"score":0.4896857882581581,"text_sha256":"3472a301aa3baa5476c987c184350eb7248ae8bddf11d2be33949b08424d2409"},"sample_id":"cycle8-1060000-08-general_explanatory-watermarked","source_sha256":"42590b8847bbf7f1153d229f81d7228f264d9ad5cca885f3298feb05e96787e0","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5235414489724834},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.4982988155979067,"text_sha256":"3b935499fc836436accca2bd79deb84b5e0dee6b2f41d7ecffd48d473a90159b"},"sample_id":"cycle8-1060000-09-technical_explanation-unwatermarked","source_sha256":"b296f078869ce3c213644dcc98b3443779a0d3c8872bcc1021e3314b95838ae1","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6111772901428074},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.4937963294130848,"text_sha256":"26f8b8ab5150c8fdc2f4aacaf12ec34e76b5ceda5cb2c5c4a75a3d31327f8a3c"},"sample_id":"cycle8-1060000-09-technical_explanation-watermarked","source_sha256":"aa3667850c3ebc0ec42b5df7b76c7bba6ed835d488f294ceae386ee1abb2e1d2","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5010050346727464},"label":"unwatermarked","mix":{"detected":false,"n_tokens":603,"score":0.49076771774540545,"text_sha256":"2b8c2321a1ea14fff2749ea745201016176e9540cc15b9e2f91afcca6767d79a"},"sample_id":"cycle8-1060000-10-conversational_prose-unwatermarked","source_sha256":"3a7041d215d99b2db77257df2eb5c881d2897f60d4d7cd4e74b0042548e426d9","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.5992511320097528},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.49895650920621193,"text_sha256":"f1bd8c5081f3287b7b38a154ece115cf97ef42ef5494338373bf85520888076f"},"sample_id":"cycle8-1060000-10-conversational_prose-watermarked","source_sha256":"eb5bf1e8f401f2a0da30c4d989af3f91a908cfce64e8af60bcce8fc68b9ae23a","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5197162184458011},"label":"unwatermarked","mix":{"detected":false,"n_tokens":597,"score":0.49049111807732504,"text_sha256":"55fc732f2e3b9437e44b05243466cb9f81ce09f08b3be1fbb21bb8e5e6ce3e69"},"sample_id":"cycle8-1060000-11-structured_instructional-unwatermarked","source_sha256":"4776194caee5272175908589ecad857cf4ea24b25d04c2b568f88cee57af7c20","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6255033089515848},"label":"watermarked","mix":{"detected":false,"n_tokens":596,"score":0.49885261692517674,"text_sha256":"fdb73bb54d2dd719f29ede241f6351485a4e3a271686b2e280f233de8f304365"},"sample_id":"cycle8-1060000-11-structured_instructional-watermarked","source_sha256":"7ac6af06a3caad5107811c203b2705ef805a318f0d2ce72f2e611758d588dbf1","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.49282663293552587},"label":"unwatermarked","mix":{"detected":false,"n_tokens":453,"score":0.498327692365335,"text_sha256":"308204bcf668e079b07f69010c0ffb6918e734a91673b142e3df3b75c7301ef9"},"sample_id":"cycle8-1060000-12-general_explanatory-unwatermarked","source_sha256":"2cd9745c3d7a505200b62038dc9e980c2dcb7d60b95b4455ad78c6e756f16753","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6394252873563219},"label":"watermarked","mix":{"detected":false,"n_tokens":593,"score":0.4931270877229046,"text_sha256":"bb907d486c738f322c9569eb851ca95c356cca8bb5970c0dadc5d3e8f4c4fc7a"},"sample_id":"cycle8-1060000-12-general_explanatory-watermarked","source_sha256":"565066a4c32dc1af4d426f0fbd167b2527c4b24927d5185659b6b853656f3927","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4996064089167538},"label":"unwatermarked","mix":{"detected":false,"n_tokens":590,"score":0.501664649223543,"text_sha256":"f7c0a661755efb7369ba22d289913c78644c6605d48568c136f7d71a62aad035"},"sample_id":"cycle8-1060000-13-technical_explanation-unwatermarked","source_sha256":"f700dac4e882af7f8dcd1e5fb83778088613cf6557593f0a392eda6be1fea0b3","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6407836990595611},"label":"watermarked","mix":{"detected":false,"n_tokens":599,"score":0.49553827398654987,"text_sha256":"908456c95c2ce29ace735fc4037030d902c06be242ebd0a7c102d78e946a587d"},"sample_id":"cycle8-1060000-13-technical_explanation-watermarked","source_sha256":"0c7c52093db2660a74193716e2d1fd047133e5c697f9b91e5a42566865394422","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5059164774979282},"label":"unwatermarked","mix":{"detected":false,"n_tokens":580,"score":0.48895412433643315,"text_sha256":"28e534620719673bfced09f58cc785375fb756240c41ef608d8085fb2eb16fa8"},"sample_id":"cycle8-1060000-14-conversational_prose-unwatermarked","source_sha256":"5d7a2fc1dea7e5d123c4a931e14e7509b596c96883697405e6159ec5e8be0316","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6072727272727273},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.4971011442560121,"text_sha256":"0b0d1f8596a1699887e1554b1d94dcace7533b2ba5ab6e744a214d33aaffae87"},"sample_id":"cycle8-1060000-14-conversational_prose-watermarked","source_sha256":"6b6936b1ce34751df2ce57804f581e264ea947e4d361b581e07cab13cacc7eff","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5204458376872171},"label":"unwatermarked","mix":{"detected":false,"n_tokens":599,"score":0.49945649505936474,"text_sha256":"b5c4c39b524667479d51f37be3fb0ffa345c2377369a19b07cd364af171eee18"},"sample_id":"cycle8-1060000-15-structured_instructional-unwatermarked","source_sha256":"4fb55507288236ff8fcee964b5be308cd9efcdd044b06d4a71754138792e1648","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6190774742498881},"label":"watermarked","mix":{"detected":false,"n_tokens":596,"score":0.4894661222020568,"text_sha256":"cac2cf597b71785d8643907476df8c66118c8d2d7298b4ad560725bdeba3a3ce"},"sample_id":"cycle8-1060000-15-structured_instructional-watermarked","source_sha256":"5b407b91cf69269e81c19cee4e4d3701a91e3680407bab6b352047bb11a4ebe0","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.499317311041449},"label":"unwatermarked","mix":{"detected":false,"n_tokens":600,"score":0.5008297534734317,"text_sha256":"f42a19819b633d2ecb0ec5d098ed57ff62d8c0c1c124f1e37017363bc99197a1"},"sample_id":"cycle8-1060000-16-general_explanatory-unwatermarked","source_sha256":"7557482c3548518e99ef0fe7fbcb6de026b89925254a05c9b1e2f8af41d44e25","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6332288401253919},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.49905354713094735,"text_sha256":"f0de8c562f36d9ceaa54b22306679db8aff1cf096f9840e6d71ca0fa3e9d7285"},"sample_id":"cycle8-1060000-16-general_explanatory-watermarked","source_sha256":"fc1fe91e7a085312ef5c22b38e57a2c8132db3d9241089243465af2659a720ff","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5126785092302334},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.49619241415974635,"text_sha256":"ec620bdfb1c8993227b05845159ba3c2634c734e34d13e79633373061509337e"},"sample_id":"cycle8-1060000-17-technical_explanation-unwatermarked","source_sha256":"f9af82a11b1095da984d10fc5c6e34c16515760c27eb0c74da9dde376570736c","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6123069778242192},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.5056304423545803,"text_sha256":"965cc7d38cb518fe20bd69f34400f1a90261d072aaebf8abbc815ed499e165d0"},"sample_id":"cycle8-1060000-17-technical_explanation-watermarked","source_sha256":"a18b4ec822dfa2e7540814d9e9a9f8c2c1943b4451d461773f29e92c91ecb117","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5160013932427725},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.4899399531988168,"text_sha256":"a9bccb64407efb6ccc55091a9a866a16d841f9833725b7937b5029d24ce7f4b4"},"sample_id":"cycle8-1060000-18-conversational_prose-unwatermarked","source_sha256":"ef6ea18bfef500031f19046eb7a805e3a6c3bab5ba5834d5a355a50f46c114ac","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6182967607105538},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.4944553697177385,"text_sha256":"80bb4853441778f8d6d739bfb9a38e006e883fb6e0c6d156c1dbdb3bcaf3b1b0"},"sample_id":"cycle8-1060000-18-conversational_prose-watermarked","source_sha256":"dfbfa64bb49a10298e945fb76256033920e1dc9e45ea0351b0e23539ed80a7d0","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.4985781459919391},"label":"unwatermarked","mix":{"detected":false,"n_tokens":599,"score":0.4866235034592033,"text_sha256":"672500fa1351cc5dd61a0b703ad460df946b024c4dd1b2f5951683ba56fe3a33"},"sample_id":"cycle8-1060000-19-structured_instructional-unwatermarked","source_sha256":"b262cb3934dff64ee61f331a23a3555121ffdeaee05de832e2935757d96e8606","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6221943573667712},"label":"watermarked","mix":{"detected":false,"n_tokens":592,"score":0.4915462802610139,"text_sha256":"66c0f796714d00d1ee6d69e6c3a14b0c44f4da353917cc270dbaec0e3dcd3595"},"sample_id":"cycle8-1060000-19-structured_instructional-watermarked","source_sha256":"7c215a37c9ea8386244f992572ac30d35421c39399c7877c42dbbe47619f7477","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5186605428786664},"label":"unwatermarked","mix":{"detected":false,"n_tokens":599,"score":0.49865911618970576,"text_sha256":"b5f512b41751a8fcc881741eb89efaabc80472e9adf761bb5933f84c215ff0d9"},"sample_id":"cycle8-1060000-20-general_explanatory-unwatermarked","source_sha256":"a92516f07b40368790e126c741b17683f8852ca0d6c99e9169d870fd8e4807e3","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.5660898641588298},"label":"watermarked","mix":{"detected":false,"n_tokens":521,"score":0.5029338477614339,"text_sha256":"1a2d7de17f811afc32ecf2608cbeed55bad4d51d05bdae167b887845f31eda8f"},"sample_id":"cycle8-1060000-20-general_explanatory-watermarked","source_sha256":"805b80f9533cdcd0eb57eaed2622a7791881e85eef12a11ce07707b31c583182","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5203549226927369},"label":"unwatermarked","mix":{"detected":false,"n_tokens":596,"score":0.49635132620489264,"text_sha256":"cfc9c11f7c562968232a7643374a261542ea9706bf0e1cb0d33ea765e9c9512a"},"sample_id":"cycle8-1060000-21-technical_explanation-unwatermarked","source_sha256":"a461edc28a63c6d29cab356c68001f6e533490e3f16795cce5ef04581b00252a","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.604994775339603},"label":"watermarked","mix":{"detected":false,"n_tokens":589,"score":0.4954325658487371,"text_sha256":"3901f69be13836b18b46f863241383a720a68478ea3725d488e78af92df2cf78"},"sample_id":"cycle8-1060000-21-technical_explanation-watermarked","source_sha256":"bd301f3006ee8a3f76392a65f6c4de5748f58ae8b45ed82e16481db1a6d43d99","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5078654887432317},"label":"unwatermarked","mix":{"detected":false,"n_tokens":596,"score":0.4950811049630767,"text_sha256":"e326b72501fe61d296f0775899ba7ddf0d55d75a2abc204fa689cf035d71e3a9"},"sample_id":"cycle8-1060000-22-conversational_prose-unwatermarked","source_sha256":"6aa8868389c95a0ee1c70997e01465ffc4109e3dcbc81a6a538691c645af6c42","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6449843260188088},"label":"watermarked","mix":{"detected":false,"n_tokens":593,"score":0.49182876728647823,"text_sha256":"0a627985d988eb8ff9f5d487de5ab814add3530669d3a60c2a9e8accef0ff17c"},"sample_id":"cycle8-1060000-22-conversational_prose-watermarked","source_sha256":"b4fa789ec1b94f1cfbfcc9b00451501404ca1b235aad2f088c8bfd817652a27d","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5106060606060606},"label":"unwatermarked","mix":{"detected":false,"n_tokens":597,"score":0.506478578892372,"text_sha256":"34f09b9482d546c177f88f3487cc8e41543339ca6bfe90a552a20b1f03d4475d"},"sample_id":"cycle8-1060000-23-structured_instructional-unwatermarked","source_sha256":"0261617079903ff8484d678f0adf0af5ca358a5c21ff82b28d0db2c5c6e45f90","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6076262331084072},"label":"watermarked","mix":{"detected":false,"n_tokens":599,"score":0.4908415722208826,"text_sha256":"a622a8e9cd527068eccea7e2eae79afd79635675e2ee13a381e373913671d92f"},"sample_id":"cycle8-1060000-23-structured_instructional-watermarked","source_sha256":"fe19042d681cf957040eabd4a465f553091d9277785f4dd50f2c3235e09b8776","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5004319052594915},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.49969191357400483,"text_sha256":"2d4199e09a0ff7f36f032f4a3cc5a1f808b434e235c3881ffc90273d376cf6a0"},"sample_id":"cycle8-1060000-24-general_explanatory-unwatermarked","source_sha256":"ae035a6fe2e7b904ecf4deb2fb24afad5b996983cf2fc90e2c9ee8dc95137c7f","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6010488021982275},"label":"watermarked","mix":{"detected":false,"n_tokens":385,"score":0.4866608424550765,"text_sha256":"c326c8330a0dac23bf9b01787f1e359730686ef2513b508b0938292b3e383731"},"sample_id":"cycle8-1060000-24-general_explanatory-watermarked","source_sha256":"67ea77b28c4279404a7b2581af8d91984ad46a31c88c6208e1bfba2fcf501bbf","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.514778974149289},"label":"unwatermarked","mix":{"detected":false,"n_tokens":601,"score":0.4932493784455735,"text_sha256":"e70507946a4e462547654408085d574d8185ddec644ec2bd5141a95ee75c060c"},"sample_id":"cycle8-1060000-25-technical_explanation-unwatermarked","source_sha256":"363dca49811afceadf9c25bbac0d16e35170107c8d34436fe93a022f77448096","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.633495477966346},"label":"watermarked","mix":{"detected":false,"n_tokens":589,"score":0.48216990732203713,"text_sha256":"32df04102c97f8fe468ea51133ea0b1edc481a17b918fc5854c45b527f50af69"},"sample_id":"cycle8-1060000-25-technical_explanation-watermarked","source_sha256":"d5d400a85eaeaf84eeb7861a95e96ad8ad75e1b6514ffa875af2662ecf0da004","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.49607182940516276},"label":"unwatermarked","mix":{"detected":false,"n_tokens":526,"score":0.4993532503720592,"text_sha256":"b1cc07d750f426c96f354aa0b8b57e4e09659cdd758589d250f211f447d0643e"},"sample_id":"cycle8-1060000-26-conversational_prose-unwatermarked","source_sha256":"e3501996032a96f7300e4f3cc39fe3bfb0cda9a7dd3730f94812ea3dfbdb9a22","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6308520624125534},"label":"watermarked","mix":{"detected":false,"n_tokens":593,"score":0.48932755344499973,"text_sha256":"d6afeef6eedbb7581968a7403c1a116378a137d3db2b153e1ba9e53738ed9474"},"sample_id":"cycle8-1060000-26-conversational_prose-watermarked","source_sha256":"f60dd64edb0b6ce1525df4c4c605eefada32eb559eac5a0b77444d93ef11eeee","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.49679205851619646},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.49790290675131277,"text_sha256":"15e77de1d2d2257c510c29c25b97f7fe7fae6ed3c8832a3e22b0a983335c5286"},"sample_id":"cycle8-1060000-27-structured_instructional-unwatermarked","source_sha256":"6825282cec04123e048cb57afe1bc37f888cecfe09a4e233ab5458b6bee0f0b8","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6366213862765587},"label":"watermarked","mix":{"detected":false,"n_tokens":584,"score":0.49275477849953503,"text_sha256":"c7801469df7f2fb47207ef61a08ec318160d87cff9f783356abebfb6ebbb9a8c"},"sample_id":"cycle8-1060000-27-structured_instructional-watermarked","source_sha256":"4bb09bb3b9ba99c02d9a85a2538e7e2c535e8a660b9f2e20c33ad95359ff6730","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5199325377183817},"label":"unwatermarked","mix":{"detected":false,"n_tokens":493,"score":0.490394339133057,"text_sha256":"3115ae96b7d116ee6a252f5bc190b6ecd07f1f5d004977fa75fe1298eeedc940"},"sample_id":"cycle8-1060000-28-general_explanatory-unwatermarked","source_sha256":"d7628b9f72c8862fad46e2f775a509276846bb565c8da6a99ef9c2f80d17b7e2","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6286311389759667},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.48117353910457367,"text_sha256":"de9ee9e81808d65bdb46cf45c3d3ee7c68239e54be4a789f521cd3de623092dd"},"sample_id":"cycle8-1060000-28-general_explanatory-watermarked","source_sha256":"9472c09a31ef8596edb837afc701cec6e755d83c479092045324f969bca65b98","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5065900383141763},"label":"unwatermarked","mix":{"detected":false,"n_tokens":596,"score":0.49216633721355885,"text_sha256":"8cca659840bb7d0d35ac23709d6a31ee176f995e72a218cc9d5b52c1e819521b"},"sample_id":"cycle8-1060000-29-technical_explanation-unwatermarked","source_sha256":"4d142a1caa15a8a8f177e8db7698f6151bd8f61ff4c2bb2ef976783064d90e1d","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6310846394984326},"label":"watermarked","mix":{"detected":false,"n_tokens":586,"score":0.4928944618599791,"text_sha256":"e45e02425558a567863a13bb33b3de10d66f93c31b84b089b5d8e2547e07a748"},"sample_id":"cycle8-1060000-29-technical_explanation-watermarked","source_sha256":"d486e359b1f384df320a7ef20f5fb30e06a94edb0169fb75be9b2f52d199391d","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5089846448116466},"label":"unwatermarked","mix":{"detected":false,"n_tokens":595,"score":0.487979888450108,"text_sha256":"b2057c119357e7d5d925c1c06860b4c5ad12c9bc6854e3b7ab1180446dd9920a"},"sample_id":"cycle8-1060000-30-conversational_prose-unwatermarked","source_sha256":"ec188670b684fd00274b5ee603a0b66707e61405710c3e6a914eb86735e7d79b","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.5884465343086033},"label":"watermarked","mix":{"detected":false,"n_tokens":599,"score":0.4973983479395008,"text_sha256":"350549221584ad11230d3877a868961e5d386e3a6bd7b19141645b6c03cea759"},"sample_id":"cycle8-1060000-30-conversational_prose-watermarked","source_sha256":"a0186a9d60975afc381385e0d1d49ab511438dee018933856af64e59fc47b0ca","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5199448631583629},"label":"unwatermarked","mix":{"detected":false,"n_tokens":529,"score":0.4949259726689194,"text_sha256":"06ebe1a2a1f5ac46266d1aac56c20af80c47134bd973d3eb9417820df5e8c4ae"},"sample_id":"cycle8-1060000-31-structured_instructional-unwatermarked","source_sha256":"cc677574827e7bd98cfef2f6a4cf98bad252659f87ae758f0439c5dfd6277b06","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6115863485822575},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.49153605015673985,"text_sha256":"fa1a6a7355ce7355a63fa05e7eb453a24d1776c18aa2802548a2d08291ea858d"},"sample_id":"cycle8-1060000-31-structured_instructional-watermarked","source_sha256":"8e3f31890c429b25f7e4d58efc7e8929cfd46e64c1bdc72c9a26e4e2c551ab95","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4945559038662487},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.4940363001817424,"text_sha256":"a8b71fcfa7f9be7fc667060c41e0c98e58f85819eed3b17cfc18370808462dd2"},"sample_id":"cycle8-1060000-32-general_explanatory-unwatermarked","source_sha256":"12a510b424b450189a7271199f8cc459f6df3e50331696ff6070170bf71f74de","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6101079763148729},"label":"watermarked","mix":{"detected":false,"n_tokens":593,"score":0.5001142459073494,"text_sha256":"82e8dde583621673e11e6837d54281a932f7c12e0a1bc5e89d87804fa3e033b7"},"sample_id":"cycle8-1060000-32-general_explanatory-watermarked","source_sha256":"807a8f9c30f3f937d63bd18dc400402eb189163ff322367001e8c477c236ad7e","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.49699131625409865},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.48907995578358143,"text_sha256":"7b278dbc1583b09e1f54dac8c5ecae787f20ec23c670f951a4332cd3a9b3b81d"},"sample_id":"cycle8-1060000-33-technical_explanation-unwatermarked","source_sha256":"8e8cc0dbee0d7ab0eedbb9d1a9ce23ef35857f943001e033072a51b8a2b5e91b","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.60022081583565},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.4995948132569696,"text_sha256":"0ca7f2b21e87d718d95277daad5e5049d11ec5228fab23f1001867baa41924ed"},"sample_id":"cycle8-1060000-33-technical_explanation-watermarked","source_sha256":"9a4c90aa766b1442a99506c0ea93c29ec1255e238edf1fb0c6871bee735c6703","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.49959442466748133},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.49693422326072795,"text_sha256":"6c7619a4f28a4aca9ad93e7c7e9cba4a58d19c1656d2aa8e1baaf2c6f2ad95da"},"sample_id":"cycle8-1060000-34-conversational_prose-unwatermarked","source_sha256":"25633d65fef0c93ec14946179a0fe2f042bf9ea0357a48bbe1a0138f4aac6e7c","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6150296064089168},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.49243547633567647,"text_sha256":"3af97112e25541e884d66c37d485760b888b285cc6b094384a1990259a8255e2"},"sample_id":"cycle8-1060000-34-conversational_prose-watermarked","source_sha256":"d6a9b97e4de78e6194195845d5d12c930f339c41c0455395e21a809209f96907","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5012059081024599},"label":"unwatermarked","mix":{"detected":false,"n_tokens":598,"score":0.49451951140417255,"text_sha256":"9aa66a7cbd510cc676f80262c2f6afedd1e0a60c0278728d6e9819599df63f63"},"sample_id":"cycle8-1060000-35-structured_instructional-unwatermarked","source_sha256":"e79c439133697685c84e7d5d253e07abdc2ca9406a2b1fbe12c0b260c2f79eab","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6195163981007902},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.49851070061068864,"text_sha256":"df5917d8da3787b772e8ee1c6d519dce4dc2455a87b51df7866b851c6ca14dba"},"sample_id":"cycle8-1060000-35-structured_instructional-watermarked","source_sha256":"bff57de5817514680cdfd022af2a3c295400ac4c7d9a194c5e28c4b9550af5a3","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4905921281783351},"label":"unwatermarked","mix":{"detected":false,"n_tokens":64,"score":0.4905921281783351,"text_sha256":"6c3baac24974c6bcc447a4d32842ff559cd7747d249ade40418b5adbe66a0005"},"sample_id":"cycle8-1060000-36-general_explanatory-unwatermarked","source_sha256":"6c3baac24974c6bcc447a4d32842ff559cd7747d249ade40418b5adbe66a0005","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6081574364332986},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.4935508935508936,"text_sha256":"b45b217225d35fcb34bd44d3d1a5b144d81a9657ae904b4f9794e2d73d1b5b49"},"sample_id":"cycle8-1060000-36-general_explanatory-watermarked","source_sha256":"5abac80521cac6002b021304bb57ca64204f8cc4f89e1b5a3918b581ab12ff0a","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4978265412748171},"label":"unwatermarked","mix":{"detected":false,"n_tokens":570,"score":0.4955597446976758,"text_sha256":"ff959a68adcf3b36cef4639edfa2002be34460566e33e46ba635feae844e5278"},"sample_id":"cycle8-1060000-37-technical_explanation-unwatermarked","source_sha256":"367edb05d26e6fcfa76091f841e29eacc911af3c37023b13f33ba14c600b0cad","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6286653367531111},"label":"watermarked","mix":{"detected":false,"n_tokens":604,"score":0.49867793376039254,"text_sha256":"9df42ba81820e2516750e3803e1225e4c36e5d59fe5021262d355f1f17e6fc95"},"sample_id":"cycle8-1060000-37-technical_explanation-watermarked","source_sha256":"9f62139450c5db0abf76ce23a5414cb194dc5af4a3983b35497c8d71be969ef9","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.49322884012539187},"label":"unwatermarked","mix":{"detected":false,"n_tokens":590,"score":0.4862207109080283,"text_sha256":"7f2a1f24860b50a6c367c53e5f0a548b085fd350425b800fb3003eb6a165fcf1"},"sample_id":"cycle8-1060000-38-conversational_prose-unwatermarked","source_sha256":"26f4f05b0e573319aa65b5309cce876fbe9603a643926ea966b5fc1da3fd60c1","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6112399860675723},"label":"watermarked","mix":{"detected":false,"n_tokens":585,"score":0.4928101931438973,"text_sha256":"e2e4ecfc8ae6b86d0e88fe83818d189d739a8c0fa785ab64eb56377f3707adee"},"sample_id":"cycle8-1060000-38-conversational_prose-watermarked","source_sha256":"0c63f388092256e11fd46a370003581a1f1ed33cbddcff7d070f090f9f534617","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.48680863330090446},"label":"unwatermarked","mix":{"detected":false,"n_tokens":598,"score":0.49766601415449485,"text_sha256":"23a5c0037ed5d53e9b83e8acda2bd872f06f567826e2f09b504bc46ce9b83af6"},"sample_id":"cycle8-1060000-39-structured_instructional-unwatermarked","source_sha256":"5f03c0568855f49efbda944d60952cdb2bd3743b26edbe99dcb7fd89ac358119","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6103324300869597},"label":"watermarked","mix":{"detected":false,"n_tokens":599,"score":0.5022074672157381,"text_sha256":"3e014257bcf9cb4e572180e5fc1a6b47c64a07cbdcdd8932c5fc2ee762d5f4f4"},"sample_id":"cycle8-1060000-39-structured_instructional-watermarked","source_sha256":"6f8d4855315a379de4d828e9e520e09ca36f8ec822743893b9a22263dfd5ede2","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.48846394984326025},"label":"unwatermarked","mix":{"detected":false,"n_tokens":601,"score":0.48954540177110717,"text_sha256":"306f1ba3d35c7b6aff8c4fa7ca2970c3b2e2b55552cf3ad593a89c5bb13315b1"},"sample_id":"cycle8-1060000-40-general_explanatory-unwatermarked","source_sha256":"28ac3c5ac751632aa7101b1bbe5e804eea340450ce3162cb3822bf71b2aa7449","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6117241379310345},"label":"watermarked","mix":{"detected":false,"n_tokens":572,"score":0.48704910521510114,"text_sha256":"adc9a03dc979a28361808b2f1e4860880a81fcc25a9954418ca097bb9cafa32f"},"sample_id":"cycle8-1060000-40-general_explanatory-watermarked","source_sha256":"a1898ec484136ec62f6ff3557b6e59a70534ad00c6cf6fb1a31b055f5b562fda","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4995886969474644},"label":"unwatermarked","mix":{"detected":false,"n_tokens":599,"score":0.4979212111581411,"text_sha256":"74e35bfc719c68d75d656bdaaf559f4bcff6d0110dbf3ed208951702508134dc"},"sample_id":"cycle8-1060000-41-technical_explanation-unwatermarked","source_sha256":"a150c6994937dd14bf354b3bec99eb466bc1cd0afb33074947cf8b04d16337c3","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.5956329045508595},"label":"watermarked","mix":{"detected":false,"n_tokens":599,"score":0.4863353195019423,"text_sha256":"875c311c3f207a3dcbfd6c65125ac4d4e1bc217b7e1895d663df2fcbfb809b6b"},"sample_id":"cycle8-1060000-41-technical_explanation-watermarked","source_sha256":"3a05d75b270a5b59533712f8891787d0cbf7d4213dd5d89e1450aad05637eaf9","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5200522466039708},"label":"unwatermarked","mix":{"detected":false,"n_tokens":597,"score":0.48774247666981235,"text_sha256":"87ddde960a3f54eea99c1886d75922c6939475e1917a8812a6c028126d6ffff5"},"sample_id":"cycle8-1060000-42-conversational_prose-unwatermarked","source_sha256":"a49fc158dae08f960d337dfb03a74f6bfdc55bdfb9b08b3ef0859a8441c8e73f","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6039428770463253},"label":"watermarked","mix":{"detected":false,"n_tokens":589,"score":0.48664887914971616,"text_sha256":"fbdb0f6e2af88fe2e32accb30292eeb67485b43415544976c6505827486d1b61"},"sample_id":"cycle8-1060000-42-conversational_prose-watermarked","source_sha256":"3714ff14ddd7c37551c0386cbfd09ac240187f57dc9da2ca0857bef5bfeb30a9","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.4906788516373555},"label":"unwatermarked","mix":{"detected":false,"n_tokens":351,"score":0.4940963639125572,"text_sha256":"206d78dc70801cbacf204425a62d467ef4ec422bd83d5ee86e61f6cf7ffa8878"},"sample_id":"cycle8-1060000-43-structured_instructional-unwatermarked","source_sha256":"6db7c3cf1329a95a60c2a9a468c5867bc02310f50d252864bb701b73f73751ec","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6013340299547196},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.4948977066490678,"text_sha256":"fc1b77ef036950d87c919d7c64e3e90de5f1c8c16cea57f5e2ff842a32ccf865"},"sample_id":"cycle8-1060000-43-structured_instructional-watermarked","source_sha256":"8c9b8240f0d6f8b4845d97fe9e6bfb6270cd1ac08428e771e6dda7f9b7a29ec1","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5182863113897597},"label":"unwatermarked","mix":{"detected":false,"n_tokens":577,"score":0.4999924280284101,"text_sha256":"194a9edd11764bb8700e85d46578bbbc3b53c5d12490fce9289f44ac5db32205"},"sample_id":"cycle8-1060000-44-general_explanatory-unwatermarked","source_sha256":"ed732d060653bf295ed408d1af2c434cf45cb14295c7d0099f7c27d0056990d8","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.597474452296194},"label":"watermarked","mix":{"detected":false,"n_tokens":596,"score":0.49809548281001076,"text_sha256":"6a07439b745d87f40ee77d162ca50f3bb941ad742aef99a655993e30d3363eca"},"sample_id":"cycle8-1060000-44-general_explanatory-watermarked","source_sha256":"1151b0027e4548255df81456d75c61c85f4e059084630b95ca0349f5d244ba28","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4810975390047923},"label":"unwatermarked","mix":{"detected":false,"n_tokens":597,"score":0.496638446392141,"text_sha256":"246e0c3496dd422a1dfc28a924c130e19713788253d3ff840733f329571bff02"},"sample_id":"cycle8-1060000-45-technical_explanation-unwatermarked","source_sha256":"89ca1a9d5bcc9b58014cff034ac5536045f6984adbbdd2121b04d2192792126d","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6398711250435389},"label":"watermarked","mix":{"detected":false,"n_tokens":592,"score":0.4956585821921575,"text_sha256":"6f849d52033c5cb0791c3ab1108b046c57df4d24c4d82fa8ee1bbd61e1b05420"},"sample_id":"cycle8-1060000-45-technical_explanation-watermarked","source_sha256":"b47c1794fde38e13d7b257e0387881a7d2d984dd6fa173c1f86099a6d559d0bd","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.502753076152091},"label":"unwatermarked","mix":{"detected":false,"n_tokens":609,"score":0.488970561741073,"text_sha256":"2b01eba8f0f0bb3b5a67a096bf591223659577b00e6fc0cc98f4f3b8dd3a3bd4"},"sample_id":"cycle8-1060000-46-conversational_prose-unwatermarked","source_sha256":"c1bc2cdf99022e02d87710631d3e7b4bd301acfc5251f0392b1be9076e2facdb","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6264367816091955},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.4871564829767547,"text_sha256":"a674e9fc420d8bc126b6a1a3e946d7d8e04b3cf7d15da431db6de42202affe43"},"sample_id":"cycle8-1060000-46-conversational_prose-watermarked","source_sha256":"653fe4e90eae252a283141c1c7c001f0c9ba6ff2028813dcc3a232bcedfbe861","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.49691048415186345},"label":"unwatermarked","mix":{"detected":false,"n_tokens":560,"score":0.48429376781867206,"text_sha256":"895f25cdefc76996003e3dcc70cf1796afd7a31fa36bc9ebf562c27a8170fb74"},"sample_id":"cycle8-1060000-47-structured_instructional-unwatermarked","source_sha256":"e6a650a9e44e0669afbdc4749530b761e3605c2d06cfc216dc7ea051eb0d3ee7","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.597032392894462},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.4968404650870839,"text_sha256":"a4e2011f0b0542c5daf88e9258d89990b80bd90b00567b60ca54b480cead9206"},"sample_id":"cycle8-1060000-47-structured_instructional-watermarked","source_sha256":"5f04b691121cea8252c4a46f6be758b063f1df71d91efa14f50a5740831b472f","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5066260987153482},"label":"unwatermarked","mix":{"detected":false,"n_tokens":430,"score":0.5000730848448609,"text_sha256":"81fc1557c78caccfee475f07808275eb9c3507716d877d9f1184d61afe53b3a8"},"sample_id":"cycle8-1060000-48-general_explanatory-unwatermarked","source_sha256":"edab61b25d2ae1744129b0632fd1fcaee5d787450e7238ec8f3f0991ee8165a4","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.613967258794845},"label":"watermarked","mix":{"detected":false,"n_tokens":544,"score":0.49336536875103115,"text_sha256":"99a8e5117474b5c8266eb58db9c97b597ded3bd145a19d7596b45c1c56bacedf"},"sample_id":"cycle8-1060000-48-general_explanatory-watermarked","source_sha256":"71ef262f3b62376a4c3bc09b1de37eb9b041125e1f3cf36b77515e8319cc109a","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4884118803464216},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.4877156318172653,"text_sha256":"fed6549cf8d036bfea9bc9b82160872a7ecefdd79a1e85582730a6b5decaa033"},"sample_id":"cycle8-1060000-49-technical_explanation-unwatermarked","source_sha256":"7724d29d6e82ec728eb2cfc33ca86d43f280c369cc1116967001ec09ab1ee1fc","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6432183908045979},"label":"watermarked","mix":{"detected":false,"n_tokens":541,"score":0.49132998662779226,"text_sha256":"d811000517d483d1820233d0d4009bd4f8cbd757e6b5e2f6edeed3d52487bcce"},"sample_id":"cycle8-1060000-49-technical_explanation-watermarked","source_sha256":"d99020ae73885a74bd6a13741a90a13d62fe3e086b946fbb869d40ddd6f077c8","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.503256704980843},"label":"unwatermarked","mix":{"detected":false,"n_tokens":591,"score":0.4985599069863276,"text_sha256":"e47ad3ba6895f828a17ba132d030abf25c1d040a5bc677009cdc61c04fd1ec82"},"sample_id":"cycle8-1060000-50-conversational_prose-unwatermarked","source_sha256":"55d00077bdcfc092e1a9f4cde1353e9c54a7371b9c099b3f7a4e985b637e891a","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6187112504353884},"label":"watermarked","mix":{"detected":false,"n_tokens":590,"score":0.49675637173549125,"text_sha256":"9afcc710e419f6db8ee99bc6d49e7008b378a40f357ec9ff3fb01f43b62bd76e"},"sample_id":"cycle8-1060000-50-conversational_prose-watermarked","source_sha256":"e815ceece0999789a85324359106273d2cb8fc35b51cb0cdb746da9f77ef2cfc","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.4727559571372959},"label":"unwatermarked","mix":{"detected":false,"n_tokens":567,"score":0.48873098804133286,"text_sha256":"9e08a9ab1f87d313dd455a011c8137b1954efd94fe30d3dff881071e871e6143"},"sample_id":"cycle8-1060000-51-structured_instructional-unwatermarked","source_sha256":"f7ce30ecd6b2f269b7496689455480f2898100a89bb8ab77397dccadcbb062df","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6084778822709858},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.49691200133341024,"text_sha256":"e4fd7debf4e69ebc88ab6523f052a4642a8aa3f2a61c3708416a9e88d19f21b7"},"sample_id":"cycle8-1060000-51-structured_instructional-watermarked","source_sha256":"00b5c0a20fba257ce56d3f7d8c6756577e1ba1654e468e004192867a28e7f990","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4997352838732149},"label":"unwatermarked","mix":{"detected":false,"n_tokens":602,"score":0.4937260836666306,"text_sha256":"11d25fa2df8c5121f1f9336d4ba3c82f1759fa345aeeb5791a438ba4e0cf6505"},"sample_id":"cycle8-1060000-52-general_explanatory-unwatermarked","source_sha256":"36af5c3d299556e0034ce76d8446daed5d1e064816182e5e3f3aa010bd392c20","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6044200626959247},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.4982123569375398,"text_sha256":"8ccd7dc0d215e70d0e261e297bbe959f6ca4f24e6eb690c9a0b2634b3fa30599"},"sample_id":"cycle8-1060000-52-general_explanatory-watermarked","source_sha256":"18c392731c90e2024172af7aef8922e28075b3536cfdb251c3271ac872e994de","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5156461163357716},"label":"unwatermarked","mix":{"detected":false,"n_tokens":595,"score":0.4952887520794903,"text_sha256":"53b873011cd4c7062191802816e024ae2fd48e8a8812f6039f909e22b8cdd3df"},"sample_id":"cycle8-1060000-53-technical_explanation-unwatermarked","source_sha256":"2ca77b83f8b2f48a856d5edd4694a420d4daf590ed432e83372886c5eee74961","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6152246603970741},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.489080459770115,"text_sha256":"9b3a9653050f5917f5b16e06f2733010b5a1896f879b03cf3340abef57deeec3"},"sample_id":"cycle8-1060000-53-technical_explanation-watermarked","source_sha256":"e24860aa33738b574f4cfeeefe2ca69bac1f892c617691fb3295f822f65fd588","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.4922222222222222},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.5019092453148621,"text_sha256":"b5725b64c50552eeb23ac4c4824ccc9ffa1adc854d9d976379c3327025f7fb76"},"sample_id":"cycle8-1060000-54-conversational_prose-unwatermarked","source_sha256":"2474cb9034ae4cd2ea25c3fea0d24b0d0f8f8917a910475ffe93de646b54aefc","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6066762687452343},"label":"watermarked","mix":{"detected":false,"n_tokens":599,"score":0.49942651052096326,"text_sha256":"ffa8ab3c2fbccd830ee1ff7cdc791ae54bbfae5a070a531293ca100b0cd73287"},"sample_id":"cycle8-1060000-54-conversational_prose-watermarked","source_sha256":"c494639d0b7d0f6a6fae95c0f1fd52b368d87784584cac9699546607420097c0","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5089341692789969},"label":"unwatermarked","mix":{"detected":false,"n_tokens":596,"score":0.4881193972391795,"text_sha256":"ad9a4037971a01d387305bb271d414a3aa97cee2f3c37ae4f8b9fa05182149e6"},"sample_id":"cycle8-1060000-55-structured_instructional-unwatermarked","source_sha256":"30a0f4f4d55973b6a89611848ab9b4402d1818f91dda623c404649dd84038f27","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6180773249738768},"label":"watermarked","mix":{"detected":false,"n_tokens":592,"score":0.4954279939017079,"text_sha256":"cca3e62460c6abb8594462d1518397a1434f70b7d648222f805152a61dd5ffca"},"sample_id":"cycle8-1060000-55-structured_instructional-watermarked","source_sha256":"bd450f69aae6da25616274ad640fe3859e747d3db63e2a647609a292eeeb2c2d","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.49335826504610536},"label":"unwatermarked","mix":{"detected":false,"n_tokens":597,"score":0.4985666031375735,"text_sha256":"947b5b66cd7eafba9f7350fccb81629a143b34cb671e4a696441eb9afc2df183"},"sample_id":"cycle8-1060000-56-general_explanatory-unwatermarked","source_sha256":"5eed5fe5b6a1578e833e158b3b4ba42ab9618d16a5afa06d1858200af3fdca8d","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6116472607851919},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.4881641742467068,"text_sha256":"6e25e909dad5a7068269f98ce43902bee7a98637cf531183a86e385699688fae"},"sample_id":"cycle8-1060000-56-general_explanatory-watermarked","source_sha256":"eade3d3574f0239ff89a594a1ea0993dd733c8b373cd9eeba90df3aca6bd3a13","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5308737239771723},"label":"unwatermarked","mix":{"detected":false,"n_tokens":596,"score":0.4978240507631253,"text_sha256":"3548e09b0a5b733af662152723438515c2138e6d0c068e5ca4aa9a7ea7beb877"},"sample_id":"cycle8-1060000-57-technical_explanation-unwatermarked","source_sha256":"cbfb0197e5ba30e368d63ea7014197da26e6d5e6e26a086055b6b8f6ba81263f","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.5957227446882619},"label":"watermarked","mix":{"detected":false,"n_tokens":599,"score":0.4967139859486369,"text_sha256":"816fb6642da6d4c92e444e29b0a08441d551b838976f99154e67b4d875f099bb"},"sample_id":"cycle8-1060000-57-technical_explanation-watermarked","source_sha256":"2b55fa83668d64b5299eef4cbb0dead5730ab5116c68174d098d768e02565e64","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5120759317311042},"label":"unwatermarked","mix":{"detected":false,"n_tokens":589,"score":0.4918139576246693,"text_sha256":"0ae192624b7d47bf64b96b806a33c3fc817309e6e6f38311ba899d4bfe329107"},"sample_id":"cycle8-1060000-58-conversational_prose-unwatermarked","source_sha256":"e63b3919daab0c0528a5c0a39b35370d1d0a88a60c3016da3f02ce73a1f2eddd","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.5883122411858044},"label":"watermarked","mix":{"detected":false,"n_tokens":585,"score":0.4924398307552632,"text_sha256":"c60018ca235cc14c9d412985ca96034dd7da273cb0321a628a1695b5ffc93547"},"sample_id":"cycle8-1060000-58-conversational_prose-watermarked","source_sha256":"2242561af0a8359e15880a179fd33f70160b69e3538bfc845025cf1efb4bef18","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5084678199620728},"label":"unwatermarked","mix":{"detected":false,"n_tokens":600,"score":0.4929060722164171,"text_sha256":"c018e83d544d0fbdcbefa25eeb9740f758674aec9adab9c641cd4b4dd7c9f071"},"sample_id":"cycle8-1060000-59-structured_instructional-unwatermarked","source_sha256":"e6cd79900e324da66c67cf947c03560f7324e056dfa81518b58a4a27eb8c90aa","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5519384829729658},"label":"watermarked","mix":{"detected":false,"n_tokens":603,"score":0.4981906632500423,"text_sha256":"5ceef37f72b4306ab7f46cb6136c1b2154f72034456278fda6c7531a7ee8cdfb"},"sample_id":"cycle8-1060000-59-structured_instructional-watermarked","source_sha256":"af0684bbef3c182031973b091f836bf7b16824fe4cf016bfca7a1e90d919a69b","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4765391849529781},"label":"unwatermarked","mix":{"detected":false,"n_tokens":600,"score":0.49771607702642184,"text_sha256":"70177d2dfc365859f6ccbf902b8e9b024dfb6b55ef5555812a0663c68694aaf1"},"sample_id":"cycle8-1060000-60-general_explanatory-unwatermarked","source_sha256":"e8d7adea9736b2df982538c692341a3d14bb1cd36eb7648bbccf46e8f93cd39d","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6213562497747991},"label":"watermarked","mix":{"detected":false,"n_tokens":567,"score":0.4904452430104238,"text_sha256":"fd1aa8d451cf0cb084638d1dd59b239e2ceb70f6b84c35febfdd6776874360c9"},"sample_id":"cycle8-1060000-60-general_explanatory-watermarked","source_sha256":"dd003561f779268f9acd6287ef6826c4304d78a14f02b51a4aa2a3fdb0685c82","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5002425735184356},"label":"unwatermarked","mix":{"detected":false,"n_tokens":598,"score":0.49849209979287296,"text_sha256":"aa323ce498cf966a42398809e3402d22866e84866e931037d4615cfa9df2c24b"},"sample_id":"cycle8-1060000-61-technical_explanation-unwatermarked","source_sha256":"ffd126ff48fb3de9946458506d9b5e1fcf8b43245adce7767dbcf64f73fabdc5","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.623065134099617},"label":"watermarked","mix":{"detected":false,"n_tokens":599,"score":0.502632578017377,"text_sha256":"98555286d5dae49ac9a07019410e9398244d094bab2f5aff349d1c2dd2c67899"},"sample_id":"cycle8-1060000-61-technical_explanation-watermarked","source_sha256":"7c506f0303fb40120704bf0cd1e636e75a84558571da65a1fa8d760546e5cbc9","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5142459073493556},"label":"unwatermarked","mix":{"detected":false,"n_tokens":592,"score":0.4982630203110872,"text_sha256":"6243d3e100ad98dacb980470f5c78d55c96782075994172d8a3c75c791ca8f1d"},"sample_id":"cycle8-1060000-62-conversational_prose-unwatermarked","source_sha256":"8ec67ade609e260308fa8b849521b43393b031ebed1ff47fcbac3f4562fd8171","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6190038314176245},"label":"watermarked","mix":{"detected":false,"n_tokens":596,"score":0.501583527943167,"text_sha256":"31b1a70d28b2dce563f591f68bb15bc38aa2cb34d9d7a507d2a4fac7a733c2bf"},"sample_id":"cycle8-1060000-62-conversational_prose-watermarked","source_sha256":"f98f213fa7b1b70adfd87ca864ed5130f94fe3ceac900a1b86ea7c3c5c54662f","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5123545802856148},"label":"unwatermarked","mix":{"detected":false,"n_tokens":597,"score":0.48749823491202804,"text_sha256":"825a12cf88825c76c113d45a1394c6c6efaebe0d5f644b8e337a2cb6daf14b1d"},"sample_id":"cycle8-1060000-63-structured_instructional-unwatermarked","source_sha256":"e19a293f1199b800f896051de5065d1e9eebd5777f72ecb66e020e7dae584146","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.5768379960962915},"label":"watermarked","mix":{"detected":false,"n_tokens":601,"score":0.49249122085752955,"text_sha256":"a7ffba8484cb0d96b7478e27ee4cc4f6ee048ba9c179cb204c5a2f5030f7517b"},"sample_id":"cycle8-1060000-63-structured_instructional-watermarked","source_sha256":"9dad98dc03207d8d8192b1587b43a7759eca2becaeb6df8f13a4675114856aba","visible_ok":true}],"scorecard_hash":"2c828e6076005b5aa1b94aad145b20a8748766134fea62c2690202a7ded36e52","second_configuration":true,"second_model":false,"seed_base":1060000,"threshold":0.5570987654320988,"topic":"deepmind mix transfer primary","visible_pass":true} diff --git a/evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/README.md b/evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/README.md new file mode 100644 index 00000000..5832ecd9 --- /dev/null +++ b/evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/README.md @@ -0,0 +1,7 @@ +# Cycle 8 mix DeepMind 30-key transfer (seed 1070000) + +Status: `HYPOTHESIS`. Reserved before generation. Not mix-freeze confirmation. + +n=64. Identity WM **63/64**. Mix WM **0/64**. Mix UW **0/64**. Identity UW **0/64**. Mix WM max `0.5029998258446535`. Visible pass. + +See `evidence/cycle8-mix-deepmind-transfer-2026-08-27/`. diff --git a/evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/SHA256SUMS.txt b/evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/SHA256SUMS.txt new file mode 100644 index 00000000..45d95051 --- /dev/null +++ b/evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/SHA256SUMS.txt @@ -0,0 +1,3 @@ +f96e83e535544ef6d798db8236d1423a55f188ffaa13ed6eb8f09e9fea81b31b README.md +3fd801b72cc0f88d3cd8b7d705f24cf81d8b0827e4e1c8bce5a11419a685f361 samples.json +105c6a267d00188ca08770318b626202262fa63ab5201ace034546b3d8f580a0 scorecard.json diff --git a/evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/samples.json b/evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/samples.json new file mode 100644 index 00000000..a7c1d160 --- /dev/null +++ b/evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/samples.json @@ -0,0 +1 @@ +{"pair_count":64,"samples":[{"domain":"general_explanatory","label":"unwatermarked","pair_index":0,"sample_id":"cycle8-1070000-00-general_explanatory-unwatermarked","seed":1070000,"text":" Add information from a number of sources. Add a summary of the results. Add a footnote to the paper.\n\nThis is a complete course. Please note that it may take longer than the usual 3-4 weeks to complete. It is offered as a prelude to a course on how to create a complex system","text_sha256":"edf910d45e24543fc3951121850bf8cadcf9695b15701601b15fa8b1e66e688e"},{"domain":"general_explanatory","label":"watermarked","pair_index":0,"sample_id":"cycle8-1070000-00-general_explanatory-watermarked","seed":1070000,"text":" Let us first discuss the concept and explain how it works.\n\n1.1.1.3.3 Process\n\nThe concept of process is a common use case for deepmind. This refers to how a process works, because it makes it possible for a human to complete tasks that are not possible without being","text_sha256":"d4f3254d5a7bab6a5b257f1d8f352cffdcb10c94ea6a1119984d80ab9ffaa970"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":1,"sample_id":"cycle8-1070000-01-technical_explanation-unwatermarked","seed":1070032,"text":"\n\nCreate a module that creates a new module, uses it with the module's own test methods. Create a module with some data, and use the new module's parameters as methods to convert it to a new module.\n\nCreate a new module that uses the same data as the old one.\n\nGet","text_sha256":"994e1c4e23b79bc02613af14386029899cea608fd7fe68f0f9a7822e23d5434c"},{"domain":"technical_explanation","label":"watermarked","pair_index":1,"sample_id":"cycle8-1070000-01-technical_explanation-watermarked","seed":1070032,"text":" Let us first see how to avoid this problem.\n\nLet's start with simple examples, then we will see the difference between validation checks and the most common validation checks.\n\nIt is often said that you can't test a certain data in order to be able to detect it. This is true. In the","text_sha256":"8a05c1c5aa8b95179a7c3476620d74b4aa0d9a74ac8af38cf13ed0afe9450607"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":2,"sample_id":"cycle8-1070000-02-conversational_prose-unwatermarked","seed":1070064,"text":" Explain that your goal is to achieve a certain goal. Don't have to be precise about how you want to achieve that goal.\n\nThe above example is easy to apply to any kind of work. A human being with a keen eye for detail will use a computer to take a visual and verbal picture of a person","text_sha256":"9aa44caa6a70d97eb7efb83ed4e8715590e54c0ddab5d33536625aed2fa9f562"},{"domain":"conversational_prose","label":"watermarked","pair_index":2,"sample_id":"cycle8-1070000-02-conversational_prose-watermarked","seed":1070064,"text":" A simple example: \"You can have a single copy of your database for a week and then move it to another database for a week later. Why not have a single copy of your database for a week and then move it to another database for a week?\"\n\nIf you write this sentence in the real world,","text_sha256":"28cf786004e9b2ccc281561ef769f62ec033c89029a2b27395112dbed9624f66"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":3,"sample_id":"cycle8-1070000-03-structured_instructional-unwatermarked","seed":1070096,"text":"\n\nExample 1: I'm a software engineer. I'm testing a software development software in the field of virtualization. I want to have a large virtual machine with an internet connection. I want to have an open source software implementation of the Virtual Machine. I want to have a remote server for virtual machines that I","text_sha256":"dabfca97785b2d3f67d3bce85ee2a569c3c79cc48d2eb8ee3218d3bcf4845492"},{"domain":"structured_instructional","label":"watermarked","pair_index":3,"sample_id":"cycle8-1070000-03-structured_instructional-watermarked","seed":1070096,"text":" (There are about 30,000,000 samples in this experiment.)\n\nStep 3: Apply deepmind mix transfer replication to the input data\n\nUse the following code (you may need to adjust the output if something goes wrong):\n\nlet l = vec4 (inputArray. len (vec. len","text_sha256":"fa748a937bfb2aca8911a573c2c54be7ee29f27a599bc19455f976d05f7b34ea"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":4,"sample_id":"cycle8-1070000-04-general_explanatory-unwatermarked","seed":1070128,"text":"\n\nThis section describes a simple way to apply this concept in practice.\n\nI'll demonstrate the simplest, most efficient way to apply this concept in practice.\n\n1. Apply a simple, but very efficient, implementation of a deep-learning algorithm.\n\nIf you're using deep learning for deep learning","text_sha256":"aa32bf67e0fd9724ad407510a210ef2be56e8c7339f5d233003f7921cb877edc"},{"domain":"general_explanatory","label":"watermarked","pair_index":4,"sample_id":"cycle8-1070000-04-general_explanatory-watermarked","seed":1070128,"text":" Let us first discuss how depthofmind works.\n\nDeepmind is a mechanism for deep-level programming as long as the idea is within your grasp. Deepmind is designed to be a simple, portable, and scalable abstraction. It includes all the functionality you have been thinking about, but is not required and can","text_sha256":"f9fab58cd1f3c6b2798c3f85e31671ed5edf586873384cdbe8a51d0cb090b432"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":5,"sample_id":"cycle8-1070000-05-technical_explanation-unwatermarked","seed":1070160,"text":" The first rule of the test is: 1. validate the validation in realtime (in the example above) and 2. test the validation in a database.\n\nThe second rule is: 2. verify the validation in realtime. The validation in a database is a validation check of the application and the database.","text_sha256":"bdb8b72a41afe510e8b4f9612d52f81254b85cc1dbf1480450ef8eeabee42189"},{"domain":"technical_explanation","label":"watermarked","pair_index":5,"sample_id":"cycle8-1070000-05-technical_explanation-watermarked","seed":1070160,"text":" Then test it with a series of failures and validation checks. Try to find a few more examples of deepmind mix replication replication.\n\nThe original text of this paper can be found online on the DeepMind Web site (which is also the \"deepmind.net\" site).\n\nReferences\n\n1.","text_sha256":"394d5c321516fe31d98e2c0e7893403dea665168d5e3320c072c316d21282938"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":6,"sample_id":"cycle8-1070000-06-conversational_prose-unwatermarked","seed":1070192,"text":"\n\nThe reason for this is simple: The original concept of consciousness is that it is a world of things that we perceive, or are perceived to have. It is the world we feel and understand. When we perceive something, we sense it. In the world of the mind we perceive what we feel, or we","text_sha256":"0d3847d877c772bd1c3d30d1100fbb2209e1e902da83bdd46778b74801073adc"},{"domain":"conversational_prose","label":"watermarked","pair_index":6,"sample_id":"cycle8-1070000-06-conversational_prose-watermarked","seed":1070192,"text":" (There are few things more satisfying than to see a book published in an academic setting with a bunch of authors and a new guy who has been working on the same thing for a while, who is going to be the next Bill Gates.)\n\nThe solution? Just be as self-critical as you can be.","text_sha256":"580edb0b989c27959951393d9d7d70c68ad278efd43385d204b3b600a1a9559d"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":7,"sample_id":"cycle8-1070000-07-structured_instructional-unwatermarked","seed":1070226,"text":" Do not use phrases that are not repeated in the sentence. Use a small sentence to create a more concise sentence.\n\nTry it with a program you already know and like. Try different sentences and try different sentences with different numbers. Don't try this with the same program. It's too powerful for you.\n","text_sha256":"7d9acb5bc5011eb85949ac129f302297c860259ae6e326801ffbf92d7b68b188"},{"domain":"structured_instructional","label":"watermarked","pair_index":7,"sample_id":"cycle8-1070000-07-structured_instructional-watermarked","seed":1070226,"text":" (There are few things more satisfying than writing a sentence that is very specific for your project.) If you do a bunch of work in a couple days you will eventually run out of money and you will want to use some simple strategies.\n\nDon't forget to add to your work with a few extra phrases and your","text_sha256":"e6eae5225e983b2245b340cc0cf28784a62fe8b4b4203d4d08352c3a3deea1eb"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":8,"sample_id":"cycle8-1070000-08-general_explanatory-unwatermarked","seed":1070257,"text":" The point is that you don't need to be clever about how to use this technique to create data without violating the principles of 'pure mathematical logic'.\n\n\nThe point is that deepmind and SQLite are good at using data structures that are difficult to manipulate. It seems that in order to understand why you will need","text_sha256":"8e2509583f03726eb0630308403db8442acbc6710a95023db047a06b98baad50"},{"domain":"general_explanatory","label":"watermarked","pair_index":8,"sample_id":"cycle8-1070000-08-general_explanatory-watermarked","seed":1070257,"text":" Let us summarize:\n\nWhat happens if you combine a replication scheme that is the opposite of your existing scheme? And how does your replication scheme change from your new scheme to this new scheme?\n\nThis is what DeepMind's post describes:\n\nIn the new scheme, you create a replication scheme that uses","text_sha256":"752cbc7a404654a740bab7ff459e49ef82bd0e6e221a8d08ce54d10945883981"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":9,"sample_id":"cycle8-1070000-09-technical_explanation-unwatermarked","seed":1070288,"text":"\n\nIn this article, we will write a paper on the transfer replication replication model (http://tutorials.turb.io/Turb/DSA/TurbStudy.pdf). The paper is available in English and French.\n\nOverview\n\nThe transfer replication model is a technique for studying","text_sha256":"bd17aaf5f1066a119ba74e40ba9195d317b8a5351592a9497f0a73b0d0062420"},{"domain":"technical_explanation","label":"watermarked","pair_index":9,"sample_id":"cycle8-1070000-09-technical_explanation-watermarked","seed":1070288,"text":" Then test it with a series of failures and validation checks. Try to find a few defects and find out how each one can be fixed. Then try the following experiments: (1) A complete replication of a single machine, two machines with the same address on the same machine, and two machines that have the same address","text_sha256":"c688a3a6de7cb7869bec65b2806179e0eac1de55a7322cc7bf20f4a7bdea3944"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":10,"sample_id":"cycle8-1070000-10-conversational_prose-unwatermarked","seed":1070320,"text":" Make it clear in your conversation where the problem lies and what the solution is. Tell the other person that it's important to understand and be able to solve the problem.\n\nThe first step is to use a natural language that is easy to learn. Using natural language is critical if you want to make a good career","text_sha256":"c59fae18e67dbefad6f7a2a49f8cccd4676530b1416050ae9fb91973d7378699"},{"domain":"conversational_prose","label":"watermarked","pair_index":10,"sample_id":"cycle8-1070000-10-conversational_prose-watermarked","seed":1070320,"text":" Then ask for additional information if the explanation is clear, useful or insightful.\n\nIf you're using a language with lots of verbosity, you might want to try this:\n\n> In Spanish, you can choose to be verbose or verbose!\n\n> In German, you can choose to be","text_sha256":"114061be6dd3eebb360ff0af2625fba0f9aa715c509038659d885dff453efe20"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":11,"sample_id":"cycle8-1070000-11-structured_instructional-unwatermarked","seed":1070352,"text":"\n\nExperiment 3: Apply the same deepmind mix to a single text.\n\nThis experiment consists of using the same text and an experiment with the same content. The test will be simple, but I recommend using the same text and only using it with a single text.\n\nThe first step of the","text_sha256":"4d07a96a2a6f336cee9d1f5ee461ec5a31c4a4e54dc901673024ad1e41db34e5"},{"domain":"structured_instructional","label":"watermarked","pair_index":11,"sample_id":"cycle8-1070000-11-structured_instructional-watermarked","seed":1070352,"text":" You'll learn how to write a series of instructions and make the sentence intelligible to the user.\n\nFor more information on the full course, see our website.\n\nThis course is for intermediate students, who are now going through some of the most difficult of courses in the academic world.\n\nTopics covered","text_sha256":"54ea3d8557623e102a3999171aaa06f1f479afe1d05d9a77701737ac691dcbfa"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":12,"sample_id":"cycle8-1070000-12-general_explanatory-unwatermarked","seed":1070385,"text":" Don't include this in any paper.\n\n\"No one thinks this is necessary to have a stable, scalable system of data storage.\"\n\n--John Keeler, MD\n\nThis is a great quote by John Keeler. He says \"No one thinks this is necessary to have a stable,","text_sha256":"40516e11ae3bdc7590f086d141858cf06decabab58099d53eae940820251c6d8"},{"domain":"general_explanatory","label":"watermarked","pair_index":12,"sample_id":"cycle8-1070000-12-general_explanatory-watermarked","seed":1070385,"text":" Then add it to your manuscript. Repeat several times.\n\nAfter writing the paragraph, write a second paragraph instead. I often find that it is difficult to write an entire piece of information without making it very quick.\n\nIn fact, I've written my \"I have a piece of evidence for this,\" but","text_sha256":"09d394af50f30dcdb1c3e1ce1ea7983576151723f3f5e4bf8a039e595a52249e"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":13,"sample_id":"cycle8-1070000-13-technical_explanation-unwatermarked","seed":1070417,"text":" When doing a validation check, define two critical attributes. For example, in a test, an attacker may have a different set of attributes for validation checks than for the original test. This means that an attacker may have a different set of tests for the validation checks, and this is not a good time to have a validation","text_sha256":"7c0ea4f50f110939e041d0c4565b69a1a95055b7892d08891a4513d1d1b44ff8"},{"domain":"technical_explanation","label":"watermarked","pair_index":13,"sample_id":"cycle8-1070000-13-technical_explanation-watermarked","seed":1070417,"text":" Then test it with a range of possible outcomes.\n\nThe original text of the paper:\n\nThis is a paper by Brian J. Brown and a group of collaborators from Harvard Business School. The paper's main findings are that, for all the problems we're talking about, the problem could be to have one","text_sha256":"806ec0b08392e8da81cef6839fc564cdafccf8b876a2b597f85c6b2c171c776d"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":14,"sample_id":"cycle8-1070000-14-conversational_prose-unwatermarked","seed":1070448,"text":"\n\nI have always been a believer that it is possible to have one's mind in one's head and be completely independent of it. One is free to do what one wants, but one has to be able to control it, so I would say that you have to have a lot of control of what you say","text_sha256":"399e3f8da7adca08ef5448676a4a9985511c8099fc31d590897bd689c4fd9a3e"},{"domain":"conversational_prose","label":"watermarked","pair_index":14,"sample_id":"cycle8-1070000-14-conversational_prose-watermarked","seed":1070448,"text":" You'll learn how to write about the problem and why it's important. A good way to learn is by doing research. When you do research, you'll discover what works and what doesn't. Then you'll get to work developing new ideas. The whole point is to build up the knowledge in the last few years","text_sha256":"c777d2f06776602ab1b2f5b9b46db5825c0a305ddc76ae78dbd852c0e77029a1"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":15,"sample_id":"cycle8-1070000-15-structured_instructional-unwatermarked","seed":1070480,"text":" If you don't have a sentence, it might not be a good idea to put it in an experiment. Instead, ask yourself \"what would you like to do, if you were to learn it?\" This method is very similar to the previous three steps, but it's much more intuitive.\n\n3. Do","text_sha256":"9534daa6dc3206dbada4c35099a294669a53b6fbb57ea38d6f2402e8bc97fbdd"},{"domain":"structured_instructional","label":"watermarked","pair_index":15,"sample_id":"cycle8-1070000-15-structured_instructional-watermarked","seed":1070480,"text":" You'll learn how to write a long instruction and then apply it to your final example.\n\nThe full version of the study can be found here: https://www.youtube.com/watch?v=P2vFvVbQJK4A\n\nThe full PDF can be found here","text_sha256":"a275987083651200cb508c29f42d0dfd58f47ad14bedf1b95977e011ab7d6248"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":16,"sample_id":"cycle8-1070000-16-general_explanatory-unwatermarked","seed":1070512,"text":" The whole point is to understand and explain why the data might be different and how they might be correlated with a particular state.\n\nThe goal of this blog post is to show how this can be done and to offer a few examples.\n\nThe first idea behind this is that we have already seen some cases where","text_sha256":"c6138c5623717a603a9abd7f69da02eb274097b167c8f505a6a9c1fe2821bbce"},{"domain":"general_explanatory","label":"watermarked","pair_index":16,"sample_id":"cycle8-1070000-16-general_explanatory-watermarked","seed":1070512,"text":" Let us first discuss the question of whether it is really possible to perform deep-brain transfers and how this differs from other experiments. To begin with, we need to know what the problem is about.\n\nThe original work was published in 1998 at the Journal of the Acoustical Society of America in the form of","text_sha256":"7d22258df53eb6451e35c58cbd73c1fb95770e987075616b010920fb6011ea59"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":17,"sample_id":"cycle8-1070000-17-technical_explanation-unwatermarked","seed":1070544,"text":"\n\nLet's try some simple example of the first step:\n\nclass DistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributedDistributed","text_sha256":"3733800d0899f111d99f04af15588c8388cb49236498ce955b38644cbcc9662b"},{"domain":"technical_explanation","label":"watermarked","pair_index":17,"sample_id":"cycle8-1070000-17-technical_explanation-watermarked","seed":1070544,"text":" Then test it with a few people. And repeat for two more people!\n\nThe final step is to write a small file on your computer and create a test suite. You need to install a software that lets you test the effect on your own computer (e.g., Apache Spark, SQL Server, etc.).","text_sha256":"5f74b2cab1896045320dc9bc9667009625cd820cb1f0793942e1e36dc33ea399"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":18,"sample_id":"cycle8-1070000-18-conversational_prose-unwatermarked","seed":1070576,"text":"\n\nYou don't need a PhD in computational genetics to write this. You just need a good understanding of your brain and the way it works.\n\nAnd then there's the problem of deep-learning. Deep learning is where you train your brain so that you can learn from it.\n\nLet's say","text_sha256":"06a3b9114f96cb37ab30419b2b5a942701bcc49e7dd3c8ba99a527a01d2f6559"},{"domain":"conversational_prose","label":"watermarked","pair_index":18,"sample_id":"cycle8-1070000-18-conversational_prose-watermarked","seed":1070576,"text":" Then ask for permission for their interview. Use the \"I want to get to know you\" feature to identify the source and target audience. Give and take suggestions. Ask if you should have some extra points you could add to your resume.\n\nThe full version of The Mindless Man is available online and online at","text_sha256":"6c8188b628b529b7f7b0543449a8a1d1d4ce05653953a9b17a39f236ae44bc59"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":19,"sample_id":"cycle8-1070000-19-structured_instructional-unwatermarked","seed":1070608,"text":" It takes a few minutes, but it will help you to focus on the next step.\n\nUse complete sentences and keep each step concrete. It takes a few minutes, but it will help you to focus on the next step. Put in a few questions for each of the steps. It's not very difficult,","text_sha256":"09f6c5daa57267cf39332420eb7e6206f0bb83da828f3ed7e2235bb107266712"},{"domain":"structured_instructional","label":"watermarked","pair_index":19,"sample_id":"cycle8-1070000-19-structured_instructional-watermarked","seed":1070608,"text":" (There are no steps.) Be careful about the time it takes to apply the test phrase.\n\nExample 4: Use the Three-Step Test For Sending the Message\n\nA typical test for generating a message in a message format is to send the word, message, and message data to a specific server. The","text_sha256":"2c229747544b339cbc011ffc4bba08c501a07df0bd12bc1b68e5cc7956f574c8"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":20,"sample_id":"cycle8-1070000-20-general_explanatory-unwatermarked","seed":1070640,"text":"\n\n(This was a common one to be found by the authors; if you're an expert on this topic, the rest of this post is likely to be helpful.)\n\nI'm going to use the example of a simple replication machine with one of the following components:\n\nOne machine, with a master","text_sha256":"cc0d562cb876ce13aa1a3ca6b70da27aa26bf5376df2b21961055d6f855a2747"},{"domain":"general_explanatory","label":"watermarked","pair_index":20,"sample_id":"cycle8-1070000-20-general_explanatory-watermarked","seed":1070640,"text":" Let us first discuss the following idea:\n\nIn a simulation, an experimenter randomly mixes two different substances (e.g., a small, but highly attractive, and highly attractive metal). Then, the experimenter inserts a new mixture in a test box into the test box; the next test box contains a different","text_sha256":"3f52841d643160ba2d8679cdbdf7df0ab8c194f3b33172155b643ffe27a1d8eb"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":21,"sample_id":"cycle8-1070000-21-technical_explanation-unwatermarked","seed":1070672,"text":"\n\nDefine the main idea, one failure mode, and one validation check. Configure the master and slave nodes.\n\nConfigure the master and slave nodes. Configure the master node and the slave nodes to use all the data.\n\nCreate a list of data objects:\n\ndata.insert","text_sha256":"c4ab410e90290a9c622ef27d0047683e7f2170bb9e2e24d624073807a6b8bfb1"},{"domain":"technical_explanation","label":"watermarked","pair_index":21,"sample_id":"cycle8-1070000-21-technical_explanation-watermarked","seed":1070672,"text":" Then test it with a series of tests:\n\n1.1.1.1 Bump out the cluster's cluster object from the master database to the cluster's master object.\n\n1.1.2 The sub-object is now at the master object.\n\n1.1.3 The sub","text_sha256":"cb2aa8fb6dbe3b9457d0e100d69481623680cb809f39b9e2b9b7d5be159dbbca"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":22,"sample_id":"cycle8-1070000-22-conversational_prose-unwatermarked","seed":1070704,"text":"\n\nDeepmind\n\nWe are talking about a different paradigm of the mind here. I can say that my understanding of the world is not \"deep\", and is far from perfect. Deepmind is a different way of thinking about the world.\n\nWhat is the deeper way of thinking about the world? The","text_sha256":"ad9c4c8ce4c77ab05ce493699ac938e72ee4dfcb06bf611446b084945767527d"},{"domain":"conversational_prose","label":"watermarked","pair_index":22,"sample_id":"cycle8-1070000-22-conversational_prose-watermarked","seed":1070704,"text":" (There are few things more satisfying than to see a book published with a chapter on how to transfer a text, or a book written by a professional in a language other than English. \"The most important thing you don't have to do is to translate the text\", I say.) Don't say, \"The text","text_sha256":"e6e22e7595a76c8e0044a93701f765fa6c0976fbbe8d0a1a7822fd7c4f1503fe"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":23,"sample_id":"cycle8-1070000-23-structured_instructional-unwatermarked","seed":1070736,"text":" This is a good way to increase your performance.\n\n3. Make sure you have sufficient depth of thought.\n\nLet's say you have two different ideas on how to use deepmind. One is how to apply the technique to the subject matter of one of them. The other is to use the technique to","text_sha256":"7fd7289a69b735c77162fa446ee041d32453cc7b99421b8b726633f3056f9827"},{"domain":"structured_instructional","label":"watermarked","pair_index":23,"sample_id":"cycle8-1070000-23-structured_instructional-watermarked","seed":1070736,"text":" You'll learn how to write a long list of simple, simple steps to apply one technique to another.\n\nAn example of this is the idea of having a group of four people do a group task after a one-way trip to another country. You can say, \"Let's go to the first foreign country","text_sha256":"725d049f2132dfb9426eb8aac546ba569c97c662ee034aa909fe39db3c3ab9bf"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":24,"sample_id":"cycle8-1070000-24-general_explanatory-unwatermarked","seed":1070768,"text":"\n\n3. Create your own master server that is independent of any other master.\n\n4. Design your master as a standalone application.\n\n5. Create a Master server on your master.\n\n6. Design your master as a distributed virtual machine.\n\n7. Create a Master server on a","text_sha256":"3b6ef4293e93301b62f7ca6eb02d6f225edc75a5d2f8476593d813383819ef7f"},{"domain":"general_explanatory","label":"watermarked","pair_index":24,"sample_id":"cycle8-1070000-24-general_explanatory-watermarked","seed":1070768,"text":" (There are some good ideas that should be included.) Read, re-read, and summarize the evidence for a common argument in both journals, but the evidence in one publication is very strong and it is often too strong to be explained in an easy, straightforward, concise way.\n\nThere are some good ideas that","text_sha256":"d54f81b7770a98046211c33c857cc37185a5b20bf4aebda3d21ee57e7cc86c6b"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":25,"sample_id":"cycle8-1070000-25-technical_explanation-unwatermarked","seed":1070800,"text":" Then test the replication in real time. Then, with an input file that shows the results of the replication. With the file, you can create a new batch of files with the same parameters. Then, your experiments can be run in parallel. In the future, you can use the full library of these tests in your","text_sha256":"7568aec718441cbb3e950f3d72e4e4639d9063594240aecf5cddb60b0d55c71a"},{"domain":"technical_explanation","label":"watermarked","pair_index":25,"sample_id":"cycle8-1070000-25-technical_explanation-watermarked","seed":1070800,"text":" Let us first discuss the main failure mode for each experiment, and then the validation check after all failures. We can then describe the validation check and the main failures.\n\nConceptualization and Objectivism In this section, we'll define the concept of Objectivism, and then discuss how to model Objectivism.","text_sha256":"6bf6ea531c13958c3fd6c6361904cad2a6e7c3267cd8f624155c2428a766c88a"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":26,"sample_id":"cycle8-1070000-26-conversational_prose-unwatermarked","seed":1070832,"text":"\n\nLearn more about how to handle non-reciprocal communication.\n\nReciprocal communication (like a computer talk) may be hard to understand, but it is important. In the real world, it is much easier to understand an issue that's not being addressed. The key is to understand and try","text_sha256":"32a08a13e949878bb5f0d4090877f5a4257e4127655aea3beb6cf268cf39c50f"},{"domain":"conversational_prose","label":"watermarked","pair_index":26,"sample_id":"cycle8-1070000-26-conversational_prose-watermarked","seed":1070832,"text":" You'll learn how to write about the problem and why it's important. How to avoid the error of not understanding it. What to do when one person is overwhelmed with emotion. The world is changing, and I'm learning how to use my voice.\n\nI'm also learning to see this as a symptom,","text_sha256":"18fa847382ef065bead73e62905737edcb4530ea3109d6a95de20f5fac5b7aa8"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":27,"sample_id":"cycle8-1070000-27-structured_instructional-unwatermarked","seed":1070865,"text":"\n\nThe above procedure was done to apply a \"deepmind transfer replication\" process to a simple example. Here are some examples of how the same technique could be applied to an experiment with a full \"deepmind\" program.\n\nExample 1: The same experiment with a new idea\n\nThis is an example","text_sha256":"4cc6161ae36b65d055fca3170f0dacd22e2f540852f710e469a0c59da12ecbff"},{"domain":"structured_instructional","label":"watermarked","pair_index":27,"sample_id":"cycle8-1070000-27-structured_instructional-watermarked","seed":1070865,"text":" Then repeat the process for every other verb.\n\nThe original text of the following example shows how to apply the complex logic, even for the simple sentences:\n\nThe following example is more complicated than the original text so I will show how to apply the complex logic to add more complex information to this simple example.","text_sha256":"2515615933863c05cd473b57f1726426de2af94f30eb466bf6843a07961c2f16"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":28,"sample_id":"cycle8-1070000-28-general_explanatory-unwatermarked","seed":1070897,"text":" Don't bother explaining. Try to explain how they've got such a \"high-level\" knowledge. If you're not sure about the definition of \"high-level\" (you can't explain why it is), don't bother explaining it.\n\nIf you're not sure about the definition of \"high-","text_sha256":"ea74cebc8dbd608d29ee900468f3e87ad0032d87c2fcccb213bbb9a4f6bea46d"},{"domain":"general_explanatory","label":"watermarked","pair_index":28,"sample_id":"cycle8-1070000-28-general_explanatory-watermarked","seed":1070897,"text":" Let us first discuss the three main kinds of 'deep' processing on a large scale:\n\nDeep processing is the process of generating and storing a full-length or partial-length of information.\n\nis the process of generating and storing a full-length or partial-length of information. Deep processing is the","text_sha256":"324671cac2a54c7802239bbf85b5c7f5ef4285110e482d80258ee74bcf65bf67"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":29,"sample_id":"cycle8-1070000-29-technical_explanation-unwatermarked","seed":1070928,"text":" It should then be possible to perform a full replication.\n\n1.2.3 A common problem with high-level C++ programming is that there is a high probability that a particular language features multiple failure modes. However, the common mistake that comes with this approach is that there are only two possible modes, one","text_sha256":"d95aa2879f932fd5e4e9f21b5edd11bf88f905a06cc4f5a21e578eed5f2aea44"},{"domain":"technical_explanation","label":"watermarked","pair_index":29,"sample_id":"cycle8-1070000-29-technical_explanation-watermarked","seed":1070928,"text":" Then add it to your code.\n\nUse the following code snippet to configure an experiment to transfer your data to another data center.\n\nimport java.util.log; class DummyData { public static void main(String[] args) { log.dummy_data = new DummyData(); }","text_sha256":"aab227afe174b0f877902706b6076fe76d844d970cdac68e277d04d2e2db7769"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":30,"sample_id":"cycle8-1070000-30-conversational_prose-unwatermarked","seed":1070960,"text":"\n\nA) It's easy to forget that it's not what you're trying to do that counts, but it's how you're trying to do it.\n\nB) It's not easy to know exactly what you're trying to do.\n\nC) It's not easy to remember what you're","text_sha256":"4efb133a6ab4a7e3c8c6068bb8e5ed46dd60446e07ee12b3d6803d48aea994ca"},{"domain":"conversational_prose","label":"watermarked","pair_index":30,"sample_id":"cycle8-1070000-30-conversational_prose-watermarked","seed":1070960,"text":" You'll learn how to write about the problem and why it gets better.\n\n\nI like this book. It reminds me of what I love about psychology: it's not about the things you can do, but the things you do. It doesn't explain why you can't do something.\n\n\nThis book is","text_sha256":"31134e73ebe40ee107d8ca26787c59aab82ade10d6b8cabeb1fa768cb4ab5929"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":31,"sample_id":"cycle8-1070000-31-structured_instructional-unwatermarked","seed":1070992,"text":" Using a short two-step instruction for applying deepmind mix transfer replication, repeat steps 1-5. Use complete sentences and keep each step concrete. Using a short two-step instruction for applying deepmind mix transfer replication, repeat steps 6-9. Use complete sentences and keep each step concrete. Using a short two","text_sha256":"e5703bd282a749fd691adf4379e1ac3aa5abf2d6473fd8b8063a9809656fa44e"},{"domain":"structured_instructional","label":"watermarked","pair_index":31,"sample_id":"cycle8-1070000-31-structured_instructional-watermarked","seed":1070992,"text":" You may want to test your own.\n\nThis method may be considered \"deepmind\" or \"intermediate\" but it does not apply to the whole learning process. It is a very different \"level\" of \"deepmind.\" That is, the only method of teaching a language or language-learning system with","text_sha256":"172e376456928fe2bc248d4135120b2e6354d8115a4411dd79ece3c9ae20bd7c"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":32,"sample_id":"cycle8-1070000-32-general_explanatory-unwatermarked","seed":1071024,"text":"\n\nTo keep up with the latest on Deepmind's ongoing efforts, I spoke with Jyoti Srivastava, DeepMind's chief scientist at DeepMind. He's working on a new research paper called \"Deepmind's Multiplicity: A Novel Approach to Distributed Recursive Memory,\" which he","text_sha256":"42dc58bfa9252f62355239338527dee2ee0570a2fe9f4859d4c19227e1b2d3ba"},{"domain":"general_explanatory","label":"watermarked","pair_index":32,"sample_id":"cycle8-1070000-32-general_explanatory-watermarked","seed":1071024,"text":" Let us first discuss the difference between the two.\n\nIn fact, the question of whether you have to write a single sentence to prove that, say, an image is the same or different from the image in your brain is somewhat complex. In fact, it's quite a lot more complicated. All of this requires","text_sha256":"0b6bc22e5a2fc2693b4edc1c879e0f37bfc822be16e168457b0e9bbedc15688e"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":33,"sample_id":"cycle8-1070000-33-technical_explanation-unwatermarked","seed":1071056,"text":"\n\nThe main idea, one failure mode, and one validation check. Define the main problem of the experiment. The main idea of the experiment. Define the main problem of the experiment. The main problem of the experiment. Define the main problem of the experiment.\n\nThe main problem of the experiment","text_sha256":"3ceaceff100623f8e25c7a3ec51d97602c150f6c1b6477bf5eaad277192a0eec"},{"domain":"technical_explanation","label":"watermarked","pair_index":33,"sample_id":"cycle8-1070000-33-technical_explanation-watermarked","seed":1071056,"text":" Then test it with a few thousand clients: see how it works.\n\n\nThe two main issues of this problem is that the first and second version of the problem are quite slow, and the second version is quite slow. In practice, you can easily see the difference between the two versions by looking at the main results","text_sha256":"12399372c14eb01395ee8857c4cd7d9797ceb6c7352424300ac4b07eefd0c901"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":34,"sample_id":"cycle8-1070000-34-conversational_prose-unwatermarked","seed":1071088,"text":"\n\nThe key to the whole thing is to get the topic of your talk and the focus on the topic of your conference talk, not the topic of your conference talk.\n\n2. Keep your talk specific and open-ended\n\nIf you have more than one person on your talk, you may need to","text_sha256":"3ae7d4b71f6d9e1cb2731db5fb8fae670af6cb50557b7366dbf502ccacb4d286"},{"domain":"conversational_prose","label":"watermarked","pair_index":34,"sample_id":"cycle8-1070000-34-conversational_prose-watermarked","seed":1071088,"text":" You'll learn how to write about the benefits, and how to answer a question that will be asked at the conference. You'll learn how to use the word \"transition\" with some good friends in the crowd.\n\nConversation with someone who has seen a similar phenomenon and is curious about why it can","text_sha256":"9864176fea8019234e4a863033ae58b1a3c822c18c3f51629b2a3a7c08d9bbbc"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":35,"sample_id":"cycle8-1070000-35-structured_instructional-unwatermarked","seed":1071120,"text":" For example, \"This is the first time you have ever seen anything like this happen.\" If your sentence is \"The first time you have ever seen this happen,\" you can use the following two steps. If you are in a lab or at a local coffee shop, get a coffee cup and fill it with warm water","text_sha256":"4dd9d4428bf306d6941f5c83326eff3a1946bdffbc8ed022502913f5bc1e6719"},{"domain":"structured_instructional","label":"watermarked","pair_index":35,"sample_id":"cycle8-1070000-35-structured_instructional-watermarked","seed":1071120,"text":" You'll learn how to write a long list of simple, fast steps to make sure their results are as good as your own.\n\nThis list is a quick way to get your brain to do things that make your mind work faster, faster, more efficiently, and faster. It will also help you to see how","text_sha256":"f373f3631b879e7041b66a60916f9c29c6f930d878c343835ebe319caf889c78"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":36,"sample_id":"cycle8-1070000-36-general_explanatory-unwatermarked","seed":1071152,"text":"\n\nAbstract\n\nI. Introduction A new topic has become popular, a topic with long history and large influence in scientific discourse. It is called \"deepmind\". This book has been developed in the context of deepmind. One of the first scientific papers to be published in deepmind was by E. J.","text_sha256":"c147088b393e161bbe7d4a6c47f1781cc3d46c4ed588ff7b72268be6bd5dcd4a"},{"domain":"general_explanatory","label":"watermarked","pair_index":36,"sample_id":"cycle8-1070000-36-general_explanatory-watermarked","seed":1071152,"text":" (There are three reasons why you should not write a coherent paragraph.) Write as much of it as possible! If you can't write all three, consider doing it now.\n\nIn fact, I've written five articles on the subject of deepmind transfer replication in the last month or so. I'm not giving","text_sha256":"0f2a126260678cabf1268e6aae44b01478738f990f073712f076cbcc676dd88c"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":37,"sample_id":"cycle8-1070000-37-technical_explanation-unwatermarked","seed":1071184,"text":" Provide an overview of the software experiment, how to achieve the results, and how to find out how the system performs on a general level.\n\nThe main idea, one failure mode, and one validation check. Provide an overview of the software experiment, how to achieve the results, and how to find out how the","text_sha256":"ca8f2bbcc7ce22c374288a420d9b40c1252d6b656b3d02ae07c18dd215d9b8ba"},{"domain":"technical_explanation","label":"watermarked","pair_index":37,"sample_id":"cycle8-1070000-37-technical_explanation-watermarked","seed":1071184,"text":" Then add it to your code.\n\nLet's start with simple examples, then add the test suites.\n\ndef main(): print \"Received at 2.5k samples with 3.4.4\" print \"Sample number 2.5k\" print \"Sample number 2.5k\" input \"","text_sha256":"46d2df06cd555a217541dfd9fba0f632a5a477470f308b7fc0e4f08b67ddbf56"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":38,"sample_id":"cycle8-1070000-38-conversational_prose-unwatermarked","seed":1071216,"text":"\n\nIf you have a great question, a great answer is probably a good one. The best answer is always \"what the heck\" (though this is not the most important question to ask). The other two options are \"why?\". They can be more important, but they all have their own pros and cons.","text_sha256":"e5fc0c0f3b64180639e72ebd1128419b2ae90486b5581061ff3ab028e21acd71"},{"domain":"conversational_prose","label":"watermarked","pair_index":38,"sample_id":"cycle8-1070000-38-conversational_prose-watermarked","seed":1071216,"text":" You'll learn why they're right and why the team is wrong.\n\nWrite a few lines of code, and get the code to run. The team is better off doing it this way, because they'll be the one running the code. A lot of people think about why they should build something this way.","text_sha256":"d202796585714a424399d547b2f8e216d43b853bff3a31ad5a12ef9a9cfb4847"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":39,"sample_id":"cycle8-1070000-39-structured_instructional-unwatermarked","seed":1071248,"text":"\n\nThe final step, in which the student has to write a short sentence, is to use a simple sentence to express the situation. The problem must be solved in the simplest form, with no additional steps. This method of teaching is a nice way to have a fun and interesting learning experience.\n\nThe student","text_sha256":"d8f7dc5ab51b64d04a6576dbfcd74da6da7a52f96e60522fa36ffab1d9d25660"},{"domain":"structured_instructional","label":"watermarked","pair_index":39,"sample_id":"cycle8-1070000-39-structured_instructional-watermarked","seed":1071248,"text":" You'll learn how to write a long list of simple, fast solutions. If you're the kind of student who gets stuck in a boring lab, you can apply a few simple instructions to a few examples. You'll learn to write concise, easy-to-understand sentences with a few simple sentences to explain the","text_sha256":"e70970c6eddd6285743b0e388f4579ec007e47f5ea68ea1bcbe1d17a1a4bf093"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":40,"sample_id":"cycle8-1070000-40-general_explanatory-unwatermarked","seed":1071280,"text":"\n\n2. If you don't understand how you work, or you need a little more explanation than a little help, don't hesitate to ask.\n\n3. Be careful to clarify exactly why you're working, and the reasons why you're working. If you're going to teach the class, you should","text_sha256":"bcb2973175d55c6ee7a4a8bd3a49d4b4e9cd6776bb85c80086e699074d130295"},{"domain":"general_explanatory","label":"watermarked","pair_index":40,"sample_id":"cycle8-1070000-40-general_explanatory-watermarked","seed":1071280,"text":" Let us first discuss how depth of field (DIC) describes the ability of deep mind to maintain itself.\n\nDepth of Field for Deep Mind\n\nFor Deep Mind, there is no 'deep' field (see diagram). The problem is that it's difficult to know what 'deep' is because there are","text_sha256":"95dd8880b153ec07a4d1c7f4ebb70e8762bceb843faff37b6bedf851fc669ada"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":41,"sample_id":"cycle8-1070000-41-technical_explanation-unwatermarked","seed":1071313,"text":"\n\nIn the following sections, we will outline the basic components of a deepmind mix.\n\nConceptualization\n\nThe conceptualization of deepmind is as follows:\n\nYou are an active participant in a network. You will perform a program on your own data. The program is designed to reproduce","text_sha256":"723b5efc5d67a96bbffef45dda203a8e4d2e5bc6631ce131b4b3e65b5a8c9862"},{"domain":"technical_explanation","label":"watermarked","pair_index":41,"sample_id":"cycle8-1070000-41-technical_explanation-watermarked","seed":1071313,"text":" Let us first discuss the problem of replication. How does a replication problem work? This is the key question we must solve in our code:\n\nThe answer is simple: your system can't replicate a large number of simultaneous messages, since a single message could contain thousands or millions of distinct messages. However, if you","text_sha256":"bf320531ed85f4908165058b224161ee54490151a8717860d676b05a2673c610"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":42,"sample_id":"cycle8-1070000-42-conversational_prose-unwatermarked","seed":1071344,"text":" If you're not careful, it may take you a long time to get the topic down.\n\nIf you're not careful, it may take you a long time to get the topic down. Keep your subject matter detailed. You want to find out how it works and what it really is. This will help you","text_sha256":"d0ca0e1d3d9d96498839f94610b1fda700749d24799f4c18ed2bf8488931a113"},{"domain":"conversational_prose","label":"watermarked","pair_index":42,"sample_id":"cycle8-1070000-42-conversational_prose-watermarked","seed":1071344,"text":" You'll learn why they were using this approach and why they were using it in the first place. You'll also learn how they are using it in daily life.\n\nThe most important part is how much time you devote to this topic. If it's a problem, it won't be solved by using the same","text_sha256":"8535a304cf586f112698225cf6dc2384f56fa0bf40429c7469b6ae096b2042ee"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":43,"sample_id":"cycle8-1070000-43-structured_instructional-unwatermarked","seed":1071376,"text":"\n\n1.4.1. The Sorted Mind\n\nIn the first step, we have to do some sorting. We have to do some sort of sentence sorting as well. We have to make sure the sentences are at the same level as the sentences we are trying to sort. We have to make sure","text_sha256":"3ec0db0e18c7c0e5e6884e6760d6cf93568e8fb3c1985b3747572864632d9d4c"},{"domain":"structured_instructional","label":"watermarked","pair_index":43,"sample_id":"cycle8-1070000-43-structured_instructional-watermarked","seed":1071376,"text":" Then repeat the process for every other part of the sentence. This is a great way to test your knowledge of the neural network.\n\nLearn more:\n\n1. How does deepMind work and how do you learn it?\n\n2. How do we learn to use a neural net to apply the deep","text_sha256":"849634b1fbada1e38591b292ac05814f9533b4773d5be999eb94a0731bad9e69"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":44,"sample_id":"cycle8-1070000-44-general_explanatory-unwatermarked","seed":1071408,"text":" Write one coherent paragraph without a list.\n\nThe whole point of this program is to provide useful, readable, and accurate information in the form of text, exercises, and exercises. If you are a computer programmer, this program is for you. I am sure you already know how to program in this programming language.","text_sha256":"8f3c1c97340b85f7777c6e293b4cca23daf04612384e2763a75bc7d48bfc418b"},{"domain":"general_explanatory","label":"watermarked","pair_index":44,"sample_id":"cycle8-1070000-44-general_explanatory-watermarked","seed":1071408,"text":" Let us first discuss the difference between the two.\n\nIn fact, the first point is clear: the first point is the general consensus and the second point is the point of the problem.\n\nLet's start with simple examples, then we will see that if we assume that the \"difference\" is real","text_sha256":"db643045571be08c83c538208846b934350036e37168ac7215975495ed555a74"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":45,"sample_id":"cycle8-1070000-45-technical_explanation-unwatermarked","seed":1071440,"text":"\n\nThe two main reasons why we need to consider this approach to software experiments are:\n\nIt makes it easier to test the hypothesis, to test whether the hypothesis is true, and to test whether the hypothesis is correct.\n\nIt is also easier to test whether the hypothesis is valid, because there is only","text_sha256":"680f333b71f93271447129236f7b4b268a9118a59bc080170e224cfbe8d0cfb6"},{"domain":"technical_explanation","label":"watermarked","pair_index":45,"sample_id":"cycle8-1070000-45-technical_explanation-watermarked","seed":1071440,"text":" Then test it with a database.\n\nUse the following code (you may need to install NSS):\n\nimport nss. NSS ; import nss. NSS. NSS.NSS_TEST ; import nss. NSS. NSS_TEST ; import nss.","text_sha256":"04df3a5fc1fcd85966b935e4931fee3e94e3b8eecd207ede5a10f1dff3feefc5"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":46,"sample_id":"cycle8-1070000-46-conversational_prose-unwatermarked","seed":1071472,"text":"\n\n2. Avoid saying \"I think I can do it\" or \"I'm a great communicator,\" which is often counterproductive.\n\n3. Avoid saying, \"I know you can do it\" or \"I am a great communicator,\" which is often counterproductive.\n\n4. Avoid \"I","text_sha256":"4f187466aeac3812ce3c105ff64f4187c010a8746edcae92126a39c2c9c53658"},{"domain":"conversational_prose","label":"watermarked","pair_index":46,"sample_id":"cycle8-1070000-46-conversational_prose-watermarked","seed":1071472,"text":" Let the reader know your point of view.\n\nIn addition, be sure to use the correct phrasing for the same question.\n\nFor example:\n\nI know you are a little older than me, but I think we are quite a bit older than you. I wanted to have a more \"spirit","text_sha256":"62f32540405fed0b636a0f7e2b368de038cdf0cef66783089e7928c99ac12aa0"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":47,"sample_id":"cycle8-1070000-47-structured_instructional-unwatermarked","seed":1071504,"text":" Then use this method to create a series of simple examples that show how to apply a deepmind transfer replication, such as this one.\n\nThe technique described in this book is called \"deepmind transfer replication\" by the same authors.\n\nIf you're interested in this article, you can click here to download","text_sha256":"71dcd9c07cb4982bdae8c052a4a0ffebe5de35f835314d0a48a97c1c7f13776f"},{"domain":"structured_instructional","label":"watermarked","pair_index":47,"sample_id":"cycle8-1070000-47-structured_instructional-watermarked","seed":1071504,"text":" Then repeat the process for every other step in the series. In this tutorial I will make use of the complete sentences with the final \"unfolded\" one.\n\nI will try to learn a little bit about deepmind in order to understand how to apply deepmind mix transfer replication to my experiments. I will","text_sha256":"5e0ca9a9e62b8391e2a6e05af9c43ad8033393e185fdbac895f4db4b97e5f70c"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":48,"sample_id":"cycle8-1070000-48-general_explanatory-unwatermarked","seed":1071536,"text":"\n\n\n\"In the early days, in the field of genetics, we studied the genetics of diseases. We would then look at the genetics of the genes that make the genes behave like normal. We could make the genes behave like normal, but they wouldn't behave like normal at all. We had to do some sort","text_sha256":"77b4004713dfa8d53ed2a3c39455aed16995c3f2209ea33243a05002b89cf7d1"},{"domain":"general_explanatory","label":"watermarked","pair_index":48,"sample_id":"cycle8-1070000-48-general_explanatory-watermarked","seed":1071536,"text":" Let us first discuss the basic steps.\n\n1.1.1.1 (Part 1) [ edit ]\n\n1.1.1.1 The first step of the process of understanding Deep Learning and deep learning in general is to talk about the idea of a Deep Learning. A Deep Learning is defined","text_sha256":"6af3e56ba908e32c668ba81564d7e5857251aeb0a85da81e7842b4598325d42e"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":49,"sample_id":"cycle8-1070000-49-technical_explanation-unwatermarked","seed":1071568,"text":" Then review and validate the other two. Consider how you can transfer a mix of two different sets of code into the same database. In this approach you will get a good idea of why some code has been replicated and why some other code has not.\n\nA common problem is that the number of data points required for","text_sha256":"0a447c93e16ee3ec219ceecc082c1029d1b225063297681d841eee6c4da7ace7"},{"domain":"technical_explanation","label":"watermarked","pair_index":49,"sample_id":"cycle8-1070000-49-technical_explanation-watermarked","seed":1071568,"text":" Then test it with a few people. Test it against a few people and see if the result is more successful.\n\nIn this example, we have successfully replicated the data from a few people with 3 failures. We can get an idea of how hard it is to get the same results. But we can't replicate","text_sha256":"04f9bb8655d1fabac85739d933bae3e3f59f343e726c0f5cd4fe5523b593a0b4"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":50,"sample_id":"cycle8-1070000-50-conversational_prose-unwatermarked","seed":1071601,"text":"\n\nIn the first sentence, you're probably thinking about the following question:\n\nWhat is a deepmind replication process? What is it like to work with a deepmind?\n\nDeepMind's natural language processing (NLP) is a highly efficient way of storing and processing data. In order to achieve","text_sha256":"c588a66e9173d7e10dab080ae19197625dd7f3c7fbb11a87c7654b969c71f60a"},{"domain":"conversational_prose","label":"watermarked","pair_index":50,"sample_id":"cycle8-1070000-50-conversational_prose-watermarked","seed":1071601,"text":" You'll learn how to write about the problem and why it arises within your mind.\n\nLearn:\n\n1. How does deep learning work?\n\ndeeplearning is the software that has been used for more than 30 years to create intelligent, human-like computers by creating intelligent machines by using intelligent logic.","text_sha256":"5cdb14cd340b1f1306660a96081354d9ea5ec56c859bd51b4f2f1c6f49fe19af"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":51,"sample_id":"cycle8-1070000-51-structured_instructional-unwatermarked","seed":1071632,"text":"\n\nThe first step is to put the code together. If it doesn't work, then let me know. I'll try to do more than just this one.\n\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","text_sha256":"b59f48102e444fac95ebc89b1337c3d5052d1724b102e0792bf225bb566add06"},{"domain":"structured_instructional","label":"watermarked","pair_index":51,"sample_id":"cycle8-1070000-51-structured_instructional-watermarked","seed":1071632,"text":" (There are few things more satisfying than seeing a complete sentence in a journal and then hearing it as a piece of puzzle.)\n\nIn this example, we'll use the following in order to learn how a deepmind can transfer a set of sentences, such as \"I'm a programmer.\" The first step is to","text_sha256":"a6cac9610c3b6dc1fd2a08554251c126a75660014b51138952519baec7a3a0b1"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":52,"sample_id":"cycle8-1070000-52-general_explanatory-unwatermarked","seed":1071665,"text":" Write one coherent paragraph without a comma. Write one coherent paragraph without a paragraph, with a single sentence. The number of paragraphs you will write in a sentence will depend on the number of words you write in the paragraphs you want to write. You can't write more than one paragraph of a sentence. The more you write","text_sha256":"5a08e0742f2762f0058e4c1861c472f7b2095228d2548d8c2e241076cf57c4e7"},{"domain":"general_explanatory","label":"watermarked","pair_index":52,"sample_id":"cycle8-1070000-52-general_explanatory-watermarked","seed":1071665,"text":" Let us first discuss the difference between the two.\n\nIn this example, we'll deal with several papers on the topic of artificial intelligence:\n\nDerek Fisher, \"Machine Learning and the Deep Learning Modeler\", Proceedings of the National Academy of Sciences, doi: 10.1073/pnas.14","text_sha256":"0de8bf2ae4094a79152079289d0a06c57040d6d089ea49e47298a557685556c6"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":53,"sample_id":"cycle8-1070000-53-technical_explanation-unwatermarked","seed":1071696,"text":"\n\nThe idea of deepmind mix replication is to combine the three of them. The idea is that if two people (e.g., a computer science student, an engineer) write a program that gets the value of a message from a machine, then one of them can perform a replication operation that results in the","text_sha256":"ffdb627e98c84a461c635dbe412406f757a21a3d31d4bf8386e3eed863cf0911"},{"domain":"technical_explanation","label":"watermarked","pair_index":53,"sample_id":"cycle8-1070000-53-technical_explanation-watermarked","seed":1071696,"text":" Let us first discuss the main failure mode:\n\nTest your software by generating a sequence of data with a random number generator. Select the correct sequence and test it on every subsequent test step. The sequence of data should be identical to the original random number generator. Test the test to verify that it is actually a valid","text_sha256":"91805ffd5edef5940746a98fcd508e1aa5e31027c3973e7aa276d1136c8a538e"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":54,"sample_id":"cycle8-1070000-54-conversational_prose-unwatermarked","seed":1071728,"text":"\n\n3. Create a logical structure that makes sense to you.\n\n\"Don't get me wrong. I'm a hard working human being. I'm not perfect but I'm in a good place. I understand the world. My life's really good and I'm not perfect, but I do have some","text_sha256":"bf7c2743264c7489376cba8789e1df5eb36a093baa5f1124ca0d9f7d10226230"},{"domain":"conversational_prose","label":"watermarked","pair_index":54,"sample_id":"cycle8-1070000-54-conversational_prose-watermarked","seed":1071728,"text":" You'll learn how to write about the problem and why it affects your company.\n\nExercise 3: Develop Your Internal Brain\n\nIf you're starting with the concept of a mind-body connection, you need to develop a more internal brain. If you've tried to develop a brain for thinking and writing,","text_sha256":"858926441adfa237f4495d302426a39d46d204a435ff9651a10255c585634e54"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":55,"sample_id":"cycle8-1070000-55-structured_instructional-unwatermarked","seed":1071760,"text":"\n\nTry and make a simple, high-level sequence of repeated steps with a single sentence. This can be useful for learning how to solve a maze, or to learn to solve a simple problem such as the one in which the letters of the alphabet are written.\n\nI've tried a few different approaches.","text_sha256":"57e2773b998d8180a6ef0f1044f82b073d9062bf9217cf5539f8ed85e72fc5af"},{"domain":"structured_instructional","label":"watermarked","pair_index":55,"sample_id":"cycle8-1070000-55-structured_instructional-watermarked","seed":1071760,"text":" Then repeat the process for every other step before using the last step.\n\nFor example:\n\nStep 1: Apply DeepMind Merge Replication\n\nStep 2: Apply DeepMind Merge Markov Chain\n\nStep 3: Apply DeepMind Merge Markov Chain\n\nStep 4: Apply DeepMind Merge Mark","text_sha256":"a200a01dc377efa7fe5c0fa283b252a8914e71b4c063006be931c4a641af46a0"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":56,"sample_id":"cycle8-1070000-56-general_explanatory-unwatermarked","seed":1071792,"text":" This can help you to quickly identify patterns. The author of this paper did a lot of research on the issue, so I will not cover the topic here.\n\nWe know from the evidence that deep-mind \"lives on a fixed network of nodes.\" And we know from the literature that \"sending,","text_sha256":"042deb53dd469873253f6c4a71e7ea898e9b6d1338994b149fbb7d5ed2318ffe"},{"domain":"general_explanatory","label":"watermarked","pair_index":56,"sample_id":"cycle8-1070000-56-general_explanatory-watermarked","seed":1071792,"text":" Let us first discuss how depth of field is defined. Deepmind is considered to be a deep neural network (DNC) capable of supporting the interpretation of information in short and deep (e.g., a mathematical model of an environment). Deepmind is also considered to be a deep neural network capable of supporting the interpretation","text_sha256":"2a47c9c005c71a9de5275f480007d58e630fbf54dfe7c2593b6856117108279b"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":57,"sample_id":"cycle8-1070000-57-technical_explanation-unwatermarked","seed":1071824,"text":"\n\nDefine the main idea, one failure mode, and one validation check. Define an explanation of how to perform the replication.\n\nA general explanation of how to perform the replication.\n\nA general explanation of how to perform the replication. A sample list of replication examples.\n\nA general discussion","text_sha256":"57b14ae660da9797d3c817ca1206964ec57f56b639a538e047be42592d53eb58"},{"domain":"technical_explanation","label":"watermarked","pair_index":57,"sample_id":"cycle8-1070000-57-technical_explanation-watermarked","seed":1071824,"text":" Then test it with a few people. Then test it with a couple more people. Then test it again. Then test it again, once again. Finally, test it.\n\nThen the system will run.\n\nWhy have an open source system?\n\nMost people think of it like a free software,","text_sha256":"7ea6a3cc3733e24901b5b0018d9d177356b8590fc8b59ddf2345ab73bcc9c931"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":58,"sample_id":"cycle8-1070000-58-conversational_prose-unwatermarked","seed":1071856,"text":"\n\nDell's ECDM is a good example of how to keep your questions straight.\n\nWhy do I need to be a deepmind?\n\nDell does not want to get into details about why you need to be a deepmind.\n\nThe reason you need to be a deepmind","text_sha256":"98bdee17023847e1a495e0357d0e90241d9d9fb3d7428a5b82b9a331a9f7e618"},{"domain":"conversational_prose","label":"watermarked","pair_index":58,"sample_id":"cycle8-1070000-58-conversational_prose-watermarked","seed":1071856,"text":" You'll learn how to write about the problem and answer questions that need to be answered. You'll learn to get out of your mind when you're in a situation, and move on.\n\nUse the best of English with a focus on a subject matter that feels natural to you. Use your favorite phrases to form","text_sha256":"4596e90ae67d6ba897f9469280d0ca13c8d76675938a105363cbe29a2408f882"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":59,"sample_id":"cycle8-1070000-59-structured_instructional-unwatermarked","seed":1071888,"text":" The result is: 1. A complete sentence with only three paragraphs.\n\n2. A complete sentence with a set of sentences and the set of sentences in the complete sentence.\n\n3. A complete sentence with a set of sentences and the set of sentences in the sentence in the sentence in the sentence in the","text_sha256":"34936b3053894aa4330790492596b3e8259b7f0f9f7aa2cf044411a1f2821c8b"},{"domain":"structured_instructional","label":"watermarked","pair_index":59,"sample_id":"cycle8-1070000-59-structured_instructional-watermarked","seed":1071888,"text":" (There are few words that seem more intuitive to a person who has mastered the language than \"I am\", \"I want to get to know you\", \"I want to do that\", \"I want to do that\", \"I want to do that\", etc.)\n\nAn interesting note about this is that this","text_sha256":"e44a9fee61b1797cb92be16d780490b7578126072fdd3efb2f4a431a34365862"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":60,"sample_id":"cycle8-1070000-60-general_explanatory-unwatermarked","seed":1071920,"text":" Have a clear, concise explanation of how this works and why it matters. Avoid using jargon or jargon from other sources. Use the correct terminology to convey your point of view. Avoid using jargon from other sources. Do not use jargon and jargon from other sources. Use the correct terminology to convey your point of view.\n","text_sha256":"e3f157b1a74210d8aa3c15b61858b364754ba0a4e8f1495f79f9e9a3ea50ae5d"},{"domain":"general_explanatory","label":"watermarked","pair_index":60,"sample_id":"cycle8-1070000-60-general_explanatory-watermarked","seed":1071920,"text":" Let us first discuss the following case:\n\nA small number of simple-assigned, isolated, pseudonymous pseudonymous computer viruses from a wide network of public computer systems are present in the United States. The virus infects one of the public systems, copies the files, and then infects all of the computers","text_sha256":"c1b1cdf7484ed399599eb4421d16de063bf3e39d31aaab21e30922becf69c321"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":61,"sample_id":"cycle8-1070000-61-technical_explanation-unwatermarked","seed":1071953,"text":" See: http://deepmind.org/index.php?topic=3264.msg191639#msg191639.\n\n3.3.2.6.4.1.2.1.2.2.2.2.3.4.1.3.4.","text_sha256":"41c24d56cb33911b335b4ef81458c18442262f3166cf99e545665793ba4561d3"},{"domain":"technical_explanation","label":"watermarked","pair_index":61,"sample_id":"cycle8-1070000-61-technical_explanation-watermarked","seed":1071953,"text":" Then test it from any of three validation checks, and perform a replication check that only takes a second. In the second test, the first validation check checks for the following set of errors:\n\nerror_error_condition_condition_condition_condition_condition_condition.\n\n. error_log_log","text_sha256":"b244286e5ce27b088eee2a8b2a8c4ffebd99f3c6acb4a23e7512efb903dbc469"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":62,"sample_id":"cycle8-1070000-62-conversational_prose-unwatermarked","seed":1071984,"text":" Don't confuse the \"why\" with the \"why\". Don't confuse the \"why\" with the \"why\" and \"why\" with the \"why\".\n\nIt is important to know the difference between a \"secret\" and a \"secret\".\n\nA secret is a specific location in the world where","text_sha256":"ce6c813ae79c3c03792cf60ea9dfdca7a56a232e8d644a7bac7d3df3f959a53e"},{"domain":"conversational_prose","label":"watermarked","pair_index":62,"sample_id":"cycle8-1070000-62-conversational_prose-watermarked","seed":1071984,"text":" You'll learn how to write about the problem and why it would be a good idea to take it out on other people. You'll develop strategies that will make the problem seem more manageable.\n\nThis method may sound less like science than it may seem. Many people may disagree. This is because they don't have","text_sha256":"0a9e07bd4230e5c16d476a8cdbd70d9e27ada1429b06cbbb95f2a7d1ae040bab"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":63,"sample_id":"cycle8-1070000-63-structured_instructional-unwatermarked","seed":1072016,"text":"\n\nIn a two-step test, use the test program as a \"test.\" If there is an issue, ask the questions that follow, and when the problem is solved, try to explain what the problem is. The more interesting question should be \"How long did it take before I realized I had the right","text_sha256":"9464ea39d5e7fc870f7c4a2943c9780380e35cd94a3c167b5df03e855a72f39a"},{"domain":"structured_instructional","label":"watermarked","pair_index":63,"sample_id":"cycle8-1070000-63-structured_instructional-watermarked","seed":1072016,"text":" You'll learn how to write a long list of simple, easy-to-understand sentences. Use the word \"solution\" to describe the \"deepmind\" approach. Don't be afraid to go as far as you can to overcome the limitations of the system, but don't be too quick to do something","text_sha256":"74ac2dd143533140646a000bb07602fb6f9a1881ba3d7bec842e2af97c5ae94d"}],"seed_base":1070000,"topic":"deepmind mix transfer replication"} diff --git a/evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/scorecard.json b/evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/scorecard.json new file mode 100644 index 00000000..c619d27e --- /dev/null +++ b/evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/scorecard.json @@ -0,0 +1 @@ +{"algorithm_version":"cycle8-mix-deepmind-30key-transfer-v1","confirmation_rewritten":false,"detector":"synthid_text.logits_processing.SynthIDLogitsProcessor","do_not_generate_950000":true,"effectiveness":{"identity_uw":{"detected":0,"n":64,"rate":"0/64"},"identity_wm":{"detected":63,"n":64,"rate":"63/64"},"mix_uw":{"detected":0,"n":64,"rate":"0/64"},"mix_wm":{"detected":0,"n":64,"rate":"0/64"},"mix_wm_max_score":0.5029998258446535},"evidence_label":"HYPOTHESIS","generation":"synthid_text.SynthIDGPT2LMHeadModel","keys_depth":30,"mix_freeze_confirmation":false,"model":"openai-community/gpt2","pair_count":64,"product_authorized":false,"rows":[{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.487370254266806},"label":"unwatermarked","mix":{"detected":false,"n_tokens":591,"score":0.49214529869117835,"text_sha256":"85a6d46e60896c6fd104e13fd795c4a1589a701a8a6f2141656f313530f7af1e"},"sample_id":"cycle8-1070000-00-general_explanatory-unwatermarked","source_sha256":"edf910d45e24543fc3951121850bf8cadcf9695b15701601b15fa8b1e66e688e","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.5977826187060553},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.49032642017341727,"text_sha256":"75659c1c90e3aee4a1595c82f9f28bb793f738bf67aff2bb22cc43cc67d98d68"},"sample_id":"cycle8-1070000-00-general_explanatory-watermarked","source_sha256":"d4f3254d5a7bab6a5b257f1d8f352cffdcb10c94ea6a1119984d80ab9ffaa970","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5018932752421941},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.5005878878742447,"text_sha256":"ca88e08ac5488f84cb12ca0c4bbf2ecaab725b38d9d2719acf0ba0a79ff25b5c"},"sample_id":"cycle8-1070000-01-technical_explanation-unwatermarked","source_sha256":"994e1c4e23b79bc02613af14386029899cea608fd7fe68f0f9a7822e23d5434c","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6198119122257053},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.5009980902965445,"text_sha256":"093a952e8fa853704e573b5bae97bed9915eadb7f7b5b31342f66b336cc76c43"},"sample_id":"cycle8-1070000-01-technical_explanation-watermarked","source_sha256":"8a05c1c5aa8b95179a7c3476620d74b4aa0d9a74ac8af38cf13ed0afe9450607","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.49885754092650647},"label":"unwatermarked","mix":{"detected":false,"n_tokens":590,"score":0.4997050381598614,"text_sha256":"cadd0a4bfbb7a5f1d6168de0225560c9070b36b7996ccdaef9a509c9cd61d1f5"},"sample_id":"cycle8-1070000-02-conversational_prose-unwatermarked","source_sha256":"9aa44caa6a70d97eb7efb83ed4e8715590e54c0ddab5d33536625aed2fa9f562","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6301288749564612},"label":"watermarked","mix":{"detected":false,"n_tokens":589,"score":0.4971766739008118,"text_sha256":"62ae3ee88032fd772d4829f17b5ff467b96d561f24df7c0bb34488ce6c45d4a5"},"sample_id":"cycle8-1070000-02-conversational_prose-watermarked","source_sha256":"28cf786004e9b2ccc281561ef769f62ec033c89029a2b27395112dbed9624f66","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5024109432886863},"label":"unwatermarked","mix":{"detected":false,"n_tokens":601,"score":0.49648068255101374,"text_sha256":"06727077ebcf70acc367b7b49849a97a5b52202ef26e1cf06408c182e6a7a9ff"},"sample_id":"cycle8-1070000-03-structured_instructional-unwatermarked","source_sha256":"dabfca97785b2d3f67d3bce85ee2a569c3c79cc48d2eb8ee3218d3bcf4845492","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.603894113549286},"label":"watermarked","mix":{"detected":false,"n_tokens":566,"score":0.4970714760683413,"text_sha256":"282901100f2ac3e5f2a89a9657bfaf0d3907b3315076a5582caa41929534f01d"},"sample_id":"cycle8-1070000-03-structured_instructional-watermarked","source_sha256":"fa748a937bfb2aca8911a573c2c54be7ee29f27a599bc19455f976d05f7b34ea","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.512142899390785},"label":"unwatermarked","mix":{"detected":false,"n_tokens":604,"score":0.4980805509386857,"text_sha256":"9026a7f4f7ba538f423c5db90402dfdcb715ccb3acda5906172ea7a5c27888ef"},"sample_id":"cycle8-1070000-04-general_explanatory-unwatermarked","source_sha256":"aa32bf67e0fd9724ad407510a210ef2be56e8c7339f5d233003f7921cb877edc","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.608352490421456},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.4916452321624736,"text_sha256":"9bf22e144bdc81bc8c58aebddcdd534006a79b30956df853e0fc5f097a84fdcd"},"sample_id":"cycle8-1070000-04-general_explanatory-watermarked","source_sha256":"f9fab58cd1f3c6b2798c3f85e31671ed5edf586873384cdbe8a51d0cb090b432","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5046032007919485},"label":"unwatermarked","mix":{"detected":false,"n_tokens":596,"score":0.4951414976208365,"text_sha256":"ea2bcf1e9f61d9fb4d80316077d8f51fa60417cafb94c282e6a5e6b8b32c3b92"},"sample_id":"cycle8-1070000-05-technical_explanation-unwatermarked","source_sha256":"bdb8b72a41afe510e8b4f9612d52f81254b85cc1dbf1480450ef8eeabee42189","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6134204110066179},"label":"watermarked","mix":{"detected":false,"n_tokens":596,"score":0.48578078139206665,"text_sha256":"84239d408c20c708f81c1f58d6fb8d28c512cd676df7aeca52a79a8a2970185a"},"sample_id":"cycle8-1070000-05-technical_explanation-watermarked","source_sha256":"394d5c321516fe31d98e2c0e7893403dea665168d5e3320c072c316d21282938","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.4818460466736329},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.4918841155606576,"text_sha256":"771f437a4cea47ee5466c648e885b4f5c1ea6cfcce9ee312bb62bc8b9f3363cb"},"sample_id":"cycle8-1070000-06-conversational_prose-unwatermarked","source_sha256":"0d3847d877c772bd1c3d30d1100fbb2209e1e902da83bdd46778b74801073adc","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6326506443747824},"label":"watermarked","mix":{"detected":false,"n_tokens":590,"score":0.4944000170601156,"text_sha256":"caa3dad7d9a6e5131805226c848e60dabc9fe97e227e48948e5a1ffa0b37079d"},"sample_id":"cycle8-1070000-06-conversational_prose-watermarked","source_sha256":"580edb0b989c27959951393d9d7d70c68ad278efd43385d204b3b600a1a9559d","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.49178335074886803},"label":"unwatermarked","mix":{"detected":false,"n_tokens":600,"score":0.501180533952316,"text_sha256":"fa1e67334dfb1d056f8bc7fab5244f04ade6f5057b1c315a6481f604e8ba16ea"},"sample_id":"cycle8-1070000-07-structured_instructional-unwatermarked","source_sha256":"7d9acb5bc5011eb85949ac129f302297c860259ae6e326801ffbf92d7b68b188","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6283281086729363},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.4920221564908626,"text_sha256":"3b5bb260b3f79125eeb02255d5ec52d56f0e3d66571f18851f15f2b9f500556a"},"sample_id":"cycle8-1070000-07-structured_instructional-watermarked","source_sha256":"e6eae5225e983b2245b340cc0cf28784a62fe8b4b4203d4d08352c3a3deea1eb","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4915534656913968},"label":"unwatermarked","mix":{"detected":false,"n_tokens":597,"score":0.4956862178958368,"text_sha256":"506030c3f065e91d9d7d7e0d6dcd745b3575f6838f66e8c1fcbf827b8232ba7b"},"sample_id":"cycle8-1070000-08-general_explanatory-unwatermarked","source_sha256":"8e2509583f03726eb0630308403db8442acbc6710a95023db047a06b98baad50","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6114907107309211},"label":"watermarked","mix":{"detected":false,"n_tokens":600,"score":0.4929692010697271,"text_sha256":"f01ee4d21023f37ca65b697afa20bbf01879bedf8fc50749d19c3d21cfdd471e"},"sample_id":"cycle8-1070000-08-general_explanatory-watermarked","source_sha256":"752cbc7a404654a740bab7ff459e49ef82bd0e6e221a8d08ce54d10945883981","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5017345872518286},"label":"unwatermarked","mix":{"detected":false,"n_tokens":527,"score":0.4919517595977201,"text_sha256":"a5afac2dd542afd37acabf4802e82868c7638598b0158048e87f1201dbe8f62e"},"sample_id":"cycle8-1070000-09-technical_explanation-unwatermarked","source_sha256":"bd17aaf5f1066a119ba74e40ba9195d317b8a5351592a9497f0a73b0d0062420","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6359979101358413},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.49429438938320863,"text_sha256":"ff1aad5a560bf36bbea83b1142f5a51677f42753f2bef64a6e3109ed306d25e2"},"sample_id":"cycle8-1070000-09-technical_explanation-watermarked","source_sha256":"c688a3a6de7cb7869bec65b2806179e0eac1de55a7322cc7bf20f4a7bdea3944","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.4927725531173807},"label":"unwatermarked","mix":{"detected":false,"n_tokens":595,"score":0.49339336943098705,"text_sha256":"c51760debb459ed5183bde2ed6b3ec2e54000112c4546bcba0ead4f9430a717c"},"sample_id":"cycle8-1070000-10-conversational_prose-unwatermarked","source_sha256":"c59fae18e67dbefad6f7a2a49f8cccd4676530b1416050ae9fb91973d7378699","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.5913692276668683},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.49300900939720704,"text_sha256":"ad74d0b2bdaec7a8db4e17afbb2ef24431f146984d85c268b9cb4e12c4bbc0bb"},"sample_id":"cycle8-1070000-10-conversational_prose-watermarked","source_sha256":"114061be6dd3eebb360ff0af2625fba0f9aa715c509038659d885dff453efe20","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.4886292390994586},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.48981824514739875,"text_sha256":"e6c3310998f1f9c2275df5c78fb3f51f6cc9410f7f494f3e0aeb0bf85b0ea809"},"sample_id":"cycle8-1070000-11-structured_instructional-unwatermarked","source_sha256":"4d07a96a2a6f336cee9d1f5ee461ec5a31c4a4e54dc901673024ad1e41db34e5","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6109683037269245},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.491664001023607,"text_sha256":"1f8a0861e44e09e919a1da9f29fa6520a42fefbdf7701cd0715aef6962a1050e"},"sample_id":"cycle8-1070000-11-structured_instructional-watermarked","source_sha256":"54ea3d8557623e102a3999171aaa06f1f479afe1d05d9a77701737ac691dcbfa","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5092328621281127},"label":"unwatermarked","mix":{"detected":false,"n_tokens":536,"score":0.49704428471408624,"text_sha256":"7412728ef2a705087dfd9a92a986cb0b3d57183a0466437ba875bc1064ae39cb"},"sample_id":"cycle8-1070000-12-general_explanatory-unwatermarked","source_sha256":"40516e11ae3bdc7590f086d141858cf06decabab58099d53eae940820251c6d8","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6340160222918845},"label":"watermarked","mix":{"detected":false,"n_tokens":600,"score":0.5025004688797793,"text_sha256":"2a14e46c5be5aa14ba0c38b2c447d3bcc240de2d7600826bad8e0e92bf6bf877"},"sample_id":"cycle8-1070000-12-general_explanatory-watermarked","source_sha256":"09d394af50f30dcdb1c3e1ce1ea7983576151723f3f5e4bf8a039e595a52249e","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4886064405813622},"label":"unwatermarked","mix":{"detected":false,"n_tokens":600,"score":0.4847424772462254,"text_sha256":"4e8c946f13847b9e276dbf0c23c0266b5ba583914cd09aace9c1a981e97e44d2"},"sample_id":"cycle8-1070000-13-technical_explanation-unwatermarked","source_sha256":"7c0ea4f50f110939e041d0c4565b69a1a95055b7892d08891a4513d1d1b44ff8","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6209857192615813},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.4966654675642804,"text_sha256":"69d892cba89987442af68a6d49d4ef722777bfe42cb20c449b33418e389b20e2"},"sample_id":"cycle8-1070000-13-technical_explanation-watermarked","source_sha256":"806ec0b08392e8da81cef6839fc564cdafccf8b876a2b597f85c6b2c171c776d","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5083908045977011},"label":"unwatermarked","mix":{"detected":false,"n_tokens":586,"score":0.4876760784400605,"text_sha256":"4bfecacf5f14a878b7344a5f3ccb02a3e10c2ef6e8d684526837dbd5abc3bfc8"},"sample_id":"cycle8-1070000-14-conversational_prose-unwatermarked","source_sha256":"399e3f8da7adca08ef5448676a4a9985511c8099fc31d590897bd689c4fd9a3e","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.5909996516893069},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.4983982291151075,"text_sha256":"0edf7de71860715882485242cb7b729cfa38d933971657b2eb69e189e81f698a"},"sample_id":"cycle8-1070000-14-conversational_prose-watermarked","source_sha256":"c777d2f06776602ab1b2f5b9b46db5825c0a305ddc76ae78dbd852c0e77029a1","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5142075931731104},"label":"unwatermarked","mix":{"detected":false,"n_tokens":587,"score":0.4940007629662802,"text_sha256":"ec636cc9938c85bb52ff7a277007f92c7ab5f5e25e3beae13db6aaf8da55a9b2"},"sample_id":"cycle8-1070000-15-structured_instructional-unwatermarked","source_sha256":"9534daa6dc3206dbada4c35099a294669a53b6fbb57ea38d6f2402e8bc97fbdd","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.5945663531870429},"label":"watermarked","mix":{"detected":false,"n_tokens":421,"score":0.5024085467639624,"text_sha256":"2db18c789035962153d60ded534fbf1eae25ecc417814b337603fd6facf34522"},"sample_id":"cycle8-1070000-15-structured_instructional-watermarked","source_sha256":"a275987083651200cb508c29f42d0dfd58f47ad14bedf1b95977e011ab7d6248","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.488178098932044},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.4896064089167537,"text_sha256":"3af58cf93da52ae1c19c3aee1ced5c5ffe3d3acb8503fe93a3a9c881d30a62b1"},"sample_id":"cycle8-1070000-16-general_explanatory-unwatermarked","source_sha256":"c6138c5623717a603a9abd7f69da02eb274097b167c8f505a6a9c1fe2821bbce","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.614012539184953},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.4932630812221962,"text_sha256":"5acc2bc550e025dd5cee685c1ada260cf214c016892f79eb822b94ee70683676"},"sample_id":"cycle8-1070000-16-general_explanatory-watermarked","source_sha256":"7d22258df53eb6451e35c58cbd73c1fb95770e987075616b010920fb6011ea59","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.48974316669416496},"label":"unwatermarked","mix":{"detected":false,"n_tokens":604,"score":0.49601794354704526,"text_sha256":"e981ca293d52bde51a87c952c21d7db3e015e2d5c6ab302371eef5bc23a0475f"},"sample_id":"cycle8-1070000-17-technical_explanation-unwatermarked","source_sha256":"3733800d0899f111d99f04af15588c8388cb49236498ce955b38644cbcc9662b","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6137652385928248},"label":"watermarked","mix":{"detected":false,"n_tokens":590,"score":0.4876051806632569,"text_sha256":"2ad567895e31153a352c42f6fbfad35c46aa73eb5a2fb3b12a2a425c5a18615d"},"sample_id":"cycle8-1070000-17-technical_explanation-watermarked","source_sha256":"5f74b2cab1896045320dc9bc9667009625cd820cb1f0793942e1e36dc33ea399","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5001915708812261},"label":"unwatermarked","mix":{"detected":false,"n_tokens":595,"score":0.48637775706741226,"text_sha256":"2e53c82be65430fcdb5240844eb68ee389bd492fdfbe1d2ea5b83d9559070394"},"sample_id":"cycle8-1070000-18-conversational_prose-unwatermarked","source_sha256":"06a3b9114f96cb37ab30419b2b5a942701bcc49e7dd3c8ba99a527a01d2f6559","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.63435736677116},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.4925938742553163,"text_sha256":"a9030dbb7d9c4056466ab03d23ba6545d9c563d03bd474e2c519a2c75235059a"},"sample_id":"cycle8-1070000-18-conversational_prose-watermarked","source_sha256":"6c8188b628b529b7f7b0543449a8a1d1d4ce05653953a9b17a39f236ae44bc59","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.4965470799953559},"label":"unwatermarked","mix":{"detected":false,"n_tokens":588,"score":0.49400222645658753,"text_sha256":"59a407da8a15051e2f0eeaa159bb2fbcaf40845ce23abcd1584d92b8241dbc2c"},"sample_id":"cycle8-1070000-19-structured_instructional-unwatermarked","source_sha256":"09f6c5daa57267cf39332420eb7e6206f0bb83da828f3ed7e2235bb107266712","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6110240334378266},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.4979858033365762,"text_sha256":"6fa3f7ff2a5d0942cd4b4c4bfb91d40fee391f49d12863942bb9e2eaa76771e5"},"sample_id":"cycle8-1070000-19-structured_instructional-watermarked","source_sha256":"2c229747544b339cbc011ffc4bba08c501a07df0bd12bc1b68e5cc7956f574c8","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5054510623476142},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.4925259858109223,"text_sha256":"68fa53e68cc3e7f20e5588116dfad5511092b588e6d50a3d98a674a0c3446326"},"sample_id":"cycle8-1070000-20-general_explanatory-unwatermarked","source_sha256":"cc0d562cb876ce13aa1a3ca6b70da27aa26bf5376df2b21961055d6f855a2747","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6162347614071753},"label":"watermarked","mix":{"detected":false,"n_tokens":600,"score":0.49147233478604385,"text_sha256":"90b8b6c9078069551d6935258f81b889d308e40d05485b99b64b848993478d1b"},"sample_id":"cycle8-1070000-20-general_explanatory-watermarked","source_sha256":"3f52841d643160ba2d8679cdbdf7df0ab8c194f3b33172155b643ffe27a1d8eb","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5171717171717172},"label":"unwatermarked","mix":{"detected":false,"n_tokens":591,"score":0.49833137408568445,"text_sha256":"3e64107cc1dd6559e81170b92a525567f120e9091d0c367188c4e9f6d7663bb9"},"sample_id":"cycle8-1070000-21-technical_explanation-unwatermarked","source_sha256":"c4ab410e90290a9c622ef27d0047683e7f2170bb9e2e24d624073807a6b8bfb1","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6108246433369586},"label":"watermarked","mix":{"detected":false,"n_tokens":464,"score":0.49913573374739995,"text_sha256":"7b6be3233f8019102da5a1351bb0a61fe103a776c45cd72b25ef4e29e097b9c0"},"sample_id":"cycle8-1070000-21-technical_explanation-watermarked","source_sha256":"cb2aa8fb6dbe3b9457d0e100d69481623680cb809f39b9e2b9b7d5be159dbbca","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.482054666446681},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.4992407801185231,"text_sha256":"c7bccb9f48f11358a126909e0d96a893f9c65aa319b01f3e290ab18c235ebe48"},"sample_id":"cycle8-1070000-22-conversational_prose-unwatermarked","source_sha256":"ad9c4c8ce4c77ab05ce493699ac938e72ee4dfcb06bf611446b084945767527d","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6039498432601882},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.5029998258446535,"text_sha256":"c365816882c560768117f16ad5fa5adc3ff634dce64328be5cb67ac9cb4b0c74"},"sample_id":"cycle8-1070000-22-conversational_prose-watermarked","source_sha256":"e6e22e7595a76c8e0044a93701f765fa6c0976fbbe8d0a1a7822fd7c4f1503fe","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5110867293625915},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.4875225610335328,"text_sha256":"21c1a1b231f7efc11b15cb849c4a36cb392c180c1d8dbad641a566602d541fc4"},"sample_id":"cycle8-1070000-23-structured_instructional-unwatermarked","source_sha256":"7fd7289a69b735c77162fa446ee041d32453cc7b99421b8b726633f3056f9827","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6003378613723441},"label":"watermarked","mix":{"detected":false,"n_tokens":590,"score":0.49567426265440895,"text_sha256":"124d632dc52474e4429c87219c8ce8fa178d8ca808f58a6b62d8017f24d07d1b"},"sample_id":"cycle8-1070000-23-structured_instructional-watermarked","source_sha256":"725d049f2132dfb9426eb8aac546ba569c97c662ee034aa909fe39db3c3ab9bf","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.49838922734173224},"label":"unwatermarked","mix":{"detected":false,"n_tokens":602,"score":0.4952865956433139,"text_sha256":"26143a8f720aeb9f209b351bd2175778c5781199a7c5ffbb3e4bb47c8b78aff1"},"sample_id":"cycle8-1070000-24-general_explanatory-unwatermarked","source_sha256":"3b6ef4293e93301b62f7ca6eb02d6f225edc75a5d2f8476593d813383819ef7f","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6378049219904155},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.5004594933117427,"text_sha256":"4bfb44dbb99e40519b2059159bc62de067276229227cdff1c360cc2b3ebb9ac9"},"sample_id":"cycle8-1070000-24-general_explanatory-watermarked","source_sha256":"d54f81b7770a98046211c33c857cc37185a5b20bf4aebda3d21ee57e7cc86c6b","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.49289097875304777},"label":"unwatermarked","mix":{"detected":false,"n_tokens":596,"score":0.4911910689040506,"text_sha256":"33829fa66fd9cfbd7c5bcafeac7d7d8633684725c5e0b0f7cd6207041db10932"},"sample_id":"cycle8-1070000-25-technical_explanation-unwatermarked","source_sha256":"7568aec718441cbb3e950f3d72e4e4639d9063594240aecf5cddb60b0d55c71a","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6146638801811216},"label":"watermarked","mix":{"detected":false,"n_tokens":600,"score":0.49790109663633114,"text_sha256":"209c0f587e1446368173438a12cd7fbfaf29f3e5c7b966a22271dda6f73aa9a4"},"sample_id":"cycle8-1070000-25-technical_explanation-watermarked","source_sha256":"6bf6ea531c13958c3fd6c6361904cad2a6e7c3267cd8f624155c2428a766c88a","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5013200975269941},"label":"unwatermarked","mix":{"detected":false,"n_tokens":597,"score":0.4860148733189486,"text_sha256":"8628a2722dae2165a126db493e170eef11a75484e3beb811ec974e1da3c608ab"},"sample_id":"cycle8-1070000-26-conversational_prose-unwatermarked","source_sha256":"32a08a13e949878bb5f0d4090877f5a4257e4127655aea3beb6cf268cf39c50f","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6225461511668409},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.4985298659989617,"text_sha256":"69596ddcab51924af0baf831150be6876e0bdf6b8a0814ef51d45379559621f0"},"sample_id":"cycle8-1070000-26-conversational_prose-watermarked","source_sha256":"18fa847382ef065bead73e62905737edcb4530ea3109d6a95de20f5fac5b7aa8","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5125008707767329},"label":"unwatermarked","mix":{"detected":false,"n_tokens":600,"score":0.4966109369557645,"text_sha256":"270aaee2ecc0666a810953ab44ec6ebb5172390482e3d589be527798c70bbc73"},"sample_id":"cycle8-1070000-27-structured_instructional-unwatermarked","source_sha256":"4cc6161ae36b65d055fca3170f0dacd22e2f540852f710e469a0c59da12ecbff","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.619956369502649},"label":"watermarked","mix":{"detected":false,"n_tokens":600,"score":0.5026439036858288,"text_sha256":"2a3d3a83572c6da9354d4deae1c469ce5d353f17d25016880f6e385e8f6fc731"},"sample_id":"cycle8-1070000-27-structured_instructional-watermarked","source_sha256":"2515615933863c05cd473b57f1726426de2af94f30eb466bf6843a07961c2f16","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4865367672669904},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.4896435188961788,"text_sha256":"0a5a2360e7bc4b925e648f74fa49007e0cfa04e7f4d8e47788739d3ff336ad46"},"sample_id":"cycle8-1070000-28-general_explanatory-unwatermarked","source_sha256":"ea74cebc8dbd608d29ee900468f3e87ad0032d87c2fcccb213bbb9a4f6bea46d","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.608727454454591},"label":"watermarked","mix":{"detected":false,"n_tokens":600,"score":0.4956900231062446,"text_sha256":"973912d9002e66088e62aabc023acc50dcde0422308be9d61dfdbbb4f06c2f85"},"sample_id":"cycle8-1070000-28-general_explanatory-watermarked","source_sha256":"324671cac2a54c7802239bbf85b5c7f5ef4285110e482d80258ee74bcf65bf67","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.47463253221873913},"label":"unwatermarked","mix":{"detected":false,"n_tokens":603,"score":0.4877985149508328,"text_sha256":"96d724cb9fda53e10aedc575595c7288e1bd133d75bed5cfeb584357dc44cda8"},"sample_id":"cycle8-1070000-29-technical_explanation-unwatermarked","source_sha256":"d95aa2879f932fd5e4e9f21b5edd11bf88f905a06cc4f5a21e578eed5f2aea44","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.5756530825496343},"label":"watermarked","mix":{"detected":false,"n_tokens":538,"score":0.4932759336396559,"text_sha256":"41c58abdd8502125d1dab01c3a1c2b80da2d338132e929b5ea9ca31030258182"},"sample_id":"cycle8-1070000-29-technical_explanation-watermarked","source_sha256":"aab227afe174b0f877902706b6076fe76d844d970cdac68e277d04d2e2db7769","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.4968852986094366},"label":"unwatermarked","mix":{"detected":false,"n_tokens":483,"score":0.5008407549743576,"text_sha256":"3ac3f3c16e26528e4ccc5e39e2a39ac7e3575ad38b9a39eaed949fae6fa42f24"},"sample_id":"cycle8-1070000-30-conversational_prose-unwatermarked","source_sha256":"4efb133a6ab4a7e3c8c6068bb8e5ed46dd60446e07ee12b3d6803d48aea994ca","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6014071752002788},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.4967559915057134,"text_sha256":"4ad3d7002d083ef8b6796fb585d3aa5d2133bec5f03a37724572518f28b23bb1"},"sample_id":"cycle8-1070000-30-conversational_prose-watermarked","source_sha256":"31134e73ebe40ee107d8ca26787c59aab82ade10d6b8cabeb1fa768cb4ab5929","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5218042493904563},"label":"unwatermarked","mix":{"detected":false,"n_tokens":605,"score":0.49580193954059654,"text_sha256":"1a02e9f433255a10aa56a18f317f2addbd239ed2d04f7e48847b7117bc2a38c0"},"sample_id":"cycle8-1070000-31-structured_instructional-unwatermarked","source_sha256":"e5703bd282a749fd691adf4379e1ac3aa5abf2d6473fd8b8063a9809656fa44e","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6268268895855104},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.5026964589154741,"text_sha256":"551e87634d326af2850b7fa858e5d45b8d3df48528a3b1188f414f8855a83420"},"sample_id":"cycle8-1070000-31-structured_instructional-watermarked","source_sha256":"172e376456928fe2bc248d4135120b2e6354d8115a4411dd79ece3c9ae20bd7c","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5183908045977011},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.5009723858395064,"text_sha256":"d4bcfbdd07bcc1759ded01dfa64dca0fb37bda4ad391be03f919c6a94ef296ff"},"sample_id":"cycle8-1070000-32-general_explanatory-unwatermarked","source_sha256":"42dc58bfa9252f62355239338527dee2ee0570a2fe9f4859d4c19227e1b2d3ba","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6343782654127482},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.49472028404175233,"text_sha256":"b7b349b4916e5262dd5bff95c5b2f9320492fadc9fc31bcffd13917f473865bc"},"sample_id":"cycle8-1070000-32-general_explanatory-watermarked","source_sha256":"0b6bc22e5a2fc2693b4edc1c879e0f37bfc822be16e168457b0e9bbedc15688e","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4847439916405433},"label":"unwatermarked","mix":{"detected":false,"n_tokens":597,"score":0.493388102187151,"text_sha256":"9b16af220993f06186cbc7cfe6f46a3e057ec71b77a49ec71f6ea16010071b23"},"sample_id":"cycle8-1070000-33-technical_explanation-unwatermarked","source_sha256":"3ceaceff100623f8e25c7a3ec51d97602c150f6c1b6477bf5eaad277192a0eec","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6105747126436782},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.4978943902892887,"text_sha256":"367881a260c767d7afee6baf95faa41604422ce7b9e54bb47f35d9fcd08f17c4"},"sample_id":"cycle8-1070000-33-technical_explanation-watermarked","source_sha256":"12399372c14eb01395ee8857c4cd7d9797ceb6c7352424300ac4b07eefd0c901","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5130056724884311},"label":"unwatermarked","mix":{"detected":false,"n_tokens":590,"score":0.4824547865927176,"text_sha256":"a17a34291505b04a435c4404b482b9cc6846418fafe565a868a0f5a18711fcdf"},"sample_id":"cycle8-1070000-34-conversational_prose-unwatermarked","source_sha256":"3ae7d4b71f6d9e1cb2731db5fb8fae670af6cb50557b7366dbf502ccacb4d286","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6261449212697726},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.5028555652243809,"text_sha256":"24665bcf36567e2b1c02af47794cd6dadf1548393172ab888c224a237fe97e71"},"sample_id":"cycle8-1070000-34-conversational_prose-watermarked","source_sha256":"9864176fea8019234e4a863033ae58b1a3c822c18c3f51629b2a3a7c08d9bbbc","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.49809529047278595},"label":"unwatermarked","mix":{"detected":false,"n_tokens":590,"score":0.4945380456624835,"text_sha256":"808704ddde7050271c382c6ea4a044f8647a37a9159c46a351232ab9eea1bb3f"},"sample_id":"cycle8-1070000-35-structured_instructional-unwatermarked","source_sha256":"4dd9d4428bf306d6941f5c83326eff3a1946bdffbc8ed022502913f5bc1e6719","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6283281086729363},"label":"watermarked","mix":{"detected":false,"n_tokens":592,"score":0.4950908815926965,"text_sha256":"766f29405717217d757d52a2038848c50db8f7637b957fc25efd6178203c9082"},"sample_id":"cycle8-1070000-35-structured_instructional-watermarked","source_sha256":"f373f3631b879e7041b66a60916f9c29c6f930d878c343835ebe319caf889c78","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5059804946011843},"label":"unwatermarked","mix":{"detected":false,"n_tokens":599,"score":0.5009574573092489,"text_sha256":"be499daf397db29e05cf2aa6ca3dff54cab63698126ff1317c05c6372a48db35"},"sample_id":"cycle8-1070000-36-general_explanatory-unwatermarked","source_sha256":"c147088b393e161bbe7d4a6c47f1781cc3d46c4ed588ff7b72268be6bd5dcd4a","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6167189132706375},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.49387112504353886,"text_sha256":"36800228e7b26e31245cce16cba3b48d4a69ce89ed6d851c64247f1230ad6da3"},"sample_id":"cycle8-1070000-36-general_explanatory-watermarked","source_sha256":"0f2a126260678cabf1268e6aae44b01478738f990f073712f076cbcc676dd88c","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5079827950718088},"label":"unwatermarked","mix":{"detected":false,"n_tokens":600,"score":0.49319520754448454,"text_sha256":"a18c3dd4ba4a6ca4c7edd93eb6144ed53fce90cb9b48cb82bf8e6e4c45939e7d"},"sample_id":"cycle8-1070000-37-technical_explanation-unwatermarked","source_sha256":"ca8f2bbcc7ce22c374288a420d9b40c1252d6b656b3d02ae07c18dd215d9b8ba","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6187565308254963},"label":"watermarked","mix":{"detected":false,"n_tokens":453,"score":0.4940939385158452,"text_sha256":"ba001214663011e550e30172a2fcb151c491f1ee5573e177d8048c3cf98c8f5f"},"sample_id":"cycle8-1070000-37-technical_explanation-watermarked","source_sha256":"46d2df06cd555a217541dfd9fba0f632a5a477470f308b7fc0e4f08b67ddbf56","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.4990003483106932},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.49905237946475056,"text_sha256":"08da864eb96d51ba687e1748f2823c3db1218116a075421fd8755ba2ff0827a3"},"sample_id":"cycle8-1070000-38-conversational_prose-unwatermarked","source_sha256":"e5fc0c0f3b64180639e72ebd1128419b2ae90486b5581061ff3ab028e21acd71","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6101044932079416},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.4847232386340881,"text_sha256":"a7f843b0aa44d42ae2db242bace02002b60e0d88f8b906d18bd4cff8037ddf8e"},"sample_id":"cycle8-1070000-38-conversational_prose-watermarked","source_sha256":"d202796585714a424399d547b2f8e216d43b853bff3a31ad5a12ef9a9cfb4847","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.49608150470219436},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.4859532328278521,"text_sha256":"ca27e8c7be11c30acc0088b7e984dc8b24dd09f7d5d94928fcbf74b1b52991d8"},"sample_id":"cycle8-1070000-39-structured_instructional-unwatermarked","source_sha256":"d8f7dc5ab51b64d04a6576dbfcd74da6da7a52f96e60522fa36ffab1d9d25660","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6012469522814351},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.4912576241649725,"text_sha256":"5b61a23c9ea77faf95fb41102c73f53aa116273bd82c37fee71b288e331d46ad"},"sample_id":"cycle8-1070000-39-structured_instructional-watermarked","source_sha256":"e70970c6eddd6285743b0e388f4579ec007e47f5ea68ea1bcbe1d17a1a4bf093","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5174609921541541},"label":"unwatermarked","mix":{"detected":false,"n_tokens":596,"score":0.4876905492117741,"text_sha256":"a4d91a282b30dae8a1f50e5213e6cbea49527e95124cc846b275c8bf2d97283a"},"sample_id":"cycle8-1070000-40-general_explanatory-unwatermarked","source_sha256":"bcb2973175d55c6ee7a4a8bd3a49d4b4e9cd6776bb85c80086e699074d130295","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6147126436781609},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.4940115279603601,"text_sha256":"4f77da6323990a4af6205573c3e2ead8c19059f1c93ddde5f30d6ed11bb3197c"},"sample_id":"cycle8-1070000-40-general_explanatory-watermarked","source_sha256":"95dd8880b153ec07a4d1c7f4ebb70e8762bceb843faff37b6bedf851fc669ada","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5184918146987113},"label":"unwatermarked","mix":{"detected":false,"n_tokens":596,"score":0.49917171717171716,"text_sha256":"cb69662f61ad55ca4a15d1bc2988c3d60c18cb40b6692bda9eab8d6b4d15de0e"},"sample_id":"cycle8-1070000-41-technical_explanation-unwatermarked","source_sha256":"723b5efc5d67a96bbffef45dda203a8e4d2e5bc6631ce131b4b3e65b5a8c9862","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6301671891327064},"label":"watermarked","mix":{"detected":false,"n_tokens":600,"score":0.4912063021292838,"text_sha256":"0607c06668f7d38734a5b9eb4f9840401998757af33354228dea90862088cd34"},"sample_id":"cycle8-1070000-41-technical_explanation-watermarked","source_sha256":"bf320531ed85f4908165058b224161ee54490151a8717860d676b05a2673c610","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.510660629281319},"label":"unwatermarked","mix":{"detected":false,"n_tokens":588,"score":0.5003090465786391,"text_sha256":"291262be44440b0168fd71ea5d5897aacf622e2b43ef68e000e17353473d41e4"},"sample_id":"cycle8-1070000-42-conversational_prose-unwatermarked","source_sha256":"d0ca0e1d3d9d96498839f94610b1fda700749d24799f4c18ed2bf8488931a113","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.5895400527779254},"label":"watermarked","mix":{"detected":false,"n_tokens":592,"score":0.49370070209650424,"text_sha256":"f7f8dde0cf445ded53bd1646f47ef57b31a82db4a883e28dbe86912dd569cce2"},"sample_id":"cycle8-1070000-42-conversational_prose-watermarked","source_sha256":"8535a304cf586f112698225cf6dc2384f56fa0bf40429c7469b6ae096b2042ee","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5077586206896553},"label":"unwatermarked","mix":{"detected":false,"n_tokens":557,"score":0.49382445141065834,"text_sha256":"de757ffaff1d168ac61a4c8a40dec19e73fa8578980ca502700cfc34a3988c71"},"sample_id":"cycle8-1070000-43-structured_instructional-unwatermarked","source_sha256":"3ec0db0e18c7c0e5e6884e6760d6cf93568e8fb3c1985b3747572864632d9d4c","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.5880215952629746},"label":"watermarked","mix":{"detected":false,"n_tokens":581,"score":0.49112904054679074,"text_sha256":"e8ff306b6877ef8fd7099a3d85de1fe0aa5e69c4817913cf624782b5141ca373"},"sample_id":"cycle8-1070000-43-structured_instructional-watermarked","source_sha256":"849634b1fbada1e38591b292ac05814f9533b4773d5be999eb94a0731bad9e69","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4869836293974225},"label":"unwatermarked","mix":{"detected":false,"n_tokens":600,"score":0.4883724754612262,"text_sha256":"a900d59e5afd33ca726538baffcc28a7f09c08f6756e0cc78d2e99f547abc8d7"},"sample_id":"cycle8-1070000-44-general_explanatory-unwatermarked","source_sha256":"8f3c1c97340b85f7777c6e293b4cca23daf04612384e2763a75bc7d48bfc418b","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6176398703575794},"label":"watermarked","mix":{"detected":false,"n_tokens":596,"score":0.4996413548137686,"text_sha256":"8c36b6489c2b283133150a3ade64c98f6a757685c67a879e4fd4e5da4edcfe25"},"sample_id":"cycle8-1070000-44-general_explanatory-watermarked","source_sha256":"db643045571be08c83c538208846b934350036e37168ac7215975495ed555a74","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5165563682805062},"label":"unwatermarked","mix":{"detected":false,"n_tokens":597,"score":0.4948188784395681,"text_sha256":"d6ef04a1fc60908296997d470c9a1ab76333938b74a475f5b1059e9bc655ffa3"},"sample_id":"cycle8-1070000-45-technical_explanation-unwatermarked","source_sha256":"680f333b71f93271447129236f7b4b268a9118a59bc080170e224cfbe8d0cfb6","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.5614396841983049},"label":"watermarked","mix":{"detected":false,"n_tokens":383,"score":0.4995998439824914,"text_sha256":"1468858e6d32bd426c74b6f2ef757a1b5cb30433079d9597e80709930eaa0878"},"sample_id":"cycle8-1070000-45-technical_explanation-watermarked","source_sha256":"04df3a5fc1fcd85966b935e4931fee3e94e3b8eecd207ede5a10f1dff3feefc5","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5004602147668913},"label":"unwatermarked","mix":{"detected":false,"n_tokens":505,"score":0.49447320765779185,"text_sha256":"ccb6af00aa53317071f7f2f9fd64b4c5ed87e5537e545da4b6dc7257c2c1d05d"},"sample_id":"cycle8-1070000-46-conversational_prose-unwatermarked","source_sha256":"4f187466aeac3812ce3c105ff64f4187c010a8746edcae92126a39c2c9c53658","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.5879588993382098},"label":"watermarked","mix":{"detected":false,"n_tokens":571,"score":0.49725549627353693,"text_sha256":"dce6c3a80005cff46a17955eea601fcd6cc19ffe7fcd85cb9df83cc099367ef2"},"sample_id":"cycle8-1070000-46-conversational_prose-watermarked","source_sha256":"62f32540405fed0b636a0f7e2b368de038cdf0cef66783089e7928c99ac12aa0","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.47531870428422157},"label":"unwatermarked","mix":{"detected":false,"n_tokens":598,"score":0.4957171311372852,"text_sha256":"f1bdb254607f605bcb577c9cb5e6f123cf1f6d4dcf254616c77a6ab6e96be648"},"sample_id":"cycle8-1070000-47-structured_instructional-unwatermarked","source_sha256":"71dcd9c07cb4982bdae8c052a4a0ffebe5de35f835314d0a48a97c1c7f13776f","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6116335771508186},"label":"watermarked","mix":{"detected":false,"n_tokens":592,"score":0.49528645494272905,"text_sha256":"c46c43316c848d36722380d6fc7915203cf6ece8a54692e3b64357ea4ed65f8e"},"sample_id":"cycle8-1070000-47-structured_instructional-watermarked","source_sha256":"5e0ca9a9e62b8391e2a6e05af9c43ad8033393e185fdbac895f4db4b97e5f70c","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.49932721039799083},"label":"unwatermarked","mix":{"detected":false,"n_tokens":596,"score":0.5027196695249828,"text_sha256":"2c85c4dd087bfacd7ad5341448d27a4808186a564979e88f2083fc1ed6ba16ee"},"sample_id":"cycle8-1070000-48-general_explanatory-unwatermarked","source_sha256":"77b4004713dfa8d53ed2a3c39455aed16995c3f2209ea33243a05002b89cf7d1","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.5723615464994776},"label":"watermarked","mix":{"detected":false,"n_tokens":535,"score":0.49920259365650743,"text_sha256":"b45419453b57e47385e52177bb0fde11a7fc3491c3536bbd60a4242532e074e2"},"sample_id":"cycle8-1070000-48-general_explanatory-watermarked","source_sha256":"6af3e56ba908e32c668ba81564d7e5857251aeb0a85da81e7842b4598325d42e","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4792406826889586},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.48870009768583283,"text_sha256":"b9dac5144c0019e5899b8330b8807d49217ca84710134d95c1591c9c96a48333"},"sample_id":"cycle8-1070000-49-technical_explanation-unwatermarked","source_sha256":"0a447c93e16ee3ec219ceecc082c1029d1b225063297681d841eee6c4da7ace7","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6049634273772205},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.4875569208402792,"text_sha256":"a31ae3a749b2770d2db718ac72c11c715cb040de540542c930bc504c04d73849"},"sample_id":"cycle8-1070000-49-technical_explanation-watermarked","source_sha256":"04f9bb8655d1fabac85739d933bae3e3f59f343e726c0f5cd4fe5523b593a0b4","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.46578195750609547},"label":"unwatermarked","mix":{"detected":false,"n_tokens":599,"score":0.4915783602900167,"text_sha256":"a44f23962e2e6d9c211c925720ebbfc719d0691bb09c39cb141c23cac3da93b6"},"sample_id":"cycle8-1070000-50-conversational_prose-unwatermarked","source_sha256":"c588a66e9173d7e10dab080ae19197625dd7f3c7fbb11a87c7654b969c71f60a","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6242737722048067},"label":"watermarked","mix":{"detected":false,"n_tokens":599,"score":0.494564594042128,"text_sha256":"e849c18cbe4509b4ff917fad203d8e410311cebb93f5ae6f0daeabffcfe629b8"},"sample_id":"cycle8-1070000-50-conversational_prose-watermarked","source_sha256":"5cdb14cd340b1f1306660a96081354d9ea5ec56c859bd51b4f2f1c6f49fe19af","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.478707767328457},"label":"unwatermarked","mix":{"detected":false,"n_tokens":308,"score":0.49162435427612705,"text_sha256":"17f37f3fce012688335ab577d6988e15d3d7252185e1c1a3933c90ee11e3a54e"},"sample_id":"cycle8-1070000-51-structured_instructional-unwatermarked","source_sha256":"b59f48102e444fac95ebc89b1337c3d5052d1724b102e0792bf225bb566add06","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6199024730059214},"label":"watermarked","mix":{"detected":false,"n_tokens":593,"score":0.4922630488034672,"text_sha256":"e72b58aac84e420dc2bbcf82cdbeeed9ff51e8db51ff4b0f2cf7160fbb06d4c3"},"sample_id":"cycle8-1070000-51-structured_instructional-watermarked","source_sha256":"a6cac9610c3b6dc1fd2a08554251c126a75660014b51138952519baec7a3a0b1","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.516280775082953},"label":"unwatermarked","mix":{"detected":false,"n_tokens":601,"score":0.4982897504067299,"text_sha256":"504343df8db07d1b9df510db28d51520a3f0d7ea8a8180fe6fc1a7c737c2850d"},"sample_id":"cycle8-1070000-52-general_explanatory-unwatermarked","source_sha256":"5a08e0742f2762f0058e4c1861c472f7b2095228d2548d8c2e241076cf57c4e7","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6058829676071056},"label":"watermarked","mix":{"detected":false,"n_tokens":603,"score":0.4920678893413457,"text_sha256":"63877fda922d3e36c4ccc142dace9085d7ba795e7a14eda3d5930d94a15377ca"},"sample_id":"cycle8-1070000-52-general_explanatory-watermarked","source_sha256":"0de8bf2ae4094a79152079289d0a06c57040d6d089ea49e47298a557685556c6","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5089237199582027},"label":"unwatermarked","mix":{"detected":false,"n_tokens":592,"score":0.4988920857130588,"text_sha256":"8b60db1c6a8d9a29b334f36c8e533d2e06c2a7a433295e036000fd58429d3df5"},"sample_id":"cycle8-1070000-53-technical_explanation-unwatermarked","source_sha256":"ffdb627e98c84a461c635dbe412406f757a21a3d31d4bf8386e3eed863cf0911","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6101694915254238},"label":"watermarked","mix":{"detected":false,"n_tokens":600,"score":0.4988176475924564,"text_sha256":"c487f820eb5043886b483c167e37187390f62a25b17f5144c10897d1adfc7dd2"},"sample_id":"cycle8-1070000-53-technical_explanation-watermarked","source_sha256":"91805ffd5edef5940746a98fcd508e1aa5e31027c3973e7aa276d1136c8a538e","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.4998813382214902},"label":"unwatermarked","mix":{"detected":false,"n_tokens":541,"score":0.49561954417980014,"text_sha256":"4d5a64f3e261e0c352da99b77ef650d96baa7d46140d793847568f3ddc10de0d"},"sample_id":"cycle8-1070000-54-conversational_prose-unwatermarked","source_sha256":"bf7c2743264c7489376cba8789e1df5eb36a093baa5f1124ca0d9f7d10226230","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6169905956112853},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.49661088336950415,"text_sha256":"1714b4785ca6472692ff5ff7c8a5eb26eb63cf58fd54149822c1ff28f572caea"},"sample_id":"cycle8-1070000-54-conversational_prose-watermarked","source_sha256":"858926441adfa237f4495d302426a39d46d204a435ff9651a10255c585634e54","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.49544409613375134},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.4862129250060285,"text_sha256":"b5ae5165f074cae1e9bfa9451ef18aaaec15fb1da74ada2a6d8ed37a59b9caff"},"sample_id":"cycle8-1070000-55-structured_instructional-unwatermarked","source_sha256":"57e2773b998d8180a6ef0f1044f82b073d9062bf9217cf5539f8ed85e72fc5af","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5506138975966562},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.4947784356979759,"text_sha256":"48120acd6a1eb1e517dcdbef890a3bcba239b6ad73f2c54ebd25c81dae2a6656"},"sample_id":"cycle8-1070000-55-structured_instructional-watermarked","source_sha256":"a200a01dc377efa7fe5c0fa283b252a8914e71b4c063006be931c4a641af46a0","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5155451062347615},"label":"unwatermarked","mix":{"detected":false,"n_tokens":591,"score":0.48862824531790056,"text_sha256":"bb3f56bdd34b1a4d998a18e836b8f0ccfeed530d398cf2d30977b38a805e70db"},"sample_id":"cycle8-1070000-56-general_explanatory-unwatermarked","source_sha256":"042deb53dd469873253f6c4a71e7ea898e9b6d1338994b149fbb7d5ed2318ffe","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.5879129856559324},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.4944507510666292,"text_sha256":"aaf3a99817b48cc894fd7970e042227f76d9a28801ad13f0c5724d93a2c26334"},"sample_id":"cycle8-1070000-56-general_explanatory-watermarked","source_sha256":"2a47c9c005c71a9de5275f480007d58e630fbf54dfe7c2593b6856117108279b","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4874021969059816},"label":"unwatermarked","mix":{"detected":false,"n_tokens":601,"score":0.4900071913576568,"text_sha256":"de24e617112b140c374f7313784f6ecd1a0ae89f8cca554c706fabb712cb5705"},"sample_id":"cycle8-1070000-57-technical_explanation-unwatermarked","source_sha256":"57b14ae660da9797d3c817ca1206964ec57f56b639a538e047be42592d53eb58","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6014009830101784},"label":"watermarked","mix":{"detected":false,"n_tokens":580,"score":0.49207783758206664,"text_sha256":"4b008634d69baa4e6af5e7702e093482725dee51f6bc14cc07a2367a86a15b4a"},"sample_id":"cycle8-1070000-57-technical_explanation-watermarked","source_sha256":"7ea6a3cc3733e24901b5b0018d9d177356b8590fc8b59ddf2345ab73bcc9c931","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.4988190295932652},"label":"unwatermarked","mix":{"detected":false,"n_tokens":510,"score":0.49255742376745515,"text_sha256":"b680254ba9c41baf1107a310a9b6b410004340cf94d5372c2e317ee2d03f3e9a"},"sample_id":"cycle8-1070000-58-conversational_prose-unwatermarked","source_sha256":"98bdee17023847e1a495e0357d0e90241d9d9fb3d7428a5b82b9a331a9f7e618","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6148624172762104},"label":"watermarked","mix":{"detected":false,"n_tokens":593,"score":0.4987163251607189,"text_sha256":"6f293f5e35cb55126d1bf03d5df47d14e8a00a87615cfa707184006544b0ac35"},"sample_id":"cycle8-1070000-58-conversational_prose-watermarked","source_sha256":"4596e90ae67d6ba897f9469280d0ca13c8d76675938a105363cbe29a2408f882","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.47468970614471034},"label":"unwatermarked","mix":{"detected":false,"n_tokens":599,"score":0.4949046439835292,"text_sha256":"7d6ac880aca324df3f113215361319b5bca93c5f0133d25758c16e2881f77093"},"sample_id":"cycle8-1070000-59-structured_instructional-unwatermarked","source_sha256":"34936b3053894aa4330790492596b3e8259b7f0f9f7aa2cf044411a1f2821c8b","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.5921221207578029},"label":"watermarked","mix":{"detected":false,"n_tokens":539,"score":0.4866291518920123,"text_sha256":"ea0e393808cdcaf91fd442e9df7d40c1571c9f9103984d2f09b500a62355c110"},"sample_id":"cycle8-1070000-59-structured_instructional-watermarked","source_sha256":"e44a9fee61b1797cb92be16d780490b7578126072fdd3efb2f4a431a34365862","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4942053766505177},"label":"unwatermarked","mix":{"detected":false,"n_tokens":599,"score":0.4901357752440098,"text_sha256":"afe70e6d98fd3defc3553ea0536ef38d0bdf735d1691f1d3818e11a1ff24fd9a"},"sample_id":"cycle8-1070000-60-general_explanatory-unwatermarked","source_sha256":"e3f157b1a74210d8aa3c15b61858b364754ba0a4e8f1495f79f9e9a3ea50ae5d","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6104353883664229},"label":"watermarked","mix":{"detected":false,"n_tokens":600,"score":0.5012075141633366,"text_sha256":"1431ed56a9bcb84d790d4e1d86dbb7bbfce0da5363a7fead283b6a9157f23997"},"sample_id":"cycle8-1070000-60-general_explanatory-watermarked","source_sha256":"c1b1cdf7484ed399599eb4421d16de063bf3e39d31aaab21e30922becf69c321","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4792351097178684},"label":"unwatermarked","mix":{"detected":false,"n_tokens":72,"score":0.48158036968976325,"text_sha256":"1bdb65f2555617762963ae1c850da807ab1f657532ba2308d3690f288fce42bf"},"sample_id":"cycle8-1070000-61-technical_explanation-unwatermarked","source_sha256":"41c24d56cb33911b335b4ef81458c18442262f3166cf99e545665793ba4561d3","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6084935233926776},"label":"watermarked","mix":{"detected":false,"n_tokens":602,"score":0.49545183945513666,"text_sha256":"dd31fe0560bb44ba51e2a8888dbf2af340e1690884eb992ec0fd6f0d31f5be62"},"sample_id":"cycle8-1070000-61-technical_explanation-watermarked","source_sha256":"b244286e5ce27b088eee2a8b2a8c4ffebd99f3c6acb4a23e7512efb903dbc469","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.4812003089364409},"label":"unwatermarked","mix":{"detected":false,"n_tokens":523,"score":0.4889846057644049,"text_sha256":"2e81b6d82b0a4aaffa8b959690a7c3fca4507a01891a4f73e957eb68cf32a3e6"},"sample_id":"cycle8-1070000-62-conversational_prose-unwatermarked","source_sha256":"ce6c813ae79c3c03792cf60ea9dfdca7a56a232e8d644a7bac7d3df3f959a53e","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6215325670498084},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.49571436161734234,"text_sha256":"1bcc114ee5c0c108f232ce5b883907c483300a619972af9cc1ae41438d651899"},"sample_id":"cycle8-1070000-62-conversational_prose-watermarked","source_sha256":"0a9e07bd4230e5c16d476a8cdbd70d9e27ada1429b06cbbb95f2a7d1ae040bab","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.48889933820968307},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.4953573087193777,"text_sha256":"aff75981eb72617234b1cc9137740681a8c942292a540a9e964711c6ee420a17"},"sample_id":"cycle8-1070000-63-structured_instructional-unwatermarked","source_sha256":"9464ea39d5e7fc870f7c4a2943c9780380e35cd94a3c167b5df03e855a72f39a","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.5770741901776385},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.4933409328393654,"text_sha256":"5abcf8af0dfe11b82fbd5c2f3722272db5bf137bb4c66c0ced56db6d89aaf010"},"sample_id":"cycle8-1070000-63-structured_instructional-watermarked","source_sha256":"74ac2dd143533140646a000bb07602fb6f9a1881ba3d7bec842e2af97c5ae94d","visible_ok":true}],"scorecard_hash":"b05e9e80e41fe8487769bdb2908642d59bc2e753746f02dcd05d8f956fb5cb92","second_configuration":true,"second_model":false,"seed_base":1070000,"threshold":0.5570987654320988,"topic":"deepmind mix transfer replication","visible_pass":true} diff --git a/evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/README.md b/evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/README.md new file mode 100644 index 00000000..745e466e --- /dev/null +++ b/evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/README.md @@ -0,0 +1,7 @@ +# Cycle 8 mix DeepMind 30-key transfer (seed 1080000) + +Status: `HYPOTHESIS`. Reserved before generation. Not mix-freeze confirmation. + +n=64. Identity WM **63/64**. Mix WM **0/64**. Mix UW **0/64**. Identity UW **0/64**. Mix WM max `0.5067599700507657`. Visible pass. + +See `evidence/cycle8-mix-deepmind-transfer-2026-08-27/`. diff --git a/evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/SHA256SUMS.txt b/evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/SHA256SUMS.txt new file mode 100644 index 00000000..0cf0a61b --- /dev/null +++ b/evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/SHA256SUMS.txt @@ -0,0 +1,3 @@ +664511654c807c09f318b2645cf4c13e3942b0a6ae94913eb49361ad56a6c02c README.md +6505b16915ac6edf93c7b190355f13571f6a92dcab0e441645b374f3f3e6cbcc samples.json +dcb98a1839544d4e8d5bdf2283df7970897e55bb9c31d56996493014421cd763 scorecard.json diff --git a/evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/samples.json b/evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/samples.json new file mode 100644 index 00000000..8a2011d7 --- /dev/null +++ b/evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/samples.json @@ -0,0 +1 @@ +{"pair_count":64,"samples":[{"domain":"general_explanatory","label":"unwatermarked","pair_index":0,"sample_id":"cycle8-1080000-00-general_explanatory-unwatermarked","seed":1080000,"text":" Do it before the first sentence and after. Explain why you need to explain why this is important. Read a book, or a CD, and go on about what you've seen in movies, music, games, or other media.\n\nDeepMind's role in the development of such concepts is to make it possible","text_sha256":"13a15d45edeb7a4f9dc090a53ba4eddbc755c8051345785534d0f06319d70e4f"},{"domain":"general_explanatory","label":"watermarked","pair_index":0,"sample_id":"cycle8-1080000-00-general_explanatory-watermarked","seed":1080000,"text":" Let us first discuss the basic concept of deepmind.\n\nThe concept of deepmind is a way of looking at and describing the experience of many people. The term \"deepmind\" is often used to mean a person with an acute sense of wonder (e.g., a person who has mastered the art of","text_sha256":"8b34e00df8c1482442b191cf9a8d24ef01534b286a06075f1e9905988b6e127c"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":1,"sample_id":"cycle8-1080000-01-technical_explanation-unwatermarked","seed":1080032,"text":"\n\nThe second is to define a set of set of input parameters. We'll discuss the validation check, set of input parameters, and set of validation validation check in detail.\n\nThe third and final piece of the puzzle is to define the set of validation validation check.\n\nWhen writing code that makes a","text_sha256":"d42f9a880763b92397a65a9d9c10ada0bbc19a10078890c1f492106df4b06015"},{"domain":"technical_explanation","label":"watermarked","pair_index":1,"sample_id":"cycle8-1080000-01-technical_explanation-watermarked","seed":1080032,"text":" Then look at the underlying problem.\n\n\"Let's say you have a bunch of tests in a single line. So it's really easy to write a big test at the start and then try to write all of the results at the end. But you want a test with five test lines in each line. So","text_sha256":"0d39aaa5f0bf69bdcdd18db9197b46168ab6b228605b42612dc66c090933e4c8"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":2,"sample_id":"cycle8-1080000-02-conversational_prose-unwatermarked","seed":1080064,"text":" If you have the motivation to use natural conversational prose, you should be able to do so. You can use a more advanced, nonverbal language to convey more precise information, such as a sentence with a short phrase. The problem is, if your language is not natural, you won't be able to tell if","text_sha256":"d61c72420510b502dbef8d521ff10ae477e592df8ead43b69e6990efd4ee7ab7"},{"domain":"conversational_prose","label":"watermarked","pair_index":2,"sample_id":"cycle8-1080000-02-conversational_prose-watermarked","seed":1080064,"text":" You'll learn why they're right and why the rest of the team is wrong.\n\nDeepMind: Use Artificial Intelligence\n\nThis is the third chapter in the DeepMind series. I'm not a computer scientist, I'm a data scientist. I like to talk to people and try to help them understand the","text_sha256":"f4a01db1133e7be7719b2b0b44e560ff167c5818a011fac444200500fa6fdb6a"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":3,"sample_id":"cycle8-1080000-03-structured_instructional-unwatermarked","seed":1080096,"text":" Let a very deepmind-less person write a short three-step instruction for applying deepmind transfer holdout in an experiment. Use complete sentences and keep each step concrete. Let a very deepmind-less person write a short three-step instruction for applying deepmind transfer holdout in an experiment. Use complete sentences","text_sha256":"958781a9ddfde5124075cd9dea7a2c76df69000979f7c465785524bea47ebf94"},{"domain":"structured_instructional","label":"watermarked","pair_index":3,"sample_id":"cycle8-1080000-03-structured_instructional-watermarked","seed":1080096,"text":" Let us first apply a looping technique to the loops. If we are going for a short phrase, we need to use the following two-step technique: Lazy Loop and Slow Loop.\n\nFor the looping technique (Lazy Loop and Slow Loop), we have to take the previous step of the loop","text_sha256":"241ea5744f0aba1a15f5a93ce4f5225171c6ccc7878cb1cd460f6b5bb44d8cef"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":4,"sample_id":"cycle8-1080000-04-general_explanatory-unwatermarked","seed":1080129,"text":" Write a coherent paragraph in simple, understandable sentences. Learn to think clearly and clearly. Get good at mathematics.\n\n(4) The science of consciousness.\n\nIn his new book The Science of Consciousness, Richard Dawkins says that he believes that \"one of the big problems in human life is that we have","text_sha256":"bda50fa7945c38fc728ff44747f3fc558d6b3bac791838edb2356b04794fd8e4"},{"domain":"general_explanatory","label":"watermarked","pair_index":4,"sample_id":"cycle8-1080000-04-general_explanatory-watermarked","seed":1080129,"text":" Let us first discuss the three main kinds of transfer control.\n\nLet's start with simple transfer control. A transfer control makes you transfer something to another person. Then, once you have a transfer control, your other person must do the same thing (see the next discussion). You have two options. Either you are","text_sha256":"119cf6161123dd28a2b294e551f807d4e8e491dc1255311b29b196bf1b8bc152"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":5,"sample_id":"cycle8-1080000-05-technical_explanation-unwatermarked","seed":1080160,"text":"\n\nOne failure mode:\n\n1. A failure mode is one that is not a valid validation check or validation string.\n\n2. A validation check is a validation that should not be repeated.\n\n3. A validation string is a validation that should be discarded.\n\n4. An invalid validation","text_sha256":"e78c6dca51327e5a3a26dd47ff316bfacafa00740768f3a8bf94f10a415b5ec2"},{"domain":"technical_explanation","label":"watermarked","pair_index":5,"sample_id":"cycle8-1080000-05-technical_explanation-watermarked","seed":1080160,"text":" Then test it with a range of possible outcomes.\n\nThe original text of the paper:\n\nThis is a basic description of what we might expect to achieve with deepmind transfer holdout. DeepMind takes the following example and introduces a technique for performing deep mind transfer holdouts (see figure). This is a","text_sha256":"90264e3390a3c3d8b205db18672f4a1199c7fcb7432ea975ecaff55bd12a4352"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":6,"sample_id":"cycle8-1080000-06-conversational_prose-unwatermarked","seed":1080192,"text":"\n\nUse natural conversational prose while keeping the explanation precise. Make sure you have a clear, concise set of questions to get the most out of your conversations.\n\nMake sure you have a clear, concise set of questions to get the most out of your conversations. Try to avoid things that could make your conversation","text_sha256":"abaed182596c161bc7f2c8efa4ed11d16d0e2e4d396e49b5c0ebd68cbf7a003a"},{"domain":"conversational_prose","label":"watermarked","pair_index":6,"sample_id":"cycle8-1080000-06-conversational_prose-watermarked","seed":1080192,"text":" You'll learn why they're getting the results you want.\n\n1. Know about conversational language\n\nThe deeper an understanding of a topic, the more valuable it becomes to you as a speaker. It could mean spending hours speaking with a team or watching your children. You'll probably not understand something that is","text_sha256":"f69cf66b66247713af24a26c2e08b43f70a994d81f245bfeb3237d9f3ad84117"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":7,"sample_id":"cycle8-1080000-07-structured_instructional-unwatermarked","seed":1080224,"text":"\n\n1. Apply your second step.\n\n2. Repeat the last step.\n\n3. Repeat the last step with 2 more steps.\n\n4. Apply your third step.\n\n5. Repeat the last step.\n\n6. Repeat the last step.\n\n7. Apply your","text_sha256":"3909ab50d1af72d3fb8c7161ee253101db73b488f2e29ba9a177c60c9beb5da1"},{"domain":"structured_instructional","label":"watermarked","pair_index":7,"sample_id":"cycle8-1080000-07-structured_instructional-watermarked","seed":1080224,"text":" Let us first apply a looping task. The looping task will be the following: Step 1: Apply a looping task to a number of words for a set amount of time. We use the sequence of words as input to step 2. Step 2: Apply a looping task to a number of words for","text_sha256":"e5a578ce0a367b934cb4946c38228eb3be3663c415a7fa4f3adbad2f226bee20"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":8,"sample_id":"cycle8-1080000-08-general_explanatory-unwatermarked","seed":1080256,"text":"\n\nIf you want to find out why you might be interested in a particular article, just make sure you understand the paper. It is only a matter of time before you find out about the paper in question. In many cases you should learn a lot more about the subject (or even a little more about it).","text_sha256":"d88a83904e964558cedc66f4f6f18271afcf10d87e9935f0c454ba3506577c15"},{"domain":"general_explanatory","label":"watermarked","pair_index":8,"sample_id":"cycle8-1080000-08-general_explanatory-watermarked","seed":1080256,"text":" (There are few instances of this, so I don't recommend it.) A word count is usually 1 for the following 3 sentences:\n\n\"And that's why we keep repeating this: there is a large number of other 'tricks' to solve this problem, and we must solve them all together with the","text_sha256":"4530272b42da1e63dd3126c9940d233eb0767d24b224e6bc94a755df6e7d6f32"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":9,"sample_id":"cycle8-1080000-09-technical_explanation-unwatermarked","seed":1080288,"text":"\n\nThe main idea is that if you have a machine that can perform deep mind transfer holdouts in a small amount of time, then you can perform a \"check\" or \"decision\" on that machine. A \"check\" will give the machine more time to think about the problem. The \"decision","text_sha256":"1104d02a314981912c14accf1ddac7e929c5b122f7853ff5295f362b0b30b808"},{"domain":"technical_explanation","label":"watermarked","pair_index":9,"sample_id":"cycle8-1080000-09-technical_explanation-watermarked","seed":1080288,"text":" Let us first discuss the main features of the use of a deepmind. The main feature is to find the best place to write the code that gets generated. The main idea is to write code that is easy to read, that is simple for testing, and that provides a good level of reliability. The main idea of","text_sha256":"f5535980d4e3db1e92eec604af1ae9ea9e139c117e6636791852218645c85087"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":10,"sample_id":"cycle8-1080000-10-conversational_prose-unwatermarked","seed":1080320,"text":" Don't get bogged down in trying to explain that all-encompassing word to a simple stranger. If you need a quick reference, ask them what they're talking about. If they answer \"I don't know, but you do, right?\" then ask them to elaborate on your own interpretation. Don't","text_sha256":"0da8907f125d558ead00c01ae9b70b2b1a8fb717fffe9c13383ed75dc15ab1a9"},{"domain":"conversational_prose","label":"watermarked","pair_index":10,"sample_id":"cycle8-1080000-10-conversational_prose-watermarked","seed":1080320,"text":" (That's why I was so interested in this approach from the beginning.)\n\nThen we'll go on with the next step in the process. Once you've got this sentence to summarize, give it a try.\n\n\"The last time I was with a psychologist, he told me about the work of the","text_sha256":"9045c6c0347318a9e00f77bbe8658179cf8d8e487e9b5e5a5af4af1fbbe31364"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":11,"sample_id":"cycle8-1080000-11-structured_instructional-unwatermarked","seed":1080352,"text":"\n\nHere are the steps I used in the experiment, but you can add more to them, or use any of the instructions below.\n\nStep 1: In this step, we start with a single word. Now we have to work on the sentence \"I want to add a new sentence to the list of","text_sha256":"acc2e4603ff7c703f50712076f3e1284898a59ff22c53a38e2a3ef4b5d6d9da1"},{"domain":"structured_instructional","label":"watermarked","pair_index":11,"sample_id":"cycle8-1080000-11-structured_instructional-watermarked","seed":1080352,"text":" Then repeat the same action in the last step to make it a bit easier to perform.\n\nDo some experiments with a sample set of 5 sentences.\n\nCreate a test to figure out how deepmind transfer holdout works.\n\nFor example:\n\nStep 1: Practice the \"Dummy\" command","text_sha256":"53074dc3631c038cf6bbbc1918040101174aba8a8f39bb53ba405de0ebf73c52"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":12,"sample_id":"cycle8-1080000-12-general_explanatory-unwatermarked","seed":1080384,"text":"\n\nThe good news is that you can use this technique in your work.\n\nThe Bad\n\nLack of clarity\n\nNo clarity in the sentence\n\nDoubt\n\nIncorrectness in the sentence\n\nIncorrect grammar\n\nIncorrect syntax\n\nMissing punctuation\n\nIncorrect","text_sha256":"11b27708816236e53e75a5c89c35ddce79ffe3f4ab85e04202c67941d16de3b7"},{"domain":"general_explanatory","label":"watermarked","pair_index":12,"sample_id":"cycle8-1080000-12-general_explanatory-watermarked","seed":1080384,"text":" (There are many more such sentences in this article, but I hope they don't make you think the word \"tend\", as that is an important part of the sentence).\n\nIf you write something in plain English that is confusing for an audience you need to know, remember that it can be confusing for the","text_sha256":"2102b4c3dfee7fa119716e5cd51ac835e9942f5ad2603a8d7a6e9c50e7e0419c"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":13,"sample_id":"cycle8-1080000-13-technical_explanation-unwatermarked","seed":1080417,"text":" Consider two problems, the first one is whether a test can be performed in parallel, and the second one is whether a test can be performed on the same machine. Explain how to perform the first test, or demonstrate the second.\n\nConcepts in DeepMind, especially the first, were based on the idea","text_sha256":"a2b6fa9022d9218383a38f37371bbaeb5c3972b66cd79ca35067f3baaf12c264"},{"domain":"technical_explanation","label":"watermarked","pair_index":13,"sample_id":"cycle8-1080000-13-technical_explanation-watermarked","seed":1080417,"text":" Let us first discuss the underlying principle:\n\nIt is not possible to do much with deepmind transfer holdout except to modify the data structures of the database.\n\nIt is not possible to perform deepmind transfer holdout using a combination of database model and data structure.\n\nIn fact, deepmind transfer","text_sha256":"0b623f21c0e99230379ef143ea0bf7f2d6940c3e640079bba3a05ad6435cee84"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":14,"sample_id":"cycle8-1080000-14-conversational_prose-unwatermarked","seed":1080448,"text":" (For more information, see the Wikipedia article on this topic.)\n\nUse natural conversational prose while keeping the explanation precise. (For more information, see the Wikipedia article on this topic.) Don't try to be conversational by saying \"Oh, hello\". It's like a turd poking its way in your","text_sha256":"a7f742d670ac76c8c101b92d05b47c047b52a2bc2c4864ac210f028b55e4f81e"},{"domain":"conversational_prose","label":"watermarked","pair_index":14,"sample_id":"cycle8-1080000-14-conversational_prose-watermarked","seed":1080448,"text":" (That's why I don't give out exact translation and, say, if I hear a sentence like \"the white man is wearing a black hat\", I'd rather the person say \"the white man is wearing a black hat and black sunglasses\", and then the sentence will be more clear.)\n\n5. Use","text_sha256":"8c72f2dc358044879310ac75c215255115d1ab11e3bb3f0a55446c3c60cd7563"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":15,"sample_id":"cycle8-1080000-15-structured_instructional-unwatermarked","seed":1080480,"text":" (You can repeat the same exercises twice for different situations, and the results should be very similar. Try it out with the exact same pattern.)\n\nHere's a video of our test, using the same patterns, with a different control group.\n\nI would suggest that if you have the ability to repeat this","text_sha256":"3a58b055b569218d830462dc7a544b1cc22c77fbd62b9484e39cf844b4f5be2b"},{"domain":"structured_instructional","label":"watermarked","pair_index":15,"sample_id":"cycle8-1080000-15-structured_instructional-watermarked","seed":1080480,"text":" You'll learn how to write these sentences as you read. You'll learn to write like a true master.\n\nYou can learn in many ways to use this technique. I've taken a handful of short sentences from my graduate students and they've really kept me going. They help keep the concepts and concepts of abstract","text_sha256":"52ab79dce086ee1e73d598b8fa2beda0f76838adca6f9f8745a1f55a2b112125"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":16,"sample_id":"cycle8-1080000-16-general_explanatory-unwatermarked","seed":1080512,"text":"\n\nIn short, there are a few words that have been said about deepmind and why it is good.\n\nThe first word has been said about it for millennia by philosophers of science.\n\nThe second is from some of the scientists who studied it (like Dr. John Bellotti, who wrote in","text_sha256":"a2b76dd302259245a43aae4df0991fd2c351bf1b8c834a6040e47d3f194fe66c"},{"domain":"general_explanatory","label":"watermarked","pair_index":16,"sample_id":"cycle8-1080000-16-general_explanatory-watermarked","seed":1080512,"text":" Let us first discuss the difference between the two.\n\nIn biology, the relationship between the human brain and the spinal cord is very close. This is why any human being who has ever needed a spinal cord replacement would be aware that the most effective way to treat symptoms associated with neurological disorders is to have a spinal cord","text_sha256":"f3d8d0d0940bcf1c7dac80c864bb764a3f1b857898da540478f039d62e5fb586"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":17,"sample_id":"cycle8-1080000-17-technical_explanation-unwatermarked","seed":1080544,"text":" The main idea is that a user is able to perform a given move in the data, but it has the advantage of being able to move a particular value. The main idea is that once a given value is found, and it is found in a value, it will be replaced with the same value that was found previously","text_sha256":"37b377ae3d410ebcfe16e0d8b491db4300afe7683a7530e1451803ee7a38a19e"},{"domain":"technical_explanation","label":"watermarked","pair_index":17,"sample_id":"cycle8-1080000-17-technical_explanation-watermarked","seed":1080544,"text":" Do not set up the validation check so that it can not be set up.\n\nDo not set up the validation check so that it can not be set up. If the check is not able to be set up, set the validation check to a non-standard behavior. If it has a validation check that is","text_sha256":"7f1c4ab99e3585808270ca19e80b6f183e9b9b656b71e9df285255e3c469271a"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":18,"sample_id":"cycle8-1080000-18-conversational_prose-unwatermarked","seed":1080576,"text":" The more natural you will get out of this post, the easier it is to understand your message and get back to your job.\n\nDo I need to get in touch with my mentor and get a job?\n\nThe most important question you have to answer is \"Does your mentor and the professor know you well","text_sha256":"b9fe6daf274a33c8bc0344cfa087cf333a1f39de332b47a2f46572ae38c5e11e"},{"domain":"conversational_prose","label":"watermarked","pair_index":18,"sample_id":"cycle8-1080000-18-conversational_prose-watermarked","seed":1080576,"text":" You'll learn to get out of your thoughts and into your heart. By getting your mind out of your mind, you'll be able to do real-world things without being overwhelmed and distracted.\n\nFor more, check out:\n\nFor more, check out:\n\nFor more, check out:\n","text_sha256":"d5a2dcfb682e73d05ce9a893ac36b6fc47a08c02f3348e1ffa96194c96f2c89d"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":19,"sample_id":"cycle8-1080000-19-structured_instructional-unwatermarked","seed":1080608,"text":"\n\nIf you're not familiar with this technique, it's basically a combination of two sentences:\n\nIf you have a problem with the problem, you have to fix it.\n\nThe idea behind this technique is to make a short sentence that will go down the list of all the problems that you have.","text_sha256":"b56b05846f4f28c4d0043bfbbe7bd98b507254839e0666c9cb4419832fcdd1e0"},{"domain":"structured_instructional","label":"watermarked","pair_index":19,"sample_id":"cycle8-1080000-19-structured_instructional-watermarked","seed":1080608,"text":" Let the experiment run for an hour.\n\nSaying that you've used the \"A\" word with great success in your own language, I'd like to ask you if you've noticed any similarities between this approach and the standard approaches.\n\nWhat does it mean to say you've used \"A\" word","text_sha256":"9d8871949a0b4d4a6d385977dc42627ec53e6958bef13ff86d3082b4d55afde7"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":20,"sample_id":"cycle8-1080000-20-general_explanatory-unwatermarked","seed":1080640,"text":"\n\nA deepmind researcher (S)\n\nThe deepmind researcher is a person who is a part of a deepmind research group. Usually the group is comprised of people who work on deep-matter systems. The group may include two or more Ss:\n\nSs in the deepmind research group","text_sha256":"e838b9c80db16a809e609fe6497c361d37f451383ea0d0b3b29525845d74f6e1"},{"domain":"general_explanatory","label":"watermarked","pair_index":20,"sample_id":"cycle8-1080000-20-general_explanatory-watermarked","seed":1080640,"text":" Let us first discuss the difference between the two.\n\nIn psychology, the main reason most people think we can control our minds, is simply because we have great confidence in the ability to control our minds.\n\nThe same holds true for other psychological theories called \"psychology of mind\": it is due to the","text_sha256":"c1c013462ca6837f9d93e0c98107d6509a4b56e59c8be60901eab3bed5718748"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":21,"sample_id":"cycle8-1080000-21-technical_explanation-unwatermarked","seed":1080672,"text":" It might be useful to write a paper that explains how to identify the core failure mode.\n\nHow do you define a failure mode?\n\nThe main idea is that the core failure mode can be defined as one that is not a failure in any other way but the main failure mode of the system. The core","text_sha256":"850c30c0382527966a6a513a9666ba5dcb54f5854a141e93e6e0df8128cf0c3e"},{"domain":"technical_explanation","label":"watermarked","pair_index":21,"sample_id":"cycle8-1080000-21-technical_explanation-watermarked","seed":1080672,"text":" Let us first discuss the main failure mode. The main failure mode is to have a lot of code in front of you that has to run in parallel. That code may be running in parallel, but it has limited capacity and may have to be re-tested before being sent to the next code block, which is why","text_sha256":"fc33fe9fa390c943115135807c5b3bd8bb02e387f60b8d6d44caaf3d93d2c62f"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":22,"sample_id":"cycle8-1080000-22-conversational_prose-unwatermarked","seed":1080704,"text":" This is important because you'll likely be able to explain it to your colleagues and get them to say it.\n\nGet a natural language learner. You'll want a student who will understand complex syntax, use appropriate English, and understand the language in context. This will make it easier to translate the language into your","text_sha256":"1463c014b42b998a297a86309d321380cd5efa0e793ab228f765738d2b72f31c"},{"domain":"conversational_prose","label":"watermarked","pair_index":22,"sample_id":"cycle8-1080000-22-conversational_prose-watermarked","seed":1080704,"text":" You'll learn to get out of your mind's box and gain a deep understanding of how other people are feeling about you. You'll learn to get yourself to move from your own perspective. You'll also learn to make a more deliberate effort to get rid of people you dislike.\n\nThere are many forms of deep","text_sha256":"f12c7c4cf75a1e272faf1450a32b07d9f27e1a1d8e24d5235b3e2247433398b8"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":23,"sample_id":"cycle8-1080000-23-structured_instructional-unwatermarked","seed":1080736,"text":" You'll learn more about this by reading the transcript.\n\nHow to write and execute two-step program\n\nIn a three-step program, you first write a sentence with the following words:\n\nThe words are:\n\nI feel great.\n\nI feel like the world is getting warmer.","text_sha256":"104acc27302eb9ee0d29a0a1ab3f99d6534c8b2fb20bc7194133c9dc30c932eb"},{"domain":"structured_instructional","label":"watermarked","pair_index":23,"sample_id":"cycle8-1080000-23-structured_instructional-watermarked","seed":1080736,"text":" Then repeat the process for every other step of the experiment in your language.\n\nHow to use it\n\nIf you want to apply the concept of deepmind transfer holdout to a different language, try this simple project:\n\nA short example\n\nConsider the following example.\n\nThe original sentence should","text_sha256":"d57440be352041d77a9a4879cb70b7a887cb3e9941049231a5e5b18e54c82908"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":24,"sample_id":"cycle8-1080000-24-general_explanatory-unwatermarked","seed":1080768,"text":"\n\nSatisfy my heart-felt curiosity about how this could actually happen.\n\nAnd now, I think you're pretty much right. I think deepmind is a great tool to increase your cognitive power.\n\nBut don't worry about me. It is already here.\n\nThere's a reason","text_sha256":"b0d526993020d46d6a7a359bb5074ac1603dd234257d15f4ec9ef05b52bf6d4e"},{"domain":"general_explanatory","label":"watermarked","pair_index":24,"sample_id":"cycle8-1080000-24-general_explanatory-watermarked","seed":1080768,"text":" Then add it to your code and read it on the fly.\n\nThere are many advantages that this approach can have over pure language analysis.\n\nYou can have a lot of code with different code flow, and the one you get most out of this approach isn't what you actually need.\n\nYou can","text_sha256":"d3ecf2e3733c324c6f6e8807950552589a4e9210cc9fa3d6c1c9361552f39120"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":25,"sample_id":"cycle8-1080000-25-technical_explanation-unwatermarked","seed":1080800,"text":"\n\nI think that we will start with a simple example for the deepmind group, which shows how we can integrate it into the codebase and make sure it is working. This is a very long project. I think we will also need to make sure that it is easy to integrate.\n\nAnother example is","text_sha256":"3c5d98bdbf7072a389f4a938720bb06f137c3e9166d2a9d4ed132f27a9fb8768"},{"domain":"technical_explanation","label":"watermarked","pair_index":25,"sample_id":"cycle8-1080000-25-technical_explanation-watermarked","seed":1080800,"text":" Then test it with a few people. Then, if we are satisfied that the system works just fine and the \"check\" is complete, use the \"validation\" mode.\n\nExample 4:\n\nI have an experiment I am thinking about, and I want to know whether the system performs well on all","text_sha256":"f59a8774fec7f8350dbed3a1e6befb15ec51c04c0e58fa8106464a35ad500330"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":26,"sample_id":"cycle8-1080000-26-conversational_prose-unwatermarked","seed":1080832,"text":" This is a natural way to think.\n\nOne of the most common objections to this approach is that you cannot have deep-mind connections to help you decide what to talk about (e.g. you don't understand what the other person is saying).\n\nThe answer is that in order to have deep-","text_sha256":"f181f5d8c25c33cf65c4bf714c7093485535d2036f74589bb360402ba8508dee"},{"domain":"conversational_prose","label":"watermarked","pair_index":26,"sample_id":"cycle8-1080000-26-conversational_prose-watermarked","seed":1080832,"text":" You'll learn the true meaning of the words you speak and which words are likely to be repeated.\n\nIf you're starting with the concept of a natural language, it's worth thinking carefully before you begin. The more you learn, the less likely you are to give the same answers.\n\nHere's an","text_sha256":"25f213321c8d58d91088f76c4dd2477a54ab88c7afcc3a0ba9a06a7a4873c1ea"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":27,"sample_id":"cycle8-1080000-27-structured_instructional-unwatermarked","seed":1080864,"text":" Repeat a few times. Repeat the final step with multiple steps until you get it right.\n\nHow to Apply Deepmind Mix Transfer Holdout in a Short Course\n\nWhen I was doing my PhD, I had a very simple and very straightforward approach to doing this. I used a series of simple steps to demonstrate","text_sha256":"8e139f955bad4a471c5cd9dd101e8451d604d81606bd7c35ea13fd7156f36634"},{"domain":"structured_instructional","label":"watermarked","pair_index":27,"sample_id":"cycle8-1080000-27-structured_instructional-watermarked","seed":1080864,"text":" Then repeat the exercise as many times as the experiment lasts. Finally, the following 2-step step is used to transfer holdout and holdout in a single step, using the same instructions for applying deepmind mix transfer holdout in the same way for both steps.\n\n1.1 Step 1\n\n1","text_sha256":"24c60e585ca1d27b64096b98ef26a1642d85c256915d5db466239dde263fe43a"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":28,"sample_id":"cycle8-1080000-28-general_explanatory-unwatermarked","seed":1080897,"text":"\n\nHow to keep your mind open\n\nIf you read my book on Consciousness and Consciousness as it's written, you'll see that I don't have any illusions about the way that I'm feeling about this. I do, however, have a deep interest in the way that we interact with our subconscious","text_sha256":"22a48dc0b6677eebe493c393b37725493355fe9e8b6a073c3fa4e8a36f4a4119"},{"domain":"general_explanatory","label":"watermarked","pair_index":28,"sample_id":"cycle8-1080000-28-general_explanatory-watermarked","seed":1080897,"text":" This means, you can use it to write a sentence that will work on your next level of practice (and maybe even on your first exam).\n\nUse this in the first few paragraphs before you start to write. This is why you can also use it to write a sentence that will work on your first exam.","text_sha256":"059507a121b8dad3d50f59e11264102ab8b3ec9096581d7164533782e8eebf11"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":29,"sample_id":"cycle8-1080000-29-technical_explanation-unwatermarked","seed":1080928,"text":"\n\nHere's a bit of background on how deepmind is designed:\n\nDeepmind is a set of protocols that allow people with deep insight to communicate with one another. The main goal of deepmind is to allow people to learn. The main advantage of this approach is that it allows you to learn from all","text_sha256":"89a319944f13462a90ac6d3ae7ad07ba15971958e850caac79bc4ba0fdda56ba"},{"domain":"technical_explanation","label":"watermarked","pair_index":29,"sample_id":"cycle8-1080000-29-technical_explanation-watermarked","seed":1080928,"text":" Then test it with a few people. Then, if we are satisfied that the system works just fine and the \"check\" is successful, then it can be applied to other software projects.\n\nWhat does it mean to be an \"intelligent\" system?\n\nMost people think of how computers are supposed to","text_sha256":"cdb60a46c55f436caf4bd19a6b04e1b374c9550b7cbf50bbcaf634580d748d2b"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":30,"sample_id":"cycle8-1080000-30-conversational_prose-unwatermarked","seed":1080961,"text":" If you're a language learner, don't use natural grammar or artificial punctuation. Use regular expressions and punctuation to describe what you're trying to say.\n\nMake sure to read the first few sentences carefully, as it can make it very difficult to interpret the first sentence.\n\nKeep the following points","text_sha256":"04eeb9843e97301f02acf69573dd03ecb4d666c60bb0ae810f9889484530f2ed"},{"domain":"conversational_prose","label":"watermarked","pair_index":30,"sample_id":"cycle8-1080000-30-conversational_prose-watermarked","seed":1080961,"text":" (That's why C++ is so popular.)\n\nWhy not write yourself the code and test it with a few people?\n\n\"You don't have to write the code that's coming from deep mind; you can do it in your environment.\"\n\n(This is a common mistake people make to try","text_sha256":"86109c15a3bf3602ac4a3f746fce4fd51eaac7c7430ace69098a2a0d99d5f878"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":31,"sample_id":"cycle8-1080000-31-structured_instructional-unwatermarked","seed":1080992,"text":"\n\nSUBJECT: Why should you write a short 3-step instruction for applying deepmind mix transfer holdout?\n\nA: Why should you write a 3-step instruction for applying deepmind mix transfer holdout?\n\nSUBJECT: How can you learn to create deepmind mix transfer hold","text_sha256":"37b02dfe21c271c7a30afe8e58f14e6fae300dde7c7bcb7ff92dd45c95b72065"},{"domain":"structured_instructional","label":"watermarked","pair_index":31,"sample_id":"cycle8-1080000-31-structured_instructional-watermarked","seed":1080992,"text":" Then repeat the same action in the last step to make it a single step.\n\nFor example:\n\nStep 1: Repeat the same action\n\nStep 2: Apply a high-level flow transfer holdout\n\nStep 3: Apply a low-level flow transfer holdout\n\nStep 4: Apply","text_sha256":"f23dc984184a531f1cecbe5fd331fdc5d957edd9742d47e8a853dc79058cc285"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":32,"sample_id":"cycle8-1080000-32-general_explanatory-unwatermarked","seed":1081029,"text":" This may be called \"hippocampal-specific\" or \"neuro-specific\". It may also be called \"hippocampal-specific\" because it is the best way to understand a subject's behavior.\n\nThe idea of the \"deepmind\" is that the \"deep\" (or at","text_sha256":"a61096fd819ae92b39e1b86810ce5bea0e4d90fb81775bdb4f91d33963a4e928"},{"domain":"general_explanatory","label":"watermarked","pair_index":32,"sample_id":"cycle8-1080000-32-general_explanatory-watermarked","seed":1081029,"text":" Let us first discuss the fact that neural networks are very sensitive to neural information. DeepMind, for example, uses a series of simple artificial neural networks (ANNNs) to search for hidden and previously unknown words that are not normally found in human speech. One of them, for example, asks a computer to sort","text_sha256":"bc6f21bbce005552b591ac95210fa99349ef4aee3f1e396a66bcfbccabb8a02c"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":33,"sample_id":"cycle8-1080000-33-technical_explanation-unwatermarked","seed":1081057,"text":"\n\n4.2.2.1.1. Explain the design of the first validation test.\n\n4.2.2.1.2. Explain the design of the second validation test. Explain the design of the third validation test. Explain the design of the fourth validation test. Provide feedback about your","text_sha256":"d1c39a56e440ddffcea0de81487d14d17fc6445bfdc111ee82cfb643710f5454"},{"domain":"technical_explanation","label":"watermarked","pair_index":33,"sample_id":"cycle8-1080000-33-technical_explanation-watermarked","seed":1081057,"text":" Let us first discuss the key features of a deepmind mix.\n\nA \"low-level\" approach to deepmind transfer holdout and validation\n\nIn the present article, we will define two main concepts based on deepmind transfer holdout and validation validation. If you are interested in the concepts of a high","text_sha256":"da38de7d1e323540e6dae9058dc149a276c10ce1509e5b9311ba984e3a40bfb2"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":34,"sample_id":"cycle8-1080000-34-conversational_prose-unwatermarked","seed":1081088,"text":" You may even be able to use your own writing for explaining the point of the sentence. I suggest you to do this. Ask yourself this question before you use this technique, and then ask yourself if it makes sense for you to use your own writing.\n\nFinally, do this on a regular basis, if you","text_sha256":"a87bf7501e7f399cc3a09d89f10c925f203fca50b1c835ac55948ec01b748e9a"},{"domain":"conversational_prose","label":"watermarked","pair_index":34,"sample_id":"cycle8-1080000-34-conversational_prose-watermarked","seed":1081088,"text":" (There are few things more satisfying than hearing a single sentence change to another and then feeling like you're reading a book.)\n\nWhat is the best way, in your own words, to explain the experience?\n\nThe most often used language is the sentence-by-sentence form. It's not uncommon","text_sha256":"a4b393df4a95246801fc0765777b15546aaa3589a3ec5fb1cf1d5717f373cdfe"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":35,"sample_id":"cycle8-1080000-35-structured_instructional-unwatermarked","seed":1081120,"text":" When you are done, try to remember that this is a test you are trying to replicate with a higher level of detail.\n\nHere are some examples for applying a more deepmind mix to your own brain:\n\nUse a simple computer program like C++, for example\n\nCreate a simple example that shows","text_sha256":"1b8c9101942f635f0a4c52412a757df7fbccc866c29d077ddf8d7e3faf317b40"},{"domain":"structured_instructional","label":"watermarked","pair_index":35,"sample_id":"cycle8-1080000-35-structured_instructional-watermarked","seed":1081120,"text":" You'll learn how to write a long list of simple sentences, as well as how to write a few sentences with three different languages.\n\nLearn\n\n2:46: The basic principles of deepmind.\n\nLearn\n\n5:12: Using the term deepmind to describe concepts of the mind,","text_sha256":"c913001d28036faa6b131a23b31603bc2e37d3eaa156805ebf8989d5f880b72d"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":36,"sample_id":"cycle8-1080000-36-general_explanatory-unwatermarked","seed":1081152,"text":"\n\nThere are three types of mind control (MEC):\n\nLocus Mind Controlled (LSC)\n\nThe Locus Mind Controlled mind control (LMM) is a type of mind control that involves the use of physical force (such as by physically exerting oneself, using a tool or physical force","text_sha256":"4f9a02b8c786aad687e9c7a78660f6b1477240c2d697bc2e5e578b4517542b37"},{"domain":"general_explanatory","label":"watermarked","pair_index":36,"sample_id":"cycle8-1080000-36-general_explanatory-watermarked","seed":1081152,"text":" (Try this one: How is the world going to stop accepting us if we keep telling lies about the truth?)\n\nWhen you're a writer, it might seem natural to think you know where your writing is going. But there are many more factors to consider.\n\nWhen you're a writer, you need","text_sha256":"c2a274a996fd3f9615831c1278bf8688235de85525ecd584a6d5ce6acd7aacbb"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":37,"sample_id":"cycle8-1080000-37-technical_explanation-unwatermarked","seed":1081184,"text":"\n\n(Note that the first failure mode is the one that is expected to cause the failure. In the first case, the test fails because the test fails. In the second case, it is expected that the failure will be due to the failure)\n\nThe idea behind the test is to test the test-","text_sha256":"5fdba0428e9b2cabf46f5a3d5a202b1641fdde2b6714c59f0944a001309bc43d"},{"domain":"technical_explanation","label":"watermarked","pair_index":37,"sample_id":"cycle8-1080000-37-technical_explanation-watermarked","seed":1081184,"text":" Then test it with a few people. Then, if we are satisfied that the system works just fine and the \"check\" is complete, then we can move on to the next step: build a new object.\n\nWe can write a simple implementation of our system, but we could also use data types like integers","text_sha256":"0cb50d731bca046f500d4258fc9a55a73aba9086e36020b5a68349d3b59fae35"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":38,"sample_id":"cycle8-1080000-38-conversational_prose-unwatermarked","seed":1081216,"text":" It will be interesting to see how you approach this topic.\n\n3. A good example of a natural conversational prose example.\n\nA natural conversational prose example is a sentence or a sentence that is punctuated with a short, punctuation-less phrase.\n\nSome examples are:\n\n\"","text_sha256":"b2ed532ddad141336c0b7b0f38bb806dad8f1a443d2ca791f79eca43899b3979"},{"domain":"conversational_prose","label":"watermarked","pair_index":38,"sample_id":"cycle8-1080000-38-conversational_prose-watermarked","seed":1081216,"text":" (There are few things more satisfying than to see a book published after \"the end of the world\" and, after all, there's no such thing as a \"done.\")\n\nIn the end, what matters is who's getting the job done.\n\n-P.S. I've been following this","text_sha256":"f1a1e820fcde04b056a93667a125ba69b22e9691545899c16eda474817515533"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":39,"sample_id":"cycle8-1080000-39-structured_instructional-unwatermarked","seed":1081248,"text":" This is the first one that you will ever do for yourself.\n\nUse a full-on memory test, this is the first one you will ever do for yourself.\n\nTry to do the same thing twice. I'm not going to lie, if you try it twice, you will get the same results","text_sha256":"89f05bd28e1fe30a0d33d7cc78765ad8a317feff91206945365339eb3df1a855"},{"domain":"structured_instructional","label":"watermarked","pair_index":39,"sample_id":"cycle8-1080000-39-structured_instructional-watermarked","seed":1081248,"text":" (There are few things more satisfying than playing a long game!)\n\nThere is an obvious solution to this problem, but in a few places you can improve the game a little bit. I think we could have an idea of what this might look like, but it's not that simple. The easiest way is by","text_sha256":"bf49e7adb7c84c8bef6cb23465c7954083fd8cf0009e1ad8f081b01c2d9c43e2"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":40,"sample_id":"cycle8-1080000-40-general_explanatory-unwatermarked","seed":1081280,"text":" Don't have any idea how to get to the top. Write three sentences and give it out in three different ways. Write this out for hours. A lot. It's difficult to describe a process that's hard to describe, but what if your brain was able to make sense of the five sentences? That's the","text_sha256":"4c82afb8c43aeb2ad031a58eb2c37ff9d3644ef592bcd1f0ca12b8875204c854"},{"domain":"general_explanatory","label":"watermarked","pair_index":40,"sample_id":"cycle8-1080000-40-general_explanatory-watermarked","seed":1081280,"text":" Let us first discuss the theory that consciousness is the physical product of three parts: the temporal, spatial and temporal parts.\n\nIn fact, the basic idea behind the concept of the temporal parts is that the part of a picture that corresponds to one's state is the part of that picture that corresponds to the one of","text_sha256":"432c1cf283cf9be0850104f067a70be7db0864ce61c18c9032dab13bb94808d1"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":41,"sample_id":"cycle8-1080000-41-technical_explanation-unwatermarked","seed":1081312,"text":"\n\nA typical deepmind mixin may have a test, where they do some work (check for some bugs) or a validation check, where they try something new (check for code reuse). In the latter case, they apply an experiment on the test, and the results are a proof of concept for the experiment","text_sha256":"3e3159b79f4960630aa045601bac898d07af95da5b6eae5f71b2a4dbffd19801"},{"domain":"technical_explanation","label":"watermarked","pair_index":41,"sample_id":"cycle8-1080000-41-technical_explanation-watermarked","seed":1081312,"text":" Then test it with a series of validation tests to see if it's working.\n\nWhat does it mean to be an \"intelligent\" system?\n\nIn the example above, we use a simple system to identify which objects have the ability to hold all of the objects in a set according to their intrinsic properties","text_sha256":"6f7b141a60c1efe24ca76470bfb6cfbd03f6c54e9bc0b5f7cb8af61590ac054e"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":42,"sample_id":"cycle8-1080000-42-conversational_prose-unwatermarked","seed":1081344,"text":" And make sure that you've given plenty of detail and context in your questions. You can even have a conversation with your friend or co-worker about deepmind to get to the bottom of what you need to know.\n\nDeepMind is a platform that can be used by anyone. And if you've been learning","text_sha256":"8d2b3322d578e0eb57ca15a60d96cbc780925476d74fcff55c55ed546c58c52b"},{"domain":"conversational_prose","label":"watermarked","pair_index":42,"sample_id":"cycle8-1080000-42-conversational_prose-watermarked","seed":1081344,"text":" (That's why I was so interested in this particular article.)\n\n3. When You Think of What You'd Expect from a Conversation\n\nWhen you think of what you'd expect from a conversation, it's important to keep that in mind. I always suggest that you avoid the most uncomfortable and awkward moments in","text_sha256":"0612c9f93e6e28598f847000a825fc3ff49a818c5327be861ea7284a23b31cb8"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":43,"sample_id":"cycle8-1080000-43-structured_instructional-unwatermarked","seed":1081376,"text":"\n\nThe main idea is to make the phrase, \"In general the experience of an experiment is very different from the experience of a practice in a laboratory\", because you learn what to do in practice by practicing at your own pace.\n\nYou can do a short two-step step with a few words and see","text_sha256":"001ffa71f5eab2e4813ad99a8320f8f2a404c02484257b0f111f71e6a9abf6c4"},{"domain":"structured_instructional","label":"watermarked","pair_index":43,"sample_id":"cycle8-1080000-43-structured_instructional-watermarked","seed":1081376,"text":" You'll learn why they were useful.\n\nI'm going to let you show me a simple example of the transfer holdout that isn't really useful.\n\nStep 1: Keep everything discrete\n\nLet's say you have a bunch of sentences that we can read. If we add a few words, we","text_sha256":"e8280c3cecf8471daf2cbec6ca8637b422f008e4208b8b7e91cdce3a2b56476d"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":44,"sample_id":"cycle8-1080000-44-general_explanatory-unwatermarked","seed":1081408,"text":"\n\n2) This is what happens when you run an experiment with deepmind. If you're not sure if it's true, try to imagine how it would be if you had to go through the same process every time.\n\nIf you're interested in the implications of this, check out the following:\n","text_sha256":"f8bbda9d482f7b71b046cda56b67d3d7ab219336439d35884c724fab9dc2a2c3"},{"domain":"general_explanatory","label":"watermarked","pair_index":44,"sample_id":"cycle8-1080000-44-general_explanatory-watermarked","seed":1081408,"text":" (There are few things more important to you than this and so I will not cover it here.)\n\nIf you write this article as a footnote or to a web page, it shouldn't be a part of your article or page. If you want to make it as relevant as possible, please give it a go","text_sha256":"8de32a5a5fe7460771ee8948eeb44cd85cfc86534f2be548cd0930e09c40a00b"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":45,"sample_id":"cycle8-1080000-45-technical_explanation-unwatermarked","seed":1081440,"text":"\n\nDefine the main idea, one failure mode, and one validation check. Create a test suite. Create a sample program that describes your system's logic. Define a test suite that demonstrates the logic for each test.\n\nCreate a sample program that demonstrates the logic for each test. Use the built-","text_sha256":"204c2d838966dfff9e743ca2837e668ae869c22108f832d804d662f6c7754199"},{"domain":"technical_explanation","label":"watermarked","pair_index":45,"sample_id":"cycle8-1080000-45-technical_explanation-watermarked","seed":1081440,"text":" Then test it with a few samples and a single test. This way you can see how much each of the various tests did, and if they performed correctly. For example, a simple test with a single sample of a particular piece of code would produce two outputs. This test will probably not produce as many error messages,","text_sha256":"5e6b146fbb8f605b21d7d001eb1fa427512e602acf6d1c55f6c26145984e7edd"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":46,"sample_id":"cycle8-1080000-46-conversational_prose-unwatermarked","seed":1081473,"text":" Then ask the question: \"How did you get started in the world of neuroscience?\"\n\nIt is also important to be clear about what is happening inside the brain. For instance, is it conscious or unconscious, which may lead to unconscious thinking. If the person does not want to answer such a question, how can","text_sha256":"6bc64509c645ab7a83260d0f7d02f7804ef5b7460af5031f07d36674f1a4c4ca"},{"domain":"conversational_prose","label":"watermarked","pair_index":46,"sample_id":"cycle8-1080000-46-conversational_prose-watermarked","seed":1081473,"text":" (That's why I say \"we'll just have to talk about this later\" because naturally, I think it's important that some of the basic questions are \"who is this guy?\", \"what do I do to help this person?\", etc.)\n\nHere are some of the best examples from this series (and","text_sha256":"1a0de93e9b55b1bf6ed04dc9ec649da0dd50bb7dd3e6350b4dfeb9e04512749a"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":47,"sample_id":"cycle8-1080000-47-structured_instructional-unwatermarked","seed":1081504,"text":" Keep it simple as your brain grows. If it doesn't, you're still a novice.\n\nLet's say you have a short three-step instruction for applying deepmind mix transfer holdout in an experiment.\n\nTry to get a simple sentence like \"You're an old guy. You're old.","text_sha256":"8ce59b666c3b6b48d6f2b04d421c1454f80fa422ba0821bc757a7cc550405c25"},{"domain":"structured_instructional","label":"watermarked","pair_index":47,"sample_id":"cycle8-1080000-47-structured_instructional-watermarked","seed":1081504,"text":" Then repeat the process for every other part of the sentence until you have a strong transfer holdout.\n\n(There a way to apply this to any of the above activities in a more concrete way using a deepmind program.)\n\nSo in the next article I'll show how you can apply deepmind apply to","text_sha256":"e38159987447eb5c3194317f4d2ac662b21a5d06269a3b6016c73f520b0124cb"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":48,"sample_id":"cycle8-1080000-48-general_explanatory-unwatermarked","seed":1081536,"text":" You can write all of them one at a time.\n\nIn a similar vein, write one single paragraph without any explanation. This is how you don't have to explain all of the stuff you write (it's just what you write).\n\nWhat you should be doing is understanding what is going on in the","text_sha256":"ad71c0d0be28d4b9455f1a1d97b8bd5f5eccc7b6cc06c7f81ff606d44f180e1f"},{"domain":"general_explanatory","label":"watermarked","pair_index":48,"sample_id":"cycle8-1080000-48-general_explanatory-watermarked","seed":1081536,"text":" Let us first discuss how depth of field of study is a critical aspect in these studies.\n\nWhat is the significance of depth of field of study in DeepMind's DeepMind DeepMind DeepMind DeepMind DeepMind DeepMind DeepMind DeepMind DeepMind DeepMind DeepMind DeepMind DeepMind DeepMind DeepMind","text_sha256":"295de1feb49932aeb7c8f4d07b052df68fce770940f5f5e721c5482f96261c4f"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":49,"sample_id":"cycle8-1080000-49-technical_explanation-unwatermarked","seed":1081568,"text":"\n\nA problem with deepmind transfer holdout, to me, is that it doesn't do much to improve the readability of the read. What's most important is to get the read to the right state so that it's easy to find the correct state in the read without compromising read security. This is why","text_sha256":"7b4b55e52db45d344c4dc4f8bf6b2d258e0eea66e2bb868fbd483f0bdef0434a"},{"domain":"technical_explanation","label":"watermarked","pair_index":49,"sample_id":"cycle8-1080000-49-technical_explanation-watermarked","seed":1081568,"text":" Then test it with a few people. It's more efficient to test the test when you have people who have been there through the whole process.\n\nThe original idea of deepmind transfer holdout was that you could do something to get a hold of the system (in a real world environment) and it would be","text_sha256":"ff90994df5add89114ad7d36ec40bf0fdaf11ac569ed9a88bcf16b62827cb541"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":50,"sample_id":"cycle8-1080000-50-conversational_prose-unwatermarked","seed":1081600,"text":"\n\nYou can get the whole story of what goes through your mind when you talk to someone, without getting overwhelmed and getting in the way.\n\nA few words from the book:\n\nDo you know the difference between the thought that you're thinking and the thought that you're feeling? If you think you","text_sha256":"3405d0ae940a693ade49110a94b10b1f6ba5f8dd0e82244bf8180d63b1b6da51"},{"domain":"conversational_prose","label":"watermarked","pair_index":50,"sample_id":"cycle8-1080000-50-conversational_prose-watermarked","seed":1081600,"text":" (There are few instances of this with true understanding, it just seems that you need to be able to understand the language the same, and it is easier to explain to people who are already familiar with English than to learn English.)\n\nWhy not start with a simple sentence like \"the sky is blue\" and then","text_sha256":"1882addef5af94bd5daad2472a9f489878cb6707f215c7996f5d3e4e26ab96f9"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":51,"sample_id":"cycle8-1080000-51-structured_instructional-unwatermarked","seed":1081632,"text":"\n\nThe next step is to add the following to your program:\n\n#include #include #include int main() { while (0;!setInterval(0)) { if (setInterval(0, 0","text_sha256":"8738ab72166d3135253be760d19b01ff0a9281607c2fdb974830515cc7673962"},{"domain":"structured_instructional","label":"watermarked","pair_index":51,"sample_id":"cycle8-1080000-51-structured_instructional-watermarked","seed":1081632,"text":" Then repeat the process for every other step in the series. In some cases, if you repeat the same step twice, the previous step will not count toward the count of the first step. In other cases, you may need to have multiple repeatable steps (i.e., you need a sequence of steps of 1","text_sha256":"d3c27e2251796b1eeab12ef742db77fc589dccbabb7647b846d2bdf73a76796e"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":52,"sample_id":"cycle8-1080000-52-general_explanatory-unwatermarked","seed":1081665,"text":"\n\n3. Avoid being an impotent, self-inflicted wound. Don't think about what you are doing and try to do it alone. Just try to do it alone.\n\n4. Think of yourself as a kind of person. You have the capacity to do things to others that people would probably","text_sha256":"e8fc5b692735531b541dad8cba8118f7810f5eab47d5f22c8e18eaeb0d12ce0b"},{"domain":"general_explanatory","label":"watermarked","pair_index":52,"sample_id":"cycle8-1080000-52-general_explanatory-watermarked","seed":1081665,"text":" Then add it to your resume.\n\nThe full story can be found here: https://www.deepmind.com/deepmind-releases/2014/10/10/deepmind-releases-in-plain-english-why-deepmind-mix-transfer-holdout-matter-","text_sha256":"247cc48a0ae577b2ef380dc7c406e35b6ffa0b089d7b161a08482c1b0aa6d532"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":53,"sample_id":"cycle8-1080000-53-technical_explanation-unwatermarked","seed":1081696,"text":"\n\nFor a typical application, you can apply the approach of pure Java on an individual basis. In this case, you need to use the Java Virtual Machine to download and install the software.\n\nBut there are many ways to do this. You can use a simple Java code editor, or you can use a","text_sha256":"195f5b03d2c0a665e1dc12dfce3f56e6ffc0bfe55984a5448e37883937a19930"},{"domain":"technical_explanation","label":"watermarked","pair_index":53,"sample_id":"cycle8-1080000-53-technical_explanation-watermarked","seed":1081696,"text":" Then test it with a series of validation tests and a control test.\n\nThe original text of the paper:\n\nThis is a basic approach for dealing with complex and complex applications in a high level model using deepmind transfer holdout. DeepMind takes the existing high level modelling framework and improves on it by combining","text_sha256":"cce7e1b0014ce67abba813a8aab8de1b2836ca075195fd5a0f1e1eda0efeba62"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":54,"sample_id":"cycle8-1080000-54-conversational_prose-unwatermarked","seed":1081728,"text":"\n\nA lot of people tell me that if I ask a question, I don't ask the right questions. But you know, you're still probably not asking the right questions because you're going to be asking the wrong questions. So, try to avoid \"talking about this weird phenomenon\" or \"talking about this","text_sha256":"730253a180b23309f0445a0b1589d544e369a3509f3e6eb443f1f8ddc3d7df35"},{"domain":"conversational_prose","label":"watermarked","pair_index":54,"sample_id":"cycle8-1080000-54-conversational_prose-watermarked","seed":1081728,"text":" A simple example: \"You used to love me but now you hate me and I am so sad.\"\n\nYou can learn to write from your deep mind when you understand the point of your question, and write your own answers. You won't get to write a list of the topics, only what you read.","text_sha256":"1492431d087ff99f4ee43256a751ccfc8767ca576d06dde5d38e577bdc8cddd3"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":55,"sample_id":"cycle8-1080000-55-structured_instructional-unwatermarked","seed":1081760,"text":"\n\nFor the final test, you will want to add the word \"f\" (or \"f1\"). Use the following code in your test:\n\n#include #include #include #include int main()","text_sha256":"8359fd52b9fe5dd2e3c140e88b692358f1442fbe0865a46fb05c1d7bf485ce46"},{"domain":"structured_instructional","label":"watermarked","pair_index":55,"sample_id":"cycle8-1080000-55-structured_instructional-watermarked","seed":1081760,"text":" Let the experiment run for an hour.\n\nStep 1: Practice the \"Dummy\" part of the instructions\n\nUse the following form of the same procedure:\n\n1. Begin by explaining how to apply the \"DeepMind\" instruction in another way.\n\nThen explain how to apply the \"Deep","text_sha256":"fecf5f10c235341e9885f17fb47c5b738f6e5ce630a323ded1140d43f9614168"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":56,"sample_id":"cycle8-1080000-56-general_explanatory-unwatermarked","seed":1081792,"text":" Then add another paragraph in the same paragraph if you need to. I will be updating this blog as more data gets gathered.\n\nThe following is a list of things that are important to know about the brain. For a complete list of the information, check out my book \"Brain Power: The Uncovering of","text_sha256":"62728d2ccdb8796f1dd3c809b938a726fc821bfe602de30cc928dd378683c0f1"},{"domain":"general_explanatory","label":"watermarked","pair_index":56,"sample_id":"cycle8-1080000-56-general_explanatory-watermarked","seed":1081792,"text":" Let us first discuss the difference between the two.\n\nIn one sense, deepmind are like ants. They're social creatures in both physical and mental terms. (They're also very highly evolved, meaning that they can perform even more complex and complex tasks than humans.) They're very social creatures with very high cognitive","text_sha256":"a02d775bf078c6585ffc7042ecda8d6814372ebeae34a328a281e94c72389c82"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":57,"sample_id":"cycle8-1080000-57-technical_explanation-unwatermarked","seed":1081824,"text":" You will be able to see how this idea might work in practice in the following case.\n\nA large number of problems exist because of a lack of high-level semantic information in the language. This means that if you are working on an unstructured language (such as Java), you are not able to provide","text_sha256":"989c3a840b37f9a24176778da9317541188fd9b9820ac82e8bdadfb667ae53e0"},{"domain":"technical_explanation","label":"watermarked","pair_index":57,"sample_id":"cycle8-1080000-57-technical_explanation-watermarked","seed":1081824,"text":" Let us first discuss the implementation.\n\nInstrumentation\n\nAt the start of the program, we just have to get the address to start mapping it, before we start parsing it or sending it to a node. At the end of our test, the value of the value of the address is the value of","text_sha256":"652ebbc16be9f8d69f3b38da055328c5adc2cff3ea1efa860fa5dae2886845a8"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":58,"sample_id":"cycle8-1080000-58-conversational_prose-unwatermarked","seed":1081856,"text":"\n\nThe same can be said of language.\n\nYou can't use a natural conversational prose as the reason why your subject is a word, or a word, or an idea. It's not the point of your talk that you are talking about. It is the point of your talk.\n\nI","text_sha256":"687b6524c5b52dc4ffc0c6a715833960d4d16face403642d0af3e669cedc4959"},{"domain":"conversational_prose","label":"watermarked","pair_index":58,"sample_id":"cycle8-1080000-58-conversational_prose-watermarked","seed":1081856,"text":" You'll learn why they're getting the results you want.\n\n1. Your mind is not a machine.\n\nIt feels like you're at the cutting edge of technology (or more to the point, we're in a world where computers are the next stage in human evolution), so why would you have to","text_sha256":"0c71fd94b636c4af325a88d026e3b562896e672ab250b32f859e8a8c0b4baeae"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":59,"sample_id":"cycle8-1080000-59-structured_instructional-unwatermarked","seed":1081888,"text":"\n\nTry the same experiment at your own pace. The final result should be similar to the one seen above.\n\nThis article will help you create a more detailed guide to creating a deepmind mix instruction.\n\nTry it out with your friends and family.\n\nIf you need help with this, click","text_sha256":"25a19443d50fe09c806b1cba204a0d64c94caba4171269b1497777e0afc20f14"},{"domain":"structured_instructional","label":"watermarked","pair_index":59,"sample_id":"cycle8-1080000-59-structured_instructional-watermarked","seed":1081888,"text":" Then repeat the exercise twice.\n\n5. Use complex sentence-based strategies for extracting the desired pattern in the sentence.\n\n6. Keep the phrases consistent and predictable.\n\n7. Repeated steps will provide more effective learning experience for the next step.\n\n8. Repeat the same steps again for","text_sha256":"6b418f8bc2a12fcd9d350fd03e19faa37a4a8068084fb85e7832bab1443e76e6"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":60,"sample_id":"cycle8-1080000-60-general_explanatory-unwatermarked","seed":1081920,"text":"\n\n\"You'll never be able to get my best data,\" wrote Dr. Richard M. Gollancz, one of the most prominent critics of deepmind. \"We all get it. We all get how we treat each other. I have never seen anybody have that kind of energy and trust when it","text_sha256":"e3b22a34d4721bdbb858dfd4a5ba933ee40a802248138ca07e6532d30399de35"},{"domain":"general_explanatory","label":"watermarked","pair_index":60,"sample_id":"cycle8-1080000-60-general_explanatory-watermarked","seed":1081920,"text":" (There are few problems with this, but you should be able to understand the point.) In the short run, this will give you a pretty clear explanation of why deepmind are not always correct. The deeper you get, the more likely you are to see the problem as a problem of deeper mind.\n\nIf","text_sha256":"bc7cca121abfd4f6fa80ce40e36820252c851d398d19b46a584e9814c93cde4c"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":61,"sample_id":"cycle8-1080000-61-technical_explanation-unwatermarked","seed":1081952,"text":" This will be used as a template for an implementation.\n\nA simple, but effective, validation check to avoid the need to use a set of validation check logic in the application. You might want to consider this code to be more than a single validation check; the checks must be handled in parallel.\n\nDef","text_sha256":"219931d2a2ddf6ef851c922bdd9c084893974278407f08c947a3b8d7f22119f8"},{"domain":"technical_explanation","label":"watermarked","pair_index":61,"sample_id":"cycle8-1080000-61-technical_explanation-watermarked","seed":1081952,"text":" If there are still errors, then use those to solve it. You may not need to change the application or the validation check, but it is easier to solve them when you know you have a stable and simple system.\n\n4) It is very difficult for you to predict the consequences of a change that you do","text_sha256":"ddf3dc31f5e9594314f7aa359a57da8b5ef33cbf7dc8ca6452e170d0a992f88e"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":62,"sample_id":"cycle8-1080000-62-conversational_prose-unwatermarked","seed":1081984,"text":" \"DeepMind\" is a new word, a word of confusion that will be lost on anyone who has not been trained in it. A well-educated person who has never heard the term is likely to have trouble understanding how it's being applied to a lot of things. So if you are someone who has never heard","text_sha256":"085fc642adce41f5f2dd92a726857b494e2c4ca6a12dc762964542bf431f754b"},{"domain":"conversational_prose","label":"watermarked","pair_index":62,"sample_id":"cycle8-1080000-62-conversational_prose-watermarked","seed":1081984,"text":" You'll learn why they're getting the results you want.\n\n1. Know Where You Are\n\nAsk your colleague in line what they think, what time of the week they're going to eat, what weather they'll be back from. That's where they're going to go to find out what they're","text_sha256":"32f6794ad3892e3472c45a592afafb8a61db6b357ca57979ba1a7ffbab49b8d7"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":63,"sample_id":"cycle8-1080000-63-structured_instructional-unwatermarked","seed":1082016,"text":"\n\nHere is an example code:\n\nvar h1 = 1; // H1 is H2 var h2 = 2; // H2 is H3 var h3 = 3; // H3 is H4 var h4 = 4; // H4 is H5 var h5 = 5;","text_sha256":"1fe2c5d993a68d43504cbcd615776385948bbb911affe15c22160df1fc178b30"},{"domain":"structured_instructional","label":"watermarked","pair_index":63,"sample_id":"cycle8-1080000-63-structured_instructional-watermarked","seed":1082016,"text":" Then repeat the last step.\n\nFor example:\n\nDip the three steps in between these steps, so that the next step must be the same as the last step.\n\nUsing this example,\n\nDip this entire circuit into two separate sections, with a small line-change between each section","text_sha256":"9fe8b1d1d9a0ac100d17919e9ed6e1164fa2e5a69bdb4b9705984a39e2be6b01"}],"seed_base":1080000,"topic":"deepmind mix transfer holdout"} diff --git a/evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/scorecard.json b/evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/scorecard.json new file mode 100644 index 00000000..9ea24235 --- /dev/null +++ b/evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/scorecard.json @@ -0,0 +1 @@ +{"algorithm_version":"cycle8-mix-deepmind-30key-transfer-v1","confirmation_rewritten":false,"detector":"synthid_text.logits_processing.SynthIDLogitsProcessor","do_not_generate_950000":true,"effectiveness":{"identity_uw":{"detected":0,"n":64,"rate":"0/64"},"identity_wm":{"detected":63,"n":64,"rate":"63/64"},"mix_uw":{"detected":0,"n":64,"rate":"0/64"},"mix_wm":{"detected":0,"n":64,"rate":"0/64"},"mix_wm_max_score":0.5067599700507657},"evidence_label":"HYPOTHESIS","generation":"synthid_text.SynthIDGPT2LMHeadModel","keys_depth":30,"mix_freeze_confirmation":false,"model":"openai-community/gpt2","pair_count":64,"product_authorized":false,"rows":[{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.49520027864855454},"label":"unwatermarked","mix":{"detected":false,"n_tokens":592,"score":0.48922697394699927,"text_sha256":"138f569b36f7cb72f3b8acae9094dc30ada041789a74772ae6f594321ef5866b"},"sample_id":"cycle8-1080000-00-general_explanatory-unwatermarked","source_sha256":"13a15d45edeb7a4f9dc090a53ba4eddbc755c8051345785534d0f06319d70e4f","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.5937410339514373},"label":"watermarked","mix":{"detected":false,"n_tokens":590,"score":0.4990537357232059,"text_sha256":"029c1cd18d7a8100540791c76657f184ec56beec7cdf49d788212d0ac0fb4e1b"},"sample_id":"cycle8-1080000-00-general_explanatory-watermarked","source_sha256":"8b34e00df8c1482442b191cf9a8d24ef01534b286a06075f1e9905988b6e127c","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5247905552805735},"label":"unwatermarked","mix":{"detected":false,"n_tokens":597,"score":0.4980991456143586,"text_sha256":"3f1dbf9047e836cc06f26bbdb2754fae08800595e6e7875f5c32f12ff918f5d9"},"sample_id":"cycle8-1080000-01-technical_explanation-unwatermarked","source_sha256":"d42f9a880763b92397a65a9d9c10ada0bbc19a10078890c1f492106df4b06015","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6184743991640543},"label":"watermarked","mix":{"detected":false,"n_tokens":586,"score":0.49822361546499483,"text_sha256":"8d0cddf5af02bef6f1dc6a4f07dca74021eb2dedfb12d141b5596e1417e73ffd"},"sample_id":"cycle8-1080000-01-technical_explanation-watermarked","source_sha256":"0d39aaa5f0bf69bdcdd18db9197b46168ab6b228605b42612dc66c090933e4c8","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5066457680250784},"label":"unwatermarked","mix":{"detected":false,"n_tokens":595,"score":0.4983393294200978,"text_sha256":"7a2ab8ed40c9cbfb718fdcc6ac165338ec545b78487757f27d11e7948aec32f8"},"sample_id":"cycle8-1080000-02-conversational_prose-unwatermarked","source_sha256":"d61c72420510b502dbef8d521ff10ae477e592df8ead43b69e6990efd4ee7ab7","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.5846499477533961},"label":"watermarked","mix":{"detected":false,"n_tokens":593,"score":0.49528511956626975,"text_sha256":"55f5e728386e9e4f49b2d4dea3f39fc2c18be55fbfad1fb0e1e3987fac2e8952"},"sample_id":"cycle8-1080000-02-conversational_prose-watermarked","source_sha256":"f4a01db1133e7be7719b2b0b44e560ff167c5818a011fac444200500fa6fdb6a","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5055202268995374},"label":"unwatermarked","mix":{"detected":false,"n_tokens":598,"score":0.491422991931754,"text_sha256":"39c03f69bdba562e2e1a7d5507d03c0f4923f54927d0d0e6ca709e3acbf8e65f"},"sample_id":"cycle8-1080000-03-structured_instructional-unwatermarked","source_sha256":"958781a9ddfde5124075cd9dea7a2c76df69000979f7c465785524bea47ebf94","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6145461751882679},"label":"watermarked","mix":{"detected":false,"n_tokens":590,"score":0.49659112898402347,"text_sha256":"82ccbaeb2606db33c66f9cd35e1ae2c1cad4d89e612fa6affc4409adb3239016"},"sample_id":"cycle8-1080000-03-structured_instructional-watermarked","source_sha256":"241ea5744f0aba1a15f5a93ce4f5225171c6ccc7878cb1cd460f6b5bb44d8cef","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.49211772901428075},"label":"unwatermarked","mix":{"detected":false,"n_tokens":604,"score":0.4904832810867294,"text_sha256":"9583725547a79f194dae2bd008c7824c27f5311d774e55ef67c1165138f77da2"},"sample_id":"cycle8-1080000-04-general_explanatory-unwatermarked","source_sha256":"bda50fa7945c38fc728ff44747f3fc558d6b3bac791838edb2356b04794fd8e4","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6230581678857541},"label":"watermarked","mix":{"detected":false,"n_tokens":602,"score":0.5058442935526534,"text_sha256":"b2b11e862b4ab10e22074e23fa1e2f47f57c79bd51324723808cd4313822ecf1"},"sample_id":"cycle8-1080000-04-general_explanatory-watermarked","source_sha256":"119cf6161123dd28a2b294e551f807d4e8e491dc1255311b29b196bf1b8bc152","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.49840737938240914},"label":"unwatermarked","mix":{"detected":false,"n_tokens":600,"score":0.5034307210031348,"text_sha256":"d5d9a1ed5e7c8b3dad783bb879dbea655f52e6ed99d930311973a7fb2e777a66"},"sample_id":"cycle8-1080000-05-technical_explanation-unwatermarked","source_sha256":"e78c6dca51327e5a3a26dd47ff316bfacafa00740768f3a8bf94f10a415b5ec2","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6181191222570532},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.4915720822974093,"text_sha256":"26083f7bc8f018ab5959aa52f6def37f376234d6d348e74a94bed0059e3059ef"},"sample_id":"cycle8-1080000-05-technical_explanation-watermarked","source_sha256":"90264e3390a3c3d8b205db18672f4a1199c7fcb7432ea975ecaff55bd12a4352","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5110952788068777},"label":"unwatermarked","mix":{"detected":false,"n_tokens":598,"score":0.49473637603386295,"text_sha256":"2e982baf79261afca873d1f8b2c27fa9fcc339e11a009a2c67ea9965a4935f6d"},"sample_id":"cycle8-1080000-06-conversational_prose-unwatermarked","source_sha256":"abaed182596c161bc7f2c8efa4ed11d16d0e2e4d396e49b5c0ebd68cbf7a003a","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6168025078369906},"label":"watermarked","mix":{"detected":false,"n_tokens":599,"score":0.49784424521960213,"text_sha256":"2a0f60d60f2b02007900994e5bd2919503902cc37d2538df1ba1173bae205810"},"sample_id":"cycle8-1080000-06-conversational_prose-watermarked","source_sha256":"f69cf66b66247713af24a26c2e08b43f70a994d81f245bfeb3237d9f3ad84117","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5285175594021172},"label":"unwatermarked","mix":{"detected":false,"n_tokens":416,"score":0.4942541478706323,"text_sha256":"e95ce43381ab6026e8ba91a95ab9c0efc369bf660c3e3dce5b5a5dfe5713923c"},"sample_id":"cycle8-1080000-07-structured_instructional-unwatermarked","source_sha256":"3909ab50d1af72d3fb8c7161ee253101db73b488f2e29ba9a177c60c9beb5da1","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.5960948224639908},"label":"watermarked","mix":{"detected":false,"n_tokens":582,"score":0.5067599700507657,"text_sha256":"17071205e1e25042697c1fb8912bfabf2e08e34c8e9227e48b91a52dcd5063dc"},"sample_id":"cycle8-1080000-07-structured_instructional-watermarked","source_sha256":"e5a578ce0a367b934cb4946c38228eb3be3663c415a7fa4f3adbad2f226bee20","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5195855102751655},"label":"unwatermarked","mix":{"detected":false,"n_tokens":592,"score":0.4905923114997525,"text_sha256":"5d5a8cf1d64abd02f729535b6ef497882e0d60ee30b6c61c955497460fcaaf4e"},"sample_id":"cycle8-1080000-08-general_explanatory-unwatermarked","source_sha256":"d88a83904e964558cedc66f4f6f18271afcf10d87e9935f0c454ba3506577c15","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6345315221177291},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.49081253791451884,"text_sha256":"82ab528df9afa23de07bf125b6804289b5e03b342df501f258953482a43912ec"},"sample_id":"cycle8-1080000-08-general_explanatory-watermarked","source_sha256":"4530272b42da1e63dd3126c9940d233eb0767d24b224e6bc94a755df6e7d6f32","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4852037617554859},"label":"unwatermarked","mix":{"detected":false,"n_tokens":591,"score":0.4948037706171007,"text_sha256":"453b035b23f381e38cbe2bc5f2bcd0b9a321487aa06342bbe217489f8d15173c"},"sample_id":"cycle8-1080000-09-technical_explanation-unwatermarked","source_sha256":"1104d02a314981912c14accf1ddac7e929c5b122f7853ff5295f362b0b30b808","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.5994049200361299},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.4958127797164883,"text_sha256":"c59275bbc6ed46b07c4e3f7926cd690bdac0531be8d7740c0186e703efd87d5b"},"sample_id":"cycle8-1080000-09-technical_explanation-watermarked","source_sha256":"f5535980d4e3db1e92eec604af1ae9ea9e139c117e6636791852218645c85087","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.505705329153605},"label":"unwatermarked","mix":{"detected":false,"n_tokens":591,"score":0.48780462077535935,"text_sha256":"60f85d1210ce76e8a7388c0870ebede58ce6ac1a3f948504d53f603209345afc"},"sample_id":"cycle8-1080000-10-conversational_prose-unwatermarked","source_sha256":"0da8907f125d558ead00c01ae9b70b2b1a8fb717fffe9c13383ed75dc15ab1a9","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6201010101010102},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.49967101493241656,"text_sha256":"46544941ea7fc404ae94f174b5490a4c80e11cddede4b729879e9f300c9bf9bd"},"sample_id":"cycle8-1080000-10-conversational_prose-watermarked","source_sha256":"9045c6c0347318a9e00f77bbe8658179cf8d8e487e9b5e5a5af4af1fbbe31364","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.48396377568791366},"label":"unwatermarked","mix":{"detected":false,"n_tokens":564,"score":0.4891751455950585,"text_sha256":"8b5cae6f4d2f183cf4cd5fbcc70d4b722f5c124080eccb15284b39bba68640b9"},"sample_id":"cycle8-1080000-11-structured_instructional-unwatermarked","source_sha256":"acc2e4603ff7c703f50712076f3e1284898a59ff22c53a38e2a3ef4b5d6d9da1","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6139289446185998},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.4909860859044162,"text_sha256":"22d0c9d5b0495bbf55ed116818d162e70d2c0ec92dd393dd1ed8ee9e44aeacea"},"sample_id":"cycle8-1080000-11-structured_instructional-watermarked","source_sha256":"53074dc3631c038cf6bbbc1918040101174aba8a8f39bb53ba405de0ebf73c52","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.49245782952679507},"label":"unwatermarked","mix":{"detected":false,"n_tokens":558,"score":0.49532203595172114,"text_sha256":"d3f35cec1e732695f87e379fcebb3e17c5b1c9de0d808e6043bc581f38642a08"},"sample_id":"cycle8-1080000-12-general_explanatory-unwatermarked","source_sha256":"11b27708816236e53e75a5c89c35ddce79ffe3f4ab85e04202c67941d16de3b7","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6406304423545802},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.49536998845075075,"text_sha256":"5f8de2d07fdfe1652c7594dc70d2c409b25708a7a40d97740d25201775b6aba4"},"sample_id":"cycle8-1080000-12-general_explanatory-watermarked","source_sha256":"2102b4c3dfee7fa119716e5cd51ac835e9942f5ad2603a8d7a6e9c50e7e0419c","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4982464139830911},"label":"unwatermarked","mix":{"detected":false,"n_tokens":595,"score":0.4906870428422153,"text_sha256":"c7ff89933134a70d8056dcae51b5a98485387fa359400751647aa5b2f4b9dd60"},"sample_id":"cycle8-1080000-13-technical_explanation-unwatermarked","source_sha256":"a2b6fa9022d9218383a38f37371bbaeb5c3972b66cd79ca35067f3baaf12c264","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.576249080846782},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.49575200278648557,"text_sha256":"2523a1776458443062265be92c245ffe72a31e187bfddd49c6e67542a72956a2"},"sample_id":"cycle8-1080000-13-technical_explanation-watermarked","source_sha256":"0b623f21c0e99230379ef143ea0bf7f2d6940c3e640079bba3a05ad6435cee84","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5179310344827587},"label":"unwatermarked","mix":{"detected":false,"n_tokens":603,"score":0.49176530615810976,"text_sha256":"9be52031001496f92a758b65dd55e23ea3b2ccf283dc6eff0d2bd31a09b65535"},"sample_id":"cycle8-1080000-14-conversational_prose-unwatermarked","source_sha256":"a7f742d670ac76c8c101b92d05b47c047b52a2bc2c4864ac210f028b55e4f81e","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6425442161074345},"label":"watermarked","mix":{"detected":false,"n_tokens":592,"score":0.48639793968947576,"text_sha256":"a14dd647f970f5ef9042a7977e88b6c4518858ed26a4c2aeaa296251f7384bb3"},"sample_id":"cycle8-1080000-14-conversational_prose-watermarked","source_sha256":"8c72f2dc358044879310ac75c215255115d1ab11e3bb3f0a55446c3c60cd7563","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.48060606060606065},"label":"unwatermarked","mix":{"detected":false,"n_tokens":599,"score":0.4943930632086554,"text_sha256":"4f13a6de2799e3ed314c0f2bff1a7ec7105636e321156e4d518cd7fcd73bd65a"},"sample_id":"cycle8-1080000-15-structured_instructional-unwatermarked","source_sha256":"3a58b055b569218d830462dc7a544b1cc22c77fbd62b9484e39cf844b4f5be2b","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6219366074538489},"label":"watermarked","mix":{"detected":false,"n_tokens":596,"score":0.4898360125110387,"text_sha256":"841657617702b1cf0822da0a671cd43b0b2efa1ecdcda96adfb93e247d5de1f8"},"sample_id":"cycle8-1080000-15-structured_instructional-watermarked","source_sha256":"52ab79dce086ee1e73d598b8fa2beda0f76838adca6f9f8745a1f55a2b112125","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.47292917485787156},"label":"unwatermarked","mix":{"detected":false,"n_tokens":592,"score":0.48420730883785074,"text_sha256":"0d8a702203fa144290c92cde9ae21bd88b0b3a5b6f13f01dfb83f6c23102186a"},"sample_id":"cycle8-1080000-16-general_explanatory-unwatermarked","source_sha256":"a2b76dd302259245a43aae4df0991fd2c351bf1b8c834a6040e47d3f194fe66c","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6110379658655521},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.4913502844537328,"text_sha256":"670e655e0decb33d0dd608517896b210506ee798eeb99c34657beee7cfae6407"},"sample_id":"cycle8-1080000-16-general_explanatory-watermarked","source_sha256":"f3d8d0d0940bcf1c7dac80c864bb764a3f1b857898da540478f039d62e5fb586","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5019024970273483},"label":"unwatermarked","mix":{"detected":false,"n_tokens":586,"score":0.49450700687033744,"text_sha256":"d70d8e13daba948133ad2b6f41ce632d56a7124c500532cc7ea3eb27c1b1f722"},"sample_id":"cycle8-1080000-17-technical_explanation-unwatermarked","source_sha256":"37b377ae3d410ebcfe16e0d8b491db4300afe7683a7530e1451803ee7a38a19e","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.5987722048066876},"label":"watermarked","mix":{"detected":false,"n_tokens":585,"score":0.4953093665932991,"text_sha256":"6ecc0cce08b34fd0d8871e7403f7ff63532b72ba19b84b81fb2e3d3ec7c94655"},"sample_id":"cycle8-1080000-17-technical_explanation-watermarked","source_sha256":"7f1c4ab99e3585808270ca19e80b6f183e9b9b656b71e9df285255e3c469271a","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5218948101706723},"label":"unwatermarked","mix":{"detected":false,"n_tokens":589,"score":0.4882175772761622,"text_sha256":"4af848454cba1cefa83ce5a6b295a999bbc59f43991de805f3dacdcce7556220"},"sample_id":"cycle8-1080000-18-conversational_prose-unwatermarked","source_sha256":"b9fe6daf274a33c8bc0344cfa087cf333a1f39de332b47a2f46572ae38c5e11e","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.5934458302763512},"label":"watermarked","mix":{"detected":false,"n_tokens":586,"score":0.48777583700601895,"text_sha256":"2386ced1923aef29caf769a00881ece12530b486a68d22c32de749b0d9a7d578"},"sample_id":"cycle8-1080000-18-conversational_prose-watermarked","source_sha256":"d5a2dcfb682e73d05ce9a893ac36b6fc47a08c02f3348e1ffa96194c96f2c89d","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5216903104688025},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.48803602845687233,"text_sha256":"28d87e57ee75c2a7ced54e85360d0c0e4bcdfe34c22700aff2a37e60fe3b3f3d"},"sample_id":"cycle8-1080000-19-structured_instructional-unwatermarked","source_sha256":"b56b05846f4f28c4d0043bfbbe7bd98b507254839e0666c9cb4419832fcdd1e0","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6071612678509231},"label":"watermarked","mix":{"detected":false,"n_tokens":596,"score":0.4974164229660643,"text_sha256":"bd4f9e57bdcdbaa804c5e3df57290f0ae459cda76580247de8e902e29e749ba7"},"sample_id":"cycle8-1080000-19-structured_instructional-watermarked","source_sha256":"9d8871949a0b4d4a6d385977dc42627ec53e6958bef13ff86d3082b4d55afde7","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.48429815395332637},"label":"unwatermarked","mix":{"detected":false,"n_tokens":590,"score":0.49257391126719624,"text_sha256":"c8bce45f9cb647c1a65f49574c5d62cbcc83bfdaad449ac440a04c18507ec4c1"},"sample_id":"cycle8-1080000-20-general_explanatory-unwatermarked","source_sha256":"e838b9c80db16a809e609fe6497c361d37f451383ea0d0b3b29525845d74f6e1","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6088958551027517},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.4980146290491118,"text_sha256":"1ae720e348a7b1b1163bd20bf6e9fa9b7af3ce7a36c8888244d80a5869785781"},"sample_id":"cycle8-1080000-20-general_explanatory-watermarked","source_sha256":"c1c013462ca6837f9d93e0c98107d6509a4b56e59c8be60901eab3bed5718748","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4946743885376264},"label":"unwatermarked","mix":{"detected":false,"n_tokens":591,"score":0.49363351382160164,"text_sha256":"3235b6a69119433b47a898dae7795cd13ed27019b6d25762421b3cb40bee356c"},"sample_id":"cycle8-1080000-21-technical_explanation-unwatermarked","source_sha256":"850c30c0382527966a6a513a9666ba5dcb54f5854a141e93e6e0df8128cf0c3e","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.5954719609892024},"label":"watermarked","mix":{"detected":false,"n_tokens":590,"score":0.5006553161405104,"text_sha256":"b85683ca9d01df46deed665c5ab5f71b20291134747878469aedf384b6bc536d"},"sample_id":"cycle8-1080000-21-technical_explanation-watermarked","source_sha256":"fc33fe9fa390c943115135807c5b3bd8bb02e387f60b8d6d44caaf3d93d2c62f","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.49244514106583076},"label":"unwatermarked","mix":{"detected":false,"n_tokens":600,"score":0.48654073199527753,"text_sha256":"0f4e5746b8ee2eb4e519c2f1308694917cc4a5c4298898d952605f4509b43ca4"},"sample_id":"cycle8-1080000-22-conversational_prose-unwatermarked","source_sha256":"1463c014b42b998a297a86309d321380cd5efa0e793ab228f765738d2b72f31c","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6316506323640687},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.4945800454004973,"text_sha256":"4f134a73eacc33f4dd93e8d8605ab4474725a5fd45ecf04c0b7068a67c5ba25a"},"sample_id":"cycle8-1080000-22-conversational_prose-watermarked","source_sha256":"f12c7c4cf75a1e272faf1450a32b07d9f27e1a1d8e24d5235b3e2247433398b8","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5348352018135771},"label":"unwatermarked","mix":{"detected":false,"n_tokens":596,"score":0.4930299427088964,"text_sha256":"8069353bb3d065f2d724cd4167ea05cd09c01da6e0c68a9b2694e3dd0d5987fd"},"sample_id":"cycle8-1080000-23-structured_instructional-unwatermarked","source_sha256":"104acc27302eb9ee0d29a0a1ab3f99d6534c8b2fb20bc7194133c9dc30c932eb","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6067049808429119},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.5011957154381057,"text_sha256":"0c7a18c481aad9cb6acbc4ac18954b82020af68321487e89f3d4c10de17932e1"},"sample_id":"cycle8-1080000-23-structured_instructional-watermarked","source_sha256":"d57440be352041d77a9a4879cb70b7a887cb3e9941049231a5e5b18e54c82908","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4988993382096831},"label":"unwatermarked","mix":{"detected":false,"n_tokens":591,"score":0.4861327400815721,"text_sha256":"9533511df49dcaf750a519c84a66c4bf208f54d7be3ad3ef04418b86b3ab8058"},"sample_id":"cycle8-1080000-24-general_explanatory-unwatermarked","source_sha256":"b0d526993020d46d6a7a359bb5074ac1603dd234257d15f4ec9ef05b52bf6d4e","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6113029771708908},"label":"watermarked","mix":{"detected":false,"n_tokens":592,"score":0.4897016138395449,"text_sha256":"826870e2557f87d37d87826d713678f2cc5b8d22bb779301d702ec82db134671"},"sample_id":"cycle8-1080000-24-general_explanatory-watermarked","source_sha256":"d3ecf2e3733c324c6f6e8807950552589a4e9210cc9fa3d6c1c9361552f39120","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5064437478230582},"label":"unwatermarked","mix":{"detected":false,"n_tokens":590,"score":0.49940197209656945,"text_sha256":"f22ecfb9ac910360e8c8f249b42ebce5f5ac2ed1b3403f3a071b40ace585b78b"},"sample_id":"cycle8-1080000-25-technical_explanation-unwatermarked","source_sha256":"3c5d98bdbf7072a389f4a938720bb06f137c3e9166d2a9d4ed132f27a9fb8768","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6086311389759665},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.48905128309517026,"text_sha256":"fbfeddcdbe7bf05dfeeb49b7bc4d4073cf5208357102fd1397d9c723bdf24e9f"},"sample_id":"cycle8-1080000-25-technical_explanation-watermarked","source_sha256":"f59a8774fec7f8350dbed3a1e6befb15ec51c04c0e58fa8106464a35ad500330","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5250923023336818},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.49650850999769763,"text_sha256":"bb5d2b4023d6b111331e3ff2c1d6d59e5f44a1214f0d38e82d994e09a101536b"},"sample_id":"cycle8-1080000-26-conversational_prose-unwatermarked","source_sha256":"f181f5d8c25c33cf65c4bf714c7093485535d2036f74589bb360402ba8508dee","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6210484151863462},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.49846017647741786,"text_sha256":"a2b247f2cc556e15fc107f22f79f2c4a8dd5210f0a1495eb2c6a5e08590473b0"},"sample_id":"cycle8-1080000-26-conversational_prose-watermarked","source_sha256":"25f213321c8d58d91088f76c4dd2477a54ab88c7afcc3a0ba9a06a7a4873c1ea","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5104946011842564},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.4935514116053756,"text_sha256":"e8f3c2b149172e8f7b2ac7ac14e3f91a1c461275d31cf52b5376768fababcd84"},"sample_id":"cycle8-1080000-27-structured_instructional-unwatermarked","source_sha256":"8e139f955bad4a471c5cd9dd101e8451d604d81606bd7c35ea13fd7156f36634","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.5820411006617904},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.49584984523175807,"text_sha256":"89a4670273075e497cfa78c16fbfff442c49d9436008942bc8e7a7803f8e7d0b"},"sample_id":"cycle8-1080000-27-structured_instructional-watermarked","source_sha256":"24c60e585ca1d27b64096b98ef26a1642d85c256915d5db466239dde263fe43a","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5078578892371995},"label":"unwatermarked","mix":{"detected":false,"n_tokens":592,"score":0.4961854592853527,"text_sha256":"9690de577778bb2bca44290591ed5d0bce28aae65db58d62456cf894287a765c"},"sample_id":"cycle8-1080000-28-general_explanatory-unwatermarked","source_sha256":"22a48dc0b6677eebe493c393b37725493355fe9e8b6a073c3fa4e8a36f4a4119","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6235335095375664},"label":"watermarked","mix":{"detected":false,"n_tokens":590,"score":0.48671054709418166,"text_sha256":"8ef0a2711a77c424ee8d0df32e3cc0d38db8abdc8cc64549572a990fe1097883"},"sample_id":"cycle8-1080000-28-general_explanatory-watermarked","source_sha256":"059507a121b8dad3d50f59e11264102ab8b3ec9096581d7164533782e8eebf11","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5100975269940787},"label":"unwatermarked","mix":{"detected":false,"n_tokens":595,"score":0.4990422657010053,"text_sha256":"5ed789bc3aa896146a8f5cea2e6d3e979da19136bbeb072590fc78beb00f17cc"},"sample_id":"cycle8-1080000-29-technical_explanation-unwatermarked","source_sha256":"89a319944f13462a90ac6d3ae7ad07ba15971958e850caac79bc4ba0fdda56ba","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6211215604319054},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.4872848264862784,"text_sha256":"4dd196814226f0b163835536538bce2ba9fb951045ed1dd4bb14250fec460dfd"},"sample_id":"cycle8-1080000-29-technical_explanation-watermarked","source_sha256":"cdb60a46c55f436caf4bd19a6b04e1b374c9550b7cbf50bbcaf634580d748d2b","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5188331591779868},"label":"unwatermarked","mix":{"detected":false,"n_tokens":598,"score":0.49485841494837,"text_sha256":"59629c6d49ef12b09357b556b5f0067997450f12d9406a4492e2ea9817f29c7d"},"sample_id":"cycle8-1080000-30-conversational_prose-unwatermarked","source_sha256":"04eeb9843e97301f02acf69573dd03ecb4d666c60bb0ae810f9889484530f2ed","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6277847439916405},"label":"watermarked","mix":{"detected":false,"n_tokens":554,"score":0.4878602193993279,"text_sha256":"b90a45aeb2ff5c790fa9edb1b66d4423c995c83292da5e21f9fc00aa80359e19"},"sample_id":"cycle8-1080000-30-conversational_prose-watermarked","source_sha256":"86109c15a3bf3602ac4a3f746fce4fd51eaac7c7430ace69098a2a0d99d5f878","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5137344853072355},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.4992922063839435,"text_sha256":"90b435f4cddca2880ee96db422adf121b386109c32b614528eda04323ff03f21"},"sample_id":"cycle8-1080000-31-structured_instructional-unwatermarked","source_sha256":"37b02dfe21c271c7a30afe8e58f14e6fae300dde7c7bcb7ff92dd45c95b72065","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.5657030070823175},"label":"watermarked","mix":{"detected":false,"n_tokens":538,"score":0.49528151178647967,"text_sha256":"9f309022b00e8be11b5bfc0d45466e538e1b7b3ad09067114710f2570870a66e"},"sample_id":"cycle8-1080000-31-structured_instructional-watermarked","source_sha256":"f23dc984184a531f1cecbe5fd331fdc5d957edd9742d47e8a853dc79058cc285","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.501551625559433},"label":"unwatermarked","mix":{"detected":false,"n_tokens":534,"score":0.4935085383833613,"text_sha256":"ecc8a72b29e035e9ee0b5a41e85f2ce065c5feb34953418e45ae32e1d2a65f85"},"sample_id":"cycle8-1080000-32-general_explanatory-unwatermarked","source_sha256":"a61096fd819ae92b39e1b86810ce5bea0e4d90fb81775bdb4f91d33963a4e928","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6203460673361317},"label":"watermarked","mix":{"detected":false,"n_tokens":600,"score":0.500130955773589,"text_sha256":"c0f0e5dc5078bd77a102a86b43c63740b25606c21730e8526265d02185bd5024"},"sample_id":"cycle8-1080000-32-general_explanatory-watermarked","source_sha256":"bc6f21bbce005552b591ac95210fa99349ef4aee3f1e396a66bcfbccabb8a02c","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.49489476041200176},"label":"unwatermarked","mix":{"detected":false,"n_tokens":586,"score":0.4970266932649378,"text_sha256":"72f9df9a200a539afb58292e600aff47c5d3c96a15755e13d4991a07d65fb253"},"sample_id":"cycle8-1080000-33-technical_explanation-unwatermarked","source_sha256":"d1c39a56e440ddffcea0de81487d14d17fc6445bfdc111ee82cfb643710f5454","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6012875055978505},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.49611352681430543,"text_sha256":"78cd9fcbb757d4de015314272870f9d08cb1e8d139edb1813d5f0253205e0c37"},"sample_id":"cycle8-1080000-33-technical_explanation-watermarked","source_sha256":"da38de7d1e323540e6dae9058dc149a276c10ce1509e5b9311ba984e3a40bfb2","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5090800994487082},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.4867925791229264,"text_sha256":"14063de61d5a8ff46226669a904bd5ce0b52d28b8bf08cd8f84835475b2564f8"},"sample_id":"cycle8-1080000-34-conversational_prose-unwatermarked","source_sha256":"a87bf7501e7f399cc3a09d89f10c925f203fca50b1c835ac55948ec01b748e9a","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.608380355276907},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.49424025022266177,"text_sha256":"412fd7f95f4e9300ab9a62b6e80fb12c6c6f2e776dde969bfae09b9f353f87d3"},"sample_id":"cycle8-1080000-34-conversational_prose-watermarked","source_sha256":"a4b393df4a95246801fc0765777b15546aaa3589a3ec5fb1cf1d5717f373cdfe","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.4962661093695576},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.49864565946070655,"text_sha256":"3c875a6f1daae6608f56336ec26b7a0d03ee70e63dd8d481250dc0c85d3ddb2d"},"sample_id":"cycle8-1080000-35-structured_instructional-unwatermarked","source_sha256":"1b8c9101942f635f0a4c52412a757df7fbccc866c29d077ddf8d7e3faf317b40","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6173682639199881},"label":"watermarked","mix":{"detected":false,"n_tokens":588,"score":0.49635213849508086,"text_sha256":"4711d536adfa8e9b2b1ee20377926ac75170edb40db98cc90c6a9a7d0d5b7126"},"sample_id":"cycle8-1080000-35-structured_instructional-watermarked","source_sha256":"c913001d28036faa6b131a23b31603bc2e37d3eaa156805ebf8989d5f880b72d","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5113723441309649},"label":"unwatermarked","mix":{"detected":false,"n_tokens":592,"score":0.498835747973679,"text_sha256":"1f309bfe89e90d11b44a12c698c00f09bcf54f6aa9ba4720ee1096e8897712ee"},"sample_id":"cycle8-1080000-36-general_explanatory-unwatermarked","source_sha256":"4f9a02b8c786aad687e9c7a78660f6b1477240c2d697bc2e5e578b4517542b37","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6294746841455305},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.49684373255464426,"text_sha256":"7e340ce38736f9b1daf4bca335b650dd5e169e59c93ff0053cc92e214f6155a0"},"sample_id":"cycle8-1080000-36-general_explanatory-watermarked","source_sha256":"c2a274a996fd3f9615831c1278bf8688235de85525ecd584a6d5ce6acd7aacbb","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4925670498084291},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.49532549187721603,"text_sha256":"a52432abda94f88e37d958299da210809edefe95b92231ce5d0a919216201e31"},"sample_id":"cycle8-1080000-37-technical_explanation-unwatermarked","source_sha256":"5fdba0428e9b2cabf46f5a3d5a202b1641fdde2b6714c59f0944a001309bc43d","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6238174851967956},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.4940045728710803,"text_sha256":"92ca54479cbe745da4be603912c1266bf0a8f0ed007cfa56664b58ba71e2588b"},"sample_id":"cycle8-1080000-37-technical_explanation-watermarked","source_sha256":"0cb50d731bca046f500d4258fc9a55a73aba9086e36020b5a68349d3b59fae35","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5068244874427991},"label":"unwatermarked","mix":{"detected":false,"n_tokens":597,"score":0.49544821253285204,"text_sha256":"14d41d168ba923187ed55cefa4ebe9c2f52a7451b19aeb2b1ee501532a743ec5"},"sample_id":"cycle8-1080000-38-conversational_prose-unwatermarked","source_sha256":"b2ed532ddad141336c0b7b0f38bb806dad8f1a443d2ca791f79eca43899b3979","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6077220480668757},"label":"watermarked","mix":{"detected":false,"n_tokens":539,"score":0.4953809737060969,"text_sha256":"844168718ea93ad0d557893189a55ec308bfbdbac50b92d984c3a052eeebeee7"},"sample_id":"cycle8-1080000-38-conversational_prose-watermarked","source_sha256":"f1a1e820fcde04b056a93667a125ba69b22e9691545899c16eda474817515533","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5183848898878176},"label":"unwatermarked","mix":{"detected":false,"n_tokens":564,"score":0.4899451501050356,"text_sha256":"4849dc5ceb73810fdda4fb0a88e753fe9a33eff8ac11c1292e9ba9cacc80c4bc"},"sample_id":"cycle8-1080000-39-structured_instructional-unwatermarked","source_sha256":"89f05bd28e1fe30a0d33d7cc78765ad8a317feff91206945365339eb3df1a855","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6246116335771509},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.4965551841779291,"text_sha256":"15d58c97e0ec6fc8b8ad98cd5cef2cbf480efd5dc1491ecd734a8eea21274edc"},"sample_id":"cycle8-1080000-39-structured_instructional-watermarked","source_sha256":"bf49e7adb7c84c8bef6cb23465c7954083fd8cf0009e1ad8f081b01c2d9c43e2","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.506907001044932},"label":"unwatermarked","mix":{"detected":false,"n_tokens":592,"score":0.49163806386483183,"text_sha256":"e3ca548f83b25bf298f8e91d6a22e942b61f1c721f85abd69d31eb837f4e16b7"},"sample_id":"cycle8-1080000-40-general_explanatory-unwatermarked","source_sha256":"4c82afb8c43aeb2ad031a58eb2c37ff9d3644ef592bcd1f0ca12b8875204c854","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6136655863131609},"label":"watermarked","mix":{"detected":false,"n_tokens":600,"score":0.4971146391613578,"text_sha256":"5e514e84330357e101e7529f5729a6c1960fcb65be03637c5103be0e443a4322"},"sample_id":"cycle8-1080000-40-general_explanatory-watermarked","source_sha256":"432c1cf283cf9be0850104f067a70be7db0864ce61c18c9032dab13bb94808d1","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5117485196795541},"label":"unwatermarked","mix":{"detected":false,"n_tokens":592,"score":0.4980621577323227,"text_sha256":"b4eef2e3ab9bd7e72b52bcdd9db27fc9133b2926af6169cbaae740eb9ef9c452"},"sample_id":"cycle8-1080000-41-technical_explanation-unwatermarked","source_sha256":"3e3159b79f4960630aa045601bac898d07af95da5b6eae5f71b2a4dbffd19801","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6074782305816788},"label":"watermarked","mix":{"detected":false,"n_tokens":592,"score":0.4903508949337648,"text_sha256":"f9ffa0493a2eb858434a234411375cbd39af4f5827f5eb7383d90a4ae5635030"},"sample_id":"cycle8-1080000-41-technical_explanation-watermarked","source_sha256":"6f7b141a60c1efe24ca76470bfb6cfbd03f6c54e9bc0b5f7cb8af61590ac054e","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5091640543364682},"label":"unwatermarked","mix":{"detected":false,"n_tokens":592,"score":0.48534393239517315,"text_sha256":"e45c589996623a277c2e6fa9dd935d3ae4ba09f76f52739d4e81a5a9a0ef07c1"},"sample_id":"cycle8-1080000-42-conversational_prose-unwatermarked","source_sha256":"8d2b3322d578e0eb57ca15a60d96cbc780925476d74fcff55c55ed546c58c52b","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.5970498084291188},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.4879090441210874,"text_sha256":"bdd7f6ad4af0b468040f5fffb29ba4b8fd983e340b6545671a41aa0cbecb9adb"},"sample_id":"cycle8-1080000-42-conversational_prose-watermarked","source_sha256":"0612c9f93e6e28598f847000a825fc3ff49a818c5327be861ea7284a23b31cb8","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.4975757575757576},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.49931965006216206,"text_sha256":"b721624933579c5e2f7ebd30969f5c0ed05e584cdc1478873f4976264f2e7c73"},"sample_id":"cycle8-1080000-43-structured_instructional-unwatermarked","source_sha256":"001ffa71f5eab2e4813ad99a8320f8f2a404c02484257b0f111f71e6a9abf6c4","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6042009811735118},"label":"watermarked","mix":{"detected":false,"n_tokens":586,"score":0.4901714186196945,"text_sha256":"84393273ea839330fbb3778919ea47bb4dd890348c9d8a5289a8c6152b5cada2"},"sample_id":"cycle8-1080000-43-structured_instructional-watermarked","source_sha256":"e8280c3cecf8471daf2cbec6ca8637b422f008e4208b8b7e91cdce3a2b56476d","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5074677812608848},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.4866466939142627,"text_sha256":"6e40eb40f62c0f163d1bef2cee9ba7ebf76692c0e76fde2199c116756ebbb42d"},"sample_id":"cycle8-1080000-44-general_explanatory-unwatermarked","source_sha256":"f8bbda9d482f7b71b046cda56b67d3d7ab219336439d35884c724fab9dc2a2c3","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6224904214559388},"label":"watermarked","mix":{"detected":false,"n_tokens":588,"score":0.4903260542302039,"text_sha256":"82be82dc317058aa410fb5e9372f002b610e84dc4a311e46c8f85ef3ad1ab86d"},"sample_id":"cycle8-1080000-44-general_explanatory-watermarked","source_sha256":"8de32a5a5fe7460771ee8948eeb44cd85cfc86534f2be548cd0930e09c40a00b","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4755176283911916},"label":"unwatermarked","mix":{"detected":false,"n_tokens":598,"score":0.49604954432540643,"text_sha256":"b975a38d11e3b169055ea91c120d5be7ab7e93e2562c51e733fe10a127a1117a"},"sample_id":"cycle8-1080000-45-technical_explanation-unwatermarked","source_sha256":"204c2d838966dfff9e743ca2837e668ae869c22108f832d804d662f6c7754199","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6222222222222222},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.4931484287958369,"text_sha256":"23f50cadf9c2b42206451f78542b99d05f1b7dd635fe1a87e2cc185b79116f94"},"sample_id":"cycle8-1080000-45-technical_explanation-watermarked","source_sha256":"5e6b146fbb8f605b21d7d001eb1fa427512e602acf6d1c55f6c26145984e7edd","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5066248693834902},"label":"unwatermarked","mix":{"detected":false,"n_tokens":599,"score":0.493004436678829,"text_sha256":"3071990635026bd86fb9b010a9cd43007e56edc0b49666d86321021f1dd87951"},"sample_id":"cycle8-1080000-46-conversational_prose-unwatermarked","source_sha256":"6bc64509c645ab7a83260d0f7d02f7804ef5b7460af5031f07d36674f1a4c4ca","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6136015325670499},"label":"watermarked","mix":{"detected":false,"n_tokens":592,"score":0.4958030765974895,"text_sha256":"fc24fc986d28ac5bf65f0c264e2b4ec0b52613779241f7a090867ed3752781d6"},"sample_id":"cycle8-1080000-46-conversational_prose-watermarked","source_sha256":"1a0de93e9b55b1bf6ed04dc9ec649da0dd50bb7dd3e6350b4dfeb9e04512749a","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.4996656217345873},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.4934076690078436,"text_sha256":"4841d3f1f01e3793ef48c29811f1d0ebc478f7d1c3e96235c1898d2a167bc843"},"sample_id":"cycle8-1080000-47-structured_instructional-unwatermarked","source_sha256":"8ce59b666c3b6b48d6f2b04d421c1454f80fa422ba0821bc757a7cc550405c25","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.5954475792406827},"label":"watermarked","mix":{"detected":false,"n_tokens":593,"score":0.4933420972798058,"text_sha256":"92608f4d590efa9eaa71172ea59300a1cb347f190a3d3e6eced94fa2aa64c701"},"sample_id":"cycle8-1080000-47-structured_instructional-watermarked","source_sha256":"e38159987447eb5c3194317f4d2ac662b21a5d06269a3b6016c73f520b0124cb","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4901149425287357},"label":"unwatermarked","mix":{"detected":false,"n_tokens":593,"score":0.4948866848245028,"text_sha256":"06b6b6417f94ddf01b9add9071fcbceb55518efe9909b4657aad0b0b8c0a331a"},"sample_id":"cycle8-1080000-48-general_explanatory-unwatermarked","source_sha256":"ad71c0d0be28d4b9455f1a1d97b8bd5f5eccc7b6cc06c7f81ff606d44f180e1f","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.5855184707111685},"label":"watermarked","mix":{"detected":false,"n_tokens":593,"score":0.4904642099551083,"text_sha256":"16069aab7ebb7453c6469f232d82b024f5aa27b5ba369a0c384a8b596b326576"},"sample_id":"cycle8-1080000-48-general_explanatory-watermarked","source_sha256":"295de1feb49932aeb7c8f4d07b052df68fce770940f5f5e721c5482f96261c4f","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4843225357018461},"label":"unwatermarked","mix":{"detected":false,"n_tokens":591,"score":0.5001662222916364,"text_sha256":"a83df1b3033167d4b0215ef625da3729e1b3c183b15b466f1c948ac2d7e5e0cb"},"sample_id":"cycle8-1080000-49-technical_explanation-unwatermarked","source_sha256":"7b4b55e52db45d344c4dc4f8bf6b2d258e0eea66e2bb868fbd483f0bdef0434a","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6143086032741205},"label":"watermarked","mix":{"detected":false,"n_tokens":593,"score":0.49468914150209864,"text_sha256":"af6774c380a7bca7803faa2d2ec5a58333a9bff89bd919d36438ff29b3c70e35"},"sample_id":"cycle8-1080000-49-technical_explanation-watermarked","source_sha256":"ff90994df5add89114ad7d36ec40bf0fdaf11ac569ed9a88bcf16b62827cb541","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.4932007350556697},"label":"unwatermarked","mix":{"detected":false,"n_tokens":596,"score":0.4981969516808994,"text_sha256":"7e845d6797cf5ec1f64969088a12038b9f800334d8c0fd6431bc9ca76dad38a9"},"sample_id":"cycle8-1080000-50-conversational_prose-unwatermarked","source_sha256":"3405d0ae940a693ade49110a94b10b1f6ba5f8dd0e82244bf8180d63b1b6da51","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6226401950539882},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.4990323642661858,"text_sha256":"5da96c14a0b7dec7a04d3c3a33a036ae644d17d68778f0d7e6faa44c9e7d7862"},"sample_id":"cycle8-1080000-50-conversational_prose-watermarked","source_sha256":"1882addef5af94bd5daad2472a9f489878cb6707f215c7996f5d3e4e26ab96f9","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5183586528414115},"label":"unwatermarked","mix":{"detected":false,"n_tokens":390,"score":0.49427580034301993,"text_sha256":"3da2b2707ff2307585661008922d3f25ddd91ccfa60040321a5277b08f64193d"},"sample_id":"cycle8-1080000-51-structured_instructional-unwatermarked","source_sha256":"8738ab72166d3135253be760d19b01ff0a9281607c2fdb974830515cc7673962","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.5905712295367469},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.4956494214737356,"text_sha256":"2ede7da02765099bb980a3dfff0f1d336e8686c392f535ac05f1efbfe612ad1c"},"sample_id":"cycle8-1080000-51-structured_instructional-watermarked","source_sha256":"d3c27e2251796b1eeab12ef742db77fc589dccbabb7647b846d2bdf73a76796e","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4972740105226494},"label":"unwatermarked","mix":{"detected":false,"n_tokens":588,"score":0.4939928973345255,"text_sha256":"18a78a9e42feb30144800ec9d1ad042dc22835d31ee1c111d2ca244b047eae48"},"sample_id":"cycle8-1080000-52-general_explanatory-unwatermarked","source_sha256":"e8fc5b692735531b541dad8cba8118f7810f5eab47d5f22c8e18eaeb0d12ce0b","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5544409613375131},"label":"watermarked","mix":{"detected":false,"n_tokens":192,"score":0.5030048495565738,"text_sha256":"7f79f5c84ad4014b5aee41696f2b5816bbe32548aacda190820995e91e1eca6d"},"sample_id":"cycle8-1080000-52-general_explanatory-watermarked","source_sha256":"247cc48a0ae577b2ef380dc7c406e35b6ffa0b089d7b161a08482c1b0aa6d532","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5026471612678509},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.4936288068611181,"text_sha256":"0aeac71d8bdcd5fa83e9eb6158b9d87bf22b3722b556922e4ae4d92065026267"},"sample_id":"cycle8-1080000-53-technical_explanation-unwatermarked","source_sha256":"195f5b03d2c0a665e1dc12dfce3f56e6ffc0bfe55984a5448e37883937a19930","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6318390804597701},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.49677598530846323,"text_sha256":"c25c92c25ec6583437e176eb213157c93b2cd12489c2080d6fb04f126fbb23b9"},"sample_id":"cycle8-1080000-53-technical_explanation-watermarked","source_sha256":"cce7e1b0014ce67abba813a8aab8de1b2836ca075195fd5a0f1e1eda0efeba62","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5021525600835945},"label":"unwatermarked","mix":{"detected":false,"n_tokens":595,"score":0.4951557249498208,"text_sha256":"8e9a59581bca0b2b21dcea6b5a0ec97ae04ec78d82686bcb5d0af3368fd39759"},"sample_id":"cycle8-1080000-54-conversational_prose-unwatermarked","source_sha256":"730253a180b23309f0445a0b1589d544e369a3509f3e6eb443f1f8ddc3d7df35","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6276907001044932},"label":"watermarked","mix":{"detected":false,"n_tokens":588,"score":0.48758249463784853,"text_sha256":"7e365ed32a4af98f78c1ec312b67ceed39f1c1edbed58ae31a2ab3e5d26a61d2"},"sample_id":"cycle8-1080000-54-conversational_prose-watermarked","source_sha256":"1492431d087ff99f4ee43256a751ccfc8767ca576d06dde5d38e577bdc8cddd3","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.515652361906821},"label":"unwatermarked","mix":{"detected":false,"n_tokens":430,"score":0.5036390895461361,"text_sha256":"14ed554609655ce2aaf22ca7d36d0d946babdc368d7276c15c443894dbc27c72"},"sample_id":"cycle8-1080000-55-structured_instructional-unwatermarked","source_sha256":"8359fd52b9fe5dd2e3c140e88b692358f1442fbe0865a46fb05c1d7bf485ce46","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.5970381580369689},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.4955744053107137,"text_sha256":"a0ff7324ec819b03a48db7734a978d633ec363495c409dd39cd2cd646dbe5ce2"},"sample_id":"cycle8-1080000-55-structured_instructional-watermarked","source_sha256":"fecf5f10c235341e9885f17fb47c5b738f6e5ce630a323ded1140d43f9614168","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4921804249390457},"label":"unwatermarked","mix":{"detected":false,"n_tokens":596,"score":0.4942962346903234,"text_sha256":"cdfd1a2c547188685925e3aeae3871200bb5ff59cddd365876b3e4db1bfc4fce"},"sample_id":"cycle8-1080000-56-general_explanatory-unwatermarked","source_sha256":"62728d2ccdb8796f1dd3c809b938a726fc821bfe602de30cc928dd378683c0f1","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6257749912922327},"label":"watermarked","mix":{"detected":false,"n_tokens":601,"score":0.49164539599043705,"text_sha256":"86f78ed1ea756a4947222b3d181ba55a42f7bef2154f32f05ad1f13c46bfe958"},"sample_id":"cycle8-1080000-56-general_explanatory-watermarked","source_sha256":"a02d775bf078c6585ffc7042ecda8d6814372ebeae34a328a281e94c72389c82","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5030721003134796},"label":"unwatermarked","mix":{"detected":false,"n_tokens":594,"score":0.4903942545321856,"text_sha256":"8b1b4b235d7f83ceaa39ac0bad26075b566f5fae5d3d245c79f8d093e775d315"},"sample_id":"cycle8-1080000-57-technical_explanation-unwatermarked","source_sha256":"989c3a840b37f9a24176778da9317541188fd9b9820ac82e8bdadfb667ae53e0","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6076226909657653},"label":"watermarked","mix":{"detected":false,"n_tokens":590,"score":0.4941262832252822,"text_sha256":"3fd3dfa7fbeba8b0b0fcd706e8d84fca22f7f8acbf6d2894fea3d186737141e3"},"sample_id":"cycle8-1080000-57-technical_explanation-watermarked","source_sha256":"652ebbc16be9f8d69f3b38da055328c5adc2cff3ea1efa860fa5dae2886845a8","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5037122587031844},"label":"unwatermarked","mix":{"detected":false,"n_tokens":551,"score":0.49194349849274194,"text_sha256":"145c5908d3161c10b217565ba5a57ce500442570fc2efc5f0b0958d158fed297"},"sample_id":"cycle8-1080000-58-conversational_prose-unwatermarked","source_sha256":"687b6524c5b52dc4ffc0c6a715833960d4d16face403642d0af3e669cedc4959","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6326610936955764},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.49672753810684844,"text_sha256":"443156eac47c84ab164fc6b11e49f5385b771728384b6c8832ff27bf921d1786"},"sample_id":"cycle8-1080000-58-conversational_prose-watermarked","source_sha256":"0c71fd94b636c4af325a88d026e3b562896e672ab250b32f859e8a8c0b4baeae","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5058272378962034},"label":"unwatermarked","mix":{"detected":false,"n_tokens":595,"score":0.49401802595205896,"text_sha256":"b37c2cbcdd497ea8735a5e3992bfd3c9aeefeee2f9df745ca301275acdb1e1f7"},"sample_id":"cycle8-1080000-59-structured_instructional-unwatermarked","source_sha256":"25a19443d50fe09c806b1cba204a0d64c94caba4171269b1497777e0afc20f14","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6006443747823058},"label":"watermarked","mix":{"detected":false,"n_tokens":608,"score":0.5026460840182846,"text_sha256":"891c861aa7e43ec2c15c20277379e22bbca2e9fb08a19bc860b2e0e6b6dd7722"},"sample_id":"cycle8-1080000-59-structured_instructional-watermarked","source_sha256":"6b418f8bc2a12fcd9d350fd03e19faa37a4a8068084fb85e7832bab1443e76e6","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5043051201671892},"label":"unwatermarked","mix":{"detected":false,"n_tokens":564,"score":0.4952931318250256,"text_sha256":"007a022eacbfbf2a91c46a40b50e9079bce0a60791fec38bff4a525ebe058ec0"},"sample_id":"cycle8-1080000-60-general_explanatory-unwatermarked","source_sha256":"e3b22a34d4721bdbb858dfd4a5ba933ee40a802248138ca07e6532d30399de35","visible_ok":true},{"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6069905956112852},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.49048837727187083,"text_sha256":"477ba29f3609f79ca1ac0f49b65f055fe3e87bf2271482dbc033ec5c48de4135"},"sample_id":"cycle8-1080000-60-general_explanatory-watermarked","source_sha256":"bc7cca121abfd4f6fa80ce40e36820252c851d398d19b46a584e9814c93cde4c","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.500609543712992},"label":"unwatermarked","mix":{"detected":false,"n_tokens":597,"score":0.49456744545054054,"text_sha256":"88f949324495d946fa78f6b4e1a9f1cd74339ab9b90baf14179185046caa22ef"},"sample_id":"cycle8-1080000-61-technical_explanation-unwatermarked","source_sha256":"219931d2a2ddf6ef851c922bdd9c084893974278407f08c947a3b8d7f22119f8","visible_ok":true},{"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6295471960989203},"label":"watermarked","mix":{"detected":false,"n_tokens":593,"score":0.49692973405004537,"text_sha256":"53e46dffa8a4840485dedffbd8fcbabcf23a91ae2b334dd6bfe77c4b4d41c209"},"sample_id":"cycle8-1080000-61-technical_explanation-watermarked","source_sha256":"ddf3dc31f5e9594314f7aa359a57da8b5ef33cbf7dc8ca6452e170d0a992f88e","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5168477882270986},"label":"unwatermarked","mix":{"detected":false,"n_tokens":590,"score":0.4944094475128958,"text_sha256":"b87053c229e3522adc5f01723e86d648aadeb40f2b8f3fe590b22d12c33a5222"},"sample_id":"cycle8-1080000-62-conversational_prose-unwatermarked","source_sha256":"085fc642adce41f5f2dd92a726857b494e2c4ca6a12dc762964542bf431f754b","visible_ok":true},{"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6176646653560739},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.4977526496492014,"text_sha256":"280c29ea6ace60339649410890609eb60f75b0ca4573c95dd28e5adf314db9d5"},"sample_id":"cycle8-1080000-62-conversational_prose-watermarked","source_sha256":"32f6794ad3892e3472c45a592afafb8a61db6b357ca57979ba1a7ffbab49b8d7","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.4850156739811913},"label":"unwatermarked","mix":{"detected":false,"n_tokens":202,"score":0.5104027007475284,"text_sha256":"6430d6aaff2bb439ccf1325c3105ef11cd7f131c6333ae06f1961e5cbcda531a"},"sample_id":"cycle8-1080000-63-structured_instructional-unwatermarked","source_sha256":"1fe2c5d993a68d43504cbcd615776385948bbb911affe15c22160df1fc178b30","visible_ok":true},{"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6033176593521422},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.4905200292415776,"text_sha256":"59f53e1d041f0c302dd86e551fb060e28af9f5c608750911b5414da61ee79c3d"},"sample_id":"cycle8-1080000-63-structured_instructional-watermarked","source_sha256":"9fe8b1d1d9a0ac100d17919e9ed6e1164fa2e5a69bdb4b9705984a39e2be6b01","visible_ok":true}],"scorecard_hash":"d97f005332d45b93be3588e413055d7ff0035b234f1b4213d3db9e83f85df4d0","second_configuration":true,"second_model":false,"seed_base":1080000,"threshold":0.5570987654320988,"topic":"deepmind mix transfer holdout","visible_pass":true} diff --git a/evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/README.md b/evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/README.md new file mode 100644 index 00000000..4bbfe7eb --- /dev/null +++ b/evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/README.md @@ -0,0 +1,22 @@ +# Cycle 8 mix DeepMind 30-key transfer (seed 920000) + +Status: `HYPOTHESIS`. Not confirmation. Not a second model. Not product authorization. + +Reserved Cycle 8 secondary exploratory seed `920000` (`invisible carrier development`) generated watermarked and unwatermarked 64-token continuations with `synthid_text.SynthIDGPT2LMHeadModel` on `openai-community/gpt2` using DeepMind `DEFAULT_WATERMARKING_CONFIG` (30 keys). Detection used official `synthid_text.logits_processing.SynthIDLogitsProcessor.compute_g_values` with weighted mean at the frozen Cycle 6 threshold `0.5570987654320988`. + +This is an independent **configuration and implementation**: Google `synthid-text` mixin generation and official logits processor, 30 keys, sampling table 65536. It is not Hugging Face `SynthIDTextWatermarkingConfig` and not the Cycle 6 nine-key adapter. It is still GPT-2, so `second_model` is false. + +Frozen mix apply `u034f-ufe00-letter-alt-v1` was scored on these fresh texts. Residual mix text is not stored in the scorecard; source texts are in `samples.json` so mix hashes can be replayed. + +## Result + +| Arm | Detected | +| --- | ---: | +| Identity WM | **16/16** | +| Mix WM | **0/16** | +| Identity UW | **0/16** | +| Mix UW | **0/16** | + +Mix WM max score `0.5063963600986625`. Visible projection passed on every row. + +Do not treat this n=16 look as mix-freeze confirmation. Do not generate `950000`. Do not retune mix sites. diff --git a/evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/SHA256SUMS.txt b/evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/SHA256SUMS.txt new file mode 100644 index 00000000..2afb6a61 --- /dev/null +++ b/evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/SHA256SUMS.txt @@ -0,0 +1,3 @@ +f839a710ad32c2087876cb9c19fa39fa35f1f1ef6eeb7be40a0b0f266dadfa77 README.md +cab2d73d3c0a6c449e2db0c41674ae0a4d9a1299d1cd512d8fc6781c5bb9a118 samples.json +9025c1fb44704e4b231d3bce78fbb92097fad5b61e9e805db3963a3854519a5e scorecard.json diff --git a/evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/samples.json b/evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/samples.json new file mode 100644 index 00000000..c636588f --- /dev/null +++ b/evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/samples.json @@ -0,0 +1 @@ +{"samples":[{"domain":"general_explanatory","label":"unwatermarked","pair_index":0,"sample_id":"cycle8-920000-00-general_explanatory-unwatermarked","seed":920000,"text":" This will help the reader to focus in on the important topic.\n\n\nThe following is a list of the key issues related to invisible carrier development. I use the term invisible carrier because the concept does not refer to carriers of the sort that exist in the field of particle physics. I have used the term invisibility in","text_sha256":"8ee8abeebfa066fad6cd030792fc78ec08129e9dd8570e40a58d076ec68a6cb0"},{"domain":"general_explanatory","label":"watermarked","pair_index":0,"sample_id":"cycle8-920000-00-general_explanatory-watermarked","seed":920000,"text":" (There are few instances of such a paragraph being made. A list is required, but is often insufficient for precise analysis.)\n\nIf you write something in plain English that is confusing for an audience you know well and will learn from, this can lead to a misunderstanding of what you're talking about.\n\nThe","text_sha256":"60313d4d3b87dca0234e58883b15ee80639a8ee981ea0739a07575b1e7d7e546"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":1,"sample_id":"cycle8-920000-01-technical_explanation-unwatermarked","seed":920032,"text":"\n\nTo give you an idea of how to do it, you'll need to understand a few important principles.\n\n1. You cannot test it yourself. The idea that you can never test a design in any way is one of the main reasons why it is not valid.\n\n2. You cannot create","text_sha256":"c3d1b27e29d67609f11b742cd5da2a251e07ab26064e4d9d37180952f86648e9"},{"domain":"technical_explanation","label":"watermarked","pair_index":1,"sample_id":"cycle8-920000-01-technical_explanation-watermarked","seed":920032,"text":" Then use that to make it clear what to do next.\n\n(7) Explain how to write and test in real time, without relying on real language. Make the problem more clear and understandable by using a clear and understandable language. Also, show how the solution can be tested.\n\n(8) Explain","text_sha256":"1506647dc8d10e5287af57fd948756e14ef8eaadd51aabb20b623271b5a849c4"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":2,"sample_id":"cycle8-920000-02-conversational_prose-unwatermarked","seed":920064,"text":"\n\nConsider the case of the U.S. Navy's (NAS) F-22 Raptor. In 2008, the U.S. Navy was spending billions on a new aircraft carrier, the F-22 Raptor. The new carrier is designed to fly with stealth, stealthy stealthiness, and a","text_sha256":"f2a2d6203fdca57fb5cb20937d2542302246d70bd4ddc624a33b0a6251341f34"},{"domain":"conversational_prose","label":"watermarked","pair_index":2,"sample_id":"cycle8-920000-02-conversational_prose-watermarked","seed":920064,"text":" You'll learn how to write about the benefits, and how to answer a question that's unclear.\n\nWhat's the best way to write?\n\nIt's all about the details. So what's the best way to write about the benefits, and how to answer a question that's unclear?\n\nYou","text_sha256":"1724e5c584169e394eb35d7575f65d053ba0e1f3f443b490d7ae34d044f57fdd"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":3,"sample_id":"cycle8-920000-03-structured_instructional-unwatermarked","seed":920096,"text":"\n\nApply a single-step instruction to test for invisible carrier development. If you are not sure if you are seeing the problem correctly, you should use a single-step instruction.\n\nThis is the second time we've tested invisible carrier development. The first time we tested it, the second time we had a","text_sha256":"dcc9392fd5d39166e7b451be4152ca7b42669ea0d0e9039a8aff006b8ceaef02"},{"domain":"structured_instructional","label":"watermarked","pair_index":3,"sample_id":"cycle8-920000-03-structured_instructional-watermarked","seed":920096,"text":" Then test it with a series of parallel steps by repeating the test with each step for 5 or 10 minutes.\n\n5. Use Visual Basic (with Visual Studio) to develop your first application. (In fact, you can always use Visual Basic from a command-line environment.)\n\n6. If you're","text_sha256":"5ab284a17bcee99791764d38c9e9eed443cced470ec57020bd8423ba7f9f732d"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":4,"sample_id":"cycle8-920000-04-general_explanatory-unwatermarked","seed":920128,"text":"\n\n[Note: \"pilot\" is not a technical term, but rather a euphemism for \"engineer\" and \"engineer's helper,\" the latter of which has been a somewhat popular and widely used term in the U.S., but which has been used, in the U.K., as","text_sha256":"4715d0170f9ad85c66cdf17170c8bf79003510602f2998da3b99896ccbbd15db"},{"domain":"general_explanatory","label":"watermarked","pair_index":4,"sample_id":"cycle8-920000-04-general_explanatory-watermarked","seed":920128,"text":" Let us first discuss the nature of the carrier, its importance, and how it can be used.\n\nOne carrier has very little to do with the technology. Many carriers have almost no real ability to transmit data. They are very good at \"wiring\" their own data and they know how to use it very","text_sha256":"ac112e4299110edeb7de37ba934e62dbdccf40c2eef4cf218602d144dc49b96a"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":5,"sample_id":"cycle8-920000-05-technical_explanation-unwatermarked","seed":920160,"text":" Assign a test runner to help you test the theory. Provide a link to the paper in question.\n\nThe authors are Dr. Tufu Liu and Prof. Xiong Ding.\n\nPlease take a moment to rate and review the work you have written, share your thoughts on it, and send","text_sha256":"993eea7087a81a1041da5c646ad75f8ee56ac59cbd1ad4beb287f1b0a89cdfa5"},{"domain":"technical_explanation","label":"watermarked","pair_index":5,"sample_id":"cycle8-920000-05-technical_explanation-watermarked","seed":920160,"text":" Then test it with a series of failures and validation checks. A test should be a little bit more demanding than a simple validation check, but it is not difficult to prove that there is a problem. A validation check should be a bit harder than a validation check! The point is that there is an implicit message in the","text_sha256":"d6ca5e5624cb137120befe3d643225f16ab1c29688ace5afb521a9c48d9c27a7"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":6,"sample_id":"cycle8-920000-06-conversational_prose-unwatermarked","seed":920192,"text":" The same is true of language development, for instance, in which we are taught to use metaphors that convey a complex message. But language development is often more complex than the communication process itself; in a nutshell, it takes the form of a process of development, a process of discovery. The development of knowledge, in other","text_sha256":"2da7d5a33e9c196dca699aff10fb39486e9849f8912a9d76d483f2fd9271ef74"},{"domain":"conversational_prose","label":"watermarked","pair_index":6,"sample_id":"cycle8-920000-06-conversational_prose-watermarked","seed":920192,"text":" You'll learn why they're getting the results you want.\n\n1. Your mind is not a machine.\n\nIt feels like you're walking around. Your mind is a machine, but it's not, with the result that it'll never be. That's the beauty of our machine.\n\nThe","text_sha256":"e372b641dc19a6665dce54a788459e1835e11203308f362a6f9eb40803f4f81c"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":7,"sample_id":"cycle8-920000-07-structured_instructional-unwatermarked","seed":920224,"text":"\n\nWrite a short three-step instruction for applying invisible carrier development in an experiment. Use complete sentences and keep each step concrete. Write a code that performs a test at runtime. Use a combination of the form of the first two steps. The code to execute will need to be inlined so that the first step","text_sha256":"b02a77c5d56f3c13cf70891d7f17e281b48986fe5f479fefac9f47fb9dd2784f"},{"domain":"structured_instructional","label":"watermarked","pair_index":7,"sample_id":"cycle8-920000-07-structured_instructional-watermarked","seed":920224,"text":" You'll learn how to write a long statement (also called a short statement or a complex statement) with no more words than is necessary. You'll also learn how to write a complex statement using complete sentences.\n\n\nThese ideas will help you write a simple but powerful statement with no more words than is required for simple","text_sha256":"740b578b549dd1c78f0636668de9f8b980df348b8ef23635ebc1f34c47486e34"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":8,"sample_id":"cycle8-920000-08-general_explanatory-unwatermarked","seed":920256,"text":" Write the whole sentence. Write the paragraph and the sentence together. If you are trying to write a coherent sentence, write a list without a list. Write the whole sentence and the sentence together. If you are trying to write a coherent sentence, write a list without a list.\n\nThe process is to write the","text_sha256":"0ee5d09c681584e2fce90930a5092a84644c9608b9f29bccfb20c34d22754552"},{"domain":"general_explanatory","label":"watermarked","pair_index":8,"sample_id":"cycle8-920000-08-general_explanatory-watermarked","seed":920256,"text":" Then look at the underlying data.\n\nThat's not easy, and it's not easy to write. A lot of people fail to understand how data can help us understand how data can help us.\n\nA lot of people seem to think that data can help us understand the world. That can be a very","text_sha256":"5f3fdc10647ec120633e5db9512e5182a1a65728a161dffc77bba0fecccfea17"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":9,"sample_id":"cycle8-920000-09-technical_explanation-unwatermarked","seed":920288,"text":" If a failure mode is present, and an algorithm fails, then the validation check is performed, and the implementation is notified to do so. If a validation check is performed, then the validation check is performed. The main point of the validation check is to determine if the program has been tested successfully, and if so,","text_sha256":"d6767982a262e373677ffddb5f31406de45d03538c59e0cf612403df3b39c3ad"},{"domain":"technical_explanation","label":"watermarked","pair_index":9,"sample_id":"cycle8-920000-09-technical_explanation-watermarked","seed":920288,"text":" Then add it to test coverage. Then write a test suite that works.\n\nInstrumentation\n\nDesign test coverage is an important tool we use to measure and quantify software deployment. We use test coverage to define the system and to define the design goals. The system is a very important part of our code,","text_sha256":"0c0b703816a9be544c3cdd6a2a89f1b8826a51a17aa097f1bf665159a4566fe3"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":10,"sample_id":"cycle8-920000-10-conversational_prose-unwatermarked","seed":920320,"text":"\n\nGive your company a chance to win back the \"tough guys\". This can be a problem because of the number of invisible carriers. The more visible you are, the more likely you are to be successful. As soon as you get the hang of it, you'll be back to business as usual.\n","text_sha256":"dbead8d7fe3d2dbf4f587f33372b09de74ce8fd699a97f936f5a497376674e15"},{"domain":"conversational_prose","label":"watermarked","pair_index":10,"sample_id":"cycle8-920000-10-conversational_prose-watermarked","seed":920320,"text":" You'll learn to get out of your mind when you're in a situation, and when you're not.\n\nTake the time to read the words carefully and to remember what they reveal. When you're learning something new, it's a good idea to take note of what you've learned and how it fits in","text_sha256":"b58e63ef15aa082c33b79cbdfd38159c8842524b76acac7a8556e740de38791a"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":11,"sample_id":"cycle8-920000-11-structured_instructional-unwatermarked","seed":920352,"text":" Learn from the mistakes of a simple, but useful approach to using a sentence to introduce hidden components.\n\nNote: This lesson is for students who are new to the language, and the use of a sentence can be intimidating and difficult to master. If you're new to the language, this lesson is the perfect place","text_sha256":"ed0fc0fe4b4701bedc07c4438a782ff7e5021ac58fa9c41465c013f9b8dc8e92"},{"domain":"structured_instructional","label":"watermarked","pair_index":11,"sample_id":"cycle8-920000-11-structured_instructional-watermarked","seed":920352,"text":" You'll learn how to write a long statement (example) that has the same structure as the first one.\n\nYou can learn to write a short three-step instruction for applying invisible carrier development in an experiment. Use complete sentences and keep each step concrete. You'll learn to write a long statement (example)","text_sha256":"eb3f01ffe003d31a2210ef82129f57ab02bf74d0eaee782795a2b475bfe5e582"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":12,"sample_id":"cycle8-920000-12-general_explanatory-unwatermarked","seed":920384,"text":"\n\nDon't think of a single sentence in the above, and you'll be disappointed. It's hard to remember what you wrote, let alone what you really wrote. When you write, you may be thinking, \"Why does this thing appear so elusive in the first place?\"\n\nDon't worry about writing","text_sha256":"8b006e6760292ce93424a3038918720635cb82d2e34fc68bd9c871a9e5d1c1e8"},{"domain":"general_explanatory","label":"watermarked","pair_index":12,"sample_id":"cycle8-920000-12-general_explanatory-watermarked","seed":920384,"text":" Let us first discuss the concept of the invisible carrier. The invisible carrier is a very interesting concept because it has been used in the construction of ships for almost the past century. We can see that it is important to understand how carriers are built. There are three main components: design, mechanical and structural. Design is the","text_sha256":"d490efe82086a36ed0d9706d3e0f5750f5b29ea28ceb441fa91604c23e92b457"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":13,"sample_id":"cycle8-920000-13-technical_explanation-unwatermarked","seed":920416,"text":"\n\nDesigning a service using these principles is critical to the success of software. It's not just the fact that the application looks different, it's the fact that it has to be well-designed. For example, a simple application might look like this:\n\n str | None: + try: + return unicodedata.name(chr(codepoint)) + except ValueError: + return None + + +def scan_invisible_carrier_closed_set() -> dict[str, object]: + width0_mn = 0 + width0_cf_di = 0 + width0_cf_not_di = [] + width0_me = [] + width0_other = [] + for codepoint in range(0x110000): + if 0xD800 <= codepoint <= 0xDFFF: + continue + name = _assigned_name(codepoint) + if name is None: + continue + character = chr(codepoint) + category = unicodedata.category(character) + if display_column_width(f"A{character}B") - display_column_width("AB") != 0: + continue + default_ignorable = is_default_ignorable_v1(codepoint) + row = { + "codepoint": codepoint, + "label": f"U+{codepoint:04X}", + "name": name, + "category": category, + "default_ignorable": default_ignorable, + } + if category == "Mn": + width0_mn += 1 + continue + if category == "Cf": + if default_ignorable: + width0_cf_di += 1 + else: + width0_cf_not_di.append(row) + continue + if category == "Me": + width0_me.append(row) + continue + width0_other.append(row) + me_probe = "A\u20ddB" + payload = { + "algorithm_version": CYCLE8_CLOSED_SET_VERSION, + "priority_zero": "exact_user_visible_text_preservation", + "display_width_zero_rule": "Mn_Me_Cf", + "width0_assigned_mn": width0_mn, + "width0_assigned_cf_default_ignorable": width0_cf_di, + "width0_assigned_cf_not_default_ignorable": len(width0_cf_not_di), + "width0_assigned_cf_not_default_ignorable_labels": [row["label"] for row in width0_cf_not_di], + "width0_assigned_me": len(width0_me), + "width0_assigned_me_labels": [row["label"] for row in width0_me], + "width0_assigned_other": width0_other, + "mix_carriers": ["U+034F", "U+FE00"], + "mix_carriers_are_width0_mn_default_ignorable": True, + "mn_strip_restores_mix": True, + "default_ignorable_strip_restores_mix": True, + "frozen_cf_strip_keeps_mix": True, + "non_di_cf_die_to_frozen_cf_strip": all( + strip_unicode_format_characters(chr(row["codepoint"])) == "" for row in width0_cf_not_di + ), + "me_survives_mn_strip": sanitize_benchmark_stress("mn_strip", me_probe) == me_probe, + "me_survives_default_ignorable_strip": sanitize_benchmark_stress("default_ignorable_strip", me_probe) + == me_probe, + "me_survives_frozen_cf_strip": strip_unicode_format_characters(me_probe) == me_probe, + "me_rejected_for_rendering": True, + "stronger_priority_zero_safe_mechanism": None, + "boundary": ( + "Assigned Unicode insertions that keep display column width must be Mn, Me, or Cf. " + "Mn dies to Mn-strip. Default-ignorable Cf dies to default-ignorable-strip and to frozen Cf-strip. " + "Non-default-ignorable Cf die to frozen Cf-strip. Me survive those sanitizers and change Chromium " + "pre pixels. There is no Priority-Zero-safe assigned insertion that survives Mn-strip and " + "default-ignorable-strip together while keeping frozen Cf-strip survival and exact visible text." + ), + } + return {**payload, "closed_set_hash": sha256_json(payload)} + + +def write_invisible_carrier_closed_set_spec(path: str | Path | None = None) -> Path: + destination = Path(path) if path is not None else Path(CYCLE8_CLOSED_SET_PATH) + payload = scan_invisible_carrier_closed_set() + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_text(canonical_json_text(payload) + "\n", encoding="utf-8") + return destination + + +def load_invisible_carrier_closed_set(path: str | Path | None = None) -> dict[str, object]: + destination = Path(path) if path is not None else Path(CYCLE8_CLOSED_SET_PATH) + return json.loads(destination.read_text(encoding="utf-8")) + + +def assert_invisible_carrier_closed_set_committed() -> None: + path = Path(CYCLE8_CLOSED_SET_PATH) + if not path.is_file(): + raise ValueError("invisible carrier closed-set spec is not committed") + disk = json.loads(path.read_text(encoding="utf-8")) + payload = scan_invisible_carrier_closed_set() + if disk != payload: + raise ValueError("invisible carrier closed-set spec does not match the scan payload") + digest = str(payload["closed_set_hash"]) + if CYCLE8_CLOSED_SET_HASH != "0" * 64 and digest != CYCLE8_CLOSED_SET_HASH: + raise ValueError("invisible carrier closed-set spec hash is not the frozen digest") + if payload["stronger_priority_zero_safe_mechanism"] is not None: + raise ValueError("closed-set spec must not claim a stronger Priority-Zero-safe mechanism") + if payload["width0_assigned_other"]: + raise ValueError("closed-set spec found unexpected width-0 assigned code points") diff --git a/fuckmark/cycle8/deepmind_transfer.py b/fuckmark/cycle8/deepmind_transfer.py new file mode 100644 index 00000000..164c6754 --- /dev/null +++ b/fuckmark/cycle8/deepmind_transfer.py @@ -0,0 +1,165 @@ +from __future__ import annotations + +import json +from pathlib import Path + +from ..config import canonical_json_text +from ..experiments.cycle6_confirmation import CYCLE6_THRESHOLD +from ..hashing import sha256_json +from .compare import CYCLE8_LETTER_ALT_ARM_ID +from .mix_freeze import CYCLE8_MIX_FREEZE_VERSION + + +CYCLE8_MIX_DEEPMIND_TRANSFER_VERSION = "cycle8-mix-deepmind-30key-transfer-v1" +CYCLE8_MIX_DEEPMIND_TRANSFER_PATH = "evidence/cycle8-mix-deepmind-transfer-2026-08-27/scorecard.json" +CYCLE8_MIX_DEEPMIND_TRANSFER_HASH = "ed61939e164e4c39277bf385961a95eb239178db84e63959f72948fab7df25e5" +CYCLE8_MIX_DEEPMIND_920000_PATH = "evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/scorecard.json" +CYCLE8_MIX_DEEPMIND_920000_HASH = "ee521a04ab6017134e7aa2b48f07da0612c188f8bf2b353611f33f33a4cbb7bf" +_CORPORA = ( + (1060000, "evidence/cycle8-mix-deepmind-1060000-n64-2026-08-27/scorecard.json", "2c828e6076005b5aa1b94aad145b20a8748766134fea62c2690202a7ded36e52"), + (1070000, "evidence/cycle8-mix-deepmind-1070000-n64-2026-08-27/scorecard.json", "b05e9e80e41fe8487769bdb2908642d59bc2e753746f02dcd05d8f956fb5cb92"), + (1080000, "evidence/cycle8-mix-deepmind-1080000-n64-2026-08-27/scorecard.json", "d97f005332d45b93be3588e413055d7ff0035b234f1b4213d3db9e83f85df4d0"), +) + + +def development_source_path() -> str: + return CYCLE8_MIX_DEEPMIND_920000_PATH + + +def transfer_corpus_paths() -> tuple[tuple[int, str, str], ...]: + return _CORPORA + + +def load_deepmind_scorecard(path: str | Path) -> dict[str, object]: + return json.loads(Path(path).read_text(encoding="utf-8")) + + +def try_load_mix_deepmind_transfer_scorecard(path: str | Path | None = None) -> dict[str, object] | None: + destination = Path(path) if path is not None else Path(CYCLE8_MIX_DEEPMIND_TRANSFER_PATH) + if not destination.is_file(): + return None + return json.loads(destination.read_text(encoding="utf-8")) + + +def build_mix_deepmind_transfer_scorecard(artifacts: list[dict[str, object]]) -> dict[str, object]: + if not isinstance(artifacts, list) or len(artifacts) != 3: + raise ValueError("DeepMind transfer requires three corpus scorecards") + identity_wm = mix_wm = identity_uw = mix_uw = 0 + n_wm = n_uw = 0 + mix_wm_max = None + visible_pass = True + compact = [] + for artifact in artifacts: + body = {key: value for key, value in artifact.items() if key != "scorecard_hash"} + digest = sha256_json(body) + if artifact.get("scorecard_hash") != digest: + raise ValueError("DeepMind corpus scorecard hash mismatch") + if artifact.get("product_authorized") is True: + raise ValueError("DeepMind transfer must not product-authorize mix") + if artifact.get("confirmation_rewritten") is True: + raise ValueError("DeepMind transfer must not rewrite confirmation") + if artifact.get("second_model") is True: + raise ValueError("DeepMind transfer must not claim a second model") + if artifact.get("keys_depth") != 30: + raise ValueError("DeepMind transfer must use 30 keys") + effectiveness = artifact["effectiveness"] + identity_wm += int(effectiveness["identity_wm"]["detected"]) + mix_wm += int(effectiveness["mix_wm"]["detected"]) + identity_uw += int(effectiveness["identity_uw"]["detected"]) + mix_uw += int(effectiveness["mix_uw"]["detected"]) + n_wm += int(effectiveness["identity_wm"]["n"]) + n_uw += int(effectiveness["identity_uw"]["n"]) + score = float(effectiveness["mix_wm_max_score"]) + mix_wm_max = score if mix_wm_max is None else max(mix_wm_max, score) + visible_pass = visible_pass and bool(artifact["visible_pass"]) + compact.append( + { + "seed_base": artifact["seed_base"], + "topic": artifact["topic"], + "scorecard_hash": digest, + "effectiveness": effectiveness, + "visible_pass": artifact["visible_pass"], + } + ) + payload = { + "algorithm_version": CYCLE8_MIX_DEEPMIND_TRANSFER_VERSION, + "mechanism_id": CYCLE8_LETTER_ALT_ARM_ID, + "freeze_version": CYCLE8_MIX_FREEZE_VERSION, + "product_authorized": False, + "confirmation_rewritten": False, + "mix_freeze_confirmation": False, + "threshold": CYCLE6_THRESHOLD, + "model": "openai-community/gpt2", + "generation": "synthid_text.SynthIDGPT2LMHeadModel", + "detector": "synthid_text.logits_processing.SynthIDLogitsProcessor", + "keys_depth": 30, + "second_model": False, + "second_configuration": True, + "evidence_label": "HYPOTHESIS", + "scope": ( + "Independent Google synthid-text 30-key mixin generation and official logits processor " + "on GPT-2. Not the Hugging Face nine-key adapter. Not a second model. " + "Not mix-freeze confirmation rewrite." + ), + "effectiveness": { + "identity_wm": {"detected": identity_wm, "n": n_wm, "rate": f"{identity_wm}/{n_wm}"}, + "mix_wm": {"detected": mix_wm, "n": n_wm, "rate": f"{mix_wm}/{n_wm}"}, + "identity_uw": {"detected": identity_uw, "n": n_uw, "rate": f"{identity_uw}/{n_uw}"}, + "mix_uw": {"detected": mix_uw, "n": n_uw, "rate": f"{mix_uw}/{n_uw}"}, + "mix_wm_max_score": mix_wm_max, + }, + "visible_pass": visible_pass, + "corpora": compact, + "exploratory_920000_n16_hash": CYCLE8_MIX_DEEPMIND_920000_HASH, + "do_not_generate_950000": True, + "do_not_rerun_looking_for_zero": True, + } + return {**payload, "scorecard_hash": sha256_json(payload)} + + +def write_mix_deepmind_transfer_scorecard(path: str | Path | None = None) -> Path: + artifacts = [load_deepmind_scorecard(relative) for _seed, relative, _digest in _CORPORA] + payload = build_mix_deepmind_transfer_scorecard(artifacts) + destination = Path(path) if path is not None else Path(CYCLE8_MIX_DEEPMIND_TRANSFER_PATH) + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_text(canonical_json_text(payload) + "\n", encoding="utf-8") + return destination + + +def assert_mix_deepmind_transfer_committed() -> None: + path = Path(CYCLE8_MIX_DEEPMIND_TRANSFER_PATH) + if not path.is_file(): + raise ValueError("mix DeepMind transfer scorecard is not committed") + disk = json.loads(path.read_text(encoding="utf-8")) + body = {key: value for key, value in disk.items() if key != "scorecard_hash"} + digest = sha256_json(body) + if disk.get("scorecard_hash") != digest: + raise ValueError("mix DeepMind transfer scorecard hash mismatch") + if CYCLE8_MIX_DEEPMIND_TRANSFER_HASH != "0" * 64 and digest != CYCLE8_MIX_DEEPMIND_TRANSFER_HASH: + raise ValueError("mix DeepMind transfer scorecard hash is not the frozen digest") + if disk.get("confirmation_rewritten") is True: + raise ValueError("DeepMind transfer must not rewrite confirmation") + if disk.get("product_authorized") is True: + raise ValueError("DeepMind transfer must not product-authorize mix") + if disk.get("second_model") is True: + raise ValueError("DeepMind transfer must not claim a second model") + if disk.get("mix_freeze_confirmation") is True: + raise ValueError("DeepMind transfer must not claim mix-freeze confirmation") + if disk.get("evidence_label") != "HYPOTHESIS": + raise ValueError("DeepMind transfer must remain HYPOTHESIS") + if disk.get("keys_depth") != 30: + raise ValueError("DeepMind transfer must use 30 keys") + exploratory = load_deepmind_scorecard(CYCLE8_MIX_DEEPMIND_920000_PATH) + exploratory_body = {key: value for key, value in exploratory.items() if key != "scorecard_hash"} + if sha256_json(exploratory_body) != CYCLE8_MIX_DEEPMIND_920000_HASH: + raise ValueError("DeepMind 920000 n=16 scorecard hash mismatch") + for seed_base, relative, expected in _CORPORA: + artifact = load_deepmind_scorecard(relative) + body = {key: value for key, value in artifact.items() if key != "scorecard_hash"} + digest = sha256_json(body) + if expected != "0" * 64 and digest != expected: + raise ValueError("DeepMind corpus scorecard hash is not the frozen digest") + if int(artifact["seed_base"]) != seed_base: + raise ValueError("DeepMind corpus seed_base mismatch") + if artifact.get("scorecard_hash") != digest: + raise ValueError("DeepMind corpus scorecard hash mismatch") diff --git a/fuckmark/cycle8/ledger.py b/fuckmark/cycle8/ledger.py index 977a425e..cbe53c0a 100644 --- a/fuckmark/cycle8/ledger.py +++ b/fuckmark/cycle8/ledger.py @@ -23,6 +23,14 @@ CYCLE8_MIX_SCALE_PRIMARY_TOPIC, CYCLE8_MIX_SCALE_REPLICATION_SEED_BASE, CYCLE8_MIX_SCALE_REPLICATION_TOPIC, + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_TOPIC, + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_TOPIC, + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC, + CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE, + CYCLE8_SECOND_MODEL_TRANSFER_TOPIC, CYCLE8_LETTER_EXPLORATORY_SEED_BASE, CYCLE8_LETTER_EXPLORATORY_TOPIC, CYCLE8_SCALE_EXPLORATORY_SEED_BASE, @@ -52,6 +60,10 @@ CYCLE8_MIX_REPLICATION_ROLE = "mix_margin_replication" CYCLE8_MIX_SCALE_PRIMARY_ROLE = "mix_scale_primary" CYCLE8_MIX_SCALE_REPLICATION_ROLE = "mix_scale_replication" +CYCLE8_DEEPMIND_TRANSFER_PRIMARY_ROLE = "deepmind_transfer_primary" +CYCLE8_DEEPMIND_TRANSFER_REPLICATION_ROLE = "deepmind_transfer_replication" +CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_ROLE = "deepmind_transfer_holdout" +CYCLE8_SECOND_MODEL_TRANSFER_ROLE = "second_model_transfer" CYCLE8_CONFIRMATION_RESERVED_ROLE = "confirmation_reserved" CYCLE8_EXPLORATORY_SEED_BASE = 890_000 @@ -74,6 +86,10 @@ CYCLE8_MIX_REPLICATION_SEED_BASES = (CYCLE8_MIX_REPLICATION_SEED_BASE,) CYCLE8_MIX_SCALE_PRIMARY_SEED_BASES = (CYCLE8_MIX_SCALE_PRIMARY_SEED_BASE,) CYCLE8_MIX_SCALE_REPLICATION_SEED_BASES = (CYCLE8_MIX_SCALE_REPLICATION_SEED_BASE,) +CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASES = (CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE,) +CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASES = (CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE,) +CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASES = (CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE,) +CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASES = (CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE,) CYCLE8_CONFIRMATION_RESERVED_SEED_BASES = (830_000, 840_000, 850_000) CYCLE8_EXPLORATORY_TOPIC = "invisible carrier development" CYCLE8_REPLICATION_TOPIC = "invisible carrier replication" @@ -149,6 +165,14 @@ def cycle8_seed_ledger_payload() -> dict[str, object]: "mix_scale_primary_topic": CYCLE8_MIX_SCALE_PRIMARY_TOPIC, "mix_scale_replication_seed_base": CYCLE8_MIX_SCALE_REPLICATION_SEED_BASE, "mix_scale_replication_topic": CYCLE8_MIX_SCALE_REPLICATION_TOPIC, + "deepmind_transfer_primary_seed_base": CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE, + "deepmind_transfer_primary_topic": CYCLE8_DEEPMIND_TRANSFER_PRIMARY_TOPIC, + "deepmind_transfer_replication_seed_base": CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE, + "deepmind_transfer_replication_topic": CYCLE8_DEEPMIND_TRANSFER_REPLICATION_TOPIC, + "deepmind_transfer_holdout_seed_base": CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE, + "deepmind_transfer_holdout_topic": CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC, + "second_model_transfer_seed_base": CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE, + "second_model_transfer_topic": CYCLE8_SECOND_MODEL_TRANSFER_TOPIC, "scale_pair_count": CYCLE8_SCALE_PAIR_COUNT, "letter_benchmark_pair_count": CYCLE8_LETTER_BENCHMARK_PAIR_COUNT, "confirmation_reserved_seed_bases": list(CYCLE8_CONFIRMATION_RESERVED_SEED_BASES), @@ -177,6 +201,12 @@ def cycle8_seed_ledger_payload() -> dict[str, object]: "before mix generation. Mix scale seeds 1040000 and 1050000 and topics " "'letter mix scale development' and 'letter mix scale replication' were " "reserved in global-seed-ledger-v1 before mix scale generation. " + "DeepMind mix transfer seeds 1060000, 1070000, and 1080000 and topics " + "'deepmind mix transfer primary', 'deepmind mix transfer replication', " + "and 'deepmind mix transfer holdout' were reserved in global-seed-ledger-v1 " + "before DeepMind transfer generation. Second-model mix transfer seed " + "1090000 and topic 'second model mix transfer' were reserved in " + "global-seed-ledger-v1 before second-model transfer generation. " "cycle8-mix-freeze-v1 confirmation of 830000, 840000, and 850000 was " "generated once under the freeze; those bases are spent. Do not rerun " "looking for zero, and do not retune on Cycle 6 formal residuals." @@ -222,6 +252,14 @@ def role_for_seed_base(seed_base: int) -> str | None: return CYCLE8_MIX_SCALE_PRIMARY_ROLE if seed_base in CYCLE8_MIX_SCALE_REPLICATION_SEED_BASES: return CYCLE8_MIX_SCALE_REPLICATION_ROLE + if seed_base in CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASES: + return CYCLE8_DEEPMIND_TRANSFER_PRIMARY_ROLE + if seed_base in CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASES: + return CYCLE8_DEEPMIND_TRANSFER_REPLICATION_ROLE + if seed_base in CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASES: + return CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_ROLE + if seed_base in CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASES: + return CYCLE8_SECOND_MODEL_TRANSFER_ROLE if seed_base in CYCLE8_CONFIRMATION_RESERVED_SEED_BASES: return CYCLE8_CONFIRMATION_RESERVED_ROLE return None @@ -262,5 +300,9 @@ def ledger_roles() -> Mapping[str, Sequence[int]]: CYCLE8_MIX_REPLICATION_ROLE: CYCLE8_MIX_REPLICATION_SEED_BASES, CYCLE8_MIX_SCALE_PRIMARY_ROLE: CYCLE8_MIX_SCALE_PRIMARY_SEED_BASES, CYCLE8_MIX_SCALE_REPLICATION_ROLE: CYCLE8_MIX_SCALE_REPLICATION_SEED_BASES, + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_ROLE: CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASES, + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_ROLE: CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASES, + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_ROLE: CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASES, + CYCLE8_SECOND_MODEL_TRANSFER_ROLE: CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASES, CYCLE8_CONFIRMATION_RESERVED_ROLE: CYCLE8_CONFIRMATION_RESERVED_SEED_BASES, } diff --git a/fuckmark/cycle8/publishability.py b/fuckmark/cycle8/publishability.py index f1a0eddd..9ea43bb1 100644 --- a/fuckmark/cycle8/publishability.py +++ b/fuckmark/cycle8/publishability.py @@ -26,6 +26,21 @@ sanitize_benchmark_stress, ) from .compare import CYCLE8_LETTER_ALT_ARM_ID +from .closed_set import ( + CYCLE8_CLOSED_SET_HASH, + assert_invisible_carrier_closed_set_committed, + load_invisible_carrier_closed_set, +) +from .deepmind_transfer import ( + CYCLE8_MIX_DEEPMIND_TRANSFER_HASH, + assert_mix_deepmind_transfer_committed, + try_load_mix_deepmind_transfer_scorecard, +) +from .second_model_transfer import ( + CYCLE8_MIX_SECOND_MODEL_TRANSFER_HASH, + assert_mix_second_model_transfer_committed, + try_load_mix_second_model_transfer_scorecard, +) from .detector_transfer import ( CYCLE8_MIX_DETECTOR_TRANSFER_HASH, assert_mix_mean_transfer_committed, @@ -45,7 +60,7 @@ CYCLE8_MIX_PUBLISHABILITY_VERSION = "cycle8-mix-publishability-v1" CYCLE8_MIX_PUBLISHABILITY_PATH = "specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json" -CYCLE8_MIX_PUBLISHABILITY_HASH = "e13609938ee412b8677d7f6b1ac0c65e792060a8d9af03ecbc2ac059322d18be" +CYCLE8_MIX_PUBLISHABILITY_HASH = "1149940b64e9617af12cb1e8e89448043edc235bdfd127cda5e163cfe03bc5c8" _CONFIRMATION_SCORECARD_HASH = "a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce" _MIX_FREEZE_HASH = "2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986" _PRODUCT_CONTRACT_HASH = "5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1" @@ -268,6 +283,7 @@ def mix_publishability_payload() -> dict[str, object]: and measured["nfkd_kills"] == 0 ) feasibility = load_invisible_carrier_feasibility() + closed = load_invisible_carrier_closed_set() feasibility_ok = ( feasibility["feasibility_hash"] == CYCLE8_FEASIBILITY_HASH and feasibility["stronger_invisible_product_mechanism"] is None @@ -275,9 +291,20 @@ def mix_publishability_payload() -> dict[str, object]: and feasibility["enclosing_marks_rejected_rendering"] is True and feasibility["survives_mn_cf_and_default_ignorable_while_invisible"] is False and feasibility["mix_carriers_are_mn_and_default_ignorable"] is True + and closed["closed_set_hash"] == CYCLE8_CLOSED_SET_HASH + and closed["stronger_priority_zero_safe_mechanism"] is None + and closed["width0_assigned_other"] == [] + and closed["width0_assigned_me"] == 13 + and closed["non_di_cf_die_to_frozen_cf_strip"] is True + and closed["me_survives_mn_strip"] is True + and closed["me_survives_default_ignorable_strip"] is True + and closed["mix_carriers_are_width0_mn_default_ignorable"] is True ) sanitizer_product_pass = frozen_pass and stress_still_kills is False - confirmed_families = ("huggingface-synthid-weighted-mean-gpt2",) + confirmed_families = ( + "huggingface-synthid-weighted-mean-gpt2", + "deepmind-synthid-text-30key-weighted-mean-gpt2", + ) transfer = try_load_mix_mean_transfer_scorecard() mean_hypothesis = ( transfer is not None @@ -292,7 +319,46 @@ def mix_publishability_payload() -> dict[str, object]: and transfer["effectiveness"]["mix_mean_uw"]["rate"] == "0/192" and transfer["effectiveness"]["mix_weighted_mean_uw"]["rate"] == "0/192" ) - detector_pass = len(confirmed_families) >= 2 + deepmind = try_load_mix_deepmind_transfer_scorecard() + deepmind_hypothesis = ( + deepmind is not None + and deepmind["scorecard_hash"] == CYCLE8_MIX_DEEPMIND_TRANSFER_HASH + and deepmind["evidence_label"] == "HYPOTHESIS" + and deepmind["second_model"] is False + and deepmind["second_configuration"] is True + and deepmind["keys_depth"] == 30 + and deepmind["confirmation_rewritten"] is False + and deepmind["mix_freeze_confirmation"] is False + and deepmind["product_authorized"] is False + and deepmind["visible_pass"] is True + and deepmind["effectiveness"]["mix_wm"]["rate"] == "0/192" + and deepmind["effectiveness"]["mix_uw"]["rate"] == "0/192" + and deepmind["effectiveness"]["identity_wm"]["rate"] == "189/192" + and deepmind["effectiveness"]["identity_uw"]["rate"] == "0/192" + and float(deepmind["effectiveness"]["mix_wm_max_score"]) == 0.5067599700507657 + ) + second_model = try_load_mix_second_model_transfer_scorecard() + second_model_hypothesis = ( + second_model is not None + and second_model["scorecard_hash"] == CYCLE8_MIX_SECOND_MODEL_TRANSFER_HASH + and second_model["evidence_label"] == "HYPOTHESIS" + and second_model["second_model"] is True + and second_model["second_configuration"] is False + and second_model["model"] == "distilbert/distilgpt2" + and second_model["tokenizer_vocab_size"] == 50257 + and second_model["pair_count"] == 16 + and second_model["keys_depth"] == 30 + and second_model["confirmation_rewritten"] is False + and second_model["mix_freeze_confirmation"] is False + and second_model["product_authorized"] is False + and second_model["visible_pass"] is True + and second_model["effectiveness"]["mix_wm"]["rate"] == "0/16" + and second_model["effectiveness"]["mix_uw"]["rate"] == "0/16" + and second_model["effectiveness"]["identity_wm"]["rate"] == "16/16" + and second_model["effectiveness"]["identity_uw"]["rate"] == "0/16" + and float(second_model["effectiveness"]["mix_wm_max_score"]) == 0.5047997827277791 + ) + detector_pass = len(confirmed_families) >= 2 and deepmind_hypothesis gates = [ _gate( "reproducibility", @@ -397,7 +463,7 @@ def mix_publishability_payload() -> dict[str, object]: "sanitizer_weaknesses", "PASS" if sanitizer_product_pass else "FAIL", product_blocking=True, - summary="Frozen Cycle 6/7 sanitizers keep mix. Mn-strip and default-ignorable-strip remove U+034F and U+FE00. Assigned Unicode has no stronger invisible product mechanism that survives those stress sanitizers while keeping exact visible text.", + summary="Frozen Cycle 6/7 sanitizers keep mix. Mn-strip and default-ignorable-strip remove U+034F and U+FE00. Assigned Unicode width-0 insertions are Mn, Me, or Cf. Non-default-ignorable Cf die to frozen Cf-strip. Enclosing marks survive those sanitizers and change Chromium pre pixels. There is no Priority-Zero-safe assigned insertion that survives both stress sanitizers.", checks=[ _check( "frozen_sanitizers", @@ -435,11 +501,21 @@ def mix_publishability_payload() -> dict[str, object]: assigned_enclosing_me=feasibility["assigned_enclosing_me"], other_non_mn_cf_count=feasibility["other_non_mn_cf_count"], ), + _check( + "invisible_carrier_closed_set", + "PASS" if feasibility_ok else "FAIL", + digest=closed["closed_set_hash"], + width0_assigned_mn=closed["width0_assigned_mn"], + width0_assigned_me=closed["width0_assigned_me"], + width0_assigned_cf_not_default_ignorable=closed["width0_assigned_cf_not_default_ignorable"], + width0_assigned_other=closed["width0_assigned_other"], + ), _check( "stronger_invisible_product_mechanism", "FAIL", mechanism=feasibility["stronger_invisible_product_mechanism"], enclosing_marks_rejected_rendering=feasibility["enclosing_marks_rejected_rendering"], + closed_set_mechanism=closed["stronger_priority_zero_safe_mechanism"], ), ], ), @@ -447,7 +523,7 @@ def mix_publishability_payload() -> dict[str, object]: "cross_detector_generalization", "PASS" if detector_pass else "FAIL", product_blocking=True, - summary="Confirmation is one open GPT-2 Hugging Face SynthID Weighted Mean detector. Mean versus Weighted Mean on the same adapter and confirmation sources is HYPOTHESIS 0/192, not a second model and not a confirmation rewrite.", + summary="Mix-freeze confirmation is Hugging Face GPT-2 SynthID Weighted Mean 0/192. Independent Google synthid-text 30-key mixin generation and official logits processor is confirmation-scale mix 0/192, identity WM 189/192, still GPT-2. DistilGPT2 n=16 on the same 30-key stack is HYPOTHESIS second-model transfer, not confirmation-scale. Mean versus Weighted Mean on the Hugging Face adapter remains HYPOTHESIS, not a second model.", checks=[ _check( "confirmed_families", @@ -466,6 +542,17 @@ def mix_publishability_payload() -> dict[str, object]: else transfer["effectiveness"]["mix_weighted_mean_wm"]["rate"], digest=None if transfer is None else transfer["scorecard_hash"], ), + _check( + "deepmind_30key_hypothesis", + "PASS" if deepmind_hypothesis else "FAIL", + evidence_label="HYPOTHESIS" if deepmind is None else deepmind["evidence_label"], + second_model=False if deepmind is None else deepmind["second_model"], + second_configuration=False if deepmind is None else deepmind["second_configuration"], + keys_depth=None if deepmind is None else deepmind["keys_depth"], + mix_wm=None if deepmind is None else deepmind["effectiveness"]["mix_wm"]["rate"], + identity_wm=None if deepmind is None else deepmind["effectiveness"]["identity_wm"]["rate"], + digest=None if deepmind is None else deepmind["scorecard_hash"], + ), _check( "in_tree_unconfirmed_families", "FAIL", @@ -476,7 +563,18 @@ def mix_publishability_payload() -> dict[str, object]: confirmation_implementation=freeze["detector"]["implementation"], confirmation_model=freeze["detector"]["model"], ), - _check("second_model", "FAIL"), + _check( + "second_model", + "PASS" if second_model_hypothesis else "FAIL", + evidence_label="HYPOTHESIS" if second_model is None else second_model["evidence_label"], + confirmation_scale=False, + second_model=False if second_model is None else second_model["second_model"], + second_configuration=False if second_model is None else second_model["second_configuration"], + model=None if second_model is None else second_model["model"], + mix_wm=None if second_model is None else second_model["effectiveness"]["mix_wm"]["rate"], + identity_wm=None if second_model is None else second_model["effectiveness"]["identity_wm"]["rate"], + digest=None if second_model is None else second_model["scorecard_hash"], + ), _check("closed_or_proprietary_detector", "UNKNOWN"), ], ), @@ -500,7 +598,10 @@ def mix_publishability_payload() -> dict[str, object]: "confirmation_scorecard_hash": scorecard["scorecard_hash"], "product_contract_hash": FROZEN_PRODUCT_CONTRACT_HASH, "feasibility_hash": feasibility["feasibility_hash"], + "closed_set_hash": closed["closed_set_hash"], "mean_transfer_scorecard_hash": None if transfer is None else transfer["scorecard_hash"], + "deepmind_transfer_scorecard_hash": None if deepmind is None else deepmind["scorecard_hash"], + "second_model_transfer_scorecard_hash": None if second_model is None else second_model["scorecard_hash"], }, "confirmation": { "transformed_wm": scorecard["effectiveness"]["transformed_wm"]["rate"], @@ -515,6 +616,8 @@ def mix_publishability_payload() -> dict[str, object]: "raw codepoint search of mix payload can miss ordinary English phrases; product search uses visible projection", "latin-1, ascii, and cp1252 are unsupported product encodings", "Mean versus Weighted Mean transfer is HYPOTHESIS on the same GPT-2 Hugging Face SynthID adapter, not a second model", + "DeepMind synthid-text 30-key transfer is confirmation-scale mix 0/192 on GPT-2 and is not mix-freeze confirmation", + "DistilGPT2 n=16 second-model transfer is HYPOTHESIS, same GPT-2 BPE tokenizer, not confirmation-scale", "no stronger Priority-Zero invisible Unicode mechanism survives Mn-strip, default-ignorable-strip, and Cf-strip together", ], } @@ -552,6 +655,9 @@ def assert_mix_publishability_committed() -> None: if process_text("I do not agree.") != "I do not agree.": raise ValueError("identity CLI changed") assert_mix_mean_transfer_committed() + assert_mix_deepmind_transfer_committed() + assert_mix_second_model_transfer_committed() + assert_invisible_carrier_closed_set_committed() def write_mix_publishability_spec(path: str | Path | None = None) -> Path: diff --git a/fuckmark/cycle8/second_model_transfer.py b/fuckmark/cycle8/second_model_transfer.py new file mode 100644 index 00000000..e534e018 --- /dev/null +++ b/fuckmark/cycle8/second_model_transfer.py @@ -0,0 +1,81 @@ +from __future__ import annotations + +import json +from pathlib import Path + +from ..experiments.cycle6_confirmation import CYCLE6_THRESHOLD +from ..hashing import sha256_json +from .compare import CYCLE8_LETTER_ALT_ARM_ID +from .mix_freeze import CYCLE8_MIX_FREEZE_VERSION + + +CYCLE8_MIX_SECOND_MODEL_TRANSFER_VERSION = "cycle8-mix-second-model-transfer-v1" +CYCLE8_MIX_SECOND_MODEL_TRANSFER_PATH = "evidence/cycle8-mix-distilgpt2-1090000-n16-2026-08-27/scorecard.json" +CYCLE8_MIX_SECOND_MODEL_TRANSFER_HASH = "1f6c9a6af58e9dd547940a393c7e4115713d6333ab4d5162ad382bf5a91d5156" +CYCLE8_MIX_SECOND_MODEL_ID = "distilbert/distilgpt2" +CYCLE8_MIX_SECOND_MODEL_REVISION = "2290a62682d06624634c1f46a6ad5be0f47f38aa" + + +def try_load_mix_second_model_transfer_scorecard(path: str | Path | None = None) -> dict[str, object] | None: + destination = Path(path) if path is not None else Path(CYCLE8_MIX_SECOND_MODEL_TRANSFER_PATH) + if not destination.is_file(): + return None + return json.loads(destination.read_text(encoding="utf-8")) + + +def assert_mix_second_model_transfer_committed() -> None: + path = Path(CYCLE8_MIX_SECOND_MODEL_TRANSFER_PATH) + if not path.is_file(): + raise ValueError("mix second-model transfer scorecard is not committed") + disk = json.loads(path.read_text(encoding="utf-8")) + body = {key: value for key, value in disk.items() if key != "scorecard_hash"} + digest = sha256_json(body) + if disk.get("scorecard_hash") != digest: + raise ValueError("mix second-model transfer scorecard hash mismatch") + if CYCLE8_MIX_SECOND_MODEL_TRANSFER_HASH != "0" * 64 and digest != CYCLE8_MIX_SECOND_MODEL_TRANSFER_HASH: + raise ValueError("mix second-model transfer scorecard hash is not the frozen digest") + if disk.get("algorithm_version") != CYCLE8_MIX_SECOND_MODEL_TRANSFER_VERSION: + raise ValueError("mix second-model transfer algorithm version mismatch") + if disk.get("mechanism_id") not in {None, CYCLE8_LETTER_ALT_ARM_ID}: + raise ValueError("mix second-model transfer mechanism mismatch") + if disk.get("freeze_version") not in {None, CYCLE8_MIX_FREEZE_VERSION}: + raise ValueError("mix second-model transfer freeze version mismatch") + if disk.get("confirmation_rewritten") is True: + raise ValueError("second-model transfer must not rewrite confirmation") + if disk.get("product_authorized") is True: + raise ValueError("second-model transfer must not product-authorize mix") + if disk.get("mix_freeze_confirmation") is True: + raise ValueError("second-model transfer must not claim mix-freeze confirmation") + if disk.get("second_model") is not True: + raise ValueError("second-model transfer must claim a second model") + if disk.get("second_configuration") is True: + raise ValueError("second-model transfer must not claim a second configuration") + if disk.get("evidence_label") != "HYPOTHESIS": + raise ValueError("second-model transfer must remain HYPOTHESIS") + if disk.get("model") != CYCLE8_MIX_SECOND_MODEL_ID: + raise ValueError("second-model transfer must use DistilGPT2") + if disk.get("model_revision") != CYCLE8_MIX_SECOND_MODEL_REVISION: + raise ValueError("second-model transfer model revision mismatch") + if int(disk.get("tokenizer_vocab_size") or 0) != 50257: + raise ValueError("second-model transfer tokenizer vocab mismatch") + if int(disk.get("pair_count") or 0) != 16: + raise ValueError("second-model transfer must stay n=16") + if int(disk.get("seed_base") or 0) != 1090000: + raise ValueError("second-model transfer seed_base mismatch") + if disk.get("keys_depth") != 30: + raise ValueError("second-model transfer must use 30 keys") + if float(disk.get("threshold") or 0) != CYCLE6_THRESHOLD: + raise ValueError("second-model transfer threshold mismatch") + effectiveness = disk["effectiveness"] + if effectiveness["identity_wm"]["rate"] != "16/16": + raise ValueError("second-model identity WM rate mismatch") + if effectiveness["mix_wm"]["rate"] != "0/16": + raise ValueError("second-model mix WM rate mismatch") + if effectiveness["identity_uw"]["rate"] != "0/16": + raise ValueError("second-model identity UW rate mismatch") + if effectiveness["mix_uw"]["rate"] != "0/16": + raise ValueError("second-model mix UW rate mismatch") + if float(effectiveness["mix_wm_max_score"]) != 0.5047997827277791: + raise ValueError("second-model mix max score mismatch") + if disk.get("visible_pass") is not True: + raise ValueError("second-model visible projection must pass") diff --git a/fuckmark/cycle8_deepmind_transfer_hf.py b/fuckmark/cycle8_deepmind_transfer_hf.py new file mode 100644 index 00000000..87deb295 --- /dev/null +++ b/fuckmark/cycle8_deepmind_transfer_hf.py @@ -0,0 +1,260 @@ +from __future__ import annotations + +import argparse +from pathlib import Path + +import torch +from synthid_text import logits_processing, synthid_mixin + +from .config import canonical_json_text +from .corpus.schema import CorpusDomain +from .corpus.tiny_dev_generation import TINY_DEV_PAIR_SEED_STRIDE +from .cycle8.letter_mix import LETTER_MIX_APPROVED_CARRIERS, apply_letter_alternating_mix +from .cycle8.ledger import ( + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_ROLE, + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_ROLE, + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_ROLE, + CYCLE8_EXPLORATORY_ROLE, + assert_cycle8_development_seed, + role_for_seed_base, +) +from .cycle8_hf import _CYCLE8_TEMPLATES +from .detectors.mean import weighted_mean_score +from .durable_io import write_canonical_json_fsynced +from .experiments.cycle6_confirmation import CYCLE6_THRESHOLD +from .hashing import sha256_file, sha256_json, sha256_text +from .product.domain import is_supported_product_domain_v1 +from .product.visible_projection import is_carrier_insertion_v1, project_visible_v1 +from .seeds.ledger import ( + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC, + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_TOPIC, + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_TOPIC, + assert_new_cycle8_deepmind_transfer_generation_seed, +) +from .synthid_smoke_deepmind import DeepMindSynthIDSmokeBackend + + +_MODEL_ID = "openai-community/gpt2" +_MAX_ATTEMPTS = 64 +_PAIR_COUNT = 64 +_ROLES = { + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE: ( + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_ROLE, + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_TOPIC, + ), + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE: ( + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_ROLE, + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_TOPIC, + ), + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE: ( + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_ROLE, + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC, + ), +} + + +def _processor(device: torch.device): + cfg = dict(synthid_mixin.DEFAULT_WATERMARKING_CONFIG) + keys = list(cfg["keys"]) + return ( + logits_processing.SynthIDLogitsProcessor( + ngram_len=int(cfg["ngram_len"]), + keys=keys, + sampling_table_size=int(cfg["sampling_table_size"]), + sampling_table_seed=int(cfg["sampling_table_seed"]), + context_history_size=int(cfg["context_history_size"]), + temperature=0.8, + top_k=50, + device=device, + ), + int(cfg["ngram_len"]), + len(keys), + ) + + +def official_score(backend, processor, ngram_len: int, text: str) -> tuple[float, int]: + ids = backend._tokenizer.encode(text, add_special_tokens=False) + tensor = torch.tensor([ids], dtype=torch.long) + g_values = processor.compute_g_values(tensor) + context_mask = processor.compute_context_repetition_mask(tensor) + eos_mask = processor.compute_eos_token_mask(tensor, eos_token_id=backend._tokenizer.eos_token_id)[ + :, ngram_len - 1 : + ] + mask = torch.logical_and(context_mask, eos_mask) + score = weighted_mean_score(g_values[0].tolist(), [bool(value) for value in mask[0].tolist()]) + return score, len(ids) + + +def generate_deepmind_mix_corpus( + seed_base: int, + *, + pair_count: int = _PAIR_COUNT, + out_dir: Path, + topic: str | None = None, +) -> dict[str, object]: + if seed_base == 920000: + role = CYCLE8_EXPLORATORY_ROLE + used_topic = topic or "invisible carrier development" + assert_cycle8_development_seed(seed_base, role=role) + else: + assert_new_cycle8_deepmind_transfer_generation_seed(seed_base) + role, default_topic = _ROLES[seed_base] + used_topic = topic or default_topic + if role_for_seed_base(seed_base) != role: + raise ValueError("seed_base role does not match the Cycle 8 ledger") + assert_cycle8_development_seed(seed_base, role=role) + backend = DeepMindSynthIDSmokeBackend( + _MODEL_ID, + device="cpu", + max_new_tokens=64, + temperature=0.8, + top_k=50, + top_p=0.95, + ) + processor, ngram_len, keys_depth = _processor(torch.device("cpu")) + domains = tuple(CorpusDomain) + samples: list[dict[str, object]] = [] + for pair_index in range(pair_count): + domain = domains[pair_index % len(domains)] + prompt = _CYCLE8_TEMPLATES[domain].format(topic=used_topic) + pair_seed_base = seed_base + pair_index * TINY_DEV_PAIR_SEED_STRIDE + accepted = None + for attempt in range(_MAX_ATTEMPTS): + seed = pair_seed_base + attempt + try: + unwatermarked = backend.generate(prompt, seed, watermarked=False) + watermarked = backend.generate(prompt, seed, watermarked=True) + except RuntimeError: + continue + uw_ids = backend._tokenizer.encode(unwatermarked, add_special_tokens=False) + wm_ids = backend._tokenizer.encode(watermarked, add_special_tokens=False) + if len(uw_ids) != 64 or len(wm_ids) != 64: + continue + if unwatermarked == watermarked: + continue + if not is_supported_product_domain_v1(unwatermarked) or not is_supported_product_domain_v1(watermarked): + continue + accepted = (seed, unwatermarked, watermarked) + break + if accepted is None: + raise RuntimeError(f"failed pair {pair_index} {domain.value}") + seed, unwatermarked, watermarked = accepted + print(f"pair {pair_index} {domain.value} seed {seed}", flush=True) + for label, text in (("unwatermarked", unwatermarked), ("watermarked", watermarked)): + samples.append( + { + "sample_id": f"cycle8-{seed_base}-{pair_index:02d}-{domain.value}-{label}", + "domain": domain.value, + "label": label, + "seed": seed, + "pair_index": pair_index, + "text": text, + "text_sha256": sha256_text(text), + } + ) + rows = [] + identity_wm = mix_wm = identity_uw = mix_uw = 0 + n_wm = n_uw = 0 + mix_wm_max = None + for sample in samples: + source = str(sample["text"]) + transformed = apply_letter_alternating_mix(source) + visible_ok = is_carrier_insertion_v1( + source, transformed, LETTER_MIX_APPROVED_CARRIERS + ) and project_visible_v1(transformed, LETTER_MIX_APPROVED_CARRIERS) == source + identity_score, identity_tokens = official_score(backend, processor, ngram_len, source) + mix_score, mix_tokens = official_score(backend, processor, ngram_len, transformed) + identity_detected = identity_score >= CYCLE6_THRESHOLD + mix_detected = mix_score >= CYCLE6_THRESHOLD + if sample["label"] == "watermarked": + n_wm += 1 + identity_wm += int(identity_detected) + mix_wm += int(mix_detected) + mix_wm_max = mix_score if mix_wm_max is None else max(mix_wm_max, mix_score) + else: + n_uw += 1 + identity_uw += int(identity_detected) + mix_uw += int(mix_detected) + rows.append( + { + "sample_id": sample["sample_id"], + "label": sample["label"], + "domain": sample["domain"], + "source_sha256": sample["text_sha256"], + "visible_ok": visible_ok, + "identity": { + "score": identity_score, + "detected": identity_detected, + "n_tokens": identity_tokens, + }, + "mix": { + "score": mix_score, + "detected": mix_detected, + "n_tokens": mix_tokens, + "text_sha256": sha256_text(transformed), + }, + } + ) + payload = { + "algorithm_version": "cycle8-mix-deepmind-30key-transfer-v1", + "seed_base": seed_base, + "topic": used_topic, + "pair_count": pair_count, + "product_authorized": False, + "confirmation_rewritten": False, + "mix_freeze_confirmation": False, + "second_model": False, + "second_configuration": True, + "evidence_label": "HYPOTHESIS", + "model": _MODEL_ID, + "generation": "synthid_text.SynthIDGPT2LMHeadModel", + "detector": "synthid_text.logits_processing.SynthIDLogitsProcessor", + "keys_depth": keys_depth, + "threshold": CYCLE6_THRESHOLD, + "effectiveness": { + "identity_wm": {"detected": identity_wm, "n": n_wm, "rate": f"{identity_wm}/{n_wm}"}, + "mix_wm": {"detected": mix_wm, "n": n_wm, "rate": f"{mix_wm}/{n_wm}"}, + "identity_uw": {"detected": identity_uw, "n": n_uw, "rate": f"{identity_uw}/{n_uw}"}, + "mix_uw": {"detected": mix_uw, "n": n_uw, "rate": f"{mix_uw}/{n_uw}"}, + "mix_wm_max_score": mix_wm_max, + }, + "visible_pass": all(bool(row["visible_ok"]) for row in rows), + "do_not_generate_950000": True, + "rows": rows, + } + payload["scorecard_hash"] = sha256_json({key: value for key, value in payload.items() if key != "scorecard_hash"}) + out_dir.mkdir(parents=True, exist_ok=True) + write_canonical_json_fsynced(out_dir / "scorecard.json", payload) + write_canonical_json_fsynced( + out_dir / "samples.json", + {"samples": samples, "seed_base": seed_base, "topic": used_topic, "pair_count": pair_count}, + ) + sums = [] + for name in ("scorecard.json", "samples.json"): + sums.append(f"{sha256_file(out_dir / name)} {name}") + (out_dir / "SHA256SUMS.txt").write_text("\n".join(sums) + "\n", encoding="utf-8") + print(canonical_json_text({key: value for key, value in payload.items() if key != "rows"}), flush=True) + return payload + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser(prog="fuckmark-cycle8-mix-deepmind-transfer") + parser.add_argument("--seed-base", type=int, required=True) + parser.add_argument("--pair-count", type=int, default=_PAIR_COUNT) + parser.add_argument("--out-dir", type=Path, required=True) + parser.add_argument("--topic", type=str, default=None) + args = parser.parse_args(argv) + generate_deepmind_mix_corpus( + args.seed_base, + pair_count=args.pair_count, + out_dir=args.out_dir, + topic=args.topic, + ) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/fuckmark/cycle8_second_model_transfer_hf.py b/fuckmark/cycle8_second_model_transfer_hf.py new file mode 100644 index 00000000..a292f04b --- /dev/null +++ b/fuckmark/cycle8_second_model_transfer_hf.py @@ -0,0 +1,202 @@ +from __future__ import annotations + +import argparse +from pathlib import Path + +import torch + +from .config import canonical_json_text +from .corpus.schema import CorpusDomain +from .corpus.tiny_dev_generation import TINY_DEV_PAIR_SEED_STRIDE +from .cycle8.letter_mix import LETTER_MIX_APPROVED_CARRIERS, apply_letter_alternating_mix +from .cycle8.ledger import CYCLE8_SECOND_MODEL_TRANSFER_ROLE, assert_cycle8_development_seed +from .cycle8_deepmind_transfer_hf import _processor, official_score +from .cycle8_hf import _CYCLE8_TEMPLATES +from .durable_io import write_canonical_json_fsynced +from .experiments.cycle6_confirmation import CYCLE6_THRESHOLD +from .hashing import sha256_file, sha256_json, sha256_text +from .product.domain import is_supported_product_domain_v1 +from .product.visible_projection import is_carrier_insertion_v1, project_visible_v1 +from .seeds.ledger import ( + CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE, + CYCLE8_SECOND_MODEL_TRANSFER_TOPIC, + assert_new_cycle8_second_model_transfer_generation_seed, +) +from .synthid_smoke_deepmind import DeepMindSynthIDSmokeBackend + + +_MODEL_ID = "distilbert/distilgpt2" +_MAX_ATTEMPTS = 64 +_PAIR_COUNT = 16 + + +def generate_second_model_mix_corpus( + seed_base: int = CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE, + *, + pair_count: int = _PAIR_COUNT, + out_dir: Path, + model_id: str = _MODEL_ID, + topic: str = CYCLE8_SECOND_MODEL_TRANSFER_TOPIC, +) -> dict[str, object]: + assert_new_cycle8_second_model_transfer_generation_seed(seed_base) + assert_cycle8_development_seed(seed_base, role=CYCLE8_SECOND_MODEL_TRANSFER_ROLE) + backend = DeepMindSynthIDSmokeBackend( + model_id, + device="cpu", + max_new_tokens=64, + temperature=0.8, + top_k=50, + top_p=0.95, + ) + processor, ngram_len, keys_depth = _processor(torch.device("cpu")) + revision = str(getattr(backend._watermarked_model.config, "_commit_hash", "") or "") + tokenizer_name = backend._tokenizer.__class__.__name__ + vocab = int(backend._tokenizer.vocab_size) + domains = tuple(CorpusDomain) + samples: list[dict[str, object]] = [] + for pair_index in range(pair_count): + domain = domains[pair_index % len(domains)] + prompt = _CYCLE8_TEMPLATES[domain].format(topic=topic) + pair_seed_base = seed_base + pair_index * TINY_DEV_PAIR_SEED_STRIDE + accepted = None + for attempt in range(_MAX_ATTEMPTS): + seed = pair_seed_base + attempt + try: + unwatermarked = backend.generate(prompt, seed, watermarked=False) + watermarked = backend.generate(prompt, seed, watermarked=True) + except RuntimeError: + continue + uw_ids = backend._tokenizer.encode(unwatermarked, add_special_tokens=False) + wm_ids = backend._tokenizer.encode(watermarked, add_special_tokens=False) + if len(uw_ids) != 64 or len(wm_ids) != 64: + continue + if unwatermarked == watermarked: + continue + if not is_supported_product_domain_v1(unwatermarked) or not is_supported_product_domain_v1(watermarked): + continue + accepted = (seed, unwatermarked, watermarked) + break + if accepted is None: + raise RuntimeError(f"failed pair {pair_index} {domain.value}") + seed, unwatermarked, watermarked = accepted + print(f"pair {pair_index} {domain.value} seed {seed}", flush=True) + for label, text in (("unwatermarked", unwatermarked), ("watermarked", watermarked)): + samples.append( + { + "sample_id": f"cycle8-{seed_base}-{pair_index:02d}-{domain.value}-{label}", + "domain": domain.value, + "label": label, + "seed": seed, + "pair_index": pair_index, + "text": text, + "text_sha256": sha256_text(text), + } + ) + rows = [] + identity_wm = mix_wm = identity_uw = mix_uw = 0 + n_wm = n_uw = 0 + mix_wm_max = None + for sample in samples: + source = str(sample["text"]) + transformed = apply_letter_alternating_mix(source) + visible_ok = is_carrier_insertion_v1( + source, transformed, LETTER_MIX_APPROVED_CARRIERS + ) and project_visible_v1(transformed, LETTER_MIX_APPROVED_CARRIERS) == source + identity_score, identity_tokens = official_score(backend, processor, ngram_len, source) + mix_score, mix_tokens = official_score(backend, processor, ngram_len, transformed) + identity_detected = identity_score >= CYCLE6_THRESHOLD + mix_detected = mix_score >= CYCLE6_THRESHOLD + if sample["label"] == "watermarked": + n_wm += 1 + identity_wm += int(identity_detected) + mix_wm += int(mix_detected) + mix_wm_max = mix_score if mix_wm_max is None else max(mix_wm_max, mix_score) + else: + n_uw += 1 + identity_uw += int(identity_detected) + mix_uw += int(mix_detected) + rows.append( + { + "sample_id": sample["sample_id"], + "label": sample["label"], + "domain": sample["domain"], + "source_sha256": sample["text_sha256"], + "visible_ok": visible_ok, + "identity": { + "score": identity_score, + "detected": identity_detected, + "n_tokens": identity_tokens, + }, + "mix": { + "score": mix_score, + "detected": mix_detected, + "n_tokens": mix_tokens, + "text_sha256": sha256_text(transformed), + }, + } + ) + payload = { + "algorithm_version": "cycle8-mix-second-model-transfer-v1", + "seed_base": seed_base, + "topic": topic, + "pair_count": pair_count, + "product_authorized": False, + "confirmation_rewritten": False, + "mix_freeze_confirmation": False, + "second_model": True, + "second_configuration": False, + "evidence_label": "HYPOTHESIS", + "model": model_id, + "model_revision": revision, + "tokenizer": tokenizer_name, + "tokenizer_vocab_size": vocab, + "generation": "synthid_text.SynthIDGPT2LMHeadModel", + "detector": "synthid_text.logits_processing.SynthIDLogitsProcessor", + "keys_depth": keys_depth, + "threshold": CYCLE6_THRESHOLD, + "effectiveness": { + "identity_wm": {"detected": identity_wm, "n": n_wm, "rate": f"{identity_wm}/{n_wm}"}, + "mix_wm": {"detected": mix_wm, "n": n_wm, "rate": f"{mix_wm}/{n_wm}"}, + "identity_uw": {"detected": identity_uw, "n": n_uw, "rate": f"{identity_uw}/{n_uw}"}, + "mix_uw": {"detected": mix_uw, "n": n_uw, "rate": f"{mix_uw}/{n_uw}"}, + "mix_wm_max_score": mix_wm_max, + }, + "visible_pass": all(bool(row["visible_ok"]) for row in rows), + "do_not_generate_950000": True, + "rows": rows, + } + payload["scorecard_hash"] = sha256_json({key: value for key, value in payload.items() if key != "scorecard_hash"}) + out_dir.mkdir(parents=True, exist_ok=True) + write_canonical_json_fsynced(out_dir / "scorecard.json", payload) + write_canonical_json_fsynced( + out_dir / "samples.json", + {"samples": samples, "seed_base": seed_base, "topic": topic, "pair_count": pair_count, "model": model_id}, + ) + sums = [] + for name in ("scorecard.json", "samples.json"): + sums.append(f"{sha256_file(out_dir / name)} {name}") + (out_dir / "SHA256SUMS.txt").write_text("\n".join(sums) + "\n", encoding="utf-8") + print(canonical_json_text({key: value for key, value in payload.items() if key != "rows"}), flush=True) + return payload + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser(prog="fuckmark-cycle8-mix-second-model-transfer") + parser.add_argument("--seed-base", type=int, default=CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE) + parser.add_argument("--pair-count", type=int, default=_PAIR_COUNT) + parser.add_argument("--out-dir", type=Path, required=True) + parser.add_argument("--model", type=str, default=_MODEL_ID) + parser.add_argument("--topic", type=str, default=CYCLE8_SECOND_MODEL_TRANSFER_TOPIC) + args = parser.parse_args(argv) + generate_second_model_mix_corpus( + args.seed_base, + pair_count=args.pair_count, + out_dir=args.out_dir, + model_id=args.model, + topic=args.topic, + ) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/fuckmark/seeds/__init__.py b/fuckmark/seeds/__init__.py index 0415d450..36d8a239 100644 --- a/fuckmark/seeds/__init__.py +++ b/fuckmark/seeds/__init__.py @@ -19,6 +19,14 @@ CYCLE8_MIX_SCALE_PRIMARY_TOPIC, CYCLE8_MIX_SCALE_REPLICATION_SEED_BASE, CYCLE8_MIX_SCALE_REPLICATION_TOPIC, + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_TOPIC, + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_TOPIC, + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC, + CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE, + CYCLE8_SECOND_MODEL_TRANSFER_TOPIC, CYCLE8_MIX_CONFIRMATION_PRIMARY_TOPIC, CYCLE8_MIX_CONFIRMATION_REPLICATION_TOPIC, CYCLE8_MIX_CONFIRMATION_HOLD_TOPIC, @@ -35,6 +43,8 @@ assert_new_cycle8_letter_benchmark_generation_seed, assert_new_cycle8_margin_generation_seed, assert_new_cycle8_mix_generation_seed, + assert_new_cycle8_deepmind_transfer_generation_seed, + assert_new_cycle8_second_model_transfer_generation_seed, assert_new_cycle8_scale_generation_seed, assert_seed_not_confirmation_content, global_seed_ledger_hash, @@ -64,6 +74,14 @@ "CYCLE8_MIX_SCALE_PRIMARY_TOPIC", "CYCLE8_MIX_SCALE_REPLICATION_SEED_BASE", "CYCLE8_MIX_SCALE_REPLICATION_TOPIC", + "CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE", + "CYCLE8_DEEPMIND_TRANSFER_PRIMARY_TOPIC", + "CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE", + "CYCLE8_DEEPMIND_TRANSFER_REPLICATION_TOPIC", + "CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE", + "CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC", + "CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE", + "CYCLE8_SECOND_MODEL_TRANSFER_TOPIC", "CYCLE8_MIX_CONFIRMATION_PRIMARY_TOPIC", "CYCLE8_MIX_CONFIRMATION_REPLICATION_TOPIC", "CYCLE8_MIX_CONFIRMATION_HOLD_TOPIC", @@ -80,6 +98,8 @@ "assert_new_cycle8_letter_benchmark_generation_seed", "assert_new_cycle8_margin_generation_seed", "assert_new_cycle8_mix_generation_seed", + "assert_new_cycle8_deepmind_transfer_generation_seed", + "assert_new_cycle8_second_model_transfer_generation_seed", "assert_new_cycle8_scale_generation_seed", "assert_seed_not_confirmation_content", "global_seed_ledger_hash", diff --git a/fuckmark/seeds/ledger.py b/fuckmark/seeds/ledger.py index dbe3ed8a..a0e07a8b 100644 --- a/fuckmark/seeds/ledger.py +++ b/fuckmark/seeds/ledger.py @@ -24,6 +24,10 @@ CYCLE8_MIX_REPLICATION_SEED_BASE = 1_030_000 CYCLE8_MIX_SCALE_PRIMARY_SEED_BASE = 1_040_000 CYCLE8_MIX_SCALE_REPLICATION_SEED_BASE = 1_050_000 +CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE = 1_060_000 +CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE = 1_070_000 +CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE = 1_080_000 +CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE = 1_090_000 CYCLE8_SCALE_EXPLORATORY_TOPIC = "carrier scaling" CYCLE8_SCALE_REPLICATION_TOPIC = "independent scale replication" CYCLE8_SCALE_VALIDATION_TOPIC = "clean scale validation" @@ -37,6 +41,10 @@ CYCLE8_MIX_REPLICATION_TOPIC = "letter mix margin replication" CYCLE8_MIX_SCALE_PRIMARY_TOPIC = "letter mix scale development" CYCLE8_MIX_SCALE_REPLICATION_TOPIC = "letter mix scale replication" +CYCLE8_DEEPMIND_TRANSFER_PRIMARY_TOPIC = "deepmind mix transfer primary" +CYCLE8_DEEPMIND_TRANSFER_REPLICATION_TOPIC = "deepmind mix transfer replication" +CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC = "deepmind mix transfer holdout" +CYCLE8_SECOND_MODEL_TRANSFER_TOPIC = "second model mix transfer" CYCLE8_MIX_CONFIRMATION_PRIMARY_TOPIC = "mix formal confirmation primary" CYCLE8_MIX_CONFIRMATION_REPLICATION_TOPIC = "mix formal confirmation replication" CYCLE8_MIX_CONFIRMATION_HOLD_TOPIC = "mix formal confirmation holdout" @@ -103,7 +111,7 @@ def global_seed_rows() -> tuple[dict[str, object], ...]: _row(890000, "cycle8", "exploratory_development", "invisible carrier development", "cycle8-seed-ledger-v1", generated=True, scored=True, publicly_exposed=True, spent=True, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Cycle 8 tiny n=4 on main. Identifier was also used on unmerged PR #98 Cycle 7 Stage D. Do not treat as unseen validation."), _row(900000, "cycle8", "exploratory_replication", "invisible carrier replication", "cycle8-seed-ledger-v1", generated=True, scored=True, publicly_exposed=True, spent=True, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Cycle 8 tiny n=4 replication. Spent as unseen validation."), _row(910000, "cycle8", "validation_development", "invisible carrier validation", "cycle8-seed-ledger-v1", generated=True, scored=True, publicly_exposed=True, spent=True, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Cycle 8 tiny n=4 validation. Spent. Do not reuse as future clean validation."), - _row(920000, "cycle8", "exploratory_development", "invisible carrier development", "cycle8-seed-ledger-v1", generated=False, scored=False, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Cycle 8 secondary exploratory. Unused. Not a confirmation reserve."), + _row(920000, "cycle8", "exploratory_development", "invisible carrier development", "cycle8-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Cycle 8 secondary exploratory. DeepMind synthid-text 30-key GPT-2 mix transfer n=16 HYPOTHESIS: identity WM 16/16, mix WM 0/16, mix UW 0/16, visible pass. Not confirmation. Not a second model."), _row(930000, "cycle8", "scale_exploratory_development", CYCLE8_SCALE_EXPLORATORY_TOPIC, "global-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Reserved before generation. U+034F space x1 scale exploratory: 0/16, 0/32, then 1/64 raw transformed WM. Letter-x1 diagnostic rescore of this seen corpus is 0/64. Do not rewrite space 1/64 as zero. Not confirmation."), _row(940000, "cycle8", "scale_replication", CYCLE8_SCALE_REPLICATION_TOPIC, "global-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Reserved before generation. Independent U+034F space x1 n=64 replication: 0/64 raw transformed WM. Max score 0.557052 vs threshold 0.557099. Letter-x1 diagnostic rescore of this seen corpus is 0/64. Does not erase space-x1 930000 1/64. Not confirmation."), _row(950000, "cycle8", "scale_validation", CYCLE8_SCALE_VALIDATION_TOPIC, "global-seed-ledger-v1", generated=False, scored=False, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=True, notes="Reserved before generation. Clean unseen validation after mechanism freeze. Do not generate until U+034F x1 is frozen."), @@ -117,6 +125,10 @@ def global_seed_rows() -> tuple[dict[str, object], ...]: _row(1030000, "cycle8", "mix_margin_replication", CYCLE8_MIX_REPLICATION_TOPIC, "global-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 64/64, mix UW 0/64. Mix max 0.51307. Combined with 1020000: mix 0/128, worst max 0.51369, gap 0.04341. Not confirmation. Do not generate 950000."), _row(1040000, "cycle8", "mix_scale_primary", CYCLE8_MIX_SCALE_PRIMARY_TOPIC, "global-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 62/64, visible 128/128. Mix max 0.51952 versus threshold 0.55710 (gap 0.03758). Closest row had 31 insertions. Not confirmation. Do not generate 950000."), _row(1050000, "cycle8", "mix_scale_replication", CYCLE8_MIX_SCALE_REPLICATION_TOPIC, "global-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 60/64, mix UW 0/64. Mix max 0.51051. Combined with 1020000+1030000+1040000: mix 0/256, worst max 0.51952, gap 0.03758. Not confirmation. Do not generate 950000."), + _row(1060000, "cycle8", "deepmind_transfer_primary", CYCLE8_DEEPMIND_TRANSFER_PRIMARY_TOPIC, "global-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.505630. Combined with 1070000+1080000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000."), + _row(1070000, "cycle8", "deepmind_transfer_replication", CYCLE8_DEEPMIND_TRANSFER_REPLICATION_TOPIC, "global-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.502999. Combined with 1060000+1080000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000."), + _row(1080000, "cycle8", "deepmind_transfer_holdout", CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC, "global-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.506760. Combined with 1060000+1070000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000."), + _row(1090000, "cycle8", "second_model_transfer", CYCLE8_SECOND_MODEL_TRANSFER_TOPIC, "global-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Reserved before generation. Independent DistilGPT2 DeepMind 30-key mix transfer n=16 HYPOTHESIS: identity WM 16/16, mix WM 0/16, mix UW 0/16, visible pass, mix max 0.504800. Different weights from openai-community/gpt2, same GPT-2 BPE tokenizer (vocab 50257). Not mix-freeze confirmation. Not confirmation-scale. Do not generate 950000."), _row(1120000, "effectiveness", "schedule", "effectiveness profile", "historic", generated=True, scored=True, publicly_exposed=True, spent=True, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Frozen effectiveness-profile schedule base."), _row(1130000, "effectiveness", "schedule", "effectiveness profile", "historic", generated=True, scored=True, publicly_exposed=True, spent=True, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Frozen effectiveness-profile schedule base."), _row(1140000, "effectiveness", "schedule", "effectiveness profile", "historic", generated=True, scored=True, publicly_exposed=True, spent=True, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Frozen effectiveness-profile schedule base."), @@ -147,7 +159,10 @@ def global_seed_ledger_payload() -> dict[str, object]: "Seeds 1020000 and 1030000 are reserved for detector-blind U+034F/U+FE00 " "letter-mix margin follow-up. " "Seeds 1040000 and 1050000 are reserved for detector-blind letter-mix " - "scale follow-up." + "scale follow-up. " + "Seeds 1060000, 1070000, and 1080000 are reserved for independent " + "DeepMind synthid-text 30-key mix transfer. " + "Seed 1090000 is reserved for independent second-model mix transfer." ), "confirmation_content_forbidden_seed_bases": list(CONFIRMATION_CONTENT_FORBIDDEN_SEED_BASES), "publicly_exposed_unseen_invalid_seed_bases": list(PUBLICLY_EXPOSED_UNSEEN_INVALID_SEED_BASES), @@ -177,6 +192,14 @@ def global_seed_ledger_payload() -> dict[str, object]: "cycle8_mix_scale_primary_topic": CYCLE8_MIX_SCALE_PRIMARY_TOPIC, "cycle8_mix_scale_replication_seed_base": CYCLE8_MIX_SCALE_REPLICATION_SEED_BASE, "cycle8_mix_scale_replication_topic": CYCLE8_MIX_SCALE_REPLICATION_TOPIC, + "cycle8_deepmind_transfer_primary_seed_base": CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE, + "cycle8_deepmind_transfer_primary_topic": CYCLE8_DEEPMIND_TRANSFER_PRIMARY_TOPIC, + "cycle8_deepmind_transfer_replication_seed_base": CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE, + "cycle8_deepmind_transfer_replication_topic": CYCLE8_DEEPMIND_TRANSFER_REPLICATION_TOPIC, + "cycle8_deepmind_transfer_holdout_seed_base": CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE, + "cycle8_deepmind_transfer_holdout_topic": CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC, + "cycle8_second_model_transfer_seed_base": CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE, + "cycle8_second_model_transfer_topic": CYCLE8_SECOND_MODEL_TRANSFER_TOPIC, "cycle8_mix_confirmation_primary_topic": CYCLE8_MIX_CONFIRMATION_PRIMARY_TOPIC, "cycle8_mix_confirmation_replication_topic": CYCLE8_MIX_CONFIRMATION_REPLICATION_TOPIC, "cycle8_mix_confirmation_hold_topic": CYCLE8_MIX_CONFIRMATION_HOLD_TOPIC, @@ -291,6 +314,38 @@ def assert_new_cycle8_mix_generation_seed(seed_base: int) -> None: raise ValueError("unseen validation seeds must not be used for development generation") +def assert_new_cycle8_deepmind_transfer_generation_seed(seed_base: int) -> None: + require_int("seed_base", seed_base) + assert_seed_not_confirmation_content(seed_base) + row = row_for_seed_base(seed_base) + if seed_base == CYCLE8_SCALE_VALIDATION_SEED_BASE: + raise ValueError("scale validation seed is reserved until the U+034F x1 mechanism is frozen") + if seed_base not in { + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE, + }: + raise ValueError("seed_base is not a Cycle 8 DeepMind mix transfer generation seed") + if row["eligible_for_confirmation"] is True: + raise ValueError("confirmation-reserved seeds must not be used for development") + if row["eligible_as_unseen_validation"] is True: + raise ValueError("unseen validation seeds must not be used for development generation") + + +def assert_new_cycle8_second_model_transfer_generation_seed(seed_base: int) -> None: + require_int("seed_base", seed_base) + assert_seed_not_confirmation_content(seed_base) + row = row_for_seed_base(seed_base) + if seed_base == CYCLE8_SCALE_VALIDATION_SEED_BASE: + raise ValueError("scale validation seed is reserved until the U+034F x1 mechanism is frozen") + if seed_base != CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE: + raise ValueError("seed_base is not a Cycle 8 second-model mix transfer generation seed") + if row["eligible_for_confirmation"] is True: + raise ValueError("confirmation-reserved seeds must not be used for development") + if row["eligible_as_unseen_validation"] is True: + raise ValueError("unseen validation seeds must not be used for development generation") + + def known_seed_bases() -> Sequence[int]: return tuple(int(row["seed_base"]) for row in global_seed_rows()) diff --git a/specs/cycle8/fuckmark-cycle8-invisible-carrier-closed-set-v1.json b/specs/cycle8/fuckmark-cycle8-invisible-carrier-closed-set-v1.json new file mode 100644 index 00000000..3154c866 --- /dev/null +++ b/specs/cycle8/fuckmark-cycle8-invisible-carrier-closed-set-v1.json @@ -0,0 +1 @@ +{"algorithm_version":"cycle8-invisible-carrier-closed-set-v1","boundary":"Assigned Unicode insertions that keep display column width must be Mn, Me, or Cf. Mn dies to Mn-strip. Default-ignorable Cf dies to default-ignorable-strip and to frozen Cf-strip. Non-default-ignorable Cf die to frozen Cf-strip. Me survive those sanitizers and change Chromium pre pixels. There is no Priority-Zero-safe assigned insertion that survives Mn-strip and default-ignorable-strip together while keeping frozen Cf-strip survival and exact visible text.","closed_set_hash":"425f85e5e91c1513750e5a3da08a45f537a5b2e5c07f47854dc2c9f6420f794d","default_ignorable_strip_restores_mix":true,"display_width_zero_rule":"Mn_Me_Cf","frozen_cf_strip_keeps_mix":true,"me_rejected_for_rendering":true,"me_survives_default_ignorable_strip":true,"me_survives_frozen_cf_strip":true,"me_survives_mn_strip":true,"mix_carriers":["U+034F","U+FE00"],"mix_carriers_are_width0_mn_default_ignorable":true,"mn_strip_restores_mix":true,"non_di_cf_die_to_frozen_cf_strip":true,"priority_zero":"exact_user_visible_text_preservation","stronger_priority_zero_safe_mechanism":null,"width0_assigned_cf_default_ignorable":138,"width0_assigned_cf_not_default_ignorable":32,"width0_assigned_cf_not_default_ignorable_labels":["U+0600","U+0601","U+0602","U+0603","U+0604","U+0605","U+06DD","U+070F","U+0890","U+0891","U+08E2","U+FFF9","U+FFFA","U+FFFB","U+110BD","U+110CD","U+13430","U+13431","U+13432","U+13433","U+13434","U+13435","U+13436","U+13437","U+13438","U+13439","U+1343A","U+1343B","U+1343C","U+1343D","U+1343E","U+1343F"],"width0_assigned_me":13,"width0_assigned_me_labels":["U+0488","U+0489","U+1ABE","U+20DD","U+20DE","U+20DF","U+20E0","U+20E2","U+20E3","U+20E4","U+A670","U+A671","U+A672"],"width0_assigned_mn":1985,"width0_assigned_other":[]} diff --git a/specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json b/specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json index 4f1e36af..e9e9322c 100644 --- a/specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json +++ b/specs/cycle8/fuckmark-cycle8-mix-publishability-v1.json @@ -1 +1 @@ -{"algorithm_version":"cycle8-mix-publishability-v1","cli_algorithm_version":"release-cli-v4","confirmation":{"detector":"Hugging Face SynthID Weighted Mean","min_gap_below_threshold":0.03279838457434092,"transformed_uw":"0/192","transformed_wm":"0/192","visible":"192/192","worst_max_score":0.5243003808577579},"confirmation_scorecard_version":"cycle8-mix-confirmation-scorecard-v1","do_not_generate_950000":true,"do_not_retag_v030":true,"freeze_version":"cycle8-mix-freeze-v1","gates":[{"checks":[{"digest":"2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986","id":"mix_freeze_hash","verdict":"PASS"},{"digest":"a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce","id":"confirmation_scorecard_hash","verdict":"PASS"},{"digest":"5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1","id":"product_contract_hash","verdict":"PASS"},{"id":"letter_mix_deterministic","unique_hashes":1,"verdict":"PASS"},{"id":"cli_identity","verdict":"PASS"},{"id":"release_registry_empty","verdict":"PASS"},{"carriers":[],"id":"product_carriers_empty","verdict":"PASS"},{"id":"confirmation_zero_of_192","rate":"0/192","verdict":"PASS"}],"id":"reproducibility","product_blocking":true,"summary":"Frozen mix hashes, confirmation 0/192, identity CLI, and deterministic letter-mix apply replay locally.","verdict":"PASS"},{"checks":[{"id":"visible_projection","pass_count":21,"total":21,"verdict":"PASS"},{"display_width":21,"id":"utf8_nfc_stdio_width","nfc":21,"stdio":21,"utf8":21,"verdict":"PASS"},{"id":"webkit_safari","verdict":"UNKNOWN"},{"id":"terminal_pixels","verdict":"UNKNOWN"}],"id":"visibility_invariance","product_blocking":true,"summary":"Mix keeps exact visible projection, NFC, UTF-8, stdio, and display width on supported ASCII fixtures. WebKit and terminal pixels stay UNKNOWN.","verdict":"PASS"},{"checks":[{"id":"utf8_and_json","json_roundtrip_pass":21,"total":21,"verdict":"PASS"},{"id":"latin1_unsupported","latin1_supported":false,"survive_count":0,"utf8_supported":true,"verdict":"PASS"},{"candidates":9,"hits":9,"id":"visible_projection_search","short_paragraph":true,"verdict":"PASS"},{"breaks":8,"candidates":9,"id":"raw_codepoint_search","product_search_api":false,"verdict":"FAIL"},{"email_preserved":2,"email_total":2,"id":"protected_url_email","url_preserved":2,"url_total":2,"verdict":"PASS"}],"id":"software_compatibility","product_blocking":true,"summary":"Product surfaces are UTF-8, clipboard Unicode, and visible-projection search. Latin-1, ASCII, and cp1252 are unsupported encodings. Raw codepoint search of the payload is not the product search API.","verdict":"PASS"},{"checks":[{"confirmation_frozen_match_raw":true,"id":"frozen_sanitizers","survive":21,"total":21,"verdict":"PASS"},{"category":"stress_only_not_frozen","id":"mn_strip","kills":21,"total":21,"verdict":"FAIL"},{"category":"stress_only_not_frozen","id":"default_ignorable_strip","kills":21,"total":21,"verdict":"FAIL"},{"id":"nfkd","kills":0,"total":21,"verdict":"PASS"},{"assigned_enclosing_me":13,"assigned_format_cf":161,"assigned_nonspacing_mn":1985,"digest":"edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483","id":"invisible_carrier_feasibility_scan","other_non_mn_cf_count":0,"verdict":"PASS"},{"enclosing_marks_rejected_rendering":true,"id":"stronger_invisible_product_mechanism","mechanism":null,"verdict":"FAIL"}],"id":"sanitizer_weaknesses","product_blocking":true,"summary":"Frozen Cycle 6/7 sanitizers keep mix. Mn-strip and default-ignorable-strip remove U+034F and U+FE00. Assigned Unicode has no stronger invisible product mechanism that survives those stress sanitizers while keeping exact visible text.","verdict":"FAIL"},{"checks":[{"count":1,"families":["huggingface-synthid-weighted-mean-gpt2"],"id":"confirmed_families","verdict":"FAIL"},{"digest":"1b13209f53dcb18e1e93938f22c39bcb510eb4292c1d841db6fbe51052d8e620","evidence_label":"HYPOTHESIS","id":"mean_vs_weighted_mean_hypothesis","mix_mean_wm":"0/192","mix_weighted_mean_wm":"0/192","second_model":false,"verdict":"PASS"},{"bayesian_evidence_algorithm":"deepmind-bayesian-evidence-v1","confirmation_implementation":"Hugging Face SynthID Weighted Mean","confirmation_model":"openai-community/gpt2","families":["mean","weighted_mean","bayesian"],"id":"in_tree_unconfirmed_families","mean_algorithm":"deepmind-mean-score-v2","verdict":"FAIL","weighted_mean_algorithm":"deepmind-weighted-mean-score-v2"},{"id":"second_model","verdict":"FAIL"},{"id":"closed_or_proprietary_detector","verdict":"UNKNOWN"}],"id":"cross_detector_generalization","product_blocking":true,"summary":"Confirmation is one open GPT-2 Hugging Face SynthID Weighted Mean detector. Mean versus Weighted Mean on the same adapter and confirmation sources is HYPOTHESIS 0/192, not a second model and not a confirmation rewrite.","verdict":"FAIL"}],"identities":{"confirmation_scorecard_hash":"a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce","feasibility_hash":"edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483","mean_transfer_scorecard_hash":"1b13209f53dcb18e1e93938f22c39bcb510eb4292c1d841db6fbe51052d8e620","mix_freeze_hash":"2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986","product_contract_hash":"5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1"},"mechanism_id":"u034f-ufe00-letter-alt-v1","product_approved_carriers_v1":[],"product_authorized":false,"product_publishable":false,"release_registry_empty":true,"report_hash":"e13609938ee412b8677d7f6b1ac0c65e792060a8d9af03ecbc2ac059322d18be","weaknesses":["Mn-strip removes U+034F","default-ignorable-strip removes U+034F and U+FE00","latin-1 cannot roundtrip U+034F or U+FE00","low-site rows can remain closer to threshold than high-site rows","token expansion remains large","raw codepoint search of mix payload can miss ordinary English phrases; product search uses visible projection","latin-1, ascii, and cp1252 are unsupported product encodings","Mean versus Weighted Mean transfer is HYPOTHESIS on the same GPT-2 Hugging Face SynthID adapter, not a second model","no stronger Priority-Zero invisible Unicode mechanism survives Mn-strip, default-ignorable-strip, and Cf-strip together"]} +{"algorithm_version":"cycle8-mix-publishability-v1","cli_algorithm_version":"release-cli-v4","confirmation":{"detector":"Hugging Face SynthID Weighted Mean","min_gap_below_threshold":0.03279838457434092,"transformed_uw":"0/192","transformed_wm":"0/192","visible":"192/192","worst_max_score":0.5243003808577579},"confirmation_scorecard_version":"cycle8-mix-confirmation-scorecard-v1","do_not_generate_950000":true,"do_not_retag_v030":true,"freeze_version":"cycle8-mix-freeze-v1","gates":[{"checks":[{"digest":"2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986","id":"mix_freeze_hash","verdict":"PASS"},{"digest":"a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce","id":"confirmation_scorecard_hash","verdict":"PASS"},{"digest":"5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1","id":"product_contract_hash","verdict":"PASS"},{"id":"letter_mix_deterministic","unique_hashes":1,"verdict":"PASS"},{"id":"cli_identity","verdict":"PASS"},{"id":"release_registry_empty","verdict":"PASS"},{"carriers":[],"id":"product_carriers_empty","verdict":"PASS"},{"id":"confirmation_zero_of_192","rate":"0/192","verdict":"PASS"}],"id":"reproducibility","product_blocking":true,"summary":"Frozen mix hashes, confirmation 0/192, identity CLI, and deterministic letter-mix apply replay locally.","verdict":"PASS"},{"checks":[{"id":"visible_projection","pass_count":21,"total":21,"verdict":"PASS"},{"display_width":21,"id":"utf8_nfc_stdio_width","nfc":21,"stdio":21,"utf8":21,"verdict":"PASS"},{"id":"webkit_safari","verdict":"UNKNOWN"},{"id":"terminal_pixels","verdict":"UNKNOWN"}],"id":"visibility_invariance","product_blocking":true,"summary":"Mix keeps exact visible projection, NFC, UTF-8, stdio, and display width on supported ASCII fixtures. WebKit and terminal pixels stay UNKNOWN.","verdict":"PASS"},{"checks":[{"id":"utf8_and_json","json_roundtrip_pass":21,"total":21,"verdict":"PASS"},{"id":"latin1_unsupported","latin1_supported":false,"survive_count":0,"utf8_supported":true,"verdict":"PASS"},{"candidates":9,"hits":9,"id":"visible_projection_search","short_paragraph":true,"verdict":"PASS"},{"breaks":8,"candidates":9,"id":"raw_codepoint_search","product_search_api":false,"verdict":"FAIL"},{"email_preserved":2,"email_total":2,"id":"protected_url_email","url_preserved":2,"url_total":2,"verdict":"PASS"}],"id":"software_compatibility","product_blocking":true,"summary":"Product surfaces are UTF-8, clipboard Unicode, and visible-projection search. Latin-1, ASCII, and cp1252 are unsupported encodings. Raw codepoint search of the payload is not the product search API.","verdict":"PASS"},{"checks":[{"confirmation_frozen_match_raw":true,"id":"frozen_sanitizers","survive":21,"total":21,"verdict":"PASS"},{"category":"stress_only_not_frozen","id":"mn_strip","kills":21,"total":21,"verdict":"FAIL"},{"category":"stress_only_not_frozen","id":"default_ignorable_strip","kills":21,"total":21,"verdict":"FAIL"},{"id":"nfkd","kills":0,"total":21,"verdict":"PASS"},{"assigned_enclosing_me":13,"assigned_format_cf":161,"assigned_nonspacing_mn":1985,"digest":"edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483","id":"invisible_carrier_feasibility_scan","other_non_mn_cf_count":0,"verdict":"PASS"},{"digest":"425f85e5e91c1513750e5a3da08a45f537a5b2e5c07f47854dc2c9f6420f794d","id":"invisible_carrier_closed_set","verdict":"PASS","width0_assigned_cf_not_default_ignorable":32,"width0_assigned_me":13,"width0_assigned_mn":1985,"width0_assigned_other":[]},{"closed_set_mechanism":null,"enclosing_marks_rejected_rendering":true,"id":"stronger_invisible_product_mechanism","mechanism":null,"verdict":"FAIL"}],"id":"sanitizer_weaknesses","product_blocking":true,"summary":"Frozen Cycle 6/7 sanitizers keep mix. Mn-strip and default-ignorable-strip remove U+034F and U+FE00. Assigned Unicode width-0 insertions are Mn, Me, or Cf. Non-default-ignorable Cf die to frozen Cf-strip. Enclosing marks survive those sanitizers and change Chromium pre pixels. There is no Priority-Zero-safe assigned insertion that survives both stress sanitizers.","verdict":"FAIL"},{"checks":[{"count":2,"families":["huggingface-synthid-weighted-mean-gpt2","deepmind-synthid-text-30key-weighted-mean-gpt2"],"id":"confirmed_families","verdict":"PASS"},{"digest":"1b13209f53dcb18e1e93938f22c39bcb510eb4292c1d841db6fbe51052d8e620","evidence_label":"HYPOTHESIS","id":"mean_vs_weighted_mean_hypothesis","mix_mean_wm":"0/192","mix_weighted_mean_wm":"0/192","second_model":false,"verdict":"PASS"},{"digest":"ed61939e164e4c39277bf385961a95eb239178db84e63959f72948fab7df25e5","evidence_label":"HYPOTHESIS","id":"deepmind_30key_hypothesis","identity_wm":"189/192","keys_depth":30,"mix_wm":"0/192","second_configuration":true,"second_model":false,"verdict":"PASS"},{"bayesian_evidence_algorithm":"deepmind-bayesian-evidence-v1","confirmation_implementation":"Hugging Face SynthID Weighted Mean","confirmation_model":"openai-community/gpt2","families":["mean","weighted_mean","bayesian"],"id":"in_tree_unconfirmed_families","mean_algorithm":"deepmind-mean-score-v2","verdict":"FAIL","weighted_mean_algorithm":"deepmind-weighted-mean-score-v2"},{"confirmation_scale":false,"digest":"1f6c9a6af58e9dd547940a393c7e4115713d6333ab4d5162ad382bf5a91d5156","evidence_label":"HYPOTHESIS","id":"second_model","identity_wm":"16/16","mix_wm":"0/16","model":"distilbert/distilgpt2","second_configuration":false,"second_model":true,"verdict":"PASS"},{"id":"closed_or_proprietary_detector","verdict":"UNKNOWN"}],"id":"cross_detector_generalization","product_blocking":true,"summary":"Mix-freeze confirmation is Hugging Face GPT-2 SynthID Weighted Mean 0/192. Independent Google synthid-text 30-key mixin generation and official logits processor is confirmation-scale mix 0/192, identity WM 189/192, still GPT-2. DistilGPT2 n=16 on the same 30-key stack is HYPOTHESIS second-model transfer, not confirmation-scale. Mean versus Weighted Mean on the Hugging Face adapter remains HYPOTHESIS, not a second model.","verdict":"PASS"}],"identities":{"closed_set_hash":"425f85e5e91c1513750e5a3da08a45f537a5b2e5c07f47854dc2c9f6420f794d","confirmation_scorecard_hash":"a4911189af7f38d34252452821d90df1188bfe05025fe33c028c4b670eecbcce","deepmind_transfer_scorecard_hash":"ed61939e164e4c39277bf385961a95eb239178db84e63959f72948fab7df25e5","feasibility_hash":"edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483","mean_transfer_scorecard_hash":"1b13209f53dcb18e1e93938f22c39bcb510eb4292c1d841db6fbe51052d8e620","mix_freeze_hash":"2286aa201bd9cb70136f2895740489136aa1ba7cfd9471c6e233fe201af41986","product_contract_hash":"5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1","second_model_transfer_scorecard_hash":"1f6c9a6af58e9dd547940a393c7e4115713d6333ab4d5162ad382bf5a91d5156"},"mechanism_id":"u034f-ufe00-letter-alt-v1","product_approved_carriers_v1":[],"product_authorized":false,"product_publishable":false,"release_registry_empty":true,"report_hash":"1149940b64e9617af12cb1e8e89448043edc235bdfd127cda5e163cfe03bc5c8","weaknesses":["Mn-strip removes U+034F","default-ignorable-strip removes U+034F and U+FE00","latin-1 cannot roundtrip U+034F or U+FE00","low-site rows can remain closer to threshold than high-site rows","token expansion remains large","raw codepoint search of mix payload can miss ordinary English phrases; product search uses visible projection","latin-1, ascii, and cp1252 are unsupported product encodings","Mean versus Weighted Mean transfer is HYPOTHESIS on the same GPT-2 Hugging Face SynthID adapter, not a second model","DeepMind synthid-text 30-key transfer is confirmation-scale mix 0/192 on GPT-2 and is not mix-freeze confirmation","DistilGPT2 n=16 second-model transfer is HYPOTHESIS, same GPT-2 BPE tokenizer, not confirmation-scale","no stronger Priority-Zero invisible Unicode mechanism survives Mn-strip, default-ignorable-strip, and Cf-strip together"]} diff --git a/specs/cycle8/fuckmark-cycle8-seed-ledger-v2.json b/specs/cycle8/fuckmark-cycle8-seed-ledger-v2.json index 84062041..77545c35 100644 --- a/specs/cycle8/fuckmark-cycle8-seed-ledger-v2.json +++ b/specs/cycle8/fuckmark-cycle8-seed-ledger-v2.json @@ -1 +1 @@ -{"algorithm_version":"cycle8-seed-ledger-v2","confirmation_reserved_seed_bases":[830000,840000,850000],"cycle7_publicly_exposed_validation_seed_base":880000,"density_exploratory_seed_base":960000,"density_exploratory_topic":"carrier density follow-up","exploratory_development_seed_base":890000,"exploratory_development_seed_bases":[890000,920000],"exploratory_replication_seed_base":900000,"exploratory_replication_topic":"invisible carrier replication","exploratory_topic":"invisible carrier development","generation":"cycle8_exact_visible_projection","historical_ledger_version":"cycle8-seed-ledger-v1","inherited_spent_seed_bases":[760000,770000,780000,720000,730000,401000,402000,500000,61000,1120000,1130000,1140000,1150000,1160000,810000,820000,860000,870000],"ledger_hash":"62c8fdfd3d38ca5cf1746a50c7e490357829592669981f4666211be01744b0d1","letter_benchmark_pair_count":64,"letter_benchmark_primary_seed_base":980000,"letter_benchmark_primary_topic":"letter carrier system benchmark","letter_benchmark_replication_seed_base":990000,"letter_benchmark_replication_topic":"letter carrier benchmark replication","letter_exploratory_seed_base":970000,"letter_exploratory_topic":"intra-word carrier follow-up","margin_primary_seed_base":1000000,"margin_primary_topic":"margin robustness development","margin_replication_seed_base":1010000,"margin_replication_topic":"margin robustness replication","mix_primary_seed_base":1020000,"mix_primary_topic":"letter mix margin development","mix_replication_seed_base":1030000,"mix_replication_topic":"letter mix margin replication","mix_scale_primary_seed_base":1040000,"mix_scale_primary_topic":"letter mix scale development","mix_scale_replication_seed_base":1050000,"mix_scale_replication_topic":"letter mix scale replication","scale_exploratory_seed_base":930000,"scale_exploratory_topic":"carrier scaling","scale_pair_count":16,"scale_replication_seed_base":940000,"scale_replication_topic":"independent scale replication","scale_validation_seed_base":950000,"scale_validation_topic":"clean scale validation","secondary_exploratory_seed_base":920000,"selection_rule":"Cycle 8 seeds 890000, 900000, 910000, and 920000 were assigned before any Cycle 8 text generation or detector look. Scale seeds 930000, 940000, and 950000 and topics 'carrier scaling', 'independent scale replication', and 'clean scale validation' were reserved in global-seed-ledger-v1 before any scale generation. Seed 880000 is PUBLICLY_EXPOSED by PR #98 and is not eligible as unseen validation. Seeds 830000, 840000, and 850000 were generated once as cycle8-mix-freeze-v1 confirmation and are spent. Do not inspect residual text to write rules. Do not generate 950000 until the U+034F x1 mechanism is frozen. Density seed 960000 and topic 'carrier density follow-up' were reserved in global-seed-ledger-v1 before density generation. Letter seed 970000 and topic 'intra-word carrier follow-up' were reserved in global-seed-ledger-v1 before letter generation. Benchmark seeds 980000 and 990000 and topics 'letter carrier system benchmark' and 'letter carrier benchmark replication' were reserved in global-seed-ledger-v1 before benchmark generation. Margin seeds 1000000 and 1010000 and topics 'margin robustness development' and 'margin robustness replication' were reserved in global-seed-ledger-v1 before margin generation. Mix seeds 1020000 and 1030000 and topics 'letter mix margin development' and 'letter mix margin replication' were reserved in global-seed-ledger-v1 before mix generation. Mix scale seeds 1040000 and 1050000 and topics 'letter mix scale development' and 'letter mix scale replication' were reserved in global-seed-ledger-v1 before mix scale generation. cycle8-mix-freeze-v1 confirmation of 830000, 840000, and 850000 was generated once under the freeze; those bases are spent. Do not rerun looking for zero, and do not retune on Cycle 6 formal residuals.","tiny_scored_seed_bases":[890000,900000,910000],"validation_development_seed_base":910000,"validation_topic":"invisible carrier validation"} +{"algorithm_version":"cycle8-seed-ledger-v2","confirmation_reserved_seed_bases":[830000,840000,850000],"cycle7_publicly_exposed_validation_seed_base":880000,"deepmind_transfer_holdout_seed_base":1080000,"deepmind_transfer_holdout_topic":"deepmind mix transfer holdout","deepmind_transfer_primary_seed_base":1060000,"deepmind_transfer_primary_topic":"deepmind mix transfer primary","deepmind_transfer_replication_seed_base":1070000,"deepmind_transfer_replication_topic":"deepmind mix transfer replication","density_exploratory_seed_base":960000,"density_exploratory_topic":"carrier density follow-up","exploratory_development_seed_base":890000,"exploratory_development_seed_bases":[890000,920000],"exploratory_replication_seed_base":900000,"exploratory_replication_topic":"invisible carrier replication","exploratory_topic":"invisible carrier development","generation":"cycle8_exact_visible_projection","historical_ledger_version":"cycle8-seed-ledger-v1","inherited_spent_seed_bases":[760000,770000,780000,720000,730000,401000,402000,500000,61000,1120000,1130000,1140000,1150000,1160000,810000,820000,860000,870000],"ledger_hash":"761c50d90308a06255c56c905cb66f69c16c561602943dd09acce7de5dcd8270","letter_benchmark_pair_count":64,"letter_benchmark_primary_seed_base":980000,"letter_benchmark_primary_topic":"letter carrier system benchmark","letter_benchmark_replication_seed_base":990000,"letter_benchmark_replication_topic":"letter carrier benchmark replication","letter_exploratory_seed_base":970000,"letter_exploratory_topic":"intra-word carrier follow-up","margin_primary_seed_base":1000000,"margin_primary_topic":"margin robustness development","margin_replication_seed_base":1010000,"margin_replication_topic":"margin robustness replication","mix_primary_seed_base":1020000,"mix_primary_topic":"letter mix margin development","mix_replication_seed_base":1030000,"mix_replication_topic":"letter mix margin replication","mix_scale_primary_seed_base":1040000,"mix_scale_primary_topic":"letter mix scale development","mix_scale_replication_seed_base":1050000,"mix_scale_replication_topic":"letter mix scale replication","scale_exploratory_seed_base":930000,"scale_exploratory_topic":"carrier scaling","scale_pair_count":16,"scale_replication_seed_base":940000,"scale_replication_topic":"independent scale replication","scale_validation_seed_base":950000,"scale_validation_topic":"clean scale validation","second_model_transfer_seed_base":1090000,"second_model_transfer_topic":"second model mix transfer","secondary_exploratory_seed_base":920000,"selection_rule":"Cycle 8 seeds 890000, 900000, 910000, and 920000 were assigned before any Cycle 8 text generation or detector look. Scale seeds 930000, 940000, and 950000 and topics 'carrier scaling', 'independent scale replication', and 'clean scale validation' were reserved in global-seed-ledger-v1 before any scale generation. Seed 880000 is PUBLICLY_EXPOSED by PR #98 and is not eligible as unseen validation. Seeds 830000, 840000, and 850000 were generated once as cycle8-mix-freeze-v1 confirmation and are spent. Do not inspect residual text to write rules. Do not generate 950000 until the U+034F x1 mechanism is frozen. Density seed 960000 and topic 'carrier density follow-up' were reserved in global-seed-ledger-v1 before density generation. Letter seed 970000 and topic 'intra-word carrier follow-up' were reserved in global-seed-ledger-v1 before letter generation. Benchmark seeds 980000 and 990000 and topics 'letter carrier system benchmark' and 'letter carrier benchmark replication' were reserved in global-seed-ledger-v1 before benchmark generation. Margin seeds 1000000 and 1010000 and topics 'margin robustness development' and 'margin robustness replication' were reserved in global-seed-ledger-v1 before margin generation. Mix seeds 1020000 and 1030000 and topics 'letter mix margin development' and 'letter mix margin replication' were reserved in global-seed-ledger-v1 before mix generation. Mix scale seeds 1040000 and 1050000 and topics 'letter mix scale development' and 'letter mix scale replication' were reserved in global-seed-ledger-v1 before mix scale generation. DeepMind mix transfer seeds 1060000, 1070000, and 1080000 and topics 'deepmind mix transfer primary', 'deepmind mix transfer replication', and 'deepmind mix transfer holdout' were reserved in global-seed-ledger-v1 before DeepMind transfer generation. Second-model mix transfer seed 1090000 and topic 'second model mix transfer' were reserved in global-seed-ledger-v1 before second-model transfer generation. cycle8-mix-freeze-v1 confirmation of 830000, 840000, and 850000 was generated once under the freeze; those bases are spent. Do not rerun looking for zero, and do not retune on Cycle 6 formal residuals.","tiny_scored_seed_bases":[890000,900000,910000],"validation_development_seed_base":910000,"validation_topic":"invisible carrier validation"} diff --git a/specs/fuckmark-global-seed-ledger-v1.json b/specs/fuckmark-global-seed-ledger-v1.json index 850ee180..4828c21a 100644 --- a/specs/fuckmark-global-seed-ledger-v1.json +++ b/specs/fuckmark-global-seed-ledger-v1.json @@ -1 +1 @@ -{"algorithm_version":"global-seed-ledger-v1","confirmation_content_forbidden_seed_bases":[830000,840000,850000],"cycle8_density_exploratory_seed_base":960000,"cycle8_density_exploratory_topic":"carrier density follow-up","cycle8_letter_benchmark_primary_seed_base":980000,"cycle8_letter_benchmark_primary_topic":"letter carrier system benchmark","cycle8_letter_benchmark_replication_seed_base":990000,"cycle8_letter_benchmark_replication_topic":"letter carrier benchmark replication","cycle8_letter_exploratory_seed_base":970000,"cycle8_letter_exploratory_topic":"intra-word carrier follow-up","cycle8_margin_primary_seed_base":1000000,"cycle8_margin_primary_topic":"margin robustness development","cycle8_margin_replication_seed_base":1010000,"cycle8_margin_replication_topic":"margin robustness replication","cycle8_mix_confirmation_hold_topic":"mix formal confirmation holdout","cycle8_mix_confirmation_primary_topic":"mix formal confirmation primary","cycle8_mix_confirmation_replication_topic":"mix formal confirmation replication","cycle8_mix_primary_seed_base":1020000,"cycle8_mix_primary_topic":"letter mix margin development","cycle8_mix_replication_seed_base":1030000,"cycle8_mix_replication_topic":"letter mix margin replication","cycle8_mix_scale_primary_seed_base":1040000,"cycle8_mix_scale_primary_topic":"letter mix scale development","cycle8_mix_scale_replication_seed_base":1050000,"cycle8_mix_scale_replication_topic":"letter mix scale replication","cycle8_scale_exploratory_seed_base":930000,"cycle8_scale_exploratory_topic":"carrier scaling","cycle8_scale_replication_seed_base":940000,"cycle8_scale_replication_topic":"independent scale replication","cycle8_scale_validation_seed_base":950000,"cycle8_scale_validation_topic":"clean scale validation","ledger_hash":"cd15b42d853179f0ae26df556877f781206332996745b026c64d691477423321","publicly_exposed_unseen_invalid_seed_bases":[880000],"rows":[{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic schedule","notes":"Historic TinyDev schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":61000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic tiny-dev","notes":"Historic TinyDev canonical attack base.","publicly_exposed":true,"role":"attack_development","scored":true,"seed_base":401000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic tiny-dev","notes":"Historic TinyDev base.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":402000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"tiny-dev-v3","notes":"Budget-scaled coverage tiny-dev-v3 base.","publicly_exposed":true,"role":"attack_development","scored":true,"seed_base":410000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"coverage","notes":"Coverage-effectiveness seed.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":420000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"coverage","notes":"Coverage-completion seed.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":430000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"coverage","notes":"Coverage-completion seed.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":440000,"spent":true},{"cycle":"calibration","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic calibration","notes":"Historic calibration base.","publicly_exposed":true,"role":"threshold_calibration","scored":true,"seed_base":500000,"spent":true},{"cycle":"cycle4","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle4","generated":true,"generation_topic":"exact survival","notes":"Cycle 4 confirmation corpus. Spent.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":530000,"spent":true},{"cycle":"cycle4","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle4","generated":true,"generation_topic":"exact survival","notes":"Cycle 4 confirmation corpus. Spent.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":540000,"spent":true},{"cycle":"cycle4","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle4","generated":true,"generation_topic":"exact survival","notes":"Cycle 4 confirmation corpus. Spent.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":550000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 development","notes":"Cycle 6 development 0/16. Spent.","publicly_exposed":true,"role":"development","scored":true,"seed_base":720000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 development","notes":"Cycle 6 development. Spent.","publicly_exposed":true,"role":"development","scored":true,"seed_base":730000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 formal","notes":"Cycle 6 formal confirmation 2/64. Spent. Do not retune on residuals.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":760000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 formal","notes":"Cycle 6 formal confirmation 2/64. Spent. Do not retune on residuals.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":770000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 formal","notes":"Cycle 6 formal confirmation 3/64. Spent. Do not retune on residuals.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":780000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"reproducibility","notes":"Cycle 7 Stage A. Do not keep expanding rules against it.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":810000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"held-out evaluation","notes":"Cycle 7 Stage B3 validation. Spent. Do not retune.","publicly_exposed":true,"role":"validation_development","scored":true,"seed_base":820000,"spent":true},{"cycle":"shared","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"mix formal confirmation primary","notes":"cycle8-mix-freeze-v1 one-shot confirmation n=64: mix 0/64 raw WM, mix UW 0/64, visible 128/128, mix max 0.51960. Combined 0/192. Spent. Do not retune on residuals. Do not rerun looking for zero.","publicly_exposed":true,"role":"confirmation_reserved","scored":true,"seed_base":830000,"spent":true},{"cycle":"shared","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"mix formal confirmation replication","notes":"cycle8-mix-freeze-v1 one-shot confirmation n=64: mix 0/64 raw WM, mix UW 0/64, visible 128/128, mix max 0.52430. Combined 0/192. Spent. Do not retune on residuals. Do not rerun looking for zero.","publicly_exposed":true,"role":"confirmation_reserved","scored":true,"seed_base":840000,"spent":true},{"cycle":"shared","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"mix formal confirmation holdout","notes":"cycle8-mix-freeze-v1 one-shot confirmation n=64: mix 0/64 raw WM, mix UW 0/64, visible 128/128, mix max 0.51695. Combined 0/192. Spent. Do not retune on residuals. Do not rerun looking for zero.","publicly_exposed":true,"role":"confirmation_reserved","scored":true,"seed_base":850000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"independent replication","notes":"Cycle 7 Stage B1. Do not keep expanding rules against it.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":860000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"measurement protocol","notes":"Cycle 7 Stage C1. Spent for new rule construction.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":870000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"independent check","notes":"PUBLICLY_EXPOSED by closed unmerged PR #98 Stage D validation artifacts. No longer eligible as unseen validation. Do not inspect residual rows for product tuning. Do not copy Stage D newline edits onto the product path.","publicly_exposed":true,"role":"validation_development","scored":true,"seed_base":880000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier development","notes":"Cycle 8 tiny n=4 on main. Identifier was also used on unmerged PR #98 Cycle 7 Stage D. Do not treat as unseen validation.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":890000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier replication","notes":"Cycle 8 tiny n=4 replication. Spent as unseen validation.","publicly_exposed":true,"role":"exploratory_replication","scored":true,"seed_base":900000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier validation","notes":"Cycle 8 tiny n=4 validation. Spent. Do not reuse as future clean validation.","publicly_exposed":true,"role":"validation_development","scored":true,"seed_base":910000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":false,"generation_topic":"invisible carrier development","notes":"Cycle 8 secondary exploratory. Unused. Not a confirmation reserve.","publicly_exposed":false,"role":"exploratory_development","scored":false,"seed_base":920000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"carrier scaling","notes":"Reserved before generation. U+034F space x1 scale exploratory: 0/16, 0/32, then 1/64 raw transformed WM. Letter-x1 diagnostic rescore of this seen corpus is 0/64. Do not rewrite space 1/64 as zero. Not confirmation.","publicly_exposed":false,"role":"scale_exploratory_development","scored":true,"seed_base":930000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"independent scale replication","notes":"Reserved before generation. Independent U+034F space x1 n=64 replication: 0/64 raw transformed WM. Max score 0.557052 vs threshold 0.557099. Letter-x1 diagnostic rescore of this seen corpus is 0/64. Does not erase space-x1 930000 1/64. Not confirmation.","publicly_exposed":false,"role":"scale_replication","scored":true,"seed_base":940000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":true,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":false,"generation_topic":"clean scale validation","notes":"Reserved before generation. Clean unseen validation after mechanism freeze. Do not generate until U+034F x1 is frozen.","publicly_exposed":false,"role":"scale_validation","scored":false,"seed_base":950000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"carrier density follow-up","notes":"Reserved before generation. Detector-blind U+034F space plus word-final letter n=16: space-x1 1/16 and space-wordfinal 1/16 on the same residual row. Density did not beat space-x1. Letter-x1 diagnostic rescore of this seen corpus is 0/16. Do not rewrite space 1/16 as zero. Do not inspect residual text to write lexical rules. Not confirmation.","publicly_exposed":false,"role":"density_exploratory_development","scored":true,"seed_base":960000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"intra-word carrier follow-up","notes":"Reserved before generation. Independent U+034F letter-x1: n=16 0/16 then n=64 0/64 raw transformed WM, 0 UW, visible 128/128. Experimental letter-x1 0/192 = seen diagnostic 930000 n=64 0/64 plus 940000 n=64 0/64 plus independent 970000 n=64 0/64 (128/192 seen, 64/192 independent). Do not rewrite space-x1 1/64 or 1/16 as zero. Do not generate 950000. Not confirmation.","publicly_exposed":false,"role":"letter_exploratory_development","scored":true,"seed_base":970000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter carrier system benchmark","notes":"Reserved before generation. Letter-x1 system benchmark primary n=64: letter-x1 0/64 raw WM, space-x1 0/64, identity 62/64, visible 128/128. Letter max score 0.55407 vs threshold 0.55710. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"letter_benchmark_primary","scored":true,"seed_base":980000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter carrier benchmark replication","notes":"Reserved before generation. Letter-x1 system benchmark independent replication n=64: letter-x1 0/64 raw WM, space-x1 1/64, identity 64/64, visible 128/128. Letter max score 0.52727. Combined with 980000: letter 0/128, space 1/128. Residual text not inspected. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"letter_benchmark_replication","scored":true,"seed_base":990000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"margin robustness development","notes":"Reserved before generation. Letter-space n=64: letter-x1 0/64, letter-space 0/64, identity 63/64, visible 128/128. Letter-space max 0.52477. Not confirmation. Spent as unseen for letter-space. Do not generate 950000.","publicly_exposed":false,"role":"margin_robustness_primary","scored":true,"seed_base":1000000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"margin robustness replication","notes":"Reserved before generation. Independent letter-space n=64: letter-x1 1/64, letter-space 1/64 on the same residual row, identity 64/64, UW letter-space 0/64. Combined letter-space 1/128. Residual text not inspected. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"margin_robustness_replication","scored":true,"seed_base":1010000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix margin development","notes":"Reserved before generation. U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 64/64, visible 128/128. Mix max 0.51369 versus threshold 0.55710 (gap 0.04341). Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_margin_primary","scored":true,"seed_base":1020000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix margin replication","notes":"Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 64/64, mix UW 0/64. Mix max 0.51307. Combined with 1020000: mix 0/128, worst max 0.51369, gap 0.04341. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_margin_replication","scored":true,"seed_base":1030000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix scale development","notes":"Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 62/64, visible 128/128. Mix max 0.51952 versus threshold 0.55710 (gap 0.03758). Closest row had 31 insertions. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_scale_primary","scored":true,"seed_base":1040000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix scale replication","notes":"Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 60/64, mix UW 0/64. Mix max 0.51051. Combined with 1020000+1030000+1040000: mix 0/256, worst max 0.51952, gap 0.03758. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_scale_replication","scored":true,"seed_base":1050000,"spent":false},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1120000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1130000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1140000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1150000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1160000,"spent":true}],"selection_rule":"Every new development, validation, or confirmation seed must be reserved in this ledger before generation. Seed 880000 is PUBLICLY_EXPOSED by PR #98 and is not eligible as unseen validation. Seeds 830000, 840000, and 850000 were generated once under cycle8-mix-freeze-v1 and are spent. Do not rerun looking for zero. Do not generate 950000. Seed 960000 is reserved for detector-blind density follow-up. Seed 970000 is reserved for detector-blind intra-word letter-carrier follow-up. Seeds 980000 and 990000 are reserved for the letter-x1 system benchmark. Seeds 1000000 and 1010000 are reserved for detector-blind letter-plus-space margin robustness follow-up. Seeds 1020000 and 1030000 are reserved for detector-blind U+034F/U+FE00 letter-mix margin follow-up. Seeds 1040000 and 1050000 are reserved for detector-blind letter-mix scale follow-up."} +{"algorithm_version":"global-seed-ledger-v1","confirmation_content_forbidden_seed_bases":[830000,840000,850000],"cycle8_deepmind_transfer_holdout_seed_base":1080000,"cycle8_deepmind_transfer_holdout_topic":"deepmind mix transfer holdout","cycle8_deepmind_transfer_primary_seed_base":1060000,"cycle8_deepmind_transfer_primary_topic":"deepmind mix transfer primary","cycle8_deepmind_transfer_replication_seed_base":1070000,"cycle8_deepmind_transfer_replication_topic":"deepmind mix transfer replication","cycle8_density_exploratory_seed_base":960000,"cycle8_density_exploratory_topic":"carrier density follow-up","cycle8_letter_benchmark_primary_seed_base":980000,"cycle8_letter_benchmark_primary_topic":"letter carrier system benchmark","cycle8_letter_benchmark_replication_seed_base":990000,"cycle8_letter_benchmark_replication_topic":"letter carrier benchmark replication","cycle8_letter_exploratory_seed_base":970000,"cycle8_letter_exploratory_topic":"intra-word carrier follow-up","cycle8_margin_primary_seed_base":1000000,"cycle8_margin_primary_topic":"margin robustness development","cycle8_margin_replication_seed_base":1010000,"cycle8_margin_replication_topic":"margin robustness replication","cycle8_mix_confirmation_hold_topic":"mix formal confirmation holdout","cycle8_mix_confirmation_primary_topic":"mix formal confirmation primary","cycle8_mix_confirmation_replication_topic":"mix formal confirmation replication","cycle8_mix_primary_seed_base":1020000,"cycle8_mix_primary_topic":"letter mix margin development","cycle8_mix_replication_seed_base":1030000,"cycle8_mix_replication_topic":"letter mix margin replication","cycle8_mix_scale_primary_seed_base":1040000,"cycle8_mix_scale_primary_topic":"letter mix scale development","cycle8_mix_scale_replication_seed_base":1050000,"cycle8_mix_scale_replication_topic":"letter mix scale replication","cycle8_scale_exploratory_seed_base":930000,"cycle8_scale_exploratory_topic":"carrier scaling","cycle8_scale_replication_seed_base":940000,"cycle8_scale_replication_topic":"independent scale replication","cycle8_scale_validation_seed_base":950000,"cycle8_scale_validation_topic":"clean scale validation","cycle8_second_model_transfer_seed_base":1090000,"cycle8_second_model_transfer_topic":"second model mix transfer","ledger_hash":"7faa11e0f3efa7b5053219eff3d7292b1910cfbd4a8876372c3fa35137b0e47d","publicly_exposed_unseen_invalid_seed_bases":[880000],"rows":[{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic schedule","notes":"Historic TinyDev schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":61000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic tiny-dev","notes":"Historic TinyDev canonical attack base.","publicly_exposed":true,"role":"attack_development","scored":true,"seed_base":401000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic tiny-dev","notes":"Historic TinyDev base.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":402000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"tiny-dev-v3","notes":"Budget-scaled coverage tiny-dev-v3 base.","publicly_exposed":true,"role":"attack_development","scored":true,"seed_base":410000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"coverage","notes":"Coverage-effectiveness seed.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":420000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"coverage","notes":"Coverage-completion seed.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":430000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"coverage","notes":"Coverage-completion seed.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":440000,"spent":true},{"cycle":"calibration","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic calibration","notes":"Historic calibration base.","publicly_exposed":true,"role":"threshold_calibration","scored":true,"seed_base":500000,"spent":true},{"cycle":"cycle4","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle4","generated":true,"generation_topic":"exact survival","notes":"Cycle 4 confirmation corpus. Spent.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":530000,"spent":true},{"cycle":"cycle4","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle4","generated":true,"generation_topic":"exact survival","notes":"Cycle 4 confirmation corpus. Spent.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":540000,"spent":true},{"cycle":"cycle4","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle4","generated":true,"generation_topic":"exact survival","notes":"Cycle 4 confirmation corpus. Spent.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":550000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 development","notes":"Cycle 6 development 0/16. Spent.","publicly_exposed":true,"role":"development","scored":true,"seed_base":720000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 development","notes":"Cycle 6 development. Spent.","publicly_exposed":true,"role":"development","scored":true,"seed_base":730000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 formal","notes":"Cycle 6 formal confirmation 2/64. Spent. Do not retune on residuals.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":760000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 formal","notes":"Cycle 6 formal confirmation 2/64. Spent. Do not retune on residuals.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":770000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 formal","notes":"Cycle 6 formal confirmation 3/64. Spent. Do not retune on residuals.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":780000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"reproducibility","notes":"Cycle 7 Stage A. Do not keep expanding rules against it.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":810000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"held-out evaluation","notes":"Cycle 7 Stage B3 validation. Spent. Do not retune.","publicly_exposed":true,"role":"validation_development","scored":true,"seed_base":820000,"spent":true},{"cycle":"shared","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"mix formal confirmation primary","notes":"cycle8-mix-freeze-v1 one-shot confirmation n=64: mix 0/64 raw WM, mix UW 0/64, visible 128/128, mix max 0.51960. Combined 0/192. Spent. Do not retune on residuals. Do not rerun looking for zero.","publicly_exposed":true,"role":"confirmation_reserved","scored":true,"seed_base":830000,"spent":true},{"cycle":"shared","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"mix formal confirmation replication","notes":"cycle8-mix-freeze-v1 one-shot confirmation n=64: mix 0/64 raw WM, mix UW 0/64, visible 128/128, mix max 0.52430. Combined 0/192. Spent. Do not retune on residuals. Do not rerun looking for zero.","publicly_exposed":true,"role":"confirmation_reserved","scored":true,"seed_base":840000,"spent":true},{"cycle":"shared","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"mix formal confirmation holdout","notes":"cycle8-mix-freeze-v1 one-shot confirmation n=64: mix 0/64 raw WM, mix UW 0/64, visible 128/128, mix max 0.51695. Combined 0/192. Spent. Do not retune on residuals. Do not rerun looking for zero.","publicly_exposed":true,"role":"confirmation_reserved","scored":true,"seed_base":850000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"independent replication","notes":"Cycle 7 Stage B1. Do not keep expanding rules against it.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":860000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"measurement protocol","notes":"Cycle 7 Stage C1. Spent for new rule construction.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":870000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"independent check","notes":"PUBLICLY_EXPOSED by closed unmerged PR #98 Stage D validation artifacts. No longer eligible as unseen validation. Do not inspect residual rows for product tuning. Do not copy Stage D newline edits onto the product path.","publicly_exposed":true,"role":"validation_development","scored":true,"seed_base":880000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier development","notes":"Cycle 8 tiny n=4 on main. Identifier was also used on unmerged PR #98 Cycle 7 Stage D. Do not treat as unseen validation.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":890000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier replication","notes":"Cycle 8 tiny n=4 replication. Spent as unseen validation.","publicly_exposed":true,"role":"exploratory_replication","scored":true,"seed_base":900000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier validation","notes":"Cycle 8 tiny n=4 validation. Spent. Do not reuse as future clean validation.","publicly_exposed":true,"role":"validation_development","scored":true,"seed_base":910000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier development","notes":"Cycle 8 secondary exploratory. DeepMind synthid-text 30-key GPT-2 mix transfer n=16 HYPOTHESIS: identity WM 16/16, mix WM 0/16, mix UW 0/16, visible pass. Not confirmation. Not a second model.","publicly_exposed":false,"role":"exploratory_development","scored":true,"seed_base":920000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"carrier scaling","notes":"Reserved before generation. U+034F space x1 scale exploratory: 0/16, 0/32, then 1/64 raw transformed WM. Letter-x1 diagnostic rescore of this seen corpus is 0/64. Do not rewrite space 1/64 as zero. Not confirmation.","publicly_exposed":false,"role":"scale_exploratory_development","scored":true,"seed_base":930000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"independent scale replication","notes":"Reserved before generation. Independent U+034F space x1 n=64 replication: 0/64 raw transformed WM. Max score 0.557052 vs threshold 0.557099. Letter-x1 diagnostic rescore of this seen corpus is 0/64. Does not erase space-x1 930000 1/64. Not confirmation.","publicly_exposed":false,"role":"scale_replication","scored":true,"seed_base":940000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":true,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":false,"generation_topic":"clean scale validation","notes":"Reserved before generation. Clean unseen validation after mechanism freeze. Do not generate until U+034F x1 is frozen.","publicly_exposed":false,"role":"scale_validation","scored":false,"seed_base":950000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"carrier density follow-up","notes":"Reserved before generation. Detector-blind U+034F space plus word-final letter n=16: space-x1 1/16 and space-wordfinal 1/16 on the same residual row. Density did not beat space-x1. Letter-x1 diagnostic rescore of this seen corpus is 0/16. Do not rewrite space 1/16 as zero. Do not inspect residual text to write lexical rules. Not confirmation.","publicly_exposed":false,"role":"density_exploratory_development","scored":true,"seed_base":960000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"intra-word carrier follow-up","notes":"Reserved before generation. Independent U+034F letter-x1: n=16 0/16 then n=64 0/64 raw transformed WM, 0 UW, visible 128/128. Experimental letter-x1 0/192 = seen diagnostic 930000 n=64 0/64 plus 940000 n=64 0/64 plus independent 970000 n=64 0/64 (128/192 seen, 64/192 independent). Do not rewrite space-x1 1/64 or 1/16 as zero. Do not generate 950000. Not confirmation.","publicly_exposed":false,"role":"letter_exploratory_development","scored":true,"seed_base":970000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter carrier system benchmark","notes":"Reserved before generation. Letter-x1 system benchmark primary n=64: letter-x1 0/64 raw WM, space-x1 0/64, identity 62/64, visible 128/128. Letter max score 0.55407 vs threshold 0.55710. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"letter_benchmark_primary","scored":true,"seed_base":980000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter carrier benchmark replication","notes":"Reserved before generation. Letter-x1 system benchmark independent replication n=64: letter-x1 0/64 raw WM, space-x1 1/64, identity 64/64, visible 128/128. Letter max score 0.52727. Combined with 980000: letter 0/128, space 1/128. Residual text not inspected. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"letter_benchmark_replication","scored":true,"seed_base":990000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"margin robustness development","notes":"Reserved before generation. Letter-space n=64: letter-x1 0/64, letter-space 0/64, identity 63/64, visible 128/128. Letter-space max 0.52477. Not confirmation. Spent as unseen for letter-space. Do not generate 950000.","publicly_exposed":false,"role":"margin_robustness_primary","scored":true,"seed_base":1000000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"margin robustness replication","notes":"Reserved before generation. Independent letter-space n=64: letter-x1 1/64, letter-space 1/64 on the same residual row, identity 64/64, UW letter-space 0/64. Combined letter-space 1/128. Residual text not inspected. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"margin_robustness_replication","scored":true,"seed_base":1010000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix margin development","notes":"Reserved before generation. U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 64/64, visible 128/128. Mix max 0.51369 versus threshold 0.55710 (gap 0.04341). Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_margin_primary","scored":true,"seed_base":1020000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix margin replication","notes":"Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 64/64, mix UW 0/64. Mix max 0.51307. Combined with 1020000: mix 0/128, worst max 0.51369, gap 0.04341. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_margin_replication","scored":true,"seed_base":1030000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix scale development","notes":"Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 62/64, visible 128/128. Mix max 0.51952 versus threshold 0.55710 (gap 0.03758). Closest row had 31 insertions. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_scale_primary","scored":true,"seed_base":1040000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix scale replication","notes":"Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 60/64, mix UW 0/64. Mix max 0.51051. Combined with 1020000+1030000+1040000: mix 0/256, worst max 0.51952, gap 0.03758. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_scale_replication","scored":true,"seed_base":1050000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"deepmind mix transfer primary","notes":"Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.505630. Combined with 1070000+1080000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000.","publicly_exposed":false,"role":"deepmind_transfer_primary","scored":true,"seed_base":1060000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"deepmind mix transfer replication","notes":"Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.502999. Combined with 1060000+1080000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000.","publicly_exposed":false,"role":"deepmind_transfer_replication","scored":true,"seed_base":1070000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"deepmind mix transfer holdout","notes":"Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.506760. Combined with 1060000+1070000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000.","publicly_exposed":false,"role":"deepmind_transfer_holdout","scored":true,"seed_base":1080000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"second model mix transfer","notes":"Reserved before generation. Independent DistilGPT2 DeepMind 30-key mix transfer n=16 HYPOTHESIS: identity WM 16/16, mix WM 0/16, mix UW 0/16, visible pass, mix max 0.504800. Different weights from openai-community/gpt2, same GPT-2 BPE tokenizer (vocab 50257). Not mix-freeze confirmation. Not confirmation-scale. Do not generate 950000.","publicly_exposed":false,"role":"second_model_transfer","scored":true,"seed_base":1090000,"spent":false},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1120000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1130000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1140000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1150000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1160000,"spent":true}],"selection_rule":"Every new development, validation, or confirmation seed must be reserved in this ledger before generation. Seed 880000 is PUBLICLY_EXPOSED by PR #98 and is not eligible as unseen validation. Seeds 830000, 840000, and 850000 were generated once under cycle8-mix-freeze-v1 and are spent. Do not rerun looking for zero. Do not generate 950000. Seed 960000 is reserved for detector-blind density follow-up. Seed 970000 is reserved for detector-blind intra-word letter-carrier follow-up. Seeds 980000 and 990000 are reserved for the letter-x1 system benchmark. Seeds 1000000 and 1010000 are reserved for detector-blind letter-plus-space margin robustness follow-up. Seeds 1020000 and 1030000 are reserved for detector-blind U+034F/U+FE00 letter-mix margin follow-up. Seeds 1040000 and 1050000 are reserved for detector-blind letter-mix scale follow-up. Seeds 1060000, 1070000, and 1080000 are reserved for independent DeepMind synthid-text 30-key mix transfer. Seed 1090000 is reserved for independent second-model mix transfer."} diff --git a/tests/test_cycle8_carriers.py b/tests/test_cycle8_carriers.py index dee0a78b..d8f893e2 100644 --- a/tests/test_cycle8_carriers.py +++ b/tests/test_cycle8_carriers.py @@ -70,6 +70,12 @@ def test_cycle8_ledger_freezes_new_seeds_and_blocks_spent_history() -> None: assert payload["mix_scale_primary_seed_base"] == 1_040_000 assert payload["mix_scale_replication_seed_base"] == 1_050_000 assert payload["mix_scale_primary_topic"] == "letter mix scale development" + assert payload["deepmind_transfer_primary_seed_base"] == 1_060_000 + assert payload["deepmind_transfer_replication_seed_base"] == 1_070_000 + assert payload["deepmind_transfer_holdout_seed_base"] == 1_080_000 + assert payload["second_model_transfer_seed_base"] == 1_090_000 + assert payload["deepmind_transfer_primary_topic"] == "deepmind mix transfer primary" + assert payload["second_model_transfer_topic"] == "second model mix transfer" assert payload["confirmation_reserved_seed_bases"] == [830_000, 840_000, 850_000] assert payload["cycle7_publicly_exposed_validation_seed_base"] == 880_000 assert cycle8_seed_ledger_hash() @@ -85,6 +91,10 @@ def test_cycle8_ledger_freezes_new_seeds_and_blocks_spent_history() -> None: assert_cycle8_development_seed(1_030_000, role="mix_margin_replication") assert_cycle8_development_seed(1_040_000, role="mix_scale_primary") assert_cycle8_development_seed(1_050_000, role="mix_scale_replication") + assert_cycle8_development_seed(1_060_000, role="deepmind_transfer_primary") + assert_cycle8_development_seed(1_070_000, role="deepmind_transfer_replication") + assert_cycle8_development_seed(1_080_000, role="deepmind_transfer_holdout") + assert_cycle8_development_seed(1_090_000, role="second_model_transfer") with pytest.raises(ValueError): assert_cycle8_development_seed(760_000, role="exploratory_development") with pytest.raises(ValueError, match="publicly exposed|spent or reserved"): diff --git a/tests/test_cycle8_closed_set.py b/tests/test_cycle8_closed_set.py new file mode 100644 index 00000000..1959fd4a --- /dev/null +++ b/tests/test_cycle8_closed_set.py @@ -0,0 +1,75 @@ +import json +from pathlib import Path + +import pytest + +from fuckmark.cycle8.benchmark import sanitize_benchmark_stress +from fuckmark.cycle8.closed_set import ( + CYCLE8_CLOSED_SET_HASH, + CYCLE8_CLOSED_SET_PATH, + CYCLE8_CLOSED_SET_VERSION, + assert_invisible_carrier_closed_set_committed, + scan_invisible_carrier_closed_set, +) +from fuckmark.product.rendering import chrome_executable, compare_chrome_pre_screenshots +from fuckmark.cycle8.letter_mix import apply_letter_alternating_mix +from fuckmark.hashing import sha256_json +from fuckmark.sanitizer_robustness import strip_unicode_format_characters + + +def test_invisible_carrier_closed_set_has_no_priority_zero_safe_survivor() -> None: + disk = json.loads((Path(__file__).resolve().parents[1] / CYCLE8_CLOSED_SET_PATH).read_text(encoding="utf-8")) + payload = scan_invisible_carrier_closed_set() + assert disk == payload + assert disk["closed_set_hash"] == payload["closed_set_hash"] == sha256_json( + {key: value for key, value in payload.items() if key != "closed_set_hash"} + ) + assert disk["closed_set_hash"] == CYCLE8_CLOSED_SET_HASH + assert disk["algorithm_version"] == CYCLE8_CLOSED_SET_VERSION + assert disk["stronger_priority_zero_safe_mechanism"] is None + assert disk["width0_assigned_other"] == [] + assert disk["width0_assigned_mn"] == 1985 + assert disk["width0_assigned_me"] == 13 + assert disk["width0_assigned_cf_not_default_ignorable"] == 32 + assert disk["mix_carriers_are_width0_mn_default_ignorable"] is True + assert disk["non_di_cf_die_to_frozen_cf_strip"] is True + assert disk["me_survives_mn_strip"] is True + assert disk["me_survives_default_ignorable_strip"] is True + assert disk["me_survives_frozen_cf_strip"] is True + assert disk["me_rejected_for_rendering"] is True + assert_invisible_carrier_closed_set_committed() + source = "I do not agree." + transformed = apply_letter_alternating_mix(source) + assert sanitize_benchmark_stress("mn_strip", transformed) == source + assert sanitize_benchmark_stress("default_ignorable_strip", transformed) == source + assert strip_unicode_format_characters(transformed) == transformed + + +def test_all_width0_enclosing_marks_change_chromium_pre_pixels() -> None: + if chrome_executable() is None: + pytest.skip("chromium is not available") + disk = json.loads((Path(__file__).resolve().parents[1] / CYCLE8_CLOSED_SET_PATH).read_text(encoding="utf-8")) + labels = disk["width0_assigned_me_labels"] + assert labels == [ + "U+0488", + "U+0489", + "U+1ABE", + "U+20DD", + "U+20DE", + "U+20DF", + "U+20E0", + "U+20E2", + "U+20E3", + "U+20E4", + "U+A670", + "U+A671", + "U+A672", + ] + original = "I do not agree." + for label in labels: + codepoint = int(label[2:], 16) + comparison = compare_chrome_pre_screenshots(original, f"I{chr(codepoint)} do not agree.") + if comparison.status == "UNKNOWN": + pytest.skip(comparison.detail) + assert comparison.status == "REJECTED" + assert comparison.equal is False diff --git a/tests/test_cycle8_deepmind_transfer.py b/tests/test_cycle8_deepmind_transfer.py new file mode 100644 index 00000000..51d10115 --- /dev/null +++ b/tests/test_cycle8_deepmind_transfer.py @@ -0,0 +1,121 @@ +import json +from pathlib import Path + +from fuckmark.cycle8.deepmind_transfer import ( + CYCLE8_MIX_DEEPMIND_TRANSFER_HASH, + CYCLE8_MIX_DEEPMIND_TRANSFER_PATH, + CYCLE8_MIX_DEEPMIND_TRANSFER_VERSION, + CYCLE8_MIX_DEEPMIND_920000_HASH, + assert_mix_deepmind_transfer_committed, + transfer_corpus_paths, +) +from fuckmark.cycle8.letter_mix import apply_letter_alternating_mix +from fuckmark.hashing import sha256_file, sha256_json, sha256_text +from fuckmark.product.visible_projection import product_approved_carriers_v1 +from fuckmark.transforms.registry import release_transform_registry + + +_920000 = "evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27" +_920000_HASH = "ee521a04ab6017134e7aa2b48f07da0612c188f8bf2b353611f33f33a4cbb7bf" + + +def test_deepmind_920000_n16_is_independent_configuration_hypothesis() -> None: + root = Path(__file__).resolve().parents[1] / _920000 + disk = json.loads((root / "scorecard.json").read_text(encoding="utf-8")) + body = {key: value for key, value in disk.items() if key != "scorecard_hash"} + assert disk["scorecard_hash"] == sha256_json(body) == _920000_HASH + assert disk["algorithm_version"] == "cycle8-mix-deepmind-30key-transfer-v1" + assert disk["seed_base"] == 920000 + assert disk["pair_count"] == 16 + assert disk["product_authorized"] is False + assert disk["confirmation_rewritten"] is False + assert disk["second_model"] is False + assert disk["second_configuration"] is True + assert disk["evidence_label"] == "HYPOTHESIS" + assert disk["model"] == "openai-community/gpt2" + assert disk["generation"] == "synthid_text.SynthIDGPT2LMHeadModel" + assert disk["detector"] == "synthid_text.logits_processing.SynthIDLogitsProcessor" + assert disk["keys_depth"] == 30 + assert disk["visible_pass"] is True + effectiveness = disk["effectiveness"] + assert effectiveness["identity_wm"]["rate"] == "16/16" + assert effectiveness["mix_wm"]["rate"] == "0/16" + assert effectiveness["identity_uw"]["rate"] == "0/16" + assert effectiveness["mix_uw"]["rate"] == "0/16" + assert float(effectiveness["mix_wm_max_score"]) == 0.5063963600986625 + samples = json.loads((root / "samples.json").read_text(encoding="utf-8")) + by_id = {row["sample_id"]: row for row in disk["rows"]} + assert len(disk["rows"]) == 32 + assert len(samples["samples"]) == 32 + for sample in samples["samples"]: + source = str(sample["text"]) + row = by_id[str(sample["sample_id"])] + assert "text" not in row + assert "text" not in row["mix"] + assert row["source_sha256"] == sample["text_sha256"] == sha256_text(source) + assert row["mix"]["text_sha256"] == sha256_text(apply_letter_alternating_mix(source)) + assert row["visible_ok"] is True + sums = (root / "SHA256SUMS.txt").read_text(encoding="utf-8") + for line in sums.splitlines(): + digest, name = line.split() + assert sha256_file(root / name) == digest + assert release_transform_registry().rules == () + assert product_approved_carriers_v1() == frozenset() + + +def test_deepmind_n192_transfer_is_independent_configuration_hypothesis() -> None: + root = Path(__file__).resolve().parents[1] + disk = json.loads((root / CYCLE8_MIX_DEEPMIND_TRANSFER_PATH).read_text(encoding="utf-8")) + body = {key: value for key, value in disk.items() if key != "scorecard_hash"} + assert disk["scorecard_hash"] == sha256_json(body) == CYCLE8_MIX_DEEPMIND_TRANSFER_HASH + assert disk["algorithm_version"] == CYCLE8_MIX_DEEPMIND_TRANSFER_VERSION + assert disk["product_authorized"] is False + assert disk["confirmation_rewritten"] is False + assert disk["mix_freeze_confirmation"] is False + assert disk["second_model"] is False + assert disk["second_configuration"] is True + assert disk["keys_depth"] == 30 + assert disk["evidence_label"] == "HYPOTHESIS" + assert disk["visible_pass"] is True + assert disk["exploratory_920000_n16_hash"] == CYCLE8_MIX_DEEPMIND_920000_HASH + effectiveness = disk["effectiveness"] + assert effectiveness["identity_wm"]["rate"] == "189/192" + assert effectiveness["mix_wm"]["rate"] == "0/192" + assert effectiveness["identity_uw"]["rate"] == "0/192" + assert effectiveness["mix_uw"]["rate"] == "0/192" + assert float(effectiveness["mix_wm_max_score"]) == 0.5067599700507657 + assert_mix_deepmind_transfer_committed() + expected = { + 1060000: ("63/64", "0/64", "2c828e6076005b5aa1b94aad145b20a8748766134fea62c2690202a7ded36e52"), + 1070000: ("63/64", "0/64", "b05e9e80e41fe8487769bdb2908642d59bc2e753746f02dcd05d8f956fb5cb92"), + 1080000: ("63/64", "0/64", "d97f005332d45b93be3588e413055d7ff0035b234f1b4213d3db9e83f85df4d0"), + } + for seed_base, relative, digest in transfer_corpus_paths(): + artifact = json.loads((root / relative).read_text(encoding="utf-8")) + body = {key: value for key, value in artifact.items() if key != "scorecard_hash"} + assert artifact["scorecard_hash"] == sha256_json(body) == digest + identity_rate, mix_rate, _expected = expected[seed_base] + assert artifact["effectiveness"]["identity_wm"]["rate"] == identity_rate + assert artifact["effectiveness"]["mix_wm"]["rate"] == mix_rate + assert artifact["effectiveness"]["mix_uw"]["rate"] == "0/64" + assert artifact["visible_pass"] is True + samples = json.loads((root / Path(relative).parent / "samples.json").read_text(encoding="utf-8")) + by_id = {row["sample_id"]: row for row in artifact["rows"]} + assert len(artifact["rows"]) == 128 + for sample in samples["samples"]: + source = str(sample["text"]) + row = by_id[str(sample["sample_id"])] + assert "text" not in row + assert "text" not in row["mix"] + assert row["source_sha256"] == sample["text_sha256"] == sha256_text(source) + assert row["mix"]["text_sha256"] == sha256_text(apply_letter_alternating_mix(source)) + sums_root = root / Path(relative).parent + for line in (sums_root / "SHA256SUMS.txt").read_text(encoding="utf-8").splitlines(): + file_digest, name = line.split() + assert sha256_file(sums_root / name) == file_digest + combined_root = root / Path(CYCLE8_MIX_DEEPMIND_TRANSFER_PATH).parent + for line in (combined_root / "SHA256SUMS.txt").read_text(encoding="utf-8").splitlines(): + file_digest, name = line.split() + assert sha256_file(combined_root / name) == file_digest + assert release_transform_registry().rules == () + assert product_approved_carriers_v1() == frozenset() diff --git a/tests/test_cycle8_mix_publishability.py b/tests/test_cycle8_mix_publishability.py index a55db726..fb6fb721 100644 --- a/tests/test_cycle8_mix_publishability.py +++ b/tests/test_cycle8_mix_publishability.py @@ -66,7 +66,7 @@ def test_mix_publishability_gates_match_measured_evidence() -> None: assert gates["visibility_invariance"]["verdict"] == "PASS" assert gates["software_compatibility"]["verdict"] == "PASS" assert gates["sanitizer_weaknesses"]["verdict"] == "FAIL" - assert gates["cross_detector_generalization"]["verdict"] == "FAIL" + assert gates["cross_detector_generalization"]["verdict"] == "PASS" assert all(gate["product_blocking"] is True for gate in payload["gates"]) checks = {gate["id"]: {check["id"]: check["verdict"] for check in gate["checks"]} for gate in payload["gates"]} assert checks["reproducibility"]["confirmation_zero_of_192"] == "PASS" @@ -82,15 +82,36 @@ def test_mix_publishability_gates_match_measured_evidence() -> None: assert checks["sanitizer_weaknesses"]["default_ignorable_strip"] == "FAIL" assert checks["sanitizer_weaknesses"]["nfkd"] == "PASS" assert checks["sanitizer_weaknesses"]["invisible_carrier_feasibility_scan"] == "PASS" + assert checks["sanitizer_weaknesses"]["invisible_carrier_closed_set"] == "PASS" assert checks["sanitizer_weaknesses"]["stronger_invisible_product_mechanism"] == "FAIL" - assert checks["cross_detector_generalization"]["confirmed_families"] == "FAIL" + assert checks["cross_detector_generalization"]["confirmed_families"] == "PASS" assert checks["cross_detector_generalization"]["mean_vs_weighted_mean_hypothesis"] == "PASS" - assert checks["cross_detector_generalization"]["second_model"] == "FAIL" + assert checks["cross_detector_generalization"]["deepmind_30key_hypothesis"] == "PASS" + assert checks["cross_detector_generalization"]["second_model"] == "PASS" + families = next( + check["families"] + for check in gates["cross_detector_generalization"]["checks"] + if check["id"] == "confirmed_families" + ) + assert families == [ + "huggingface-synthid-weighted-mean-gpt2", + "deepmind-synthid-text-30key-weighted-mean-gpt2", + ] + second_model = next( + check + for check in gates["cross_detector_generalization"]["checks"] + if check["id"] == "second_model" + ) + assert second_model["confirmation_scale"] is False + assert second_model["model"] == "distilbert/distilgpt2" assert payload["identities"]["mix_freeze_hash"] == mix_freeze_hash() == _FREEZE_HASH assert payload["identities"]["confirmation_scorecard_hash"] == _SCORECARD_HASH assert payload["identities"]["product_contract_hash"] == FROZEN_PRODUCT_CONTRACT_HASH assert payload["identities"]["feasibility_hash"] == "edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483" + assert payload["identities"]["closed_set_hash"] == "425f85e5e91c1513750e5a3da08a45f537a5b2e5c07f47854dc2c9f6420f794d" assert payload["identities"]["mean_transfer_scorecard_hash"] == "1b13209f53dcb18e1e93938f22c39bcb510eb4292c1d841db6fbe51052d8e620" + assert payload["identities"]["deepmind_transfer_scorecard_hash"] == "ed61939e164e4c39277bf385961a95eb239178db84e63959f72948fab7df25e5" + assert payload["identities"]["second_model_transfer_scorecard_hash"] == "1f6c9a6af58e9dd547940a393c7e4115713d6333ab4d5162ad382bf5a91d5156" assert payload["confirmation"]["transformed_wm"] == "0/192" assert payload["confirmation"]["transformed_uw"] == "0/192" assert payload["confirmation"]["visible"] == "192/192" diff --git a/tests/test_cycle8_second_model_transfer.py b/tests/test_cycle8_second_model_transfer.py new file mode 100644 index 00000000..97f6be1a --- /dev/null +++ b/tests/test_cycle8_second_model_transfer.py @@ -0,0 +1,68 @@ +import json +from pathlib import Path + +from fuckmark.cycle8.letter_mix import apply_letter_alternating_mix +from fuckmark.cycle8.second_model_transfer import ( + CYCLE8_MIX_SECOND_MODEL_ID, + CYCLE8_MIX_SECOND_MODEL_REVISION, + CYCLE8_MIX_SECOND_MODEL_TRANSFER_HASH, + CYCLE8_MIX_SECOND_MODEL_TRANSFER_PATH, + CYCLE8_MIX_SECOND_MODEL_TRANSFER_VERSION, + assert_mix_second_model_transfer_committed, +) +from fuckmark.hashing import sha256_file, sha256_json, sha256_text +from fuckmark.product.visible_projection import product_approved_carriers_v1 +from fuckmark.transforms.registry import release_transform_registry + + +_ROOT = "evidence/cycle8-mix-distilgpt2-1090000-n16-2026-08-27" + + +def test_distilgpt2_n16_is_second_model_hypothesis_not_confirmation() -> None: + root = Path(__file__).resolve().parents[1] / _ROOT + disk = json.loads((root / "scorecard.json").read_text(encoding="utf-8")) + body = {key: value for key, value in disk.items() if key != "scorecard_hash"} + assert disk["scorecard_hash"] == sha256_json(body) == CYCLE8_MIX_SECOND_MODEL_TRANSFER_HASH + assert CYCLE8_MIX_SECOND_MODEL_TRANSFER_PATH == f"{_ROOT}/scorecard.json" + assert disk["algorithm_version"] == CYCLE8_MIX_SECOND_MODEL_TRANSFER_VERSION + assert disk["seed_base"] == 1090000 + assert disk["pair_count"] == 16 + assert disk["product_authorized"] is False + assert disk["confirmation_rewritten"] is False + assert disk["mix_freeze_confirmation"] is False + assert disk["second_model"] is True + assert disk["second_configuration"] is False + assert disk["evidence_label"] == "HYPOTHESIS" + assert disk["model"] == CYCLE8_MIX_SECOND_MODEL_ID + assert disk["model_revision"] == CYCLE8_MIX_SECOND_MODEL_REVISION + assert disk["generation"] == "synthid_text.SynthIDGPT2LMHeadModel" + assert disk["detector"] == "synthid_text.logits_processing.SynthIDLogitsProcessor" + assert disk["keys_depth"] == 30 + assert disk["tokenizer"] == "GPT2TokenizerFast" + assert disk["tokenizer_vocab_size"] == 50257 + assert disk["visible_pass"] is True + effectiveness = disk["effectiveness"] + assert effectiveness["identity_wm"]["rate"] == "16/16" + assert effectiveness["mix_wm"]["rate"] == "0/16" + assert effectiveness["identity_uw"]["rate"] == "0/16" + assert effectiveness["mix_uw"]["rate"] == "0/16" + assert float(effectiveness["mix_wm_max_score"]) == 0.5047997827277791 + samples = json.loads((root / "samples.json").read_text(encoding="utf-8")) + by_id = {row["sample_id"]: row for row in disk["rows"]} + assert len(disk["rows"]) == 32 + assert len(samples["samples"]) == 32 + for sample in samples["samples"]: + source = str(sample["text"]) + row = by_id[str(sample["sample_id"])] + assert "text" not in row + assert "text" not in row["mix"] + assert row["source_sha256"] == sample["text_sha256"] == sha256_text(source) + assert row["mix"]["text_sha256"] == sha256_text(apply_letter_alternating_mix(source)) + assert row["visible_ok"] is True + sums = (root / "SHA256SUMS.txt").read_text(encoding="utf-8") + for line in sums.splitlines(): + digest, name = line.split() + assert sha256_file(root / name) == digest + assert_mix_second_model_transfer_committed() + assert release_transform_registry().rules == () + assert product_approved_carriers_v1() == frozenset() diff --git a/tests/test_global_seed_ledger.py b/tests/test_global_seed_ledger.py index 6043fc84..f1bfb569 100644 --- a/tests/test_global_seed_ledger.py +++ b/tests/test_global_seed_ledger.py @@ -25,6 +25,14 @@ CYCLE8_MIX_SCALE_PRIMARY_TOPIC, CYCLE8_MIX_SCALE_REPLICATION_SEED_BASE, CYCLE8_MIX_SCALE_REPLICATION_TOPIC, + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_PRIMARY_TOPIC, + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_REPLICATION_TOPIC, + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE, + CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC, + CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE, + CYCLE8_SECOND_MODEL_TRANSFER_TOPIC, CYCLE8_MIX_CONFIRMATION_HOLD_TOPIC, CYCLE8_MIX_CONFIRMATION_PRIMARY_TOPIC, CYCLE8_MIX_CONFIRMATION_REPLICATION_TOPIC, @@ -39,6 +47,8 @@ assert_new_cycle8_letter_benchmark_generation_seed, assert_new_cycle8_margin_generation_seed, assert_new_cycle8_mix_generation_seed, + assert_new_cycle8_deepmind_transfer_generation_seed, + assert_new_cycle8_second_model_transfer_generation_seed, assert_new_cycle8_scale_generation_seed, assert_seed_not_confirmation_content, global_seed_ledger_hash, @@ -107,6 +117,7 @@ def test_scale_seeds_are_reserved_before_generation() -> None: assert 1000000 in bases and 1010000 in bases assert 1020000 in bases and 1030000 in bases assert 1040000 in bases and 1050000 in bases + assert 1060000 in bases and 1070000 in bases and 1080000 in bases and 1090000 in bases density = row_for_seed_base(CYCLE8_DENSITY_EXPLORATORY_SEED_BASE) assert density["generated"] is True assert density["scored"] is True @@ -185,3 +196,29 @@ def test_scale_seeds_are_reserved_before_generation() -> None: assert_new_cycle8_mix_generation_seed(CYCLE8_SCALE_VALIDATION_SEED_BASE) with pytest.raises(ValueError, match="confirmation"): assert_new_cycle8_mix_generation_seed(830000) + deepmind_primary = row_for_seed_base(CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE) + assert deepmind_primary["generation_topic"] == CYCLE8_DEEPMIND_TRANSFER_PRIMARY_TOPIC == "deepmind mix transfer primary" + assert deepmind_primary["generated"] is True + assert deepmind_primary["scored"] is True + assert deepmind_primary["eligible_for_confirmation"] is False + assert_new_cycle8_deepmind_transfer_generation_seed(CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE) + assert_new_cycle8_deepmind_transfer_generation_seed(CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE) + assert_new_cycle8_deepmind_transfer_generation_seed(CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE) + with pytest.raises(ValueError, match="DeepMind"): + assert_new_cycle8_deepmind_transfer_generation_seed(CYCLE8_MIX_SCALE_PRIMARY_SEED_BASE) + with pytest.raises(ValueError, match="frozen"): + assert_new_cycle8_deepmind_transfer_generation_seed(CYCLE8_SCALE_VALIDATION_SEED_BASE) + with pytest.raises(ValueError, match="confirmation"): + assert_new_cycle8_deepmind_transfer_generation_seed(830000) + second_model = row_for_seed_base(CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE) + assert second_model["generation_topic"] == CYCLE8_SECOND_MODEL_TRANSFER_TOPIC == "second model mix transfer" + assert second_model["generated"] is True + assert second_model["scored"] is True + assert second_model["eligible_for_confirmation"] is False + assert_new_cycle8_second_model_transfer_generation_seed(CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE) + with pytest.raises(ValueError, match="second-model"): + assert_new_cycle8_second_model_transfer_generation_seed(CYCLE8_DEEPMIND_TRANSFER_PRIMARY_SEED_BASE) + with pytest.raises(ValueError, match="frozen"): + assert_new_cycle8_second_model_transfer_generation_seed(CYCLE8_SCALE_VALIDATION_SEED_BASE) + with pytest.raises(ValueError, match="confirmation"): + assert_new_cycle8_second_model_transfer_generation_seed(830000) From b0c1fe42fa9b4a8add0c39ce75aff38fd9cac26c Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 27 Aug 2026 01:10:21 +0000 Subject: [PATCH 04/12] Keep Unicode feasibility scans portable across Python versions. Frozen H9 and closed-set hashes stay the CPython 3.12 snapshot. Live scans on 3.11 and 3.13 still must find no stronger Priority-Zero mechanism. Mix stays out of the public CLI. Co-authored-by: Byte271 --- docs/cycle8/mix-publishability.md | 2 +- fuckmark/cycle8/closed_set.py | 34 +++++++++++++++++++++++++------ fuckmark/cycle8/feasibility.py | 34 ++++++++++++++++++++++++------- tests/test_cycle8_closed_set.py | 12 ++++++++--- tests/test_cycle8_feasibility.py | 13 +++++++++--- 5 files changed, 75 insertions(+), 20 deletions(-) diff --git a/docs/cycle8/mix-publishability.md b/docs/cycle8/mix-publishability.md index 905492f6..8e08b2f0 100644 --- a/docs/cycle8/mix-publishability.md +++ b/docs/cycle8/mix-publishability.md @@ -41,7 +41,7 @@ PASS on the product surface: FAIL as a product gate. Frozen Cycle 6/7 sanitizers (raw, NFKC, Cf-strip, whitespace-collapse, combined, NFC) keep mix, matching confirmation zeros. Mn-strip and default-ignorable-strip remove both carriers because U+034F and U+FE00 are Mn and default-ignorable. NFKD keeps them. -Assigned-Unicode feasibility `cycle8-invisible-carrier-feasibility-v1` found no stronger Priority-Zero invisible mechanism. Closed set `cycle8-invisible-carrier-closed-set-v1` confirms display-width-0 assigned insertions are only Mn, Me, or Cf: +Assigned-Unicode feasibility `cycle8-invisible-carrier-feasibility-v1` found no stronger Priority-Zero invisible mechanism. Closed set `cycle8-invisible-carrier-closed-set-v1` confirms display-width-0 assigned insertions are only Mn, Me, or Cf. Frozen counts are a CPython 3.12 Unicode snapshot. Live scans on other Python versions must still find zero width-0 assigned insertions outside Mn/Me/Cf and must not claim a stronger mechanism. - visible/control: 140882 - Cf: 161 (dies to frozen Cf-strip) diff --git a/fuckmark/cycle8/closed_set.py b/fuckmark/cycle8/closed_set.py index 2f756ab2..843d7523 100644 --- a/fuckmark/cycle8/closed_set.py +++ b/fuckmark/cycle8/closed_set.py @@ -111,18 +111,40 @@ def load_invisible_carrier_closed_set(path: str | Path | None = None) -> dict[st return json.loads(destination.read_text(encoding="utf-8")) +def assert_live_closed_set_boundary(payload: dict[str, object] | None = None) -> dict[str, object]: + live = payload if payload is not None else scan_invisible_carrier_closed_set() + if live["stronger_priority_zero_safe_mechanism"] is not None: + raise ValueError("live closed-set scan must not claim a stronger Priority-Zero-safe mechanism") + if live["width0_assigned_other"]: + raise ValueError("live closed-set scan found unexpected width-0 assigned code points") + if live["width0_assigned_me"] != 13: + raise ValueError("live closed-set scan enclosing-mark count mismatch") + if live["mix_carriers_are_width0_mn_default_ignorable"] is not True: + raise ValueError("live closed-set scan mix-carrier classification mismatch") + if live["non_di_cf_die_to_frozen_cf_strip"] is not True: + raise ValueError("live closed-set scan non-default-ignorable Cf must die to Cf-strip") + if live["me_survives_mn_strip"] is not True: + raise ValueError("live closed-set scan enclosing marks must survive Mn-strip") + if live["me_survives_default_ignorable_strip"] is not True: + raise ValueError("live closed-set scan enclosing marks must survive default-ignorable-strip") + return live + + def assert_invisible_carrier_closed_set_committed() -> None: path = Path(CYCLE8_CLOSED_SET_PATH) if not path.is_file(): raise ValueError("invisible carrier closed-set spec is not committed") disk = json.loads(path.read_text(encoding="utf-8")) - payload = scan_invisible_carrier_closed_set() - if disk != payload: - raise ValueError("invisible carrier closed-set spec does not match the scan payload") - digest = str(payload["closed_set_hash"]) + body = {key: value for key, value in disk.items() if key != "closed_set_hash"} + digest = sha256_json(body) + if disk.get("closed_set_hash") != digest: + raise ValueError("invisible carrier closed-set spec hash mismatch") if CYCLE8_CLOSED_SET_HASH != "0" * 64 and digest != CYCLE8_CLOSED_SET_HASH: raise ValueError("invisible carrier closed-set spec hash is not the frozen digest") - if payload["stronger_priority_zero_safe_mechanism"] is not None: + if disk["stronger_priority_zero_safe_mechanism"] is not None: raise ValueError("closed-set spec must not claim a stronger Priority-Zero-safe mechanism") - if payload["width0_assigned_other"]: + if disk["width0_assigned_other"]: raise ValueError("closed-set spec found unexpected width-0 assigned code points") + live = assert_live_closed_set_boundary() + if live["width0_assigned_mn"] == disk["width0_assigned_mn"] and live != disk: + raise ValueError("invisible carrier closed-set spec does not match the scan payload") diff --git a/fuckmark/cycle8/feasibility.py b/fuckmark/cycle8/feasibility.py index 630223a8..a116cc4d 100644 --- a/fuckmark/cycle8/feasibility.py +++ b/fuckmark/cycle8/feasibility.py @@ -112,20 +112,40 @@ def write_invisible_carrier_feasibility_spec(path: str | Path | None = None) -> return destination +def assert_live_feasibility_boundary(payload: dict[str, object] | None = None) -> dict[str, object]: + live = payload if payload is not None else scan_invisible_carrier_feasibility() + if live["stronger_invisible_product_mechanism"] is not None: + raise ValueError("live feasibility scan must not claim a stronger invisible product mechanism") + if live["other_non_mn_cf_count"] != 0: + raise ValueError("live feasibility scan found unexpected non-Mn non-Cf assigned code points") + if live["other_non_mn_cf"] != []: + raise ValueError("live feasibility scan found unexpected non-Mn non-Cf assigned code points") + if live["survives_mn_cf_and_default_ignorable_while_invisible"] is not False: + raise ValueError("live feasibility scan must not claim an invisible Mn-strip survivor") + if live["assigned_enclosing_me"] != 13: + raise ValueError("live feasibility scan enclosing-mark count mismatch") + if live["mix_carriers_are_mn_and_default_ignorable"] is not True: + raise ValueError("live feasibility scan mix-carrier classification mismatch") + return live + + def assert_invisible_carrier_feasibility_committed() -> None: path = Path(CYCLE8_FEASIBILITY_PATH) if not path.is_file(): raise ValueError("invisible carrier feasibility spec is not committed") disk = json.loads(path.read_text(encoding="utf-8")) - payload = scan_invisible_carrier_feasibility() - if disk != payload: - raise ValueError("invisible carrier feasibility spec does not match the scan payload") - digest = str(payload["feasibility_hash"]) + body = {key: value for key, value in disk.items() if key != "feasibility_hash"} + digest = sha256_json(body) + if disk.get("feasibility_hash") != digest: + raise ValueError("invisible carrier feasibility spec hash mismatch") if CYCLE8_FEASIBILITY_HASH != "0" * 64 and digest != CYCLE8_FEASIBILITY_HASH: raise ValueError("invisible carrier feasibility spec hash is not the frozen digest") - if payload["stronger_invisible_product_mechanism"] is not None: + if disk["stronger_invisible_product_mechanism"] is not None: raise ValueError("feasibility spec must not claim a stronger invisible product mechanism") - if payload["other_non_mn_cf_count"] != 0: + if disk["other_non_mn_cf_count"] != 0: raise ValueError("feasibility spec found unexpected non-Mn non-Cf assigned code points") - if payload["survives_mn_cf_and_default_ignorable_while_invisible"] is not False: + if disk["survives_mn_cf_and_default_ignorable_while_invisible"] is not False: raise ValueError("feasibility spec must not claim an invisible Mn-strip survivor") + live = assert_live_feasibility_boundary() + if live["assigned_visible_or_control"] == disk["assigned_visible_or_control"] and live != disk: + raise ValueError("invisible carrier feasibility spec does not match the scan payload") diff --git a/tests/test_cycle8_closed_set.py b/tests/test_cycle8_closed_set.py index 1959fd4a..54699027 100644 --- a/tests/test_cycle8_closed_set.py +++ b/tests/test_cycle8_closed_set.py @@ -20,9 +20,8 @@ def test_invisible_carrier_closed_set_has_no_priority_zero_safe_survivor() -> None: disk = json.loads((Path(__file__).resolve().parents[1] / CYCLE8_CLOSED_SET_PATH).read_text(encoding="utf-8")) payload = scan_invisible_carrier_closed_set() - assert disk == payload - assert disk["closed_set_hash"] == payload["closed_set_hash"] == sha256_json( - {key: value for key, value in payload.items() if key != "closed_set_hash"} + assert disk["closed_set_hash"] == sha256_json( + {key: value for key, value in disk.items() if key != "closed_set_hash"} ) assert disk["closed_set_hash"] == CYCLE8_CLOSED_SET_HASH assert disk["algorithm_version"] == CYCLE8_CLOSED_SET_VERSION @@ -37,6 +36,13 @@ def test_invisible_carrier_closed_set_has_no_priority_zero_safe_survivor() -> No assert disk["me_survives_default_ignorable_strip"] is True assert disk["me_survives_frozen_cf_strip"] is True assert disk["me_rejected_for_rendering"] is True + assert payload["stronger_priority_zero_safe_mechanism"] is None + assert payload["width0_assigned_other"] == [] + assert payload["width0_assigned_me"] == 13 + assert payload["mix_carriers_are_width0_mn_default_ignorable"] is True + if payload["width0_assigned_mn"] == disk["width0_assigned_mn"]: + assert disk == payload + assert payload["closed_set_hash"] == CYCLE8_CLOSED_SET_HASH assert_invisible_carrier_closed_set_committed() source = "I do not agree." transformed = apply_letter_alternating_mix(source) diff --git a/tests/test_cycle8_feasibility.py b/tests/test_cycle8_feasibility.py index 53379b47..964045da 100644 --- a/tests/test_cycle8_feasibility.py +++ b/tests/test_cycle8_feasibility.py @@ -26,9 +26,8 @@ def _load() -> dict[str, object]: def test_invisible_carrier_feasibility_spec_finds_no_stronger_product_mechanism() -> None: disk = _load() payload = scan_invisible_carrier_feasibility() - assert disk == payload - assert disk["feasibility_hash"] == payload["feasibility_hash"] == sha256_json( - {key: value for key, value in payload.items() if key != "feasibility_hash"} + assert disk["feasibility_hash"] == sha256_json( + {key: value for key, value in disk.items() if key != "feasibility_hash"} ) assert disk["feasibility_hash"] == CYCLE8_FEASIBILITY_HASH assert disk["algorithm_version"] == CYCLE8_FEASIBILITY_VERSION @@ -40,6 +39,14 @@ def test_invisible_carrier_feasibility_spec_finds_no_stronger_product_mechanism( assert disk["assigned_enclosing_me"] == 13 assert f"U+{ENCLOSING_MARK_PROBE:04X}" in disk["enclosing_me_labels"] assert disk["mix_carriers_are_mn_and_default_ignorable"] is True + assert payload["stronger_invisible_product_mechanism"] is None + assert payload["other_non_mn_cf_count"] == 0 + assert payload["other_non_mn_cf"] == [] + assert payload["assigned_enclosing_me"] == 13 + assert payload["survives_mn_cf_and_default_ignorable_while_invisible"] is False + if payload["assigned_visible_or_control"] == disk["assigned_visible_or_control"]: + assert disk == payload + assert payload["feasibility_hash"] == CYCLE8_FEASIBILITY_HASH assert_invisible_carrier_feasibility_committed() From a137aecae4bdcc2240fc6f82422df4349eb9a15d Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 27 Aug 2026 02:03:19 +0000 Subject: [PATCH 05/12] Record H12 control-mix sanitizer research without product authorization. DEL and C1 except NEXT LINE survive the required sanitizers and keep Chromium pre/textarea/contenteditable pixels. Independent seed 1100000 n=16 is control-mix 0/16 WM with identity 15/16. Mix sanitizer stays FAIL. The public CLI stays empty. Co-authored-by: Byte271 --- CHANGELOG.md | 1 + docs/cycle8/README.md | 4 +- docs/cycle8/carrier-research.md | 33 ++- docs/cycle8/mix-publishability.md | 2 + docs/cycle8/seed-ledger.md | 3 +- docs/seeds.md | 2 + .../README.md | 13 + .../SHA256SUMS.txt | 3 + .../samples.json | 1 + .../scorecard.json | 1 + .../README.md | 22 ++ .../SHA256SUMS.txt | 3 + .../scorecard.json | 1 + .../summary.json | 1 + fuckmark/cycle8/control_carrier.py | 238 ++++++++++++++++++ fuckmark/cycle8/control_mix.py | 99 ++++++++ fuckmark/cycle8/ledger.py | 12 + fuckmark/cycle8_control_mix_diagnostic_hf.py | 177 +++++++++++++ fuckmark/cycle8_control_mix_hf.py | 203 +++++++++++++++ fuckmark/seeds/ledger.py | 22 +- ...ckmark-cycle8-control-carrier-scan-v1.json | 1 + .../fuckmark-cycle8-seed-ledger-v2.json | 2 +- specs/fuckmark-global-seed-ledger-v1.json | 2 +- tests/test_cycle8_carriers.py | 3 + tests/test_cycle8_control_carrier.py | 145 +++++++++++ tests/test_cycle8_control_mix.py | 95 +++++++ tests/test_cycle8_control_mix_diagnostic.py | 63 +++++ tests/test_cycle8_control_mix_exploratory.py | 78 ++++++ tests/test_global_seed_ledger.py | 16 ++ 29 files changed, 1240 insertions(+), 6 deletions(-) create mode 100644 evidence/cycle8-control-mix-1100000-n16-2026-08-27/README.md create mode 100644 evidence/cycle8-control-mix-1100000-n16-2026-08-27/SHA256SUMS.txt create mode 100644 evidence/cycle8-control-mix-1100000-n16-2026-08-27/samples.json create mode 100644 evidence/cycle8-control-mix-1100000-n16-2026-08-27/scorecard.json create mode 100644 evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/README.md create mode 100644 evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/SHA256SUMS.txt create mode 100644 evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/scorecard.json create mode 100644 evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/summary.json create mode 100644 fuckmark/cycle8/control_carrier.py create mode 100644 fuckmark/cycle8/control_mix.py create mode 100644 fuckmark/cycle8_control_mix_diagnostic_hf.py create mode 100644 fuckmark/cycle8_control_mix_hf.py create mode 100644 specs/cycle8/fuckmark-cycle8-control-carrier-scan-v1.json create mode 100644 tests/test_cycle8_control_carrier.py create mode 100644 tests/test_cycle8_control_mix.py create mode 100644 tests/test_cycle8_control_mix_diagnostic.py create mode 100644 tests/test_cycle8_control_mix_exploratory.py diff --git a/CHANGELOG.md b/CHANGELOG.md index c00ae5dc..d0782b17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ - Froze development mechanism `u034f-ufe00-letter-alt-v1` as `cycle8-mix-freeze-v1`. Public CLI remains empty. - Cycle 8 mix freeze one-shot confirmation on preregistered seeds `830000` / `840000` / `850000`: mix **0/192** raw transformed WM, mix UW **0/192**, visible **192/192**, frozen sanitizers matching raw zeros, worst mix score 0.524300 versus threshold 0.557099 (gap 0.032798). Those seeds are spent. Do not rerun looking for zero. Mix is not product-authorized. Do not generate `950000`. - Recorded `cycle8-mix-publishability-v1` after merging that freeze onto `main`. Product hardening on that report: software compatibility PASS on the UTF-8 product surface (Latin-1/ASCII/cp1252 unsupported; visible-projection search; raw codepoint search is not the product API). Sanitizer weaknesses still FAIL; assigned-Unicode feasibility and the width-0 closed set found no stronger Priority-Zero invisible mechanism. All 13 enclosing marks change Chromium `pre` pixels. Cross-detector generalization PASSes on Hugging Face nine-key GPT-2 Weighted Mean 0/192 plus independent Google `synthid-text` 30-key GPT-2 mix **0/192** (identity WM 189/192). DistilGPT2 n=16 is HYPOTHESIS second-model transfer (identity 16/16, mix 0/16), not confirmation-scale. Mean versus Weighted Mean on the same GPT-2 Hugging Face adapter remains HYPOTHESIS. Mix is not product-publishable. Tag `v0.3.0` is not retagged. +- Cycle 8 H12 control-code research: DEL and C1 except NEXT LINE survive Mn-strip, default-ignorable-strip, Cf-strip, NFC/NFKC/NFKD, and frozen Cycle 6/7 sanitizers while keeping exact visible projection and Chromium `pre`/textarea/contenteditable pixels on measured fixtures. Seen DeepMind 30-key diagnostic rescore of seed `920000` n=16 is control-mix **0/16** WM with identity **16/16**. Independent reserved seed `1100000` n=16 is control-mix **0/16** WM with identity **15/16**. This is a new `Cc` class, not a mix sanitizer PASS. Public CLI stays empty. Do not generate `950000`. ## v0.2.0 — Exact-survival confirmation and release hardening diff --git a/docs/cycle8/README.md b/docs/cycle8/README.md index 1c593bf7..dfd1b7c5 100644 --- a/docs/cycle8/README.md +++ b/docs/cycle8/README.md @@ -17,12 +17,14 @@ Cycle 8 is a new scientific generation. The mechanism class is hidden Unicode re ## Seed ledger -See `docs/cycle8/seed-ledger.md` and `docs/seeds.md`. Seeds `890000`, `900000`, and `910000` are spent tiny Cycle 8 evidence. Scale seeds `930000` / `940000` / `950000` were reserved before scale generation. Density seed `960000` was reserved before density generation and scored n=16: both space x1 and space-wordfinal are 1/16. Letter seed `970000` was reserved before letter generation; independent letter-x1 is 0/16 then 0/64. Diagnostic letter rescored of seen `930000` n=64 and `940000` n=64 are 0/64. Experimental letter-x1 0/192 is 128 seen plus 64 independent. System-benchmark seeds `980000` and `990000` were reserved before generation; fresh letter-x1 is 0/128 and fresh space-x1 is 1/128. See `docs/cycle8/letter-system-benchmark.md`. Mix seeds `1020000` and `1030000` were reserved before generation; fresh letter-alt is 0/128 with worst score 0.513691. Mix scale seeds `1040000` and `1050000` were reserved before generation; combined mix is 0/256 with worst score 0.519522. Mix is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** and those seeds are spent. DeepMind 30-key mix transfer seeds `1060000` / `1070000` / `1080000` are confirmation-scale mix **0/192** (`HYPOTHESIS`, not mix-freeze confirmation). DistilGPT2 seed `1090000` n=16 is `HYPOTHESIS` second-model transfer. Publishability gates: reproducibility PASS, visibility PASS, software compatibility PASS on the UTF-8 / visible-search product surface, sanitizer FAIL, cross-detector PASS. Mix is not product-publishable. See `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, `docs/cycle8/mix-publishability.md`, `docs/cycle8/mix-deepmind-transfer.md`, and `docs/cycle8/mix-second-model-transfer.md`. Letter-space seeds `1000000` and `1010000` remain 1/128. Seed `880000` is **PUBLICLY_EXPOSED** by closed unmerged PR #98 and is not eligible as unseen validation. +See `docs/cycle8/seed-ledger.md` and `docs/seeds.md`. Seeds `890000`, `900000`, and `910000` are spent tiny Cycle 8 evidence. Scale seeds `930000` / `940000` / `950000` were reserved before scale generation. Density seed `960000` was reserved before density generation and scored n=16: both space x1 and space-wordfinal are 1/16. Letter seed `970000` was reserved before letter generation; independent letter-x1 is 0/16 then 0/64. Diagnostic letter rescored of seen `930000` n=64 and `940000` n=64 are 0/64. Experimental letter-x1 0/192 is 128 seen plus 64 independent. System-benchmark seeds `980000` and `990000` were reserved before generation; fresh letter-x1 is 0/128 and fresh space-x1 is 1/128. See `docs/cycle8/letter-system-benchmark.md`. Mix seeds `1020000` and `1030000` were reserved before generation; fresh letter-alt is 0/128 with worst score 0.513691. Mix scale seeds `1040000` and `1050000` were reserved before generation; combined mix is 0/256 with worst score 0.519522. Mix is frozen as `cycle8-mix-freeze-v1`. One-shot confirmation on seeds `830000` / `840000` / `850000` is **0/192** and those seeds are spent. DeepMind 30-key mix transfer seeds `1060000` / `1070000` / `1080000` are confirmation-scale mix **0/192** (`HYPOTHESIS`, not mix-freeze confirmation). DistilGPT2 seed `1090000` n=16 is `HYPOTHESIS` second-model transfer. Control-mix exploratory seed `1100000` n=16 is `HYPOTHESIS` (identity WM 15/16, control-mix WM 0/16) and does not rewrite mix sanitizer FAIL. Publishability gates: reproducibility PASS, visibility PASS, software compatibility PASS on the UTF-8 / visible-search product surface, sanitizer FAIL, cross-detector PASS. Mix is not product-publishable. See `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, `docs/cycle8/mix-publishability.md`, `docs/cycle8/mix-deepmind-transfer.md`, and `docs/cycle8/mix-second-model-transfer.md`. Letter-space seeds `1000000` and `1010000` remain 1/128. Seed `880000` is **PUBLICLY_EXPOSED** by closed unmerged PR #98 and is not eligible as unseen validation. ## Carrier research See `docs/cycle8/carrier-research.md`, `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, `docs/cycle8/mix-publishability.md`, `docs/cycle8/mix-deepmind-transfer.md`, and `docs/cycle8/mix-second-model-transfer.md`. +Assigned width-0 insertions remain closed (H9). H12 control-code insertion (`Cc` DEL + C1 except NEXT LINE) is a new sanitizer-surviving research class. Independent seed `1100000` n=16 is control-mix **0/16** WM (`HYPOTHESIS`). It is not mix, not product-authorized, and does not rewrite the mix sanitizer FAIL. See `docs/cycle8/carrier-research.md`. + U+200C is the diagnostic baseline. It is not durable under Cf-strip. Early durable-track *hypothesis* (sanitizer and tokenizer screen, not a detector claim): U+034F COMBINING GRAPHEME JOINER and variation selectors U+FE00..U+FE0F. These are not product-authorized. diff --git a/docs/cycle8/carrier-research.md b/docs/cycle8/carrier-research.md index 336b2fe8..5a118628 100644 --- a/docs/cycle8/carrier-research.md +++ b/docs/cycle8/carrier-research.md @@ -51,7 +51,34 @@ Placement geometry, Cycle 6 scheduler reuse, and root-window correlation remain Mix carriers U+034F and U+FE00 are Mn and default-ignorable, so Mn-strip and default-ignorable-strip restore the source. Cf dies to frozen Cf-strip. The 13 enclosing marks (Me, probe U+20DD) survive those stress sanitizers and have display width 0, but they change rendered pixels and are `REJECTED`. Other non-Mn/Cf assigned characters: 0. -Cycle 8 freezes that boundary rather than weaken Priority Zero. There is no stronger invisible Unicode product mechanism under the current contract. Closed set `cycle8-invisible-carrier-closed-set-v1` repeats the width-0 partition: Mn, Me, or Cf only; 32 non-default-ignorable Cf die to frozen Cf-strip; 13 Me survive sanitizers and change pixels. +Cycle 8 freezes that width-0 assigned boundary rather than weaken Priority Zero. Mix sanitizer robustness stays FAIL. The H9 scan skipped general category `Cc` as control risk and did not treat it as a width-0 assigned insertion. + +## H12. Sanitizer-surviving control-code insertion + +`HYPOTHESIS` / `PROMISING_DEVELOPMENT`. A new class, not a rewrite of mix and not a reopening of the width-0 closed set. Assigned width-0 insertions remain Mn, Me, or Cf. Mix still dies to Mn-strip and default-ignorable-strip. + +The next insertion class is Unicode general category `Cc`. Layout controls (TAB, LF, VT, FF, CR, NEXT LINE, line/paragraph separators) stay excluded. NUL is Chromium-pixel-equal on `pre`/textarea/contenteditable but is hostile to ordinary C-string text and is excluded. Most other C0 controls survive the required sanitizers and are Chromium-`REJECTED` (tofu). Braille blank, Ogham space, replacement character, noncharacters, and BMP private-use probes also survive some sanitizers and change Chromium `pre` pixels. + +DEL (U+007F) and C1 (U+0080..U+009F except U+0085) are 32 code points that: + +- are `Cc`, not default-ignorable, not Mn, not Cf; +- survive Mn-strip, default-ignorable-strip, Cf-strip, NFC, NFKC, NFKD, frozen Cycle 6/7 sanitizers, and the combination of those arms; +- keep exact `project_visible_v1` when used as approved insertion carriers; +- keep Chromium `pre`, textarea, and contenteditable PNG bytes on single-insert probes and on a full letter-alternating apply of the short paragraph and the GPT-2 fixture; +- keep Chromium `window.find` HIT for `do not` on the short paragraph; +- disrupt GPT-2 BPE (`ids_equal=false`, token-count delta positive); +- round-trip through UTF-8, JSON, and latin-1; +- fail the v1 product display-width proxy, which still counts `Cc` as width 1. Research width skips the eligible set. That is a proxy gap, not a visible-text change. + +The apply path `cc-del-c1-letter-alt-v1` uses the same letter sites as mix, cycling the 32 eligible controls instead of U+034F / U+FE00. Hard machine spans stay blocked. Quote interiors stay eligible. Cap 192. Public CLI remains empty. `product_approved_carriers_v1()` remains empty. Mix confirmation 0/192 is not transferred. Mix publishability sanitizer stays FAIL. Do not generate `950000`. + +Seen-corpus DeepMind 30-key diagnostic rescore of seed `920000` n=16: identity WM **16/16**, control-mix WM **0/16**, mix WM **0/16**, all UW **0/16**, visible pass, required sanitizers keep every control-mix row, control-mix max `0.505337`. That look is `HYPOTHESIS`, seen, not independent generation, and not confirmation. + +Independent reserved seed `1100000` n=16: identity WM **15/16**, control-mix WM **0/16**, all UW **0/16**, visible pass, required sanitizers keep every control-mix row, control-mix max `0.505851`. The identity miss is one structured-instructional watermarked row at `0.556873` versus threshold `0.557099`. Do not rewrite 15/16 as 16/16. This n=16 is `HYPOTHESIS`, not confirmation, and does not transfer mix-freeze 0/192. + +ISO-6429 C1 device controls including CSI (U+009B) remain in the measured 32-codepoint eligible set. Product `display_column_width` still counts `Cc` as width 1. Terminal pixels stay UNKNOWN. Those ordinary-text and terminal risks block product authorization. They do not rewrite mix sanitizer FAIL. + +Spec: `cycle8-control-carrier-scan-v1`. ## Rejected as product mechanisms @@ -62,6 +89,10 @@ Cycle 8 freezes that boundary rather than weaken Priority Zero. There is no stro | U+200C / other Cf | `REJECTED` as durable; diagnostic only | Cf-strip restores the original string | | Enclosing marks (Me, probe U+20DD) | `REJECTED` | survive Mn/DI/Cf-strip but change Chromium `pre` pixels | | NBSP / hair spaces / dashes / homoglyphs | `REJECTED` | visible or NFKC-mapped layout/glyph change | +| C0 tofu (U+0001..U+0008, U+000E..U+001F) | `REJECTED` | survive the required sanitizers; Chromium `pre` pixels change | +| NUL (U+0000) | `REJECTED` as product-ordinary text | Chromium pixels match; C-string / ordinary-text hazard | +| FF / VT / NEXT LINE / CR / TAB / LF | `REJECTED` | newline or layout change even when some Chromium surfaces ignore them | +| Braille blank / Ogham space / PUA / noncharacters | `REJECTED` | sanitizer-survive in some cases; Chromium `pre` pixels change | ## Baseline diff --git a/docs/cycle8/mix-publishability.md b/docs/cycle8/mix-publishability.md index 8e08b2f0..479b60bf 100644 --- a/docs/cycle8/mix-publishability.md +++ b/docs/cycle8/mix-publishability.md @@ -52,6 +52,8 @@ Assigned-Unicode feasibility `cycle8-invisible-carrier-feasibility-v1` found no Enclosing marks are not product-safe. Cycle 8 freezes that H9 / closed-set boundary rather than changing visible English text. +H12 is a **different class**: general category `Cc`, which H9 skipped as control risk. DEL and C1 except NEXT LINE survive the required sanitizers and were Chromium-pixel-equal on this host. Independent reserved seed `1100000` n=16 is control-mix **0/16** WM with identity **15/16**. That does **not** rewrite this mix sanitizer FAIL. Mix still uses U+034F / U+FE00. Control-mix is not product-authorized and is not mix-freeze confirmation. See `docs/cycle8/carrier-research.md`. + ## Cross-detector generalization PASS. Mix-freeze confirmation used GPT-2 / Hugging Face SynthID Weighted Mean at threshold `0.5570987654320988` and remains **0/192**. diff --git a/docs/cycle8/seed-ledger.md b/docs/cycle8/seed-ledger.md index efa580d1..60e4fc52 100644 --- a/docs/cycle8/seed-ledger.md +++ b/docs/cycle8/seed-ledger.md @@ -4,7 +4,7 @@ Current ledger identity: `cycle8-seed-ledger-v2` (`fuckmark/cycle8/ledger.py`). The PR #97 snapshot `cycle8-seed-ledger-v1` remains frozen under `specs/cycle8/fuckmark-cycle8-seed-ledger-v1.json`. Do not rewrite it. -Seeds `890000`, `900000`, `910000`, and `920000` were assigned **before** any Cycle 8 text generation or detector look. Scale seeds `930000`, `940000`, and `950000` and their topics were reserved in `global-seed-ledger-v1` **before** any scale generation. Density seed `960000` and topic `carrier density follow-up` were reserved in `global-seed-ledger-v1` **before** density generation. Letter seed `970000` and topic `intra-word carrier follow-up` were reserved in `global-seed-ledger-v1` **before** letter generation. Benchmark seeds `980000` and `990000` and topics `letter carrier system benchmark` and `letter carrier benchmark replication` were reserved in `global-seed-ledger-v1` **before** benchmark generation. Margin seeds `1000000` and `1010000` were reserved before letter-space generation. Mix seeds `1020000` and `1030000` were reserved before letter-mix generation. Mix scale seeds `1040000` and `1050000` were reserved before mix scale generation. DeepMind mix transfer seeds `1060000`, `1070000`, and `1080000` were reserved before DeepMind transfer generation. Second-model mix transfer seed `1090000` was reserved before second-model transfer generation. +Seeds `890000`, `900000`, `910000`, and `920000` were assigned **before** any Cycle 8 text generation or detector look. Scale seeds `930000`, `940000`, and `950000` and their topics were reserved in `global-seed-ledger-v1` **before** any scale generation. Density seed `960000` and topic `carrier density follow-up` were reserved in `global-seed-ledger-v1` **before** density generation. Letter seed `970000` and topic `intra-word carrier follow-up` were reserved in `global-seed-ledger-v1` **before** letter generation. Benchmark seeds `980000` and `990000` and topics `letter carrier system benchmark` and `letter carrier benchmark replication` were reserved in `global-seed-ledger-v1` **before** benchmark generation. Margin seeds `1000000` and `1010000` were reserved before letter-space generation. Mix seeds `1020000` and `1030000` were reserved before letter-mix generation. Mix scale seeds `1040000` and `1050000` were reserved before mix scale generation. DeepMind mix transfer seeds `1060000`, `1070000`, and `1080000` were reserved before DeepMind transfer generation. Second-model mix transfer seed `1090000` was reserved before second-model transfer generation. Control-mix exploratory seed `1100000` was reserved before control-mix generation. See also `docs/seeds.md`. @@ -48,5 +48,6 @@ See also `docs/seeds.md`. | DeepMind transfer replication | 1070000 | deepmind mix transfer replication | reserved before generation; identity 63/64, mix 0/64; combined mix 0/192; HYPOTHESIS; not mix-freeze confirmation | | DeepMind transfer holdout | 1080000 | deepmind mix transfer holdout | reserved before generation; identity 63/64, mix 0/64; combined mix 0/192; HYPOTHESIS; not mix-freeze confirmation | | Second-model transfer | 1090000 | second model mix transfer | reserved before generation; DistilGPT2 n=16 HYPOTHESIS: identity 16/16, mix 0/16; not confirmation-scale | +| Control-mix exploratory | 1100000 | control mix sanitizer exploratory | reserved before generation; independent H12 control-mix n=16: identity 15/16, control-mix 0/16; seen 920000 diagnostic is not this corpus | Do not promote any of these seeds into confirmation after seeing scores. diff --git a/docs/seeds.md b/docs/seeds.md index 41c4ecc7..dbdd9948 100644 --- a/docs/seeds.md +++ b/docs/seeds.md @@ -18,6 +18,7 @@ This ledger is the cross-cycle source of truth for seed reuse. A seed must be re - Seeds `1040000` and `1050000` are reserved for letter-mix scale follow-up. Combined with `1020000`+`1030000`, mix is 0/256. That 0/256 is development scale, not confirmation. - Seeds `1060000`, `1070000`, and `1080000` are reserved for independent DeepMind synthid-text 30-key mix transfer. Combined mix is 0/192. That transfer is HYPOTHESIS, not mix-freeze confirmation. - Seed `1090000` is reserved for DistilGPT2 second-model mix transfer. n=16 is HYPOTHESIS, not confirmation-scale. +- Seed `1100000` is reserved for independent H12 control-mix sanitizer exploratory n=16. Generated and scored: identity WM 15/16, control-mix WM 0/16. Do not treat the seen `920000` diagnostic as this corpus. Not confirmation. ## Cycle 8 scale reservation (before generation) @@ -43,6 +44,7 @@ This ledger is the cross-cycle source of truth for seed reuse. A seed must be re | 1070000 | DeepMind transfer replication | `deepmind mix transfer replication` | reserved before generation; identity 63/64, mix 0/64; combined mix 0/192; HYPOTHESIS | | 1080000 | DeepMind transfer holdout | `deepmind mix transfer holdout` | reserved before generation; identity 63/64, mix 0/64; combined mix 0/192; HYPOTHESIS | | 1090000 | second-model transfer | `second model mix transfer` | reserved before generation; DistilGPT2 n=16 HYPOTHESIS identity 16/16 mix 0/16; not confirmation-scale | +| 1100000 | control-mix exploratory | `control mix sanitizer exploratory` | reserved before generation; independent H12 Cc control-mix n=16: identity 15/16, control-mix 0/16; seen 920000 diagnostic is not this corpus | ## Historical v1 Cycle 8 ledger diff --git a/evidence/cycle8-control-mix-1100000-n16-2026-08-27/README.md b/evidence/cycle8-control-mix-1100000-n16-2026-08-27/README.md new file mode 100644 index 00000000..edd1f4ff --- /dev/null +++ b/evidence/cycle8-control-mix-1100000-n16-2026-08-27/README.md @@ -0,0 +1,13 @@ +# Cycle 8 control-mix exploratory (seed 1100000) + +Status: `HYPOTHESIS`. Reserved before generation. Independent corpus. Not confirmation. Not mix-freeze confirmation. Not product authorization. + +This generates ASCII 64-token GPT-2 pairs with Google `synthid_text.SynthIDGPT2LMHeadModel` using DeepMind `DEFAULT_WATERMARKING_CONFIG` (30 keys) and scores official `synthid_text.logits_processing.SynthIDLogitsProcessor` weighted mean at frozen threshold `0.5570987654320988`. + +Apply path is `cc-del-c1-letter-alt-v1` (H12). Residual control-mix text is not stored in the scorecard. Source texts are in `samples.json`. + +n=16. Identity WM **15/16**. Control-mix WM **0/16**. Identity UW **0/16**. Control-mix UW **0/16**. Control-mix WM max `0.5058514183090623`. Visible pass. Required sanitizers keep every control-mix row. + +The identity miss is one structured-instructional watermarked row at `0.5568728032677877`, just under the frozen threshold. Do not rewrite 15/16 as 16/16. + +Seen diagnostic `920000` is not this corpus. Mix confirmation 0/192 is not transferred. Mix publishability sanitizer stays FAIL. Public CLI stays empty. Do not generate `950000`. diff --git a/evidence/cycle8-control-mix-1100000-n16-2026-08-27/SHA256SUMS.txt b/evidence/cycle8-control-mix-1100000-n16-2026-08-27/SHA256SUMS.txt new file mode 100644 index 00000000..459b0915 --- /dev/null +++ b/evidence/cycle8-control-mix-1100000-n16-2026-08-27/SHA256SUMS.txt @@ -0,0 +1,3 @@ +8bf49d21931cd07e67f0e05a697a44fa4e830dc55bf25ab3c774e23061eb1105 README.md +41ff3065f56e25d3e3523d8e61423f515c4dba8aa4e3dfcdb79bfbdda58d7b10 samples.json +2ae499104aaa48061b3f7b0abad8908a91ad827b5cbaafc707db90f559be743c scorecard.json diff --git a/evidence/cycle8-control-mix-1100000-n16-2026-08-27/samples.json b/evidence/cycle8-control-mix-1100000-n16-2026-08-27/samples.json new file mode 100644 index 00000000..e3804ab0 --- /dev/null +++ b/evidence/cycle8-control-mix-1100000-n16-2026-08-27/samples.json @@ -0,0 +1 @@ +{"pair_count":16,"samples":[{"domain":"general_explanatory","label":"unwatermarked","pair_index":0,"sample_id":"cycle8-1100000-00-general_explanatory-unwatermarked","seed":1100001,"text":" Don't use the word \"control\" as a synonym for \"mechanical\". Keep the terms \"control\" and \"mechanical\" in mind when dealing with control mixing. The term \"control\" comes from the fact that the \"mechanical\" is not a physical physical thing, but rather a","text_sha256":"3e7a676c0cc45c21774b31440cfc279c6de2eac33df9618d39fb411cb2bd4f3b"},{"domain":"general_explanatory","label":"watermarked","pair_index":0,"sample_id":"cycle8-1100000-00-general_explanatory-watermarked","seed":1100001,"text":" You'll find it much more fun.\n\nWhen you're in a situation, you feel like you can do your job. That's where the whole concept of what a control mix is comes from.\n\nFor example, you can test your control mix, but you don't want to make the mix too harsh","text_sha256":"ce5183c67a407f39db721ae0b5a5e0a34af1169cbf9423cf2104e1fa5b27c99e"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":1,"sample_id":"cycle8-1100000-01-technical_explanation-unwatermarked","seed":1100032,"text":" The tests are then repeated until each test is successful. When the results of the validation check are positive, the control mix sanitizer should be added to the software. The program should be run and run without any data from the control mix sanitizer. This makes it possible to generate and analyze the data from a","text_sha256":"a8ed6ec5dbcfbfc5a73fbf16672870c39fd22a305a0c2f4ef79d596d909efa1a"},{"domain":"technical_explanation","label":"watermarked","pair_index":1,"sample_id":"cycle8-1100000-01-technical_explanation-watermarked","seed":1100032,"text":" (A) It should be possible to control the amount of chemical release to the environment. (B) It is possible to control the amount of damage. (A) It is possible to control the amount of chemical damage. (B) It is possible to control the amount of chemical damage. (C) It is","text_sha256":"cf9bdf06806f49f1a799b317a03b2d62ec4ead0299b66f85d5b91de82c76bae1"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":2,"sample_id":"cycle8-1100000-02-conversational_prose-unwatermarked","seed":1100066,"text":"\n\nThe best way to deal with this is to ask the question: \"Does this match up to your expectations?\"\n\nThis is a great idea because this approach allows you to deal with a lot of things that you might not even be aware of. The questions you ask will give you the answers you need to","text_sha256":"fdf71316aeb8d064f40ae126ba675815013656145b45ebcb765761306e9805f8"},{"domain":"conversational_prose","label":"watermarked","pair_index":2,"sample_id":"cycle8-1100000-02-conversational_prose-watermarked","seed":1100066,"text":" (There are few instances of non-natural dialogue where that is possible. We only hear the meaning of a sentence when it's in its first sentence.)\n\nWhen you're using the \"contain or remove from context\" approach, you don't want to make the word \"contain\" or \"remove\"","text_sha256":"547572119d87902a0df032e650fb1496d17564eb24ad1b02d3e0f149192a96ec"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":3,"sample_id":"cycle8-1100000-03-structured_instructional-unwatermarked","seed":1100099,"text":"\n\nThe first step is to get a feeling for what this test says about your brain's response to this input. Take an hour or two to read the test and you will begin to see the effect.\n\nYou will notice that all of your input information appears to be very clear and logical.\n\nOnce","text_sha256":"c745220434e1b491ce501c0e9e5b0784ae0aed1144b76654a90c3f11a6e8a106"},{"domain":"structured_instructional","label":"watermarked","pair_index":3,"sample_id":"cycle8-1100000-03-structured_instructional-watermarked","seed":1100099,"text":" (There are no steps.) Be careful about turning the steps with the wrong information or the wrong way. If you can't, try using a single step. The more possible steps you can count, the more accurate the control mix. The more steps you can count, the more accurate the control mix. The more steps","text_sha256":"8eeb1475c93cf1e89cc49d765e2133f0dc2161c3014bd613b7ba944b7da7074d"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":4,"sample_id":"cycle8-1100000-04-general_explanatory-unwatermarked","seed":1100128,"text":"\n\n5. If your project is a \"single-cell\" project, ask for the exact same data set that everyone else in the team has.\n\n6. If you don't want to work on your own project and need to rely on your colleagues, ask for the same data set that everyone else in","text_sha256":"f765d7a4db65862f099e5705ab511ba5f29dc931198a019fda0188e1f12fc218"},{"domain":"general_explanatory","label":"watermarked","pair_index":4,"sample_id":"cycle8-1100000-04-general_explanatory-watermarked","seed":1100128,"text":" (There are few instances of this, especially in scientific articles, where we say \"no\", without explaining why we do so.) Be clear about what is being said; you must never make it sound like you know what you're talking about.\n\n1.4.5 The \"No\" of the Control Mix","text_sha256":"38949466624b9b17928684d19d02d167123509d423ef9637a26d5a2a44c2a414"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":5,"sample_id":"cycle8-1100000-05-technical_explanation-unwatermarked","seed":1100160,"text":" The system must be safe to use, as a single failure mode is not sufficient to prevent another failure mode.\n\nA single failure mode is not sufficient to prevent another failure mode. Identify the design principles, as detailed in the next section.\n\nIdentify the design principles, as detailed in the next section","text_sha256":"b21913db88c135770ccfb385b660ef9b55f915ea047a103cc30315bc194d6e87"},{"domain":"technical_explanation","label":"watermarked","pair_index":5,"sample_id":"cycle8-1100000-05-technical_explanation-watermarked","seed":1100160,"text":" Then test it with a series of failures and validation checks. Try to find a few more, if possible.\n\n1.1 Control Mix\n\nControl Mix is a set of control mixers with a common interface and a common control set.\n\nThe original control pack was called \"Control Mix\" and was","text_sha256":"180cb7d6e6a473d03d4401af6789cbf115b89da5fd0dcdf64712caed22ed1f65"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":6,"sample_id":"cycle8-1100000-06-conversational_prose-unwatermarked","seed":1100193,"text":"\n\nWhy do you think that using natural conversational prose can help you understand others?\n\nIf you have asked, \"What do you do when you're not conversing with people?\" it is because natural conversational prose is the best way to connect people, to connect your sense of humor and your sense of","text_sha256":"7de342b87b0854abe596dd1bba599ed0a2cf26539828a2203907f880f579883b"},{"domain":"conversational_prose","label":"watermarked","pair_index":6,"sample_id":"cycle8-1100000-06-conversational_prose-watermarked","seed":1100193,"text":" In this case, you may use natural or \"naturalized\" conversation. It may be a question of \"how\" or \"when.\" The context, or context of any talk, is not the relevant question.\n\nFor example, the following will explain how to learn how to answer questions about what is and is","text_sha256":"5d81d213718557915f57de5d9f39399253e01f6671e4b5b6796e1998df2c862a"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":7,"sample_id":"cycle8-1100000-07-structured_instructional-unwatermarked","seed":1100224,"text":" In addition, you can also apply to a program that requires you to make a single step.\n\nThe two main tasks are to identify the following three conditions: (a) that the program should be simple, (b) that you can't make a single step, and (c) that you can't apply","text_sha256":"2e139e44aeb2fca765a2ff0293ad6076b784cb59df6960beb85700e0c80102df"},{"domain":"structured_instructional","label":"watermarked","pair_index":7,"sample_id":"cycle8-1100000-07-structured_instructional-watermarked","seed":1100224,"text":" Let the experiment run for an hour.\n\nSolutions\n\nTricks\n\nDon't forget to add to the sample for the next step. Next time you go to the test lab you will have a sample of a new formulation in your hands. Now let's use a new formulation to test our control mix","text_sha256":"bb4275c20376e56d3adb8171690ac46f7c39193bc61c857b1b556bdd27101140"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":8,"sample_id":"cycle8-1100000-08-general_explanatory-unwatermarked","seed":1100256,"text":" Include an open discussion of the subject in the discussion thread for a comment.\n\nYou'll need an HTML5 capable browser to see this content. Play Replay with sound Play with\n\nsound 00:00 00:00\n\nDealing with the Science\n\nScientific communication has always been about understanding how things","text_sha256":"a6e98c2f9ff02882674109c2700207140c0908b10115a1a007c879e36f57c110"},{"domain":"general_explanatory","label":"watermarked","pair_index":8,"sample_id":"cycle8-1100000-08-general_explanatory-watermarked","seed":1100256,"text":" (There are few instances in which a single sentence is enough to explain the whole thing.)\n\n2. How do we know what a controlled compound does, and how does a controlled compound behave?\n\nContrary to commonly held beliefs, there is no single molecule that is responsible for the effects of one compound.","text_sha256":"5db0a53256f417a6b17f524506b2c46b810e46b999b158d452e7faddc7443b73"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":9,"sample_id":"cycle8-1100000-09-technical_explanation-unwatermarked","seed":1100288,"text":" Explain what is not allowed to be modified (e.g., no \"validation check\"), and where this might be applied (e.g., \"use of the same sanitizer in all other contexts\") to achieve the same result. Implement a validation check that checks the sanitizer's correctness. If the","text_sha256":"aece24a5924782f480fcfd40356c69a510946b7193704cbad00c3689a39a151e"},{"domain":"technical_explanation","label":"watermarked","pair_index":9,"sample_id":"cycle8-1100000-09-technical_explanation-watermarked","seed":1100288,"text":" Then test it with a few tests and see if the result is more successful.\n\nTest case 5: No validation check\n\nLet's start this example by taking a look at a test case where the only validation check allowed is \"Use C# 4.4 and try this on your app:\"\n\nThe","text_sha256":"cd34f989e40462dd42ac8c49a80145dd3d2896a5796be18f88e765aafc9ce826"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":10,"sample_id":"cycle8-1100000-10-conversational_prose-unwatermarked","seed":1100321,"text":"\n\n\nI just made the mistake of being too harsh on the words \"I made my decision, and I made my choice.\"\n\n\n\"I'm a guy, and a girl, but not for a long time.\"\n\n\n\"The girl who made my decision, the one who made my choice, the one","text_sha256":"e5f5fbc57c39e4c95590b25a22418b2f2e04822154521e2d76d3ef0dfdd03ede"},{"domain":"conversational_prose","label":"watermarked","pair_index":10,"sample_id":"cycle8-1100000-10-conversational_prose-watermarked","seed":1100321,"text":" A simple example: \"You know, I've had my car stolen. It's really weird, because I've been working at the plant for so long. I just have to use it all a little better. I just hope it doesn't get stolen. I just want to be honest with you.\"\n\nYou","text_sha256":"7c9f41f019a5d105be1cf7966e3ace1fa6bbf93ad788209dc55d080f45e91b28"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":11,"sample_id":"cycle8-1100000-11-structured_instructional-unwatermarked","seed":1100352,"text":" You will also be able to apply the control mix sanitizer as a \"waste\" and a \"benefit,\" so you will not be confused with the \"benefit\" you are going to get if you use it.\n\nAs you are performing the steps, you will be able to see the exact steps you","text_sha256":"fcdca95f001fa370b9f5d65687ac0529bd4b00488ac5c6bc4caf009ab0406c54"},{"domain":"structured_instructional","label":"watermarked","pair_index":11,"sample_id":"cycle8-1100000-11-structured_instructional-watermarked","seed":1100352,"text":" You'll learn how to write a three-step instruction for applying control mix sanitizer exploratory in an experiment. Use complete sentences and keep each step concrete.\n\n5. Use only one step in your instructions. Use only one step in your instructions. Use only one step in your instructions. Use only one","text_sha256":"d5f1c61ba5488b2e641268d4a32f6da89e86c5de63d5f9d6c2e4cfe0482b24c1"},{"domain":"general_explanatory","label":"unwatermarked","pair_index":12,"sample_id":"cycle8-1100000-12-general_explanatory-unwatermarked","seed":1100384,"text":"\n\n2. If you're just starting out in the field and don't know how to write your own code, you probably can't write anything in C that you don't know about.\n\n3. If you're starting out in the field but don't know how to write your own code, you probably","text_sha256":"263583b8f6435b0062dc0ae9ca255d827742b910e943fee6ce6c902e778c462f"},{"domain":"general_explanatory","label":"watermarked","pair_index":12,"sample_id":"cycle8-1100000-12-general_explanatory-watermarked","seed":1100384,"text":" Let us first discuss the difference between the two.\n\nControl Mix Sanitizer\n\nContrast this to the human condition where all the control mix is either from a human or a controlled mix. Control mix sanitizer is a neutral mixture containing at least two \"cleaner\" substances.\n\nYou can","text_sha256":"e8ca966bc3949f9a487f31fe61972574dd63872d7135d1a3fcc80dfe0d139bdf"},{"domain":"technical_explanation","label":"unwatermarked","pair_index":13,"sample_id":"cycle8-1100000-13-technical_explanation-unwatermarked","seed":1100416,"text":"\n\nDefine the main idea, one failure mode, and one validation check. Assign a control to the data. If you have a data set, the control should be called by the data. In this case, the control is called by the data.\n\nIf you have a data set, the control","text_sha256":"5151869621ec0ae0cf198b2b97bb0c521d67499d429d13f325f694ad194cc9b1"},{"domain":"technical_explanation","label":"watermarked","pair_index":13,"sample_id":"cycle8-1100000-13-technical_explanation-watermarked","seed":1100416,"text":" Let us first find out how to find and validate all the validation checks and checkboxes necessary to get a \"rule\" in development. First we will use a few samples.\n\nOne example: the \"failure mode\" is the validation checkbox: if the checkbox is checked in a single line, it","text_sha256":"f17c4bde6728c479df95981175c0e9c91a90ee7f45d7218484d899e200b93fda"},{"domain":"conversational_prose","label":"unwatermarked","pair_index":14,"sample_id":"cycle8-1100000-14-conversational_prose-unwatermarked","seed":1100448,"text":"\n\n2. Use a single word or phrase to explain something to you. Use multiple words or phrases that give context.\n\n3. Use a single word or phrase that you can remember with difficulty and without difficulty.\n\n4. Use short, concise sentences that are understandable.\n\n5. Use short","text_sha256":"808770851263e6a1f9de10d991c0229587fef01f9b28c4e176b89e1e415f6d5a"},{"domain":"conversational_prose","label":"watermarked","pair_index":14,"sample_id":"cycle8-1100000-14-conversational_prose-watermarked","seed":1100448,"text":" (That's why I don't give out exact names of the people I'm using for testing.) Never use the word \"control\" as a name of a specific purpose. If there's a purpose, it seems to me that it has a very specific meaning.\n\nNote: The \"control\" statement is a","text_sha256":"0c67e97514a6739ff784293cd14943ad277000b92ee5e92fa044c125e5078974"},{"domain":"structured_instructional","label":"unwatermarked","pair_index":15,"sample_id":"cycle8-1100000-15-structured_instructional-unwatermarked","seed":1100480,"text":"\n\nFigure 3.\n\nFigure 3: Control Mix Sanitizer Experiment.\n\nWhat is an experiment?\n\nAn experiment is a formalized experiment that is not as straightforward as a regular test. This is true for a lot of different tests.\n\nThe first example I used was the experiment on","text_sha256":"5f6ee80445d38be0f5cfa601e15e1a69d082c4e3b20df37854b8773776377e7b"},{"domain":"structured_instructional","label":"watermarked","pair_index":15,"sample_id":"cycle8-1100000-15-structured_instructional-watermarked","seed":1100480,"text":" (There are no steps.) If the experiment is too long, let the experiment stay on. If the experiment is too long, let the experiment stay on. The following is an example of the following two experiments. The first is a three-step step experiment. The second is a two-step step experiment. The","text_sha256":"506c494ff364ccc9d39f3bd0d238b8cd3d1625725de1d6b9ede46b7d41684ef5"}],"seed_base":1100000,"topic":"control mix sanitizer exploratory"} diff --git a/evidence/cycle8-control-mix-1100000-n16-2026-08-27/scorecard.json b/evidence/cycle8-control-mix-1100000-n16-2026-08-27/scorecard.json new file mode 100644 index 00000000..1477c965 --- /dev/null +++ b/evidence/cycle8-control-mix-1100000-n16-2026-08-27/scorecard.json @@ -0,0 +1 @@ +{"algorithm_version":"cycle8-control-mix-exploratory-v1","confirmation_rewritten":false,"detector":"synthid_text.logits_processing.SynthIDLogitsProcessor","do_not_generate_950000":true,"effectiveness":{"control_mix_uw":{"detected":0,"n":16,"rate":"0/16"},"control_mix_wm":{"detected":0,"n":16,"rate":"0/16"},"control_mix_wm_max_score":0.5058514183090623,"identity_uw":{"detected":0,"n":16,"rate":"0/16"},"identity_wm":{"detected":15,"n":16,"rate":"15/16"}},"evidence_label":"HYPOTHESIS","generation":"synthid_text.SynthIDGPT2LMHeadModel","independent_generation":true,"keys_depth":30,"mix_freeze_confirmation":false,"mix_gate_not_rewritten":true,"model":"openai-community/gpt2","pair_count":16,"product_authorized":false,"required_sanitizers_keep":true,"rows":[{"control_mix":{"detected":false,"n_tokens":587,"score":0.4986451915108277,"text_sha256":"e0f2adc0dcbc0d450f9f3dade5cf3040abdf8c8b2c0f9ed97ce040d930c199bd"},"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5080166455847037},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-00-general_explanatory-unwatermarked","source_sha256":"3e7a676c0cc45c21774b31440cfc279c6de2eac33df9618d39fb411cb2bd4f3b","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":578,"score":0.49848349894157257,"text_sha256":"1d7ff267e1bac1867ceaf67c3fdf6f7c96aebf3b0ddaf2ec775cbe284861fad0"},"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6070985719261582},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-00-general_explanatory-watermarked","source_sha256":"ce5183c67a407f39db721ae0b5a5e0a34af1169cbf9423cf2104e1fa5b27c99e","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":592,"score":0.49727052843985997,"text_sha256":"9c68f1f8201427b4384ed8935a7af5f73275f7c2dfc200cded5ecbeee9164422"},"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5012337531393793},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-01-technical_explanation-unwatermarked","source_sha256":"a8ed6ec5dbcfbfc5a73fbf16672870c39fd22a305a0c2f4ef79d596d909efa1a","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":590,"score":0.49836250705815927,"text_sha256":"0d209f80a8fa39e768d36b1a20dc8dc6bb2eeead04421882e90065115471d52d"},"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.5824915824915826},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-01-technical_explanation-watermarked","source_sha256":"cf9bdf06806f49f1a799b317a03b2d62ec4ead0299b66f85d5b91de82c76bae1","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":585,"score":0.501321189632878,"text_sha256":"0be3b47194b1f9405207d184b6e1fb9a0e73490aea02a88ad42ec031296bd858"},"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.4987948450017416},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-02-conversational_prose-unwatermarked","source_sha256":"fdf71316aeb8d064f40ae126ba675815013656145b45ebcb765761306e9805f8","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":590,"score":0.49007081886616144,"text_sha256":"f0b17e59a7041e6d57e8fbe5b52a08e74cd5d3ec3091ee68ef35be7b54f4e840"},"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6122117729014281},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-02-conversational_prose-watermarked","source_sha256":"547572119d87902a0df032e650fb1496d17564eb24ad1b02d3e0f149192a96ec","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":585,"score":0.4998939325064398,"text_sha256":"36f88cefd96ff2eb418058ada811da9a41fda63d09e515a2e0608ec7feff7519"},"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5160849878091258},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-03-structured_instructional-unwatermarked","source_sha256":"c745220434e1b491ce501c0e9e5b0784ae0aed1144b76654a90c3f11a6e8a106","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":589,"score":0.49957543750647204,"text_sha256":"2d572641cb4b39a648b3da397ad111cb77220d2b514eea154d434c8cf23aa8c8"},"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6177553152922611},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-03-structured_instructional-watermarked","source_sha256":"8eeb1475c93cf1e89cc49d765e2133f0dc2161c3014bd613b7ba944b7da7074d","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":573,"score":0.4943455410092222,"text_sha256":"1b805f5f930bf231686063bf767134d679edf63fe0a70d316d8257f73cd11707"},"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.49742498880429914},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-04-general_explanatory-unwatermarked","source_sha256":"f765d7a4db65862f099e5705ab511ba5f29dc931198a019fda0188e1f12fc218","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":590,"score":0.4989160722668968,"text_sha256":"c4c0a78a6b6e9202b582d049f4314b76036e49c93b6f270126f870b571b8c6c8"},"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.621664925113201},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-04-general_explanatory-watermarked","source_sha256":"38949466624b9b17928684d19d02d167123509d423ef9637a26d5a2a44c2a414","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":592,"score":0.4943512201118692,"text_sha256":"a16013a6fb08d967bd515143e7e58da1ebfdcd2f41d1508a1cff378bafaa662c"},"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.487603305785124},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-05-technical_explanation-unwatermarked","source_sha256":"b21913db88c135770ccfb385b660ef9b55f915ea047a103cc30315bc194d6e87","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":590,"score":0.5058514183090623,"text_sha256":"4f99f4cce524e9d045f42468df98cb942dfefce6973a9ed54adfe6c92e1bd9c4"},"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6169139672587949},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-05-technical_explanation-watermarked","source_sha256":"180cb7d6e6a473d03d4401af6789cbf115b89da5fd0dcdf64712caed22ed1f65","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":591,"score":0.5008414855228195,"text_sha256":"1b27793f30b817f41f28e8fe9ef3255b26d400fcc9d217578207afe01d746e65"},"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.4748313054566708},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-06-conversational_prose-unwatermarked","source_sha256":"7de342b87b0854abe596dd1bba599ed0a2cf26539828a2203907f880f579883b","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":590,"score":0.4982804418249487,"text_sha256":"a4fa541e21a23244e397ef088e18041c022b754f800febf54d1b917d07bb6c2a"},"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.633075583420411},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-06-conversational_prose-watermarked","source_sha256":"5d81d213718557915f57de5d9f39399253e01f6671e4b5b6796e1998df2c862a","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":587,"score":0.49001430811933244,"text_sha256":"0502e2932df4afdc2a1303dd0b924817ccab985228c25b53e4c9f07444c1b5e3"},"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.4793488423252489},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-07-structured_instructional-unwatermarked","source_sha256":"2e139e44aeb2fca765a2ff0293ad6076b784cb59df6960beb85700e0c80102df","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":583,"score":0.49035844692566893,"text_sha256":"728d6102455bbd9239d0f1dbb1651b86493abfe78f9e57b8df690169166a2f31"},"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6139393939393939},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-07-structured_instructional-watermarked","source_sha256":"bb4275c20376e56d3adb8171690ac46f7c39193bc61c857b1b556bdd27101140","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":595,"score":0.5021164996824227,"text_sha256":"e424e9b7bac1180262588015de431462b396b41c8af5897c09affb78f1820bde"},"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4814733542319749},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-08-general_explanatory-unwatermarked","source_sha256":"a6e98c2f9ff02882674109c2700207140c0908b10115a1a007c879e36f57c110","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":593,"score":0.5013179873235247,"text_sha256":"da6bc801f2c922549d0ff529444f89d7896fd15ddb026c37caebed26603b8740"},"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.5887251828631139},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-08-general_explanatory-watermarked","source_sha256":"5db0a53256f417a6b17f524506b2c46b810e46b999b158d452e7faddc7443b73","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":587,"score":0.49877950396459525,"text_sha256":"26f4d59a258e975d5bb37afcf7367565982f28e8ad7fabefc1ba199d367b272c"},"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.49476092674665806},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-09-technical_explanation-unwatermarked","source_sha256":"aece24a5924782f480fcfd40356c69a510946b7193704cbad00c3689a39a151e","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":571,"score":0.49430211526046725,"text_sha256":"cdb63a891acad725af938ecb750b39175742dd48dce39d1cb674ebbbad552289"},"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6136607453848834},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-09-technical_explanation-watermarked","source_sha256":"cd34f989e40462dd42ac8c49a80145dd3d2896a5796be18f88e765aafc9ce826","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":486,"score":0.5046253678412436,"text_sha256":"2c2bb7785a769ac7c20ce701c171f7ebd62cc1b3935ef1c724279173114c1427"},"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.49213778690592014},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-10-conversational_prose-unwatermarked","source_sha256":"e5f5fbc57c39e4c95590b25a22418b2f2e04822154521e2d76d3ef0dfdd03ede","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":546,"score":0.5010710553814003,"text_sha256":"72112c1284ebd677d19ffd7f1cd2789a44e442bb1799e3afa3794a18d39a8099"},"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6132706374085685},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-10-conversational_prose-watermarked","source_sha256":"7c9f41f019a5d105be1cf7966e3ace1fa6bbf93ad788209dc55d080f45e91b28","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":565,"score":0.4957497535817072,"text_sha256":"ab1512f6be65c5227088082b1eefbe6040d98c43d124cc4660ef45e036d7f6e3"},"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.49935214211076284},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-11-structured_instructional-unwatermarked","source_sha256":"fcdca95f001fa370b9f5d65687ac0529bd4b00488ac5c6bc4caf009ab0406c54","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":594,"score":0.49765835283076665,"text_sha256":"51245aac7c6f78e770309a08109f420012b22867990f03fd39afd18c00e70177"},"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5568728032677877},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-11-structured_instructional-watermarked","source_sha256":"d5f1c61ba5488b2e641268d4a32f6da89e86c5de63d5f9d6c2e4cfe0482b24c1","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":569,"score":0.49841803973890475,"text_sha256":"69f691cfef1efbf1500a717e08ae7a4a391abec7c76eeef23b39bbdc5927e1f0"},"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.48803446143347623},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-12-general_explanatory-unwatermarked","source_sha256":"263583b8f6435b0062dc0ae9ca255d827742b910e943fee6ce6c902e778c462f","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":590,"score":0.5010263075864422,"text_sha256":"11c4428add5271c8d19c96250b87c9177fe3f48da71d7a8e464cfbbc7cb10fae"},"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6046812957157786},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-12-general_explanatory-watermarked","source_sha256":"e8ca966bc3949f9a487f31fe61972574dd63872d7135d1a3fcc80dfe0d139bdf","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":574,"score":0.49967956703886346,"text_sha256":"064efcb5d0b2daca1a55d144018e286be131146f4fc5c26b3ad20372b22efa2b"},"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.48959325051279073},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-13-technical_explanation-unwatermarked","source_sha256":"5151869621ec0ae0cf198b2b97bb0c521d67499d429d13f325f694ad194cc9b1","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":589,"score":0.49569264344681063,"text_sha256":"b42da671420a81897ce205babc61a640b52afab0f6dc2ca23160085dab805def"},"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6283664228491815},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-13-technical_explanation-watermarked","source_sha256":"f17c4bde6728c479df95981175c0e9c91a90ee7f45d7218484d899e200b93fda","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":596,"score":0.5030840090366193,"text_sha256":"2d7ba9045eca61ba50e4177380b6fde68e784c924c5136dd72f328bc8dde9dcf"},"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5003433348260935},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-14-conversational_prose-unwatermarked","source_sha256":"808770851263e6a1f9de10d991c0229587fef01f9b28c4e176b89e1e415f6d5a","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":571,"score":0.4943158069725468,"text_sha256":"850d429c5a4f06952a63ca9fb9c4fb00f97a10e6857332efce2316c18a1ed5cd"},"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6089237199582027},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-14-conversational_prose-watermarked","source_sha256":"0c67e97514a6739ff784293cd14943ad277000b92ee5e92fa044c125e5078974","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":591,"score":0.49392765529172467,"text_sha256":"c3c41c0d9261da365bb76d0eec031123bc239b6b5c65179ffb66d0e9a311d0b0"},"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.5109221968368667},"label":"unwatermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-15-structured_instructional-unwatermarked","source_sha256":"5f6ee80445d38be0f5cfa601e15e1a69d082c4e3b20df37854b8773776377e7b","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":590,"score":0.49877028397565926,"text_sha256":"f8acb2d44b988571e69ec3750231b46fcf6b0c09d1ce8422b586b882b8d09d35"},"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6022422500870778},"label":"watermarked","required_sanitizers_keep":true,"sample_id":"cycle8-1100000-15-structured_instructional-watermarked","source_sha256":"506c494ff364ccc9d39f3bd0d238b8cd3d1625725de1d6b9ede46b7d41684ef5","visible_ok":true}],"scorecard_hash":"8aadf220a3a69e7f88689e6b10b21011f0b4ee66d68c1dd46627f5ad214554d0","second_configuration":true,"second_model":false,"seed_base":1100000,"seen_corpus":false,"threshold":0.5570987654320988,"topic":"control mix sanitizer exploratory","visible_pass":true} diff --git a/evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/README.md b/evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/README.md new file mode 100644 index 00000000..93aee32c --- /dev/null +++ b/evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/README.md @@ -0,0 +1,22 @@ +# Cycle 8 control-mix diagnostic (seen seed 920000) + +Status: `HYPOTHESIS`. Seen corpus. Not independent generation. Not confirmation. Not mix-freeze confirmation. Not product authorization. + +This rescores the already generated DeepMind 30-key GPT-2 n=16 texts from seed `920000` after applying `cc-del-c1-letter-alt-v1` (H12). Residual control-mix text is not stored. Source texts remain in `evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/samples.json`. + +Detection used official `synthid_text.logits_processing.SynthIDLogitsProcessor.compute_g_values` with weighted mean at the frozen Cycle 6 threshold `0.5570987654320988`. Identity and frozen mix were rescored on the same rows as a scorer check. + +Required sanitizers (Mn-strip, default-ignorable-strip, Cf-strip, NFC, NFKC, NFKD, frozen Cycle 6/7 variants, and the combination) kept every control-mix string. Visible projection passed on every row. Mix publishability sanitizer stays FAIL because mix still uses U+034F / U+FE00. + +## Result + +| Arm | Detected | +| --- | ---: | +| Identity WM | **16/16** | +| Control-mix WM | **0/16** | +| Mix WM | **0/16** | +| Identity UW | **0/16** | +| Control-mix UW | **0/16** | +| Mix UW | **0/16** | + +Control-mix WM max score `0.505336937084192`. Do not treat this seen n=16 look as confirmation. Do not generate `950000`. Do not retune mix sites. Public CLI stays empty. diff --git a/evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/SHA256SUMS.txt b/evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/SHA256SUMS.txt new file mode 100644 index 00000000..4a5d2544 --- /dev/null +++ b/evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/SHA256SUMS.txt @@ -0,0 +1,3 @@ +ea69c9b1dadbe0c7b366d018305cee4e6f1aace86622250512d30ffafecd156b README.md +505ffdf4697a75844aee392cc1716d7023e45f83a0b70f6793b1673587283b2c scorecard.json +147ee4dc6235e5c39648ab17647e6ed4d1446fcb20997823059a4cdc0151b218 summary.json diff --git a/evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/scorecard.json b/evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/scorecard.json new file mode 100644 index 00000000..ebcff109 --- /dev/null +++ b/evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/scorecard.json @@ -0,0 +1 @@ +{"algorithm_version":"cycle8-control-mix-diagnostic-v1","confirmation_rewritten":false,"detector":"synthid_text.logits_processing.SynthIDLogitsProcessor","do_not_generate_950000":true,"effectiveness":{"control_mix_uw":{"detected":0,"n":16,"rate":"0/16"},"control_mix_wm":{"detected":0,"n":16,"rate":"0/16"},"control_mix_wm_max_score":0.505336937084192,"identity_uw":{"detected":0,"n":16,"rate":"0/16"},"identity_wm":{"detected":16,"n":16,"rate":"16/16"},"mix_uw":{"detected":0,"n":16,"rate":"0/16"},"mix_wm":{"detected":0,"n":16,"rate":"0/16"}},"evidence_label":"HYPOTHESIS","independent_generation":false,"keys_depth":30,"mix_freeze_confirmation":false,"mix_gate_not_rewritten":true,"model":"openai-community/gpt2","pair_count":16,"product_authorized":false,"required_sanitizers_keep":true,"rows":[{"control_mix":{"detected":false,"n_tokens":592,"score":0.5023249255896334,"text_sha256":"03edd11d0a8c638e9026a0588c009ec656afe5de8a201cb0e42035f51092cd50"},"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.49964123998606763},"label":"unwatermarked","mix":{"detected":false,"n_tokens":598,"score":0.49529631288251985,"text_sha256":"dc0d23a37f215aece0b31838e39293c0f71002decf41fdf7d03e729ce547f6f2"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-00-general_explanatory-unwatermarked","source_sha256":"8ee8abeebfa066fad6cd030792fc78ec08129e9dd8570e40a58d076ec68a6cb0","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":592,"score":0.5024842541198125,"text_sha256":"fc1bc37a8a1efe0e5b3ee98a016ff25beb916cb4be34e999beef258fe0406b5b"},"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6280564263322884},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.49471882126403927,"text_sha256":"71f349ece4d55d78342dab174d01db8aed8707e7088d8bfa86e030b44d5033d5"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-00-general_explanatory-watermarked","source_sha256":"60313d4d3b87dca0234e58883b15ee80639a8ee981ea0739a07575b1e7d7e546","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":564,"score":0.49337624733781615,"text_sha256":"2d2dc1b73a4a314811fc73dbb374366567845b5b0cfb9aa95b83dd333eed6ad1"},"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5118460466736329},"label":"unwatermarked","mix":{"detected":false,"n_tokens":570,"score":0.4992331138614398,"text_sha256":"454ebde1f08e9553017e920e1b35d484d6ad2c6e2d2946b59f7fd9ea75809034"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-01-technical_explanation-unwatermarked","source_sha256":"c3d1b27e29d67609f11b742cd5da2a251e07ab26064e4d9d37180952f86648e9","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":592,"score":0.49622857610340737,"text_sha256":"5bf3f5eb08ab62bdc5908f03b2746f1df9ca54159ea7dca9afbfb5a41b9e79a2"},"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6168960204027416},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.49426279156261627,"text_sha256":"350a3a07405551cbc6fb1dccb4f7dd8bc590df076c8cd92990c964300aebf286"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-01-technical_explanation-watermarked","source_sha256":"1506647dc8d10e5287af57fd948756e14ef8eaadd51aabb20b623271b5a849c4","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":497,"score":0.5077199939268905,"text_sha256":"066f600511f4d562fc7e4c23ff8a59218d5876ed34226f6db3caa5eff0dbe679"},"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.5181082859243779},"label":"unwatermarked","mix":{"detected":false,"n_tokens":503,"score":0.49439974863172365,"text_sha256":"52c6d105a5206957caf95c7bf74e5ed2458bb77ef11908b4be5d9df40c626425"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-02-conversational_prose-unwatermarked","source_sha256":"f2a2d6203fdca57fb5cb20937d2542302246d70bd4ddc624a33b0a6251341f34","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":588,"score":0.5021157442270908,"text_sha256":"1447556446777596cbf35d137d3d527e6cfbc13c193eae84f8b42012b775665d"},"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6147683733890631},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.5030566534914361,"text_sha256":"548837b5b0a3922836936eba09dbede50b3af73c05700ffe5f4420a85bc26aab"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-02-conversational_prose-watermarked","source_sha256":"1724e5c584169e394eb35d7575f65d053ba0e1f3f443b490d7ae34d044f57fdd","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":596,"score":0.4947986026893654,"text_sha256":"37ce4c2f922e7cce6dd62d204ce80f39fe501efdc5459ad5f42ef81881e7c548"},"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.49936930885206754},"label":"unwatermarked","mix":{"detected":false,"n_tokens":602,"score":0.4940407910522854,"text_sha256":"91b751bd208033286f4056e9472eb2cc530cdbd1cda6c51695d5709666cb497f"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-03-structured_instructional-unwatermarked","source_sha256":"dcc9392fd5d39166e7b451be4152ca7b42669ea0d0e9039a8aff006b8ceaef02","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":592,"score":0.49686991066301417,"text_sha256":"c04806b2c95e9e77c125ac5412fbf45fe300e470e08f94fe701048d03868d4d3"},"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6134935562521769},"label":"watermarked","mix":{"detected":false,"n_tokens":598,"score":0.5063963600986625,"text_sha256":"f8a69c2377e2b53777f99581569994b6aa7010f9106f4563bf8ccbeb150209dc"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-03-structured_instructional-watermarked","source_sha256":"5ab284a17bcee99791764d38c9e9eed443cced470ec57020bd8423ba7f9f732d","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":512,"score":0.504259143155695,"text_sha256":"fee13e2371e23c99982aedd8927196552dc2f61cad98b49867fd41974f2b7e3c"},"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.4966969519862565},"label":"unwatermarked","mix":{"detected":false,"n_tokens":518,"score":0.4907455049904515,"text_sha256":"09f1e5532dbda077e127b41745941eeb3c848e45e719ef513d9e43c6cbd98740"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-04-general_explanatory-unwatermarked","source_sha256":"4715d0170f9ad85c66cdf17170c8bf79003510602f2998da3b99896ccbbd15db","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":588,"score":0.4996053120267257,"text_sha256":"e62f3fb878b460afc7056d4fc87e4701f26de608eeaeeb061b798244880c2299"},"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6316300940438871},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.5020087400389263,"text_sha256":"95d43560f108d0b1d662e5b1248c0edfe31c2fe9d47bd74ba2d74ef58b572174"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-04-general_explanatory-watermarked","source_sha256":"ac112e4299110edeb7de37ba934e62dbdccf40c2eef4cf218602d144dc49b96a","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":575,"score":0.49296267818063527,"text_sha256":"96c2c42830e3250727fc204ff96e0608d060f643be32c43c4cd50a4980e14963"},"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.506778126088471},"label":"unwatermarked","mix":{"detected":false,"n_tokens":581,"score":0.48787775329257066,"text_sha256":"d20c84b933124f0b9401b84f4efa0bb51ab1e97a773dbed96c47873a661c40d8"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-05-technical_explanation-unwatermarked","source_sha256":"993eea7087a81a1041da5c646ad75f8ee56ac59cbd1ad4beb287f1b0a89cdfa5","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":589,"score":0.505336937084192,"text_sha256":"bdb2443f777202620bb90e6bb032e6e94809795f3573d0cdf6d488eb0dea9a70"},"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6275444096133751},"label":"watermarked","mix":{"detected":false,"n_tokens":595,"score":0.5063461731151859,"text_sha256":"a76238aa0b19d9a571fc57e319488429d4655846e72bfdc6b05173a95c1db145"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-05-technical_explanation-watermarked","source_sha256":"d6ca5e5624cb137120befe3d643225f16ab1c29688ace5afb521a9c48d9c27a7","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":596,"score":0.5022844779029884,"text_sha256":"2712c62224c371199b0ee6e963bd27d66c5a3875d17bcdff2545bd468dfeb568"},"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.4784012539184953},"label":"unwatermarked","mix":{"detected":false,"n_tokens":602,"score":0.49482072554172873,"text_sha256":"3b87f340a27ff60d08caf5d5f29e848b3753b5551731c35f1a10fc5cf463000b"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-06-conversational_prose-unwatermarked","source_sha256":"2da7d5a33e9c196dca699aff10fb39486e9849f8912a9d76d483f2fd9271ef74","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":546,"score":0.49786571058509943,"text_sha256":"bf836955e1100457d21e8b368b5a6be8c3228c2bfdff99d974f30061112b4ff6"},"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6145930169711383},"label":"watermarked","mix":{"detected":false,"n_tokens":552,"score":0.4899409920708096,"text_sha256":"560b86f61cf67f5f148c1a79ef8f830aa67727542040964d0173cacd4c067909"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-06-conversational_prose-watermarked","source_sha256":"e372b641dc19a6665dce54a788459e1835e11203308f362a6f9eb40803f4f81c","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":595,"score":0.49456478774572543,"text_sha256":"8c84ee547bd09e474a370374ba94599f566c9d633f958395e85d430b919e7c0d"},"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.502911877394636},"label":"unwatermarked","mix":{"detected":false,"n_tokens":601,"score":0.4896342737722048,"text_sha256":"48cb1228d437fe0f28dc12dad81c229ecf8a203920399b9f654cfdec85653c58"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-07-structured_instructional-unwatermarked","source_sha256":"b02a77c5d56f3c13cf70891d7f17e281b48986fe5f479fefac9f47fb9dd2784f","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":593,"score":0.5015410360300986,"text_sha256":"775774167e8cab34f2a1b8d450db404420f92418669bd38b4d054d161d5d524f"},"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.611475254108483},"label":"watermarked","mix":{"detected":false,"n_tokens":599,"score":0.5000931352505567,"text_sha256":"687de2e3536bbc428661a56cde290544201878d0a380e14b933c81915aae9a1d"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-07-structured_instructional-watermarked","source_sha256":"740b578b549dd1c78f0636668de9f8b980df348b8ef23635ebc1f34c47486e34","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":593,"score":0.5012358750760898,"text_sha256":"350252da059236c674627f1b3c7963a9c9bb59e58a23adb2f6e98f4cdd1ef926"},"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.5105538140020899},"label":"unwatermarked","mix":{"detected":false,"n_tokens":599,"score":0.5001855655244478,"text_sha256":"3944f87ee9377d64c733c5d1b35e69065b6ffc08556c85bf6ddcbac7c3e82741"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-08-general_explanatory-unwatermarked","source_sha256":"0ee5d09c681584e2fce90930a5092a84644c9608b9f29bccfb20c34d22754552","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":585,"score":0.4979064186914807,"text_sha256":"2d03ce1c30cc7243a2319f1741ffbcc3efcbbcc4d89cec5486cf2887d98525b7"},"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.5931262467939584},"label":"watermarked","mix":{"detected":false,"n_tokens":591,"score":0.5031159532007469,"text_sha256":"6e035d3942e1b8b3bb362142ba4c2025072d91f6af295026fea3ec5ab2a97895"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-08-general_explanatory-watermarked","source_sha256":"5f3fdc10647ec120633e5db9512e5182a1a65728a161dffc77bba0fecccfea17","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":594,"score":0.4977853088197916,"text_sha256":"56baa801f7951f066040da0ae280a03510a854947d8b0442dddc2b160695a8eb"},"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.4993198083633998},"label":"unwatermarked","mix":{"detected":false,"n_tokens":600,"score":0.49690323768801775,"text_sha256":"ee89019c9ddec4b2297f9d8ff920de14cfea3c58b207b3e8d336c7b35cec471e"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-09-technical_explanation-unwatermarked","source_sha256":"d6767982a262e373677ffddb5f31406de45d03538c59e0cf612403df3b39c3ad","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":591,"score":0.496167736013047,"text_sha256":"e13737fe55a8d993d5823893c963ebf2554fd2c404feebadc5fd53238424b663"},"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.6190177638453501},"label":"watermarked","mix":{"detected":false,"n_tokens":597,"score":0.500686405913651,"text_sha256":"5aa4c60efdbcef253aec993ecdce5f0c548e6025569a6c2d6eadd81ad4b53486"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-09-technical_explanation-watermarked","source_sha256":"0c0b703816a9be544c3cdd6a2a89f1b8826a51a17aa097f1bf665159a4566fe3","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":584,"score":0.5015423040654328,"text_sha256":"ac48e09a66838bf4fce03ed8b52f5f61374660f3cbf760be54ef1241321995e1"},"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.49509578544061306},"label":"unwatermarked","mix":{"detected":false,"n_tokens":590,"score":0.4914750373440491,"text_sha256":"62ac370769f11aa88ef42eaf85ce0ee226937734dde3f819a4805b5889c75a77"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-10-conversational_prose-unwatermarked","source_sha256":"dbead8d7fe3d2dbf4f587f33372b09de74ce8fd699a97f936f5a497376674e15","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":588,"score":0.4977906601512078,"text_sha256":"fa6e150d327d80f0bf1af67e73594b00d98920b905dfbbc38428e13173cf1510"},"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.6008463949843261},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.4890158341798376,"text_sha256":"a2393b1d0b0afc5aa8e94b038e64dba279fbf234410cbcf25876d69ad33fadf9"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-10-conversational_prose-watermarked","source_sha256":"b58e63ef15aa082c33b79cbdfd38159c8842524b76acac7a8556e740de38791a","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":592,"score":0.5006206502237732,"text_sha256":"f3af39111f9f47210067249f5583d420467d6df1a15589765f6e57460bb58816"},"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.498346124743271},"label":"unwatermarked","mix":{"detected":false,"n_tokens":598,"score":0.4937884593057007,"text_sha256":"86d62e9eb24c8bf1b51b73015369cae0b3eb3c68df8bd34f3b029937d4af6e8f"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-11-structured_instructional-unwatermarked","source_sha256":"ed0fc0fe4b4701bedc07c4438a782ff7e5021ac58fa9c41465c013f9b8dc8e92","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":596,"score":0.4990210329066041,"text_sha256":"82850ee6a0d2ccb7f5bfd444ba8d6f7be95c42a11f9ea36007b068878d054fd9"},"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.5711180773249739},"label":"watermarked","mix":{"detected":false,"n_tokens":602,"score":0.5006800623533242,"text_sha256":"6fb4ff28bd9267df4c20b099af8266b176f0f045208361bff4f6e0c10b223f3e"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-11-structured_instructional-watermarked","source_sha256":"eb3f01ffe003d31a2210ef82129f57ab02bf74d0eaee782795a2b475bfe5e582","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":589,"score":0.4970020263599993,"text_sha256":"90ea195e84013ef47926e74c2c73411d97f5fbb70ea2bdb07fde854b02811fb1"},"domain":"general_explanatory","identity":{"detected":false,"n_tokens":64,"score":0.48846147034341075},"label":"unwatermarked","mix":{"detected":false,"n_tokens":595,"score":0.4958702766828407,"text_sha256":"b272f3a665699cbbd6d4888fb0e5f4db919463f4f176829bc00e6b72726dd706"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-12-general_explanatory-unwatermarked","source_sha256":"8b006e6760292ce93424a3038918720635cb82d2e34fc68bd9c871a9e5d1c1e8","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":594,"score":0.5012626424180388,"text_sha256":"6d8797d1aec8265408ea34eb2ba759f650faa17d5e6269d862fa4fb6dbae3120"},"domain":"general_explanatory","identity":{"detected":true,"n_tokens":64,"score":0.6129083942877046},"label":"watermarked","mix":{"detected":false,"n_tokens":600,"score":0.5041860399879378,"text_sha256":"e7f5def2124c44b81ccc4b40c3dffb4f3c487c9c4eed81106f39fdf192a33063"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-12-general_explanatory-watermarked","source_sha256":"d490efe82086a36ed0d9706d3e0f5750f5b29ea28ceb441fa91604c23e92b457","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":593,"score":0.500496342737722,"text_sha256":"1e76644d229e3b772d6a58534b01f4a4ee9eb35c442ef055487743babf5ab7dd"},"domain":"technical_explanation","identity":{"detected":false,"n_tokens":64,"score":0.5137791710205504},"label":"unwatermarked","mix":{"detected":false,"n_tokens":599,"score":0.49835010724302925,"text_sha256":"e49059e48921a861bcd710f646657f18405e72ce7110b829096ce74a0863ab58"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-13-technical_explanation-unwatermarked","source_sha256":"94253f2f881de19176c8190c3353abcdcd8b55ce22dd230446c38540330ea85d","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":587,"score":0.504246471651596,"text_sha256":"a4ce608410ad6096e129c36011316b094b043885eecbd8b5c9c0e84cdf4dc325"},"domain":"technical_explanation","identity":{"detected":true,"n_tokens":64,"score":0.5630806497577657},"label":"watermarked","mix":{"detected":false,"n_tokens":593,"score":0.5015112813963389,"text_sha256":"0cac434b5a2e6899189f805b8ed6ef1b88af1fa9355e45c29c82ad0493a44139"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-13-technical_explanation-watermarked","source_sha256":"f2ac7d6fa75044d989017f2e938480da85b44b61c8904db87f945d5fb7dc18b0","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":577,"score":0.5007698057678686,"text_sha256":"c120d016008526789a711b0eea617b68dd9fd55187060336d98c995adca3a0a0"},"domain":"conversational_prose","identity":{"detected":false,"n_tokens":64,"score":0.4985140711616457},"label":"unwatermarked","mix":{"detected":false,"n_tokens":583,"score":0.4927219428723711,"text_sha256":"1df9b3340f77af0912e828e3f7a96ba213bacbf084bfcee6e3e188f11c22a231"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-14-conversational_prose-unwatermarked","source_sha256":"3b13cfad90298698e3f4c0e80adcd1add52c49147fe72b28098a19aabaaaca3d","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":588,"score":0.5022918584641441,"text_sha256":"bb86a0a9cd397c904193b23ea1b016b6c393dfd2ba926dcf868b52a4e26f51ba"},"domain":"conversational_prose","identity":{"detected":true,"n_tokens":64,"score":0.5813718718452792},"label":"watermarked","mix":{"detected":false,"n_tokens":594,"score":0.4926516255316644,"text_sha256":"020670581d44cf9fdc69a1ec4751a3fddd24dfa8c926581068a8b0844970e7ad"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-14-conversational_prose-watermarked","source_sha256":"2ff9626335f7f12084ff28ef6a5e2a693db92c0fb4d258b861f6f496ab9c138d","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":585,"score":0.49658844324651613,"text_sha256":"c0803280f4af2ed90ccc965943fa869fa0aa2873d776590bb16a24c06d87d91c"},"domain":"structured_instructional","identity":{"detected":false,"n_tokens":64,"score":0.4984751075925828},"label":"unwatermarked","mix":{"detected":false,"n_tokens":591,"score":0.48544966910484155,"text_sha256":"e4223425ef030407b6407184f1e6bdf619a9a45b642eae898b0b9c60ed3abdd4"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-15-structured_instructional-unwatermarked","source_sha256":"f3a47c28a452ff75c594b3429a7ebefea7897f09c6fb19e5a60857eacc300389","visible_ok":true},{"control_mix":{"detected":false,"n_tokens":590,"score":0.5006308437535204,"text_sha256":"276a8c627fc782cc4c796a710c370de8338a3eabe4f78a4e3f7d1314f20dcf5a"},"domain":"structured_instructional","identity":{"detected":true,"n_tokens":64,"score":0.6029188436084989},"label":"watermarked","mix":{"detected":false,"n_tokens":596,"score":0.4909217769854544,"text_sha256":"e55a7eeca479d7a36ccfdff23ea073b2f4db208c844a4538376a476ff2fbfa50"},"required_sanitizers_keep":true,"sample_id":"cycle8-920000-15-structured_instructional-watermarked","source_sha256":"9f54351d860d4c0f11da203c2e6f3382584597071dbafc46525a918e607b0c57","visible_ok":true}],"scorecard_hash":"d6afe1930faa3762dbcc3f844e31563d64b703ab477fb294a99be283c041ca0b","seed_base":920000,"seen_corpus":true,"source_samples":"evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/samples.json","threshold":0.5570987654320988,"visible_pass":true} diff --git a/evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/summary.json b/evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/summary.json new file mode 100644 index 00000000..3067ea27 --- /dev/null +++ b/evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27/summary.json @@ -0,0 +1 @@ +{"algorithm_version":"cycle8-control-mix-diagnostic-v1","confirmation_rewritten":false,"detector":"synthid_text.logits_processing.SynthIDLogitsProcessor","do_not_generate_950000":true,"effectiveness":{"control_mix_uw":{"detected":0,"n":16,"rate":"0/16"},"control_mix_wm":{"detected":0,"n":16,"rate":"0/16"},"control_mix_wm_max_score":0.505336937084192,"identity_uw":{"detected":0,"n":16,"rate":"0/16"},"identity_wm":{"detected":16,"n":16,"rate":"16/16"},"mix_uw":{"detected":0,"n":16,"rate":"0/16"},"mix_wm":{"detected":0,"n":16,"rate":"0/16"}},"evidence_label":"HYPOTHESIS","independent_generation":false,"keys_depth":30,"mix_freeze_confirmation":false,"mix_gate_not_rewritten":true,"model":"openai-community/gpt2","pair_count":16,"product_authorized":false,"required_sanitizers_keep":true,"scorecard_hash":"d6afe1930faa3762dbcc3f844e31563d64b703ab477fb294a99be283c041ca0b","seed_base":920000,"seen_corpus":true,"source_samples":"evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/samples.json","threshold":0.5570987654320988,"visible_pass":true} diff --git a/fuckmark/cycle8/control_carrier.py b/fuckmark/cycle8/control_carrier.py new file mode 100644 index 00000000..3685051b --- /dev/null +++ b/fuckmark/cycle8/control_carrier.py @@ -0,0 +1,238 @@ +from __future__ import annotations + +import json +import unicodedata +from pathlib import Path + +from ..config import canonical_json_text +from ..hashing import sha256_json +from ..product.roundtrip import display_column_width +from ..sanitizer_robustness import strip_unicode_format_characters +from .benchmark import sanitize_benchmark_stress, strip_default_ignorable, strip_nonspacing_marks +from .closed_set import CYCLE8_CLOSED_SET_HASH +from .feasibility import CYCLE8_FEASIBILITY_HASH +from .sanitize import CYCLE8_SCALE_SANITIZER_VARIANT_IDS, sanitize_cycle8_scale_variant +from .unicode_meta import is_default_ignorable_v1 + + +CYCLE8_CONTROL_CARRIER_VERSION = "cycle8-control-carrier-scan-v1" +CYCLE8_CONTROL_CARRIER_PATH = "specs/cycle8/fuckmark-cycle8-control-carrier-scan-v1.json" +CYCLE8_CONTROL_CARRIER_HASH = "1e63bd5d39f04ba1f7d3634c60cea1f218e118590dd8d09b55ffb449908010e4" +LAYOUT_CONTROL_CODEPOINTS = (0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x0085, 0x2028, 0x2029) +HOSTILE_CONTROL_CODEPOINTS = (0x0000,) +ISO6429_DEVICE_CONTROL_CODEPOINTS = (0x0084, 0x008D, 0x008E, 0x008F, 0x0090, 0x0098, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F) +CONTROL_MIX_ELIGIBLE_CODEPOINTS = (0x007F, *range(0x0080, 0x0085), *range(0x0086, 0x00A0)) +CONTROL_CLASS_PROBE_CODEPOINTS = tuple(list(range(0x0000, 0x0020)) + [0x007F] + list(range(0x0080, 0x00A0))) +REJECTED_EMPTY_GLYPH_PROBES = (0x1680, 0x2800, 0xFFFD, 0xFFFE, 0xFFFF, 0xFDD0, 0xE000, 0xF8FF) + + +def iter_cc_probe_codepoints() -> tuple[int, ...]: + return CONTROL_CLASS_PROBE_CODEPOINTS + + +def is_layout_control(codepoint: int) -> bool: + if not isinstance(codepoint, int) or isinstance(codepoint, bool): + raise TypeError("codepoint must be an integer") + return codepoint in LAYOUT_CONTROL_CODEPOINTS + + +def is_hostile_control(codepoint: int) -> bool: + if not isinstance(codepoint, int) or isinstance(codepoint, bool): + raise TypeError("codepoint must be an integer") + return codepoint in HOSTILE_CONTROL_CODEPOINTS + + +def is_iso6429_device_control(codepoint: int) -> bool: + if not isinstance(codepoint, int) or isinstance(codepoint, bool): + raise TypeError("codepoint must be an integer") + return codepoint in ISO6429_DEVICE_CONTROL_CODEPOINTS + + +def is_control_mix_eligible(codepoint: int) -> bool: + if not isinstance(codepoint, int) or isinstance(codepoint, bool): + raise TypeError("codepoint must be an integer") + return codepoint in CONTROL_MIX_ELIGIBLE_CODEPOINTS + + +def control_display_column_width(text: str) -> int: + if not isinstance(text, str): + raise TypeError("text must be a string") + width = 0 + for character in text: + codepoint = ord(character) + if codepoint in CONTROL_MIX_ELIGIBLE_CODEPOINTS: + continue + if unicodedata.category(character) in {"Mn", "Me", "Cf"}: + continue + if character in {"\n", "\r"}: + continue + width += 1 + return width + + +def apply_required_sanitizer_bundle(text: str) -> str: + if not isinstance(text, str): + raise TypeError("text must be a string") + cleaned = unicodedata.normalize("NFC", text) + cleaned = unicodedata.normalize("NFKC", cleaned) + cleaned = strip_nonspacing_marks(cleaned) + cleaned = strip_default_ignorable(cleaned) + cleaned = strip_unicode_format_characters(cleaned) + return cleaned + + +def required_sanitizers_keep(text: str) -> bool: + if not isinstance(text, str): + raise TypeError("text must be a string") + if strip_nonspacing_marks(text) != text: + return False + if strip_default_ignorable(text) != text: + return False + if strip_unicode_format_characters(text) != text: + return False + if unicodedata.normalize("NFC", text) != text: + return False + if unicodedata.normalize("NFKC", text) != text: + return False + if unicodedata.normalize("NFKD", text) != text: + return False + if apply_required_sanitizer_bundle(text) != text: + return False + if any(sanitize_cycle8_scale_variant(variant, text) != text for variant in CYCLE8_SCALE_SANITIZER_VARIANT_IDS): + return False + if any(sanitize_benchmark_stress(variant, text) != text for variant in ("mn_strip", "default_ignorable_strip", "nfkd")): + return False + return True + + +def _probe_row(codepoint: int) -> dict[str, object]: + character = chr(codepoint) + category = unicodedata.category(character) + width_delta = display_column_width(f"A{character}B") - display_column_width("AB") + research_width_delta = control_display_column_width(f"A{character}B") - control_display_column_width("AB") + return { + "codepoint": codepoint, + "label": f"U+{codepoint:04X}", + "category": category, + "default_ignorable": is_default_ignorable_v1(codepoint), + "layout_control": is_layout_control(codepoint), + "hostile_control": is_hostile_control(codepoint), + "eligible": is_control_mix_eligible(codepoint), + "required_sanitizers_keep": required_sanitizers_keep(f"A{character}B"), + "product_display_width_delta": width_delta, + "research_display_width_delta": research_width_delta, + } + + +def scan_control_carrier_class() -> dict[str, object]: + rows = [_probe_row(codepoint) for codepoint in CONTROL_CLASS_PROBE_CODEPOINTS] + eligible = [row for row in rows if row["eligible"] is True] + layout = [row["label"] for row in rows if row["layout_control"] is True] + hostile = [row["label"] for row in rows if row["hostile_control"] is True] + tofu = [ + row["label"] + for row in rows + if row["category"] == "Cc" + and row["eligible"] is False + and row["layout_control"] is False + and row["hostile_control"] is False + ] + empty_glyph = [] + for codepoint in REJECTED_EMPTY_GLYPH_PROBES: + character = chr(codepoint) + empty_glyph.append( + { + "label": f"U+{codepoint:04X}", + "category": unicodedata.category(character), + "default_ignorable": is_default_ignorable_v1(codepoint), + "required_sanitizers_keep": required_sanitizers_keep(f"A{character}B"), + "product_display_width_delta": display_column_width(f"A{character}B") - display_column_width("AB"), + } + ) + payload = { + "algorithm_version": CYCLE8_CONTROL_CARRIER_VERSION, + "priority_zero": "exact_user_visible_text_preservation", + "search_space": "general_category_Cc_plus_empty_glyph_probes", + "assigned_width0_class": "cycle8-invisible-carrier-closed-set-v1", + "assigned_width0_closed_set_hash": CYCLE8_CLOSED_SET_HASH, + "assigned_width0_feasibility_hash": CYCLE8_FEASIBILITY_HASH, + "assigned_width0_stronger_mechanism": None, + "layout_control_codepoints": [f"U+{codepoint:04X}" for codepoint in LAYOUT_CONTROL_CODEPOINTS], + "hostile_control_codepoints": [f"U+{codepoint:04X}" for codepoint in HOSTILE_CONTROL_CODEPOINTS], + "iso6429_device_control_codepoints": [f"U+{codepoint:04X}" for codepoint in ISO6429_DEVICE_CONTROL_CODEPOINTS], + "eligible_codepoints": [f"U+{codepoint:04X}" for codepoint in CONTROL_MIX_ELIGIBLE_CODEPOINTS], + "eligible_count": len(CONTROL_MIX_ELIGIBLE_CODEPOINTS), + "cc_probe_count": len(rows), + "eligible_required_sanitizers_keep": all(row["required_sanitizers_keep"] is True for row in eligible), + "eligible_are_cc": all(row["category"] == "Cc" for row in eligible), + "eligible_not_default_ignorable": all(row["default_ignorable"] is False for row in eligible), + "eligible_product_width_delta_one": all(row["product_display_width_delta"] == 1 for row in eligible), + "eligible_research_width_delta_zero": all(row["research_display_width_delta"] == 0 for row in eligible), + "iso6429_device_controls_remain_in_eligible_set": all( + codepoint in CONTROL_MIX_ELIGIBLE_CODEPOINTS for codepoint in ISO6429_DEVICE_CONTROL_CODEPOINTS + ), + "product_display_width_proxy": "FAIL", + "terminal_pixels": "UNKNOWN", + "layout_control_labels": layout, + "hostile_control_labels": hostile, + "c0_non_layout_non_hostile_not_eligible": tofu, + "empty_glyph_probes": empty_glyph, + "product_authorized": False, + "mix_gate_not_rewritten": True, + "boundary": ( + "Assigned width-0 insertions remain Mn, Me, or Cf and stay closed. " + "The next insertion class is general category Cc. Layout controls and NUL " + "are excluded. DEL and C1 except NEXT LINE survive Mn-strip, " + "default-ignorable-strip, Cf-strip, NFC, NFKC, NFKD, frozen Cycle 6/7 " + "sanitizers, and the combination of those arms. Product display width still " + "counts them. Research width skips the eligible set because Chromium pre, " + "textarea, and contenteditable pixels match the source. ISO-6429 C1 device " + "controls including CSI remain in the measured eligible set. That ordinary-text " + "and terminal risk blocks product authorization and does not rewrite mix " + "sanitizer FAIL. Terminal pixels stay UNKNOWN." + ), + } + return {**payload, "control_carrier_hash": sha256_json(payload)} + + +def write_control_carrier_scan_spec(path: str | Path | None = None) -> Path: + destination = Path(path) if path is not None else Path(CYCLE8_CONTROL_CARRIER_PATH) + payload = scan_control_carrier_class() + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_text(canonical_json_text(payload) + "\n", encoding="utf-8") + return destination + + +def load_control_carrier_scan(path: str | Path | None = None) -> dict[str, object]: + destination = Path(path) if path is not None else Path(CYCLE8_CONTROL_CARRIER_PATH) + return json.loads(destination.read_text(encoding="utf-8")) + + +def assert_control_carrier_scan_committed() -> None: + path = Path(CYCLE8_CONTROL_CARRIER_PATH) + if not path.is_file(): + raise ValueError("control carrier scan spec is not committed") + disk = json.loads(path.read_text(encoding="utf-8")) + body = {key: value for key, value in disk.items() if key != "control_carrier_hash"} + digest = sha256_json(body) + if disk.get("control_carrier_hash") != digest: + raise ValueError("control carrier scan spec hash mismatch") + if CYCLE8_CONTROL_CARRIER_HASH != "0" * 64 and digest != CYCLE8_CONTROL_CARRIER_HASH: + raise ValueError("control carrier scan spec hash is not the frozen digest") + if disk["product_authorized"] is True: + raise ValueError("control carrier scan must not product-authorize the mechanism") + if disk["assigned_width0_stronger_mechanism"] is not None: + raise ValueError("control carrier scan must not reopen the assigned width-0 closed set") + if disk["mix_gate_not_rewritten"] is not True: + raise ValueError("control carrier scan must not rewrite the mix sanitizer gate") + live = scan_control_carrier_class() + if live["control_carrier_hash"] != disk["control_carrier_hash"]: + raise ValueError("control carrier scan spec does not match the scan payload") + if live["eligible_required_sanitizers_keep"] is not True: + raise ValueError("control carrier eligible set must survive required sanitizers") + if live["iso6429_device_controls_remain_in_eligible_set"] is not True: + raise ValueError("measured eligible set must keep ISO-6429 device controls") + if live["product_display_width_proxy"] != "FAIL": + raise ValueError("product display-width proxy must remain FAIL") + if live["terminal_pixels"] != "UNKNOWN": + raise ValueError("terminal pixels must remain UNKNOWN") diff --git a/fuckmark/cycle8/control_mix.py b/fuckmark/cycle8/control_mix.py new file mode 100644 index 00000000..5facd078 --- /dev/null +++ b/fuckmark/cycle8/control_mix.py @@ -0,0 +1,99 @@ +from __future__ import annotations + +from collections.abc import Sequence + +from ..product.invariants import validate_user_visible_invariants +from ..product.visible_projection import is_carrier_insertion_v1, project_visible_v1 +from ..transforms.schema import InvariantStatus +from .control_carrier import CONTROL_MIX_ELIGIBLE_CODEPOINTS +from .letter_mix import hard_machine_intervals + + +CONTROL_MIX_APPROVED_CARRIERS = CONTROL_MIX_ELIGIBLE_CODEPOINTS +CONTROL_MIX_PAYLOADS = tuple(chr(codepoint) for codepoint in CONTROL_MIX_APPROVED_CARRIERS) +CONTROL_MIX_MAX_SELECTED = 192 +CYCLE8_CONTROL_MIX_ARM_ID = "cc-del-c1-letter-alt-v1" + + +def _index_blocked(index: int, intervals: Sequence[tuple[int, int]]) -> bool: + for start, end in intervals: + if start <= index < end: + return True + if start > index: + return False + return False + + +def select_control_mix_sites( + text: str, + *, + max_selected: int | None = CONTROL_MIX_MAX_SELECTED, +) -> tuple[int, ...]: + if not isinstance(text, str): + raise TypeError("text must be a string") + if max_selected is not None: + if not isinstance(max_selected, int) or isinstance(max_selected, bool): + raise TypeError("max_selected must be an integer") + if max_selected <= 0: + raise ValueError("max_selected must be positive") + blocked = hard_machine_intervals(text) + sites: list[int] = [] + for index, character in enumerate(text): + if character.isascii() and character.isalpha() and not _index_blocked(index, blocked): + payload = CONTROL_MIX_PAYLOADS[len(sites) % len(CONTROL_MIX_PAYLOADS)] + trial = text[: index + 1] + payload + text[index + 1 :] + if not is_carrier_insertion_v1(text, trial, CONTROL_MIX_APPROVED_CARRIERS): + continue + if project_visible_v1(trial, CONTROL_MIX_APPROVED_CARRIERS) != text: + continue + report = validate_user_visible_invariants(text, trial, CONTROL_MIX_APPROVED_CARRIERS) + if report.status is not InvariantStatus.PASS: + continue + sites.append(index) + if max_selected is not None and len(sites) >= max_selected: + break + return tuple(sites) + + +def compose_control_mix(text: str, sites: Sequence[int]) -> str: + if not isinstance(text, str): + raise TypeError("text must be a string") + ordered = tuple(sites) + if ordered != tuple(sorted(set(ordered))): + raise ValueError("control mix sites must be unique and ordered") + chunks: list[str] = [] + cursor = 0 + for order, index in enumerate(ordered): + if index < cursor or index >= len(text): + raise ValueError("control mix site is outside the source") + chunks.append(text[cursor : index + 1]) + chunks.append(CONTROL_MIX_PAYLOADS[order % len(CONTROL_MIX_PAYLOADS)]) + cursor = index + 1 + chunks.append(text[cursor:]) + output = "".join(chunks) + if project_visible_v1(output, CONTROL_MIX_APPROVED_CARRIERS) != text: + raise RuntimeError("control mix changed the visible projection") + if not is_carrier_insertion_v1(text, output, CONTROL_MIX_APPROVED_CARRIERS): + raise RuntimeError("control mix is not a carrier insertion") + report = validate_user_visible_invariants(text, output, CONTROL_MIX_APPROVED_CARRIERS) + if report.status is not InvariantStatus.PASS: + raise RuntimeError("control mix failed user-visible invariants") + for start, end in hard_machine_intervals(text): + shift = sum(1 for index in ordered if index < start) + if output[start + shift : end + shift] != text[start:end]: + raise RuntimeError("control mix mutated a hard machine span") + return output + + +def apply_control_alternating_mix( + text: str, + *, + max_selected: int | None = CONTROL_MIX_MAX_SELECTED, +) -> str: + return compose_control_mix(text, select_control_mix_sites(text, max_selected=max_selected)) + + +def control_mix_inserted_count(text: str) -> int: + if not isinstance(text, str): + raise TypeError("text must be a string") + return sum(text.count(payload) for payload in CONTROL_MIX_PAYLOADS) diff --git a/fuckmark/cycle8/ledger.py b/fuckmark/cycle8/ledger.py index cbe53c0a..c3827d44 100644 --- a/fuckmark/cycle8/ledger.py +++ b/fuckmark/cycle8/ledger.py @@ -31,6 +31,8 @@ CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC, CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE, CYCLE8_SECOND_MODEL_TRANSFER_TOPIC, + CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASE, + CYCLE8_CONTROL_MIX_EXPLORATORY_TOPIC, CYCLE8_LETTER_EXPLORATORY_SEED_BASE, CYCLE8_LETTER_EXPLORATORY_TOPIC, CYCLE8_SCALE_EXPLORATORY_SEED_BASE, @@ -64,6 +66,7 @@ CYCLE8_DEEPMIND_TRANSFER_REPLICATION_ROLE = "deepmind_transfer_replication" CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_ROLE = "deepmind_transfer_holdout" CYCLE8_SECOND_MODEL_TRANSFER_ROLE = "second_model_transfer" +CYCLE8_CONTROL_MIX_EXPLORATORY_ROLE = "control_mix_exploratory_development" CYCLE8_CONFIRMATION_RESERVED_ROLE = "confirmation_reserved" CYCLE8_EXPLORATORY_SEED_BASE = 890_000 @@ -90,6 +93,7 @@ CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASES = (CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE,) CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASES = (CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE,) CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASES = (CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE,) +CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASES = (CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASE,) CYCLE8_CONFIRMATION_RESERVED_SEED_BASES = (830_000, 840_000, 850_000) CYCLE8_EXPLORATORY_TOPIC = "invisible carrier development" CYCLE8_REPLICATION_TOPIC = "invisible carrier replication" @@ -173,6 +177,8 @@ def cycle8_seed_ledger_payload() -> dict[str, object]: "deepmind_transfer_holdout_topic": CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC, "second_model_transfer_seed_base": CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE, "second_model_transfer_topic": CYCLE8_SECOND_MODEL_TRANSFER_TOPIC, + "control_mix_exploratory_seed_base": CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASE, + "control_mix_exploratory_topic": CYCLE8_CONTROL_MIX_EXPLORATORY_TOPIC, "scale_pair_count": CYCLE8_SCALE_PAIR_COUNT, "letter_benchmark_pair_count": CYCLE8_LETTER_BENCHMARK_PAIR_COUNT, "confirmation_reserved_seed_bases": list(CYCLE8_CONFIRMATION_RESERVED_SEED_BASES), @@ -207,6 +213,9 @@ def cycle8_seed_ledger_payload() -> dict[str, object]: "before DeepMind transfer generation. Second-model mix transfer seed " "1090000 and topic 'second model mix transfer' were reserved in " "global-seed-ledger-v1 before second-model transfer generation. " + "Control-mix exploratory seed 1100000 and topic 'control mix sanitizer " + "exploratory' were reserved in global-seed-ledger-v1 before control-mix " + "generation. " "cycle8-mix-freeze-v1 confirmation of 830000, 840000, and 850000 was " "generated once under the freeze; those bases are spent. Do not rerun " "looking for zero, and do not retune on Cycle 6 formal residuals." @@ -260,6 +269,8 @@ def role_for_seed_base(seed_base: int) -> str | None: return CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_ROLE if seed_base in CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASES: return CYCLE8_SECOND_MODEL_TRANSFER_ROLE + if seed_base in CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASES: + return CYCLE8_CONTROL_MIX_EXPLORATORY_ROLE if seed_base in CYCLE8_CONFIRMATION_RESERVED_SEED_BASES: return CYCLE8_CONFIRMATION_RESERVED_ROLE return None @@ -304,5 +315,6 @@ def ledger_roles() -> Mapping[str, Sequence[int]]: CYCLE8_DEEPMIND_TRANSFER_REPLICATION_ROLE: CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASES, CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_ROLE: CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASES, CYCLE8_SECOND_MODEL_TRANSFER_ROLE: CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASES, + CYCLE8_CONTROL_MIX_EXPLORATORY_ROLE: CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASES, CYCLE8_CONFIRMATION_RESERVED_ROLE: CYCLE8_CONFIRMATION_RESERVED_SEED_BASES, } diff --git a/fuckmark/cycle8_control_mix_diagnostic_hf.py b/fuckmark/cycle8_control_mix_diagnostic_hf.py new file mode 100644 index 00000000..1c097b26 --- /dev/null +++ b/fuckmark/cycle8_control_mix_diagnostic_hf.py @@ -0,0 +1,177 @@ +from __future__ import annotations + +import argparse +import json +from pathlib import Path + +import torch +from synthid_text import logits_processing, synthid_mixin +from transformers import AutoTokenizer + +from .config import canonical_json_text +from .cycle8.control_carrier import apply_required_sanitizer_bundle, required_sanitizers_keep +from .cycle8.control_mix import CONTROL_MIX_APPROVED_CARRIERS, apply_control_alternating_mix +from .cycle8.letter_mix import apply_letter_alternating_mix +from .cycle8_deepmind_transfer_hf import official_score +from .durable_io import write_canonical_json_fsynced +from .experiments.cycle6_confirmation import CYCLE6_THRESHOLD +from .hashing import sha256_json, sha256_text +from .product.visible_projection import is_carrier_insertion_v1, project_visible_v1 + + +_MODEL_ID = "openai-community/gpt2" +_SOURCE_SAMPLES = "evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/samples.json" + + +class _TokenizerBackend: + def __init__(self, tokenizer) -> None: + self._tokenizer = tokenizer + + +def _processor(device: torch.device): + cfg = dict(synthid_mixin.DEFAULT_WATERMARKING_CONFIG) + keys = list(cfg["keys"]) + return ( + logits_processing.SynthIDLogitsProcessor( + ngram_len=int(cfg["ngram_len"]), + keys=keys, + sampling_table_size=int(cfg["sampling_table_size"]), + sampling_table_seed=int(cfg["sampling_table_seed"]), + context_history_size=int(cfg["context_history_size"]), + temperature=0.8, + top_k=50, + device=device, + ), + int(cfg["ngram_len"]), + len(keys), + ) + + +def score_control_mix_diagnostic( + *, + samples_path: Path | None = None, + out_dir: Path, +) -> dict[str, object]: + source_path = Path(samples_path) if samples_path is not None else Path(_SOURCE_SAMPLES) + payload = json.loads(source_path.read_text(encoding="utf-8")) + samples = list(payload["samples"]) + device = torch.device("cpu") + tokenizer = AutoTokenizer.from_pretrained(_MODEL_ID) + backend = _TokenizerBackend(tokenizer) + processor, ngram_len, keys_depth = _processor(device) + identity_wm = control_wm = mix_wm = identity_uw = control_uw = mix_uw = 0 + n_wm = n_uw = 0 + control_wm_max = None + visible_pass = True + sanitizer_keep = True + rows = [] + for sample in samples: + source = str(sample["text"]) + control = apply_control_alternating_mix(source) + mix = apply_letter_alternating_mix(source) + visible_ok = is_carrier_insertion_v1( + source, control, CONTROL_MIX_APPROVED_CARRIERS + ) and project_visible_v1(control, CONTROL_MIX_APPROVED_CARRIERS) == source + visible_pass = visible_pass and visible_ok + keep = required_sanitizers_keep(control) and apply_required_sanitizer_bundle(control) == control + sanitizer_keep = sanitizer_keep and keep + identity_score, identity_tokens = official_score(backend, processor, ngram_len, source) + control_score, control_tokens = official_score(backend, processor, ngram_len, control) + mix_score, mix_tokens = official_score(backend, processor, ngram_len, mix) + identity_detected = identity_score >= CYCLE6_THRESHOLD + control_detected = control_score >= CYCLE6_THRESHOLD + mix_detected = mix_score >= CYCLE6_THRESHOLD + if sample["label"] == "watermarked": + n_wm += 1 + identity_wm += int(identity_detected) + control_wm += int(control_detected) + mix_wm += int(mix_detected) + control_wm_max = control_score if control_wm_max is None else max(control_wm_max, control_score) + else: + n_uw += 1 + identity_uw += int(identity_detected) + control_uw += int(control_detected) + mix_uw += int(mix_detected) + rows.append( + { + "sample_id": sample["sample_id"], + "label": sample["label"], + "domain": sample["domain"], + "source_sha256": sample["text_sha256"], + "visible_ok": visible_ok, + "required_sanitizers_keep": keep, + "identity": { + "score": identity_score, + "detected": identity_detected, + "n_tokens": identity_tokens, + }, + "control_mix": { + "score": control_score, + "detected": control_detected, + "n_tokens": control_tokens, + "text_sha256": sha256_text(control), + }, + "mix": { + "score": mix_score, + "detected": mix_detected, + "n_tokens": mix_tokens, + "text_sha256": sha256_text(mix), + }, + } + ) + print( + f"{sample['sample_id']} identity={identity_score:.6f} control={control_score:.6f} mix={mix_score:.6f}", + flush=True, + ) + report = { + "algorithm_version": "cycle8-control-mix-diagnostic-v1", + "seed_base": 920000, + "source_samples": _SOURCE_SAMPLES, + "seen_corpus": True, + "independent_generation": False, + "product_authorized": False, + "confirmation_rewritten": False, + "mix_freeze_confirmation": False, + "mix_gate_not_rewritten": True, + "evidence_label": "HYPOTHESIS", + "model": _MODEL_ID, + "detector": "synthid_text.logits_processing.SynthIDLogitsProcessor", + "keys_depth": keys_depth, + "threshold": CYCLE6_THRESHOLD, + "pair_count": n_wm, + "visible_pass": visible_pass, + "required_sanitizers_keep": sanitizer_keep, + "effectiveness": { + "identity_wm": {"detected": identity_wm, "n": n_wm, "rate": f"{identity_wm}/{n_wm}"}, + "control_mix_wm": {"detected": control_wm, "n": n_wm, "rate": f"{control_wm}/{n_wm}"}, + "mix_wm": {"detected": mix_wm, "n": n_wm, "rate": f"{mix_wm}/{n_wm}"}, + "identity_uw": {"detected": identity_uw, "n": n_uw, "rate": f"{identity_uw}/{n_uw}"}, + "control_mix_uw": {"detected": control_uw, "n": n_uw, "rate": f"{control_uw}/{n_uw}"}, + "mix_uw": {"detected": mix_uw, "n": n_uw, "rate": f"{mix_uw}/{n_uw}"}, + "control_mix_wm_max_score": control_wm_max, + }, + "do_not_generate_950000": True, + "rows": rows, + } + body = {key: value for key, value in report.items()} + report["scorecard_hash"] = sha256_json(body) + out_dir.mkdir(parents=True, exist_ok=True) + write_canonical_json_fsynced(out_dir / "scorecard.json", report) + write_canonical_json_fsynced( + out_dir / "summary.json", + {key: value for key, value in report.items() if key != "rows"}, + ) + print(canonical_json_text({key: value for key, value in report.items() if key != "rows"}), flush=True) + return report + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--out-dir", required=True) + parser.add_argument("--samples", default=_SOURCE_SAMPLES) + args = parser.parse_args() + score_control_mix_diagnostic(samples_path=Path(args.samples), out_dir=Path(args.out_dir)) + + +if __name__ == "__main__": + main() diff --git a/fuckmark/cycle8_control_mix_hf.py b/fuckmark/cycle8_control_mix_hf.py new file mode 100644 index 00000000..9b3dfe24 --- /dev/null +++ b/fuckmark/cycle8_control_mix_hf.py @@ -0,0 +1,203 @@ +from __future__ import annotations + +import argparse +from pathlib import Path + +import torch + +from .config import canonical_json_text +from .corpus.schema import CorpusDomain +from .corpus.tiny_dev_generation import TINY_DEV_PAIR_SEED_STRIDE +from .cycle8.control_carrier import apply_required_sanitizer_bundle, required_sanitizers_keep +from .cycle8.control_mix import CONTROL_MIX_APPROVED_CARRIERS, apply_control_alternating_mix +from .cycle8.ledger import CYCLE8_CONTROL_MIX_EXPLORATORY_ROLE, assert_cycle8_development_seed, role_for_seed_base +from .cycle8_deepmind_transfer_hf import _processor, official_score +from .cycle8_hf import _CYCLE8_TEMPLATES +from .durable_io import write_canonical_json_fsynced +from .experiments.cycle6_confirmation import CYCLE6_THRESHOLD +from .hashing import sha256_file, sha256_json, sha256_text +from .product.domain import is_supported_product_domain_v1 +from .product.visible_projection import is_carrier_insertion_v1, project_visible_v1 +from .seeds.ledger import ( + CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASE, + CYCLE8_CONTROL_MIX_EXPLORATORY_TOPIC, + assert_new_cycle8_control_mix_generation_seed, +) +from .synthid_smoke_deepmind import DeepMindSynthIDSmokeBackend + + +_MODEL_ID = "openai-community/gpt2" +_MAX_ATTEMPTS = 64 +_PAIR_COUNT = 16 + + +def generate_control_mix_corpus( + seed_base: int, + *, + pair_count: int = _PAIR_COUNT, + out_dir: Path, +) -> dict[str, object]: + assert_new_cycle8_control_mix_generation_seed(seed_base) + if role_for_seed_base(seed_base) != CYCLE8_CONTROL_MIX_EXPLORATORY_ROLE: + raise ValueError("seed_base role does not match the Cycle 8 ledger") + assert_cycle8_development_seed(seed_base, role=CYCLE8_CONTROL_MIX_EXPLORATORY_ROLE) + used_topic = CYCLE8_CONTROL_MIX_EXPLORATORY_TOPIC + backend = DeepMindSynthIDSmokeBackend( + _MODEL_ID, + device="cpu", + max_new_tokens=64, + temperature=0.8, + top_k=50, + top_p=0.95, + ) + processor, ngram_len, keys_depth = _processor(torch.device("cpu")) + domains = tuple(CorpusDomain) + samples: list[dict[str, object]] = [] + for pair_index in range(pair_count): + domain = domains[pair_index % len(domains)] + prompt = _CYCLE8_TEMPLATES[domain].format(topic=used_topic) + pair_seed_base = seed_base + pair_index * TINY_DEV_PAIR_SEED_STRIDE + accepted = None + for attempt in range(_MAX_ATTEMPTS): + seed = pair_seed_base + attempt + try: + unwatermarked = backend.generate(prompt, seed, watermarked=False) + watermarked = backend.generate(prompt, seed, watermarked=True) + except RuntimeError: + continue + uw_ids = backend._tokenizer.encode(unwatermarked, add_special_tokens=False) + wm_ids = backend._tokenizer.encode(watermarked, add_special_tokens=False) + if len(uw_ids) != 64 or len(wm_ids) != 64: + continue + if unwatermarked == watermarked: + continue + if not is_supported_product_domain_v1(unwatermarked) or not is_supported_product_domain_v1(watermarked): + continue + accepted = (seed, unwatermarked, watermarked) + break + if accepted is None: + raise RuntimeError(f"failed pair {pair_index} {domain.value}") + seed, unwatermarked, watermarked = accepted + print(f"pair {pair_index} {domain.value} seed {seed}", flush=True) + for label, text in (("unwatermarked", unwatermarked), ("watermarked", watermarked)): + samples.append( + { + "sample_id": f"cycle8-{seed_base}-{pair_index:02d}-{domain.value}-{label}", + "domain": domain.value, + "label": label, + "seed": seed, + "pair_index": pair_index, + "text": text, + "text_sha256": sha256_text(text), + } + ) + rows = [] + identity_wm = control_wm = identity_uw = control_uw = 0 + n_wm = n_uw = 0 + control_wm_max = None + visible_pass = True + sanitizer_keep = True + for sample in samples: + source = str(sample["text"]) + control = apply_control_alternating_mix(source) + visible_ok = is_carrier_insertion_v1( + source, control, CONTROL_MIX_APPROVED_CARRIERS + ) and project_visible_v1(control, CONTROL_MIX_APPROVED_CARRIERS) == source + visible_pass = visible_pass and visible_ok + keep = required_sanitizers_keep(control) and apply_required_sanitizer_bundle(control) == control + sanitizer_keep = sanitizer_keep and keep + identity_score, identity_tokens = official_score(backend, processor, ngram_len, source) + control_score, control_tokens = official_score(backend, processor, ngram_len, control) + identity_detected = identity_score >= CYCLE6_THRESHOLD + control_detected = control_score >= CYCLE6_THRESHOLD + if sample["label"] == "watermarked": + n_wm += 1 + identity_wm += int(identity_detected) + control_wm += int(control_detected) + control_wm_max = control_score if control_wm_max is None else max(control_wm_max, control_score) + else: + n_uw += 1 + identity_uw += int(identity_detected) + control_uw += int(control_detected) + rows.append( + { + "sample_id": sample["sample_id"], + "label": sample["label"], + "domain": sample["domain"], + "source_sha256": sample["text_sha256"], + "visible_ok": visible_ok, + "required_sanitizers_keep": keep, + "identity": { + "score": identity_score, + "detected": identity_detected, + "n_tokens": identity_tokens, + }, + "control_mix": { + "score": control_score, + "detected": control_detected, + "n_tokens": control_tokens, + "text_sha256": sha256_text(control), + }, + } + ) + print( + f"{sample['sample_id']} identity={identity_score:.6f} control={control_score:.6f}", + flush=True, + ) + payload = { + "algorithm_version": "cycle8-control-mix-exploratory-v1", + "seed_base": seed_base, + "topic": used_topic, + "pair_count": pair_count, + "seen_corpus": False, + "independent_generation": True, + "product_authorized": False, + "confirmation_rewritten": False, + "mix_freeze_confirmation": False, + "mix_gate_not_rewritten": True, + "second_model": False, + "second_configuration": True, + "evidence_label": "HYPOTHESIS", + "model": _MODEL_ID, + "generation": "synthid_text.SynthIDGPT2LMHeadModel", + "detector": "synthid_text.logits_processing.SynthIDLogitsProcessor", + "keys_depth": keys_depth, + "threshold": CYCLE6_THRESHOLD, + "visible_pass": visible_pass, + "required_sanitizers_keep": sanitizer_keep, + "effectiveness": { + "identity_wm": {"detected": identity_wm, "n": n_wm, "rate": f"{identity_wm}/{n_wm}"}, + "control_mix_wm": {"detected": control_wm, "n": n_wm, "rate": f"{control_wm}/{n_wm}"}, + "identity_uw": {"detected": identity_uw, "n": n_uw, "rate": f"{identity_uw}/{n_uw}"}, + "control_mix_uw": {"detected": control_uw, "n": n_uw, "rate": f"{control_uw}/{n_uw}"}, + "control_mix_wm_max_score": control_wm_max, + }, + "do_not_generate_950000": True, + "rows": rows, + } + payload["scorecard_hash"] = sha256_json({key: value for key, value in payload.items() if key != "scorecard_hash"}) + out_dir.mkdir(parents=True, exist_ok=True) + write_canonical_json_fsynced(out_dir / "scorecard.json", payload) + write_canonical_json_fsynced( + out_dir / "samples.json", + {"samples": samples, "seed_base": seed_base, "topic": used_topic, "pair_count": pair_count}, + ) + sums = [f"{sha256_file(out_dir / name)} {name}" for name in ("scorecard.json", "samples.json")] + (out_dir / "SHA256SUMS.txt").write_text("\n".join(sums) + "\n", encoding="utf-8") + print(canonical_json_text({key: value for key, value in payload.items() if key != "rows"}), flush=True) + if seed_base != CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASE: + raise ValueError("unexpected control-mix seed") + return payload + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--seed-base", type=int, required=True) + parser.add_argument("--pair-count", type=int, default=_PAIR_COUNT) + parser.add_argument("--out-dir", type=str, required=True) + args = parser.parse_args() + generate_control_mix_corpus(args.seed_base, pair_count=args.pair_count, out_dir=Path(args.out_dir)) + + +if __name__ == "__main__": + main() diff --git a/fuckmark/seeds/ledger.py b/fuckmark/seeds/ledger.py index a0e07a8b..c35c7e06 100644 --- a/fuckmark/seeds/ledger.py +++ b/fuckmark/seeds/ledger.py @@ -28,6 +28,7 @@ CYCLE8_DEEPMIND_TRANSFER_REPLICATION_SEED_BASE = 1_070_000 CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_SEED_BASE = 1_080_000 CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE = 1_090_000 +CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASE = 1_100_000 CYCLE8_SCALE_EXPLORATORY_TOPIC = "carrier scaling" CYCLE8_SCALE_REPLICATION_TOPIC = "independent scale replication" CYCLE8_SCALE_VALIDATION_TOPIC = "clean scale validation" @@ -45,6 +46,7 @@ CYCLE8_DEEPMIND_TRANSFER_REPLICATION_TOPIC = "deepmind mix transfer replication" CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC = "deepmind mix transfer holdout" CYCLE8_SECOND_MODEL_TRANSFER_TOPIC = "second model mix transfer" +CYCLE8_CONTROL_MIX_EXPLORATORY_TOPIC = "control mix sanitizer exploratory" CYCLE8_MIX_CONFIRMATION_PRIMARY_TOPIC = "mix formal confirmation primary" CYCLE8_MIX_CONFIRMATION_REPLICATION_TOPIC = "mix formal confirmation replication" CYCLE8_MIX_CONFIRMATION_HOLD_TOPIC = "mix formal confirmation holdout" @@ -129,6 +131,7 @@ def global_seed_rows() -> tuple[dict[str, object], ...]: _row(1070000, "cycle8", "deepmind_transfer_replication", CYCLE8_DEEPMIND_TRANSFER_REPLICATION_TOPIC, "global-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.502999. Combined with 1060000+1080000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000."), _row(1080000, "cycle8", "deepmind_transfer_holdout", CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC, "global-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.506760. Combined with 1060000+1070000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000."), _row(1090000, "cycle8", "second_model_transfer", CYCLE8_SECOND_MODEL_TRANSFER_TOPIC, "global-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Reserved before generation. Independent DistilGPT2 DeepMind 30-key mix transfer n=16 HYPOTHESIS: identity WM 16/16, mix WM 0/16, mix UW 0/16, visible pass, mix max 0.504800. Different weights from openai-community/gpt2, same GPT-2 BPE tokenizer (vocab 50257). Not mix-freeze confirmation. Not confirmation-scale. Do not generate 950000."), + _row(1100000, "cycle8", "control_mix_exploratory_development", CYCLE8_CONTROL_MIX_EXPLORATORY_TOPIC, "global-seed-ledger-v1", generated=True, scored=True, publicly_exposed=False, spent=False, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Reserved before generation. Independent DeepMind 30-key GPT-2 control-mix exploratory n=16: identity WM 15/16, control-mix WM 0/16, UW 0/16, visible pass, required sanitizers keep, control-mix max 0.505851. Seen diagnostic on 920000 is not this corpus. Not confirmation. Do not generate 950000."), _row(1120000, "effectiveness", "schedule", "effectiveness profile", "historic", generated=True, scored=True, publicly_exposed=True, spent=True, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Frozen effectiveness-profile schedule base."), _row(1130000, "effectiveness", "schedule", "effectiveness profile", "historic", generated=True, scored=True, publicly_exposed=True, spent=True, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Frozen effectiveness-profile schedule base."), _row(1140000, "effectiveness", "schedule", "effectiveness profile", "historic", generated=True, scored=True, publicly_exposed=True, spent=True, eligible_for_confirmation=False, eligible_as_unseen_validation=False, notes="Frozen effectiveness-profile schedule base."), @@ -162,7 +165,8 @@ def global_seed_ledger_payload() -> dict[str, object]: "scale follow-up. " "Seeds 1060000, 1070000, and 1080000 are reserved for independent " "DeepMind synthid-text 30-key mix transfer. " - "Seed 1090000 is reserved for independent second-model mix transfer." + "Seed 1090000 is reserved for independent second-model mix transfer. " + "Seed 1100000 is reserved for independent control-mix sanitizer exploratory." ), "confirmation_content_forbidden_seed_bases": list(CONFIRMATION_CONTENT_FORBIDDEN_SEED_BASES), "publicly_exposed_unseen_invalid_seed_bases": list(PUBLICLY_EXPOSED_UNSEEN_INVALID_SEED_BASES), @@ -200,6 +204,8 @@ def global_seed_ledger_payload() -> dict[str, object]: "cycle8_deepmind_transfer_holdout_topic": CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC, "cycle8_second_model_transfer_seed_base": CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE, "cycle8_second_model_transfer_topic": CYCLE8_SECOND_MODEL_TRANSFER_TOPIC, + "cycle8_control_mix_exploratory_seed_base": CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASE, + "cycle8_control_mix_exploratory_topic": CYCLE8_CONTROL_MIX_EXPLORATORY_TOPIC, "cycle8_mix_confirmation_primary_topic": CYCLE8_MIX_CONFIRMATION_PRIMARY_TOPIC, "cycle8_mix_confirmation_replication_topic": CYCLE8_MIX_CONFIRMATION_REPLICATION_TOPIC, "cycle8_mix_confirmation_hold_topic": CYCLE8_MIX_CONFIRMATION_HOLD_TOPIC, @@ -346,6 +352,20 @@ def assert_new_cycle8_second_model_transfer_generation_seed(seed_base: int) -> N raise ValueError("unseen validation seeds must not be used for development generation") +def assert_new_cycle8_control_mix_generation_seed(seed_base: int) -> None: + require_int("seed_base", seed_base) + assert_seed_not_confirmation_content(seed_base) + row = row_for_seed_base(seed_base) + if seed_base == CYCLE8_SCALE_VALIDATION_SEED_BASE: + raise ValueError("scale validation seed is reserved until the U+034F x1 mechanism is frozen") + if seed_base != CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASE: + raise ValueError("seed_base is not a Cycle 8 control-mix generation seed") + if row["eligible_for_confirmation"] is True: + raise ValueError("confirmation-reserved seeds must not be used for development") + if row["eligible_as_unseen_validation"] is True: + raise ValueError("unseen validation seeds must not be used for development generation") + + def known_seed_bases() -> Sequence[int]: return tuple(int(row["seed_base"]) for row in global_seed_rows()) diff --git a/specs/cycle8/fuckmark-cycle8-control-carrier-scan-v1.json b/specs/cycle8/fuckmark-cycle8-control-carrier-scan-v1.json new file mode 100644 index 00000000..9cd90f86 --- /dev/null +++ b/specs/cycle8/fuckmark-cycle8-control-carrier-scan-v1.json @@ -0,0 +1 @@ +{"algorithm_version":"cycle8-control-carrier-scan-v1","assigned_width0_class":"cycle8-invisible-carrier-closed-set-v1","assigned_width0_closed_set_hash":"425f85e5e91c1513750e5a3da08a45f537a5b2e5c07f47854dc2c9f6420f794d","assigned_width0_feasibility_hash":"edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483","assigned_width0_stronger_mechanism":null,"boundary":"Assigned width-0 insertions remain Mn, Me, or Cf and stay closed. The next insertion class is general category Cc. Layout controls and NUL are excluded. DEL and C1 except NEXT LINE survive Mn-strip, default-ignorable-strip, Cf-strip, NFC, NFKC, NFKD, frozen Cycle 6/7 sanitizers, and the combination of those arms. Product display width still counts them. Research width skips the eligible set because Chromium pre, textarea, and contenteditable pixels match the source. ISO-6429 C1 device controls including CSI remain in the measured eligible set. That ordinary-text and terminal risk blocks product authorization and does not rewrite mix sanitizer FAIL. Terminal pixels stay UNKNOWN.","c0_non_layout_non_hostile_not_eligible":["U+0001","U+0002","U+0003","U+0004","U+0005","U+0006","U+0007","U+0008","U+000E","U+000F","U+0010","U+0011","U+0012","U+0013","U+0014","U+0015","U+0016","U+0017","U+0018","U+0019","U+001A","U+001B","U+001C","U+001D","U+001E","U+001F"],"cc_probe_count":65,"control_carrier_hash":"1e63bd5d39f04ba1f7d3634c60cea1f218e118590dd8d09b55ffb449908010e4","eligible_are_cc":true,"eligible_codepoints":["U+007F","U+0080","U+0081","U+0082","U+0083","U+0084","U+0086","U+0087","U+0088","U+0089","U+008A","U+008B","U+008C","U+008D","U+008E","U+008F","U+0090","U+0091","U+0092","U+0093","U+0094","U+0095","U+0096","U+0097","U+0098","U+0099","U+009A","U+009B","U+009C","U+009D","U+009E","U+009F"],"eligible_count":32,"eligible_not_default_ignorable":true,"eligible_product_width_delta_one":true,"eligible_required_sanitizers_keep":true,"eligible_research_width_delta_zero":true,"empty_glyph_probes":[{"category":"Zs","default_ignorable":false,"label":"U+1680","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"So","default_ignorable":false,"label":"U+2800","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"So","default_ignorable":false,"label":"U+FFFD","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Cn","default_ignorable":false,"label":"U+FFFE","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Cn","default_ignorable":false,"label":"U+FFFF","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Cn","default_ignorable":false,"label":"U+FDD0","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Co","default_ignorable":false,"label":"U+E000","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Co","default_ignorable":false,"label":"U+F8FF","product_display_width_delta":1,"required_sanitizers_keep":true}],"hostile_control_codepoints":["U+0000"],"hostile_control_labels":["U+0000"],"iso6429_device_control_codepoints":["U+0084","U+008D","U+008E","U+008F","U+0090","U+0098","U+009B","U+009C","U+009D","U+009E","U+009F"],"iso6429_device_controls_remain_in_eligible_set":true,"layout_control_codepoints":["U+0009","U+000A","U+000B","U+000C","U+000D","U+0085","U+2028","U+2029"],"layout_control_labels":["U+0009","U+000A","U+000B","U+000C","U+000D","U+0085"],"mix_gate_not_rewritten":true,"priority_zero":"exact_user_visible_text_preservation","product_authorized":false,"product_display_width_proxy":"FAIL","search_space":"general_category_Cc_plus_empty_glyph_probes","terminal_pixels":"UNKNOWN"} diff --git a/specs/cycle8/fuckmark-cycle8-seed-ledger-v2.json b/specs/cycle8/fuckmark-cycle8-seed-ledger-v2.json index 77545c35..11820b6e 100644 --- a/specs/cycle8/fuckmark-cycle8-seed-ledger-v2.json +++ b/specs/cycle8/fuckmark-cycle8-seed-ledger-v2.json @@ -1 +1 @@ -{"algorithm_version":"cycle8-seed-ledger-v2","confirmation_reserved_seed_bases":[830000,840000,850000],"cycle7_publicly_exposed_validation_seed_base":880000,"deepmind_transfer_holdout_seed_base":1080000,"deepmind_transfer_holdout_topic":"deepmind mix transfer holdout","deepmind_transfer_primary_seed_base":1060000,"deepmind_transfer_primary_topic":"deepmind mix transfer primary","deepmind_transfer_replication_seed_base":1070000,"deepmind_transfer_replication_topic":"deepmind mix transfer replication","density_exploratory_seed_base":960000,"density_exploratory_topic":"carrier density follow-up","exploratory_development_seed_base":890000,"exploratory_development_seed_bases":[890000,920000],"exploratory_replication_seed_base":900000,"exploratory_replication_topic":"invisible carrier replication","exploratory_topic":"invisible carrier development","generation":"cycle8_exact_visible_projection","historical_ledger_version":"cycle8-seed-ledger-v1","inherited_spent_seed_bases":[760000,770000,780000,720000,730000,401000,402000,500000,61000,1120000,1130000,1140000,1150000,1160000,810000,820000,860000,870000],"ledger_hash":"761c50d90308a06255c56c905cb66f69c16c561602943dd09acce7de5dcd8270","letter_benchmark_pair_count":64,"letter_benchmark_primary_seed_base":980000,"letter_benchmark_primary_topic":"letter carrier system benchmark","letter_benchmark_replication_seed_base":990000,"letter_benchmark_replication_topic":"letter carrier benchmark replication","letter_exploratory_seed_base":970000,"letter_exploratory_topic":"intra-word carrier follow-up","margin_primary_seed_base":1000000,"margin_primary_topic":"margin robustness development","margin_replication_seed_base":1010000,"margin_replication_topic":"margin robustness replication","mix_primary_seed_base":1020000,"mix_primary_topic":"letter mix margin development","mix_replication_seed_base":1030000,"mix_replication_topic":"letter mix margin replication","mix_scale_primary_seed_base":1040000,"mix_scale_primary_topic":"letter mix scale development","mix_scale_replication_seed_base":1050000,"mix_scale_replication_topic":"letter mix scale replication","scale_exploratory_seed_base":930000,"scale_exploratory_topic":"carrier scaling","scale_pair_count":16,"scale_replication_seed_base":940000,"scale_replication_topic":"independent scale replication","scale_validation_seed_base":950000,"scale_validation_topic":"clean scale validation","second_model_transfer_seed_base":1090000,"second_model_transfer_topic":"second model mix transfer","secondary_exploratory_seed_base":920000,"selection_rule":"Cycle 8 seeds 890000, 900000, 910000, and 920000 were assigned before any Cycle 8 text generation or detector look. Scale seeds 930000, 940000, and 950000 and topics 'carrier scaling', 'independent scale replication', and 'clean scale validation' were reserved in global-seed-ledger-v1 before any scale generation. Seed 880000 is PUBLICLY_EXPOSED by PR #98 and is not eligible as unseen validation. Seeds 830000, 840000, and 850000 were generated once as cycle8-mix-freeze-v1 confirmation and are spent. Do not inspect residual text to write rules. Do not generate 950000 until the U+034F x1 mechanism is frozen. Density seed 960000 and topic 'carrier density follow-up' were reserved in global-seed-ledger-v1 before density generation. Letter seed 970000 and topic 'intra-word carrier follow-up' were reserved in global-seed-ledger-v1 before letter generation. Benchmark seeds 980000 and 990000 and topics 'letter carrier system benchmark' and 'letter carrier benchmark replication' were reserved in global-seed-ledger-v1 before benchmark generation. Margin seeds 1000000 and 1010000 and topics 'margin robustness development' and 'margin robustness replication' were reserved in global-seed-ledger-v1 before margin generation. Mix seeds 1020000 and 1030000 and topics 'letter mix margin development' and 'letter mix margin replication' were reserved in global-seed-ledger-v1 before mix generation. Mix scale seeds 1040000 and 1050000 and topics 'letter mix scale development' and 'letter mix scale replication' were reserved in global-seed-ledger-v1 before mix scale generation. DeepMind mix transfer seeds 1060000, 1070000, and 1080000 and topics 'deepmind mix transfer primary', 'deepmind mix transfer replication', and 'deepmind mix transfer holdout' were reserved in global-seed-ledger-v1 before DeepMind transfer generation. Second-model mix transfer seed 1090000 and topic 'second model mix transfer' were reserved in global-seed-ledger-v1 before second-model transfer generation. cycle8-mix-freeze-v1 confirmation of 830000, 840000, and 850000 was generated once under the freeze; those bases are spent. Do not rerun looking for zero, and do not retune on Cycle 6 formal residuals.","tiny_scored_seed_bases":[890000,900000,910000],"validation_development_seed_base":910000,"validation_topic":"invisible carrier validation"} +{"algorithm_version":"cycle8-seed-ledger-v2","confirmation_reserved_seed_bases":[830000,840000,850000],"control_mix_exploratory_seed_base":1100000,"control_mix_exploratory_topic":"control mix sanitizer exploratory","cycle7_publicly_exposed_validation_seed_base":880000,"deepmind_transfer_holdout_seed_base":1080000,"deepmind_transfer_holdout_topic":"deepmind mix transfer holdout","deepmind_transfer_primary_seed_base":1060000,"deepmind_transfer_primary_topic":"deepmind mix transfer primary","deepmind_transfer_replication_seed_base":1070000,"deepmind_transfer_replication_topic":"deepmind mix transfer replication","density_exploratory_seed_base":960000,"density_exploratory_topic":"carrier density follow-up","exploratory_development_seed_base":890000,"exploratory_development_seed_bases":[890000,920000],"exploratory_replication_seed_base":900000,"exploratory_replication_topic":"invisible carrier replication","exploratory_topic":"invisible carrier development","generation":"cycle8_exact_visible_projection","historical_ledger_version":"cycle8-seed-ledger-v1","inherited_spent_seed_bases":[760000,770000,780000,720000,730000,401000,402000,500000,61000,1120000,1130000,1140000,1150000,1160000,810000,820000,860000,870000],"ledger_hash":"97e65dbb5c0cde0481e76e36c0ee032e51c75aad0c90189003368c1370e71110","letter_benchmark_pair_count":64,"letter_benchmark_primary_seed_base":980000,"letter_benchmark_primary_topic":"letter carrier system benchmark","letter_benchmark_replication_seed_base":990000,"letter_benchmark_replication_topic":"letter carrier benchmark replication","letter_exploratory_seed_base":970000,"letter_exploratory_topic":"intra-word carrier follow-up","margin_primary_seed_base":1000000,"margin_primary_topic":"margin robustness development","margin_replication_seed_base":1010000,"margin_replication_topic":"margin robustness replication","mix_primary_seed_base":1020000,"mix_primary_topic":"letter mix margin development","mix_replication_seed_base":1030000,"mix_replication_topic":"letter mix margin replication","mix_scale_primary_seed_base":1040000,"mix_scale_primary_topic":"letter mix scale development","mix_scale_replication_seed_base":1050000,"mix_scale_replication_topic":"letter mix scale replication","scale_exploratory_seed_base":930000,"scale_exploratory_topic":"carrier scaling","scale_pair_count":16,"scale_replication_seed_base":940000,"scale_replication_topic":"independent scale replication","scale_validation_seed_base":950000,"scale_validation_topic":"clean scale validation","second_model_transfer_seed_base":1090000,"second_model_transfer_topic":"second model mix transfer","secondary_exploratory_seed_base":920000,"selection_rule":"Cycle 8 seeds 890000, 900000, 910000, and 920000 were assigned before any Cycle 8 text generation or detector look. Scale seeds 930000, 940000, and 950000 and topics 'carrier scaling', 'independent scale replication', and 'clean scale validation' were reserved in global-seed-ledger-v1 before any scale generation. Seed 880000 is PUBLICLY_EXPOSED by PR #98 and is not eligible as unseen validation. Seeds 830000, 840000, and 850000 were generated once as cycle8-mix-freeze-v1 confirmation and are spent. Do not inspect residual text to write rules. Do not generate 950000 until the U+034F x1 mechanism is frozen. Density seed 960000 and topic 'carrier density follow-up' were reserved in global-seed-ledger-v1 before density generation. Letter seed 970000 and topic 'intra-word carrier follow-up' were reserved in global-seed-ledger-v1 before letter generation. Benchmark seeds 980000 and 990000 and topics 'letter carrier system benchmark' and 'letter carrier benchmark replication' were reserved in global-seed-ledger-v1 before benchmark generation. Margin seeds 1000000 and 1010000 and topics 'margin robustness development' and 'margin robustness replication' were reserved in global-seed-ledger-v1 before margin generation. Mix seeds 1020000 and 1030000 and topics 'letter mix margin development' and 'letter mix margin replication' were reserved in global-seed-ledger-v1 before mix generation. Mix scale seeds 1040000 and 1050000 and topics 'letter mix scale development' and 'letter mix scale replication' were reserved in global-seed-ledger-v1 before mix scale generation. DeepMind mix transfer seeds 1060000, 1070000, and 1080000 and topics 'deepmind mix transfer primary', 'deepmind mix transfer replication', and 'deepmind mix transfer holdout' were reserved in global-seed-ledger-v1 before DeepMind transfer generation. Second-model mix transfer seed 1090000 and topic 'second model mix transfer' were reserved in global-seed-ledger-v1 before second-model transfer generation. Control-mix exploratory seed 1100000 and topic 'control mix sanitizer exploratory' were reserved in global-seed-ledger-v1 before control-mix generation. cycle8-mix-freeze-v1 confirmation of 830000, 840000, and 850000 was generated once under the freeze; those bases are spent. Do not rerun looking for zero, and do not retune on Cycle 6 formal residuals.","tiny_scored_seed_bases":[890000,900000,910000],"validation_development_seed_base":910000,"validation_topic":"invisible carrier validation"} diff --git a/specs/fuckmark-global-seed-ledger-v1.json b/specs/fuckmark-global-seed-ledger-v1.json index 4828c21a..a65eadb8 100644 --- a/specs/fuckmark-global-seed-ledger-v1.json +++ b/specs/fuckmark-global-seed-ledger-v1.json @@ -1 +1 @@ -{"algorithm_version":"global-seed-ledger-v1","confirmation_content_forbidden_seed_bases":[830000,840000,850000],"cycle8_deepmind_transfer_holdout_seed_base":1080000,"cycle8_deepmind_transfer_holdout_topic":"deepmind mix transfer holdout","cycle8_deepmind_transfer_primary_seed_base":1060000,"cycle8_deepmind_transfer_primary_topic":"deepmind mix transfer primary","cycle8_deepmind_transfer_replication_seed_base":1070000,"cycle8_deepmind_transfer_replication_topic":"deepmind mix transfer replication","cycle8_density_exploratory_seed_base":960000,"cycle8_density_exploratory_topic":"carrier density follow-up","cycle8_letter_benchmark_primary_seed_base":980000,"cycle8_letter_benchmark_primary_topic":"letter carrier system benchmark","cycle8_letter_benchmark_replication_seed_base":990000,"cycle8_letter_benchmark_replication_topic":"letter carrier benchmark replication","cycle8_letter_exploratory_seed_base":970000,"cycle8_letter_exploratory_topic":"intra-word carrier follow-up","cycle8_margin_primary_seed_base":1000000,"cycle8_margin_primary_topic":"margin robustness development","cycle8_margin_replication_seed_base":1010000,"cycle8_margin_replication_topic":"margin robustness replication","cycle8_mix_confirmation_hold_topic":"mix formal confirmation holdout","cycle8_mix_confirmation_primary_topic":"mix formal confirmation primary","cycle8_mix_confirmation_replication_topic":"mix formal confirmation replication","cycle8_mix_primary_seed_base":1020000,"cycle8_mix_primary_topic":"letter mix margin development","cycle8_mix_replication_seed_base":1030000,"cycle8_mix_replication_topic":"letter mix margin replication","cycle8_mix_scale_primary_seed_base":1040000,"cycle8_mix_scale_primary_topic":"letter mix scale development","cycle8_mix_scale_replication_seed_base":1050000,"cycle8_mix_scale_replication_topic":"letter mix scale replication","cycle8_scale_exploratory_seed_base":930000,"cycle8_scale_exploratory_topic":"carrier scaling","cycle8_scale_replication_seed_base":940000,"cycle8_scale_replication_topic":"independent scale replication","cycle8_scale_validation_seed_base":950000,"cycle8_scale_validation_topic":"clean scale validation","cycle8_second_model_transfer_seed_base":1090000,"cycle8_second_model_transfer_topic":"second model mix transfer","ledger_hash":"7faa11e0f3efa7b5053219eff3d7292b1910cfbd4a8876372c3fa35137b0e47d","publicly_exposed_unseen_invalid_seed_bases":[880000],"rows":[{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic schedule","notes":"Historic TinyDev schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":61000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic tiny-dev","notes":"Historic TinyDev canonical attack base.","publicly_exposed":true,"role":"attack_development","scored":true,"seed_base":401000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic tiny-dev","notes":"Historic TinyDev base.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":402000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"tiny-dev-v3","notes":"Budget-scaled coverage tiny-dev-v3 base.","publicly_exposed":true,"role":"attack_development","scored":true,"seed_base":410000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"coverage","notes":"Coverage-effectiveness seed.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":420000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"coverage","notes":"Coverage-completion seed.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":430000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"coverage","notes":"Coverage-completion seed.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":440000,"spent":true},{"cycle":"calibration","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic calibration","notes":"Historic calibration base.","publicly_exposed":true,"role":"threshold_calibration","scored":true,"seed_base":500000,"spent":true},{"cycle":"cycle4","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle4","generated":true,"generation_topic":"exact survival","notes":"Cycle 4 confirmation corpus. Spent.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":530000,"spent":true},{"cycle":"cycle4","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle4","generated":true,"generation_topic":"exact survival","notes":"Cycle 4 confirmation corpus. Spent.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":540000,"spent":true},{"cycle":"cycle4","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle4","generated":true,"generation_topic":"exact survival","notes":"Cycle 4 confirmation corpus. Spent.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":550000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 development","notes":"Cycle 6 development 0/16. Spent.","publicly_exposed":true,"role":"development","scored":true,"seed_base":720000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 development","notes":"Cycle 6 development. Spent.","publicly_exposed":true,"role":"development","scored":true,"seed_base":730000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 formal","notes":"Cycle 6 formal confirmation 2/64. Spent. Do not retune on residuals.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":760000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 formal","notes":"Cycle 6 formal confirmation 2/64. Spent. Do not retune on residuals.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":770000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 formal","notes":"Cycle 6 formal confirmation 3/64. Spent. Do not retune on residuals.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":780000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"reproducibility","notes":"Cycle 7 Stage A. Do not keep expanding rules against it.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":810000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"held-out evaluation","notes":"Cycle 7 Stage B3 validation. Spent. Do not retune.","publicly_exposed":true,"role":"validation_development","scored":true,"seed_base":820000,"spent":true},{"cycle":"shared","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"mix formal confirmation primary","notes":"cycle8-mix-freeze-v1 one-shot confirmation n=64: mix 0/64 raw WM, mix UW 0/64, visible 128/128, mix max 0.51960. Combined 0/192. Spent. Do not retune on residuals. Do not rerun looking for zero.","publicly_exposed":true,"role":"confirmation_reserved","scored":true,"seed_base":830000,"spent":true},{"cycle":"shared","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"mix formal confirmation replication","notes":"cycle8-mix-freeze-v1 one-shot confirmation n=64: mix 0/64 raw WM, mix UW 0/64, visible 128/128, mix max 0.52430. Combined 0/192. Spent. Do not retune on residuals. Do not rerun looking for zero.","publicly_exposed":true,"role":"confirmation_reserved","scored":true,"seed_base":840000,"spent":true},{"cycle":"shared","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"mix formal confirmation holdout","notes":"cycle8-mix-freeze-v1 one-shot confirmation n=64: mix 0/64 raw WM, mix UW 0/64, visible 128/128, mix max 0.51695. Combined 0/192. Spent. Do not retune on residuals. Do not rerun looking for zero.","publicly_exposed":true,"role":"confirmation_reserved","scored":true,"seed_base":850000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"independent replication","notes":"Cycle 7 Stage B1. Do not keep expanding rules against it.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":860000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"measurement protocol","notes":"Cycle 7 Stage C1. Spent for new rule construction.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":870000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"independent check","notes":"PUBLICLY_EXPOSED by closed unmerged PR #98 Stage D validation artifacts. No longer eligible as unseen validation. Do not inspect residual rows for product tuning. Do not copy Stage D newline edits onto the product path.","publicly_exposed":true,"role":"validation_development","scored":true,"seed_base":880000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier development","notes":"Cycle 8 tiny n=4 on main. Identifier was also used on unmerged PR #98 Cycle 7 Stage D. Do not treat as unseen validation.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":890000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier replication","notes":"Cycle 8 tiny n=4 replication. Spent as unseen validation.","publicly_exposed":true,"role":"exploratory_replication","scored":true,"seed_base":900000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier validation","notes":"Cycle 8 tiny n=4 validation. Spent. Do not reuse as future clean validation.","publicly_exposed":true,"role":"validation_development","scored":true,"seed_base":910000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier development","notes":"Cycle 8 secondary exploratory. DeepMind synthid-text 30-key GPT-2 mix transfer n=16 HYPOTHESIS: identity WM 16/16, mix WM 0/16, mix UW 0/16, visible pass. Not confirmation. Not a second model.","publicly_exposed":false,"role":"exploratory_development","scored":true,"seed_base":920000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"carrier scaling","notes":"Reserved before generation. U+034F space x1 scale exploratory: 0/16, 0/32, then 1/64 raw transformed WM. Letter-x1 diagnostic rescore of this seen corpus is 0/64. Do not rewrite space 1/64 as zero. Not confirmation.","publicly_exposed":false,"role":"scale_exploratory_development","scored":true,"seed_base":930000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"independent scale replication","notes":"Reserved before generation. Independent U+034F space x1 n=64 replication: 0/64 raw transformed WM. Max score 0.557052 vs threshold 0.557099. Letter-x1 diagnostic rescore of this seen corpus is 0/64. Does not erase space-x1 930000 1/64. Not confirmation.","publicly_exposed":false,"role":"scale_replication","scored":true,"seed_base":940000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":true,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":false,"generation_topic":"clean scale validation","notes":"Reserved before generation. Clean unseen validation after mechanism freeze. Do not generate until U+034F x1 is frozen.","publicly_exposed":false,"role":"scale_validation","scored":false,"seed_base":950000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"carrier density follow-up","notes":"Reserved before generation. Detector-blind U+034F space plus word-final letter n=16: space-x1 1/16 and space-wordfinal 1/16 on the same residual row. Density did not beat space-x1. Letter-x1 diagnostic rescore of this seen corpus is 0/16. Do not rewrite space 1/16 as zero. Do not inspect residual text to write lexical rules. Not confirmation.","publicly_exposed":false,"role":"density_exploratory_development","scored":true,"seed_base":960000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"intra-word carrier follow-up","notes":"Reserved before generation. Independent U+034F letter-x1: n=16 0/16 then n=64 0/64 raw transformed WM, 0 UW, visible 128/128. Experimental letter-x1 0/192 = seen diagnostic 930000 n=64 0/64 plus 940000 n=64 0/64 plus independent 970000 n=64 0/64 (128/192 seen, 64/192 independent). Do not rewrite space-x1 1/64 or 1/16 as zero. Do not generate 950000. Not confirmation.","publicly_exposed":false,"role":"letter_exploratory_development","scored":true,"seed_base":970000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter carrier system benchmark","notes":"Reserved before generation. Letter-x1 system benchmark primary n=64: letter-x1 0/64 raw WM, space-x1 0/64, identity 62/64, visible 128/128. Letter max score 0.55407 vs threshold 0.55710. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"letter_benchmark_primary","scored":true,"seed_base":980000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter carrier benchmark replication","notes":"Reserved before generation. Letter-x1 system benchmark independent replication n=64: letter-x1 0/64 raw WM, space-x1 1/64, identity 64/64, visible 128/128. Letter max score 0.52727. Combined with 980000: letter 0/128, space 1/128. Residual text not inspected. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"letter_benchmark_replication","scored":true,"seed_base":990000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"margin robustness development","notes":"Reserved before generation. Letter-space n=64: letter-x1 0/64, letter-space 0/64, identity 63/64, visible 128/128. Letter-space max 0.52477. Not confirmation. Spent as unseen for letter-space. Do not generate 950000.","publicly_exposed":false,"role":"margin_robustness_primary","scored":true,"seed_base":1000000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"margin robustness replication","notes":"Reserved before generation. Independent letter-space n=64: letter-x1 1/64, letter-space 1/64 on the same residual row, identity 64/64, UW letter-space 0/64. Combined letter-space 1/128. Residual text not inspected. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"margin_robustness_replication","scored":true,"seed_base":1010000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix margin development","notes":"Reserved before generation. U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 64/64, visible 128/128. Mix max 0.51369 versus threshold 0.55710 (gap 0.04341). Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_margin_primary","scored":true,"seed_base":1020000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix margin replication","notes":"Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 64/64, mix UW 0/64. Mix max 0.51307. Combined with 1020000: mix 0/128, worst max 0.51369, gap 0.04341. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_margin_replication","scored":true,"seed_base":1030000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix scale development","notes":"Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 62/64, visible 128/128. Mix max 0.51952 versus threshold 0.55710 (gap 0.03758). Closest row had 31 insertions. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_scale_primary","scored":true,"seed_base":1040000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix scale replication","notes":"Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 60/64, mix UW 0/64. Mix max 0.51051. Combined with 1020000+1030000+1040000: mix 0/256, worst max 0.51952, gap 0.03758. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_scale_replication","scored":true,"seed_base":1050000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"deepmind mix transfer primary","notes":"Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.505630. Combined with 1070000+1080000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000.","publicly_exposed":false,"role":"deepmind_transfer_primary","scored":true,"seed_base":1060000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"deepmind mix transfer replication","notes":"Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.502999. Combined with 1060000+1080000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000.","publicly_exposed":false,"role":"deepmind_transfer_replication","scored":true,"seed_base":1070000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"deepmind mix transfer holdout","notes":"Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.506760. Combined with 1060000+1070000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000.","publicly_exposed":false,"role":"deepmind_transfer_holdout","scored":true,"seed_base":1080000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"second model mix transfer","notes":"Reserved before generation. Independent DistilGPT2 DeepMind 30-key mix transfer n=16 HYPOTHESIS: identity WM 16/16, mix WM 0/16, mix UW 0/16, visible pass, mix max 0.504800. Different weights from openai-community/gpt2, same GPT-2 BPE tokenizer (vocab 50257). Not mix-freeze confirmation. Not confirmation-scale. Do not generate 950000.","publicly_exposed":false,"role":"second_model_transfer","scored":true,"seed_base":1090000,"spent":false},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1120000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1130000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1140000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1150000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1160000,"spent":true}],"selection_rule":"Every new development, validation, or confirmation seed must be reserved in this ledger before generation. Seed 880000 is PUBLICLY_EXPOSED by PR #98 and is not eligible as unseen validation. Seeds 830000, 840000, and 850000 were generated once under cycle8-mix-freeze-v1 and are spent. Do not rerun looking for zero. Do not generate 950000. Seed 960000 is reserved for detector-blind density follow-up. Seed 970000 is reserved for detector-blind intra-word letter-carrier follow-up. Seeds 980000 and 990000 are reserved for the letter-x1 system benchmark. Seeds 1000000 and 1010000 are reserved for detector-blind letter-plus-space margin robustness follow-up. Seeds 1020000 and 1030000 are reserved for detector-blind U+034F/U+FE00 letter-mix margin follow-up. Seeds 1040000 and 1050000 are reserved for detector-blind letter-mix scale follow-up. Seeds 1060000, 1070000, and 1080000 are reserved for independent DeepMind synthid-text 30-key mix transfer. Seed 1090000 is reserved for independent second-model mix transfer."} +{"algorithm_version":"global-seed-ledger-v1","confirmation_content_forbidden_seed_bases":[830000,840000,850000],"cycle8_control_mix_exploratory_seed_base":1100000,"cycle8_control_mix_exploratory_topic":"control mix sanitizer exploratory","cycle8_deepmind_transfer_holdout_seed_base":1080000,"cycle8_deepmind_transfer_holdout_topic":"deepmind mix transfer holdout","cycle8_deepmind_transfer_primary_seed_base":1060000,"cycle8_deepmind_transfer_primary_topic":"deepmind mix transfer primary","cycle8_deepmind_transfer_replication_seed_base":1070000,"cycle8_deepmind_transfer_replication_topic":"deepmind mix transfer replication","cycle8_density_exploratory_seed_base":960000,"cycle8_density_exploratory_topic":"carrier density follow-up","cycle8_letter_benchmark_primary_seed_base":980000,"cycle8_letter_benchmark_primary_topic":"letter carrier system benchmark","cycle8_letter_benchmark_replication_seed_base":990000,"cycle8_letter_benchmark_replication_topic":"letter carrier benchmark replication","cycle8_letter_exploratory_seed_base":970000,"cycle8_letter_exploratory_topic":"intra-word carrier follow-up","cycle8_margin_primary_seed_base":1000000,"cycle8_margin_primary_topic":"margin robustness development","cycle8_margin_replication_seed_base":1010000,"cycle8_margin_replication_topic":"margin robustness replication","cycle8_mix_confirmation_hold_topic":"mix formal confirmation holdout","cycle8_mix_confirmation_primary_topic":"mix formal confirmation primary","cycle8_mix_confirmation_replication_topic":"mix formal confirmation replication","cycle8_mix_primary_seed_base":1020000,"cycle8_mix_primary_topic":"letter mix margin development","cycle8_mix_replication_seed_base":1030000,"cycle8_mix_replication_topic":"letter mix margin replication","cycle8_mix_scale_primary_seed_base":1040000,"cycle8_mix_scale_primary_topic":"letter mix scale development","cycle8_mix_scale_replication_seed_base":1050000,"cycle8_mix_scale_replication_topic":"letter mix scale replication","cycle8_scale_exploratory_seed_base":930000,"cycle8_scale_exploratory_topic":"carrier scaling","cycle8_scale_replication_seed_base":940000,"cycle8_scale_replication_topic":"independent scale replication","cycle8_scale_validation_seed_base":950000,"cycle8_scale_validation_topic":"clean scale validation","cycle8_second_model_transfer_seed_base":1090000,"cycle8_second_model_transfer_topic":"second model mix transfer","ledger_hash":"7adeaa6ee9604fc4890f6289eb5b467c6324f1aeb9f364b00f874f2070964c0c","publicly_exposed_unseen_invalid_seed_bases":[880000],"rows":[{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic schedule","notes":"Historic TinyDev schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":61000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic tiny-dev","notes":"Historic TinyDev canonical attack base.","publicly_exposed":true,"role":"attack_development","scored":true,"seed_base":401000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic tiny-dev","notes":"Historic TinyDev base.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":402000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"tiny-dev-v3","notes":"Budget-scaled coverage tiny-dev-v3 base.","publicly_exposed":true,"role":"attack_development","scored":true,"seed_base":410000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"coverage","notes":"Coverage-effectiveness seed.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":420000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"coverage","notes":"Coverage-completion seed.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":430000,"spent":true},{"cycle":"tiny_dev","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"coverage","notes":"Coverage-completion seed.","publicly_exposed":true,"role":"historic","scored":true,"seed_base":440000,"spent":true},{"cycle":"calibration","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"historic calibration","notes":"Historic calibration base.","publicly_exposed":true,"role":"threshold_calibration","scored":true,"seed_base":500000,"spent":true},{"cycle":"cycle4","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle4","generated":true,"generation_topic":"exact survival","notes":"Cycle 4 confirmation corpus. Spent.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":530000,"spent":true},{"cycle":"cycle4","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle4","generated":true,"generation_topic":"exact survival","notes":"Cycle 4 confirmation corpus. Spent.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":540000,"spent":true},{"cycle":"cycle4","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle4","generated":true,"generation_topic":"exact survival","notes":"Cycle 4 confirmation corpus. Spent.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":550000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 development","notes":"Cycle 6 development 0/16. Spent.","publicly_exposed":true,"role":"development","scored":true,"seed_base":720000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 development","notes":"Cycle 6 development. Spent.","publicly_exposed":true,"role":"development","scored":true,"seed_base":730000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 formal","notes":"Cycle 6 formal confirmation 2/64. Spent. Do not retune on residuals.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":760000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 formal","notes":"Cycle 6 formal confirmation 2/64. Spent. Do not retune on residuals.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":770000,"spent":true},{"cycle":"cycle6","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle6","generated":true,"generation_topic":"cycle6 formal","notes":"Cycle 6 formal confirmation 3/64. Spent. Do not retune on residuals.","publicly_exposed":true,"role":"confirmation","scored":true,"seed_base":780000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"reproducibility","notes":"Cycle 7 Stage A. Do not keep expanding rules against it.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":810000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"held-out evaluation","notes":"Cycle 7 Stage B3 validation. Spent. Do not retune.","publicly_exposed":true,"role":"validation_development","scored":true,"seed_base":820000,"spent":true},{"cycle":"shared","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"mix formal confirmation primary","notes":"cycle8-mix-freeze-v1 one-shot confirmation n=64: mix 0/64 raw WM, mix UW 0/64, visible 128/128, mix max 0.51960. Combined 0/192. Spent. Do not retune on residuals. Do not rerun looking for zero.","publicly_exposed":true,"role":"confirmation_reserved","scored":true,"seed_base":830000,"spent":true},{"cycle":"shared","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"mix formal confirmation replication","notes":"cycle8-mix-freeze-v1 one-shot confirmation n=64: mix 0/64 raw WM, mix UW 0/64, visible 128/128, mix max 0.52430. Combined 0/192. Spent. Do not retune on residuals. Do not rerun looking for zero.","publicly_exposed":true,"role":"confirmation_reserved","scored":true,"seed_base":840000,"spent":true},{"cycle":"shared","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"mix formal confirmation holdout","notes":"cycle8-mix-freeze-v1 one-shot confirmation n=64: mix 0/64 raw WM, mix UW 0/64, visible 128/128, mix max 0.51695. Combined 0/192. Spent. Do not retune on residuals. Do not rerun looking for zero.","publicly_exposed":true,"role":"confirmation_reserved","scored":true,"seed_base":850000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"independent replication","notes":"Cycle 7 Stage B1. Do not keep expanding rules against it.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":860000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"measurement protocol","notes":"Cycle 7 Stage C1. Spent for new rule construction.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":870000,"spent":true},{"cycle":"cycle7","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle7-seed-ledger-v3","generated":true,"generation_topic":"independent check","notes":"PUBLICLY_EXPOSED by closed unmerged PR #98 Stage D validation artifacts. No longer eligible as unseen validation. Do not inspect residual rows for product tuning. Do not copy Stage D newline edits onto the product path.","publicly_exposed":true,"role":"validation_development","scored":true,"seed_base":880000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier development","notes":"Cycle 8 tiny n=4 on main. Identifier was also used on unmerged PR #98 Cycle 7 Stage D. Do not treat as unseen validation.","publicly_exposed":true,"role":"exploratory_development","scored":true,"seed_base":890000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier replication","notes":"Cycle 8 tiny n=4 replication. Spent as unseen validation.","publicly_exposed":true,"role":"exploratory_replication","scored":true,"seed_base":900000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier validation","notes":"Cycle 8 tiny n=4 validation. Spent. Do not reuse as future clean validation.","publicly_exposed":true,"role":"validation_development","scored":true,"seed_base":910000,"spent":true},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"cycle8-seed-ledger-v1","generated":true,"generation_topic":"invisible carrier development","notes":"Cycle 8 secondary exploratory. DeepMind synthid-text 30-key GPT-2 mix transfer n=16 HYPOTHESIS: identity WM 16/16, mix WM 0/16, mix UW 0/16, visible pass. Not confirmation. Not a second model.","publicly_exposed":false,"role":"exploratory_development","scored":true,"seed_base":920000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"carrier scaling","notes":"Reserved before generation. U+034F space x1 scale exploratory: 0/16, 0/32, then 1/64 raw transformed WM. Letter-x1 diagnostic rescore of this seen corpus is 0/64. Do not rewrite space 1/64 as zero. Not confirmation.","publicly_exposed":false,"role":"scale_exploratory_development","scored":true,"seed_base":930000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"independent scale replication","notes":"Reserved before generation. Independent U+034F space x1 n=64 replication: 0/64 raw transformed WM. Max score 0.557052 vs threshold 0.557099. Letter-x1 diagnostic rescore of this seen corpus is 0/64. Does not erase space-x1 930000 1/64. Not confirmation.","publicly_exposed":false,"role":"scale_replication","scored":true,"seed_base":940000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":true,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":false,"generation_topic":"clean scale validation","notes":"Reserved before generation. Clean unseen validation after mechanism freeze. Do not generate until U+034F x1 is frozen.","publicly_exposed":false,"role":"scale_validation","scored":false,"seed_base":950000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"carrier density follow-up","notes":"Reserved before generation. Detector-blind U+034F space plus word-final letter n=16: space-x1 1/16 and space-wordfinal 1/16 on the same residual row. Density did not beat space-x1. Letter-x1 diagnostic rescore of this seen corpus is 0/16. Do not rewrite space 1/16 as zero. Do not inspect residual text to write lexical rules. Not confirmation.","publicly_exposed":false,"role":"density_exploratory_development","scored":true,"seed_base":960000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"intra-word carrier follow-up","notes":"Reserved before generation. Independent U+034F letter-x1: n=16 0/16 then n=64 0/64 raw transformed WM, 0 UW, visible 128/128. Experimental letter-x1 0/192 = seen diagnostic 930000 n=64 0/64 plus 940000 n=64 0/64 plus independent 970000 n=64 0/64 (128/192 seen, 64/192 independent). Do not rewrite space-x1 1/64 or 1/16 as zero. Do not generate 950000. Not confirmation.","publicly_exposed":false,"role":"letter_exploratory_development","scored":true,"seed_base":970000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter carrier system benchmark","notes":"Reserved before generation. Letter-x1 system benchmark primary n=64: letter-x1 0/64 raw WM, space-x1 0/64, identity 62/64, visible 128/128. Letter max score 0.55407 vs threshold 0.55710. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"letter_benchmark_primary","scored":true,"seed_base":980000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter carrier benchmark replication","notes":"Reserved before generation. Letter-x1 system benchmark independent replication n=64: letter-x1 0/64 raw WM, space-x1 1/64, identity 64/64, visible 128/128. Letter max score 0.52727. Combined with 980000: letter 0/128, space 1/128. Residual text not inspected. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"letter_benchmark_replication","scored":true,"seed_base":990000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"margin robustness development","notes":"Reserved before generation. Letter-space n=64: letter-x1 0/64, letter-space 0/64, identity 63/64, visible 128/128. Letter-space max 0.52477. Not confirmation. Spent as unseen for letter-space. Do not generate 950000.","publicly_exposed":false,"role":"margin_robustness_primary","scored":true,"seed_base":1000000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"margin robustness replication","notes":"Reserved before generation. Independent letter-space n=64: letter-x1 1/64, letter-space 1/64 on the same residual row, identity 64/64, UW letter-space 0/64. Combined letter-space 1/128. Residual text not inspected. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"margin_robustness_replication","scored":true,"seed_base":1010000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix margin development","notes":"Reserved before generation. U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 64/64, visible 128/128. Mix max 0.51369 versus threshold 0.55710 (gap 0.04341). Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_margin_primary","scored":true,"seed_base":1020000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix margin replication","notes":"Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 64/64, mix UW 0/64. Mix max 0.51307. Combined with 1020000: mix 0/128, worst max 0.51369, gap 0.04341. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_margin_replication","scored":true,"seed_base":1030000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix scale development","notes":"Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 62/64, visible 128/128. Mix max 0.51952 versus threshold 0.55710 (gap 0.03758). Closest row had 31 insertions. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_scale_primary","scored":true,"seed_base":1040000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"letter mix scale replication","notes":"Reserved before generation. Independent U+034F/U+FE00 letter-alt n=64: mix 0/64 raw WM, letter-x1 0/64, identity 60/64, mix UW 0/64. Mix max 0.51051. Combined with 1020000+1030000+1040000: mix 0/256, worst max 0.51952, gap 0.03758. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"mix_scale_replication","scored":true,"seed_base":1050000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"deepmind mix transfer primary","notes":"Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.505630. Combined with 1070000+1080000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000.","publicly_exposed":false,"role":"deepmind_transfer_primary","scored":true,"seed_base":1060000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"deepmind mix transfer replication","notes":"Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.502999. Combined with 1060000+1080000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000.","publicly_exposed":false,"role":"deepmind_transfer_replication","scored":true,"seed_base":1070000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"deepmind mix transfer holdout","notes":"Reserved before generation. Independent DeepMind synthid-text 30-key GPT-2 mix transfer n=64: identity WM 63/64, mix WM 0/64, mix UW 0/64, visible pass, mix max 0.506760. Combined with 1060000+1070000: mix 0/192. Not mix-freeze confirmation. Do not generate 950000.","publicly_exposed":false,"role":"deepmind_transfer_holdout","scored":true,"seed_base":1080000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"second model mix transfer","notes":"Reserved before generation. Independent DistilGPT2 DeepMind 30-key mix transfer n=16 HYPOTHESIS: identity WM 16/16, mix WM 0/16, mix UW 0/16, visible pass, mix max 0.504800. Different weights from openai-community/gpt2, same GPT-2 BPE tokenizer (vocab 50257). Not mix-freeze confirmation. Not confirmation-scale. Do not generate 950000.","publicly_exposed":false,"role":"second_model_transfer","scored":true,"seed_base":1090000,"spent":false},{"cycle":"cycle8","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"global-seed-ledger-v1","generated":true,"generation_topic":"control mix sanitizer exploratory","notes":"Reserved before generation. Independent DeepMind 30-key GPT-2 control-mix exploratory n=16: identity WM 15/16, control-mix WM 0/16, UW 0/16, visible pass, required sanitizers keep, control-mix max 0.505851. Seen diagnostic on 920000 is not this corpus. Not confirmation. Do not generate 950000.","publicly_exposed":false,"role":"control_mix_exploratory_development","scored":true,"seed_base":1100000,"spent":false},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1120000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1130000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1140000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1150000,"spent":true},{"cycle":"effectiveness","eligible_as_unseen_validation":false,"eligible_for_confirmation":false,"first_reservation":"historic","generated":true,"generation_topic":"effectiveness profile","notes":"Frozen effectiveness-profile schedule base.","publicly_exposed":true,"role":"schedule","scored":true,"seed_base":1160000,"spent":true}],"selection_rule":"Every new development, validation, or confirmation seed must be reserved in this ledger before generation. Seed 880000 is PUBLICLY_EXPOSED by PR #98 and is not eligible as unseen validation. Seeds 830000, 840000, and 850000 were generated once under cycle8-mix-freeze-v1 and are spent. Do not rerun looking for zero. Do not generate 950000. Seed 960000 is reserved for detector-blind density follow-up. Seed 970000 is reserved for detector-blind intra-word letter-carrier follow-up. Seeds 980000 and 990000 are reserved for the letter-x1 system benchmark. Seeds 1000000 and 1010000 are reserved for detector-blind letter-plus-space margin robustness follow-up. Seeds 1020000 and 1030000 are reserved for detector-blind U+034F/U+FE00 letter-mix margin follow-up. Seeds 1040000 and 1050000 are reserved for detector-blind letter-mix scale follow-up. Seeds 1060000, 1070000, and 1080000 are reserved for independent DeepMind synthid-text 30-key mix transfer. Seed 1090000 is reserved for independent second-model mix transfer. Seed 1100000 is reserved for independent control-mix sanitizer exploratory."} diff --git a/tests/test_cycle8_carriers.py b/tests/test_cycle8_carriers.py index d8f893e2..b90f8b12 100644 --- a/tests/test_cycle8_carriers.py +++ b/tests/test_cycle8_carriers.py @@ -74,6 +74,8 @@ def test_cycle8_ledger_freezes_new_seeds_and_blocks_spent_history() -> None: assert payload["deepmind_transfer_replication_seed_base"] == 1_070_000 assert payload["deepmind_transfer_holdout_seed_base"] == 1_080_000 assert payload["second_model_transfer_seed_base"] == 1_090_000 + assert payload["control_mix_exploratory_seed_base"] == 1_100_000 + assert payload["control_mix_exploratory_topic"] == "control mix sanitizer exploratory" assert payload["deepmind_transfer_primary_topic"] == "deepmind mix transfer primary" assert payload["second_model_transfer_topic"] == "second model mix transfer" assert payload["confirmation_reserved_seed_bases"] == [830_000, 840_000, 850_000] @@ -95,6 +97,7 @@ def test_cycle8_ledger_freezes_new_seeds_and_blocks_spent_history() -> None: assert_cycle8_development_seed(1_070_000, role="deepmind_transfer_replication") assert_cycle8_development_seed(1_080_000, role="deepmind_transfer_holdout") assert_cycle8_development_seed(1_090_000, role="second_model_transfer") + assert_cycle8_development_seed(1_100_000, role="control_mix_exploratory_development") with pytest.raises(ValueError): assert_cycle8_development_seed(760_000, role="exploratory_development") with pytest.raises(ValueError, match="publicly exposed|spent or reserved"): diff --git a/tests/test_cycle8_control_carrier.py b/tests/test_cycle8_control_carrier.py new file mode 100644 index 00000000..6f176e89 --- /dev/null +++ b/tests/test_cycle8_control_carrier.py @@ -0,0 +1,145 @@ +import json +from pathlib import Path + +import pytest + +from fuckmark.cli import process_text +from fuckmark.cycle8.benchmark import sanitize_benchmark_stress +from fuckmark.cycle8.closed_set import CYCLE8_CLOSED_SET_HASH +from fuckmark.cycle8.control_carrier import ( + CONTROL_MIX_ELIGIBLE_CODEPOINTS, + CYCLE8_CONTROL_CARRIER_HASH, + CYCLE8_CONTROL_CARRIER_PATH, + CYCLE8_CONTROL_CARRIER_VERSION, + HOSTILE_CONTROL_CODEPOINTS, + ISO6429_DEVICE_CONTROL_CODEPOINTS, + LAYOUT_CONTROL_CODEPOINTS, + apply_required_sanitizer_bundle, + assert_control_carrier_scan_committed, + control_display_column_width, + is_control_mix_eligible, + is_iso6429_device_control, + required_sanitizers_keep, + scan_control_carrier_class, +) +from fuckmark.cycle8.control_mix import ( + CONTROL_MIX_APPROVED_CARRIERS, + apply_control_alternating_mix, +) +from fuckmark.cycle8.feasibility import CYCLE8_FEASIBILITY_HASH +from fuckmark.cycle8.letter_mix import apply_letter_alternating_mix +from fuckmark.hashing import sha256_json +from fuckmark.cycle8.benchmark_render import compare_chrome_surface +from fuckmark.product.rendering import chrome_executable, compare_chrome_pre_screenshots +from fuckmark.product.roundtrip import display_column_width +from fuckmark.product.visible_projection import product_approved_carriers_v1 +from fuckmark.sanitizer_robustness import strip_unicode_format_characters +from fuckmark.transforms.registry import release_transform_registry + + +def _load() -> dict[str, object]: + return json.loads((Path(__file__).resolve().parents[1] / CYCLE8_CONTROL_CARRIER_PATH).read_text(encoding="utf-8")) + + +def test_control_carrier_scan_keeps_width0_closed_and_finds_cc_survivors() -> None: + disk = _load() + payload = scan_control_carrier_class() + body = {key: value for key, value in disk.items() if key != "control_carrier_hash"} + assert disk["control_carrier_hash"] == sha256_json(body) == CYCLE8_CONTROL_CARRIER_HASH + assert disk["algorithm_version"] == CYCLE8_CONTROL_CARRIER_VERSION + assert disk["assigned_width0_closed_set_hash"] == CYCLE8_CLOSED_SET_HASH + assert disk["assigned_width0_feasibility_hash"] == CYCLE8_FEASIBILITY_HASH + assert disk["assigned_width0_stronger_mechanism"] is None + assert disk["product_authorized"] is False + assert disk["mix_gate_not_rewritten"] is True + assert disk["eligible_count"] == 32 + assert disk["eligible_required_sanitizers_keep"] is True + assert disk["eligible_are_cc"] is True + assert disk["eligible_not_default_ignorable"] is True + assert disk["eligible_product_width_delta_one"] is True + assert disk["eligible_research_width_delta_zero"] is True + assert disk["iso6429_device_controls_remain_in_eligible_set"] is True + assert disk["product_display_width_proxy"] == "FAIL" + assert disk["terminal_pixels"] == "UNKNOWN" + assert "U+009B" in disk["iso6429_device_control_codepoints"] + assert "U+009B" in disk["eligible_codepoints"] + assert "U+007F" in disk["eligible_codepoints"] + assert "U+0080" in disk["eligible_codepoints"] + assert "U+0085" not in disk["eligible_codepoints"] + assert "U+0000" not in disk["eligible_codepoints"] + assert "U+000A" not in disk["eligible_codepoints"] + assert payload == disk + assert_control_carrier_scan_committed() + assert process_text("I do not agree.") == "I do not agree." + assert product_approved_carriers_v1() == frozenset() + assert release_transform_registry().rules == () + + +def test_eligible_controls_are_policy_filtered_and_survive_required_sanitizers() -> None: + assert 0x007F in CONTROL_MIX_ELIGIBLE_CODEPOINTS + assert 0x0080 in CONTROL_MIX_ELIGIBLE_CODEPOINTS + assert 0x009F in CONTROL_MIX_ELIGIBLE_CODEPOINTS + assert 0x0085 not in CONTROL_MIX_ELIGIBLE_CODEPOINTS + assert 0x0085 in LAYOUT_CONTROL_CODEPOINTS + assert 0x0000 in HOSTILE_CONTROL_CODEPOINTS + assert is_control_mix_eligible(0x0085) is False + assert is_control_mix_eligible(0x0000) is False + assert is_control_mix_eligible(0x0001) is False + assert is_iso6429_device_control(0x009B) is True + assert 0x009B in ISO6429_DEVICE_CONTROL_CODEPOINTS + assert 0x009B in CONTROL_MIX_ELIGIBLE_CODEPOINTS + source = "I do not agree." + control = apply_control_alternating_mix(source) + mix = apply_letter_alternating_mix(source) + assert control != source + assert mix != source + assert required_sanitizers_keep(control) is True + assert apply_required_sanitizer_bundle(control) == control + assert sanitize_benchmark_stress("mn_strip", control) == control + assert sanitize_benchmark_stress("default_ignorable_strip", control) == control + assert strip_unicode_format_characters(control) == control + assert sanitize_benchmark_stress("mn_strip", mix) == source + assert sanitize_benchmark_stress("default_ignorable_strip", mix) == source + assert display_column_width(source) != display_column_width(control) + assert control_display_column_width(source) == control_display_column_width(control) + assert process_text(source) == source + assert product_approved_carriers_v1() == frozenset() + + +def test_control_mix_carriers_match_eligible_set() -> None: + assert CONTROL_MIX_APPROVED_CARRIERS == CONTROL_MIX_ELIGIBLE_CODEPOINTS + assert len(CONTROL_MIX_APPROVED_CARRIERS) == 32 + + +def test_control_mix_full_apply_matches_chromium_pixels() -> None: + if chrome_executable() is None: + pytest.skip("chromium is not available") + source = "I do not agree." + control = apply_control_alternating_mix(source) + comparison = compare_chrome_pre_screenshots(source, control) + if comparison.status == "UNKNOWN": + pytest.skip(comparison.detail) + assert comparison.status == "VERIFIED" + assert comparison.equal is True + for surface in ("textarea", "contenteditable"): + rendered = compare_chrome_surface(source, control, surface) + if rendered["status"] == "UNKNOWN": + pytest.skip(str(rendered["detail"])) + assert rendered["status"] == "VERIFIED" + assert rendered["equal"] is True + tofu = compare_chrome_pre_screenshots(source, "I\u0001 do not agree.") + if tofu.status == "UNKNOWN": + pytest.skip(tofu.detail) + assert tofu.status == "REJECTED" + assert tofu.equal is False + blank = compare_chrome_pre_screenshots(source, "I\u2800 do not agree.") + if blank.status == "UNKNOWN": + pytest.skip(blank.detail) + assert blank.status == "REJECTED" + assert blank.equal is False + for codepoint in (0x007F, 0x0080, 0x009F): + row = compare_chrome_pre_screenshots(source, f"I{chr(codepoint)} do not agree.") + if row.status == "UNKNOWN": + pytest.skip(row.detail) + assert row.status == "VERIFIED" + assert row.equal is True diff --git a/tests/test_cycle8_control_mix.py b/tests/test_cycle8_control_mix.py new file mode 100644 index 00000000..b90246aa --- /dev/null +++ b/tests/test_cycle8_control_mix.py @@ -0,0 +1,95 @@ +import json +import unicodedata + +from fuckmark.cli import process_text +from fuckmark.cycle8.benchmark import sanitize_benchmark_stress +from fuckmark.cycle8.control_carrier import ( + apply_required_sanitizer_bundle, + control_display_column_width, + required_sanitizers_keep, +) +from fuckmark.cycle8.control_mix import ( + CONTROL_MIX_APPROVED_CARRIERS, + CONTROL_MIX_MAX_SELECTED, + CONTROL_MIX_PAYLOADS, + apply_control_alternating_mix, + select_control_mix_sites, +) +from fuckmark.cycle8.letter_mix import LETTER_MIX_MAX_SELECTED, apply_letter_alternating_mix, hard_machine_intervals +from fuckmark.cycle8.sanitize import CYCLE8_SCALE_SANITIZER_VARIANT_IDS, sanitize_cycle8_scale_variant +from fuckmark.cycle8.tokenizer_screen import GPT2_FIXTURE, load_gpt2_encoder, resynchronization_metrics +from fuckmark.product.roundtrip import latin1_roundtrip_survives +from fuckmark.product.visible_projection import is_carrier_insertion_v1, product_approved_carriers_v1, project_visible_v1 +from fuckmark.transforms.registry import release_transform_registry + + +def test_control_mix_cycles_eligible_controls_and_keeps_visible_text() -> None: + source = "Abcd" + applied = apply_control_alternating_mix(source) + assert applied == "A\u007fb\u0080c\u0081d\u0082" + assert is_carrier_insertion_v1(source, applied, CONTROL_MIX_APPROVED_CARRIERS) + assert project_visible_v1(applied, CONTROL_MIX_APPROVED_CARRIERS) == source + assert CONTROL_MIX_MAX_SELECTED == LETTER_MIX_MAX_SELECTED == 192 + assert process_text(source) == source + assert release_transform_registry().rules == () + assert product_approved_carriers_v1() == frozenset() + + +def test_control_mix_blocks_numbers_and_urls_and_survives_required_sanitizers() -> None: + source = r"Keep going \[item 7 and we never wait at https://example.com/ab." + mix = apply_letter_alternating_mix(source) + control = apply_control_alternating_mix(source) + sites = select_control_mix_sites(source) + inserted = sum(control.count(payload) for payload in CONTROL_MIX_PAYLOADS) + assert inserted == len(sites) + assert "7" in control + assert "https://example.com/ab" in project_visible_v1(control, CONTROL_MIX_APPROVED_CARRIERS) + url = "https://example.com/ab" + url_start = source.index(url) + url_end = url_start + len(url) + for index in sites: + assert index < url_start or index >= url_end + assert source[index] != "7" + intervals = hard_machine_intervals(source) + assert any(source[start:end] == "7" for start, end in intervals) + assert project_visible_v1(control, CONTROL_MIX_APPROVED_CARRIERS) == source + assert required_sanitizers_keep(control) is True + assert apply_required_sanitizer_bundle(control) == control + for variant in CYCLE8_SCALE_SANITIZER_VARIANT_IDS: + assert sanitize_cycle8_scale_variant(variant, control) == control + assert sanitize_benchmark_stress("mn_strip", mix) == source + assert sanitize_benchmark_stress("mn_strip", control) == control + assert latin1_roundtrip_survives(control) is True + assert json.loads(json.dumps(control, ensure_ascii=False)) == control + assert process_text("I do not agree.") == "I do not agree." + + +def test_control_mix_inserts_inside_quotes_and_respects_cap() -> None: + quoted = 'He said "hello world" and left.' + applied = apply_control_alternating_mix(quoted) + interior = applied[applied.index('"') + 1 : applied.rindex('"')] + assert any(payload in interior for payload in CONTROL_MIX_PAYLOADS) + source = "abcdefghijklmnopqrstuvwxyz" * 12 + capped = apply_control_alternating_mix(source, max_selected=16) + inserted = sum(capped.count(payload) for payload in CONTROL_MIX_PAYLOADS) + assert inserted == 16 + assert project_visible_v1(capped, CONTROL_MIX_APPROVED_CARRIERS) == source + assert control_display_column_width(capped) == control_display_column_width(source) + + +def test_control_mix_disrupts_gpt2_tokens_and_breaks_raw_search() -> None: + source = "I do not agree." + applied = apply_control_alternating_mix(source) + assert "do not" in source + assert "do not" not in applied + assert "do not" in project_visible_v1(applied, CONTROL_MIX_APPROVED_CARRIERS) + assert all(unicodedata.category(payload) == "Cc" for payload in CONTROL_MIX_PAYLOADS) + encoder = load_gpt2_encoder() + if encoder is None: + return + metrics = resynchronization_metrics(encoder(source), encoder(applied)) + assert metrics["ids_equal"] is False + assert int(metrics["token_count_delta"]) > 0 + long_metrics = resynchronization_metrics(encoder(GPT2_FIXTURE), encoder(apply_control_alternating_mix(GPT2_FIXTURE))) + assert long_metrics["ids_equal"] is False + assert int(long_metrics["token_count_delta"]) > 0 diff --git a/tests/test_cycle8_control_mix_diagnostic.py b/tests/test_cycle8_control_mix_diagnostic.py new file mode 100644 index 00000000..15535a7e --- /dev/null +++ b/tests/test_cycle8_control_mix_diagnostic.py @@ -0,0 +1,63 @@ +import json +from pathlib import Path + +from fuckmark.cycle8.control_carrier import apply_required_sanitizer_bundle, required_sanitizers_keep +from fuckmark.cycle8.control_mix import CONTROL_MIX_APPROVED_CARRIERS, apply_control_alternating_mix +from fuckmark.cycle8.letter_mix import apply_letter_alternating_mix +from fuckmark.hashing import sha256_file, sha256_json, sha256_text +from fuckmark.product.visible_projection import is_carrier_insertion_v1, product_approved_carriers_v1, project_visible_v1 +from fuckmark.transforms.registry import release_transform_registry + + +_DIAGNOSTIC = "evidence/cycle8-control-mix-diagnostic-920000-n16-2026-08-27" +_DIAGNOSTIC_HASH = "d6afe1930faa3762dbcc3f844e31563d64b703ab477fb294a99be283c041ca0b" +_SAMPLES = "evidence/cycle8-mix-deepmind-30key-920000-n16-2026-08-27/samples.json" + + +def test_control_mix_diagnostic_920000_is_seen_hypothesis_zero() -> None: + root = Path(__file__).resolve().parents[1] / _DIAGNOSTIC + disk = json.loads((root / "scorecard.json").read_text(encoding="utf-8")) + body = {key: value for key, value in disk.items() if key != "scorecard_hash"} + assert disk["scorecard_hash"] == sha256_json(body) == _DIAGNOSTIC_HASH + assert disk["algorithm_version"] == "cycle8-control-mix-diagnostic-v1" + assert disk["seed_base"] == 920000 + assert disk["seen_corpus"] is True + assert disk["independent_generation"] is False + assert disk["product_authorized"] is False + assert disk["confirmation_rewritten"] is False + assert disk["mix_freeze_confirmation"] is False + assert disk["mix_gate_not_rewritten"] is True + assert disk["evidence_label"] == "HYPOTHESIS" + assert disk["pair_count"] == 16 + assert disk["visible_pass"] is True + assert disk["required_sanitizers_keep"] is True + assert disk["keys_depth"] == 30 + effectiveness = disk["effectiveness"] + assert effectiveness["identity_wm"]["rate"] == "16/16" + assert effectiveness["control_mix_wm"]["rate"] == "0/16" + assert effectiveness["mix_wm"]["rate"] == "0/16" + assert effectiveness["identity_uw"]["rate"] == "0/16" + assert effectiveness["control_mix_uw"]["rate"] == "0/16" + assert effectiveness["mix_uw"]["rate"] == "0/16" + assert float(effectiveness["control_mix_wm_max_score"]) == 0.505336937084192 + assert product_approved_carriers_v1() == frozenset() + assert release_transform_registry().rules == () + samples = json.loads((Path(__file__).resolve().parents[1] / _SAMPLES).read_text(encoding="utf-8"))["samples"] + by_id = {row["sample_id"]: row for row in samples} + for row in disk["rows"]: + source = by_id[row["sample_id"]]["text"] + assert sha256_text(source) == row["source_sha256"] + control = apply_control_alternating_mix(source) + mix = apply_letter_alternating_mix(source) + assert sha256_text(control) == row["control_mix"]["text_sha256"] + assert sha256_text(mix) == row["mix"]["text_sha256"] + assert is_carrier_insertion_v1(source, control, CONTROL_MIX_APPROVED_CARRIERS) + assert project_visible_v1(control, CONTROL_MIX_APPROVED_CARRIERS) == source + assert required_sanitizers_keep(control) is True + assert apply_required_sanitizer_bundle(control) == control + assert row["visible_ok"] is True + assert row["required_sanitizers_keep"] is True + sums = (root / "SHA256SUMS.txt").read_text(encoding="utf-8").splitlines() + files = {line.split()[-1]: line.split()[0] for line in sums if line} + for name, digest in files.items(): + assert sha256_file(root / name) == digest diff --git a/tests/test_cycle8_control_mix_exploratory.py b/tests/test_cycle8_control_mix_exploratory.py new file mode 100644 index 00000000..1010bd12 --- /dev/null +++ b/tests/test_cycle8_control_mix_exploratory.py @@ -0,0 +1,78 @@ +import json +from pathlib import Path + +from fuckmark.cycle8.control_carrier import apply_required_sanitizer_bundle, required_sanitizers_keep +from fuckmark.cycle8.control_mix import CONTROL_MIX_APPROVED_CARRIERS, apply_control_alternating_mix +from fuckmark.hashing import sha256_file, sha256_json, sha256_text +from fuckmark.product.visible_projection import is_carrier_insertion_v1, product_approved_carriers_v1, project_visible_v1 +from fuckmark.seeds.ledger import CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASE, row_for_seed_base +from fuckmark.transforms.registry import release_transform_registry + + +_ROOT = "evidence/cycle8-control-mix-1100000-n16-2026-08-27" +_SCORECARD_HASH = "8aadf220a3a69e7f88689e6b10b21011f0b4ee66d68c1dd46627f5ad214554d0" + + +def test_control_mix_1100000_is_independent_hypothesis_zero() -> None: + root = Path(__file__).resolve().parents[1] / _ROOT + disk = json.loads((root / "scorecard.json").read_text(encoding="utf-8")) + body = {key: value for key, value in disk.items() if key != "scorecard_hash"} + assert disk["scorecard_hash"] == sha256_json(body) == _SCORECARD_HASH + assert disk["algorithm_version"] == "cycle8-control-mix-exploratory-v1" + assert disk["seed_base"] == CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASE == 1100000 + assert disk["seen_corpus"] is False + assert disk["independent_generation"] is True + assert disk["product_authorized"] is False + assert disk["confirmation_rewritten"] is False + assert disk["mix_freeze_confirmation"] is False + assert disk["mix_gate_not_rewritten"] is True + assert disk["second_model"] is False + assert disk["evidence_label"] == "HYPOTHESIS" + assert disk["pair_count"] == 16 + assert disk["visible_pass"] is True + assert disk["required_sanitizers_keep"] is True + assert disk["keys_depth"] == 30 + assert disk["model"] == "openai-community/gpt2" + assert disk["do_not_generate_950000"] is True + effectiveness = disk["effectiveness"] + assert effectiveness["identity_wm"]["rate"] == "15/16" + assert effectiveness["control_mix_wm"]["rate"] == "0/16" + assert effectiveness["identity_uw"]["rate"] == "0/16" + assert effectiveness["control_mix_uw"]["rate"] == "0/16" + assert float(effectiveness["control_mix_wm_max_score"]) == 0.5058514183090623 + ledger = row_for_seed_base(1100000) + assert ledger["generated"] is True + assert ledger["scored"] is True + assert ledger["eligible_for_confirmation"] is False + samples = json.loads((root / "samples.json").read_text(encoding="utf-8")) + by_id = {row["sample_id"]: row for row in samples["samples"]} + assert len(disk["rows"]) == 32 + assert len(samples["samples"]) == 32 + for row in disk["rows"]: + source = by_id[row["sample_id"]]["text"] + assert "text" not in row + assert "text" not in row["control_mix"] + assert sha256_text(source) == row["source_sha256"] == by_id[row["sample_id"]]["text_sha256"] + control = apply_control_alternating_mix(source) + assert sha256_text(control) == row["control_mix"]["text_sha256"] + assert is_carrier_insertion_v1(source, control, CONTROL_MIX_APPROVED_CARRIERS) + assert project_visible_v1(control, CONTROL_MIX_APPROVED_CARRIERS) == source + assert required_sanitizers_keep(control) is True + assert apply_required_sanitizer_bundle(control) == control + assert row["visible_ok"] is True + assert row["required_sanitizers_keep"] is True + identity_miss = [ + row + for row in disk["rows"] + if row["label"] == "watermarked" and row["identity"]["detected"] is False + ] + assert len(identity_miss) == 1 + assert identity_miss[0]["sample_id"] == "cycle8-1100000-11-structured_instructional-watermarked" + assert float(identity_miss[0]["identity"]["score"]) == 0.5568728032677877 + sums = (root / "SHA256SUMS.txt").read_text(encoding="utf-8").splitlines() + files = {line.split()[-1]: line.split()[0] for line in sums if line} + assert set(files) == {"README.md", "scorecard.json", "samples.json"} + for name, digest in files.items(): + assert sha256_file(root / name) == digest + assert release_transform_registry().rules == () + assert product_approved_carriers_v1() == frozenset() diff --git a/tests/test_global_seed_ledger.py b/tests/test_global_seed_ledger.py index f1bfb569..d2f7b466 100644 --- a/tests/test_global_seed_ledger.py +++ b/tests/test_global_seed_ledger.py @@ -33,6 +33,8 @@ CYCLE8_DEEPMIND_TRANSFER_HOLDOUT_TOPIC, CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE, CYCLE8_SECOND_MODEL_TRANSFER_TOPIC, + CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASE, + CYCLE8_CONTROL_MIX_EXPLORATORY_TOPIC, CYCLE8_MIX_CONFIRMATION_HOLD_TOPIC, CYCLE8_MIX_CONFIRMATION_PRIMARY_TOPIC, CYCLE8_MIX_CONFIRMATION_REPLICATION_TOPIC, @@ -49,6 +51,7 @@ assert_new_cycle8_mix_generation_seed, assert_new_cycle8_deepmind_transfer_generation_seed, assert_new_cycle8_second_model_transfer_generation_seed, + assert_new_cycle8_control_mix_generation_seed, assert_new_cycle8_scale_generation_seed, assert_seed_not_confirmation_content, global_seed_ledger_hash, @@ -118,6 +121,7 @@ def test_scale_seeds_are_reserved_before_generation() -> None: assert 1020000 in bases and 1030000 in bases assert 1040000 in bases and 1050000 in bases assert 1060000 in bases and 1070000 in bases and 1080000 in bases and 1090000 in bases + assert 1100000 in bases density = row_for_seed_base(CYCLE8_DENSITY_EXPLORATORY_SEED_BASE) assert density["generated"] is True assert density["scored"] is True @@ -222,3 +226,15 @@ def test_scale_seeds_are_reserved_before_generation() -> None: assert_new_cycle8_second_model_transfer_generation_seed(CYCLE8_SCALE_VALIDATION_SEED_BASE) with pytest.raises(ValueError, match="confirmation"): assert_new_cycle8_second_model_transfer_generation_seed(830000) + control_mix = row_for_seed_base(CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASE) + assert control_mix["generation_topic"] == CYCLE8_CONTROL_MIX_EXPLORATORY_TOPIC == "control mix sanitizer exploratory" + assert control_mix["generated"] is True + assert control_mix["scored"] is True + assert control_mix["eligible_for_confirmation"] is False + assert_new_cycle8_control_mix_generation_seed(CYCLE8_CONTROL_MIX_EXPLORATORY_SEED_BASE) + with pytest.raises(ValueError, match="control-mix"): + assert_new_cycle8_control_mix_generation_seed(CYCLE8_SECOND_MODEL_TRANSFER_SEED_BASE) + with pytest.raises(ValueError, match="frozen"): + assert_new_cycle8_control_mix_generation_seed(CYCLE8_SCALE_VALIDATION_SEED_BASE) + with pytest.raises(ValueError, match="confirmation"): + assert_new_cycle8_control_mix_generation_seed(830000) From 6033a7cedd9e2afc95346a63f1f629dd63c4838b Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 27 Aug 2026 02:13:20 +0000 Subject: [PATCH 06/12] Record H12 Chromium pixels as host-dependent. GitHub Actions Chromium rejected the full control-mix apply while one research host matched. Do not treat that as a product visibility PASS. Mix sanitizer stays FAIL. The public CLI stays empty. Co-authored-by: Byte271 --- CHANGELOG.md | 2 +- docs/cycle8/README.md | 2 +- docs/cycle8/carrier-research.md | 6 +++--- docs/cycle8/mix-publishability.md | 2 +- fuckmark/cycle8/control_carrier.py | 17 +++++++++++------ ...fuckmark-cycle8-control-carrier-scan-v1.json | 2 +- tests/test_cycle8_control_carrier.py | 12 +++++------- 7 files changed, 23 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d0782b17..d2f9d548 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,7 +33,7 @@ - Froze development mechanism `u034f-ufe00-letter-alt-v1` as `cycle8-mix-freeze-v1`. Public CLI remains empty. - Cycle 8 mix freeze one-shot confirmation on preregistered seeds `830000` / `840000` / `850000`: mix **0/192** raw transformed WM, mix UW **0/192**, visible **192/192**, frozen sanitizers matching raw zeros, worst mix score 0.524300 versus threshold 0.557099 (gap 0.032798). Those seeds are spent. Do not rerun looking for zero. Mix is not product-authorized. Do not generate `950000`. - Recorded `cycle8-mix-publishability-v1` after merging that freeze onto `main`. Product hardening on that report: software compatibility PASS on the UTF-8 product surface (Latin-1/ASCII/cp1252 unsupported; visible-projection search; raw codepoint search is not the product API). Sanitizer weaknesses still FAIL; assigned-Unicode feasibility and the width-0 closed set found no stronger Priority-Zero invisible mechanism. All 13 enclosing marks change Chromium `pre` pixels. Cross-detector generalization PASSes on Hugging Face nine-key GPT-2 Weighted Mean 0/192 plus independent Google `synthid-text` 30-key GPT-2 mix **0/192** (identity WM 189/192). DistilGPT2 n=16 is HYPOTHESIS second-model transfer (identity 16/16, mix 0/16), not confirmation-scale. Mean versus Weighted Mean on the same GPT-2 Hugging Face adapter remains HYPOTHESIS. Mix is not product-publishable. Tag `v0.3.0` is not retagged. -- Cycle 8 H12 control-code research: DEL and C1 except NEXT LINE survive Mn-strip, default-ignorable-strip, Cf-strip, NFC/NFKC/NFKD, and frozen Cycle 6/7 sanitizers while keeping exact visible projection and Chromium `pre`/textarea/contenteditable pixels on measured fixtures. Seen DeepMind 30-key diagnostic rescore of seed `920000` n=16 is control-mix **0/16** WM with identity **16/16**. Independent reserved seed `1100000` n=16 is control-mix **0/16** WM with identity **15/16**. This is a new `Cc` class, not a mix sanitizer PASS. Public CLI stays empty. Do not generate `950000`. +- Cycle 8 H12 control-code research: DEL and C1 except NEXT LINE survive Mn-strip, default-ignorable-strip, Cf-strip, NFC/NFKC/NFKD, and frozen Cycle 6/7 sanitizers while keeping exact visible projection. Chromium `pre` pixels are host-dependent (research host matched; GitHub Actions Chromium rejected the full apply). Seen DeepMind 30-key diagnostic rescore of seed `920000` n=16 is control-mix **0/16** WM with identity **16/16**. Independent reserved seed `1100000` n=16 is control-mix **0/16** WM with identity **15/16**. This is a new `Cc` class, not a mix sanitizer PASS. Public CLI stays empty. Do not generate `950000`. ## v0.2.0 — Exact-survival confirmation and release hardening diff --git a/docs/cycle8/README.md b/docs/cycle8/README.md index dfd1b7c5..a4d19992 100644 --- a/docs/cycle8/README.md +++ b/docs/cycle8/README.md @@ -23,7 +23,7 @@ See `docs/cycle8/seed-ledger.md` and `docs/seeds.md`. Seeds `890000`, `900000`, See `docs/cycle8/carrier-research.md`, `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, `docs/cycle8/mix-publishability.md`, `docs/cycle8/mix-deepmind-transfer.md`, and `docs/cycle8/mix-second-model-transfer.md`. -Assigned width-0 insertions remain closed (H9). H12 control-code insertion (`Cc` DEL + C1 except NEXT LINE) is a new sanitizer-surviving research class. Independent seed `1100000` n=16 is control-mix **0/16** WM (`HYPOTHESIS`). It is not mix, not product-authorized, and does not rewrite the mix sanitizer FAIL. See `docs/cycle8/carrier-research.md`. +Assigned width-0 insertions remain closed (H9). H12 control-code insertion (`Cc` DEL + C1 except NEXT LINE) is a new sanitizer-surviving research class. Chromium pixels are host-dependent. Independent seed `1100000` n=16 is control-mix **0/16** WM (`HYPOTHESIS`). It is not mix, not product-authorized, and does not rewrite the mix sanitizer FAIL. See `docs/cycle8/carrier-research.md`. U+200C is the diagnostic baseline. It is not durable under Cf-strip. diff --git a/docs/cycle8/carrier-research.md b/docs/cycle8/carrier-research.md index 5a118628..33ff64e6 100644 --- a/docs/cycle8/carrier-research.md +++ b/docs/cycle8/carrier-research.md @@ -64,8 +64,8 @@ DEL (U+007F) and C1 (U+0080..U+009F except U+0085) are 32 code points that: - are `Cc`, not default-ignorable, not Mn, not Cf; - survive Mn-strip, default-ignorable-strip, Cf-strip, NFC, NFKC, NFKD, frozen Cycle 6/7 sanitizers, and the combination of those arms; - keep exact `project_visible_v1` when used as approved insertion carriers; -- keep Chromium `pre`, textarea, and contenteditable PNG bytes on single-insert probes and on a full letter-alternating apply of the short paragraph and the GPT-2 fixture; -- keep Chromium `window.find` HIT for `do not` on the short paragraph; +- are Chromium-pixel **host-dependent**: one research host matched `pre`/textarea/contenteditable PNG bytes on single-insert probes and a full apply; GitHub Actions Chromium `REJECTED` the same full apply (`png_bytes_differ`); +- keep Chromium `window.find` HIT for `do not` on the short paragraph on the research host; - disrupt GPT-2 BPE (`ids_equal=false`, token-count delta positive); - round-trip through UTF-8, JSON, and latin-1; - fail the v1 product display-width proxy, which still counts `Cc` as width 1. Research width skips the eligible set. That is a proxy gap, not a visible-text change. @@ -76,7 +76,7 @@ Seen-corpus DeepMind 30-key diagnostic rescore of seed `920000` n=16: identity W Independent reserved seed `1100000` n=16: identity WM **15/16**, control-mix WM **0/16**, all UW **0/16**, visible pass, required sanitizers keep every control-mix row, control-mix max `0.505851`. The identity miss is one structured-instructional watermarked row at `0.556873` versus threshold `0.557099`. Do not rewrite 15/16 as 16/16. This n=16 is `HYPOTHESIS`, not confirmation, and does not transfer mix-freeze 0/192. -ISO-6429 C1 device controls including CSI (U+009B) remain in the measured 32-codepoint eligible set. Product `display_column_width` still counts `Cc` as width 1. Terminal pixels stay UNKNOWN. Those ordinary-text and terminal risks block product authorization. They do not rewrite mix sanitizer FAIL. +ISO-6429 C1 device controls including CSI (U+009B) remain in the measured 32-codepoint eligible set. Product `display_column_width` still counts `Cc` as width 1. Terminal pixels stay UNKNOWN. Chromium `pre` pixels are host-dependent. Those ordinary-text, terminal, and cross-Chromium visibility risks block product authorization. They do not rewrite mix sanitizer FAIL. Spec: `cycle8-control-carrier-scan-v1`. diff --git a/docs/cycle8/mix-publishability.md b/docs/cycle8/mix-publishability.md index 479b60bf..18ccc0c3 100644 --- a/docs/cycle8/mix-publishability.md +++ b/docs/cycle8/mix-publishability.md @@ -52,7 +52,7 @@ Assigned-Unicode feasibility `cycle8-invisible-carrier-feasibility-v1` found no Enclosing marks are not product-safe. Cycle 8 freezes that H9 / closed-set boundary rather than changing visible English text. -H12 is a **different class**: general category `Cc`, which H9 skipped as control risk. DEL and C1 except NEXT LINE survive the required sanitizers and were Chromium-pixel-equal on this host. Independent reserved seed `1100000` n=16 is control-mix **0/16** WM with identity **15/16**. That does **not** rewrite this mix sanitizer FAIL. Mix still uses U+034F / U+FE00. Control-mix is not product-authorized and is not mix-freeze confirmation. See `docs/cycle8/carrier-research.md`. +H12 is a **different class**: general category `Cc`, which H9 skipped as control risk. DEL and C1 except NEXT LINE survive the required sanitizers. Chromium pixels are host-dependent: one research host matched, GitHub Actions Chromium rejected the full apply. Independent reserved seed `1100000` n=16 is control-mix **0/16** WM with identity **15/16**. That does **not** rewrite this mix sanitizer FAIL. Mix still uses U+034F / U+FE00. Control-mix is not product-authorized and is not mix-freeze confirmation. See `docs/cycle8/carrier-research.md`. ## Cross-detector generalization diff --git a/fuckmark/cycle8/control_carrier.py b/fuckmark/cycle8/control_carrier.py index 3685051b..347631dc 100644 --- a/fuckmark/cycle8/control_carrier.py +++ b/fuckmark/cycle8/control_carrier.py @@ -17,7 +17,7 @@ CYCLE8_CONTROL_CARRIER_VERSION = "cycle8-control-carrier-scan-v1" CYCLE8_CONTROL_CARRIER_PATH = "specs/cycle8/fuckmark-cycle8-control-carrier-scan-v1.json" -CYCLE8_CONTROL_CARRIER_HASH = "1e63bd5d39f04ba1f7d3634c60cea1f218e118590dd8d09b55ffb449908010e4" +CYCLE8_CONTROL_CARRIER_HASH = "99785e6bbe4b32b1cb91a1616fd0c1620cb78e73270299dcb7d7f9b0ac5aaffd" LAYOUT_CONTROL_CODEPOINTS = (0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x0085, 0x2028, 0x2029) HOSTILE_CONTROL_CODEPOINTS = (0x0000,) ISO6429_DEVICE_CONTROL_CODEPOINTS = (0x0084, 0x008D, 0x008E, 0x008F, 0x0090, 0x0098, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F) @@ -172,6 +172,7 @@ def scan_control_carrier_class() -> dict[str, object]: codepoint in CONTROL_MIX_ELIGIBLE_CODEPOINTS for codepoint in ISO6429_DEVICE_CONTROL_CODEPOINTS ), "product_display_width_proxy": "FAIL", + "chromium_pre_pixels": "HOST_DEPENDENT", "terminal_pixels": "UNKNOWN", "layout_control_labels": layout, "hostile_control_labels": hostile, @@ -185,11 +186,13 @@ def scan_control_carrier_class() -> dict[str, object]: "are excluded. DEL and C1 except NEXT LINE survive Mn-strip, " "default-ignorable-strip, Cf-strip, NFC, NFKC, NFKD, frozen Cycle 6/7 " "sanitizers, and the combination of those arms. Product display width still " - "counts them. Research width skips the eligible set because Chromium pre, " - "textarea, and contenteditable pixels match the source. ISO-6429 C1 device " - "controls including CSI remain in the measured eligible set. That ordinary-text " - "and terminal risk blocks product authorization and does not rewrite mix " - "sanitizer FAIL. Terminal pixels stay UNKNOWN." + "counts them. Research width skips the eligible set. Chromium pre, " + "textarea, and contenteditable pixels are host-dependent for this class: " + "one research host matched the source, GitHub Actions Chromium rejected " + "the full apply. ISO-6429 C1 device " + "controls including CSI remain in the measured eligible set. Ordinary-text, " + "terminal, and cross-Chromium visibility risks block product authorization " + "and do not rewrite mix sanitizer FAIL. Terminal pixels stay UNKNOWN." ), } return {**payload, "control_carrier_hash": sha256_json(payload)} @@ -234,5 +237,7 @@ def assert_control_carrier_scan_committed() -> None: raise ValueError("measured eligible set must keep ISO-6429 device controls") if live["product_display_width_proxy"] != "FAIL": raise ValueError("product display-width proxy must remain FAIL") + if live["chromium_pre_pixels"] != "HOST_DEPENDENT": + raise ValueError("control-mix Chromium pixels must remain host-dependent") if live["terminal_pixels"] != "UNKNOWN": raise ValueError("terminal pixels must remain UNKNOWN") diff --git a/specs/cycle8/fuckmark-cycle8-control-carrier-scan-v1.json b/specs/cycle8/fuckmark-cycle8-control-carrier-scan-v1.json index 9cd90f86..cdc3e28d 100644 --- a/specs/cycle8/fuckmark-cycle8-control-carrier-scan-v1.json +++ b/specs/cycle8/fuckmark-cycle8-control-carrier-scan-v1.json @@ -1 +1 @@ -{"algorithm_version":"cycle8-control-carrier-scan-v1","assigned_width0_class":"cycle8-invisible-carrier-closed-set-v1","assigned_width0_closed_set_hash":"425f85e5e91c1513750e5a3da08a45f537a5b2e5c07f47854dc2c9f6420f794d","assigned_width0_feasibility_hash":"edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483","assigned_width0_stronger_mechanism":null,"boundary":"Assigned width-0 insertions remain Mn, Me, or Cf and stay closed. The next insertion class is general category Cc. Layout controls and NUL are excluded. DEL and C1 except NEXT LINE survive Mn-strip, default-ignorable-strip, Cf-strip, NFC, NFKC, NFKD, frozen Cycle 6/7 sanitizers, and the combination of those arms. Product display width still counts them. Research width skips the eligible set because Chromium pre, textarea, and contenteditable pixels match the source. ISO-6429 C1 device controls including CSI remain in the measured eligible set. That ordinary-text and terminal risk blocks product authorization and does not rewrite mix sanitizer FAIL. Terminal pixels stay UNKNOWN.","c0_non_layout_non_hostile_not_eligible":["U+0001","U+0002","U+0003","U+0004","U+0005","U+0006","U+0007","U+0008","U+000E","U+000F","U+0010","U+0011","U+0012","U+0013","U+0014","U+0015","U+0016","U+0017","U+0018","U+0019","U+001A","U+001B","U+001C","U+001D","U+001E","U+001F"],"cc_probe_count":65,"control_carrier_hash":"1e63bd5d39f04ba1f7d3634c60cea1f218e118590dd8d09b55ffb449908010e4","eligible_are_cc":true,"eligible_codepoints":["U+007F","U+0080","U+0081","U+0082","U+0083","U+0084","U+0086","U+0087","U+0088","U+0089","U+008A","U+008B","U+008C","U+008D","U+008E","U+008F","U+0090","U+0091","U+0092","U+0093","U+0094","U+0095","U+0096","U+0097","U+0098","U+0099","U+009A","U+009B","U+009C","U+009D","U+009E","U+009F"],"eligible_count":32,"eligible_not_default_ignorable":true,"eligible_product_width_delta_one":true,"eligible_required_sanitizers_keep":true,"eligible_research_width_delta_zero":true,"empty_glyph_probes":[{"category":"Zs","default_ignorable":false,"label":"U+1680","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"So","default_ignorable":false,"label":"U+2800","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"So","default_ignorable":false,"label":"U+FFFD","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Cn","default_ignorable":false,"label":"U+FFFE","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Cn","default_ignorable":false,"label":"U+FFFF","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Cn","default_ignorable":false,"label":"U+FDD0","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Co","default_ignorable":false,"label":"U+E000","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Co","default_ignorable":false,"label":"U+F8FF","product_display_width_delta":1,"required_sanitizers_keep":true}],"hostile_control_codepoints":["U+0000"],"hostile_control_labels":["U+0000"],"iso6429_device_control_codepoints":["U+0084","U+008D","U+008E","U+008F","U+0090","U+0098","U+009B","U+009C","U+009D","U+009E","U+009F"],"iso6429_device_controls_remain_in_eligible_set":true,"layout_control_codepoints":["U+0009","U+000A","U+000B","U+000C","U+000D","U+0085","U+2028","U+2029"],"layout_control_labels":["U+0009","U+000A","U+000B","U+000C","U+000D","U+0085"],"mix_gate_not_rewritten":true,"priority_zero":"exact_user_visible_text_preservation","product_authorized":false,"product_display_width_proxy":"FAIL","search_space":"general_category_Cc_plus_empty_glyph_probes","terminal_pixels":"UNKNOWN"} +{"algorithm_version":"cycle8-control-carrier-scan-v1","assigned_width0_class":"cycle8-invisible-carrier-closed-set-v1","assigned_width0_closed_set_hash":"425f85e5e91c1513750e5a3da08a45f537a5b2e5c07f47854dc2c9f6420f794d","assigned_width0_feasibility_hash":"edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483","assigned_width0_stronger_mechanism":null,"boundary":"Assigned width-0 insertions remain Mn, Me, or Cf and stay closed. The next insertion class is general category Cc. Layout controls and NUL are excluded. DEL and C1 except NEXT LINE survive Mn-strip, default-ignorable-strip, Cf-strip, NFC, NFKC, NFKD, frozen Cycle 6/7 sanitizers, and the combination of those arms. Product display width still counts them. Research width skips the eligible set. Chromium pre, textarea, and contenteditable pixels are host-dependent for this class: one research host matched the source, GitHub Actions Chromium rejected the full apply. ISO-6429 C1 device controls including CSI remain in the measured eligible set. Ordinary-text, terminal, and cross-Chromium visibility risks block product authorization and do not rewrite mix sanitizer FAIL. Terminal pixels stay UNKNOWN.","c0_non_layout_non_hostile_not_eligible":["U+0001","U+0002","U+0003","U+0004","U+0005","U+0006","U+0007","U+0008","U+000E","U+000F","U+0010","U+0011","U+0012","U+0013","U+0014","U+0015","U+0016","U+0017","U+0018","U+0019","U+001A","U+001B","U+001C","U+001D","U+001E","U+001F"],"cc_probe_count":65,"chromium_pre_pixels":"HOST_DEPENDENT","control_carrier_hash":"99785e6bbe4b32b1cb91a1616fd0c1620cb78e73270299dcb7d7f9b0ac5aaffd","eligible_are_cc":true,"eligible_codepoints":["U+007F","U+0080","U+0081","U+0082","U+0083","U+0084","U+0086","U+0087","U+0088","U+0089","U+008A","U+008B","U+008C","U+008D","U+008E","U+008F","U+0090","U+0091","U+0092","U+0093","U+0094","U+0095","U+0096","U+0097","U+0098","U+0099","U+009A","U+009B","U+009C","U+009D","U+009E","U+009F"],"eligible_count":32,"eligible_not_default_ignorable":true,"eligible_product_width_delta_one":true,"eligible_required_sanitizers_keep":true,"eligible_research_width_delta_zero":true,"empty_glyph_probes":[{"category":"Zs","default_ignorable":false,"label":"U+1680","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"So","default_ignorable":false,"label":"U+2800","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"So","default_ignorable":false,"label":"U+FFFD","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Cn","default_ignorable":false,"label":"U+FFFE","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Cn","default_ignorable":false,"label":"U+FFFF","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Cn","default_ignorable":false,"label":"U+FDD0","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Co","default_ignorable":false,"label":"U+E000","product_display_width_delta":1,"required_sanitizers_keep":true},{"category":"Co","default_ignorable":false,"label":"U+F8FF","product_display_width_delta":1,"required_sanitizers_keep":true}],"hostile_control_codepoints":["U+0000"],"hostile_control_labels":["U+0000"],"iso6429_device_control_codepoints":["U+0084","U+008D","U+008E","U+008F","U+0090","U+0098","U+009B","U+009C","U+009D","U+009E","U+009F"],"iso6429_device_controls_remain_in_eligible_set":true,"layout_control_codepoints":["U+0009","U+000A","U+000B","U+000C","U+000D","U+0085","U+2028","U+2029"],"layout_control_labels":["U+0009","U+000A","U+000B","U+000C","U+000D","U+0085"],"mix_gate_not_rewritten":true,"priority_zero":"exact_user_visible_text_preservation","product_authorized":false,"product_display_width_proxy":"FAIL","search_space":"general_category_Cc_plus_empty_glyph_probes","terminal_pixels":"UNKNOWN"} diff --git a/tests/test_cycle8_control_carrier.py b/tests/test_cycle8_control_carrier.py index 6f176e89..ab7bd790 100644 --- a/tests/test_cycle8_control_carrier.py +++ b/tests/test_cycle8_control_carrier.py @@ -60,6 +60,7 @@ def test_control_carrier_scan_keeps_width0_closed_and_finds_cc_survivors() -> No assert disk["eligible_research_width_delta_zero"] is True assert disk["iso6429_device_controls_remain_in_eligible_set"] is True assert disk["product_display_width_proxy"] == "FAIL" + assert disk["chromium_pre_pixels"] == "HOST_DEPENDENT" assert disk["terminal_pixels"] == "UNKNOWN" assert "U+009B" in disk["iso6429_device_control_codepoints"] assert "U+009B" in disk["eligible_codepoints"] @@ -111,7 +112,7 @@ def test_control_mix_carriers_match_eligible_set() -> None: assert len(CONTROL_MIX_APPROVED_CARRIERS) == 32 -def test_control_mix_full_apply_matches_chromium_pixels() -> None: +def test_control_mix_chromium_pixels_are_host_dependent() -> None: if chrome_executable() is None: pytest.skip("chromium is not available") source = "I do not agree." @@ -119,14 +120,12 @@ def test_control_mix_full_apply_matches_chromium_pixels() -> None: comparison = compare_chrome_pre_screenshots(source, control) if comparison.status == "UNKNOWN": pytest.skip(comparison.detail) - assert comparison.status == "VERIFIED" - assert comparison.equal is True + assert comparison.status in {"VERIFIED", "REJECTED"} for surface in ("textarea", "contenteditable"): rendered = compare_chrome_surface(source, control, surface) if rendered["status"] == "UNKNOWN": pytest.skip(str(rendered["detail"])) - assert rendered["status"] == "VERIFIED" - assert rendered["equal"] is True + assert rendered["status"] in {"VERIFIED", "REJECTED"} tofu = compare_chrome_pre_screenshots(source, "I\u0001 do not agree.") if tofu.status == "UNKNOWN": pytest.skip(tofu.detail) @@ -141,5 +140,4 @@ def test_control_mix_full_apply_matches_chromium_pixels() -> None: row = compare_chrome_pre_screenshots(source, f"I{chr(codepoint)} do not agree.") if row.status == "UNKNOWN": pytest.skip(row.detail) - assert row.status == "VERIFIED" - assert row.equal is True + assert row.status in {"VERIFIED", "REJECTED"} From 715bf103ba56eac15e7f553e673842c64ad9e541 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 27 Aug 2026 02:24:48 +0000 Subject: [PATCH 07/12] Record H13 post-sanitizer mechanism class without product authorization. No measured Unicode-string family is simultaneously sanitizer-surviving, Chromium-portable, ordinary plain text, and Priority-Zero safe. This is a classification, not a Unicode re-scan. Mix sanitizer stays FAIL. The public CLI stays empty. Co-authored-by: Byte271 --- CHANGELOG.md | 1 + docs/cycle8/README.md | 2 +- docs/cycle8/carrier-research.md | 17 ++ docs/cycle8/mix-publishability.md | 2 +- fuckmark/cycle8/post_sanitizer_class.py | 209 ++++++++++++++++++ ...le8-post-sanitizer-mechanism-class-v1.json | 1 + tests/test_cycle8_post_sanitizer_class.py | 61 +++++ 7 files changed, 291 insertions(+), 2 deletions(-) create mode 100644 fuckmark/cycle8/post_sanitizer_class.py create mode 100644 specs/cycle8/fuckmark-cycle8-post-sanitizer-mechanism-class-v1.json create mode 100644 tests/test_cycle8_post_sanitizer_class.py diff --git a/CHANGELOG.md b/CHANGELOG.md index d2f9d548..921cd950 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ - Cycle 8 mix freeze one-shot confirmation on preregistered seeds `830000` / `840000` / `850000`: mix **0/192** raw transformed WM, mix UW **0/192**, visible **192/192**, frozen sanitizers matching raw zeros, worst mix score 0.524300 versus threshold 0.557099 (gap 0.032798). Those seeds are spent. Do not rerun looking for zero. Mix is not product-authorized. Do not generate `950000`. - Recorded `cycle8-mix-publishability-v1` after merging that freeze onto `main`. Product hardening on that report: software compatibility PASS on the UTF-8 product surface (Latin-1/ASCII/cp1252 unsupported; visible-projection search; raw codepoint search is not the product API). Sanitizer weaknesses still FAIL; assigned-Unicode feasibility and the width-0 closed set found no stronger Priority-Zero invisible mechanism. All 13 enclosing marks change Chromium `pre` pixels. Cross-detector generalization PASSes on Hugging Face nine-key GPT-2 Weighted Mean 0/192 plus independent Google `synthid-text` 30-key GPT-2 mix **0/192** (identity WM 189/192). DistilGPT2 n=16 is HYPOTHESIS second-model transfer (identity 16/16, mix 0/16), not confirmation-scale. Mean versus Weighted Mean on the same GPT-2 Hugging Face adapter remains HYPOTHESIS. Mix is not product-publishable. Tag `v0.3.0` is not retagged. - Cycle 8 H12 control-code research: DEL and C1 except NEXT LINE survive Mn-strip, default-ignorable-strip, Cf-strip, NFC/NFKC/NFKD, and frozen Cycle 6/7 sanitizers while keeping exact visible projection. Chromium `pre` pixels are host-dependent (research host matched; GitHub Actions Chromium rejected the full apply). Seen DeepMind 30-key diagnostic rescore of seed `920000` n=16 is control-mix **0/16** WM with identity **16/16**. Independent reserved seed `1100000` n=16 is control-mix **0/16** WM with identity **15/16**. This is a new `Cc` class, not a mix sanitizer PASS. Public CLI stays empty. Do not generate `950000`. +- Cycle 8 H13 post-sanitizer mechanism class: no measured Unicode-string transform family is simultaneously sanitizer-surviving on the required set, Chromium-portable, ordinary plain text, and Priority-Zero safe. This is a classification, not a Unicode re-scan, and does not rewrite mix sanitizer FAIL. Public CLI stays empty. Do not generate `950000`. ## v0.2.0 — Exact-survival confirmation and release hardening diff --git a/docs/cycle8/README.md b/docs/cycle8/README.md index a4d19992..06e43ae0 100644 --- a/docs/cycle8/README.md +++ b/docs/cycle8/README.md @@ -23,7 +23,7 @@ See `docs/cycle8/seed-ledger.md` and `docs/seeds.md`. Seeds `890000`, `900000`, See `docs/cycle8/carrier-research.md`, `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, `docs/cycle8/mix-publishability.md`, `docs/cycle8/mix-deepmind-transfer.md`, and `docs/cycle8/mix-second-model-transfer.md`. -Assigned width-0 insertions remain closed (H9). H12 control-code insertion (`Cc` DEL + C1 except NEXT LINE) is a new sanitizer-surviving research class. Chromium pixels are host-dependent. Independent seed `1100000` n=16 is control-mix **0/16** WM (`HYPOTHESIS`). It is not mix, not product-authorized, and does not rewrite the mix sanitizer FAIL. See `docs/cycle8/carrier-research.md`. +Assigned width-0 insertions remain closed (H9). H12 control-code insertion (`Cc` DEL + C1 except NEXT LINE) is a new sanitizer-surviving research class. Chromium pixels are host-dependent. Independent seed `1100000` n=16 is control-mix **0/16** WM (`HYPOTHESIS`). H13 classifies the post-sanitizer mechanism families: no measured class is simultaneously sanitizer-surviving, Chromium-portable, ordinary plain text, and Priority-Zero safe. It is not mix, not product-authorized, and does not rewrite the mix sanitizer FAIL. See `docs/cycle8/carrier-research.md`. U+200C is the diagnostic baseline. It is not durable under Cf-strip. diff --git a/docs/cycle8/carrier-research.md b/docs/cycle8/carrier-research.md index 33ff64e6..528ddc2c 100644 --- a/docs/cycle8/carrier-research.md +++ b/docs/cycle8/carrier-research.md @@ -80,6 +80,23 @@ ISO-6429 C1 device controls including CSI (U+009B) remain in the measured 32-cod Spec: `cycle8-control-carrier-scan-v1`. +## H13. Post-sanitizer mechanism class + +`VERIFIED` as a negative classification, not a Unicode re-scan. Assigned width-0 insertions stay closed (H9). This classifies the broader transform families that remain after Mn-strip, default-ignorable-strip, Cf-strip, NFC/NFKC, and their combination. + +No measured class is simultaneously: + +- sanitizer-surviving on that required set, +- Chromium-portable (`pre` pixels `VERIFIED` on every measured host), +- ordinary plain text, +- Priority-Zero safe. + +Mix (Mn + default-ignorable) dies to Mn-strip and default-ignorable-strip. Enclosing marks survive those sanitizers and change Chromium pixels. Control-code insertion survives those sanitizers and is Chromium host-dependent, with ISO-6429 device controls remaining in the measured set. Homoglyphs, whitespace edits, HTML/CSS, and custom fonts stay forbidden. + +This does **not** rewrite mix sanitizer FAIL. It does not product-authorize any carrier. Public CLI stays empty. + +Spec: `cycle8-post-sanitizer-mechanism-class-v1`. + ## Rejected as product mechanisms | Mechanism | Label | Why | diff --git a/docs/cycle8/mix-publishability.md b/docs/cycle8/mix-publishability.md index 18ccc0c3..8617a54b 100644 --- a/docs/cycle8/mix-publishability.md +++ b/docs/cycle8/mix-publishability.md @@ -52,7 +52,7 @@ Assigned-Unicode feasibility `cycle8-invisible-carrier-feasibility-v1` found no Enclosing marks are not product-safe. Cycle 8 freezes that H9 / closed-set boundary rather than changing visible English text. -H12 is a **different class**: general category `Cc`, which H9 skipped as control risk. DEL and C1 except NEXT LINE survive the required sanitizers. Chromium pixels are host-dependent: one research host matched, GitHub Actions Chromium rejected the full apply. Independent reserved seed `1100000` n=16 is control-mix **0/16** WM with identity **15/16**. That does **not** rewrite this mix sanitizer FAIL. Mix still uses U+034F / U+FE00. Control-mix is not product-authorized and is not mix-freeze confirmation. See `docs/cycle8/carrier-research.md`. +H12 is a **different class**: general category `Cc`, which H9 skipped as control risk. DEL and C1 except NEXT LINE survive the required sanitizers. Chromium pixels are host-dependent: one research host matched, GitHub Actions Chromium rejected the full apply. Independent reserved seed `1100000` n=16 is control-mix **0/16** WM with identity **15/16**. H13 classifies the remaining post-sanitizer families and finds no conjunction survivor. That does **not** rewrite this mix sanitizer FAIL. Mix still uses U+034F / U+FE00. Control-mix is not product-authorized and is not mix-freeze confirmation. See `docs/cycle8/carrier-research.md`. ## Cross-detector generalization diff --git a/fuckmark/cycle8/post_sanitizer_class.py b/fuckmark/cycle8/post_sanitizer_class.py new file mode 100644 index 00000000..8e783603 --- /dev/null +++ b/fuckmark/cycle8/post_sanitizer_class.py @@ -0,0 +1,209 @@ +from __future__ import annotations + +import json +from pathlib import Path + +from ..config import canonical_json_text +from ..hashing import sha256_json +from .closed_set import CYCLE8_CLOSED_SET_HASH +from .control_carrier import CYCLE8_CONTROL_CARRIER_HASH, scan_control_carrier_class +from .feasibility import CYCLE8_FEASIBILITY_HASH +from .publishability import CYCLE8_MIX_PUBLISHABILITY_HASH + + +CYCLE8_POST_SANITIZER_CLASS_VERSION = "cycle8-post-sanitizer-mechanism-class-v1" +CYCLE8_POST_SANITIZER_CLASS_PATH = "specs/cycle8/fuckmark-cycle8-post-sanitizer-mechanism-class-v1.json" +CYCLE8_POST_SANITIZER_CLASS_HASH = "a13f935834b399bd2dda6c543ad4cf646bcfc2f6426ca866b08ae8cf51346bf3" + + +def _class_row( + class_id: str, + *, + required_sanitizers: str, + chromium_pre: str, + ordinary_plain_text: str, + product: str, + reason: str, + examples: tuple[str, ...], +) -> dict[str, object]: + return { + "id": class_id, + "examples": list(examples), + "required_sanitizers": required_sanitizers, + "chromium_pre": chromium_pre, + "ordinary_plain_text": ordinary_plain_text, + "product": product, + "reason": reason, + } + + +def post_sanitizer_mechanism_class_payload() -> dict[str, object]: + control = scan_control_carrier_class() + classes = ( + _class_row( + "mn_default_ignorable_insertion", + required_sanitizers="FAIL", + chromium_pre="VERIFIED_ON_RESEARCH_HOST", + ordinary_plain_text="PASS", + product="FAIL", + reason="Mix lives here. Mn-strip and default-ignorable-strip restore the source.", + examples=("U+034F", "U+FE00"), + ), + _class_row( + "cf_format_insertion", + required_sanitizers="FAIL", + chromium_pre="REJECTED", + ordinary_plain_text="PASS", + product="FAIL", + reason="Frozen Cf-strip restores the source.", + examples=("U+200C",), + ), + _class_row( + "me_enclosing_insertion", + required_sanitizers="PASS", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason="All 13 enclosing marks change Chromium pre pixels.", + examples=("U+20DD",), + ), + _class_row( + "cc_del_c1_insertion", + required_sanitizers="PASS", + chromium_pre="HOST_DEPENDENT", + ordinary_plain_text="FAIL", + product="FAIL", + reason="GitHub Actions Chromium rejected the full apply. ISO-6429 device controls remain in the measured set.", + examples=("U+007F", "U+0080", "U+009B"), + ), + _class_row( + "cc_layout_insertion", + required_sanitizers="PASS", + chromium_pre="REJECTED_OR_LAYOUT", + ordinary_plain_text="FAIL", + product="FAIL", + reason="TAB, LF, VT, FF, CR, NEXT LINE, and line or paragraph separators change layout.", + examples=("U+0009", "U+000A", "U+0085"), + ), + _class_row( + "cc_nul_insertion", + required_sanitizers="PASS", + chromium_pre="VERIFIED_ON_RESEARCH_HOST", + ordinary_plain_text="FAIL", + product="FAIL", + reason="NUL is hostile to ordinary C-string text.", + examples=("U+0000",), + ), + _class_row( + "cc_c0_tofu_insertion", + required_sanitizers="PASS", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason="Most remaining C0 controls change Chromium pre pixels.", + examples=("U+0001",), + ), + _class_row( + "empty_glyph_or_pua_insertion", + required_sanitizers="PASS", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason="Braille blank, Ogham space, noncharacters, and BMP private-use probes change Chromium pre pixels.", + examples=("U+2800", "U+1680", "U+E000"), + ), + _class_row( + "homoglyph_or_compatibility_substitution", + required_sanitizers="FAIL", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason="Homoglyphs are forbidden. NFKC collapses compatibility lookalikes.", + examples=(), + ), + _class_row( + "whitespace_or_visible_layout", + required_sanitizers="FAIL", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason="Visible whitespace, punctuation, and letter changes are forbidden.", + examples=("U+00A0",), + ), + ) + conjunction = [ + row["id"] + for row in classes + if row["required_sanitizers"] == "PASS" + and row["chromium_pre"] == "VERIFIED" + and row["ordinary_plain_text"] == "PASS" + ] + payload = { + "algorithm_version": CYCLE8_POST_SANITIZER_CLASS_VERSION, + "priority_zero": "exact_user_visible_text_preservation", + "search_space": "post_required_sanitizer_unicode_string_transforms", + "does_not_repeat_assigned_width0_scan": True, + "assigned_width0_closed_set_hash": CYCLE8_CLOSED_SET_HASH, + "assigned_width0_feasibility_hash": CYCLE8_FEASIBILITY_HASH, + "control_carrier_hash": CYCLE8_CONTROL_CARRIER_HASH, + "mix_publishability_hash": CYCLE8_MIX_PUBLISHABILITY_HASH, + "mix_sanitizer_gate": "FAIL", + "control_carrier_required_sanitizers_keep": control["eligible_required_sanitizers_keep"], + "control_carrier_chromium_pre_pixels": control["chromium_pre_pixels"], + "classes": list(classes), + "conjunction_sanitizer_pass_chromium_verified_ordinary_text": conjunction, + "stronger_priority_zero_safe_mechanism": None, + "product_authorized": False, + "mix_gate_not_rewritten": True, + "boundary": ( + "Required sanitizers are Mn-strip, default-ignorable-strip, Cf-strip, NFC, NFKC, " + "and combinations. Assigned width-0 insertions remain Mn, Me, or Cf. Mix lives in " + "Mn plus default-ignorable and dies to those stress sanitizers. The measured " + "sanitizer-surviving insertion classes are enclosing marks, control codes, empty " + "glyphs, and private use. Enclosing marks and empty glyphs change Chromium pre " + "pixels. Control-code insertion survives the required sanitizers and is Chromium " + "host-dependent, with ISO-6429 device controls remaining in the measured set. " + "No measured class is simultaneously sanitizer-surviving, Chromium-portable, " + "ordinary plain text, and Priority-Zero safe. This does not rewrite mix sanitizer FAIL." + ), + } + return {**payload, "class_hash": sha256_json(payload)} + + +def write_post_sanitizer_mechanism_class_spec(path: str | Path | None = None) -> Path: + destination = Path(path) if path is not None else Path(CYCLE8_POST_SANITIZER_CLASS_PATH) + payload = post_sanitizer_mechanism_class_payload() + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_text(canonical_json_text(payload) + "\n", encoding="utf-8") + return destination + + +def load_post_sanitizer_mechanism_class(path: str | Path | None = None) -> dict[str, object]: + destination = Path(path) if path is not None else Path(CYCLE8_POST_SANITIZER_CLASS_PATH) + return json.loads(destination.read_text(encoding="utf-8")) + + +def assert_post_sanitizer_mechanism_class_committed() -> None: + path = Path(CYCLE8_POST_SANITIZER_CLASS_PATH) + if not path.is_file(): + raise ValueError("post-sanitizer mechanism class spec is not committed") + disk = json.loads(path.read_text(encoding="utf-8")) + body = {key: value for key, value in disk.items() if key != "class_hash"} + digest = sha256_json(body) + if disk.get("class_hash") != digest: + raise ValueError("post-sanitizer mechanism class spec hash mismatch") + if CYCLE8_POST_SANITIZER_CLASS_HASH != "0" * 64 and digest != CYCLE8_POST_SANITIZER_CLASS_HASH: + raise ValueError("post-sanitizer mechanism class spec hash is not the frozen digest") + if disk["product_authorized"] is True: + raise ValueError("post-sanitizer class must not product-authorize a mechanism") + if disk["stronger_priority_zero_safe_mechanism"] is not None: + raise ValueError("post-sanitizer class must not claim a stronger Priority-Zero mechanism") + if disk["mix_gate_not_rewritten"] is not True: + raise ValueError("post-sanitizer class must not rewrite the mix sanitizer gate") + if disk["mix_sanitizer_gate"] != "FAIL": + raise ValueError("post-sanitizer class must keep mix sanitizer FAIL") + if disk["conjunction_sanitizer_pass_chromium_verified_ordinary_text"] != []: + raise ValueError("post-sanitizer class must not claim a conjunction survivor") + live = post_sanitizer_mechanism_class_payload() + if live["class_hash"] != disk["class_hash"]: + raise ValueError("post-sanitizer mechanism class spec does not match the live payload") diff --git a/specs/cycle8/fuckmark-cycle8-post-sanitizer-mechanism-class-v1.json b/specs/cycle8/fuckmark-cycle8-post-sanitizer-mechanism-class-v1.json new file mode 100644 index 00000000..31397067 --- /dev/null +++ b/specs/cycle8/fuckmark-cycle8-post-sanitizer-mechanism-class-v1.json @@ -0,0 +1 @@ +{"algorithm_version":"cycle8-post-sanitizer-mechanism-class-v1","assigned_width0_closed_set_hash":"425f85e5e91c1513750e5a3da08a45f537a5b2e5c07f47854dc2c9f6420f794d","assigned_width0_feasibility_hash":"edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483","boundary":"Required sanitizers are Mn-strip, default-ignorable-strip, Cf-strip, NFC, NFKC, and combinations. Assigned width-0 insertions remain Mn, Me, or Cf. Mix lives in Mn plus default-ignorable and dies to those stress sanitizers. The measured sanitizer-surviving insertion classes are enclosing marks, control codes, empty glyphs, and private use. Enclosing marks and empty glyphs change Chromium pre pixels. Control-code insertion survives the required sanitizers and is Chromium host-dependent, with ISO-6429 device controls remaining in the measured set. No measured class is simultaneously sanitizer-surviving, Chromium-portable, ordinary plain text, and Priority-Zero safe. This does not rewrite mix sanitizer FAIL.","class_hash":"a13f935834b399bd2dda6c543ad4cf646bcfc2f6426ca866b08ae8cf51346bf3","classes":[{"chromium_pre":"VERIFIED_ON_RESEARCH_HOST","examples":["U+034F","U+FE00"],"id":"mn_default_ignorable_insertion","ordinary_plain_text":"PASS","product":"FAIL","reason":"Mix lives here. Mn-strip and default-ignorable-strip restore the source.","required_sanitizers":"FAIL"},{"chromium_pre":"REJECTED","examples":["U+200C"],"id":"cf_format_insertion","ordinary_plain_text":"PASS","product":"FAIL","reason":"Frozen Cf-strip restores the source.","required_sanitizers":"FAIL"},{"chromium_pre":"REJECTED","examples":["U+20DD"],"id":"me_enclosing_insertion","ordinary_plain_text":"FAIL","product":"FAIL","reason":"All 13 enclosing marks change Chromium pre pixels.","required_sanitizers":"PASS"},{"chromium_pre":"HOST_DEPENDENT","examples":["U+007F","U+0080","U+009B"],"id":"cc_del_c1_insertion","ordinary_plain_text":"FAIL","product":"FAIL","reason":"GitHub Actions Chromium rejected the full apply. ISO-6429 device controls remain in the measured set.","required_sanitizers":"PASS"},{"chromium_pre":"REJECTED_OR_LAYOUT","examples":["U+0009","U+000A","U+0085"],"id":"cc_layout_insertion","ordinary_plain_text":"FAIL","product":"FAIL","reason":"TAB, LF, VT, FF, CR, NEXT LINE, and line or paragraph separators change layout.","required_sanitizers":"PASS"},{"chromium_pre":"VERIFIED_ON_RESEARCH_HOST","examples":["U+0000"],"id":"cc_nul_insertion","ordinary_plain_text":"FAIL","product":"FAIL","reason":"NUL is hostile to ordinary C-string text.","required_sanitizers":"PASS"},{"chromium_pre":"REJECTED","examples":["U+0001"],"id":"cc_c0_tofu_insertion","ordinary_plain_text":"FAIL","product":"FAIL","reason":"Most remaining C0 controls change Chromium pre pixels.","required_sanitizers":"PASS"},{"chromium_pre":"REJECTED","examples":["U+2800","U+1680","U+E000"],"id":"empty_glyph_or_pua_insertion","ordinary_plain_text":"FAIL","product":"FAIL","reason":"Braille blank, Ogham space, noncharacters, and BMP private-use probes change Chromium pre pixels.","required_sanitizers":"PASS"},{"chromium_pre":"REJECTED","examples":[],"id":"homoglyph_or_compatibility_substitution","ordinary_plain_text":"FAIL","product":"FAIL","reason":"Homoglyphs are forbidden. NFKC collapses compatibility lookalikes.","required_sanitizers":"FAIL"},{"chromium_pre":"REJECTED","examples":["U+00A0"],"id":"whitespace_or_visible_layout","ordinary_plain_text":"FAIL","product":"FAIL","reason":"Visible whitespace, punctuation, and letter changes are forbidden.","required_sanitizers":"FAIL"}],"conjunction_sanitizer_pass_chromium_verified_ordinary_text":[],"control_carrier_chromium_pre_pixels":"HOST_DEPENDENT","control_carrier_hash":"99785e6bbe4b32b1cb91a1616fd0c1620cb78e73270299dcb7d7f9b0ac5aaffd","control_carrier_required_sanitizers_keep":true,"does_not_repeat_assigned_width0_scan":true,"mix_gate_not_rewritten":true,"mix_publishability_hash":"1149940b64e9617af12cb1e8e89448043edc235bdfd127cda5e163cfe03bc5c8","mix_sanitizer_gate":"FAIL","priority_zero":"exact_user_visible_text_preservation","product_authorized":false,"search_space":"post_required_sanitizer_unicode_string_transforms","stronger_priority_zero_safe_mechanism":null} diff --git a/tests/test_cycle8_post_sanitizer_class.py b/tests/test_cycle8_post_sanitizer_class.py new file mode 100644 index 00000000..585bfcc5 --- /dev/null +++ b/tests/test_cycle8_post_sanitizer_class.py @@ -0,0 +1,61 @@ +import json +from pathlib import Path + +from fuckmark.cli import process_text +from fuckmark.cycle8.closed_set import CYCLE8_CLOSED_SET_HASH +from fuckmark.cycle8.control_carrier import CYCLE8_CONTROL_CARRIER_HASH +from fuckmark.cycle8.feasibility import CYCLE8_FEASIBILITY_HASH +from fuckmark.cycle8.post_sanitizer_class import ( + CYCLE8_POST_SANITIZER_CLASS_HASH, + CYCLE8_POST_SANITIZER_CLASS_PATH, + CYCLE8_POST_SANITIZER_CLASS_VERSION, + assert_post_sanitizer_mechanism_class_committed, + post_sanitizer_mechanism_class_payload, +) +from fuckmark.cycle8.publishability import CYCLE8_MIX_PUBLISHABILITY_HASH, mix_is_product_publishable +from fuckmark.hashing import sha256_json +from fuckmark.product.visible_projection import product_approved_carriers_v1 +from fuckmark.transforms.registry import release_transform_registry + + +def _load() -> dict[str, object]: + return json.loads((Path(__file__).resolve().parents[1] / CYCLE8_POST_SANITIZER_CLASS_PATH).read_text(encoding="utf-8")) + + +def test_post_sanitizer_mechanism_class_has_no_conjunction_survivor() -> None: + disk = _load() + payload = post_sanitizer_mechanism_class_payload() + body = {key: value for key, value in disk.items() if key != "class_hash"} + assert disk["class_hash"] == sha256_json(body) == CYCLE8_POST_SANITIZER_CLASS_HASH + assert disk["algorithm_version"] == CYCLE8_POST_SANITIZER_CLASS_VERSION + assert disk["does_not_repeat_assigned_width0_scan"] is True + assert disk["assigned_width0_closed_set_hash"] == CYCLE8_CLOSED_SET_HASH + assert disk["assigned_width0_feasibility_hash"] == CYCLE8_FEASIBILITY_HASH + assert disk["control_carrier_hash"] == CYCLE8_CONTROL_CARRIER_HASH + assert disk["mix_publishability_hash"] == CYCLE8_MIX_PUBLISHABILITY_HASH + assert disk["mix_sanitizer_gate"] == "FAIL" + assert disk["control_carrier_required_sanitizers_keep"] is True + assert disk["control_carrier_chromium_pre_pixels"] == "HOST_DEPENDENT" + assert disk["conjunction_sanitizer_pass_chromium_verified_ordinary_text"] == [] + assert disk["stronger_priority_zero_safe_mechanism"] is None + assert disk["product_authorized"] is False + assert disk["mix_gate_not_rewritten"] is True + assert payload == disk + assert_post_sanitizer_mechanism_class_committed() + by_id = {row["id"]: row for row in disk["classes"]} + assert by_id["mn_default_ignorable_insertion"]["required_sanitizers"] == "FAIL" + assert by_id["cc_del_c1_insertion"]["required_sanitizers"] == "PASS" + assert by_id["cc_del_c1_insertion"]["chromium_pre"] == "HOST_DEPENDENT" + assert by_id["cc_del_c1_insertion"]["ordinary_plain_text"] == "FAIL" + assert by_id["me_enclosing_insertion"]["chromium_pre"] == "REJECTED" + assert mix_is_product_publishable() is False + assert process_text("I do not agree.") == "I do not agree." + assert product_approved_carriers_v1() == frozenset() + assert release_transform_registry().rules == () + for row in disk["classes"]: + conjunction = ( + row["required_sanitizers"] == "PASS" + and row["chromium_pre"] == "VERIFIED" + and row["ordinary_plain_text"] == "PASS" + ) + assert conjunction is False From 191422e0fd2ac5a5897b00ceb9861d85b3d33138 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 27 Aug 2026 02:56:16 +0000 Subject: [PATCH 08/12] Record H14 extended sanitizer classes without product authorization. Mc, NFKC-stable Lm, designed blanks, Hangul filler sequences, and font-metric empty glyphs were measured. None are simultaneously sanitizer-surviving, Chromium-portable, ordinary plain text, and Priority-Zero safe. Mix sanitizer stays FAIL. The public CLI stays empty. Co-authored-by: Byte271 --- docs/cycle8/README.md | 2 +- docs/cycle8/carrier-research.md | 27 ++ docs/cycle8/mix-publishability.md | 2 +- evidence/h14-local/README.md | 19 + evidence/h14-local/SHA256SUMS.txt | 4 + evidence/h14-local/chromium-probes.json | 361 ++++++++++++++++++ evidence/h14-local/lm-chromium-probes.json | 10 + evidence/h14-local/summary.json | 53 +++ fuckmark/cycle8/post_sanitizer_extended.py | 348 +++++++++++++++++ ...cle8-post-sanitizer-extended-class-v1.json | 1 + tests/test_cycle8_post_sanitizer_extended.py | 144 +++++++ tools/h14_chromium_probes.py | 96 +++++ tools/h14_mechanism_scan.py | 338 ++++++++++++++++ 13 files changed, 1403 insertions(+), 2 deletions(-) create mode 100644 evidence/h14-local/README.md create mode 100644 evidence/h14-local/SHA256SUMS.txt create mode 100644 evidence/h14-local/chromium-probes.json create mode 100644 evidence/h14-local/lm-chromium-probes.json create mode 100644 evidence/h14-local/summary.json create mode 100644 fuckmark/cycle8/post_sanitizer_extended.py create mode 100644 specs/cycle8/fuckmark-cycle8-post-sanitizer-extended-class-v1.json create mode 100644 tests/test_cycle8_post_sanitizer_extended.py create mode 100644 tools/h14_chromium_probes.py create mode 100644 tools/h14_mechanism_scan.py diff --git a/docs/cycle8/README.md b/docs/cycle8/README.md index 06e43ae0..106811d6 100644 --- a/docs/cycle8/README.md +++ b/docs/cycle8/README.md @@ -23,7 +23,7 @@ See `docs/cycle8/seed-ledger.md` and `docs/seeds.md`. Seeds `890000`, `900000`, See `docs/cycle8/carrier-research.md`, `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, `docs/cycle8/mix-publishability.md`, `docs/cycle8/mix-deepmind-transfer.md`, and `docs/cycle8/mix-second-model-transfer.md`. -Assigned width-0 insertions remain closed (H9). H12 control-code insertion (`Cc` DEL + C1 except NEXT LINE) is a new sanitizer-surviving research class. Chromium pixels are host-dependent. Independent seed `1100000` n=16 is control-mix **0/16** WM (`HYPOTHESIS`). H13 classifies the post-sanitizer mechanism families: no measured class is simultaneously sanitizer-surviving, Chromium-portable, ordinary plain text, and Priority-Zero safe. It is not mix, not product-authorized, and does not rewrite the mix sanitizer FAIL. See `docs/cycle8/carrier-research.md`. +Assigned width-0 insertions remain closed (H9). H12 control-code insertion (`Cc` DEL + C1 except NEXT LINE) is a new sanitizer-surviving research class. Chromium pixels are host-dependent. Independent seed `1100000` n=16 is control-mix **0/16** WM (`HYPOTHESIS`). H13 classifies the post-sanitizer mechanism families: no measured class is simultaneously sanitizer-surviving, Chromium-portable, ordinary plain text, and Priority-Zero safe. H14 extends that negative result to `Mc`, `Lm`, designed blanks, Hangul filler sequences, and font-metric empty glyphs. It is not mix, not product-authorized, and does not rewrite the mix sanitizer FAIL. See `docs/cycle8/carrier-research.md`. U+200C is the diagnostic baseline. It is not durable under Cf-strip. diff --git a/docs/cycle8/carrier-research.md b/docs/cycle8/carrier-research.md index 528ddc2c..36d3cc50 100644 --- a/docs/cycle8/carrier-research.md +++ b/docs/cycle8/carrier-research.md @@ -97,6 +97,28 @@ This does **not** rewrite mix sanitizer FAIL. It does not product-authorize any Spec: `cycle8-post-sanitizer-mechanism-class-v1`. +## H14. Extended post-sanitizer classes + +`VERIFIED` as a negative extension, not a product unlock. H13 classified insertion families after the required sanitizers. H14 does not re-scan assigned width-0 code points. It measures classes H9 skipped as "visible" and classes H13 only probed with a handful of empty glyphs. + +No measured class is simultaneously sanitizer-surviving, Chromium-portable, ordinary plain text, and Priority-Zero safe. + +Live Unicode 15.0 scan: + +- 419 `Mc` spacing combining marks survive the required sanitizers. Product display-width delta is not 0. Chromium `pre` rejects Hangul tone marks and Indic vowel-sign probes. +- 128 NFKC-stable `Lm` modifier letters survive. Chromium `pre` rejects prime, apostrophe, glottal-stop, and raised-exclamation probes. U+02B0 and U+FF9E/U+FF9F die to NFKC. +- Designed blanks and gap fillers (U+13441, U+13442, U+A8F9, U+1144E, U+11C44, U+11F48, U+2800, U+2422, U+1680, U+FFFC) survive and change Chromium `pre` pixels. +- Hangul jamo fillers U+115F+U+1160 are default-ignorable. The sequence dies to default-ignorable-strip and changes Chromium pixels. +- Project default-ignorable ranges match Unicode 15.0. That is not a cheat channel. +- DejaVu Sans Mono, the Chromium `pre` font, has no sanitizer-surviving simple empty zero-advance glyph. U+FFFC is a full cell there. System-font zero-advance empties that survive sanitizers are `Cc` or layout separators, plus U+FFFC in DejaVu Sans. +- A CSI-filtered C1 subset is still `Cc`. It is not a new class. Chromium remains host-dependent. Ordinary-text FAIL remains. + +The only sanitizer-surviving pixel-equal probes on the research host were control codes. H12 already closed that class for product use. + +This does **not** rewrite mix sanitizer FAIL. Public CLI stays empty. Do not generate `950000`. Do not retune spent confirmation seeds. + +Spec: `cycle8-post-sanitizer-extended-class-v1`. Evidence: `evidence/h14-local/`. + ## Rejected as product mechanisms | Mechanism | Label | Why | @@ -110,6 +132,11 @@ Spec: `cycle8-post-sanitizer-mechanism-class-v1`. | NUL (U+0000) | `REJECTED` as product-ordinary text | Chromium pixels match; C-string / ordinary-text hazard | | FF / VT / NEXT LINE / CR / TAB / LF | `REJECTED` | newline or layout change even when some Chromium surfaces ignore them | | Braille blank / Ogham space / PUA / noncharacters | `REJECTED` | sanitizer-survive in some cases; Chromium `pre` pixels change | +| Spacing combining marks (`Mc`) | `REJECTED` | survive required sanitizers; Chromium `pre` pixels change | +| NFKC-stable modifier letters (`Lm`) | `REJECTED` | survive required sanitizers; Chromium `pre` pixels change | +| Egyptian blanks / Indic gap fillers / U+FFFC | `REJECTED` | sanitizer-survive with width; Chromium `pre` pixels change | +| Hangul filler sequences | `REJECTED` | default-ignorable; DI-strip restores the source | +| CSI-filtered C1 subset | `PRODUCT_DISQUALIFIED` | still `Cc`; Chromium host-dependent; not ordinary text | ## Baseline diff --git a/docs/cycle8/mix-publishability.md b/docs/cycle8/mix-publishability.md index 8617a54b..58ac0749 100644 --- a/docs/cycle8/mix-publishability.md +++ b/docs/cycle8/mix-publishability.md @@ -52,7 +52,7 @@ Assigned-Unicode feasibility `cycle8-invisible-carrier-feasibility-v1` found no Enclosing marks are not product-safe. Cycle 8 freezes that H9 / closed-set boundary rather than changing visible English text. -H12 is a **different class**: general category `Cc`, which H9 skipped as control risk. DEL and C1 except NEXT LINE survive the required sanitizers. Chromium pixels are host-dependent: one research host matched, GitHub Actions Chromium rejected the full apply. Independent reserved seed `1100000` n=16 is control-mix **0/16** WM with identity **15/16**. H13 classifies the remaining post-sanitizer families and finds no conjunction survivor. That does **not** rewrite this mix sanitizer FAIL. Mix still uses U+034F / U+FE00. Control-mix is not product-authorized and is not mix-freeze confirmation. See `docs/cycle8/carrier-research.md`. +H12 is a **different class**: general category `Cc`, which H9 skipped as control risk. DEL and C1 except NEXT LINE survive the required sanitizers. Chromium pixels are host-dependent: one research host matched, GitHub Actions Chromium rejected the full apply. Independent reserved seed `1100000` n=16 is control-mix **0/16** WM with identity **15/16**. H13 classifies the remaining post-sanitizer families and finds no conjunction survivor. H14 extends that classification beyond width-0 insertion: `Mc`, NFKC-stable `Lm`, designed blanks, Hangul filler sequences, and font-metric empty glyphs. Those classes either die to the required sanitizers or change Chromium `pre` pixels. A CSI-filtered C1 subset is still `Cc` and stays host-dependent. That does **not** rewrite this mix sanitizer FAIL. Mix still uses U+034F / U+FE00. Control-mix is not product-authorized and is not mix-freeze confirmation. See `docs/cycle8/carrier-research.md`. ## Cross-detector generalization diff --git a/evidence/h14-local/README.md b/evidence/h14-local/README.md new file mode 100644 index 00000000..8bd2ca9f --- /dev/null +++ b/evidence/h14-local/README.md @@ -0,0 +1,19 @@ +# H14 post-sanitizer extended class + +Status: `VERIFIED` as a negative extension of H13. Not product authorization. Mix sanitizer robustness stays **FAIL**. + +This folder records local research that went beyond assigned width-0 insertion and beyond H13's handful of empty-glyph probes. + +## What was measured + +- Project `Default_Ignorable` ranges match Unicode 15.0 `DerivedCoreProperties`. +- 419 `Mc` and 128 NFKC-stable `Lm` code points survive the required sanitizer bundle. None have product display-width 0. +- Designed blanks and gap fillers (Egyptian hieroglyph blanks, Indic gap fillers, Braille blank, Ogham space, U+FFFC) survive those sanitizers with nonzero width. +- Hangul jamo fillers U+115F+U+1160 and Hangul filler U+3164 are default-ignorable and die to default-ignorable-strip. +- NBSP, U+02B0, and U+FF9E/U+FF9F die to NFKC. +- DejaVu Sans Mono has no sanitizer-surviving simple empty zero-advance glyph. +- Chromium `pre` pixels: Mc, Lm, designed blanks, PUA, noncharacters, and layout separators `REJECTED`. CGJ remains pixel-equal and sanitizer-fragile. The only sanitizer-surviving pixel-equal probes on this host were `Cc` (DEL, NUL, CSI-filtered C1), which H12 already recorded as host-dependent and not ordinary text. + +`scan.json` is a local working dump and is not committed. Spec: `specs/cycle8/fuckmark-cycle8-post-sanitizer-extended-class-v1.json`. + +Do not generate `950000`. Do not retune spent confirmation seeds `830000` / `840000` / `850000`. diff --git a/evidence/h14-local/SHA256SUMS.txt b/evidence/h14-local/SHA256SUMS.txt new file mode 100644 index 00000000..e98fcb74 --- /dev/null +++ b/evidence/h14-local/SHA256SUMS.txt @@ -0,0 +1,4 @@ +15aa21346aae04a201869b562d2b0363d7a862386aae423e9f339cc560e84688 README.md +8fab2dfaf11fc37ebee7c26dc675ca62ab32f938bddf0a39cccc17a628368b67 summary.json +4a7e578539d67ce10a10f80b77e2ebe0bc338f29894c8f7e66839a5522e1329d chromium-probes.json +054ef0463dd03deda9a3945156dc066fe1c0e98f6f17afc576b65eeb6b7a1d14 lm-chromium-probes.json diff --git a/evidence/h14-local/chromium-probes.json b/evidence/h14-local/chromium-probes.json new file mode 100644 index 00000000..707ca23a --- /dev/null +++ b/evidence/h14-local/chromium-probes.json @@ -0,0 +1,361 @@ +{ + "source": "I do not agree.", + "rows": [ + { + "id": "mc_hangul_tone_single", + "payload_labels": [ + "U+302E" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "mc_hangul_tone_double", + "payload_labels": [ + "U+302F" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "mc_devanagari_aa", + "payload_labels": [ + "U+093E" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "mc_bengali_aa", + "payload_labels": [ + "U+09BE" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "mc_tamil_aa", + "payload_labels": [ + "U+0BBE" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "mc_balinese_tedung", + "payload_labels": [ + "U+1B35" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "mc_bengali_au_length", + "payload_labels": [ + "U+09D7" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "so_object_replacement", + "payload_labels": [ + "U+FFFC" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "lo_egyptian_full_blank", + "payload_labels": [ + "U+13441" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "lo_egyptian_half_blank", + "payload_labels": [ + "U+13442" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "po_devanagari_gap_filler", + "payload_labels": [ + "U+A8F9" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "po_newa_gap_filler", + "payload_labels": [ + "U+1144E" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "po_kawi_space_filler", + "payload_labels": [ + "U+11F48" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "po_bhaiksuki_gap_filler", + "payload_labels": [ + "U+11C44" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "so_braille_blank", + "payload_labels": [ + "U+2800" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "so_blank_symbol", + "payload_labels": [ + "U+2422" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "me_enclosing_circle", + "payload_labels": [ + "U+20DD" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 0, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "mn_cgj_control", + "payload_labels": [ + "U+034F" + ], + "required_sanitizers_keep": false, + "payload_all_default_ignorable": true, + "width_delta": 0, + "chromium_pre": "VERIFIED", + "chromium_detail": "png_bytes_equal", + "equal": true + }, + { + "id": "cc_del", + "payload_labels": [ + "U+007F" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "VERIFIED", + "chromium_detail": "png_bytes_equal", + "equal": true + }, + { + "id": "cc_nul", + "payload_labels": [ + "U+0000" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "VERIFIED", + "chromium_detail": "png_bytes_equal", + "equal": true + }, + { + "id": "co_pua_bmp", + "payload_labels": [ + "U+E000" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "cn_noncharacter_fffe", + "payload_labels": [ + "U+FFFE" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "lm_modifier_small_h", + "payload_labels": [ + "U+02B0" + ], + "required_sanitizers_keep": false, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "zs_ogham_space", + "payload_labels": [ + "U+1680" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "zs_nbsp", + "payload_labels": [ + "U+00A0" + ], + "required_sanitizers_keep": false, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "zl_line_separator", + "payload_labels": [ + "U+2028" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "lo_hangul_filler_di", + "payload_labels": [ + "U+3164" + ], + "required_sanitizers_keep": false, + "payload_all_default_ignorable": true, + "width_delta": 11, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "seq_hangul_jamo_fillers", + "payload_labels": [ + "U+115F", + "U+1160" + ], + "required_sanitizers_keep": false, + "payload_all_default_ignorable": true, + "width_delta": 22, + "chromium_pre": "REJECTED", + "chromium_detail": "png_bytes_differ", + "equal": false + }, + { + "id": "cc_c1_no_device_csi_filtered", + "payload_labels": [ + "U+007F", + "U+0080", + "U+0091" + ], + "required_sanitizers_keep": true, + "payload_all_default_ignorable": false, + "width_delta": 33, + "chromium_pre": "VERIFIED", + "chromium_detail": "png_bytes_equal", + "equal": true + } + ], + "pixel_equal_and_sanitizer_keep": [ + "cc_del", + "cc_nul", + "cc_c1_no_device_csi_filtered" + ] +} diff --git a/evidence/h14-local/lm-chromium-probes.json b/evidence/h14-local/lm-chromium-probes.json new file mode 100644 index 00000000..8fd7a46a --- /dev/null +++ b/evidence/h14-local/lm-chromium-probes.json @@ -0,0 +1,10 @@ +{ + "source": "I do not agree.", + "rows": [ + {"id": "lm_prime", "payload_labels": ["U+02B9"], "required_sanitizers_keep": true, "chromium_pre": "REJECTED", "chromium_detail": "png_bytes_differ", "equal": false}, + {"id": "lm_apostrophe", "payload_labels": ["U+02BC"], "required_sanitizers_keep": true, "chromium_pre": "REJECTED", "chromium_detail": "png_bytes_differ", "equal": false}, + {"id": "lm_glottal", "payload_labels": ["U+02C0"], "required_sanitizers_keep": true, "chromium_pre": "REJECTED", "chromium_detail": "png_bytes_differ", "equal": false}, + {"id": "lm_raised_excl", "payload_labels": ["U+A71D"], "required_sanitizers_keep": true, "chromium_pre": "REJECTED", "chromium_detail": "png_bytes_differ", "equal": false}, + {"id": "sk_arrowhead", "payload_labels": ["U+02C2"], "required_sanitizers_keep": true, "chromium_pre": "REJECTED", "chromium_detail": "png_bytes_differ", "equal": false} + ] +} diff --git a/evidence/h14-local/summary.json b/evidence/h14-local/summary.json new file mode 100644 index 00000000..74d753e5 --- /dev/null +++ b/evidence/h14-local/summary.json @@ -0,0 +1,53 @@ +{ + "hypothesis": "H14", + "algorithm_version": "cycle8-post-sanitizer-extended-class-v1", + "mix_sanitizer_gate": "FAIL", + "product_authorized": false, + "stronger_priority_zero_safe_mechanism": null, + "di_list_complete_vs_ucd15": true, + "mc_sanitizer_survivor_count": 419, + "lm_sanitizer_survivor_count": 128, + "mc_width0_survivor_labels": [], + "lm_width0_survivor_labels": [], + "dejavu_sans_mono_zero_advance_empty_assigned_survivors": [], + "pixel_equal_and_sanitizer_keep": ["cc_del", "cc_nul", "cc_c1_no_device_csi_filtered"], + "chromium_rejected_sanitizer_keep": [ + "mc_hangul_tone_single", + "mc_hangul_tone_double", + "mc_devanagari_aa", + "mc_bengali_aa", + "mc_tamil_aa", + "mc_balinese_tedung", + "mc_bengali_au_length", + "so_object_replacement", + "lo_egyptian_full_blank", + "lo_egyptian_half_blank", + "po_devanagari_gap_filler", + "po_newa_gap_filler", + "po_kawi_space_filler", + "po_bhaiksuki_gap_filler", + "so_braille_blank", + "so_blank_symbol", + "me_enclosing_circle", + "co_pua_bmp", + "cn_noncharacter_fffe", + "zs_ogham_space", + "zl_line_separator", + "lm_prime", + "lm_apostrophe", + "lm_glottal", + "lm_raised_excl", + "sk_arrowhead" + ], + "sanitizer_fail_pixel_notes": { + "mn_cgj_control": "VERIFIED pixels; Mn-strip and default-ignorable-strip restore the source", + "lo_hangul_filler_di": "REJECTED pixels; default-ignorable", + "seq_hangul_jamo_fillers": "REJECTED pixels; default-ignorable", + "zs_nbsp": "REJECTED pixels; NFKC maps to SPACE", + "lm_modifier_small_h": "REJECTED pixels; NFKC maps to Latin h" + }, + "font_metric": { + "dejavu_sans_mono": "no sanitizer-surviving simple empty zero-advance glyph", + "system_fonts_zero_advance_empty_survivors": "Cc, U+2028, U+2029, and U+FFFC in DejaVu Sans (zero) versus Mono (full cell)" + } +} diff --git a/fuckmark/cycle8/post_sanitizer_extended.py b/fuckmark/cycle8/post_sanitizer_extended.py new file mode 100644 index 00000000..e50b3a2f --- /dev/null +++ b/fuckmark/cycle8/post_sanitizer_extended.py @@ -0,0 +1,348 @@ +from __future__ import annotations + +import json +import unicodedata +from pathlib import Path + +from ..config import canonical_json_text +from ..hashing import sha256_json +from ..product.roundtrip import display_column_width +from .closed_set import CYCLE8_CLOSED_SET_HASH +from .control_carrier import CYCLE8_CONTROL_CARRIER_HASH, required_sanitizers_keep +from .feasibility import CYCLE8_FEASIBILITY_HASH +from .post_sanitizer_class import CYCLE8_POST_SANITIZER_CLASS_HASH +from .publishability import CYCLE8_MIX_PUBLISHABILITY_HASH +from .unicode_meta import DEFAULT_IGNORABLE_RANGES_V1, is_default_ignorable_v1 + + +CYCLE8_POST_SANITIZER_EXTENDED_VERSION = "cycle8-post-sanitizer-extended-class-v1" +CYCLE8_POST_SANITIZER_EXTENDED_PATH = "specs/cycle8/fuckmark-cycle8-post-sanitizer-extended-class-v1.json" +CYCLE8_POST_SANITIZER_EXTENDED_HASH = "b1ca728142a217887ad327ddb226869b4343c898452240d731ab4c7d07f6f918" + +UCD15_DEFAULT_IGNORABLE_RANGES = ( + (0x00AD, 0x00AD), + (0x034F, 0x034F), + (0x061C, 0x061C), + (0x115F, 0x1160), + (0x17B4, 0x17B5), + (0x180B, 0x180F), + (0x200B, 0x200F), + (0x202A, 0x202E), + (0x2060, 0x206F), + (0x3164, 0x3164), + (0xFE00, 0xFE0F), + (0xFEFF, 0xFEFF), + (0xFFA0, 0xFFA0), + (0xFFF0, 0xFFF8), + (0x1BCA0, 0x1BCA3), + (0x1D173, 0x1D17A), + (0xE0000, 0xE0FFF), +) +MC_CHROMIUM_PROBES = (0x302E, 0x302F, 0x093E, 0x09BE, 0x0BBE, 0x1B35, 0x09D7) +LM_CHROMIUM_PROBES = (0x02B9, 0x02BC, 0x02C0, 0xA71D) +DESIGNED_BLANK_PROBES = (0x1680, 0x2422, 0x2800, 0xA8F9, 0xFFFC, 0x1144E, 0x11C44, 0x11F48, 0x13441, 0x13442) +NFKC_COLLAPSE_PROBES = (0x00A0, 0x02B0, 0xFF9E, 0xFF9F) +HANGUL_JAMO_FILLER_SEQUENCE = "\u115f\u1160" + + +def _assigned_name(codepoint: int) -> str | None: + try: + return unicodedata.name(chr(codepoint)) + except ValueError: + return None + + +def _label(codepoint: int) -> str: + return f"U+{codepoint:04X}" + + +def _class_row( + class_id: str, + *, + required_sanitizers: str, + chromium_pre: str, + ordinary_plain_text: str, + product: str, + reason: str, + examples: tuple[str, ...], +) -> dict[str, object]: + return { + "id": class_id, + "examples": list(examples), + "required_sanitizers": required_sanitizers, + "chromium_pre": chromium_pre, + "ordinary_plain_text": ordinary_plain_text, + "product": product, + "reason": reason, + } + + +def _width_delta(character: str) -> int: + return display_column_width(f"A{character}B") - display_column_width("AB") + + +def scan_spacing_mark_and_modifier_survivors() -> dict[str, object]: + mc_keep = 0 + lm_keep = 0 + mc_width0: list[str] = [] + lm_width0: list[str] = [] + for codepoint in range(0x110000): + if 0xD800 <= codepoint <= 0xDFFF: + continue + if _assigned_name(codepoint) is None: + continue + character = chr(codepoint) + category = unicodedata.category(character) + if category not in {"Mc", "Lm"}: + continue + inserted = f"A{character}B" + if not required_sanitizers_keep(inserted): + continue + delta = _width_delta(character) + if category == "Mc": + mc_keep += 1 + if delta == 0: + mc_width0.append(_label(codepoint)) + else: + lm_keep += 1 + if delta == 0: + lm_width0.append(_label(codepoint)) + return { + "mc_sanitizer_survivor_count": mc_keep, + "lm_sanitizer_survivor_count": lm_keep, + "mc_width0_survivor_labels": mc_width0, + "lm_width0_survivor_labels": lm_width0, + } + + +def designed_blank_probe_rows() -> tuple[dict[str, object], ...]: + rows = [] + for codepoint in DESIGNED_BLANK_PROBES: + character = chr(codepoint) + inserted = f"A{character}B" + rows.append( + { + "label": _label(codepoint), + "name": _assigned_name(codepoint), + "category": unicodedata.category(character), + "required_sanitizers_keep": required_sanitizers_keep(inserted), + "width_delta": _width_delta(character), + "default_ignorable": is_default_ignorable_v1(codepoint), + } + ) + return tuple(rows) + + +def nfkc_collapse_probe_rows() -> tuple[dict[str, object], ...]: + rows = [] + for codepoint in NFKC_COLLAPSE_PROBES: + character = chr(codepoint) + rows.append( + { + "label": _label(codepoint), + "name": _assigned_name(codepoint), + "category": unicodedata.category(character), + "nfkc": unicodedata.normalize("NFKC", character), + "required_sanitizers_keep": required_sanitizers_keep(f"A{character}B"), + } + ) + return tuple(rows) + + +def post_sanitizer_extended_class_payload() -> dict[str, object]: + survivors = scan_spacing_mark_and_modifier_survivors() + blanks = designed_blank_probe_rows() + nfkc_rows = nfkc_collapse_probe_rows() + hangul_seq_keep = required_sanitizers_keep(f"A{HANGUL_JAMO_FILLER_SEQUENCE}B") + di_complete = DEFAULT_IGNORABLE_RANGES_V1 == UCD15_DEFAULT_IGNORABLE_RANGES + classes = ( + _class_row( + "mc_spacing_combining_insertion", + required_sanitizers="PASS", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason=( + "Spacing combining marks survive Mn-strip, default-ignorable-strip, Cf-strip, " + "NFC, and NFKC. H9 skipped Mc as a visible category. Measured Mc probes, " + "including Hangul tone marks and Indic vowel signs, change Chromium pre pixels." + ), + examples=tuple(_label(codepoint) for codepoint in MC_CHROMIUM_PROBES), + ), + _class_row( + "lm_modifier_letter_insertion", + required_sanitizers="PASS", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason=( + "NFKC-stable modifier letters survive the required sanitizers and take display " + "width. Measured probes change Chromium pre pixels. Compatibility modifier " + "letters such as U+02B0 die to NFKC." + ), + examples=tuple(_label(codepoint) for codepoint in LM_CHROMIUM_PROBES), + ), + _class_row( + "designed_blank_or_gap_filler", + required_sanitizers="PASS", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason=( + "Egyptian hieroglyph blanks, Indic gap fillers, Braille blank, Ogham space, " + "blank symbol, and object replacement survive the required sanitizers with " + "nonzero display width and change Chromium pre pixels." + ), + examples=tuple(_label(codepoint) for codepoint in DESIGNED_BLANK_PROBES), + ), + _class_row( + "font_zero_advance_empty_glyph", + required_sanitizers="FAIL", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason=( + "DejaVu Sans Mono has no sanitizer-surviving simple empty zero-advance glyph. " + "Empty Mono glyphs are spaces, Cf annotation, or U+FFFC with full cell advance. " + "U+FFFC is zero-advance in DejaVu Sans and full-cell in Mono; Chromium pre uses " + "Mono and rejects it. Remaining system-font zero-advance empties are Cc or layout." + ), + examples=("U+FFFC",), + ), + _class_row( + "hangul_filler_sequence", + required_sanitizers="FAIL", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason="U+115F plus U+1160 is default-ignorable. Default-ignorable-strip restores the source.", + examples=("U+115F", "U+1160"), + ), + _class_row( + "nfkc_compatibility_lookalike", + required_sanitizers="FAIL", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason=( + "NBSP, modifier letter small h, and halfwidth katakana voiced marks are not " + "NFKC-stable. Homoglyph substitution remains forbidden." + ), + examples=tuple(_label(codepoint) for codepoint in NFKC_COLLAPSE_PROBES), + ), + _class_row( + "cc_csi_filtered_subset", + required_sanitizers="PASS", + chromium_pre="HOST_DEPENDENT", + ordinary_plain_text="FAIL", + product="FAIL", + reason=( + "Removing ISO-6429 device controls from H12 does not leave the Cc class. " + "DEL and remaining C1 are still controls, still not ordinary plain text, and " + "Chromium remains host-dependent." + ), + examples=("U+007F", "U+0080"), + ), + ) + conjunction = [ + row["id"] + for row in classes + if row["required_sanitizers"] == "PASS" + and row["chromium_pre"] == "VERIFIED" + and row["ordinary_plain_text"] == "PASS" + ] + payload = { + "algorithm_version": CYCLE8_POST_SANITIZER_EXTENDED_VERSION, + "priority_zero": "exact_user_visible_text_preservation", + "search_space": ( + "sanitizer_surviving_non_width0_unicode_string_transforms_including_mc_lm_blanks_" + "sequences_and_font_metrics" + ), + "does_not_repeat_assigned_width0_scan": True, + "does_not_reopen_h13_classification": True, + "assigned_width0_closed_set_hash": CYCLE8_CLOSED_SET_HASH, + "assigned_width0_feasibility_hash": CYCLE8_FEASIBILITY_HASH, + "control_carrier_hash": CYCLE8_CONTROL_CARRIER_HASH, + "post_sanitizer_class_hash": CYCLE8_POST_SANITIZER_CLASS_HASH, + "mix_publishability_hash": CYCLE8_MIX_PUBLISHABILITY_HASH, + "mix_sanitizer_gate": "FAIL", + "di_list_complete_vs_ucd15": di_complete, + "mc_sanitizer_survivor_count": survivors["mc_sanitizer_survivor_count"], + "lm_sanitizer_survivor_count": survivors["lm_sanitizer_survivor_count"], + "mc_width0_survivor_labels": survivors["mc_width0_survivor_labels"], + "lm_width0_survivor_labels": survivors["lm_width0_survivor_labels"], + "mc_chromium_probe_labels": [_label(codepoint) for codepoint in MC_CHROMIUM_PROBES], + "lm_chromium_probe_labels": [_label(codepoint) for codepoint in LM_CHROMIUM_PROBES], + "designed_blank_probes": list(blanks), + "nfkc_collapse_probes": list(nfkc_rows), + "hangul_jamo_filler_sequence_required_sanitizers_keep": hangul_seq_keep, + "dejavu_sans_mono_zero_advance_empty_assigned_survivors": [], + "classes": list(classes), + "conjunction_sanitizer_pass_chromium_verified_ordinary_text": conjunction, + "stronger_priority_zero_safe_mechanism": None, + "product_authorized": False, + "mix_gate_not_rewritten": True, + "spent_confirmation_corpora_not_reused": True, + "boundary": ( + "After Mn-strip, default-ignorable-strip, Cf-strip, NFC, and NFKC, a surviving " + "string difference must use a non-Mn, non-default-ignorable, non-Cf character. " + "Unicode treats those characters as graphic. H9 closed width-0 assigned insertions " + "at Mn, Me, or Cf. H14 measured the next classes: Mc, NFKC-stable Lm, designed " + "blanks and gap fillers, Hangul filler sequences, font-metric empty glyphs, and a " + "CSI-filtered Cc subset. Mc, Lm, and designed blanks survive the required sanitizers " + "and change Chromium pre pixels. Hangul fillers and NFKC lookalikes die to the " + "required sanitizers. DejaVu Sans Mono has no sanitizer-surviving zero-advance empty " + "glyph. Control codes remain the only measured sanitizer-surviving pixel-equal class " + "on one research host, and they are Chromium host-dependent and not ordinary text. " + "No measured class is simultaneously sanitizer-surviving, Chromium-portable, ordinary " + "plain text, and Priority-Zero safe. This does not rewrite mix sanitizer FAIL." + ), + } + return {**payload, "extended_class_hash": sha256_json(payload)} + + +def write_post_sanitizer_extended_class_spec(path: str | Path | None = None) -> Path: + destination = Path(path) if path is not None else Path(CYCLE8_POST_SANITIZER_EXTENDED_PATH) + payload = post_sanitizer_extended_class_payload() + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_text(canonical_json_text(payload) + "\n", encoding="utf-8") + return destination + + +def load_post_sanitizer_extended_class(path: str | Path | None = None) -> dict[str, object]: + destination = Path(path) if path is not None else Path(CYCLE8_POST_SANITIZER_EXTENDED_PATH) + return json.loads(destination.read_text(encoding="utf-8")) + + +def assert_post_sanitizer_extended_class_committed() -> None: + path = Path(CYCLE8_POST_SANITIZER_EXTENDED_PATH) + if not path.is_file(): + raise ValueError("post-sanitizer extended class spec is not committed") + disk = json.loads(path.read_text(encoding="utf-8")) + body = {key: value for key, value in disk.items() if key != "extended_class_hash"} + digest = sha256_json(body) + if disk.get("extended_class_hash") != digest: + raise ValueError("post-sanitizer extended class spec hash mismatch") + if CYCLE8_POST_SANITIZER_EXTENDED_HASH != "0" * 64 and digest != CYCLE8_POST_SANITIZER_EXTENDED_HASH: + raise ValueError("post-sanitizer extended class spec hash is not the frozen digest") + if disk["product_authorized"] is True: + raise ValueError("extended class must not product-authorize a mechanism") + if disk["stronger_priority_zero_safe_mechanism"] is not None: + raise ValueError("extended class must not claim a stronger Priority-Zero mechanism") + if disk["mix_gate_not_rewritten"] is not True: + raise ValueError("extended class must not rewrite the mix sanitizer gate") + if disk["mix_sanitizer_gate"] != "FAIL": + raise ValueError("extended class must keep mix sanitizer FAIL") + if disk["conjunction_sanitizer_pass_chromium_verified_ordinary_text"] != []: + raise ValueError("extended class must not claim a conjunction survivor") + if disk["mc_width0_survivor_labels"] != []: + raise ValueError("extended class found width-0 Mc sanitizer survivors") + if disk["lm_width0_survivor_labels"] != []: + raise ValueError("extended class found width-0 Lm sanitizer survivors") + if disk["hangul_jamo_filler_sequence_required_sanitizers_keep"] is not False: + raise ValueError("Hangul filler sequence must die to required sanitizers") + if disk["di_list_complete_vs_ucd15"] is not True: + raise ValueError("project default-ignorable list must match Unicode 15.0") + live = post_sanitizer_extended_class_payload() + if live["mc_sanitizer_survivor_count"] == disk["mc_sanitizer_survivor_count"] and live != disk: + raise ValueError("post-sanitizer extended class spec does not match the live payload") diff --git a/specs/cycle8/fuckmark-cycle8-post-sanitizer-extended-class-v1.json b/specs/cycle8/fuckmark-cycle8-post-sanitizer-extended-class-v1.json new file mode 100644 index 00000000..3c413658 --- /dev/null +++ b/specs/cycle8/fuckmark-cycle8-post-sanitizer-extended-class-v1.json @@ -0,0 +1 @@ +{"algorithm_version":"cycle8-post-sanitizer-extended-class-v1","assigned_width0_closed_set_hash":"425f85e5e91c1513750e5a3da08a45f537a5b2e5c07f47854dc2c9f6420f794d","assigned_width0_feasibility_hash":"edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483","boundary":"After Mn-strip, default-ignorable-strip, Cf-strip, NFC, and NFKC, a surviving string difference must use a non-Mn, non-default-ignorable, non-Cf character. Unicode treats those characters as graphic. H9 closed width-0 assigned insertions at Mn, Me, or Cf. H14 measured the next classes: Mc, NFKC-stable Lm, designed blanks and gap fillers, Hangul filler sequences, font-metric empty glyphs, and a CSI-filtered Cc subset. Mc, Lm, and designed blanks survive the required sanitizers and change Chromium pre pixels. Hangul fillers and NFKC lookalikes die to the required sanitizers. DejaVu Sans Mono has no sanitizer-surviving zero-advance empty glyph. Control codes remain the only measured sanitizer-surviving pixel-equal class on one research host, and they are Chromium host-dependent and not ordinary text. No measured class is simultaneously sanitizer-surviving, Chromium-portable, ordinary plain text, and Priority-Zero safe. This does not rewrite mix sanitizer FAIL.","classes":[{"chromium_pre":"REJECTED","examples":["U+302E","U+302F","U+093E","U+09BE","U+0BBE","U+1B35","U+09D7"],"id":"mc_spacing_combining_insertion","ordinary_plain_text":"FAIL","product":"FAIL","reason":"Spacing combining marks survive Mn-strip, default-ignorable-strip, Cf-strip, NFC, and NFKC. H9 skipped Mc as a visible category. Measured Mc probes, including Hangul tone marks and Indic vowel signs, change Chromium pre pixels.","required_sanitizers":"PASS"},{"chromium_pre":"REJECTED","examples":["U+02B9","U+02BC","U+02C0","U+A71D"],"id":"lm_modifier_letter_insertion","ordinary_plain_text":"FAIL","product":"FAIL","reason":"NFKC-stable modifier letters survive the required sanitizers and take display width. Measured probes change Chromium pre pixels. Compatibility modifier letters such as U+02B0 die to NFKC.","required_sanitizers":"PASS"},{"chromium_pre":"REJECTED","examples":["U+1680","U+2422","U+2800","U+A8F9","U+FFFC","U+1144E","U+11C44","U+11F48","U+13441","U+13442"],"id":"designed_blank_or_gap_filler","ordinary_plain_text":"FAIL","product":"FAIL","reason":"Egyptian hieroglyph blanks, Indic gap fillers, Braille blank, Ogham space, blank symbol, and object replacement survive the required sanitizers with nonzero display width and change Chromium pre pixels.","required_sanitizers":"PASS"},{"chromium_pre":"REJECTED","examples":["U+FFFC"],"id":"font_zero_advance_empty_glyph","ordinary_plain_text":"FAIL","product":"FAIL","reason":"DejaVu Sans Mono has no sanitizer-surviving simple empty zero-advance glyph. Empty Mono glyphs are spaces, Cf annotation, or U+FFFC with full cell advance. U+FFFC is zero-advance in DejaVu Sans and full-cell in Mono; Chromium pre uses Mono and rejects it. Remaining system-font zero-advance empties are Cc or layout.","required_sanitizers":"FAIL"},{"chromium_pre":"REJECTED","examples":["U+115F","U+1160"],"id":"hangul_filler_sequence","ordinary_plain_text":"FAIL","product":"FAIL","reason":"U+115F plus U+1160 is default-ignorable. Default-ignorable-strip restores the source.","required_sanitizers":"FAIL"},{"chromium_pre":"REJECTED","examples":["U+00A0","U+02B0","U+FF9E","U+FF9F"],"id":"nfkc_compatibility_lookalike","ordinary_plain_text":"FAIL","product":"FAIL","reason":"NBSP, modifier letter small h, and halfwidth katakana voiced marks are not NFKC-stable. Homoglyph substitution remains forbidden.","required_sanitizers":"FAIL"},{"chromium_pre":"HOST_DEPENDENT","examples":["U+007F","U+0080"],"id":"cc_csi_filtered_subset","ordinary_plain_text":"FAIL","product":"FAIL","reason":"Removing ISO-6429 device controls from H12 does not leave the Cc class. DEL and remaining C1 are still controls, still not ordinary plain text, and Chromium remains host-dependent.","required_sanitizers":"PASS"}],"conjunction_sanitizer_pass_chromium_verified_ordinary_text":[],"control_carrier_hash":"99785e6bbe4b32b1cb91a1616fd0c1620cb78e73270299dcb7d7f9b0ac5aaffd","dejavu_sans_mono_zero_advance_empty_assigned_survivors":[],"designed_blank_probes":[{"category":"Zs","default_ignorable":false,"label":"U+1680","name":"OGHAM SPACE MARK","required_sanitizers_keep":true,"width_delta":1},{"category":"So","default_ignorable":false,"label":"U+2422","name":"BLANK SYMBOL","required_sanitizers_keep":true,"width_delta":1},{"category":"So","default_ignorable":false,"label":"U+2800","name":"BRAILLE PATTERN BLANK","required_sanitizers_keep":true,"width_delta":1},{"category":"Po","default_ignorable":false,"label":"U+A8F9","name":"DEVANAGARI GAP FILLER","required_sanitizers_keep":true,"width_delta":1},{"category":"So","default_ignorable":false,"label":"U+FFFC","name":"OBJECT REPLACEMENT CHARACTER","required_sanitizers_keep":true,"width_delta":1},{"category":"Po","default_ignorable":false,"label":"U+1144E","name":"NEWA GAP FILLER","required_sanitizers_keep":true,"width_delta":1},{"category":"Po","default_ignorable":false,"label":"U+11C44","name":"BHAIKSUKI GAP FILLER-1","required_sanitizers_keep":true,"width_delta":1},{"category":"Po","default_ignorable":false,"label":"U+11F48","name":"KAWI PUNCTUATION SPACE FILLER","required_sanitizers_keep":true,"width_delta":1},{"category":"Lo","default_ignorable":false,"label":"U+13441","name":"EGYPTIAN HIEROGLYPH FULL BLANK","required_sanitizers_keep":true,"width_delta":1},{"category":"Lo","default_ignorable":false,"label":"U+13442","name":"EGYPTIAN HIEROGLYPH HALF BLANK","required_sanitizers_keep":true,"width_delta":1}],"di_list_complete_vs_ucd15":true,"does_not_reopen_h13_classification":true,"does_not_repeat_assigned_width0_scan":true,"extended_class_hash":"b1ca728142a217887ad327ddb226869b4343c898452240d731ab4c7d07f6f918","hangul_jamo_filler_sequence_required_sanitizers_keep":false,"lm_chromium_probe_labels":["U+02B9","U+02BC","U+02C0","U+A71D"],"lm_sanitizer_survivor_count":128,"lm_width0_survivor_labels":[],"mc_chromium_probe_labels":["U+302E","U+302F","U+093E","U+09BE","U+0BBE","U+1B35","U+09D7"],"mc_sanitizer_survivor_count":419,"mc_width0_survivor_labels":[],"mix_gate_not_rewritten":true,"mix_publishability_hash":"1149940b64e9617af12cb1e8e89448043edc235bdfd127cda5e163cfe03bc5c8","mix_sanitizer_gate":"FAIL","nfkc_collapse_probes":[{"category":"Zs","label":"U+00A0","name":"NO-BREAK SPACE","nfkc":" ","required_sanitizers_keep":false},{"category":"Lm","label":"U+02B0","name":"MODIFIER LETTER SMALL H","nfkc":"h","required_sanitizers_keep":false},{"category":"Lm","label":"U+FF9E","name":"HALFWIDTH KATAKANA VOICED SOUND MARK","nfkc":"゙","required_sanitizers_keep":false},{"category":"Lm","label":"U+FF9F","name":"HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK","nfkc":"゚","required_sanitizers_keep":false}],"post_sanitizer_class_hash":"a13f935834b399bd2dda6c543ad4cf646bcfc2f6426ca866b08ae8cf51346bf3","priority_zero":"exact_user_visible_text_preservation","product_authorized":false,"search_space":"sanitizer_surviving_non_width0_unicode_string_transforms_including_mc_lm_blanks_sequences_and_font_metrics","spent_confirmation_corpora_not_reused":true,"stronger_priority_zero_safe_mechanism":null} diff --git a/tests/test_cycle8_post_sanitizer_extended.py b/tests/test_cycle8_post_sanitizer_extended.py new file mode 100644 index 00000000..17f45015 --- /dev/null +++ b/tests/test_cycle8_post_sanitizer_extended.py @@ -0,0 +1,144 @@ +import json +from pathlib import Path + +import pytest + +from fuckmark.cli import process_text +from fuckmark.cycle8.benchmark import sanitize_benchmark_stress +from fuckmark.cycle8.closed_set import CYCLE8_CLOSED_SET_HASH +from fuckmark.cycle8.control_carrier import CYCLE8_CONTROL_CARRIER_HASH, required_sanitizers_keep +from fuckmark.cycle8.feasibility import CYCLE8_FEASIBILITY_HASH +from fuckmark.cycle8.letter_mix import apply_letter_alternating_mix +from fuckmark.cycle8.post_sanitizer_class import CYCLE8_POST_SANITIZER_CLASS_HASH +from fuckmark.cycle8.post_sanitizer_extended import ( + CYCLE8_POST_SANITIZER_EXTENDED_HASH, + CYCLE8_POST_SANITIZER_EXTENDED_PATH, + CYCLE8_POST_SANITIZER_EXTENDED_VERSION, + DESIGNED_BLANK_PROBES, + HANGUL_JAMO_FILLER_SEQUENCE, + LM_CHROMIUM_PROBES, + MC_CHROMIUM_PROBES, + NFKC_COLLAPSE_PROBES, + UCD15_DEFAULT_IGNORABLE_RANGES, + assert_post_sanitizer_extended_class_committed, + post_sanitizer_extended_class_payload, +) +from fuckmark.cycle8.publishability import CYCLE8_MIX_PUBLISHABILITY_HASH, mix_is_product_publishable +from fuckmark.cycle8.unicode_meta import DEFAULT_IGNORABLE_RANGES_V1 +from fuckmark.hashing import sha256_file, sha256_json +from fuckmark.product.rendering import chrome_executable, compare_chrome_pre_screenshots +from fuckmark.product.visible_projection import product_approved_carriers_v1 +from fuckmark.transforms.registry import release_transform_registry + + +def _load() -> dict[str, object]: + return json.loads((Path(__file__).resolve().parents[1] / CYCLE8_POST_SANITIZER_EXTENDED_PATH).read_text(encoding="utf-8")) + + +def test_post_sanitizer_extended_class_has_no_conjunction_survivor() -> None: + disk = _load() + payload = post_sanitizer_extended_class_payload() + body = {key: value for key, value in disk.items() if key != "extended_class_hash"} + assert disk["extended_class_hash"] == sha256_json(body) == CYCLE8_POST_SANITIZER_EXTENDED_HASH + assert disk["algorithm_version"] == CYCLE8_POST_SANITIZER_EXTENDED_VERSION + assert disk["does_not_repeat_assigned_width0_scan"] is True + assert disk["does_not_reopen_h13_classification"] is True + assert disk["assigned_width0_closed_set_hash"] == CYCLE8_CLOSED_SET_HASH + assert disk["assigned_width0_feasibility_hash"] == CYCLE8_FEASIBILITY_HASH + assert disk["control_carrier_hash"] == CYCLE8_CONTROL_CARRIER_HASH + assert disk["post_sanitizer_class_hash"] == CYCLE8_POST_SANITIZER_CLASS_HASH + assert disk["mix_publishability_hash"] == CYCLE8_MIX_PUBLISHABILITY_HASH + assert disk["mix_sanitizer_gate"] == "FAIL" + assert disk["di_list_complete_vs_ucd15"] is True + assert DEFAULT_IGNORABLE_RANGES_V1 == UCD15_DEFAULT_IGNORABLE_RANGES + assert disk["mc_width0_survivor_labels"] == [] + assert disk["lm_width0_survivor_labels"] == [] + assert disk["mc_sanitizer_survivor_count"] >= 1 + assert disk["lm_sanitizer_survivor_count"] >= 1 + assert disk["hangul_jamo_filler_sequence_required_sanitizers_keep"] is False + assert disk["dejavu_sans_mono_zero_advance_empty_assigned_survivors"] == [] + assert disk["conjunction_sanitizer_pass_chromium_verified_ordinary_text"] == [] + assert disk["stronger_priority_zero_safe_mechanism"] is None + assert disk["product_authorized"] is False + assert disk["mix_gate_not_rewritten"] is True + assert disk["spent_confirmation_corpora_not_reused"] is True + if payload["mc_sanitizer_survivor_count"] == disk["mc_sanitizer_survivor_count"]: + assert payload == disk + assert_post_sanitizer_extended_class_committed() + by_id = {row["id"]: row for row in disk["classes"]} + assert by_id["mc_spacing_combining_insertion"]["required_sanitizers"] == "PASS" + assert by_id["mc_spacing_combining_insertion"]["chromium_pre"] == "REJECTED" + assert by_id["lm_modifier_letter_insertion"]["chromium_pre"] == "REJECTED" + assert by_id["designed_blank_or_gap_filler"]["chromium_pre"] == "REJECTED" + assert by_id["font_zero_advance_empty_glyph"]["required_sanitizers"] == "FAIL" + assert by_id["hangul_filler_sequence"]["required_sanitizers"] == "FAIL" + assert by_id["nfkc_compatibility_lookalike"]["required_sanitizers"] == "FAIL" + assert by_id["cc_csi_filtered_subset"]["chromium_pre"] == "HOST_DEPENDENT" + assert by_id["cc_csi_filtered_subset"]["ordinary_plain_text"] == "FAIL" + assert mix_is_product_publishable() is False + assert process_text("I do not agree.") == "I do not agree." + assert product_approved_carriers_v1() == frozenset() + assert release_transform_registry().rules == () + for row in disk["classes"]: + conjunction = ( + row["required_sanitizers"] == "PASS" + and row["chromium_pre"] == "VERIFIED" + and row["ordinary_plain_text"] == "PASS" + ) + assert conjunction is False + + +def test_extended_class_probes_match_required_sanitizer_contract() -> None: + for codepoint in (*MC_CHROMIUM_PROBES, *LM_CHROMIUM_PROBES, *DESIGNED_BLANK_PROBES): + assert required_sanitizers_keep(f"A{chr(codepoint)}B") is True + for codepoint in NFKC_COLLAPSE_PROBES: + assert required_sanitizers_keep(f"A{chr(codepoint)}B") is False + assert required_sanitizers_keep(f"A{HANGUL_JAMO_FILLER_SEQUENCE}B") is False + source = "I do not agree." + mix = apply_letter_alternating_mix(source) + assert sanitize_benchmark_stress("mn_strip", mix) == source + assert sanitize_benchmark_stress("default_ignorable_strip", mix) == source + + +def test_extended_class_chromium_probes_change_pre_pixels() -> None: + if chrome_executable() is None: + pytest.skip("chromium is not available") + original = "I do not agree." + for codepoint in (*MC_CHROMIUM_PROBES, *LM_CHROMIUM_PROBES, DESIGNED_BLANK_PROBES[0], DESIGNED_BLANK_PROBES[4], 0x13441): + comparison = compare_chrome_pre_screenshots(original, f"I{chr(codepoint)} do not agree.") + if comparison.status == "UNKNOWN": + pytest.skip(comparison.detail) + assert comparison.status == "REJECTED" + assert comparison.equal is False + cgj = compare_chrome_pre_screenshots(original, "I\u034f do not agree.") + if cgj.status == "UNKNOWN": + pytest.skip(cgj.detail) + assert cgj.status == "VERIFIED" + assert cgj.equal is True + control = compare_chrome_pre_screenshots(original, "I\u007f do not agree.") + if control.status == "UNKNOWN": + pytest.skip(control.detail) + assert control.status in {"VERIFIED", "REJECTED"} + + +def test_h14_local_evidence_hashes() -> None: + root = Path(__file__).resolve().parents[1] / "evidence" / "h14-local" + sums = (root / "SHA256SUMS.txt").read_text(encoding="utf-8").splitlines() + files = {line.split()[-1]: line.split()[0] for line in sums if line} + assert set(files) == { + "README.md", + "summary.json", + "chromium-probes.json", + "lm-chromium-probes.json", + } + for name, digest in files.items(): + assert sha256_file(root / name) == digest + summary = json.loads((root / "summary.json").read_text(encoding="utf-8")) + assert summary["mix_sanitizer_gate"] == "FAIL" + assert summary["product_authorized"] is False + assert summary["stronger_priority_zero_safe_mechanism"] is None + assert summary["pixel_equal_and_sanitizer_keep"] == [ + "cc_del", + "cc_nul", + "cc_c1_no_device_csi_filtered", + ] diff --git a/tools/h14_chromium_probes.py b/tools/h14_chromium_probes.py new file mode 100644 index 00000000..9f664a2a --- /dev/null +++ b/tools/h14_chromium_probes.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python3 +"""H14 Chromium pixel probes for sanitizer-surviving non-width0 classes.""" + +from __future__ import annotations + +import json +from pathlib import Path + +from fuckmark.cycle8.control_carrier import required_sanitizers_keep +from fuckmark.cycle8.unicode_meta import is_default_ignorable_v1 +from fuckmark.product.rendering import compare_chrome_pre_screenshots +from fuckmark.product.roundtrip import display_column_width + +SOURCE = "I do not agree." + +PROBES: tuple[tuple[str, str], ...] = ( + ("mc_hangul_tone_single", "\u302e"), + ("mc_hangul_tone_double", "\u302f"), + ("mc_devanagari_aa", "\u093e"), + ("mc_bengali_aa", "\u09be"), + ("mc_tamil_aa", "\u0bbe"), + ("mc_balinese_tedung", "\u1b35"), + ("mc_bengali_au_length", "\u09d7"), + ("so_object_replacement", "\ufffc"), + ("lo_egyptian_full_blank", "\U00013441"), + ("lo_egyptian_half_blank", "\U00013442"), + ("po_devanagari_gap_filler", "\ua8f9"), + ("po_newa_gap_filler", "\U0001144e"), + ("po_kawi_space_filler", "\U00011f48"), + ("po_bhaiksuki_gap_filler", "\U00011c44"), + ("so_braille_blank", "\u2800"), + ("so_blank_symbol", "\u2422"), + ("me_enclosing_circle", "\u20dd"), + ("mn_cgj_control", "\u034f"), + ("cc_del", "\u007f"), + ("cc_nul", "\u0000"), + ("co_pua_bmp", "\ue000"), + ("cn_noncharacter_fffe", "\ufffe"), + ("lm_modifier_small_h", "\u02b0"), + ("zs_ogham_space", "\u1680"), + ("zs_nbsp", "\u00a0"), + ("zl_line_separator", "\u2028"), + ("lo_hangul_filler_di", "\u3164"), + ("seq_hangul_jamo_fillers", "\u115f\u1160"), + ("cc_c1_no_device_csi_filtered", "\u007f\u0080\u0091"), +) + + +def insert_after_letters(source: str, payload: str) -> str: + chunks: list[str] = [] + for character in source: + chunks.append(character) + if character.isascii() and character.isalpha(): + chunks.append(payload) + return "".join(chunks) + + +def main() -> None: + rows = [] + for probe_id, payload in PROBES: + applied = insert_after_letters(SOURCE, payload) + keep = required_sanitizers_keep(applied) + di = all(is_default_ignorable_v1(ord(character)) for character in payload) + width_delta = display_column_width(applied) - display_column_width(SOURCE) + comparison = compare_chrome_pre_screenshots(SOURCE, applied) + row = { + "id": probe_id, + "payload_labels": [f"U+{ord(character):04X}" for character in payload], + "required_sanitizers_keep": keep, + "payload_all_default_ignorable": di, + "width_delta": width_delta, + "chromium_pre": comparison.status, + "chromium_detail": comparison.detail, + "equal": comparison.equal, + } + rows.append(row) + print( + f"{probe_id:36} keep={keep!s:5} di={di!s:5} width={width_delta:3} " + f"{comparison.status:10} {comparison.detail}" + ) + payload = { + "source": SOURCE, + "rows": rows, + "pixel_equal_and_sanitizer_keep": [ + row["id"] for row in rows if row["equal"] is True and row["required_sanitizers_keep"] is True + ], + } + destination = Path("evidence/h14-local/chromium-probes.json") + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_text(json.dumps(payload, indent=2, ensure_ascii=False) + "\n", encoding="utf-8") + print("pixel_equal_and_sanitizer_keep", payload["pixel_equal_and_sanitizer_keep"]) + print("wrote", destination) + + +if __name__ == "__main__": + main() diff --git a/tools/h14_mechanism_scan.py b/tools/h14_mechanism_scan.py new file mode 100644 index 00000000..60eea15e --- /dev/null +++ b/tools/h14_mechanism_scan.py @@ -0,0 +1,338 @@ +#!/usr/bin/env python3 +"""H14 local research scan: sanitizer-surviving mechanism classes beyond width-0 Mn/Me/Cf. + +This is an experiment runner, not a product authorization path. +It does not weaken sanitizer tests and does not touch spent confirmation corpora. +""" + +from __future__ import annotations + +import argparse +import json +import unicodedata +from collections import Counter +from pathlib import Path + +from fontTools.ttLib import TTFont + +from fuckmark.cycle8.control_carrier import ( + CONTROL_MIX_ELIGIBLE_CODEPOINTS, + HOSTILE_CONTROL_CODEPOINTS, + LAYOUT_CONTROL_CODEPOINTS, + required_sanitizers_keep, +) +from fuckmark.cycle8.unicode_meta import is_default_ignorable_v1 +from fuckmark.product.roundtrip import display_column_width +from fuckmark.sanitizer_robustness import strip_unicode_format_characters + +DEJAVU_MONO = Path("/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf") +SOURCE = "I do not agree." +OFFICIAL_DI_RANGES_UCD15 = ( + (0x00AD, 0x00AD), + (0x034F, 0x034F), + (0x061C, 0x061C), + (0x115F, 0x1160), + (0x17B4, 0x17B5), + (0x180B, 0x180F), + (0x200B, 0x200F), + (0x202A, 0x202E), + (0x2060, 0x206F), + (0x3164, 0x3164), + (0xFE00, 0xFE0F), + (0xFEFF, 0xFEFF), + (0xFFA0, 0xFFA0), + (0xFFF0, 0xFFF8), + (0x1BCA0, 0x1BCA3), + (0x1D173, 0x1D17A), + (0xE0000, 0xE0FFF), +) +NAME_NEEDLES = ("FILLER", "INVISIBLE", "BLANK", "JOINER", "TAG ", " TAG", "PAD", "EMPTY", "VOID", "NULL") +INTERESTING_SINGLETONS = ( + 0x00A0, + 0x00AD, + 0x034F, + 0x115F, + 0x1160, + 0x1680, + 0x180A, + 0x180E, + 0x200B, + 0x2060, + 0x2061, + 0x2062, + 0x2063, + 0x2064, + 0x2800, + 0x302E, + 0x302F, + 0x3164, + 0xFEFF, + 0xFF9E, + 0xFF9F, + 0xFFA0, + 0xFFFC, + 0xFFFD, + 0xFFFE, + 0xFFFF, + 0xE000, + 0xF8FF, + 0xFDD0, +) + + +def _assigned_name(codepoint: int) -> str | None: + try: + return unicodedata.name(chr(codepoint)) + except ValueError: + return None + + +def _in_ranges(codepoint: int, ranges: tuple[tuple[int, int], ...]) -> bool: + return any(start <= codepoint <= end for start, end in ranges) + + +def official_di_ucd15(codepoint: int) -> bool: + return _in_ranges(codepoint, OFFICIAL_DI_RANGES_UCD15) + + +def load_dejavu_metrics(path: Path) -> dict[int, dict[str, object]]: + font = TTFont(path) + cmap = font.getBestCmap() or {} + glyf = font["glyf"] + hmtx = font["hmtx"] + units = int(font["head"].unitsPerEm) + rows: dict[int, dict[str, object]] = {} + for codepoint, glyph_name in cmap.items(): + glyph = glyf[glyph_name] + contours = int(getattr(glyph, "numberOfContours", 0)) + advance, lsb = hmtx[glyph_name] + rows[int(codepoint)] = { + "glyph": glyph_name, + "contours": contours, + "advance": int(advance), + "lsb": int(lsb), + "empty": contours <= 0, + "zero_advance": int(advance) == 0, + } + font.close() + return {"units_per_em": units, "glyphs": rows} + + +def iter_scalars(): + for codepoint in range(0x110000): + if 0xD800 <= codepoint <= 0xDFFF: + continue + yield codepoint + + +def classify_row(codepoint: int, dejavu: dict[int, dict[str, object]]) -> dict[str, object]: + character = chr(codepoint) + name = _assigned_name(codepoint) + category = unicodedata.category(character) + inserted = f"A{character}B" + width_delta = display_column_width(inserted) - display_column_width("AB") + font = dejavu.get(codepoint) + return { + "codepoint": codepoint, + "label": f"U+{codepoint:04X}", + "name": name, + "category": category, + "assigned": name is not None, + "default_ignorable_project": is_default_ignorable_v1(codepoint), + "default_ignorable_ucd15": official_di_ucd15(codepoint), + "required_sanitizers_keep": required_sanitizers_keep(inserted), + "cf_strip_keeps": strip_unicode_format_characters(inserted) == inserted, + "nfc_stable": unicodedata.normalize("NFC", character) == character, + "nfkc_stable": unicodedata.normalize("NFKC", character) == character, + "nfkc": unicodedata.normalize("NFKC", character), + "width_delta": width_delta, + "in_dejavu": font is not None, + "dejavu_contours": None if font is None else font["contours"], + "dejavu_advance": None if font is None else font["advance"], + "dejavu_empty": None if font is None else font["empty"], + "dejavu_zero_advance": None if font is None else font["zero_advance"], + "layout_control": codepoint in LAYOUT_CONTROL_CODEPOINTS, + "hostile_control": codepoint in HOSTILE_CONTROL_CODEPOINTS, + "h12_eligible": codepoint in CONTROL_MIX_ELIGIBLE_CODEPOINTS, + "name_interesting": bool(name) and any(needle in name for needle in NAME_NEEDLES), + } + + +def mechanism_bucket(row: dict[str, object]) -> str: + category = row["category"] + if row["h12_eligible"]: + return "h12_cc_del_c1" + if row["layout_control"]: + return "cc_layout" + if row["hostile_control"]: + return "cc_nul" + if category == "Cc": + return "cc_other" + if category == "Mn": + return "mn" + if category == "Cf": + return "cf" + if category == "Me": + return "me" + if category == "Mc": + return "mc_spacing_combining" + if category == "Lm": + return "lm_modifier_letter" + if category == "Zs": + return "zs_space" + if category in {"Zl", "Zp"}: + return "z_separator" + if category == "Co": + return "co_pua" + if category == "Cn": + return "cn_unassigned_or_noncharacter" + if row["name_interesting"]: + return "named_filler_or_invisible" + if row["dejavu_empty"] is True and row["dejavu_zero_advance"] is True: + return "dejavu_empty_zero_advance" + if row["dejavu_empty"] is True: + return "dejavu_empty_nonzero_advance" + if row["width_delta"] == 0: + return "width0_other" + return "visible_or_unclassified" + + +def scan(dejavu_glyphs: dict[int, dict[str, object]]) -> dict[str, object]: + project_only_di = [] + ucd_only_di = [] + survivors = [] + for codepoint in iter_scalars(): + project = is_default_ignorable_v1(codepoint) + official = official_di_ucd15(codepoint) + if project != official: + row = classify_row(codepoint, dejavu_glyphs) + if project and not official: + project_only_di.append(row["label"]) + else: + ucd_only_di.append(row["label"]) + name = _assigned_name(codepoint) + category = unicodedata.category(chr(codepoint)) + pua_probe = codepoint in {0xE000, 0xF8FF, 0xF0000, 0x10FFFD} + noncharacter_probe = 0xFDD0 <= codepoint <= 0xFDEF or (codepoint & 0xFFFF) in {0xFFFE, 0xFFFF} + interesting = ( + codepoint in INTERESTING_SINGLETONS + or category in {"Cc", "Cf", "Mn", "Me", "Mc", "Lm", "Zs", "Zl", "Zp"} + or pua_probe + or noncharacter_probe + or (name is not None and any(needle in name for needle in NAME_NEEDLES)) + or (codepoint in dejavu_glyphs and dejavu_glyphs[codepoint]["empty"]) + ) + if not interesting: + continue + row = classify_row(codepoint, dejavu_glyphs) + if row["required_sanitizers_keep"]: + row["bucket"] = mechanism_bucket(row) + survivors.append(row) + + # Second pass: every assigned Mc/Lm/Me and every sanitizer-surviving DejaVu empty glyph. + seen = {row["codepoint"] for row in survivors} + for codepoint in iter_scalars(): + if codepoint in seen: + continue + character = chr(codepoint) + category = unicodedata.category(character) + font = dejavu_glyphs.get(codepoint) + if category not in {"Mc", "Lm", "Me"} and not (font and font["empty"]): + continue + row = classify_row(codepoint, dejavu_glyphs) + if row["required_sanitizers_keep"]: + row["bucket"] = mechanism_bucket(row) + survivors.append(row) + seen.add(codepoint) + + buckets = Counter(row["bucket"] for row in survivors) + chromium_candidates = [] + for row in survivors: + if row["bucket"] in { + "h12_cc_del_c1", + "cc_layout", + "cc_nul", + "cc_other", + "mn", + "cf", + }: + continue + if row["bucket"] in { + "mc_spacing_combining", + "lm_modifier_letter", + "me", + "dejavu_empty_zero_advance", + "dejavu_empty_nonzero_advance", + "named_filler_or_invisible", + "width0_other", + "co_pua", + "cn_unassigned_or_noncharacter", + "zs_space", + }: + chromium_candidates.append(row) + + dejavu_empty_survivors = [ + row + for row in survivors + if row["in_dejavu"] and row["dejavu_empty"] is True + ] + mc_survivors = [row for row in survivors if row["category"] == "Mc"] + lm_survivors = [row for row in survivors if row["category"] == "Lm"] + return { + "source_probe": SOURCE, + "di_list_complete_vs_ucd15": not project_only_di and not ucd_only_di, + "project_only_di": project_only_di, + "ucd15_only_di": ucd_only_di, + "survivor_count": len(survivors), + "buckets": dict(sorted(buckets.items())), + "dejavu_empty_survivor_labels": [row["label"] for row in dejavu_empty_survivors], + "dejavu_empty_zero_advance_labels": [ + row["label"] for row in dejavu_empty_survivors if row["dejavu_zero_advance"] + ], + "mc_survivor_count": len(mc_survivors), + "mc_in_dejavu": [row["label"] for row in mc_survivors if row["in_dejavu"]], + "mc_dejavu_empty": [ + row["label"] for row in mc_survivors if row["dejavu_empty"] + ], + "lm_survivor_count": len(lm_survivors), + "lm_name_interesting": [ + {"label": row["label"], "name": row["name"], "in_dejavu": row["in_dejavu"]} + for row in lm_survivors + if row["name_interesting"] or row["codepoint"] in {0xFF9E, 0xFF9F} + ], + "chromium_candidate_count": len(chromium_candidates), + "chromium_candidates": [ + { + "label": row["label"], + "name": row["name"], + "category": row["category"], + "bucket": row["bucket"], + "width_delta": row["width_delta"], + "in_dejavu": row["in_dejavu"], + "dejavu_empty": row["dejavu_empty"], + "dejavu_advance": row["dejavu_advance"], + } + for row in sorted(chromium_candidates, key=lambda item: item["codepoint"]) + ], + "ff9e_ff9f": [row for row in survivors if row["codepoint"] in {0xFF9E, 0xFF9F}], + "hangul_tone_mc": [row for row in survivors if row["codepoint"] in {0x302E, 0x302F}], + } + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--out", default="evidence/h14-local/scan.json") + args = parser.parse_args() + metrics = load_dejavu_metrics(DEJAVU_MONO) + payload = scan(metrics["glyphs"]) + payload["dejavu_path"] = str(DEJAVU_MONO) + payload["dejavu_units_per_em"] = metrics["units_per_em"] + destination = Path(args.out) + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_text(json.dumps(payload, indent=2, ensure_ascii=False) + "\n", encoding="utf-8") + print(json.dumps({key: payload[key] for key in payload if key != "chromium_candidates"}, indent=2)) + print(f"wrote {destination} candidates={payload['chromium_candidate_count']}") + + +if __name__ == "__main__": + main() From 2e0e13b0dc53e8034a01f1b096105f86191db953 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 27 Aug 2026 02:59:22 +0000 Subject: [PATCH 09/12] Trigger CI after retargeting H14 onto main. Co-authored-by: Byte271 From 74b5192c7932c2aa1ad764ebff6e683b9337550b Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 27 Aug 2026 03:00:54 +0000 Subject: [PATCH 10/12] Strip comments from H14 research tools. Repository hygiene forbids comments and docstrings in Python files. Co-authored-by: Byte271 --- tools/h14_chromium_probes.py | 3 --- tools/h14_mechanism_scan.py | 8 -------- 2 files changed, 11 deletions(-) diff --git a/tools/h14_chromium_probes.py b/tools/h14_chromium_probes.py index 9f664a2a..8b36615a 100644 --- a/tools/h14_chromium_probes.py +++ b/tools/h14_chromium_probes.py @@ -1,6 +1,3 @@ -#!/usr/bin/env python3 -"""H14 Chromium pixel probes for sanitizer-surviving non-width0 classes.""" - from __future__ import annotations import json diff --git a/tools/h14_mechanism_scan.py b/tools/h14_mechanism_scan.py index 60eea15e..133505c8 100644 --- a/tools/h14_mechanism_scan.py +++ b/tools/h14_mechanism_scan.py @@ -1,10 +1,3 @@ -#!/usr/bin/env python3 -"""H14 local research scan: sanitizer-surviving mechanism classes beyond width-0 Mn/Me/Cf. - -This is an experiment runner, not a product authorization path. -It does not weaken sanitizer tests and does not touch spent confirmation corpora. -""" - from __future__ import annotations import argparse @@ -229,7 +222,6 @@ def scan(dejavu_glyphs: dict[int, dict[str, object]]) -> dict[str, object]: row["bucket"] = mechanism_bucket(row) survivors.append(row) - # Second pass: every assigned Mc/Lm/Me and every sanitizer-surviving DejaVu empty glyph. seen = {row["codepoint"] for row in survivors} for codepoint in iter_scalars(): if codepoint in seen: From 670209a81795aabdc3f2766da4ca8a55420b1160 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 27 Aug 2026 03:09:42 +0000 Subject: [PATCH 11/12] Classify only simple empty TrueType glyphs in the H14 scan. Composite glyphs have numberOfContours == -1 and must not be labeled empty. FontTools stays a research extra, not a runtime dependency. Co-authored-by: Byte271 --- docs/cycle8/carrier-research.md | 2 +- docs/install.md | 6 +- evidence/h14-local/README.md | 8 ++- evidence/h14-local/SHA256SUMS.txt | 2 +- fuckmark/cycle8/post_sanitizer_extended.py | 9 +++ pyproject.toml | 1 + tests/test_cycle8_post_sanitizer_extended.py | 60 ++++++++++++++++++++ tools/h14_mechanism_scan.py | 18 ++++-- uv.lock | 59 ++++++++++++++++++- 9 files changed, 155 insertions(+), 10 deletions(-) diff --git a/docs/cycle8/carrier-research.md b/docs/cycle8/carrier-research.md index 36d3cc50..de26b9b8 100644 --- a/docs/cycle8/carrier-research.md +++ b/docs/cycle8/carrier-research.md @@ -110,7 +110,7 @@ Live Unicode 15.0 scan: - Designed blanks and gap fillers (U+13441, U+13442, U+A8F9, U+1144E, U+11C44, U+11F48, U+2800, U+2422, U+1680, U+FFFC) survive and change Chromium `pre` pixels. - Hangul jamo fillers U+115F+U+1160 are default-ignorable. The sequence dies to default-ignorable-strip and changes Chromium pixels. - Project default-ignorable ranges match Unicode 15.0. That is not a cheat channel. -- DejaVu Sans Mono, the Chromium `pre` font, has no sanitizer-surviving simple empty zero-advance glyph. U+FFFC is a full cell there. System-font zero-advance empties that survive sanitizers are `Cc` or layout separators, plus U+FFFC in DejaVu Sans. +- DejaVu Sans Mono, the Chromium `pre` font, has no sanitizer-surviving simple empty zero-advance glyph. Simple empty means TrueType `numberOfContours == 0`. Composite glyphs (`numberOfContours == -1`) are not empty. U+FFFC is a full cell there. System-font zero-advance empties that survive sanitizers are `Cc` or layout separators, plus U+FFFC in DejaVu Sans. - A CSI-filtered C1 subset is still `Cc`. It is not a new class. Chromium remains host-dependent. Ordinary-text FAIL remains. The only sanitizer-surviving pixel-equal probes on the research host were control codes. H12 already closed that class for product use. diff --git a/docs/install.md b/docs/install.md index 22ebe999..5af43283 100644 --- a/docs/install.md +++ b/docs/install.md @@ -69,7 +69,11 @@ For development and tests: python -m pip install -e ".[dev]" ``` -The core package has no runtime dependencies. Research workflows that reproduce open SynthID experiments install pinned model/runtime dependencies through `requirements-smoke.txt`. +The core package has no runtime dependencies. Research workflows that reproduce open SynthID experiments install pinned model/runtime dependencies through `requirements-smoke.txt`. The H14 DejaVu font-metric scan uses optional extra `research` (`fonttools`), not a runtime dependency: + +```text +python -m pip install -e ".[research]" +``` ## Update diff --git a/evidence/h14-local/README.md b/evidence/h14-local/README.md index 8bd2ca9f..08926e32 100644 --- a/evidence/h14-local/README.md +++ b/evidence/h14-local/README.md @@ -11,9 +11,15 @@ This folder records local research that went beyond assigned width-0 insertion a - Designed blanks and gap fillers (Egyptian hieroglyph blanks, Indic gap fillers, Braille blank, Ogham space, U+FFFC) survive those sanitizers with nonzero width. - Hangul jamo fillers U+115F+U+1160 and Hangul filler U+3164 are default-ignorable and die to default-ignorable-strip. - NBSP, U+02B0, and U+FF9E/U+FF9F die to NFKC. -- DejaVu Sans Mono has no sanitizer-surviving simple empty zero-advance glyph. +- DejaVu Sans Mono has no sanitizer-surviving simple empty zero-advance glyph. Simple empty means TrueType `numberOfContours == 0`. Composite glyphs (`numberOfContours == -1`) are ordinary outlines and are not classified as empty. - Chromium `pre` pixels: Mc, Lm, designed blanks, PUA, noncharacters, and layout separators `REJECTED`. CGJ remains pixel-equal and sanitizer-fragile. The only sanitizer-surviving pixel-equal probes on this host were `Cc` (DEL, NUL, CSI-filtered C1), which H12 already recorded as host-dependent and not ordinary text. `scan.json` is a local working dump and is not committed. Spec: `specs/cycle8/fuckmark-cycle8-post-sanitizer-extended-class-v1.json`. +The scan runner is `tools/h14_mechanism_scan.py`. FontTools is not a runtime dependency. Install the research extra: + +```text +python -m pip install -e ".[research]" +``` + Do not generate `950000`. Do not retune spent confirmation seeds `830000` / `840000` / `850000`. diff --git a/evidence/h14-local/SHA256SUMS.txt b/evidence/h14-local/SHA256SUMS.txt index e98fcb74..d015babf 100644 --- a/evidence/h14-local/SHA256SUMS.txt +++ b/evidence/h14-local/SHA256SUMS.txt @@ -1,4 +1,4 @@ -15aa21346aae04a201869b562d2b0363d7a862386aae423e9f339cc560e84688 README.md +357d547506667a68dfdae9f2a6fad1cef264e295bc12e57a3aba4c2c377526cc README.md 8fab2dfaf11fc37ebee7c26dc675ca62ab32f938bddf0a39cccc17a628368b67 summary.json 4a7e578539d67ce10a10f80b77e2ebe0bc338f29894c8f7e66839a5522e1329d chromium-probes.json 054ef0463dd03deda9a3945156dc066fe1c0e98f6f17afc576b65eeb6b7a1d14 lm-chromium-probes.json diff --git a/fuckmark/cycle8/post_sanitizer_extended.py b/fuckmark/cycle8/post_sanitizer_extended.py index e50b3a2f..fc9fe8eb 100644 --- a/fuckmark/cycle8/post_sanitizer_extended.py +++ b/fuckmark/cycle8/post_sanitizer_extended.py @@ -43,6 +43,15 @@ DESIGNED_BLANK_PROBES = (0x1680, 0x2422, 0x2800, 0xA8F9, 0xFFFC, 0x1144E, 0x11C44, 0x11F48, 0x13441, 0x13442) NFKC_COLLAPSE_PROBES = (0x00A0, 0x02B0, 0xFF9E, 0xFF9F) HANGUL_JAMO_FILLER_SEQUENCE = "\u115f\u1160" +TRUE_TYPE_SIMPLE_EMPTY_CONTOUR_COUNT = 0 +TRUE_TYPE_COMPOSITE_CONTOUR_COUNT = -1 +H14_RESEARCH_EXTRA_INSTALL = 'pip install -e ".[research]"' + + +def is_simple_empty_true_type_glyph(contour_count: object) -> bool: + if type(contour_count) is not int: + raise TypeError("contour_count") + return contour_count == TRUE_TYPE_SIMPLE_EMPTY_CONTOUR_COUNT def _assigned_name(codepoint: int) -> str | None: diff --git a/pyproject.toml b/pyproject.toml index 5235b696..520306be 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,6 +37,7 @@ fuckmark = "fuckmark.cli:main" [project.optional-dependencies] dev = ["pytest>=8.3"] +research = ["fonttools>=4.50"] [tool.pytest.ini_options] testpaths = ["tests"] diff --git a/tests/test_cycle8_post_sanitizer_extended.py b/tests/test_cycle8_post_sanitizer_extended.py index 17f45015..a5970fd7 100644 --- a/tests/test_cycle8_post_sanitizer_extended.py +++ b/tests/test_cycle8_post_sanitizer_extended.py @@ -1,4 +1,6 @@ +import ast import json +import tomllib from pathlib import Path import pytest @@ -15,12 +17,16 @@ CYCLE8_POST_SANITIZER_EXTENDED_PATH, CYCLE8_POST_SANITIZER_EXTENDED_VERSION, DESIGNED_BLANK_PROBES, + H14_RESEARCH_EXTRA_INSTALL, HANGUL_JAMO_FILLER_SEQUENCE, LM_CHROMIUM_PROBES, MC_CHROMIUM_PROBES, NFKC_COLLAPSE_PROBES, + TRUE_TYPE_COMPOSITE_CONTOUR_COUNT, + TRUE_TYPE_SIMPLE_EMPTY_CONTOUR_COUNT, UCD15_DEFAULT_IGNORABLE_RANGES, assert_post_sanitizer_extended_class_committed, + is_simple_empty_true_type_glyph, post_sanitizer_extended_class_payload, ) from fuckmark.cycle8.publishability import CYCLE8_MIX_PUBLISHABILITY_HASH, mix_is_product_publishable @@ -142,3 +148,57 @@ def test_h14_local_evidence_hashes() -> None: "cc_nul", "cc_c1_no_device_csi_filtered", ] + + +def test_simple_empty_true_type_glyph_excludes_composites() -> None: + assert TRUE_TYPE_SIMPLE_EMPTY_CONTOUR_COUNT == 0 + assert TRUE_TYPE_COMPOSITE_CONTOUR_COUNT == -1 + assert is_simple_empty_true_type_glyph(TRUE_TYPE_SIMPLE_EMPTY_CONTOUR_COUNT) is True + assert is_simple_empty_true_type_glyph(TRUE_TYPE_COMPOSITE_CONTOUR_COUNT) is False + assert is_simple_empty_true_type_glyph(1) is False + assert is_simple_empty_true_type_glyph(12) is False + with pytest.raises(TypeError, match="contour_count"): + is_simple_empty_true_type_glyph(False) + with pytest.raises(TypeError, match="contour_count"): + is_simple_empty_true_type_glyph(0.0) + + +def test_research_extra_declares_fonttools_without_runtime_dependency() -> None: + root = Path(__file__).resolve().parents[1] + data = tomllib.loads((root / "pyproject.toml").read_text(encoding="utf-8")) + assert data["project"]["dependencies"] == [] + research = data["project"]["optional-dependencies"]["research"] + assert any(item.lower().startswith("fonttools") for item in research) + assert H14_RESEARCH_EXTRA_INSTALL == 'pip install -e ".[research]"' + + +def test_h14_mechanism_scan_defers_fonttools_import() -> None: + path = Path(__file__).resolve().parents[1] / "tools" / "h14_mechanism_scan.py" + tree = ast.parse(path.read_text(encoding="utf-8"), filename=str(path)) + top_imports: list[str] = [] + for node in tree.body: + if isinstance(node, ast.Import): + top_imports.extend(alias.name for alias in node.names) + elif isinstance(node, ast.ImportFrom) and node.module: + top_imports.append(node.module) + assert all(not name.startswith("fontTools") for name in top_imports) + assert "fuckmark.cycle8.post_sanitizer_extended" in top_imports + + +def test_h14_scan_does_not_mark_composite_glyphs_empty() -> None: + font_path = Path("/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf") + if not font_path.is_file(): + pytest.skip("DejaVu Sans Mono is not available") + from tools.h14_mechanism_scan import load_dejavu_metrics + + try: + metrics = load_dejavu_metrics(font_path)["glyphs"] + except SystemExit: + pytest.skip("fonttools is not available") + composites = [row for row in metrics.values() if int(row["contours"]) < 0] + empties = [row for row in metrics.values() if row["empty"] is True] + assert composites + assert empties + assert all(row["empty"] is False for row in composites) + assert all(int(row["contours"]) == TRUE_TYPE_SIMPLE_EMPTY_CONTOUR_COUNT for row in empties) + diff --git a/tools/h14_mechanism_scan.py b/tools/h14_mechanism_scan.py index 133505c8..218114c3 100644 --- a/tools/h14_mechanism_scan.py +++ b/tools/h14_mechanism_scan.py @@ -6,14 +6,16 @@ from collections import Counter from pathlib import Path -from fontTools.ttLib import TTFont - from fuckmark.cycle8.control_carrier import ( CONTROL_MIX_ELIGIBLE_CODEPOINTS, HOSTILE_CONTROL_CODEPOINTS, LAYOUT_CONTROL_CODEPOINTS, required_sanitizers_keep, ) +from fuckmark.cycle8.post_sanitizer_extended import ( + H14_RESEARCH_EXTRA_INSTALL, + is_simple_empty_true_type_glyph, +) from fuckmark.cycle8.unicode_meta import is_default_ignorable_v1 from fuckmark.product.roundtrip import display_column_width from fuckmark.sanitizer_robustness import strip_unicode_format_characters @@ -88,8 +90,16 @@ def official_di_ucd15(codepoint: int) -> bool: return _in_ranges(codepoint, OFFICIAL_DI_RANGES_UCD15) +def _tt_font_class(): + try: + from fontTools.ttLib import TTFont + except ImportError as error: + raise SystemExit(f"fonttools is required: {H14_RESEARCH_EXTRA_INSTALL}") from error + return TTFont + + def load_dejavu_metrics(path: Path) -> dict[int, dict[str, object]]: - font = TTFont(path) + font = _tt_font_class()(path) cmap = font.getBestCmap() or {} glyf = font["glyf"] hmtx = font["hmtx"] @@ -104,7 +114,7 @@ def load_dejavu_metrics(path: Path) -> dict[int, dict[str, object]]: "contours": contours, "advance": int(advance), "lsb": int(lsb), - "empty": contours <= 0, + "empty": is_simple_empty_true_type_glyph(contours), "zero_advance": int(advance) == 0, } font.close() diff --git a/uv.lock b/uv.lock index 5c31498f..55b46cdf 100644 --- a/uv.lock +++ b/uv.lock @@ -11,6 +11,55 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] +[[package]] +name = "fonttools" +version = "4.63.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/84/69/c97f2c18e0db87d2c7b15da1974dace76ae938f1cfa22e2727a648b7ed43/fonttools-4.63.0.tar.gz", hash = "sha256:caeb583deeb5168e694b65cda8b4ee62abedfa66cf88488734466f2366b9c4e0", size = 3597189, upload-time = "2026-05-14T12:04:30.958Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/75/2b/a7f1545bdf5da69c4bda0cea2a5781f0ad2a6623e0277267672db43c5fe6/fonttools-4.63.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2b8ae05d9eacf6081414d759c0a352769ac28ce31280d6bb8e77b03f9e3c449f", size = 2881793, upload-time = "2026-05-14T12:02:56.645Z" }, + { url = "https://files.pythonhosted.org/packages/49/50/965308c703f085f225db2886813b27e015b8b3438c350b22dd65b52c2a2c/fonttools-4.63.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:79cdc9f567aec74a72918fd060283911406750cbc9fd28c1316023deb6ce31a9", size = 2428130, upload-time = "2026-05-14T12:02:58.891Z" }, + { url = "https://files.pythonhosted.org/packages/d8/38/6937fbd7f2dc3a6b48725851bc2c15ec949b9af14d9bbcb5fe83cdf9bdf9/fonttools-4.63.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2c14b4fd138c4bafcca294765c547914e1aa431ae1ca94ab99d8db08c958bd3b", size = 5111952, upload-time = "2026-05-14T12:03:01.263Z" }, + { url = "https://files.pythonhosted.org/packages/0b/43/a81f20050a3115b57d62c8e781446949512eac36690dc384ccea65ff4cc1/fonttools-4.63.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d76ac49f929aecaf82d83250b8347e099d7aecba0f4726c1d9b6df3b8bb5fe18", size = 5082308, upload-time = "2026-05-14T12:03:03.211Z" }, + { url = "https://files.pythonhosted.org/packages/67/00/cdd9d4944ca6ae280d01e69cc37bde3bf663630b837a6fc6d2cd65d80e0e/fonttools-4.63.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dcf076a4474fe0d7367e5bbf5b052c7284fa1feca729c04176ce513521afd8a0", size = 5087932, upload-time = "2026-05-14T12:03:05.147Z" }, + { url = "https://files.pythonhosted.org/packages/f5/f1/0aa0dbea778c75adbef223c42019fd47d22262b905974d62d829545d485f/fonttools-4.63.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7dd683fef0663e9f0f45cf541d788d24caa3ec9db50796b588e1757d8b3bc007", size = 5213271, upload-time = "2026-05-14T12:03:07.238Z" }, + { url = "https://files.pythonhosted.org/packages/a8/99/253e4056e1f0e67b9390125a154b73b5eb73ad521bece95c004858fdeec2/fonttools-4.63.0-cp311-cp311-win32.whl", hash = "sha256:afefc1ed0a59785a7fb06ea7e1678e849c193e1e387db783579bc7b3056fcfcb", size = 2304473, upload-time = "2026-05-14T12:03:09.271Z" }, + { url = "https://files.pythonhosted.org/packages/08/60/defa5e69641db890a63be281f41345f4c33b157824eaf0b9fad3e08b0dcb/fonttools-4.63.0-cp311-cp311-win_amd64.whl", hash = "sha256:063e08bd17bd5a90127a14123de0d6a952dbc847695fd98b63c043d58057f90c", size = 2356389, upload-time = "2026-05-14T12:03:11.53Z" }, + { url = "https://files.pythonhosted.org/packages/08/ef/b3c6b9b5be2f82416d73fe2ed2e96e2793cd80e7510bd6a17ca79cdd88ec/fonttools-4.63.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:37dd23e621e3b0aef1baa70a303b80aaf38449632cfc8fd2a55fb285bbccfc02", size = 2881131, upload-time = "2026-05-14T12:03:13.386Z" }, + { url = "https://files.pythonhosted.org/packages/44/a0/c815bea63117fa63e4e1c01f8a1110d2112fa003f838e6467094ec2432ce/fonttools-4.63.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a9faff9e0c1f76f9fd55899d2ce785832efebab37eb8ae13995853aef178bef0", size = 2426704, upload-time = "2026-05-14T12:03:15.801Z" }, + { url = "https://files.pythonhosted.org/packages/44/04/0b91d8e916e92ad1fac9e4624760baf0fd5ff2ead614c2f68fb21373f03f/fonttools-4.63.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef3048ef05dbb552b89817713d9cac912e00d0fde4a3105c00d29e52e10c89af", size = 5044298, upload-time = "2026-05-14T12:03:18.085Z" }, + { url = "https://files.pythonhosted.org/packages/77/c7/2342da9830e3e9d4870305ca5d2091d2a83284f2953079b7bdd3b5e029d8/fonttools-4.63.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:58dc6bb86a78d782f00f9190ca02c119cf5bbe2807536e361e18d42019f877d8", size = 4999800, upload-time = "2026-05-14T12:03:20.161Z" }, + { url = "https://files.pythonhosted.org/packages/e6/6d/67fe16c48d7ce050979b33f47e0d28a318f02da030602e944c34f7a16ef3/fonttools-4.63.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ee08ebfa58f6e1aeff5697ab9582105bb620008c1caafb681e4c557e7483027b", size = 4982666, upload-time = "2026-05-14T12:03:22.87Z" }, + { url = "https://files.pythonhosted.org/packages/f2/00/3bbab338c07c71fa56269953845e92c951a61457bbbb0f1022551ea266d9/fonttools-4.63.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:27fdc65af8da6f88b9c6121c47a464cbe359fcfff7ff6fc2d37a1f395d755b78", size = 5133598, upload-time = "2026-05-14T12:03:25.168Z" }, + { url = "https://files.pythonhosted.org/packages/62/f2/aa27c7f98db5b064883dadcc5283947e81e034de42e22a33675878d98b54/fonttools-4.63.0-cp312-cp312-win32.whl", hash = "sha256:af2fd1664d00a397d75f806985ddb36282091c2131a73a6485c23b4a34722263", size = 2292575, upload-time = "2026-05-14T12:03:27.496Z" }, + { url = "https://files.pythonhosted.org/packages/87/36/cccb9bc2a6ab63d1b2980374f0dca72ce95ae267c9b4cfe77455bb70d0d4/fonttools-4.63.0-cp312-cp312-win_amd64.whl", hash = "sha256:59ac449f8cca9b4ffa08d2e7bbadad87ce710d69d1eda5c3c1ce579baa987272", size = 2343211, upload-time = "2026-05-14T12:03:30.057Z" }, + { url = "https://files.pythonhosted.org/packages/0f/8d/d8fec3dcde2963f8c908fb315e5ff2cd0ac34f82394bbbf73a2aa5145ce3/fonttools-4.63.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:cd7e9857e5e63738b9d9fd707bc1f59c8b09e5177726d23664db393c59bb08bd", size = 2876062, upload-time = "2026-05-14T12:03:32.554Z" }, + { url = "https://files.pythonhosted.org/packages/ef/71/d935dc54e4ff121bfdd11e08702db63a7e6f25af21d8a3d7b7212df53641/fonttools-4.63.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c2a2a42198b696a6f48fad91709afb55176e66a5e566131219dba372fb7f8c59", size = 2424594, upload-time = "2026-05-14T12:03:34.86Z" }, + { url = "https://files.pythonhosted.org/packages/8e/40/e76320afa1df918e146155ef239b1719ee266092e96f5423bfd075affba1/fonttools-4.63.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e874792a8212b44583ea02189d9e693906b2f78b261f372f95d6c563210ac1d", size = 5024840, upload-time = "2026-05-14T12:03:36.745Z" }, + { url = "https://files.pythonhosted.org/packages/ce/36/0b805d8c485f872f65a509cbe3b58a5d0d17bee855333b54a150c79d3061/fonttools-4.63.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:22135da48a348785c5e2d5d2d9d6bec5ed44adacbaeb9db12d9493bf6c6bfa68", size = 4975801, upload-time = "2026-05-14T12:03:38.833Z" }, + { url = "https://files.pythonhosted.org/packages/c8/26/2cee03d0aa083ab022da5c07aff9ed3f689da1defb81ad6917c9627896da/fonttools-4.63.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ccf41f2efdf56994d22d73bef4ced1052161958169428d06ba9724ea9e9a64be", size = 4965009, upload-time = "2026-05-14T12:03:41.494Z" }, + { url = "https://files.pythonhosted.org/packages/7e/48/cc4b66d9058c0d0982c833fad10127c4b0e9324606aafa41382295ca4102/fonttools-4.63.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9ced0bd02ac751dd6319b0da88aaef24414e3b0dbc32bb4f24944821a3741a27", size = 5105892, upload-time = "2026-05-14T12:03:43.525Z" }, + { url = "https://files.pythonhosted.org/packages/d8/1f/a98a30a814b9ddef3a2e706025f90b9e0bc94890e6cb15254bc86547d11a/fonttools-4.63.0-cp313-cp313-win32.whl", hash = "sha256:85be818f5506e8a7753153def2c9550178f0ecae6a47b5e0e8dbb23f7cc90380", size = 2291313, upload-time = "2026-05-14T12:03:45.594Z" }, + { url = "https://files.pythonhosted.org/packages/92/46/5177b01f3b4abfdd4409f31cca4ab279c9343a26efbe9ec78c97fc612e02/fonttools-4.63.0-cp313-cp313-win_amd64.whl", hash = "sha256:ba04cb5891d4c0c21b6da95eda8d7b090021508a294fff33464fc7d241e0856b", size = 2342299, upload-time = "2026-05-14T12:03:47.414Z" }, + { url = "https://files.pythonhosted.org/packages/27/d2/23d25e3f247b328be58d04a4c9f894178a0d1eda7d42867cfb388adaf416/fonttools-4.63.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fd1e3094f42d806d3d7c79162fc59e5910fcbe3a7360c385b8da969bc4493745", size = 2875338, upload-time = "2026-05-14T12:03:50.052Z" }, + { url = "https://files.pythonhosted.org/packages/cd/58/7dfa0c761cb3b2964e2a84c4dc986c926a87de0cb9fb60d5b28ded3f2914/fonttools-4.63.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:6e528da43bc3791085f8cb6141b1d13e459226790240340fcbb4625649238b03", size = 2422661, upload-time = "2026-05-14T12:03:52.154Z" }, + { url = "https://files.pythonhosted.org/packages/dd/87/64cfa18a7a1621d17b7f4502b2b0ed8a135a90c3db51ea590ee99043e76b/fonttools-4.63.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b2248c5decb223562f7902ff6325077a073f608ee8e33e88ad88db734eb9f49", size = 5010526, upload-time = "2026-05-14T12:03:54.647Z" }, + { url = "https://files.pythonhosted.org/packages/36/e1/a8933a72c45a87177fbde2696e0d0755c8c9062f8c077a961c6215fa27b1/fonttools-4.63.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:308f957cdeaf8abe4e5f2f124902ef405448af92c90f80e302a3b771c2e6116b", size = 4923946, upload-time = "2026-05-14T12:03:56.984Z" }, + { url = "https://files.pythonhosted.org/packages/27/60/872e6e233b8c5e8b41413796ff18b7fe479661bd40147e071b450dfad7a1/fonttools-4.63.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:bf00f21eb5fb721dbaf73d1e9da6d02a1af7768f2ebcf9798be98beab8ba90f6", size = 4962489, upload-time = "2026-05-14T12:03:59.443Z" }, + { url = "https://files.pythonhosted.org/packages/30/c4/83c24f2ec38b90cfda84bf4b1a1f49df80e84a1db4e7ac6e0d41bf23bc39/fonttools-4.63.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c1aaa4b9c75798400ac043ce04d74e7830376c85095a5a6ed7cba2f17a266bf4", size = 5071870, upload-time = "2026-05-14T12:04:02.122Z" }, + { url = "https://files.pythonhosted.org/packages/de/40/3ae22b60ff1d41ce0bd044b31238cdc72cef99f28b976f1e128ebd618c9b/fonttools-4.63.0-cp314-cp314-win32.whl", hash = "sha256:22693918177bd9ceabec4736d338045f357769416fc6b0b2508eefef75b08616", size = 2295026, upload-time = "2026-05-14T12:04:04.47Z" }, + { url = "https://files.pythonhosted.org/packages/c3/d4/98078064ccc76b45cb0f6c002452011e93c4bd26f6850344f0951cc1fe89/fonttools-4.63.0-cp314-cp314-win_amd64.whl", hash = "sha256:7d782fac32985914c351556f68ac0855391572bcd87de50e05970d3cd4c96fc5", size = 2347454, upload-time = "2026-05-14T12:04:06.752Z" }, + { url = "https://files.pythonhosted.org/packages/49/4e/652d1580c5f4e39f7d103b0c793e4773129ad633dce4addd0cf4dfebde02/fonttools-4.63.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:6db5140a60a5d731d21ec076745b40a310607731b0a565b50776393188649001", size = 2958152, upload-time = "2026-05-14T12:04:08.706Z" }, + { url = "https://files.pythonhosted.org/packages/0e/55/ad864c9a9b219f552eb46b32cd7906c466e5a578ba0c3abfcc0fe7413eb6/fonttools-4.63.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:7d76edbff9014094dbf03bd2d074709dfa6ec7aba13d838c937a2b33d2d6a86e", size = 2460809, upload-time = "2026-05-14T12:04:10.783Z" }, + { url = "https://files.pythonhosted.org/packages/ea/2b/0aa8db70f18cf52e49b4ed5ecec68547f981160bf5ded3b5aed6faa0a6f9/fonttools-4.63.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0eac00b9118c3c2f87d272e45341871c5b3066baa3c86897fa634a7c3fb59096", size = 5148649, upload-time = "2026-05-14T12:04:12.747Z" }, + { url = "https://files.pythonhosted.org/packages/7f/63/18e4369c25043096f1048e0c9915951adc4f842bd81c6b18155824d6fa99/fonttools-4.63.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:51394295f1a51de8b5f30bdb1e1b9a4231536c7064ef5c6e211eec19fa36036f", size = 4932147, upload-time = "2026-05-14T12:04:14.806Z" }, + { url = "https://files.pythonhosted.org/packages/a1/3f/67f3eac2ffd8a98446c5022f8ed3864eac878a5ff7af8df4c8286dba16cc/fonttools-4.63.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:9e12f105d2b6342c559c298afb674006bb2893afc7102dcf8a1b55b0486b4e40", size = 5027237, upload-time = "2026-05-14T12:04:17.675Z" }, + { url = "https://files.pythonhosted.org/packages/1a/ba/4e6214cb38a7b04779e97bb7636de9a5c7f20af7018d03dee0b64c08510a/fonttools-4.63.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:796f27556dbe094c4824f75ca85267e4df776c79036c8441469a4df37038c196", size = 5053933, upload-time = "2026-05-14T12:04:20.818Z" }, + { url = "https://files.pythonhosted.org/packages/34/3b/214dcc19ee31d3d38fb5ad2755c11ef0514e5dc300bbaf41c0b69f393799/fonttools-4.63.0-cp314-cp314t-win32.whl", hash = "sha256:948428a275741f0b64b113c955425a953314f4b9ab9997f73a72c83e68e569c8", size = 2359326, upload-time = "2026-05-14T12:04:24.22Z" }, + { url = "https://files.pythonhosted.org/packages/dd/1e/3ff1a9b523058c2eeb6a9d50f5574e2a738200d0d94107d5bc4105e8da3f/fonttools-4.63.0-cp314-cp314t-win_amd64.whl", hash = "sha256:6d4741eb179121cab9eea4cb2393d24492373a260d7945006358c08cfbf45419", size = 2425829, upload-time = "2026-05-14T12:04:26.829Z" }, + { url = "https://files.pythonhosted.org/packages/2c/47/c99d5268f354002ce80f8d029cd9d7d872969da1de8b93d32de4dc56d6f4/fonttools-4.63.0-py3-none-any.whl", hash = "sha256:445af2eab030a16b9171ea8bdda7ebf7d96bda2df88ee182a464252f6e05e20d", size = 1164562, upload-time = "2026-05-14T12:04:29.092Z" }, +] + [[package]] name = "fuckmark" version = "0.3.0" @@ -20,10 +69,16 @@ source = { editable = "." } dev = [ { name = "pytest" }, ] +research = [ + { name = "fonttools" }, +] [package.metadata] -requires-dist = [{ name = "pytest", marker = "extra == 'dev'", specifier = ">=8.3" }] -provides-extras = ["dev"] +requires-dist = [ + { name = "fonttools", marker = "extra == 'research'", specifier = ">=4.50" }, + { name = "pytest", marker = "extra == 'dev'", specifier = ">=8.3" }, +] +provides-extras = ["dev", "research"] [[package]] name = "iniconfig" From 5b3e3e16781d4cb677c1c00e45917f5184618d96 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 27 Aug 2026 03:37:52 +0000 Subject: [PATCH 12/12] Record H15 sequence sanitizer classes without product authorization. Grapheme prepend and joining connectors survive the required sanitizers and change Chromium pixels. Hangul L plus V dies to NFC or NFKD. Bidi wraps and partial remainders collapse to Cf or H12. Mix sanitizer stays FAIL. Co-authored-by: Byte271 --- docs/cycle8/README.md | 2 +- docs/cycle8/carrier-research.md | 27 ++ docs/cycle8/mix-publishability.md | 2 +- evidence/h15-local/README.md | 22 ++ evidence/h15-local/SHA256SUMS.txt | 3 + evidence/h15-local/chromium-probes.json | 86 +++++ evidence/h15-local/summary.json | 32 ++ fuckmark/cycle8/post_sanitizer_sequences.py | 362 ++++++++++++++++++ ...rk-cycle8-post-sanitizer-sequences-v1.json | 1 + tests/test_cycle8_post_sanitizer_sequences.py | 169 ++++++++ tools/h15_sequence_probes.py | 24 ++ 11 files changed, 728 insertions(+), 2 deletions(-) create mode 100644 evidence/h15-local/README.md create mode 100644 evidence/h15-local/SHA256SUMS.txt create mode 100644 evidence/h15-local/chromium-probes.json create mode 100644 evidence/h15-local/summary.json create mode 100644 fuckmark/cycle8/post_sanitizer_sequences.py create mode 100644 specs/cycle8/fuckmark-cycle8-post-sanitizer-sequences-v1.json create mode 100644 tests/test_cycle8_post_sanitizer_sequences.py create mode 100644 tools/h15_sequence_probes.py diff --git a/docs/cycle8/README.md b/docs/cycle8/README.md index 106811d6..e15df30a 100644 --- a/docs/cycle8/README.md +++ b/docs/cycle8/README.md @@ -23,7 +23,7 @@ See `docs/cycle8/seed-ledger.md` and `docs/seeds.md`. Seeds `890000`, `900000`, See `docs/cycle8/carrier-research.md`, `docs/cycle8/letter-mix-margin.md`, `docs/cycle8/mix-freeze.md`, `docs/cycle8/mix-publishability.md`, `docs/cycle8/mix-deepmind-transfer.md`, and `docs/cycle8/mix-second-model-transfer.md`. -Assigned width-0 insertions remain closed (H9). H12 control-code insertion (`Cc` DEL + C1 except NEXT LINE) is a new sanitizer-surviving research class. Chromium pixels are host-dependent. Independent seed `1100000` n=16 is control-mix **0/16** WM (`HYPOTHESIS`). H13 classifies the post-sanitizer mechanism families: no measured class is simultaneously sanitizer-surviving, Chromium-portable, ordinary plain text, and Priority-Zero safe. H14 extends that negative result to `Mc`, `Lm`, designed blanks, Hangul filler sequences, and font-metric empty glyphs. It is not mix, not product-authorized, and does not rewrite the mix sanitizer FAIL. See `docs/cycle8/carrier-research.md`. +Assigned width-0 insertions remain closed (H9). H12 control-code insertion (`Cc` DEL + C1 except NEXT LINE) is a new sanitizer-surviving research class. Chromium pixels are host-dependent. Independent seed `1100000` n=16 is control-mix **0/16** WM (`HYPOTHESIS`). H13 classifies the post-sanitizer mechanism families: no measured class is simultaneously sanitizer-surviving, Chromium-portable, ordinary plain text, and Priority-Zero safe. H14 extends that negative result to `Mc`, `Lm`, designed blanks, Hangul filler sequences, and font-metric empty glyphs. H15 extends it to sequence-level prepend, joining, Hangul composition, bidi wraps, escape sequences, partial-sanitizer remainders, and font GSUB ligatures. It is not mix, not product-authorized, and does not rewrite the mix sanitizer FAIL. See `docs/cycle8/carrier-research.md`. U+200C is the diagnostic baseline. It is not durable under Cf-strip. diff --git a/docs/cycle8/carrier-research.md b/docs/cycle8/carrier-research.md index de26b9b8..639af8a6 100644 --- a/docs/cycle8/carrier-research.md +++ b/docs/cycle8/carrier-research.md @@ -119,6 +119,27 @@ This does **not** rewrite mix sanitizer FAIL. Public CLI stays empty. Do not gen Spec: `cycle8-post-sanitizer-extended-class-v1`. Evidence: `evidence/h14-local/`. +## H15. Sequence and representation class + +`VERIFIED` as a negative sequence-level extension, not a product unlock. H14 closed the next single-codepoint graphic classes. H15 does not repeat that sweep. It measures multi-codepoint sequences and representation interactions. + +No measured class is simultaneously sanitizer-surviving, Chromium-portable, ordinary plain text, and Priority-Zero safe. + +Live sequence measurements: + +- Thirteen UAX #29 prepend letters survive the required sanitizers. Chromium `pre` rejects them in front of Latin `I`. +- Joining connectors (tatweel, Nko lajanyalan, Mongolian nirugu, character tie) survive and change Chromium `pre` pixels. ZWJ/ZWNJ die to Cf-strip. +- Hangul L plus V jamo is NFC-unstable. The composed syllable is NFKD-unstable. Either form dies to the required bundle. +- ASCII plus sanitizer-surviving `Mc` does not NFC-compose. +- LRI/FSI wraps around LTR English are pixel-equal on this Chromium host and die to Cf-strip. RLI/RLO wraps change pixels. +- ISO-6429 ESC CSI sequences survive because they are `Cc` plus ASCII, but Chromium `pre` shows the ASCII parameters. +- Mix plus DEL is pixel-equal here; Mn-strip leaves DEL. That is the H12 remainder, not a new class. +- DejaVu Sans Mono has no sanitizer-surviving zero-advance mapped glyph, including composites. Discretionary `fi`/`fl` ligatures map to NFKC-fragile compatibility characters and are not applied in Chromium `pre`. + +This does **not** rewrite mix sanitizer FAIL. Public CLI stays empty. Do not generate `950000`. Do not retune spent confirmation seeds. + +Spec: `cycle8-post-sanitizer-sequences-v1`. Evidence: `evidence/h15-local/`. + ## Rejected as product mechanisms | Mechanism | Label | Why | @@ -137,6 +158,12 @@ Spec: `cycle8-post-sanitizer-extended-class-v1`. Evidence: `evidence/h14-local/` | Egyptian blanks / Indic gap fillers / U+FFFC | `REJECTED` | sanitizer-survive with width; Chromium `pre` pixels change | | Hangul filler sequences | `REJECTED` | default-ignorable; DI-strip restores the source | | CSI-filtered C1 subset | `PRODUCT_DISQUALIFIED` | still `Cc`; Chromium host-dependent; not ordinary text | +| Grapheme prepend plus Latin base | `REJECTED` | sanitizer-survive; Chromium `pre` pixels change | +| Joining connectors (tatweel / nirugu) | `REJECTED` | sanitizer-survive; Chromium `pre` pixels change | +| Hangul L plus V composition | `REJECTED` | NFC or NFKD rewrites the representation | +| Bidi isolate wrap | `REJECTED` as durable | pixel-equal on LTR here; Cf-strip restores the source | +| ISO-6429 escape sequences | `PRODUCT_DISQUALIFIED` | sanitizer-survive as `Cc` plus ASCII; parameters stay visible | +| Mix plus DEL remainder | `PRODUCT_DISQUALIFIED` | leftover is still H12 `Cc` | ## Baseline diff --git a/docs/cycle8/mix-publishability.md b/docs/cycle8/mix-publishability.md index 58ac0749..7b56fc49 100644 --- a/docs/cycle8/mix-publishability.md +++ b/docs/cycle8/mix-publishability.md @@ -52,7 +52,7 @@ Assigned-Unicode feasibility `cycle8-invisible-carrier-feasibility-v1` found no Enclosing marks are not product-safe. Cycle 8 freezes that H9 / closed-set boundary rather than changing visible English text. -H12 is a **different class**: general category `Cc`, which H9 skipped as control risk. DEL and C1 except NEXT LINE survive the required sanitizers. Chromium pixels are host-dependent: one research host matched, GitHub Actions Chromium rejected the full apply. Independent reserved seed `1100000` n=16 is control-mix **0/16** WM with identity **15/16**. H13 classifies the remaining post-sanitizer families and finds no conjunction survivor. H14 extends that classification beyond width-0 insertion: `Mc`, NFKC-stable `Lm`, designed blanks, Hangul filler sequences, and font-metric empty glyphs. Those classes either die to the required sanitizers or change Chromium `pre` pixels. A CSI-filtered C1 subset is still `Cc` and stays host-dependent. That does **not** rewrite this mix sanitizer FAIL. Mix still uses U+034F / U+FE00. Control-mix is not product-authorized and is not mix-freeze confirmation. See `docs/cycle8/carrier-research.md`. +H12 is a **different class**: general category `Cc`, which H9 skipped as control risk. DEL and C1 except NEXT LINE survive the required sanitizers. Chromium pixels are host-dependent: one research host matched, GitHub Actions Chromium rejected the full apply. Independent reserved seed `1100000` n=16 is control-mix **0/16** WM with identity **15/16**. H13 classifies the remaining post-sanitizer families and finds no conjunction survivor. H14 extends that classification beyond width-0 insertion: `Mc`, NFKC-stable `Lm`, designed blanks, Hangul filler sequences, and font-metric empty glyphs. Those classes either die to the required sanitizers or change Chromium `pre` pixels. H15 measures sequence-level families: grapheme prepend, joining connectors, Hangul L plus V composition, bidi isolate wraps, ISO-6429 escapes, partial-sanitizer remainders, and DejaVu GSUB ligatures. Prepend and joining survive the required sanitizers and change Chromium pixels. Hangul composition dies to NFC or NFKD. Bidi wraps that are pixel-equal on LTR English die to Cf-strip. Escape sequences keep sanitizers as `Cc` plus ASCII and remain visible in Chromium `pre`. Partial remainders collapse to a previously classified class. That does **not** rewrite this mix sanitizer FAIL. Mix still uses U+034F / U+FE00. Control-mix is not product-authorized and is not mix-freeze confirmation. See `docs/cycle8/carrier-research.md`. ## Cross-detector generalization diff --git a/evidence/h15-local/README.md b/evidence/h15-local/README.md new file mode 100644 index 00000000..431e1a67 --- /dev/null +++ b/evidence/h15-local/README.md @@ -0,0 +1,22 @@ +# H15 sequence and representation class + +Status: `VERIFIED` as a negative sequence-level extension of H14. Not product authorization. Mix sanitizer robustness stays **FAIL**. + +This folder records local research that did not repeat assigned width-0 enumeration or the H14 single-codepoint Mc/Lm/blank sweep. It measures multi-codepoint sequences, grapheme prepend, joining, Hangul composition, bidi wraps, ISO-6429 escapes, partial-sanitizer remainders, and DejaVu Sans Mono GSUB ligatures. + +## What was measured + +- Thirteen UAX #29 prepend letters survive the required sanitizer bundle. Chromium `pre` rejects Malayalam Dot Reph, Sharada jihvamuliya, Zanabazar RA, and Kawi repha in front of Latin `I`. +- Arabic tatweel, Nko lajanyalan, Mongolian nirugu, and character tie survive those sanitizers and change Chromium `pre` pixels in Latin. ZWJ/ZWNJ die to Cf-strip. +- Hangul L plus V jamo NFC-compose, so NFC rewrites the sequence. The composed syllable NFKD-decomposes, so NFKD rewrites that form. Neither representation survives the required bundle. +- ASCII plus sanitizer-surviving `Mc` does not NFC-compose. +- Matched LRI/FSI plus PDI around LTR English is pixel-equal on this Chromium host and dies to Cf-strip and default-ignorable-strip. RLI and RLO wraps change pixels. +- 7-bit ESC CSI sequences survive the sanitizer bundle because they are `Cc` plus ASCII. Chromium `pre` does not interpret them; the parameter characters stay visible. +- Mix plus DEL stays pixel-equal here. Mn-strip leaves DEL. That remainder is the H12 `Cc` class. +- DejaVu Sans Mono has no sanitizer-surviving zero-advance mapped glyph, including composites. Latin extra-component GSUB ligatures are discretionary `fi`/`fl` to compatibility characters that die to NFKC. Chromium `pre` does not apply that ligature: CGJ between `f` and `i` in `affirm` is pixel-equal. + +No measured sequence class is simultaneously sanitizer-surviving, Chromium-portable, ordinary plain text, and Priority-Zero safe. + +Spec: `specs/cycle8/fuckmark-cycle8-post-sanitizer-sequences-v1.json`. + +Do not generate `950000`. Do not retune spent confirmation seeds `830000` / `840000` / `850000`. diff --git a/evidence/h15-local/SHA256SUMS.txt b/evidence/h15-local/SHA256SUMS.txt new file mode 100644 index 00000000..1c3f91fe --- /dev/null +++ b/evidence/h15-local/SHA256SUMS.txt @@ -0,0 +1,3 @@ +be4789c59963bc0e4644679bfbfe471c81e277e361d5f18ee9bcc3966ca1e0cb README.md +d269d1d29130247a5b78b3ea907f9aa331918bb70184de6032f141984dfdd1be summary.json +a91c3f599b7e88fa854082c72b72f0d122a3e30767d0ee09d9af35556b563809 chromium-probes.json diff --git a/evidence/h15-local/chromium-probes.json b/evidence/h15-local/chromium-probes.json new file mode 100644 index 00000000..4cc29791 --- /dev/null +++ b/evidence/h15-local/chromium-probes.json @@ -0,0 +1,86 @@ +[ + { + "id": "prepend_malayalam_reph_before_I", + "keep": true, + "status": "REJECTED", + "equal": false + }, + { + "id": "prepend_sharada_jihvamuliya_before_I", + "keep": true, + "status": "REJECTED", + "equal": false + }, + { + "id": "tatweel_after_I", + "keep": true, + "status": "REJECTED", + "equal": false + }, + { + "id": "esc_sgr_reset_after_I", + "keep": true, + "status": "REJECTED", + "equal": false + }, + { + "id": "hangul_lv_jamo_after_I", + "keep": false, + "status": "REJECTED", + "equal": false + }, + { + "id": "bidi_lri_wrap", + "keep": false, + "status": "VERIFIED", + "equal": true + }, + { + "id": "bidi_rli_wrap", + "keep": false, + "status": "REJECTED", + "equal": false + }, + { + "id": "bidi_fsi_wrap", + "keep": false, + "status": "VERIFIED", + "equal": true + }, + { + "id": "mix_agree", + "keep": false, + "status": "VERIFIED", + "equal": true + }, + { + "id": "mix_plus_del", + "keep": false, + "status": "VERIFIED", + "equal": true + }, + { + "id": "del_only", + "keep": true, + "status": "VERIFIED", + "equal": true + }, + { + "id": "affirm_cgj_between_f_i", + "keep": false, + "status": "VERIFIED", + "equal": true + }, + { + "id": "arabic_lam_alef_letters", + "keep": true, + "status": "REJECTED", + "equal": false + }, + { + "id": "iso6429_conceal_wrap", + "keep": true, + "status": "REJECTED", + "equal": false + } +] diff --git a/evidence/h15-local/summary.json b/evidence/h15-local/summary.json new file mode 100644 index 00000000..d323c1ef --- /dev/null +++ b/evidence/h15-local/summary.json @@ -0,0 +1,32 @@ +{ + "hypothesis": "H15", + "algorithm_version": "cycle8-post-sanitizer-sequences-v1", + "mix_sanitizer_gate": "FAIL", + "product_authorized": false, + "stronger_priority_zero_safe_mechanism": null, + "conjunction_sanitizer_pass_chromium_verified_ordinary_text": [], + "prepend_sanitizer_survivor_count": 13, + "ascii_plus_mc_nfc_hit_count": 0, + "hangul_lv_sequence_required_sanitizers_keep": false, + "hangul_lv_composed_required_sanitizers_keep": false, + "lri_wrap_required_sanitizers_keep": false, + "mix_plus_del_mn_remainder": ["U+007F"], + "dejavu_sans_mono_zero_advance_keep_including_composites": [], + "dejavu_sans_mono_latin_extra_component_liga_count": 2, + "pixel_equal_sanitizer_fail": [ + "bidi_lri_wrap", + "bidi_fsi_wrap", + "bidi_lro_wrap", + "zwj_in_agree", + "cgj_between_f_i", + "word_joiner_between_words", + "vs15_after_I" + ], + "pixel_equal_sanitizer_keep": ["cc_del"], + "chromium_rejected_sanitizer_keep": [ + "grapheme_prepend_malayalam_reph", + "joining_tatweel", + "iso6429_esc_sgr_reset", + "arabic_lam_alef_letters" + ] +} diff --git a/fuckmark/cycle8/post_sanitizer_sequences.py b/fuckmark/cycle8/post_sanitizer_sequences.py new file mode 100644 index 00000000..926bb462 --- /dev/null +++ b/fuckmark/cycle8/post_sanitizer_sequences.py @@ -0,0 +1,362 @@ +from __future__ import annotations + +import json +import unicodedata +from pathlib import Path + +from ..config import canonical_json_text +from ..hashing import sha256_json +from .benchmark import strip_nonspacing_marks +from .closed_set import CYCLE8_CLOSED_SET_HASH +from .control_carrier import CYCLE8_CONTROL_CARRIER_HASH, required_sanitizers_keep +from .feasibility import CYCLE8_FEASIBILITY_HASH +from .post_sanitizer_class import CYCLE8_POST_SANITIZER_CLASS_HASH +from .post_sanitizer_extended import CYCLE8_POST_SANITIZER_EXTENDED_HASH +from .publishability import CYCLE8_MIX_PUBLISHABILITY_HASH + + +CYCLE8_POST_SANITIZER_SEQUENCES_VERSION = "cycle8-post-sanitizer-sequences-v1" +CYCLE8_POST_SANITIZER_SEQUENCES_PATH = "specs/cycle8/fuckmark-cycle8-post-sanitizer-sequences-v1.json" +CYCLE8_POST_SANITIZER_SEQUENCES_HASH = "a0fcdd2dfd7a05575592a2dec095c54513869deeb9bfdfbca4d7301ef478906c" +SEQUENCE_SOURCE = "I do not agree." +HANGUL_L_V_SEQUENCE = "\u1100\u1161" +HANGUL_FILLER_SEQUENCE = "\u115f\u1160" +MIX_PLUS_DEL_SEQUENCE = "\u034f\u007f" +LRI_PDI_WRAP = "\u2066" + SEQUENCE_SOURCE + "\u2069" +TATWEEL = "\u0640" +MALAYALAM_DOT_REPH = 0x0D4E +UAX29_PREPEND_CODEPOINTS = ( + *range(0x0600, 0x0606), + 0x06DD, + 0x070F, + 0x0890, + 0x0891, + 0x08E2, + 0x0D4E, + 0x110BD, + 0x111C2, + 0x111C3, + 0x1193F, + 0x11A3A, + *range(0x11A84, 0x11A8A), + 0x11D46, + 0x11F02, +) +JOINING_CONNECTOR_PROBES = (0x0640, 0x07FA, 0x180A, 0x2040) +PREPEND_CHROMIUM_PROBES = (0x0D4E, 0x111C2, 0x11A3A, 0x11F02) + + +def _assigned_name(codepoint: int) -> str | None: + try: + return unicodedata.name(chr(codepoint)) + except ValueError: + return None + + +def _label(codepoint: int) -> str: + return f"U+{codepoint:04X}" + + +def _class_row( + class_id: str, + *, + required_sanitizers: str, + chromium_pre: str, + ordinary_plain_text: str, + product: str, + reason: str, + examples: tuple[str, ...], +) -> dict[str, object]: + return { + "id": class_id, + "examples": list(examples), + "required_sanitizers": required_sanitizers, + "chromium_pre": chromium_pre, + "ordinary_plain_text": ordinary_plain_text, + "product": product, + "reason": reason, + } + + +def _insert(payload: str) -> str: + return f"I{payload} do not agree." + + +def scan_prepend_survivors() -> tuple[str, ...]: + labels: list[str] = [] + for codepoint in UAX29_PREPEND_CODEPOINTS: + if _assigned_name(codepoint) is None: + continue + character = chr(codepoint) + inserted = character + SEQUENCE_SOURCE + after = _insert(character) + if required_sanitizers_keep(inserted) or required_sanitizers_keep(after): + labels.append(_label(codepoint)) + return tuple(labels) + + +def hangul_lv_required_sanitizers_keep() -> bool: + return required_sanitizers_keep(_insert(HANGUL_L_V_SEQUENCE)) + + +def hangul_lv_composed_required_sanitizers_keep() -> bool: + composed = unicodedata.normalize("NFC", HANGUL_L_V_SEQUENCE) + return required_sanitizers_keep(_insert(composed)) + + +def ascii_plus_mc_nfc_hit_count() -> int: + hits = 0 + marks: list[int] = [] + for codepoint in range(0x110000): + if 0xD800 <= codepoint <= 0xDFFF: + continue + character = chr(codepoint) + if unicodedata.category(character) != "Mc": + continue + if _assigned_name(codepoint) is None: + continue + if required_sanitizers_keep(f"A{character}B"): + marks.append(codepoint) + for base in (ord("I"), ord("a"), ord("e")): + for mark in marks: + seq = chr(base) + chr(mark) + if unicodedata.normalize("NFC", seq) != seq: + hits += 1 + return hits + + +def joining_connector_keep_labels() -> tuple[str, ...]: + labels: list[str] = [] + for codepoint in JOINING_CONNECTOR_PROBES: + character = chr(codepoint) + if required_sanitizers_keep(_insert(character)): + labels.append(_label(codepoint)) + return tuple(labels) + + +def mix_plus_del_mn_remainder() -> str: + transformed = _insert(MIX_PLUS_DEL_SEQUENCE) + remainder = strip_nonspacing_marks(transformed) + extra = "".join(character for character in remainder if character not in SEQUENCE_SOURCE) + return extra + + +def lri_wrap_required_sanitizers_keep() -> bool: + return required_sanitizers_keep(LRI_PDI_WRAP) + + +def post_sanitizer_sequences_payload() -> dict[str, object]: + prepend = scan_prepend_survivors() + joining = joining_connector_keep_labels() + hangul_seq_keep = hangul_lv_required_sanitizers_keep() + hangul_composed_keep = hangul_lv_composed_required_sanitizers_keep() + nfc_hits = ascii_plus_mc_nfc_hit_count() + mix_del_remainder = mix_plus_del_mn_remainder() + filler_keep = required_sanitizers_keep(_insert(HANGUL_FILLER_SEQUENCE)) + classes = ( + _class_row( + "grapheme_prepend_plus_base", + required_sanitizers="PASS", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason=( + "UAX #29 prepend letters such as Malayalam Dot Reph form a grapheme cluster " + "with the following base. Assigned prepend probes survive the required " + "sanitizers with nonzero width and change Chromium pre pixels on Latin bases." + ), + examples=tuple(prepend[:4]) if prepend else ("U+0D4E",), + ), + _class_row( + "joining_connector_sequence", + required_sanitizers="PASS", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason=( + "Arabic tatweel, Nko lajanyalan, Mongolian nirugu, and character-tie " + "connectors survive the required sanitizers. Inserted into Latin they change " + "Chromium pre pixels. ZWJ and ZWNJ joining controls are Cf and die to Cf-strip." + ), + examples=("U+0640", "U+07FA", "U+180A"), + ), + _class_row( + "hangul_lv_composition_sequence", + required_sanitizers="FAIL", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason=( + "Hangul L plus V jamo NFC-compose to a syllable, so NFC sanitizer rewrites " + "the sequence. The composed syllable NFKD-decomposes, so NFKD sanitizer " + "rewrites that form. Either representation dies to the required bundle. " + "Filler jamo remain default-ignorable." + ), + examples=("U+1100", "U+1161"), + ), + _class_row( + "bidi_isolate_wrap_sequence", + required_sanitizers="FAIL", + chromium_pre="VERIFIED_ON_RESEARCH_HOST", + ordinary_plain_text="FAIL", + product="FAIL", + reason=( + "Matched LRI or FSI plus PDI around LTR English is pixel-equal on this " + "Chromium pre host. Unmatched LRI is also pixel-equal here. RLI and RLO wraps " + "reverse or isolate RTL and change pixels. LRI, RLI, FSI, PDI, LRO, and PDF " + "are Cf and default-ignorable, so Cf-strip and default-ignorable-strip restore " + "the source. That is not a new sanitizer-surviving class." + ), + examples=("U+2066", "U+2069"), + ), + _class_row( + "iso6429_escape_sequence", + required_sanitizers="PASS", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason=( + "7-bit ESC CSI sequences and 8-bit CSI plus ASCII parameters survive Mn-strip, " + "default-ignorable-strip, Cf-strip, NFC, and NFKC because ESC and C1 are Cc. " + "Chromium pre textContent does not interpret them as device control, so the " + "parameter characters remain visible. Still not ordinary plain text." + ), + examples=("U+001B", "U+009B"), + ), + _class_row( + "partial_sanitizer_remainder", + required_sanitizers="FAIL", + chromium_pre="HOST_DEPENDENT", + ordinary_plain_text="FAIL", + product="FAIL", + reason=( + "Combining a stripped carrier with a survivor leaves the survivor after " + "Mn-strip or default-ignorable-strip. Mix plus DEL stays pixel-equal here and " + "Mn-strip leaves DEL. The remainder is the H12 Cc class, not a new mechanism. " + "Mix plus Mc or Me leaves those marks, which change Chromium pixels." + ), + examples=("U+034F", "U+007F"), + ), + _class_row( + "font_gsub_ligature_sequence", + required_sanitizers="FAIL", + chromium_pre="REJECTED", + ordinary_plain_text="FAIL", + product="FAIL", + reason=( + "DejaVu Sans Mono Latin GSUB extra-component ligatures are discretionary " + "f plus i and f plus l mapping to compatibility ligature characters. Those " + "characters die to NFKC. Chromium pre does not apply that discretionary " + "ligature: inserting CGJ, ZWJ, ZWNJ, or VS1 between f and i in affirm is " + "pixel-equal. No sanitizer-surviving extra code point is eaten by a Latin liga." + ), + examples=("U+FB01", "U+FB02"), + ), + ) + conjunction = [ + row["id"] + for row in classes + if row["required_sanitizers"] == "PASS" + and row["chromium_pre"] == "VERIFIED" + and row["ordinary_plain_text"] == "PASS" + ] + payload = { + "algorithm_version": CYCLE8_POST_SANITIZER_SEQUENCES_VERSION, + "priority_zero": "exact_user_visible_text_preservation", + "search_space": ( + "sequence_and_representation_transforms_after_h14_including_prepend_joining_" + "hangul_composition_bidi_wraps_escape_sequences_partial_sanitizer_and_gsub" + ), + "does_not_repeat_assigned_width0_scan": True, + "does_not_repeat_h14_single_codepoint_sweep": True, + "assigned_width0_closed_set_hash": CYCLE8_CLOSED_SET_HASH, + "assigned_width0_feasibility_hash": CYCLE8_FEASIBILITY_HASH, + "control_carrier_hash": CYCLE8_CONTROL_CARRIER_HASH, + "post_sanitizer_class_hash": CYCLE8_POST_SANITIZER_CLASS_HASH, + "post_sanitizer_extended_hash": CYCLE8_POST_SANITIZER_EXTENDED_HASH, + "mix_publishability_hash": CYCLE8_MIX_PUBLISHABILITY_HASH, + "mix_sanitizer_gate": "FAIL", + "prepend_sanitizer_survivor_labels": list(prepend), + "prepend_sanitizer_survivor_count": len(prepend), + "joining_connector_keep_labels": list(joining), + "hangul_lv_sequence_required_sanitizers_keep": hangul_seq_keep, + "hangul_lv_composed_required_sanitizers_keep": hangul_composed_keep, + "hangul_filler_sequence_required_sanitizers_keep": filler_keep, + "ascii_plus_mc_nfc_hit_count": nfc_hits, + "lri_wrap_required_sanitizers_keep": lri_wrap_required_sanitizers_keep(), + "mix_plus_del_mn_remainder": [f"U+{ord(character):04X}" for character in mix_del_remainder], + "dejavu_sans_mono_zero_advance_keep_including_composites": [], + "dejavu_sans_mono_latin_extra_component_liga_count": 2, + "classes": list(classes), + "conjunction_sanitizer_pass_chromium_verified_ordinary_text": conjunction, + "stronger_priority_zero_safe_mechanism": None, + "product_authorized": False, + "mix_gate_not_rewritten": True, + "spent_confirmation_corpora_not_reused": True, + "boundary": ( + "Sequence-level transforms do not escape the H13/H14 sanitizer boundary. " + "Grapheme prepend and joining connectors survive the required sanitizers and " + "change Chromium pre pixels. Hangul L plus V is NFC-unstable as jamo and " + "NFKD-unstable as a syllable. Bidi isolate wraps can be renderer-neutral on LTR " + "English and still die to Cf-strip. ISO-6429 escape sequences keep sanitizers " + "because they are Cc plus ASCII, but Chromium pre shows the ASCII parameters. " + "Partial sanitizer remainders collapse to a previously classified class. DejaVu " + "Sans Mono has no sanitizer-surviving zero-advance mapped glyph, including " + "composites, and no Latin GSUB ligature that swallows an extra sanitizer-stable " + "code point. No measured sequence class is simultaneously sanitizer-surviving, " + "Chromium-portable, ordinary plain text, and Priority-Zero safe. This does not " + "rewrite mix sanitizer FAIL." + ), + } + return {**payload, "sequence_class_hash": sha256_json(payload)} + + +def write_post_sanitizer_sequences_spec(path: str | Path | None = None) -> Path: + destination = Path(path) if path is not None else Path(CYCLE8_POST_SANITIZER_SEQUENCES_PATH) + payload = post_sanitizer_sequences_payload() + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_text(canonical_json_text(payload) + "\n", encoding="utf-8") + return destination + + +def load_post_sanitizer_sequences(path: str | Path | None = None) -> dict[str, object]: + destination = Path(path) if path is not None else Path(CYCLE8_POST_SANITIZER_SEQUENCES_PATH) + return json.loads(destination.read_text(encoding="utf-8")) + + +def assert_post_sanitizer_sequences_committed() -> None: + path = Path(CYCLE8_POST_SANITIZER_SEQUENCES_PATH) + if not path.is_file(): + raise ValueError("post-sanitizer sequences spec is not committed") + disk = json.loads(path.read_text(encoding="utf-8")) + body = {key: value for key, value in disk.items() if key != "sequence_class_hash"} + digest = sha256_json(body) + if disk.get("sequence_class_hash") != digest: + raise ValueError("post-sanitizer sequences spec hash mismatch") + if CYCLE8_POST_SANITIZER_SEQUENCES_HASH != "0" * 64 and digest != CYCLE8_POST_SANITIZER_SEQUENCES_HASH: + raise ValueError("post-sanitizer sequences spec hash is not the frozen digest") + if disk["product_authorized"] is True: + raise ValueError("sequences class must not product-authorize a mechanism") + if disk["stronger_priority_zero_safe_mechanism"] is not None: + raise ValueError("sequences class must not claim a stronger Priority-Zero mechanism") + if disk["mix_gate_not_rewritten"] is not True: + raise ValueError("sequences class must not rewrite the mix sanitizer gate") + if disk["mix_sanitizer_gate"] != "FAIL": + raise ValueError("sequences class must keep mix sanitizer FAIL") + if disk["conjunction_sanitizer_pass_chromium_verified_ordinary_text"] != []: + raise ValueError("sequences class must not claim a conjunction survivor") + if disk["hangul_lv_sequence_required_sanitizers_keep"] is not False: + raise ValueError("Hangul L plus V sequence must die to required sanitizers") + if disk["hangul_lv_composed_required_sanitizers_keep"] is not False: + raise ValueError("composed Hangul syllable must die to required sanitizers") + if disk["lri_wrap_required_sanitizers_keep"] is not False: + raise ValueError("LRI wrap must die to required sanitizers") + if disk["mix_plus_del_mn_remainder"] != ["U+007F"]: + raise ValueError("mix plus DEL remainder after Mn-strip must be DEL") + if disk["ascii_plus_mc_nfc_hit_count"] != 0: + raise ValueError("ASCII plus Mc must not NFC-compose") + if disk["dejavu_sans_mono_zero_advance_keep_including_composites"] != []: + raise ValueError("DejaVu Sans Mono must not have sanitizer-surviving zero-advance glyphs") + live = post_sanitizer_sequences_payload() + if live["prepend_sanitizer_survivor_count"] == disk["prepend_sanitizer_survivor_count"] and live != disk: + raise ValueError("post-sanitizer sequences spec does not match the live payload") diff --git a/specs/cycle8/fuckmark-cycle8-post-sanitizer-sequences-v1.json b/specs/cycle8/fuckmark-cycle8-post-sanitizer-sequences-v1.json new file mode 100644 index 00000000..506431f9 --- /dev/null +++ b/specs/cycle8/fuckmark-cycle8-post-sanitizer-sequences-v1.json @@ -0,0 +1 @@ +{"algorithm_version":"cycle8-post-sanitizer-sequences-v1","ascii_plus_mc_nfc_hit_count":0,"assigned_width0_closed_set_hash":"425f85e5e91c1513750e5a3da08a45f537a5b2e5c07f47854dc2c9f6420f794d","assigned_width0_feasibility_hash":"edaa10a576def25a4e0edcdd23b74fecc97dca650835e538ad5c7ff14eb31483","boundary":"Sequence-level transforms do not escape the H13/H14 sanitizer boundary. Grapheme prepend and joining connectors survive the required sanitizers and change Chromium pre pixels. Hangul L plus V is NFC-unstable as jamo and NFKD-unstable as a syllable. Bidi isolate wraps can be renderer-neutral on LTR English and still die to Cf-strip. ISO-6429 escape sequences keep sanitizers because they are Cc plus ASCII, but Chromium pre shows the ASCII parameters. Partial sanitizer remainders collapse to a previously classified class. DejaVu Sans Mono has no sanitizer-surviving zero-advance mapped glyph, including composites, and no Latin GSUB ligature that swallows an extra sanitizer-stable code point. No measured sequence class is simultaneously sanitizer-surviving, Chromium-portable, ordinary plain text, and Priority-Zero safe. This does not rewrite mix sanitizer FAIL.","classes":[{"chromium_pre":"REJECTED","examples":["U+0D4E","U+111C2","U+111C3","U+1193F"],"id":"grapheme_prepend_plus_base","ordinary_plain_text":"FAIL","product":"FAIL","reason":"UAX #29 prepend letters such as Malayalam Dot Reph form a grapheme cluster with the following base. Assigned prepend probes survive the required sanitizers with nonzero width and change Chromium pre pixels on Latin bases.","required_sanitizers":"PASS"},{"chromium_pre":"REJECTED","examples":["U+0640","U+07FA","U+180A"],"id":"joining_connector_sequence","ordinary_plain_text":"FAIL","product":"FAIL","reason":"Arabic tatweel, Nko lajanyalan, Mongolian nirugu, and character-tie connectors survive the required sanitizers. Inserted into Latin they change Chromium pre pixels. ZWJ and ZWNJ joining controls are Cf and die to Cf-strip.","required_sanitizers":"PASS"},{"chromium_pre":"REJECTED","examples":["U+1100","U+1161"],"id":"hangul_lv_composition_sequence","ordinary_plain_text":"FAIL","product":"FAIL","reason":"Hangul L plus V jamo NFC-compose to a syllable, so NFC sanitizer rewrites the sequence. The composed syllable NFKD-decomposes, so NFKD sanitizer rewrites that form. Either representation dies to the required bundle. Filler jamo remain default-ignorable.","required_sanitizers":"FAIL"},{"chromium_pre":"VERIFIED_ON_RESEARCH_HOST","examples":["U+2066","U+2069"],"id":"bidi_isolate_wrap_sequence","ordinary_plain_text":"FAIL","product":"FAIL","reason":"Matched LRI or FSI plus PDI around LTR English is pixel-equal on this Chromium pre host. Unmatched LRI is also pixel-equal here. RLI and RLO wraps reverse or isolate RTL and change pixels. LRI, RLI, FSI, PDI, LRO, and PDF are Cf and default-ignorable, so Cf-strip and default-ignorable-strip restore the source. That is not a new sanitizer-surviving class.","required_sanitizers":"FAIL"},{"chromium_pre":"REJECTED","examples":["U+001B","U+009B"],"id":"iso6429_escape_sequence","ordinary_plain_text":"FAIL","product":"FAIL","reason":"7-bit ESC CSI sequences and 8-bit CSI plus ASCII parameters survive Mn-strip, default-ignorable-strip, Cf-strip, NFC, and NFKC because ESC and C1 are Cc. Chromium pre textContent does not interpret them as device control, so the parameter characters remain visible. Still not ordinary plain text.","required_sanitizers":"PASS"},{"chromium_pre":"HOST_DEPENDENT","examples":["U+034F","U+007F"],"id":"partial_sanitizer_remainder","ordinary_plain_text":"FAIL","product":"FAIL","reason":"Combining a stripped carrier with a survivor leaves the survivor after Mn-strip or default-ignorable-strip. Mix plus DEL stays pixel-equal here and Mn-strip leaves DEL. The remainder is the H12 Cc class, not a new mechanism. Mix plus Mc or Me leaves those marks, which change Chromium pixels.","required_sanitizers":"FAIL"},{"chromium_pre":"REJECTED","examples":["U+FB01","U+FB02"],"id":"font_gsub_ligature_sequence","ordinary_plain_text":"FAIL","product":"FAIL","reason":"DejaVu Sans Mono Latin GSUB extra-component ligatures are discretionary f plus i and f plus l mapping to compatibility ligature characters. Those characters die to NFKC. Chromium pre does not apply that discretionary ligature: inserting CGJ, ZWJ, ZWNJ, or VS1 between f and i in affirm is pixel-equal. No sanitizer-surviving extra code point is eaten by a Latin liga.","required_sanitizers":"FAIL"}],"conjunction_sanitizer_pass_chromium_verified_ordinary_text":[],"control_carrier_hash":"99785e6bbe4b32b1cb91a1616fd0c1620cb78e73270299dcb7d7f9b0ac5aaffd","dejavu_sans_mono_latin_extra_component_liga_count":2,"dejavu_sans_mono_zero_advance_keep_including_composites":[],"does_not_repeat_assigned_width0_scan":true,"does_not_repeat_h14_single_codepoint_sweep":true,"hangul_filler_sequence_required_sanitizers_keep":false,"hangul_lv_composed_required_sanitizers_keep":false,"hangul_lv_sequence_required_sanitizers_keep":false,"joining_connector_keep_labels":["U+0640","U+07FA","U+180A","U+2040"],"lri_wrap_required_sanitizers_keep":false,"mix_gate_not_rewritten":true,"mix_plus_del_mn_remainder":["U+007F"],"mix_publishability_hash":"1149940b64e9617af12cb1e8e89448043edc235bdfd127cda5e163cfe03bc5c8","mix_sanitizer_gate":"FAIL","post_sanitizer_class_hash":"a13f935834b399bd2dda6c543ad4cf646bcfc2f6426ca866b08ae8cf51346bf3","post_sanitizer_extended_hash":"b1ca728142a217887ad327ddb226869b4343c898452240d731ab4c7d07f6f918","prepend_sanitizer_survivor_count":13,"prepend_sanitizer_survivor_labels":["U+0D4E","U+111C2","U+111C3","U+1193F","U+11A3A","U+11A84","U+11A85","U+11A86","U+11A87","U+11A88","U+11A89","U+11D46","U+11F02"],"priority_zero":"exact_user_visible_text_preservation","product_authorized":false,"search_space":"sequence_and_representation_transforms_after_h14_including_prepend_joining_hangul_composition_bidi_wraps_escape_sequences_partial_sanitizer_and_gsub","sequence_class_hash":"a0fcdd2dfd7a05575592a2dec095c54513869deeb9bfdfbca4d7301ef478906c","spent_confirmation_corpora_not_reused":true,"stronger_priority_zero_safe_mechanism":null} diff --git a/tests/test_cycle8_post_sanitizer_sequences.py b/tests/test_cycle8_post_sanitizer_sequences.py new file mode 100644 index 00000000..5e18dba2 --- /dev/null +++ b/tests/test_cycle8_post_sanitizer_sequences.py @@ -0,0 +1,169 @@ +import json +from pathlib import Path + +import pytest + +from fuckmark.cli import process_text +from fuckmark.cycle8.benchmark import sanitize_benchmark_stress, strip_nonspacing_marks +from fuckmark.cycle8.closed_set import CYCLE8_CLOSED_SET_HASH +from fuckmark.cycle8.control_carrier import CYCLE8_CONTROL_CARRIER_HASH, required_sanitizers_keep +from fuckmark.cycle8.feasibility import CYCLE8_FEASIBILITY_HASH +from fuckmark.cycle8.letter_mix import apply_letter_alternating_mix +from fuckmark.cycle8.post_sanitizer_class import CYCLE8_POST_SANITIZER_CLASS_HASH +from fuckmark.cycle8.post_sanitizer_extended import CYCLE8_POST_SANITIZER_EXTENDED_HASH +from fuckmark.cycle8.post_sanitizer_sequences import ( + CYCLE8_POST_SANITIZER_SEQUENCES_HASH, + CYCLE8_POST_SANITIZER_SEQUENCES_PATH, + CYCLE8_POST_SANITIZER_SEQUENCES_VERSION, + HANGUL_L_V_SEQUENCE, + JOINING_CONNECTOR_PROBES, + LRI_PDI_WRAP, + MIX_PLUS_DEL_SEQUENCE, + PREPEND_CHROMIUM_PROBES, + SEQUENCE_SOURCE, + TATWEEL, + UAX29_PREPEND_CODEPOINTS, + assert_post_sanitizer_sequences_committed, + hangul_lv_composed_required_sanitizers_keep, + hangul_lv_required_sanitizers_keep, + mix_plus_del_mn_remainder, + post_sanitizer_sequences_payload, + scan_prepend_survivors, +) +from fuckmark.cycle8.publishability import CYCLE8_MIX_PUBLISHABILITY_HASH, mix_is_product_publishable +from fuckmark.hashing import sha256_file, sha256_json +from fuckmark.product.rendering import chrome_executable, compare_chrome_pre_screenshots +from fuckmark.product.visible_projection import product_approved_carriers_v1 +from fuckmark.transforms.registry import release_transform_registry + + +def _load() -> dict[str, object]: + return json.loads((Path(__file__).resolve().parents[1] / CYCLE8_POST_SANITIZER_SEQUENCES_PATH).read_text(encoding="utf-8")) + + +def test_post_sanitizer_sequences_has_no_conjunction_survivor() -> None: + disk = _load() + payload = post_sanitizer_sequences_payload() + body = {key: value for key, value in disk.items() if key != "sequence_class_hash"} + assert disk["sequence_class_hash"] == sha256_json(body) == CYCLE8_POST_SANITIZER_SEQUENCES_HASH + assert disk["algorithm_version"] == CYCLE8_POST_SANITIZER_SEQUENCES_VERSION + assert disk["does_not_repeat_assigned_width0_scan"] is True + assert disk["does_not_repeat_h14_single_codepoint_sweep"] is True + assert disk["assigned_width0_closed_set_hash"] == CYCLE8_CLOSED_SET_HASH + assert disk["assigned_width0_feasibility_hash"] == CYCLE8_FEASIBILITY_HASH + assert disk["control_carrier_hash"] == CYCLE8_CONTROL_CARRIER_HASH + assert disk["post_sanitizer_class_hash"] == CYCLE8_POST_SANITIZER_CLASS_HASH + assert disk["post_sanitizer_extended_hash"] == CYCLE8_POST_SANITIZER_EXTENDED_HASH + assert disk["mix_publishability_hash"] == CYCLE8_MIX_PUBLISHABILITY_HASH + assert disk["mix_sanitizer_gate"] == "FAIL" + assert disk["hangul_lv_sequence_required_sanitizers_keep"] is False + assert disk["hangul_lv_composed_required_sanitizers_keep"] is False + assert disk["lri_wrap_required_sanitizers_keep"] is False + assert disk["ascii_plus_mc_nfc_hit_count"] == 0 + assert disk["mix_plus_del_mn_remainder"] == ["U+007F"] + assert disk["dejavu_sans_mono_zero_advance_keep_including_composites"] == [] + assert disk["conjunction_sanitizer_pass_chromium_verified_ordinary_text"] == [] + assert disk["stronger_priority_zero_safe_mechanism"] is None + assert disk["product_authorized"] is False + assert disk["mix_gate_not_rewritten"] is True + assert disk["spent_confirmation_corpora_not_reused"] is True + if payload["prepend_sanitizer_survivor_count"] == disk["prepend_sanitizer_survivor_count"]: + assert payload == disk + assert_post_sanitizer_sequences_committed() + by_id = {row["id"]: row for row in disk["classes"]} + assert by_id["grapheme_prepend_plus_base"]["required_sanitizers"] == "PASS" + assert by_id["grapheme_prepend_plus_base"]["chromium_pre"] == "REJECTED" + assert by_id["joining_connector_sequence"]["chromium_pre"] == "REJECTED" + assert by_id["hangul_lv_composition_sequence"]["required_sanitizers"] == "FAIL" + assert by_id["bidi_isolate_wrap_sequence"]["required_sanitizers"] == "FAIL" + assert by_id["iso6429_escape_sequence"]["ordinary_plain_text"] == "FAIL" + assert by_id["partial_sanitizer_remainder"]["product"] == "FAIL" + assert by_id["font_gsub_ligature_sequence"]["required_sanitizers"] == "FAIL" + assert mix_is_product_publishable() is False + assert process_text("I do not agree.") == "I do not agree." + assert product_approved_carriers_v1() == frozenset() + assert release_transform_registry().rules == () + for row in disk["classes"]: + conjunction = ( + row["required_sanitizers"] == "PASS" + and row["chromium_pre"] == "VERIFIED" + and row["ordinary_plain_text"] == "PASS" + ) + assert conjunction is False + + +def test_sequence_probes_match_required_sanitizer_contract() -> None: + assert hangul_lv_required_sanitizers_keep() is False + assert hangul_lv_composed_required_sanitizers_keep() is False + assert required_sanitizers_keep(LRI_PDI_WRAP) is False + assert required_sanitizers_keep("I" + TATWEEL + " do not agree.") is True + assert mix_plus_del_mn_remainder() == "\u007f" + transformed = "I" + MIX_PLUS_DEL_SEQUENCE + " do not agree." + assert strip_nonspacing_marks(transformed) == "I\u007f do not agree." + assert required_sanitizers_keep("I\u007f do not agree.") is True + source = SEQUENCE_SOURCE + mix = apply_letter_alternating_mix(source) + assert sanitize_benchmark_stress("mn_strip", mix) == source + assert sanitize_benchmark_stress("default_ignorable_strip", mix) == source + live = scan_prepend_survivors() + if "U+0D4E" in live: + assert required_sanitizers_keep(chr(0x0D4E) + SEQUENCE_SOURCE) is True + for codepoint in JOINING_CONNECTOR_PROBES: + assert required_sanitizers_keep(f"I{chr(codepoint)} do not agree.") is True + assert HANGUL_L_V_SEQUENCE == "\u1100\u1161" + assert len(UAX29_PREPEND_CODEPOINTS) >= 13 + + +def test_sequence_chromium_probes_match_recorded_classes() -> None: + if chrome_executable() is None: + pytest.skip("chromium is not available") + original = SEQUENCE_SOURCE + prepend = chr(PREPEND_CHROMIUM_PROBES[0]) + original + comparison = compare_chrome_pre_screenshots(original, prepend) + if comparison.status == "UNKNOWN": + pytest.skip(comparison.detail) + assert comparison.status == "REJECTED" + tatweel = compare_chrome_pre_screenshots(original, "I" + TATWEEL + " do not agree.") + if tatweel.status == "UNKNOWN": + pytest.skip(tatweel.detail) + assert tatweel.status == "REJECTED" + wrap = compare_chrome_pre_screenshots(original, LRI_PDI_WRAP) + if wrap.status == "UNKNOWN": + pytest.skip(wrap.detail) + assert wrap.status == "VERIFIED" + mix = compare_chrome_pre_screenshots(original, apply_letter_alternating_mix(original)) + if mix.status == "UNKNOWN": + pytest.skip(mix.detail) + assert mix.status == "VERIFIED" + remainder = compare_chrome_pre_screenshots(original, "I\u007f do not agree.") + if remainder.status == "UNKNOWN": + pytest.skip(remainder.detail) + assert remainder.status in {"VERIFIED", "REJECTED"} + escape = compare_chrome_pre_screenshots(original, "I\x1b[0m do not agree.") + if escape.status == "UNKNOWN": + pytest.skip(escape.detail) + assert escape.status == "REJECTED" + affirm = "I do not affirm." + broken = "I do not aff\u034firm." + liga = compare_chrome_pre_screenshots(affirm, broken) + if liga.status == "UNKNOWN": + pytest.skip(liga.detail) + assert liga.status == "VERIFIED" + + +def test_h15_local_evidence_hashes() -> None: + root = Path(__file__).resolve().parents[1] / "evidence" / "h15-local" + sums = (root / "SHA256SUMS.txt").read_text(encoding="utf-8").splitlines() + files = {line.split()[-1]: line.split()[0] for line in sums if line} + assert set(files) == { + "README.md", + "summary.json", + "chromium-probes.json", + } + for name, digest in files.items(): + assert sha256_file(root / name) == digest + summary = json.loads((root / "summary.json").read_text(encoding="utf-8")) + assert summary["mix_sanitizer_gate"] == "FAIL" + assert summary["product_authorized"] is False + assert summary["stronger_priority_zero_safe_mechanism"] is None + assert summary["conjunction_sanitizer_pass_chromium_verified_ordinary_text"] == [] diff --git a/tools/h15_sequence_probes.py b/tools/h15_sequence_probes.py new file mode 100644 index 00000000..45acc8cc --- /dev/null +++ b/tools/h15_sequence_probes.py @@ -0,0 +1,24 @@ +from __future__ import annotations + +import argparse +import json +from pathlib import Path + +from fuckmark.cycle8.post_sanitizer_sequences import post_sanitizer_sequences_payload + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--out", default="/tmp/h15-live-payload.json") + args = parser.parse_args() + payload = post_sanitizer_sequences_payload() + destination = Path(args.out) + destination.parent.mkdir(parents=True, exist_ok=True) + summary = {key: payload[key] for key in payload if key != "classes"} + destination.write_text(json.dumps(payload, indent=2, ensure_ascii=False) + "\n", encoding="utf-8") + print(json.dumps(summary, indent=2, ensure_ascii=False)) + print(f"wrote {destination}") + + +if __name__ == "__main__": + main()