list_jobs
Retrieve stored job records filtered by company, status, score, or date, with configurable sorting and limits.
Instructions
Return stored job records with optional filtering, sorting, and limiting.
Pipeline order: FILTER -> SORT -> LIMIT, expressed as WHERE/ORDER BY/ LIMIT (D9). Arguments are validated in Python BEFORE any SQL is built, so an invalid status still produces the "use one of: ..." message rather than a raw SQL error. This tool NEVER raises.
Args: since: ISO-8601 string cutoff (inclusive). status: One ApplicationStatus value, or a list to match any member. min_score: Minimum score threshold (inclusive). None scores excluded. company: Substring match against company, case-insensitive (lower() on both sides, ASCII-only — SQLite's lower() does not fold non-ASCII). This is SC-1, the release's headline query ("did I apply to Acme?") — D9. limit: Maximum number of records to return (after sort). sort_by: "analyzed_at" (default, newest first) or "score" (descending, None scores last).
Returns: ListJobsResult with success=True and filtered/sorted records on success; success=False with error_message on failure.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | No | ||
| status | No | ||
| company | No | ||
| sort_by | No | analyzed_at | |
| min_score | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| jobs | No | ||
| count | No | ||
| success | Yes | ||
| error_message | No |