LICENSE
MANIFEST.in
README.md
pyproject.toml
src/pf_core/__init__.py
src/pf_core/_extras.py
src/pf_core/alembic.py
src/pf_core/config.py
src/pf_core/doctor.py
src/pf_core/exceptions.py
src/pf_core/log.py
src/pf_core/output.py
src/pf_core/parallel.py
src/pf_core/py.typed
src/pf_core/wiring.py
src/pf_core.egg-info/PKG-INFO
src/pf_core.egg-info/SOURCES.txt
src/pf_core.egg-info/dependency_links.txt
src/pf_core.egg-info/entry_points.txt
src/pf_core.egg-info/requires.txt
src/pf_core.egg-info/top_level.txt
src/pf_core/budget/__init__.py
src/pf_core/budget/_schema.py
src/pf_core/budget/audit.py
src/pf_core/budget/check.py
src/pf_core/budget/config.py
src/pf_core/budget/repo.py
src/pf_core/budget/scheduler.py
src/pf_core/budget/snapshot_job.py
src/pf_core/cache/__init__.py
src/pf_core/cache/redis.py
src/pf_core/cli/__init__.py
src/pf_core/cli/jobs.py
src/pf_core/cli/subcommands/__init__.py
src/pf_core/cli/subcommands/_render.py
src/pf_core/cli/subcommands/baseline.py
src/pf_core/cli/subcommands/invalidate.py
src/pf_core/clients/__init__.py
src/pf_core/clients/anthropic.py
src/pf_core/clients/brave.py
src/pf_core/clients/claude_code.py
src/pf_core/clients/openrouter.py
src/pf_core/clients/routing.py
src/pf_core/db/__init__.py
src/pf_core/db/connection.py
src/pf_core/db/helpers.py
src/pf_core/db/json_compat.py
src/pf_core/db/models.py
src/pf_core/db/repository.py
src/pf_core/db/soft_delete.py
src/pf_core/db/types.py
src/pf_core/db/upsert.py
src/pf_core/db/versioned_config.py
src/pf_core/docs/INSTALLATION.md
src/pf_core/docs/alembic.md
src/pf_core/docs/anthropic.md
src/pf_core/docs/article-fetch.md
src/pf_core/docs/brave.md
src/pf_core/docs/cache.md
src/pf_core/docs/claude-code.md
src/pf_core/docs/cli-subcommands.md
src/pf_core/docs/cli.md
src/pf_core/docs/config-path.md
src/pf_core/docs/config.md
src/pf_core/docs/cost-budget.md
src/pf_core/docs/database.md
src/pf_core/docs/dates.md
src/pf_core/docs/db-upsert.md
src/pf_core/docs/doctor.md
src/pf_core/docs/env.md
src/pf_core/docs/eval-harness.md
src/pf_core/docs/exceptions.md
src/pf_core/docs/export.md
src/pf_core/docs/guards.md
src/pf_core/docs/hashing.md
src/pf_core/docs/ids.md
src/pf_core/docs/io.md
src/pf_core/docs/jobs.md
src/pf_core/docs/json-recovery.md
src/pf_core/docs/json-utils.md
src/pf_core/docs/linting.md
src/pf_core/docs/llm-admin.md
src/pf_core/docs/llm-cache.md
src/pf_core/docs/llm-parse.md
src/pf_core/docs/llm-recording.md
src/pf_core/docs/llm-safe-apply.md
src/pf_core/docs/llm-schema-validation.md
src/pf_core/docs/llm-tracked.md
src/pf_core/docs/llm-tracking.md
src/pf_core/docs/llm-validation.md
src/pf_core/docs/logging.md
src/pf_core/docs/markdown.md
src/pf_core/docs/model-router.md
src/pf_core/docs/modules.md
src/pf_core/docs/openrouter.md
src/pf_core/docs/orchestrators.md
src/pf_core/docs/output.md
src/pf_core/docs/pagination.md
src/pf_core/docs/parallel.md
src/pf_core/docs/parsers.md
src/pf_core/docs/periods.md
src/pf_core/docs/phash.md
src/pf_core/docs/pipeline.md
src/pf_core/docs/pricing.md
src/pf_core/docs/project-portability.md
src/pf_core/docs/prompts.md
src/pf_core/docs/relative-dates.md
src/pf_core/docs/scaffold.md
src/pf_core/docs/services.md
src/pf_core/docs/similarity.md
src/pf_core/docs/slugify.md
src/pf_core/docs/soft-delete.md
src/pf_core/docs/test-migration.md
src/pf_core/docs/testing.md
src/pf_core/docs/throttle.md
src/pf_core/docs/urls.md
src/pf_core/docs/versioned-config.md
src/pf_core/docs/vocab.md
src/pf_core/docs/web.md
src/pf_core/docs/recipes/batch-llm-service.md
src/pf_core/docs/recipes/critic.md
src/pf_core/docs/recipes/job-refs-bridge.md
src/pf_core/docs/recipes/self-consistency.md
src/pf_core/eval/__init__.py
src/pf_core/eval/_compare.py
src/pf_core/eval/_config.py
src/pf_core/eval/_golden.py
src/pf_core/eval/_judge.py
src/pf_core/eval/_report.py
src/pf_core/eval/_runner.py
src/pf_core/export/__init__.py
src/pf_core/export/markdown.py
src/pf_core/guards/__init__.py
src/pf_core/guards/__main__.py
src/pf_core/guards/config.py
src/pf_core/guards/layering.py
src/pf_core/guards/structure.py
src/pf_core/jobs/__init__.py
src/pf_core/jobs/_repo_steps.py
src/pf_core/jobs/_repo_util.py
src/pf_core/jobs/_repo_worker.py
src/pf_core/jobs/_schema.py
src/pf_core/jobs/registry.py
src/pf_core/jobs/repo.py
src/pf_core/jobs/runtime.py
src/pf_core/llm/__init__.py
src/pf_core/llm/_router_config.py
src/pf_core/llm/_router_loader.py
src/pf_core/llm/_router_schema.py
src/pf_core/llm/parse.py
src/pf_core/llm/prompts.py
src/pf_core/llm/recording.py
src/pf_core/llm/router.py
src/pf_core/llm/safe_apply.py
src/pf_core/llm/tracked.py
src/pf_core/llm/url_check.py
src/pf_core/llm/cache/__init__.py
src/pf_core/llm/cache/_recorder.py
src/pf_core/llm/cache/_schema.py
src/pf_core/llm/cache/config.py
src/pf_core/llm/cache/exact.py
src/pf_core/llm/cache/invalidate.py
src/pf_core/llm/tracking/__init__.py
src/pf_core/llm/tracking/_metadata.py
src/pf_core/llm/tracking/_resolvers.py
src/pf_core/llm/tracking/decorator.py
src/pf_core/llm/tracking/purge.py
src/pf_core/llm/tracking/repo.py
src/pf_core/llm/tracking/schema.py
src/pf_core/llm/tracking/stats.py
src/pf_core/llm/tracking/subrepos.py
src/pf_core/llm/validate/__init__.py
src/pf_core/llm/validate/_cross_field.py
src/pf_core/llm/validate/_jsonschema.py
src/pf_core/llm/validate/_pipeline.py
src/pf_core/llm/validate/_pydantic.py
src/pf_core/llm/validate/_registry.py
src/pf_core/llm/validate/_semantic.py
src/pf_core/orchestrators/__init__.py
src/pf_core/orchestrators/base.py
src/pf_core/parsers/__init__.py
src/pf_core/parsers/exceptions.py
src/pf_core/parsers/html.py
src/pf_core/parsers/types.py
src/pf_core/pipeline/__init__.py
src/pf_core/pipeline/baseline.py
src/pf_core/pipeline/baseline_diff.py
src/pf_core/pipeline/cache.py
src/pf_core/pipeline/resume.py
src/pf_core/pipeline/run_record.py
src/pf_core/pipeline/sequencer.py
src/pf_core/pricing/__init__.py
src/pf_core/pricing/_data.py
src/pf_core/pricing/_resolver.py
src/pf_core/pricing/_types.py
src/pf_core/services/__init__.py
src/pf_core/services/base.py
src/pf_core/testing/__init__.py
src/pf_core/testing/db_fixtures.py
src/pf_core/testing/env.py
src/pf_core/testing/fixtures.py
src/pf_core/utils/__init__.py
src/pf_core/utils/_article_extract.py
src/pf_core/utils/article_fetch.py
src/pf_core/utils/config_path.py
src/pf_core/utils/dates.py
src/pf_core/utils/env.py
src/pf_core/utils/hashing.py
src/pf_core/utils/http_tls.py
src/pf_core/utils/ids.py
src/pf_core/utils/io.py
src/pf_core/utils/json.py
src/pf_core/utils/json_recovery.py
src/pf_core/utils/periods.py
src/pf_core/utils/phash.py
src/pf_core/utils/relative_dates.py
src/pf_core/utils/similarity.py
src/pf_core/utils/slugify.py
src/pf_core/utils/throttle.py
src/pf_core/utils/url_html.py
src/pf_core/utils/url_liveness.py
src/pf_core/utils/url_parse.py
src/pf_core/utils/url_safety.py
src/pf_core/utils/urls.py
src/pf_core/utils/vocab.py
src/pf_core/web/__init__.py
src/pf_core/web/app_factory.py
src/pf_core/web/health.py
src/pf_core/web/helpers.py
src/pf_core/web/json.py
src/pf_core/web/markdown.py
src/pf_core/web/pagination.py
src/pf_core/web/rate_limit.py
src/pf_core/web/templates.py
src/pf_core/web/llm_admin/__init__.py
src/pf_core/web/llm_admin/_queries_jobs.py
src/pf_core/web/llm_admin/_queries_runs.py
src/pf_core/web/llm_admin/_queries_spend.py
src/pf_core/web/llm_admin/_queries_util.py
src/pf_core/web/llm_admin/api.py
src/pf_core/web/llm_admin/pages.py
src/pf_core/web/llm_admin/queries.py
src/pf_core/web/llm_admin/templates/base.html
src/pf_core/web/llm_admin/templates/budgets.html
src/pf_core/web/llm_admin/templates/cache.html
src/pf_core/web/llm_admin/templates/cost_by_agent.html
src/pf_core/web/llm_admin/templates/cost_by_model.html
src/pf_core/web/llm_admin/templates/dashboard.html
src/pf_core/web/llm_admin/templates/job_detail.html
src/pf_core/web/llm_admin/templates/jobs_list.html
src/pf_core/web/llm_admin/templates/macros.html
src/pf_core/web/llm_admin/templates/run_detail.html
src/pf_core/web/llm_admin/templates/runs_list.html