- the tmdo_hp_listing_attribute_fields filter (hp_ key => type) registers a
site's HivePress listing attributes, such as a "Warranty" number attribute
(hp_warranty, 901k rows on dev36), in their own hp_listing_attrs group: a
new table with each column indexed at creation; hp_listing_core and its
pinned hash are unchanged
- keys another group manages, keys without the hp_ prefix and unknown types
are ignored
- Verify: HivePressEntityGroupsTest (opt-in, filtering, pinned hashes), unit
147, integration 53, phpcs; dev36 hp_warranty backfill and queries
- PR: PR-109
- the hp_listing_core indexes are declared only when TMDO_Schema_Manager has
ddl_allowed() (core 1.3.0+); core 1.2.0 would run the ALTER on 900k rows
inside the first request after deploy, a visitor's included, if this AddOn
were deployed first
- Verify: unit 145, integration 53, phpcs
- PR: PR-090b (found while writing the 0.4.0 notes)
- hp_listing_core declares indexes on hp_hourly_rate and hp_rating_count; core
adds them in place (WP-CLI / WP-Cron), the pinned schema hash is unchanged
- Verify: unit 145, integration 52, phpcs; dev36 902k listings (SHOW INDEX, EXPLAIN)
- PR: PR-090
- New scoped post groups for fields only the Hot zone covered (ADR-003):
hp_draft_flags (hp_listing, hp_request: hp_drafted), hp_booking_core,
hp_membership_plan_core, hp_membership_core. hp_drafted lives in one group
spanning both post types, so it adds no shared key.
- New groups register before the existing ones: the legacy (unscoped)
owner of hp_expired_time stays hp_request_core; existing hashes unchanged.
- Reconciler now also plans hp_membership rows of hp_expired_time out of
hp_request_core. dev20-22 hold 0 native rows for these keys.
- Verify: HP unit 151 / integration 49 green, phpcs clean
- PR: PR-036
- TMDO_HivePress_Entity_Groups hooks tmdo_rest_default_post_type so GET /wpdo/v1/listings keeps defaulting to hp_listing now that core defaults to 'post' (PR-020e)
- Test: TMDO_Post_Group_Reconciler::plan() over the AddOn's groups yields the 8 misrouted HivePress keys (coverage moved out of core in PR-020b)
- Verify: HP unit 148 / integration 49 OK, bootstrap smoke OK
- PR: PR-020f
- hp_listing_core / hp_request_core / hp_vendor_core declare hp_listing / hp_request / hp_vendor, matching core (PR-033), so the AddOn keeps scoped routing once core stops registering them (PR-020b)
- Test: with tmdo_post_scoped_routing on, every key of each group resolves to its own post type's group; legacy owner and hash pins unchanged
- Verify: HP unit 145 / integration 49 OK
- PR: PR-033b