From a41246e0460f9f898f19fba78dcd180bf0c8e073 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 30 Jul 2026 18:50:29 +0000 Subject: [PATCH] Select current-year writing; point demo and README at the write path Co-authored-by: telivity-otaip --- README.md | 52 ++++-- docs/images/cli-demo.png | Bin 30818 -> 58036 bytes docs/images/cli-setup.png | Bin 0 -> 7321 bytes docs/images/cli-status.png | Bin 32785 -> 55603 bytes scripts/shot.py | 272 ++++++++++++++++++++++++++++++ src/personality_protect/cli.py | 39 ++++- src/personality_protect/config.py | 10 +- src/personality_protect/demo.py | 43 ++++- tests/test_demo_pipeline.py | 52 ++++++ 9 files changed, 447 insertions(+), 21 deletions(-) create mode 100644 docs/images/cli-setup.png create mode 100755 scripts/shot.py diff --git a/README.md b/README.md index 7f3fdf6..0c86f29 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,12 @@ PersonalityProtect keeps the corpus on disk, measures your cadence, retrieves sh ## How you get voice 1. **Ingest** your LinkedIn export and/or local notes (stays on disk). -2. **`index-voice`** builds a local retrieval index. -3. **`build-style-profile`** measures cadence (sentence length, short lines, post length band, banned filler). -4. **`write --topic --points`** drafts from the brief only; retrieved pieces are rhythm reference. +2. **`select`** gates the corpus by length (`--min-words`, default 50) and an optional year cap (`--through-year`, default: current year). +3. **`index-voice`** builds a local retrieval index. +4. **`build-style-profile`** measures cadence from the selection (sentence length, short lines, post length band, banned filler). +5. **`write --topic --points`** drafts from the brief only; retrieved pieces are rhythm reference. -Two channels come out of step 4: +Two channels come out of step 5: - **`--channel post`** (default) targets your long-post band, up to the LinkedIn ~3000-character limit (~550 words). - **`--channel article`** runs outline → sections → stitch, and needs at least five `linkedin_article` pieces in the corpus. @@ -61,6 +62,7 @@ personality-protect download --format mlx # ~6 GB, once personality-protect ingest --linkedin ~/path/to/linkedin-export personality-protect ingest --path ~/path/to/notes --source note +personality-protect select personality-protect index-voice personality-protect build-style-profile @@ -94,18 +96,23 @@ pip install -e ".[cuda]" # NVIDIA path (optional) Public docs use **synthetic Contoso / synergy-slop text only**. No personal corpus. -| `write` (post + article) | `status` | Mark | +| `write` (post + article) | `status` | Setup | | --- | --- | --- | -| write drafting a Contoso post with adapter=none | status output for the synthetic demo profile | Telivity CLI logo | +| write drafting a Contoso post with adapter=none | status output for the synthetic demo profile | personality-protect setup / logo | ```bash +personality-protect select personality-protect index-voice personality-protect build-style-profile personality-protect write --topic "Contoso pricing" --points "Name one owner." personality-protect status ``` -Optional smoke tour (no model download; synthetic only): +Optional smoke tour — runs the write path with a stubbed model call (no download; synthetic Contoso only): + +| Smoke tour (`demo`) | Mark | +| --- | --- | +| personality-protect demo smoke tour of the write path | Telivity CLI logo | ```bash personality-protect demo @@ -160,13 +167,20 @@ personality-protect ingest --linkedin ~/path/to/linkedin-export.zip personality-protect ingest --path ~/path/to/notes --source note ``` -### Index and style +### Select, index and style + +`select` is required before `build-style-profile` (the style card reads `selection.json`). It is a length gate plus an optional year cap: ```bash +personality-protect select +personality-protect select --min-words 75 --include-undated +personality-protect select --through-year 2024 # deliberate narrowing only personality-protect index-voice personality-protect build-style-profile ``` +Defaults: **≥50 words**, dates through the **current year**. Use `--through-year` when you intentionally want an older slice. Corpus gates: **warn** below 50 selected pieces; **block** below 20 unless `--force`. Holding pieces back from retrieval is separate — `index-voice --holdout-id`, scored by `eval-write-holdout`. + Post length targets come from `linkedin_post` pieces (p75/p90), clamped to the LinkedIn ~3000-character band (~550 words). ### Write @@ -197,12 +211,13 @@ Global flags (most commands): `--profile`, `--home`, `--json`, plus branding `-- | `init` | Create profile under `~/.personality-protect/` | | `download` | Prefetch quantized MLX or GGUF base | | `ingest` | Index LinkedIn export and/or local paths | +| `select` | Gate corpus by length / year — required before `build-style-profile` | | `index-voice` | Build local voice retrieval index | | `build-style-profile` | Build cadence / length / banned-filler style card | | `write` | Draft a post or article (`--channel post\|article`) | | `eval-write-holdout` | Score write quality on held-out pieces (local receipt) | | `status` | Show profile state | -| `demo` | Optional synthetic smoke tour (no download) | +| `demo` | Optional synthetic smoke tour of the write path (no download) | | `api` | Loopback HTTP stub | | `logo` | Print Telivity CLI mark | | `build-writer-sft`, `train` | Optional LoRA experiments — see [Advanced](#advanced-optional) | @@ -247,7 +262,7 @@ Keep an adapter only if `eval-write-holdout` shows it beating RAG-alone on held- ### Other experiment commands -`select`, `filter`, `compare`, `eval`, and the translator-pair commands remain available. They score or rewrite existing text and are not part of the drafting path above. +`filter`, `compare`, `eval`, and the translator-pair commands remain available. They score or rewrite existing text and are not part of the drafting path above. (`select` *is* part of the drafting path — see [Select, index and style](#select-index-and-style).) ### Operator script @@ -268,11 +283,26 @@ Operator checklist: [docs/LAUNCH.md](docs/LAUNCH.md). ```bash pip install -e ".[dev]" pytest -ruff check src tests +ruff check src tests scripts ``` CI (`.github/workflows/ci.yml`) required checks: `lint`, `test (3.11)`, `test (3.12)`, `sanitize`, `cli-smoke`. +### Regenerating screenshots + +`scripts/shot.py` renders captured ANSI terminal bytes to PNG on a fixed character grid (so Rich box-drawing lines up). Needs `pillow`. + +```bash +export PERSONALITY_PROTECT_HOME=/tmp/shots COLUMNS=94 TERM=xterm-256color +pip install pillow +script -qec "personality-protect --logo off demo" /dev/null \ + | python3 scripts/shot.py docs/images/cli-demo.png "personality-protect demo" +script -qec "personality-protect --logo off status" /dev/null \ + | python3 scripts/shot.py docs/images/cli-status.png "personality-protect status" +``` + +Do not regenerate `docs/images/cli-shipped.png` off Apple Silicon — it shows a real `write` against MLX weights. + --- ## License diff --git a/docs/images/cli-demo.png b/docs/images/cli-demo.png index 08a211b72ed1862ff081f4b0cef5f987af0bddeb..d9fe7ed6138f24f8b7fbe6015705d6dbdf861264 100644 GIT binary patch literal 58036 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 VJH8$!CB)}FEqnIlYnk6~{~vP0jEw*Q literal 30818 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 literal 0 HcmV?d00001 diff --git a/docs/images/cli-status.png b/docs/images/cli-status.png index 2335e4a1ca0734eeb9e49cc5edd670343fbf3bf4..faf7c8baad013ff79cafd043fc74650cd1cd618c 100644 GIT binary patch literal 55603 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 GVgCbD7WOXy literal 32785 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

ECO~anvg=tV+yx5}8uFewoA5HT^IW9BB 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 D0K4Dq diff --git a/scripts/shot.py b/scripts/shot.py new file mode 100755 index 0000000..e29c880 --- /dev/null +++ b/scripts/shot.py @@ -0,0 +1,272 @@ +#!/usr/bin/env python3 +"""Render captured ANSI terminal bytes to a PNG on a fixed character grid. + +Usage: + script -qec "personality-protect --logo off demo" /dev/null \\ + | python3 scripts/shot.py docs/images/cli-demo.png "personality-protect demo" + +Needs pillow. Fixed cell size keeps Rich box-drawing aligned. +""" + +from __future__ import annotations + +import re +import sys +from pathlib import Path + +from PIL import Image, ImageDraw, ImageFont + +# Fixed grid — match existing docs shots (≈10×20 cell, macOS chrome). +CELL_W = 10 +CELL_H = 20 +PAD_X = 14 +PAD_Y = 12 +TITLE_H = 36 +COLS = 94 + +BG = (18, 20, 24) +TITLE_BG = (40, 42, 48) +TITLE_EDGE = (48, 50, 56) +FG = (230, 232, 236) +DIM = (140, 146, 156) +BOLD = (255, 255, 255) +CYAN = (120, 210, 220) +GREEN = (120, 200, 140) +YELLOW = (220, 190, 100) +RED = (230, 120, 110) +MAGENTA = (200, 140, 200) +BLUE = (120, 160, 230) + +# CSI / OSC / charset noise from `script` / Rich +_ANSI_OSC = re.compile(r"\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)") +_ANSI_CSI = re.compile(r"\x1b\[[0-9;?]*[ -/]*[@-~]") +_ANSI_OTHER = re.compile(r"\x1b[@-Z\\-_]") +_ANSI_CHARSET = re.compile(r"\x1b[()][0-9A-Za-z]") + + +def _font(size: int = 15) -> ImageFont.FreeTypeFont | ImageFont.ImageFont: + candidates = [ + "/usr/share/fonts/truetype/jetbrains-mono/JetBrainsMono-Regular.ttf", + "/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf", + "/System/Library/Fonts/Menlo.ttc", + ] + for path in candidates: + if Path(path).is_file(): + return ImageFont.truetype(path, size=size) + return ImageFont.load_default() + + +def _sgr_color(code: int, fg: bool) -> tuple[int, int, int] | None: + table = { + 30: (60, 64, 72), + 31: RED, + 32: GREEN, + 33: YELLOW, + 34: BLUE, + 35: MAGENTA, + 36: CYAN, + 37: FG, + 90: DIM, + 91: RED, + 92: GREEN, + 93: YELLOW, + 94: BLUE, + 95: MAGENTA, + 96: CYAN, + 97: BOLD, + } + if not fg: + return None + return table.get(code) + + +def parse_ansi(data: bytes) -> list[list[tuple[str, tuple[int, int, int], bool]]]: + """Return rows of (char, fg, bold) cells.""" + text = data.decode("utf-8", errors="replace") + text = text.replace("\r\n", "\n").replace("\r", "\n") + text = _ANSI_OSC.sub("", text) + text = _ANSI_CHARSET.sub("", text) + + rows: list[list[tuple[str, tuple[int, int, int], bool]]] = [[]] + fg = FG + bold = False + i = 0 + while i < len(text): + ch = text[i] + if ch == "\x1b": + m = _ANSI_CSI.match(text, i) + if m: + seq = m.group(0) + i = m.end() + if seq.endswith("m"): + body = seq[2:-1] + parts = [int(x) for x in body.split(";") if x.isdigit()] if body else [0] + j = 0 + while j < len(parts): + code = parts[j] + if code == 0: + fg, bold = FG, False + elif code == 1: + bold = True + if fg == FG: + fg = BOLD + elif code == 2: + fg = DIM + elif code == 22: + bold = False + if fg == BOLD: + fg = FG + elif 30 <= code <= 37 or 90 <= code <= 97: + color = _sgr_color(code, True) + if color: + fg = color + elif code == 39: + fg = BOLD if bold else FG + elif code == 38 and j + 1 < len(parts): + mode = parts[j + 1] + if mode == 2 and j + 4 < len(parts): + fg = (parts[j + 2], parts[j + 3], parts[j + 4]) + j += 4 + elif mode == 5 and j + 2 < len(parts): + # 256-color: approximate via grayscale/primary buckets + n = parts[j + 2] + if n < 16: + basic = [ + (0, 0, 0), + (205, 0, 0), + (0, 205, 0), + (205, 205, 0), + (0, 0, 238), + (205, 0, 205), + (0, 205, 205), + (229, 229, 229), + (127, 127, 127), + RED, + GREEN, + YELLOW, + BLUE, + MAGENTA, + CYAN, + BOLD, + ] + fg = basic[n] + elif n < 232: + c = n - 16 + r = (c // 36) * 51 + g = ((c // 6) % 6) * 51 + b = (c % 6) * 51 + fg = (r, g, b) + else: + v = 8 + (n - 232) * 10 + fg = (v, v, v) + j += 2 + else: + j += 1 + j += 1 + continue + m2 = _ANSI_OTHER.match(text, i) + if m2: + i = m2.end() + continue + i += 1 + continue + if ch == "\n": + rows.append([]) + i += 1 + continue + if ch == "\t": + spaces = 4 - (len(rows[-1]) % 4) + rows[-1].extend([(" ", fg, bold)] * spaces) + i += 1 + continue + if ch == "\x08": + if rows[-1]: + rows[-1].pop() + i += 1 + continue + if ord(ch) < 32: + i += 1 + continue + rows[-1].append((ch, fg, bold)) + i += 1 + + # Drop trailing empty rows from script(1) noise + while rows and not rows[-1]: + rows.pop() + return rows + + +def _strip_script_noise(rows: list[list[tuple[str, tuple[int, int, int], bool]]]): + """Drop typescript headers / bare prompts that `script` sometimes emits.""" + cleaned = [] + for row in rows: + line = "".join(c for c, _, _ in row).strip() + if line.startswith("Script started") or line.startswith("Script done"): + continue + cleaned.append(row) + return cleaned + + +def render( + rows: list[list[tuple[str, tuple[int, int, int], bool]]], + title: str, + cols: int = COLS, +) -> Image.Image: + rows = _strip_script_noise(rows) + # Prepend a synthetic prompt line matching existing docs shots + prompt = [ + (">", CYAN, True), + (" ", FG, False), + ] + prompt.extend((c, BOLD if c != " " else FG, c != " ") for c in title) + # If the capture already starts with the command, don't double it + first = "".join(c for c, _, _ in rows[0]).strip() if rows else "" + if not first.startswith(">") and title not in first: + rows = [prompt] + rows + + width = PAD_X * 2 + cols * CELL_W + height = TITLE_H + PAD_Y * 2 + max(1, len(rows)) * CELL_H + img = Image.new("RGB", (width, height), BG) + draw = ImageDraw.Draw(img) + + # Title bar + draw.rectangle([0, 0, width, TITLE_H], fill=TITLE_BG) + draw.line([(0, TITLE_H), (width, TITLE_H)], fill=TITLE_EDGE) + for x, color in ((18, (255, 95, 86)), (38, (255, 189, 46)), (58, (39, 201, 63))): + draw.ellipse([x, 12, x + 12, 24], fill=color) + font_title = _font(13) + tw = draw.textlength(title, font=font_title) + draw.text(((width - tw) / 2, 10), title, fill=DIM, font=font_title) + + font = _font(15) + y = TITLE_H + PAD_Y + for row in rows: + x = PAD_X + for ch, color, _bold in row[:cols]: + draw.text((x, y - 1), ch, fill=color, font=font) + x += CELL_W + y += CELL_H + return img + + +def main(argv: list[str]) -> int: + if len(argv) < 2: + print( + "usage: shot.py OUT.png [TITLE]\n" + " reads ANSI bytes from stdin", + file=sys.stderr, + ) + return 2 + out = Path(argv[1]) + title = argv[2] if len(argv) > 2 else out.stem + data = sys.stdin.buffer.read() + rows = parse_ansi(data) + img = render(rows, title=title) + out.parent.mkdir(parents=True, exist_ok=True) + img.save(out, format="PNG", optimize=True) + print(f"wrote {out} ({img.size[0]}x{img.size[1]})") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main(sys.argv)) diff --git a/src/personality_protect/cli.py b/src/personality_protect/cli.py index 0910dec..d149265 100644 --- a/src/personality_protect/cli.py +++ b/src/personality_protect/cli.py @@ -459,7 +459,8 @@ def select_cmd( console.print(f"[red]{gate_error}[/red]") raise typer.Exit(2) console.print(f"Saved: {paths.selection_path}") - console.print("Next: personality-protect train") + console.print("Next: personality-protect index-voice") + console.print("Then: personality-protect build-style-profile") @app.command("build-style-profile") @@ -1104,8 +1105,8 @@ def on_progress(info: dict) -> None: if result.notes: console.print(result.notes) if result.status == "ok": - console.print("Next: personality-protect filter --text '…'") - console.print("Or: personality-protect compare --synthetic slop_branding") + console.print("Next: personality-protect eval-write-holdout --out receipt.json") + console.print("[dim]Keep this adapter only if it beats RAG-alone on the holdout.[/dim]") @app.command("filter") @@ -1414,20 +1415,42 @@ def demo_cmd( ), as_json: bool = typer.Option(False, "--json"), ) -> None: - """Optional synthetic mock tour (not the shipped mlx/llama path).""" + """Optional synthetic smoke tour of the write path (no model download).""" _banner_from_ctx(ctx, json_mode=as_json) result = run_demo(home=home, draft=draft) if as_json: typer.echo(json.dumps(result, indent=2, ensure_ascii=False)) return console.print( - "[bold]Mock tour complete[/bold] " - "(synthetic data + mock adapter only — not the shipped product path)." + "[bold]Smoke tour complete[/bold] " + "(synthetic Contoso corpus; the model call inside write is stubbed)." ) console.print( - "[dim]Shipped path: train --backend mlx|cuda → filter/compare with llama|mlx.[/dim]" + "[dim]Product path: ingest → select → index-voice → " + "build-style-profile → write.[/dim]" ) - console.print(f"Ingested: {result['ingested']} Selected: {result['selected']}") + console.print( + "[dim]For a real draft: download --format mlx, then " + "write --topic … --points … on Apple Silicon.[/dim]" + ) + console.print( + f"Ingested: {result['ingested']} Selected: {result['selected']} " + f"Indexed: {result['indexed']}" + ) + console.print( + f"Style card: {result['style_pieces']} pieces, " + f"{result['banned_ai_filler']} banned filler phrases" + ) + console.print("") + exemplars = result.get("write_exemplars") or [] + console.print( + f"write channel={result['write_channel']} " + f"adapter={result['write_adapter']} model=stub " + f"exemplars={len(exemplars)}" + ) + console.print(result["written"]) + console.print("") + console.print("[dim]Legacy mock train/filter (not the drafting path):[/dim]") console.print(f"Train: {result['train_status']} via {result['train_backend']}") console.print("") console.print("[bold]Draft[/bold]") diff --git a/src/personality_protect/config.py b/src/personality_protect/config.py index b4f6560..4d22ded 100644 --- a/src/personality_protect/config.py +++ b/src/personality_protect/config.py @@ -5,6 +5,7 @@ import json import os from dataclasses import asdict, dataclass, field +from datetime import datetime, timezone from pathlib import Path from typing import Any @@ -26,7 +27,14 @@ DEFAULT_BASE_MODEL = DEFAULT_MLX_MODEL DEFAULT_MIN_WORDS = 50 -DEFAULT_THROUGH_YEAR = 2024 + +# `select` caps the corpus at this year. It must NOT exclude current writing: +# a fixed past year silently selects zero pieces for anyone whose corpus is +# recent, and the style profile is built from the selection. The writer SFT +# path already bypasses the year gate for exactly this reason +# (see run_build_writer_sft). Use --through-year to narrow deliberately. +# Holdouts are a separate, explicit mechanism (--holdout-id). +DEFAULT_THROUGH_YEAR = datetime.now(timezone.utc).year DEFAULT_PROFILE = "default" DEFAULT_VOICE_MODE = "rag" DEFAULT_WRITE_ADAPTER: str | None = None diff --git a/src/personality_protect/demo.py b/src/personality_protect/demo.py index c9f0f22..38de785 100644 --- a/src/personality_protect/demo.py +++ b/src/personality_protect/demo.py @@ -9,10 +9,31 @@ from personality_protect.filter import filter_draft from personality_protect.ingest import run_ingest from personality_protect.select import run_select +from personality_protect.style_profile import run_build_style_profile from personality_protect.train import run_train +from personality_protect.voice_index import build_voice_index +from personality_protect.write import run_write DEMO_PROFILE = "demo" +# Synthetic brief for the demo's write step. Contoso only — never personal text. +DEMO_TOPIC = "Contoso Ledger exceptions queue" +DEMO_POINTS = "- Name one owner\n- Keep the rollout boring" + +# The demo never downloads weights, so the model call is stubbed. Everything +# around it — retrieval, style card, trim, guards — is the real write path. +_DEMO_STUB_DRAFT = ( + "The Contoso Ledger exceptions queue is not a tooling problem.\n\n" + "Name one owner.\n\n" + "Keep the rollout boring. Boring is what survives contact with a Monday." +) + + +def _demo_generate(_messages, **_kwargs) -> str: + """Canned generator for the demo — no model, no download.""" + return _DEMO_STUB_DRAFT + + # Inline fallback if package data missing _FALLBACK_DOCS = { "post_2023_craft.md": """Date: 2023-06-12 @@ -98,7 +119,7 @@ def run_demo( home: Path | None = None, draft: str | None = None, ) -> dict: - """Full synthetic pipeline: init → ingest → select → mock train → filter.""" + """Full synthetic pipeline: init → ingest → select → write path → mock train/filter.""" paths, config, _ = init_profile(DEMO_PROFILE, home=home, force=True) corpus = ensure_demo_corpus(paths.cache_dir / "demo_corpus") added, _ = run_ingest(paths, local=[corpus], source_hint="demo") @@ -108,6 +129,17 @@ def run_demo( through_year=2024, include_undated=True, ) + voice = build_voice_index(paths) + style, _style_path = run_build_style_profile(paths) + written = run_write( + DEMO_TOPIC, + DEMO_POINTS, + paths, + k=2, + channel="post", + use_adapter=False, + generate_fn=_demo_generate, + ) train = run_train( paths, backend="mock", @@ -129,6 +161,15 @@ def run_demo( "ingested": added, "selected": len(selected), "selection_summary": selection.summary, + "indexed": voice["indexed"], + "style_pieces": style["stats"]["pieces"], + "banned_ai_filler": len(style["banned_ai_filler"]), + "write_topic": DEMO_TOPIC, + "write_channel": written["channel"], + "write_adapter": written["adapter"], + "write_exemplars": written["exemplar_ids"], + "write_stubbed_model": True, + "written": written["text"], "train_status": train.status, "train_backend": train.backend, "adapter_dir": train.adapter_dir, diff --git a/tests/test_demo_pipeline.py b/tests/test_demo_pipeline.py index 903821a..aa873d2 100644 --- a/tests/test_demo_pipeline.py +++ b/tests/test_demo_pipeline.py @@ -106,6 +106,58 @@ def test_detect_backend_mock(): assert detect_backend("mock") == "mock" +def test_demo_runs_write_path(tmp_path: Path): + """Demo must exercise index-voice → style profile → write, not just train/filter.""" + result = run_demo(home=tmp_path) + assert result["indexed"] >= 1 + assert result["style_pieces"] >= 1 + assert result["banned_ai_filler"] >= 1 + assert result["write_channel"] == "post" + assert result["write_adapter"] == "none" + assert result["write_stubbed_model"] is True + # Guards must have passed — run_write raises/flags rather than return junk. + assert "Contoso" in result["written"] + + +def test_style_profile_requires_selection(tmp_path: Path): + """README quick start must keep `select` before `build-style-profile`.""" + import pytest + + from personality_protect.config import get_paths, init_profile + from personality_protect.style_profile import run_build_style_profile + + init_profile("t", home=tmp_path) + with pytest.raises(FileNotFoundError): + run_build_style_profile(get_paths("t", home=tmp_path)) + + +def test_select_default_includes_current_year(tmp_path: Path): + """A corpus written this year must not select to zero under bare `select`.""" + from datetime import datetime, timezone + + from personality_protect.config import DEFAULT_THROUGH_YEAR + from personality_protect.models import Piece + from personality_protect.select import filter_pieces + + this_year = datetime.now(timezone.utc).year + assert DEFAULT_THROUGH_YEAR >= this_year + + recent = Piece( + id="r1", + source="linkedin_post", + text="word " * 200, + year=this_year, + word_count=200, + ) + kept = filter_pieces( + [recent], + min_words=50, + through_year=DEFAULT_THROUGH_YEAR, + include_undated=False, + ) + assert [p.id for p in kept] == ["r1"] + + def test_api_health(tmp_path: Path): import threading import urllib.request