Step 2: the RG observations count and GBIF count are not matching which made me notice them.
Step 3: My license was CC-BY-NC and now CC-BY. (aka not license issue)
Step 4: As with one observation linked above as example, its very old RG observation with existing GBIF page = https://www.gbif.org/species/1710513
Step 5: Everything in those non-synced observations qualify for GBIF sync.
Step 6: Even if taking into account that syncs happen in stepwise manner, some of my observations RGed after that observation above is still synced to GBIF.
The process to send things to GBIF has multiple steps. After an observation qualifies, the next time iNat generates an export for GBIF, it will be included. This happens weekly. Then GBIF has to ingest the new export. This is also supposed to happen weekly, but iNat has no control over it. (You can see the ingestion history here.) Then once the record is in GBIF, iNat has to read back in the GBIF number to create the outlink back to GBIF. Tony said this happens monthly, but it seems like sometimes it takes longer than that.
At any rate, https://www.inaturalist.org/observations/308414953 is already in GBIF, the thing that’s missing is the outlink where iNat knows the GBIF occurrence number.
and some observations recent than this do have those outlinks properly. i will update here in few weeks if missing ones change else its a bug to check.