Index A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X A ACCESSIBLE_KEY (in module curated_feed.paywall) accounted_indices (curated_feed.models.Response property) add() (curated_feed.claude.TokenUsage method) Adjustment (class in curated_feed.models) Adjustments (class in curated_feed.config) adjustments (curated_feed.config.PolicySettings attribute) (curated_feed.models.Selection attribute) (curated_feed.select.Scored attribute) anomalies (curated_feed.models.SelectionResult attribute) (curated_feed.select.Resolution attribute) AnthropicScorer (class in curated_feed.claude) append_corpus() (in module curated_feed.state) append_jsonl() (in module curated_feed.state) artifact_path() (in module curated_feed.state) ARTIFACT_SUFFIX (in module curated_feed.state) as_text() (curated_feed.policy.Prompt method) ATOM_NAMESPACE (in module curated_feed.render) attempted (curated_feed.fetch.RunSummary attribute) author (curated_feed.config.PublishSettings attribute) B BELOW_FLOOR (in module curated_feed.select) build_client() (in module curated_feed.claude) (in module curated_feed.fetch) (in module curated_feed.paywall) build_command() (in module curated_feed.deploy) build_dir (curated_feed.config.Paths attribute) build_feed() (in module curated_feed.render) build_parser() (in module curated_feed.cli) (in module curated_feed.deploy) (in module curated_feed.export) (in module curated_feed.fetch) (in module curated_feed.paywall) (in module curated_feed.render) (in module curated_feed.score) (in module curated_feed.select) (in module curated_feed.template) (in module curated_feed.validate) build_prompt() (in module curated_feed.policy) build_rationale() (in module curated_feed.select) build_record() (in module curated_feed.fetch) C CACHE_CONTROL (in module curated_feed.claude) cache_read_tokens (curated_feed.claude.TokenUsage attribute) cache_write_tokens (curated_feed.claude.TokenUsage attribute) cached (curated_feed.paywall.RunSummary attribute) calls (curated_feed.claude.TokenUsage attribute) Candidate (class in curated_feed.models) candidate (curated_feed.select.Scored attribute) candidate_count (curated_feed.models.SelectionResult attribute) candidate_id (curated_feed.models.PublishedEntry attribute) (curated_feed.models.Selection attribute) (curated_feed.models.Verdict attribute) candidates (curated_feed.policy.Prompt attribute) CANDIDATES_HEADING (in module curated_feed.policy) canonicalize_url() (in module curated_feed.fetch) check_all() (in module curated_feed.paywall) check_one() (in module curated_feed.paywall) check_runners_share_nothing() (in module curated_feed.validate) check_the_editorial_policy_is_written() (in module curated_feed.validate) check_the_feed_has_an_id() (in module curated_feed.validate) check_the_site_url_is_absolute() (in module curated_feed.validate) check_the_subscription_list_holds_feeds() (in module curated_feed.validate) check_the_worker_matches_the_host() (in module curated_feed.validate) checked_at (curated_feed.models.Verdict attribute) CODE_FENCE (in module curated_feed.score) collect() (in module curated_feed.fetch) (in module curated_feed.paywall) compatibility_date (curated_feed.config.DeploySettings attribute) CompletedCommand (in module curated_feed.deploy) compute_adjustments() (in module curated_feed.select) concurrency (curated_feed.config.FetchSettings attribute) (curated_feed.config.PaywallSettings attribute) Config (class in curated_feed.config) ConfigError consequence (curated_feed.models.Graded attribute) (curated_feed.models.Selection attribute) content (curated_feed.fetch.FetchResult attribute) content_hash (curated_feed.models.DeployMeta attribute) (curated_feed.models.FeedMeta attribute) content_hash() (in module curated_feed.render) corpus_day() (in module curated_feed.state) corpus_dir (curated_feed.config.Paths attribute) corpus_path() (in module curated_feed.state) CORPUS_SUFFIX (in module curated_feed.state) count_preference() (in module curated_feed.select) counted() (curated_feed.paywall.RunSummary method) curated_feed module curated_feed.claude module curated_feed.cli module curated_feed.config module curated_feed.deploy module curated_feed.export module curated_feed.fetch module curated_feed.models module curated_feed.opml module curated_feed.paywall module curated_feed.policy module curated_feed.render module curated_feed.score module curated_feed.select module curated_feed.state module curated_feed.template module curated_feed.validate module D DATED_STAGES (in module curated_feed.cli) DEFAULT_CONFIG_FILENAME (in module curated_feed.config) DEFAULT_PORTS (in module curated_feed.fetch) default_prompt_path() (in module curated_feed.policy) DEFAULT_WRANGLER_PACKAGE (in module curated_feed.deploy) deploy (curated_feed.config.Config attribute) deploy() (curated_feed.deploy.Deployer method) (curated_feed.deploy.NullDeployer method) (curated_feed.deploy.WranglerDeployer method) DEPLOY_META (in module curated_feed.deploy) deployed_at (curated_feed.models.DeployMeta attribute) deployed_hash() (in module curated_feed.deploy) Deployer (class in curated_feed.deploy) DeployError DeployMeta (class in curated_feed.models) DeploySettings (class in curated_feed.config) detail (curated_feed.models.Verdict attribute) detect() (in module curated_feed.paywall) discretionary (curated_feed.models.Graded attribute) (curated_feed.models.Selection attribute) discretionary_reason (curated_feed.models.Graded attribute) (curated_feed.models.Selection attribute) DOCUMENT_SEPARATOR (in module curated_feed.policy) documents (curated_feed.policy.Prompt attribute) dropped (curated_feed.models.Response attribute) (curated_feed.select.Resolution attribute) dropped_by_cap (curated_feed.paywall.RunSummary attribute) duplicates (curated_feed.models.Graded attribute) (curated_feed.models.Selection attribute) durable (curated_feed.models.Graded attribute) E effort (curated_feed.claude.AnthropicScorer attribute) (curated_feed.config.ScoreSettings attribute) enabled (curated_feed.config.PaywallSettings attribute) entry_published() (in module curated_feed.fetch) entry_updated() (in module curated_feed.render) error (curated_feed.fetch.FetchResult attribute) ERROR_LINES (in module curated_feed.deploy) EXAMPLE_CANDIDATE (in module curated_feed.policy) existing_ids() (in module curated_feed.state) F failures (curated_feed.fetch.RunSummary attribute) FALLBACK_FEED_ID (in module curated_feed.render) FALSE_VALUES (in module curated_feed.paywall) Feed (class in curated_feed.opml) feed (curated_feed.fetch.FetchResult attribute) feed_directory() (in module curated_feed.render) FEED_FILENAME (in module curated_feed.render) FEED_META (in module curated_feed.render) feed_url() (in module curated_feed.render) FeedMeta (class in curated_feed.models) FeedStats (class in curated_feed.fetch) fetch (curated_feed.config.Config attribute) fetch_all() (in module curated_feed.fetch) fetch_one() (in module curated_feed.fetch) fetched_at (curated_feed.models.Candidate attribute) FetchResult (class in curated_feed.fetch) FetchSettings (class in curated_feed.config) FILENAME_BY_TEMPLATE (in module curated_feed.template) FileScorer (class in curated_feed.score) find_config_file() (in module curated_feed.config) find_runners() (in module curated_feed.validate) first_stage() (in module curated_feed.cli) floor (curated_feed.config.PolicySettings attribute) folder (curated_feed.models.Candidate attribute) (curated_feed.opml.Feed attribute) FOLDER_SEPARATOR (in module curated_feed.opml) format() (curated_feed.claude.TokenUsage method) format_candidate() (in module curated_feed.policy) format_summary() (in module curated_feed.fetch) (in module curated_feed.paywall) (in module curated_feed.score) (in module curated_feed.select) G generate() (curated_feed.claude.AnthropicScorer method) (curated_feed.score.FileScorer method) (curated_feed.score.Scorer method) (curated_feed.score.StubScorer method) Graded (class in curated_feed.models) graded (curated_feed.models.Response attribute) (curated_feed.paywall.RunSummary attribute) (curated_feed.select.Resolution attribute) (curated_feed.select.Scored attribute) GRAPH_KEY (in module curated_feed.paywall) H HEADERS (in module curated_feed.render) HEADERS_FILENAME (in module curated_feed.render) html_to_text() (in module curated_feed.fetch) I id (curated_feed.models.Candidate attribute) ID_LENGTH (in module curated_feed.fetch) independent_sources (curated_feed.models.Graded attribute) index (curated_feed.models.Graded attribute) INDEX_FILENAME (in module curated_feed.render) input_tokens (curated_feed.claude.TokenUsage attribute) is_live (curated_feed.deploy.Deployer attribute) (curated_feed.deploy.NullDeployer attribute) (curated_feed.deploy.WranglerDeployer attribute) is_tracking_param() (in module curated_feed.fetch) items (curated_feed.score.StubScorer attribute) items_seen (curated_feed.fetch.FeedStats attribute) (curated_feed.fetch.RunSummary attribute) J JSON_LD_TYPE (in module curated_feed.paywall) K kept (curated_feed.fetch.FeedStats attribute) L last_stage() (in module curated_feed.cli) latest_corpus_path() (in module curated_feed.state) load_config() (in module curated_feed.config) log_path (curated_feed.paywall.RunSummary attribute) log_path() (in module curated_feed.paywall) lookback_days (curated_feed.config.FetchSettings attribute) M main() (in module curated_feed.cli) (in module curated_feed.deploy) (in module curated_feed.export) (in module curated_feed.fetch) (in module curated_feed.paywall) (in module curated_feed.render) (in module curated_feed.score) (in module curated_feed.select) (in module curated_feed.template) (in module curated_feed.validate) MAIN_BY_STAGE (in module curated_feed.cli) make_deployer() (in module curated_feed.deploy) make_id() (in module curated_feed.fetch) make_scorer() (in module curated_feed.score) MAX_ATTEMPTS (in module curated_feed.score) max_checks (curated_feed.config.PaywallSettings attribute) MAX_CONSEQUENCE (in module curated_feed.models) max_items (curated_feed.config.PolicySettings attribute) max_retries (curated_feed.config.FetchSettings attribute) (curated_feed.config.PaywallSettings attribute) MAX_RETRY_AFTER_SECONDS (in module curated_feed.fetch) max_tokens (curated_feed.claude.AnthropicScorer attribute) (curated_feed.config.ScoreSettings attribute) MIN_CONSEQUENCE (in module curated_feed.models) missing_date (curated_feed.fetch.FeedStats attribute) (curated_feed.fetch.RunSummary attribute) model (curated_feed.claude.AnthropicScorer attribute) (curated_feed.config.ScoreSettings attribute) model_config (curated_feed.config.Section attribute) (curated_feed.models.Adjustment attribute) (curated_feed.models.Candidate attribute) (curated_feed.models.DeployMeta attribute) (curated_feed.models.FeedMeta attribute) (curated_feed.models.Graded attribute) (curated_feed.models.PublishedEntry attribute) (curated_feed.models.Response attribute) (curated_feed.models.Selection attribute) (curated_feed.models.SelectionResult attribute) (curated_feed.models.Verdict attribute) module curated_feed curated_feed.claude curated_feed.cli curated_feed.config curated_feed.deploy curated_feed.export curated_feed.fetch curated_feed.models curated_feed.opml curated_feed.paywall curated_feed.policy curated_feed.render curated_feed.score curated_feed.select curated_feed.state curated_feed.template curated_feed.validate N name (curated_feed.claude.AnthropicScorer attribute) (curated_feed.deploy.Deployer attribute) (curated_feed.deploy.NullDeployer attribute) (curated_feed.deploy.WranglerDeployer attribute) (curated_feed.score.FileScorer attribute) (curated_feed.score.Scorer attribute) (curated_feed.score.StubScorer attribute) NO_SUBSTANCE (in module curated_feed.score) NO_SUMMARY (in module curated_feed.policy) NullDeployer (class in curated_feed.deploy) O OpmlError output_path (curated_feed.fetch.RunSummary attribute) output_tokens (curated_feed.claude.TokenUsage attribute) OVER_CAP (in module curated_feed.select) P PACKAGE (in module curated_feed.policy) (in module curated_feed.template) parse_opml() (in module curated_feed.opml) parse_response() (in module curated_feed.score) path (curated_feed.score.FileScorer attribute) path_prefix (curated_feed.config.PublishSettings attribute) Paths (class in curated_feed.config) paths (curated_feed.config.Config attribute) paywall (curated_feed.config.Config attribute) PAYWALL_LOG (in module curated_feed.paywall) PAYWALLED (in module curated_feed.select) PaywallSettings (class in curated_feed.config) penalties (curated_feed.models.Graded attribute) penalty (curated_feed.config.Adjustments attribute) PENALTY_PREFIX (in module curated_feed.select) policy (curated_feed.config.Config attribute) (curated_feed.config.Paths attribute) PolicySettings (class in curated_feed.config) preference (curated_feed.models.Selection attribute) (curated_feed.select.Scored attribute) preference_cap (curated_feed.config.PolicySettings attribute) probe_order() (in module curated_feed.paywall) project (curated_feed.config.DeploySettings attribute) Prompt (class in curated_feed.policy) PROMPT_FILENAME (in module curated_feed.policy) provider (curated_feed.config.DeploySettings attribute) (curated_feed.config.ScoreSettings attribute) publish (curated_feed.config.Config attribute) published_at (curated_feed.models.Candidate attribute) (curated_feed.models.PublishedEntry attribute) PUBLISHED_LOG (in module curated_feed.render) published_missing (curated_feed.models.Candidate attribute) PublishedEntry (class in curated_feed.models) PUBLISHING_STAGE (in module curated_feed.cli) PublishSettings (class in curated_feed.config) R rank (curated_feed.models.Selection attribute) rationale (curated_feed.models.PublishedEntry attribute) (curated_feed.models.Selection attribute) rationale_mode (curated_feed.config.PolicySettings attribute) read_artifact() (in module curated_feed.state) read_corpus() (in module curated_feed.state) read_documents() (in module curated_feed.policy) read_jsonl() (in module curated_feed.state) read_response() (in module curated_feed.score) read_template() (in module curated_feed.template) read_verdicts() (in module curated_feed.paywall) reason (curated_feed.models.Adjustment attribute) records_from_feed() (in module curated_feed.fetch) recurrence (curated_feed.config.Adjustments attribute) RECURRENCE (in module curated_feed.select) recurrence_cap_sources (curated_feed.config.Adjustments attribute) REFUSED (in module curated_feed.claude) rejected (curated_feed.models.SelectionResult attribute) render() (in module curated_feed.export) render_atom() (in module curated_feed.render) render_candidates() (in module curated_feed.policy) render_index() (in module curated_feed.render) render_markdown() (in module curated_feed.export) rendered_hash() (in module curated_feed.deploy) Resolution (class in curated_feed.select) resolve() (in module curated_feed.select) resolve_corpus() (in module curated_feed.state) resolve_corpus_file() (in module curated_feed.export) resolve_updated() (in module curated_feed.render) RESOURCE_READERS (in module curated_feed.validate) Response (class in curated_feed.models) RESPONSE_STAGE (in module curated_feed.score) retry_delay() (in module curated_feed.fetch) RETRY_INSTRUCTION (in module curated_feed.claude) RETRY_STATUS_CODES (in module curated_feed.fetch) ROBOTS_FILENAME (in module curated_feed.render) ROBOTS_TXT (in module curated_feed.render) run_command() (in module curated_feed.deploy) run_date (curated_feed.models.PublishedEntry attribute) (curated_feed.models.SelectionResult attribute) Runner (in module curated_feed.deploy) RUNNER_CHECKS (in module curated_feed.validate) RunSummary (class in curated_feed.fetch) (class in curated_feed.paywall) S score (curated_feed.config.Config attribute) (curated_feed.models.Selection attribute) (curated_feed.select.Scored attribute) score_day() (in module curated_feed.score) score_one() (in module curated_feed.select) Scored (class in curated_feed.select) ScoreError Scorer (class in curated_feed.score) ScoreSettings (class in curated_feed.config) Section (class in curated_feed.config) select_day() (in module curated_feed.select) selected (curated_feed.models.SelectionResult attribute) Selection (class in curated_feed.models) SELECTION_STAGE (in module curated_feed.select) SelectionResult (class in curated_feed.models) settings (curated_feed.deploy.WranglerDeployer attribute) site_url (curated_feed.config.PublishSettings attribute) skipped_duplicate (curated_feed.fetch.RunSummary attribute) skipped_no_url (curated_feed.fetch.FeedStats attribute) (curated_feed.fetch.RunSummary attribute) skipped_outside_window (curated_feed.fetch.FeedStats attribute) (curated_feed.fetch.RunSummary attribute) sort_records() (in module curated_feed.fetch) source (curated_feed.models.Candidate attribute) (curated_feed.models.PublishedEntry attribute) source_url (curated_feed.models.Candidate attribute) sources (curated_feed.config.Paths attribute) SPACE_BEFORE_PUNCTUATION (in module curated_feed.fetch) stage_argv() (in module curated_feed.cli) STAGES (in module curated_feed.cli) staleness (curated_feed.config.Adjustments attribute) STALENESS (in module curated_feed.select) staleness_hours (curated_feed.config.Adjustments attribute) state_dir (curated_feed.config.Paths attribute) StateError stub_items (curated_feed.config.ScoreSettings attribute) StubScorer (class in curated_feed.score) succeeded (curated_feed.fetch.RunSummary attribute) summary (curated_feed.models.Candidate attribute) (curated_feed.models.PublishedEntry attribute) summary_max_chars (curated_feed.config.FetchSettings attribute) summary_text() (in module curated_feed.render) T template_path() (in module curated_feed.template) timeout_seconds (curated_feed.config.DeploySettings attribute) (curated_feed.config.FetchSettings attribute) (curated_feed.config.PaywallSettings attribute) (curated_feed.config.ScoreSettings attribute) TIMESTAMP_FORMAT (in module curated_feed.models) title (curated_feed.config.PublishSettings attribute) (curated_feed.models.Candidate attribute) (curated_feed.models.PublishedEntry attribute) (curated_feed.opml.Feed attribute) to_entries() (in module curated_feed.render) TokenUsage (class in curated_feed.claude) topics (curated_feed.models.Graded attribute) (curated_feed.models.Selection attribute) TRACKING_PARAM_PREFIXES (in module curated_feed.fetch) TRACKING_PARAMS (in module curated_feed.fetch) truncate() (in module curated_feed.fetch) TRUNCATED (in module curated_feed.claude) U unaccounted (curated_feed.select.Resolution attribute) UNACCOUNTED (in module curated_feed.select) unfence() (in module curated_feed.score) UNKNOWN_DATE (in module curated_feed.policy) unpublished() (in module curated_feed.render) UNSET_RESOURCES (in module curated_feed.validate) updated (curated_feed.models.FeedMeta attribute) url (curated_feed.models.Candidate attribute) (curated_feed.models.PublishedEntry attribute) (curated_feed.models.Verdict attribute) usage (curated_feed.claude.AnthropicScorer attribute) user_agent (curated_feed.config.FetchSettings attribute) (curated_feed.config.PaywallSettings attribute) V validate_config() (in module curated_feed.validate) validate_directory() (in module curated_feed.validate) validate_path() (in module curated_feed.validate) validate_runner() (in module curated_feed.validate) value (curated_feed.models.Adjustment attribute) Verdict (class in curated_feed.models) verdict (curated_feed.models.Verdict attribute) VERDICT_FREE (in module curated_feed.models) VERDICT_PAYWALLED (in module curated_feed.models) VERDICT_UNKNOWN (in module curated_feed.models) verdicts (curated_feed.paywall.RunSummary attribute) W window (curated_feed.config.PublishSettings attribute) window() (in module curated_feed.render) with_overrides() (curated_feed.config.Config method) WORKERS_DEV (in module curated_feed.validate) wrangler_package() (in module curated_feed.deploy) WRANGLER_PACKAGE_ENV (in module curated_feed.deploy) WranglerDeployer (class in curated_feed.deploy) write_artifact() (in module curated_feed.state) write_build() (in module curated_feed.render) write_text_artifact() (in module curated_feed.state) written (curated_feed.fetch.RunSummary attribute) X xml_url (curated_feed.opml.Feed attribute)