CivicTechTO / CivicTechTO/toronto-bids
Pre-2019 committee-decided large awards (266, ≥$500K, 2013-2018) with no captured bids — older tier of #164
- Dominant language
- Python
- Stars
- 7
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
_From the #163 zero-bid accounting, after #165. The older-era analog of #164._
## The gap
**266 awarded solicitations, 2013-2018, each ≥$500K, still have zero captured bids — and their winning supplier is absent from every captured Bid Award Panel / Bid Committee agenda.** So unlike the recall tail (#166), a matching council item almost certainly does **not** exist in our corpus: these large awards never went to the Bid Award Panel.
## Why they're missing
Awards above the panel's delegation ceiling were decided by **Council or a Standing Committee** — even in the 2013-2018 era. The archive mines only BA/BD agendas (the 891 cached pages), so these never enter the bid corpus. This is exactly #164's mechanism, one era earlier and at a smaller dollar tier (≥$500K rather than the modern ≥$3M mega-awards).
## Suggested direction
Same as #164 (and best solved together): identify large pre-2019 awards with no captured bids and no panel agenda, locate their committee decision + staff report on legdocs (plain HTTP), and parse the bid table (a new parser; committee reports differ from BA agendas — validate against real reports). Some will be genuine emergency/sole-source (no bids by nature) and must be refused.
**Consider folding into #164** as "extend the committee bid-capture back to 2013" rather than a separate build — one committee-report source covers both tiers.
Related: #164 (modern mega-awards), #166 (recall tail), #163 (accounting).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing #164, #166, and #163, then inspect the existing Bid Award/BA agenda capture and the 891 cached pages. Use plain HTTP against legdocs to locate pre-2019 Council or Standing Committee decisions and staff reports, and compare real committee reports with BA agendas before defining a parser. Done means captured bid tables for eligible awards, with emergency or sole-source cases explicitly refused, and a decision on folding this into #164.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100