peregrine/tests
pyr0ball 104c1e8581 feat(wizard): add Vue wizard API endpoints and wizardComplete/isDemo to app config
New endpoints:
- GET  /api/wizard/status       — resume-after-refresh; returns wizard_step + saved_data
- POST /api/wizard/step         — persist step data; side effects per step
                                  (step 3: plain_text_resume.yaml, step 5: .env keys,
                                   step 6: search_profiles.yaml)
- GET  /api/wizard/hardware     — GPU detection + profile suggestion
- POST /api/wizard/inference/test — soft-fail Ollama/LLM connectivity check
- POST /api/wizard/complete     — set wizard_complete=true, apply service URLs

Updated:
- GET /api/config/app now includes wizardComplete (from user.yaml) and isDemo
  (from DEMO_MODE env) so the Vue nav guard can gate on a single config fetch

30 tests, all passing
2026-04-02 17:55:03 -07:00
..
e2e fix(e2e): cloud auth via cookie, local port, Playwright WebSocket gotcha 2026-03-17 20:01:42 -07:00
fixtures feat(linkedin): add HTML parser utils with fixture tests 2026-03-13 01:01:05 -07:00
__init__.py chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
test_app_gating.py feat: app.py checks wizard_complete flag to gate main app 2026-02-25 09:43:53 -08:00
test_backup.py feat(cloud): fix backup/restore for cloud mode — SQLCipher encrypt/decrypt 2026-03-09 22:41:44 -07:00
test_benchmark_classifier.py feat: benchmark_classifier — MODEL_REGISTRY, --list-models, --score, --compare modes 2026-02-27 06:19:32 -08:00
test_byok_guard.py test: add missing base_url edge case + clarify 0.0.0.0 marker intent 2026-03-06 14:43:45 -08:00
test_calendar_push.py feat: push interview events to connected calendar integrations (#19) 2026-03-16 21:31:22 -07:00
test_classifier_adapters.py feat: label_tool — 9 labels, wildcard Other, InvalidCharacterError fix; sync with avocet canonical 2026-02-27 14:34:24 -08:00
test_cloud_session.py fix(cloud): extract cf_session cookie by name from X-CF-Session header 2026-03-10 09:22:08 -07:00
test_company_research.py feat: extract hard-coded personal references from all scripts via UserProfile 2026-02-24 18:45:39 -08:00
test_cover_letter.py feat: add Jobgether recruiter framing to cover letter generation 2026-03-15 09:45:51 -07:00
test_cover_letter_refinement.py test: update cover letter mock signature to include user_yaml_path param 2026-04-02 17:43:01 -07:00
test_craigslist.py chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
test_db.py feat(peregrine): add cloud_session middleware + SQLCipher get_connection() 2026-03-09 19:43:42 -07:00
test_demo_toolbar.py fix(demo): remove reload antipattern, fix label consistency in demo_toolbar tests 2026-03-22 16:27:20 -07:00
test_dev_api_digest.py fix(tests): replace importlib.reload with monkeypatch.setattr for DB_PATH isolation 2026-04-01 06:58:28 -07:00
test_dev_api_interviews.py fix(tests): replace importlib.reload with monkeypatch.setattr for DB_PATH isolation 2026-04-01 06:58:28 -07:00
test_dev_api_prep.py refactor: use _get_db() pattern in get_research_brief, fix HTTPException style 2026-03-20 18:32:02 -07:00
test_dev_api_settings.py test(settings): backend tests for all settings API endpoints 2026-03-22 16:25:37 -07:00
test_dev_api_survey.py feat(survey): add 4 backend survey endpoints with tests 2026-03-21 00:09:02 -07:00
test_dev_tab.py feat: Developer tab in Settings — tier override + wizard reset button 2026-02-25 10:50:14 -08:00
test_discover.py feat: filter Jobgether listings via blocklist 2026-03-15 09:45:50 -07:00
test_e2e_helpers.py fix(tests): update mock from inner_text() to text_content() in e2e helpers 2026-03-17 20:33:55 -07:00
test_enrich_descriptions.py chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
test_feedback_api.py fix: lazy-import playwright in screenshot_page, fix SQLite connection leak in collect_listings 2026-03-03 12:45:39 -08:00
test_home_banners.py feat: dismissible setup banners on Home page (13 contextual prompts) 2026-02-25 09:53:34 -08:00
test_hooks.sh feat: commit-msg hook enforces conventional commit format 2026-03-02 19:14:31 -08:00
test_imap_sync.py fix: prefer HTML body in imap_sync, strip head/style/script, remove 4000-char truncation 2026-03-20 13:35:30 -07:00
test_integrations.py feat: 13 integration implementations + config examples 2026-02-25 08:18:45 -08:00
test_license.py feat: license.py client — verify_local, effective_tier, activate, refresh, report_usage 2026-02-25 22:53:11 -08:00
test_license_tier_integration.py feat: wire license.effective_tier into tiers.py; add dev_override priority 2026-02-25 23:05:55 -08:00
test_linkedin_parser.py feat(linkedin): add staging file parser with re-parse support 2026-03-13 10:18:01 -07:00
test_linkedin_scraper.py fix(linkedin): improve scraper error handling, current-job date range, add missing tests 2026-03-13 06:02:03 -07:00
test_linkedin_utils.py feat(linkedin): add HTML parser utils with fixture tests 2026-03-13 01:01:05 -07:00
test_llm_config_generation.py test: add ollama_research URL assertion to llm config generation test 2026-02-24 19:14:33 -08:00
test_llm_router.py feat: migrate to circuitforge-core for db, llm router, and tiers 2026-03-25 11:44:19 -07:00
test_match.py chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
test_preflight.py test: add failing tests for dual-gpu preflight additions 2026-02-27 00:11:39 -08:00
test_resume_optimizer.py feat(apply): ATS resume optimizer backend — gap report + LLM rewrite 2026-04-01 07:09:46 -07:00
test_resume_parser.py refactor: replace LLM-based resume parser with section regex parser 2026-02-26 07:34:25 -08:00
test_scrape_url.py feat: add Jobgether URL detection and scraper to scrape_url.py 2026-03-15 09:45:50 -07:00
test_suggest_helpers.py feat: add suggest_resume_keywords for skills/domains/keywords gap analysis 2026-03-05 15:00:53 -08:00
test_sync.py chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
test_task_runner.py feat(task_runner): route LLM tasks through scheduler in submit_task() 2026-03-15 04:52:42 -07:00
test_task_scheduler.py refactor(scheduler): shim to circuitforge_core.tasks.scheduler 2026-03-31 09:27:43 -07:00
test_telemetry.py feat(cloud): add compose.cloud.yml and telemetry consent middleware 2026-03-09 22:10:18 -07:00
test_ui_switcher.py refactor(ui-switcher): narrow exception handling, remove duplicate profile loads, fix test isolation 2026-03-22 16:05:53 -07:00
test_user_profile.py feat(profile): add ui_preference field (streamlit|vue, default: streamlit) 2026-03-22 15:55:38 -07:00
test_wizard_api.py feat(wizard): add Vue wizard API endpoints and wizardComplete/isDemo to app config 2026-04-02 17:55:03 -07:00
test_wizard_flow.py feat: wizard orchestrator — 7 steps, LLM generation polling, crash recovery 2026-02-25 09:10:51 -08:00
test_wizard_steps.py feat: step_integrations module with validate() + tier-filtered available list 2026-02-25 08:35:16 -08:00
test_wizard_tiers.py feat: migrate to circuitforge-core for db, llm router, and tiers 2026-03-25 11:44:19 -07:00