tasks cleanup

This commit is contained in:
2026-05-18 15:35:12 -04:00
parent 3405023e64
commit da8fad89cc

View File

@@ -44,7 +44,7 @@ title number is miletone.task with est. commits in parens
* milestone 1 — setup and scaffolding * milestone 1 — setup and scaffolding
* [x] 1.1: project scaffold (1) * [X] 1.1: project scaffold (1)
create usajobs.py, requirements.txt, .env.example, .gitignore create usajobs.py, requirements.txt, .env.example, .gitignore
** acceptance criteria ** acceptance criteria
@@ -62,7 +62,7 @@ create usajobs.py, requirements.txt, .env.example, .gitignore
- tests: ~python usajobs.py --help~ and ~python usajobs.py search --help~ both pass - tests: ~python usajobs.py --help~ and ~python usajobs.py search --help~ both pass
- datetime: [2026-05-18 Sun 15:00] - datetime: [2026-05-18 Sun 15:00]
* [x] 1.2: env validation (1) * [X] 1.2: env validation (1)
implement get_credentials() and wire startup check into search command implement get_credentials() and wire startup check into search command
** acceptance criteria ** acceptance criteria
@@ -81,7 +81,7 @@ implement get_credentials() and wire startup check into search command
* milestone 2 — api and data layer * milestone 2 — api and data layer
* [x] 2.1: build_params() (1) * [X] 2.1: build_params() (1)
construct api query dict from cli args construct api query dict from cli args
** acceptance criteria ** acceptance criteria
@@ -101,7 +101,7 @@ construct api query dict from cli args
- tests: ~--debug~ flag prints params; verified ~JobCategoryCode=2210~ returns correct results - tests: ~--debug~ flag prints params; verified ~JobCategoryCode=2210~ returns correct results
- datetime: [2026-05-18 Sun 15:00] - datetime: [2026-05-18 Sun 15:00]
* [x] 2.2: fetch_page() with caching (1) * [X] 2.2: fetch_page() with caching (1)
fetch one page from the api with disk cache fetch one page from the api with disk cache
** acceptance criteria ** acceptance criteria
@@ -120,7 +120,7 @@ fetch one page from the api with disk cache
- tests: ran twice; second run served from cache (no network calls). ~--offline~ with cache returns data. - tests: ran twice; second run served from cache (no network calls). ~--offline~ with cache returns data.
- datetime: [2026-05-18 Sun 15:00] - datetime: [2026-05-18 Sun 15:00]
* [x] 2.3: fetch_all() (1) * [X] 2.3: fetch_all() (1)
page through api results up to --limit page through api results up to --limit
** acceptance criteria ** acceptance criteria
@@ -138,7 +138,7 @@ page through api results up to --limit
- tests: ~--debug~ shows "page 1: got 132, running total 132, api reports 132 total" - tests: ~--debug~ shows "page 1: got 132, running total 132, api reports 132 total"
- datetime: [2026-05-18 Sun 15:00] - datetime: [2026-05-18 Sun 15:00]
* [x] 2.4: normalize_job() (1) * [X] 2.4: normalize_job() (1)
flatten raw api shape into a stable dict flatten raw api shape into a stable dict
** acceptance criteria ** acceptance criteria
@@ -162,7 +162,7 @@ flatten raw api shape into a stable dict
* milestone 3 — filtering * milestone 3 — filtering
* [x] 3.1: passes_filters() (1) * [X] 3.1: passes_filters() (1)
local filter predicate applied after api fetch local filter predicate applied after api fetch
** acceptance criteria ** acceptance criteria
@@ -186,7 +186,7 @@ local filter predicate applied after api fetch
* milestone 4 — display * milestone 4 — display
* [x] 4.1: render_table() (1) * [X] 4.1: render_table() (1)
print filtered results as a rich table print filtered results as a rich table
** acceptance criteria ** acceptance criteria
@@ -205,7 +205,7 @@ print filtered results as a rich table
- tests: table renders correctly in Windows terminal; "No jobs matched" shown when filters exclude all - tests: table renders correctly in Windows terminal; "No jobs matched" shown when filters exclude all
- datetime: [2026-05-18 Sun 15:00] - datetime: [2026-05-18 Sun 15:00]
* [x] 4.2: compact_job_label() (1) * [X] 4.2: compact_job_label() (1)
one-line label for questionary checkbox rows one-line label for questionary checkbox rows
** acceptance criteria ** acceptance criteria
@@ -222,7 +222,7 @@ one-line label for questionary checkbox rows
* milestone 5 — selection and export * milestone 5 — selection and export
* [x] 5.1: choose_jobs() (1) * [X] 5.1: choose_jobs() (1)
questionary checkbox prompt for export selection questionary checkbox prompt for export selection
** acceptance criteria ** acceptance criteria
@@ -241,7 +241,7 @@ questionary checkbox prompt for export selection
- tests: interactive flow needs manual terminal test — covered in 6.2 - tests: interactive flow needs manual terminal test — covered in 6.2
- datetime: [2026-05-18 Sun 15:00] - datetime: [2026-05-18 Sun 15:00]
* [x] 5.2: make_output_path() (1) * [X] 5.2: make_output_path() (1)
generate timestamped export filename or use --out generate timestamped export filename or use --out
** acceptance criteria ** acceptance criteria
@@ -260,7 +260,7 @@ generate timestamped export filename or use --out
- tests: verified filename format from two live runs with different filter combos - tests: verified filename format from two live runs with different filter combos
- datetime: [2026-05-18 Sun 15:13] - datetime: [2026-05-18 Sun 15:13]
* [x] 5.3: export_org() (1) * [X] 5.3: export_org() (1)
write selected jobs to org-mode file write selected jobs to org-mode file
** acceptance criteria ** acceptance criteria
@@ -284,7 +284,7 @@ write selected jobs to org-mode file
* milestone 6 — cli wiring and polish * milestone 6 — cli wiring and polish
* [x] 6.1: wire search command (1) * [X] 6.1: wire search command (1)
connect all options to all functions end-to-end connect all options to all functions end-to-end
** acceptance criteria ** acceptance criteria
@@ -319,3 +319,4 @@ validate filter correctness and edge cases
** evidence ** evidence
- commit: - commit:
- datetime: - datetime:
* === Backlog ===