* api(jobs): normalize PATCH /jobs/:id response contract and error mapping
* api(jobs): support core job detail edits in update schema
* feat(client): add JobDetailsEditDrawer with core metadata form
* feat(orchestrator): open edit drawer from JobDetailPanel more actions
* feat(orchestrator): add edit drawer trigger to ready and discovered more actions
* feat(api): add lightweight jobs list view without pagination
* refactor(client): use lightweight jobs list and on-demand job detail
* refactor(ui): separate job list rows from full job detail
* perf(home): reduce jobs payload to applied lightweight rows
* perf(db): add safe composite index for jobs list queries
* feat(api): default jobs endpoint to lightweight list view
* style: apply biome formatting for jobs list-view changes
* feat(api): add jobs revision endpoint for lightweight change detection
* refactor(client): switch jobs auto-refresh to revision checks
* perf(client): drive pipeline freshness via sse with polling fallback
* refactor(orchestrator): remove pipeline status polling loop from page
* chore(client): add periodic safety refresh and refresh lifecycle hardening
* refactor(types): define JobListItem via Pick<Job> to prevent drift
* initial commit
* use colours!
* match by scoring
* scroll job card into view
* introduce @ based 'locks' to restrict search to specific statuses
* clear lock states on close
* split up component
* inline pill
* resuse job row content
* fix intro anim
* larger size, instruction
* refactor existing search feature
* lock colour border
* if active, clear active on escape
* remove query param
* documenration update
* scoring logic
* check exists before scroll
* status dot and checkbox occupy the same space!
* feat(shared): centralize supported country list and source-country rules
* feat(orchestrator): add country selector and UK-only source gating in automatic run modal
* feat(orchestrator): persist country selection and run only compatible extractors
* fix(pipeline): enforce country-source compatibility during discovery
* test(orchestrator): cover country-based source gating and pipeline enforcement
* formatting
* test fix
* lint
* comments
* prevent auto focus grab
* verification
* command and popover
* make sure scroll is working
* initial commit
* accordionising
* merge extra cards
* visual highlight
* everybody becomes an accordion
* bugbashing
* text area
* split up tailoring editor
* feat: enhance `parseTailoredSkills` to support legacy string arrays and add comprehensive tests for parsing logic.
* feat(orchestrator): add unified run modal shell with Automatic/Manual tabs
* feat(orchestrator): implement Automatic tab presets, estimate, and save+run flow
* refactor(manual-import): reuse manual import flow inside unified run modal
* refactor(settings): move pipeline tuning out of settings page into run modal
* stage 5
* jobs per term simplified
* copy improvement
* pill input
* better UI
* style(orchestrator): align run settings inputs on one row
* style(orchestrator): remove hover and pointer affordance from term pills
* style(orchestrator): restore hover and pointer affordance for term pills
* style(orchestrator): make search term pill hover more prominent
* better hover
* refactor(orchestrator): use react-hook-form in automatic run panel
* formatting
* fix(orchestrator): resolve biome issues in automatic run modal
* better copy
* feat(orchestrator): auto-select custom preset on manual config changes
* remove badge
* feat(orchestrator): redesign automatic run panel with collapsible advanced settings
* refactor(orchestrator): move estimate summary to footer and dedupe sources
* style(orchestrator): separate search term input from term pills
* style(orchestrator): remove save preset action from automatic footer
* ux(orchestrator): make entire search term pill tap-to-remove
* remove badge
* remove badge
* fix(orchestrator): return zero estimate when search terms are empty
* initial commit
* test fix
* manual test
* copilot comments
* code quality skill
* comments
* fix types problem
* formatting
* tests now correct for new backup method
* UTC dates
* feat(types): add jobspyIsRemote to TypeScript type definitions
- Add jobspyIsRemote boolean fields to AppSettings interface
- Follow three-field pattern: value, default, override
- Update test fixture with default values (false)
* feat(validation): add jobspyIsRemote validation schema
Add Zod validation schema for jobspyIsRemote boolean setting to ensure type safety in the settings API endpoint.
* feat(db): add jobspyIsRemote to database repository setting keys
* feat(api): add jobspyIsRemote storage to settings API route
* feat(service): add jobspyIsRemote to settings service with environment variable support
* feat(jobspy): add isRemote parameter to JobSpy service interface
* feat(pipeline): pass isRemote setting to JobSpy service
* feat(python): add is_remote parameter to JobSpy scraper script
* feat(ui): add Remote Jobs checkbox to JobSpy settings
* feat(ui): add Remote badge to job display
- Display Remote badge when job.isRemote === true
- Position badge next to Source badge in JobHeader
- Use Badge component with outline variant
- Badge does not display when isRemote is false or null
* docs(env): add JOBSPY_IS_REMOTE environment variable documentation
- Added JobSpy section to .env.example with JOBSPY_IS_REMOTE variable
- Documents remote-only job filtering option with default value of 0 (disabled)
- Follows existing .env.example format with clear section headers and descriptions
* test(remote-jobs): verify end-to-end functionality with comprehensive feedback loops
* initial commit
* fix build issues and configurable time duration
* show in nav
* Positive response rate by posting freshness
* load today's jobs for charts
* fix infinite refetching with onboarding gate
* application to response rate
* refactor charts to their own directory
* bar hover color
* Duration selector embedded in navbar
* always load env
* remove warning about low conversion rate
* trend graph for applications per day
* better copy
* remove freshness response chart
* bottom line chart color and tooltip improved
* introduce check all command
* fix lint
* tests added and CI passing
* backend initial commit
* frontend initial commit
* better copy
* make lmstudio work
* enum of providers
* better error messages
* llm model settings stay in one place
* llm settings should be under the model accordion
* skip llm key step in onboarding if provider is set to local
* onboarding now factors in new llm provider flow
* fix tests
* fix typecheck