Add published_references table with 534 compiled TrackMan values - #19
Conversation
Compiles published launch monitor reference numbers into a dedicated, citation-carrying table distinct from the study observation tables: - TrackMan PGA and LPGA tour-averages tables, classic (2010 data sheet) and updated (2023 Insights) vintages, cross-verified across multiple republications with version discrepancies recorded per row - TrackMan average-male-amateur figures (Combine-derived, 10,000+ golfers), female amateur figures, and driver speed by handicap group - TrackMan Combine benchmark scores - Press-published launch numbers for 28 named tour players, including primary TrackMan-posted rows (Anne van Dam, Charley Hull), Presidents Cup single-swing captures, season radar means (Spieth 2013-2023), and long-drive records (Berkshire 236.2 and 241.6 mph) Every row carries citation URLs, a value_type, and a confidence grade; known snippet errors found during compilation were excluded. Six new catalog sources anchor the compilation groups. Build emits database/published_references.csv and a published_references SQLite table with canonical conversions where metrics map; validation enforces enums, citations, finite values, and unique keys. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019RRnmawXtzrcRJatcGNYVZ
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: df82a72429
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if references: | ||
| _write_csv(destination / "published_references.csv", references) |
There was a problem hiding this comment.
Remove stale reference exports when no references are built
When REFERENCES is missing or contains no rows, both validation and normalization accept that as an empty optional dataset, but this branch leaves any existing published_references.csv in the output directory untouched. Rebuilding into the documented existing database directory can therefore report zero reference values and create an empty SQLite table while still exposing the previous CSV's 534 stale rows; delete the old artifact in the empty case or always regenerate a consistent empty export.
Useful? React with 👍 / 👎.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019RRnmawXtzrcRJatcGNYVZ
What Changed
published_referencestable (534 rows) compiling published launch monitor numbers from a deep web sweep, in a dedicated evidentiary class separate from the peer-reviewed observation tables:database/published_references.csvplus apublished_referencesSQLite table with canonical SI conversions where metrics map to the UpstreamDrift vocabulary; fail-closed validation of population/value-type/confidence enums, per-row citation URLs, finite values, and unique keys.Source and Rights
Every row carries its own
citation_urls(1–3 publications) and aconfidencegrade (cross_verified/single_source/anecdotal_rounded). These are compiled factual claims — quotations of individual published values, not reproductions of any publication's expression or complete presentation. Known snippet errors caught during compilation (an implausible Korda carry figure, a disputed 194 mph broadcast reading, a garbled stock-yardage list) were excluded. All six anchor sources arereference_only; DATA_LICENSE gains a section covering the compilation's rights posture and TrackMan trademark attribution. Player names appear only as already published by the cited press.Monitor, Conditions, Units, and Measurement Status
Rows record the monitor as attributed by the source (mostly TrackMan;
unstatedwhere articles don't identify the unit), the context (data sheet vintage, event, fitting, season radar), the value type (group mean, season mean, session mean, single shot, max record, stock reported, benchmark), and native units (classic tables in yards, 2023 tables in meters as TrackMan published them). Canonical conversions are emitted only where the native metric maps onto the canonical vocabulary.Validation
ruff check .python -m pytest(16 tests)launch-monitor-data validate(62 sources, 57 comparisons, 261 vendor fields, 534 reference values)🤖 Generated with Claude Code
https://claude.ai/code/session_019RRnmawXtzrcRJatcGNYVZ
Generated by Claude Code