Commit Graph
81 Commits
Author SHA1 Message Date
Ashley Childress 0a0a2855f3 fix: require an explicit opt-in before rebuilding a source from one day
FileNotFoundError means no recent release carries the asset, which is not the same as the
source never having published: a rate limit or a run of releases missing the asset reaches
the same branch and would erase the accumulated history.

- add --allow-bootstrap; without it a missing asset is now a hard failure
- plumb it through the reusable workflow, and set it for Transport Canada only, which has
  genuinely never published
- let a tolerated source that produced nothing upload nothing, rather than failing its leg
  and blocking the join a required source depends on

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 11:06:51 -04:00
Ashley Childress 9ec3c2ca48 fix: publish every per-source registry CSV, not just the joined one
Each source accumulates by reading its own previous release asset, but only the joined
registry and the FAA CSV were published. Transport Canada could therefore never find a
prior asset and would have rebuilt from a single day on every run, permanently.

- stage the joined CSV and every per-source asset into one flat directory before upload,
  so the artifact has a single root and nothing is lost to the least-common-ancestor rule
- carry the per-source CSVs into the release by glob, so a new source needs no edit here

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 11:06:51 -04:00
Ashley Childress 4c4e7052ba docs: describe the release assets the daily build actually publishes
- add the joined registry, and note that the FAA CSV it supersedes still ships
- document basic-ac-db.json.gz and mictronics-db.zip, which have been published for months
  without appearing in the README
- point at NOTICE for the redistribution terms that travel with the data

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-10 20:53:54 -04:00
Ashley Childress e3c8a0e242 fix: stop a transient error erasing the FAA release history
- narrow the fallback to FileNotFoundError and move the monotonic assert out of the try:
  a rate limit, parse error or corrupt download previously rebuilt three years of registry
  from a single day and republished it as the whole dataset
- authenticate release reads and walk back through releases, matching the Transport Canada
  reader; the FAA path was unauthenticated at 60 requests an hour on shared runner IPs
- verify downloaded asset size

This is what the matrix's required: true flag on faa claims to protect, so the flag was
advertising a guarantee the script could not keep.

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-10 20:53:54 -04:00
Ashley Childress f78fa1c3ee fix: make registry join failures visible instead of silent
- accept source ids containing digits and underscores; the previous pattern dropped
  openairframes_uk_caa_*.csv with no output, contradicting the documented promise that
  adding a source needs no change here
- reject a file whose source column disagrees with its filename, which would otherwise
  merge one registry into the union under another's label
- refuse duplicate source files, skip an empty optional source rather than aborting, and
  log every skipped file and the column names shared across sources
- correct the MIN_EXPECTED_ROWS comment, which described a 35k floor for a 1000 value

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-10 20:53:54 -04:00
Ashley Childress 10062956a4 ci: close the gaps that turned source failures into green runs
- key the reusable workflow's concurrency on the source: one shared group made the matrix
  legs cancel each other, defeating the parallelism
- resolve action versions at write time on the jobs this change adds (checkout v7,
  setup-python v7, upload-artifact v7, download-artifact v8) and add the missing
  workflow concurrency block and job-level permissions
- stage each leg's outputs into one directory so every artifact has the same root; two
  search paths moved the root to the common ancestor for some legs only, and the FAA CSV
  and zip then matched nothing downstream
- fail a leg that produced no CSV, and split the unknown-source guard out of the tolerated
  step so a matrix typo goes red
- write continue-on-error as an explicit comparison rather than relying on ! coercion
- gate the join on success rather than always, and rename its artifact so the download
  pattern cannot re-ingest it on a re-run
- delete the previous release only when it exists, so a 403 stops the run instead of
  leaving two assets that the next run reads as an ambiguous base

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-10 20:53:53 -04:00
Ashley Childress b025de6f33 ci: publish a single joined registry asset
- replace the hand-written build-faa job with a matrixed call per source, faa required and
  tc tolerated, joined once every thread has finished
- publish openairframes_registry_*.csv and keep openairframes_faa_*.csv during transition
- validate the joined registry and NOTICE as required release files
- report missing optional assets as a workflow annotation rather than a plain echo

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 21:15:11 -04:00
Ashley Childress 1bbaba909e feat: build each registry source on its own thread and join them
- add a reusable registry-source workflow so every source runs in parallel rather than as
  a hand-written job; adding a registry becomes one matrix entry plus one script
- add build_registry.py to align the per-source CSVs on the union of columns and emit a
  single table discriminated by the source column
- reindex each frame to the union before concatenating, so a source missing a column
  yields an empty cell rather than a shifted row

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 21:15:11 -04:00
Ashley Childress 2c5e8b9621 docs: cut AGENTS.md back to operative constraints
- drop narrative rationale, restated rules and background a reader can grep for
- one rule per line; the file is read by a model about to act, not by a person catching up
- 151 lines to 85

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 21:12:22 -04:00
Ashley Childress 1b6de19afb refactor: name Transport Canada columns in the FAA vocabulary
- registrant_* rather than owner_*, status rather than registration_status, so both
  registries describe the same concept with the same column name
- registrant_zip_code carries the Canadian postal code: a union table needs one column per
  concept, not one per country's vocabulary
- set source="TC", matching the discriminator the FAA frame already carries
- raises the column names shared with the FAA frame from 9 to 21

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 21:12:22 -04:00
Ashley Childress fce0b8d18c feat: redistribute Canadian owner addresses to match the FAA asset
- publish street, city, postal code and care-of, which the FAA asset already carries as
  registrant_* for 99.7% of US registrants; dropping them here left one repository with
  two different postures on the same class of data
- take the address from the single MAIL_RECIPIENT row rather than merging across parties,
  since a co-owned mark lists several people in different cities

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 21:12:00 -04:00
Ashley Childress bd78cc5b2c docs: correct licence and ownership claims in NOTICE and AGENTS.md
- stop asserting US public-domain status for the derived FAA CSV; section 105 covers the
  government's own work, not this repository's derivative
- name no licence instrument for Transport Canada, which does not publish one on the
  download page, rather than citing one that cannot be verified
- state that MIT covers code only, resolving a contradiction with AGENTS.md
- lead the source-eligibility rule with the bilateral-permission bar; Taiwan is OGDL
  licensed and excluded for that reason, not for commercial terms

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 21:12:00 -04:00
Ashley Childress 9a1b828d3c fix: stop a failed Transport Canada build from erasing release history
- fall back to a single-day rebuild only on FileNotFoundError; a rate limit, schema change
  or truncated download previously took the same path and republished one day as the whole
  dataset, which the next run then read back as its base
- move the monotonic download_date assert out of the try so corruption cannot select the
  destructive branch
- walk back through releases like the ADS-B reader, so one missing optional asset does not
  strand the accumulation
- authenticate release reads and verify downloaded asset size
- read the previous CSV with keep_default_na=False so literal NA values round-trip
- write the download atomically and reject non-zip responses

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 21:12:00 -04:00
Ashley Childress f5423724bc fix: validate the CCARCS parse and correct owner aggregation
- reject Mode S fields that are not 24 binary digits; a short field zero-padded into a
  plausible address belonging to a different aircraft
- check the "N rows selected." footer against the parsed row count and enforce a row floor,
  so an upstream short export fails instead of publishing as a smaller register
- prefer ACTIVE_FLAG "A" parties but fall back to all: 1,932 Registered marks carry only "I"
  rows, and those are the MAIL_RECIPIENT, so filtering on "A" alone drops real owners
- count distinct owner names rather than rows, fixing 154 marks labelled Co-owner in error
- match the spool footer by pattern instead of a brittle ragged-row count

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 21:12:00 -04:00
Ashley Childress 705a97690f docs: record the attribution and redistribution rules in AGENTS.md
- attribution is a licence condition and NOTICE must travel with release assets
- a public licence travels to this project; a bilateral permission does not
- non-commercial-only registries are incompatible with the MIT-licensed releases

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 21:12:00 -04:00
Ashley Childress 2711b2d0f8 feat: build a daily Transport Canada aircraft register release
- parse the headerless latin1 CCARCS export against its declared column layout
- derive transponder_code_hex from the 24-bit Mode S binary, populated for all 34,913 rows
- expand marks to C- and vintage CF- registrations and drop owner mailing addresses
- mirror the FAA build: same concat-with-latest-release dedup and output conventions

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 21:11:59 -04:00
Ashley Childress a735616201 docs: add NOTICE for redistributed data source terms
- carry the two Government of Canada notices the open licence requires verbatim
- record FAA public-domain provenance and unassessed third-party republished assets
- LICENSE covers code only; release data carries its own conditions

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 21:11:59 -04:00
JG fbe8eafd7c Merge pull request #69 from anchildress1/chore/agent-docs-and-small-fixes
Fix a shell-injection in the submission workflow, plus correctness fixes and agent docs
2026-08-31 19:56:11 -04:00
Ashley Childress e0725bde52 docs: add AGENTS.md with CLAUDE.md pointing at it
- record only what the repo cannot reveal on inspection: intent, traps, prohibitions
- cover injection rules, invocation modes, silent-corruption couplings and dead paths
- flag warts that need an owner decision rather than a silent fix

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 17:46:42 -04:00
Ashley Childress df4a65e5c4 docs: correct comments that contradict the code
- part id is 0-indexed in both --help and the loader docstring, matching the matrix
- daily release cron comment said 6:00pm while the expression fires at 06:00 UTC

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 17:46:42 -04:00
Ashley Childress 6a6dc090bd chore: remove dead combine_historical_faa module
- module called an undefined master_txt_to_releasable_csv and could never run
- nothing in the repo imported or referenced it

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 17:46:42 -04:00
Ashley Childress f16ff3f4fd fix: open community PRs against the repository default branch
- query the repo for its default branch instead of assuming main
- use that branch as both the fork point and the pull request base

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 17:46:42 -04:00
Ashley Childress ba97448365 fix: resolve the community schema version at runtime
- write through get_schema_path() instead of a literal v1 filename
- drop the unreferenced SCHEMA_PATH backwards-compatibility shim
- widen the community PR trigger to schemas/** so a version bump still fires it

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 17:46:42 -04:00
Ashley Childress 3023c5015e fix: exit non-zero when the ADS-B concat step produces nothing
- fail when no parquet parts exist and --concat_with_latest_csv is not set
- keep the fallback path that re-releases the latest CSV when adsb.lol is late
- correct a log line that reported "no parquet files" on the populated branch

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 17:46:42 -04:00
Ashley Childress bcbd9f2985 refactor: define the released ADS-B column order in one place
- replace two independent copies with FINAL_COLUMN_ORDER
- polars concatenates by position, so a forked copy corrupted releases silently

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 17:46:42 -04:00
Ashley Childress d26535a2bc fix: treat HTTP 404 as terminal when listing adsb.lol releases
- stop retrying a nonexistent repo 10 times at 5-minute intervals
- cut the dead-end Dec-31 next-year probe from ~45 minutes to under a second
- leave 403, 429, 5xx and network errors on the existing retry path

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 17:46:42 -04:00
Ashley Childress f228d16c60 fix: pass issue body through env instead of a shell heredoc
- prevent command injection from a crafted issue body closing the heredoc early
- drop the debug step that echoed untrusted input for no operational value
- read body and issue number from env in the community validation workflow

Generated-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 17:46:41 -04:00
JG 68cc4d89b3 Merge pull request #46 psimpson routes
add psimpson routes
openairframes-2026-08-10-main openairframes-2026-08-10-develop openairframes-2026-05-27-main openairframes-2026-05-27-develop openairframes-2026-05-30-main openairframes-2026-05-30-develop openairframes-2026-08-06-main openairframes-2026-08-06-develop openairframes-2026-08-09-main openairframes-2026-08-09-develop openairframes-2026-08-11-main openairframes-2026-08-11-develop openairframes-2026-05-31-main openairframes-2026-05-31-develop openairframes-2026-08-12-main openairframes-2026-08-12-develop openairframes-2026-05-28-main openairframes-2026-05-28-develop openairframes-2026-08-07-main openairframes-2026-08-07-develop openairframes-2026-06-01-main openairframes-2026-06-01-develop openairframes-2026-08-08-main openairframes-2026-08-08-develop openairframes-2026-08-13-main openairframes-2026-08-13-develop openairframes-2026-08-14-main openairframes-2026-08-14-develop openairframes-2026-06-22-main openairframes-2026-06-22-develop openairframes-2026-06-30-main openairframes-2026-06-30-develop openairframes-2026-06-06-main openairframes-2026-06-06-develop openairframes-2026-08-15-main openairframes-2026-08-15-develop openairframes-2026-06-02-main openairframes-2026-06-02-develop openairframes-2026-06-16-main openairframes-2026-06-16-develop openairframes-2026-06-11-main openairframes-2026-06-11-develop openairframes-2026-06-23-main openairframes-2026-06-23-develop openairframes-2026-06-07-main openairframes-2026-06-07-develop openairframes-2026-06-17-main openairframes-2026-06-17-develop openairframes-2026-08-16-main openairframes-2026-08-16-develop openairframes-2026-06-03-main openairframes-2026-06-03-develop openairframes-2026-07-01-main openairframes-2026-05-26-develop openairframes-2026-07-01-develop openairframes-2026-06-12-main openairframes-2026-06-12-develop openairframes-2026-06-18-main openairframes-2026-06-18-develop openairframes-2026-07-02-main openairframes-2026-07-02-develop openairframes-2026-07-11-main openairframes-2026-07-11-develop openairframes-2026-07-13-develop openairframes-2026-08-17-develop openairframes-2026-06-04-main openairframes-2026-06-04-develop openairframes-2026-06-08-main openairframes-2026-06-08-develop openairframes-2026-06-24-main openairframes-2026-06-24-develop openairframes-2026-07-03-main openairframes-2026-07-03-develop openairframes-2026-07-10-main openairframes-2026-07-10-develop openairframes-2026-07-14-main openairframes-2026-07-14-develop openairframes-2026-08-17-main openairframes-2026-07-12-main openairframes-2026-07-12-develop openairframes-2026-07-13-main openairframes-2026-06-25-main openairframes-2026-06-25-develop openairframes-2026-06-05-main openairframes-2026-06-05-develop openairframes-2026-06-26-main openairframes-2026-06-26-develop openairframes-2026-07-04-main openairframes-2026-07-04-develop openairframes-2026-06-13-main openairframes-2026-06-13-develop openairframes-2026-08-18-main openairframes-2026-08-18-develop openairframes-2026-06-19-main openairframes-2026-06-19-develop openairframes-2026-07-15-main openairframes-2026-07-15-develop openairframes-2026-06-27-main openairframes-2026-06-27-develop openairframes-2026-07-05-main openairframes-2026-07-05-develop openairframes-2026-06-09-main openairframes-2026-06-09-develop openairframes-2026-06-14-main openairframes-2026-06-14-develop openairframes-2026-06-20-main openairframes-2026-06-20-develop openairframes-2026-08-19-main openairframes-2026-08-19-develop openairframes-2026-06-28-main openairframes-2026-06-28-develop openairframes-2026-07-06-main openairframes-2026-07-06-develop openairframes-2026-07-16-main openairframes-2026-07-16-develop openairframes-2026-06-29-main openairframes-2026-06-29-develop openairframes-2026-06-10-main openairframes-2026-06-10-develop openairframes-2026-06-21-main openairframes-2026-06-21-develop openairframes-2026-07-07-main openairframes-2026-07-07-develop openairframes-2026-06-15-main openairframes-2026-06-15-develop openairframes-2026-07-08-main openairframes-2026-07-08-develop openairframes-2026-08-21-main openairframes-2026-08-21-develop openairframes-2026-08-22-develop openairframes-2026-08-20-develop openairframes-2026-07-09-main openairframes-2026-07-09-develop openairframes-2026-07-17-develop openairframes-2026-07-17-main openairframes-2026-08-23-main openairframes-2026-08-23-develop openairframes-2026-07-18-main openairframes-2026-07-18-develop openairframes-2026-07-20-main openairframes-2026-07-20-develop openairframes-2026-08-20-main openairframes-2026-07-28-main openairframes-2026-07-28-develop openairframes-2026-08-22-main openairframes-2026-08-24-main openairframes-2026-07-19-main openairframes-2026-07-19-develop openairframes-2026-07-21-main openairframes-2026-07-21-develop openairframes-2026-08-24-develop openairframes-2026-08-25-main openairframes-2026-08-25-develop openairframes-2026-08-26-main openairframes-2026-08-26-develop openairframes-2026-08-27-develop openairframes-2026-08-01-main openairframes-2026-08-01-develop openairframes-2026-08-27-main openairframes-2026-07-22-main openairframes-2026-07-22-develop openairframes-2026-07-29-main openairframes-2026-07-29-develop openairframes-2026-07-31-main openairframes-2026-07-31-develop openairframes-2026-08-28-main openairframes-2026-08-28-develop openairframes-2026-07-23-main openairframes-2026-07-23-develop openairframes-2026-07-30-main openairframes-2026-07-30-develop openairframes-2026-08-29-main openairframes-2026-08-29-develop openairframes-2026-08-02-main openairframes-2026-08-02-develop openairframes-2026-07-24-main openairframes-2026-07-24-develop openairframes-2026-08-03-main openairframes-2026-08-03-develop openairframes-2026-08-30-main openairframes-2026-08-30-develop openairframes-2026-07-25-main openairframes-2026-07-25-develop openairframes-2026-08-31-main openairframes-2026-08-31-develop openairframes-2026-08-04-main openairframes-2026-08-04-develop openairframes-2026-07-26-main openairframes-2026-07-26-develop openairframes-2026-09-01-main openairframes-2026-09-01-develop openairframes-2026-08-05-main openairframes-2026-08-05-develop openairframes-2026-07-27-main openairframes-2026-07-27-develop openairframes-2026-09-02-main openairframes-2026-09-02-develop openairframes-2026-09-03-develop openairframes-2026-09-03-main openairframes-2026-09-04-main openairframes-2026-09-04-develop openairframes-2026-05-26-main openairframes-2026-09-05-develop openairframes-2026-09-05-main openairframes-2026-05-29-main openairframes-2026-05-29-develop
2026-05-25 18:59:28 -04:00
ggman12 b653c3a844 add psimpson routes 2026-05-25 18:54:57 -04:00
JG 2829e5fb6e Merge pull request #35 from PlaneQuery/develop
update readme.md
openairframes-2026-04-05-main openairframes-2026-04-19-main openairframes-2026-04-19-develop openairframes-2026-04-05-develop openairframes-2026-04-21-main openairframes-2026-04-21-develop openairframes-2026-04-18-main openairframes-2026-04-18-develop openairframes-2026-05-02-main openairframes-2026-05-02-develop openairframes-2026-04-06-main openairframes-2026-04-27-main openairframes-2026-04-27-develop openairframes-2026-05-07-main openairframes-2026-05-07-develop openairframes-2026-04-06-develop openairframes-2026-04-12-main openairframes-2026-04-12-develop openairframes-2026-04-20-main openairframes-2026-04-20-develop openairframes-2026-05-03-main openairframes-2026-05-03-develop openairframes-2026-05-08-main openairframes-2026-05-08-develop openairframes-2026-04-22-main openairframes-2026-04-22-develop openairframes-2026-04-28-main openairframes-2026-04-28-develop openairframes-2026-04-13-main openairframes-2026-04-13-develop openairframes-2026-05-04-main openairframes-2026-05-04-develop openairframes-2026-05-09-main openairframes-2026-05-09-develop openairframes-2026-05-05-main openairframes-2026-05-05-develop openairframes-2026-04-14-main openairframes-2026-04-14-develop openairframes-2026-04-29-main openairframes-2026-04-29-develop openairframes-2026-05-10-main openairframes-2026-05-10-develop openairframes-2026-04-07-main openairframes-2026-04-07-develop openairframes-2026-04-15-main openairframes-2026-04-15-develop openairframes-2026-05-11-main openairframes-2026-05-11-develop openairframes-2026-04-16-main openairframes-2026-04-16-develop openairframes-2026-04-08-main openairframes-2026-04-30-main openairframes-2026-04-30-develop openairframes-2026-05-12-main openairframes-2026-05-12-develop openairframes-2026-04-08-develop openairframes-2026-04-17-main openairframes-2026-04-17-develop openairframes-2026-05-01-main openairframes-2026-05-01-develop openairframes-2026-05-13-main openairframes-2026-05-13-develop openairframes-2026-05-14-main openairframes-2026-05-14-develop openairframes-2026-04-09-main openairframes-2026-04-09-develop openairframes-2026-05-15-main openairframes-2026-05-15-develop openairframes-2026-05-16-develop openairframes-2026-04-10-main openairframes-2026-05-17-develop openairframes-2026-04-10-develop openairframes-2026-05-17-main openairframes-2026-05-16-main openairframes-2026-05-18-main openairframes-2026-05-18-develop openairframes-2026-04-11-main openairframes-2026-05-19-main openairframes-2026-05-19-develop openairframes-2026-04-11-develop openairframes-2026-05-20-main openairframes-2026-05-20-develop openairframes-2026-05-21-main openairframes-2026-05-21-develop openairframes-2026-05-22-main openairframes-2026-05-22-develop openairframes-2026-05-23-main openairframes-2026-05-23-develop openairframes-2026-05-24-main openairframes-2026-05-24-develop openairframes-2026-05-25-main openairframes-2026-05-25-develop openairframes-2026-04-23-main openairframes-2026-04-23-develop openairframes-2026-03-19-develop openairframes-2026-03-19-main openairframes-2026-03-20-main openairframes-2026-03-20-develop openairframes-2026-03-21-main openairframes-2026-03-21-develop openairframes-2026-04-24-main openairframes-2026-03-22-main openairframes-2026-03-22-develop openairframes-2026-04-24-develop openairframes-2026-03-23-main openairframes-2026-03-23-develop openairframes-2026-03-24-main openairframes-2026-03-24-develop openairframes-2026-03-25-main openairframes-2026-03-25-develop openairframes-2026-03-26-develop openairframes-2026-03-26-main openairframes-2026-03-27-develop openairframes-2026-03-27-main openairframes-2026-03-28-develop openairframes-2026-03-28-main openairframes-2026-03-29-develop openairframes-2026-03-29-main openairframes-2026-03-30-develop openairframes-2026-03-30-main openairframes-2026-03-31-main openairframes-2026-03-31-develop openairframes-2026-04-25-main openairframes-2026-04-25-develop openairframes-2026-04-01-main openairframes-2026-04-01-develop openairframes-2026-04-02-main openairframes-2026-04-02-develop openairframes-2026-04-03-main openairframes-2026-04-03-develop openairframes-2026-04-04-main openairframes-2026-04-04-develop openairframes-2026-04-26-main openairframes-2026-04-26-develop
2026-03-18 14:31:29 -04:00
ggman12 9c744b0baf update readme.md 2026-03-18 14:29:13 -04:00
JG ebda04767f Merge pull request #34 from PlaneQuery/develop
Develop to main: theairtraffic google sheet
openairframes-2026-03-11-main openairframes-2026-03-17-main openairframes-2026-03-17-develop openairframes-2026-03-16-main openairframes-2026-03-16-develop openairframes-2026-03-15-main openairframes-2026-03-15-develop openairframes-2026-03-14-main openairframes-2026-03-14-develop openairframes-2026-03-13-main openairframes-2026-03-13-develop openairframes-2026-03-12-main openairframes-2026-03-12-develop openairframes-2026-03-18-main openairframes-2026-03-18-develop
2026-03-10 05:12:11 -04:00
ggman12 3fdf443894 add russia_ukraine 2026-03-10 05:08:19 -04:00
ggman12 24313603c5 works 2026-03-10 05:08:19 -04:00
JG 2bb0a5eac3 Merge pull request #33 from PlaneQuery/develop
Develop to Main: Handle ADSB when ADSB.lol has not released any data for day. Just rerelease latest adsb
openairframes-2026-03-05-main openairframes-2026-03-04-main openairframes-2026-03-07-main openairframes-2026-03-10-main openairframes-2026-03-10-develop openairframes-2026-03-09-main openairframes-2026-03-09-develop openairframes-2026-03-08-main openairframes-2026-03-08-develop openairframes-2026-03-07-develop openairframes-2026-03-06-main openairframes-2026-03-06-develop openairframes-2026-02-26-main openairframes-2026-02-27-develop openairframes-2026-02-27-main openairframes-2026-02-28-develop openairframes-2026-02-28-main openairframes-2026-03-01-develop openairframes-2026-03-01-main openairframes-2026-03-02-develop openairframes-2026-03-02-main openairframes-2026-03-03-develop openairframes-2026-03-03-main openairframes-2026-03-04-develop openairframes-2026-03-05-develop
2026-02-26 15:32:59 -05:00
ggman12 b54f33aa56 Handle ADSB when ADSB.lol has not released any data for day. Just rerelease latest adsb 2026-02-26 15:31:47 -05:00
JG 2dda3d341c Merge pull request #32 from PlaneQuery/develop
Develop to Main: Fix Community Submission export. Fix CSV concatenation logic to prevent duplicates when there is no new ADSB.lol data.
openairframes-2026-02-25-develop openairframes-2026-02-26-develop openairframes-2026-02-25-main
2026-02-24 15:37:54 -05:00
ggman12 b0526f0a95 Fix Community Submission export. Fix CSV concatenation logic to prevent duplicates when there is no new ADSB.lol data. 2026-02-24 15:36:10 -05:00
JG 4b6a043a9d Merge pull request #31 from PlaneQuery/develop
Develop to Main Fix adsb asset retrival to be more fault tolerant. Fix download issue
2026-02-24 02:17:08 -05:00
ggman12 55c464aad7 Fix adsb asset retrival to be more fault tolerant. Fix download issue for 2024-07-03 2026-02-24 02:12:55 -05:00
ggman12 aa509e8560 attempt to fix download issue for 2024-07-03 2026-02-19 17:51:49 -05:00
ggman12 82d11d8d24 try less strict tar extract for 2025-10-15 and other days that fail openairframes-2026-02-20-develop openairframes-2026-02-24-develop openairframes-2026-02-21-main openairframes-2026-02-24-main openairframes-2026-02-19-main openairframes-2026-02-23-main openairframes-2026-02-23-develop openairframes-2026-02-22-main openairframes-2026-02-22-develop openairframes-2026-02-21-develop openairframes-2026-02-20-main 2026-02-19 00:20:03 -05:00
ggman12 76a217ad14 src/contributions/approve_submission.py handle big json files 2026-02-18 23:18:19 -05:00
ggman12 ec2d1a1291 update download.sh 2026-02-18 23:18:19 -05:00
ggman12 97284c69a9 verify downlaod asssets 2026-02-18 23:18:19 -05:00
JG 892ffa78af Merge pull request #28 from PlaneQuery/community-submission-27
Community submission: ggman12_2026-02-18_5ddbb8bd.json
2026-02-18 17:18:49 -05:00
github-actions[bot] f77a91db2c Update schema with new tags: manufacturer_icao, manufacturer_name, model, type_code, serial_number, icao_aircraft_type, operator, operator_callsign, operator_icao, citation_0 2026-02-18 22:18:12 +00:00
github-actions[bot] b3bd654998 Add community submission from @ggman12 (closes #27) 2026-02-18 22:18:12 +00:00
ggman12 302be8b8dc update checker for arrays issue 2026-02-18 17:11:14 -05:00
ggman12 b61dc0f5e5 provide more error 2026-02-18 17:08:43 -05:00