feat: Digest scrape queue — Vue SPA tab, 4 backend endpoints, link extraction #23
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Circuit-Forge/peregrine#23
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/vue-spa"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
digest_queueSQLite table + 4 FastAPI endpoints: list, add, extract-links, queue-jobs, deleteDigestView.vue— expand email, extract job links with scoring, select, queue into discovery pipelineAppNav.vuebadge on Digest tab (reactive, pre-populated on mount)InterviewCard.vue/InterviewsView.vue— reclassifying asdigestauto-adds to queueimap_sync.py— prefertext/htmlbody, strip<head>/<style>/<script>, remove 4000-char truncationTest Plan
- dev-api.py: minimal FastAPI on :8601 reading /devl/job-seeker/staging.db Endpoints: GET /api/jobs, /api/jobs/counts, POST /api/jobs/{id}/approve|reject|revert, GET /api/system/status, /api/config/user - vite.config.ts: server.proxy /api/* → localhost:8601; host: 0.0.0.0 for LAN accessfeat: digest scrape queue — browse and queue jobs from digest emailsto feat: Digest scrape queue — Vue SPA tab, 4 backend endpoints, link extractionDelete useApiFetch.ts wrapper (returned T|null) and update prep.ts and prep.test.ts to import useApiFetch from useApi.ts directly, destructuring { data, error } to match the established pattern used by all other stores.Add GET /api/vision/health, POST /api/jobs/{id}/survey/analyze, POST /api/jobs/{id}/survey/responses, and GET /api/jobs/{id}/survey/responses to dev-api.py. All 10 TDD tests pass; 549 total suite tests pass (0 regressions).- Add useProfileStore (settings/profile) with load/save, all profile fields, loading/saving/saveError state, and graceful resume sync-identity call - Add MyProfileView.vue: Identity, Mission & Values, NDA Companies, and Research Brief Preferences sections; autosave on NDA add/remove and debounced autosave (400ms) on research checkbox changes - Add GET/PUT /api/settings/profile endpoints to dev-api.py with YAML field mapping (linkedin ↔ linkedin_url, candidate_*_focus ↔ *_focus, mission_preferences dict ↔ list of {industry, note}) - 3 new store tests pass; full suite 26/26 green- add scripts/credential_store.py (keyring/file/env-ref backends, Fernet encryption) - email password stored via credential store, never returned in GET - email GET returns password_set flag; PUT accepts new password or ${ENV_VAR} ref - move integration actions to store (connectIntegration, testIntegration, disconnectIntegration) - add tier-gating UI with locked state and upgrade prompt - move subprocess/socket/imaplib/ssl imports to top levelView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.