PostHog / PostHog/posthog

Define update behavior for warehouse person and group property mappings

Open
#88,751 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
39.9k
Forks
3.4k
Avg merge
6h 51m
Merged PRs (30d)
232

Description

Feature request

Is your feature request related to a problem?

Warehouse-backed person and group property sources accept column_property_map and column_descriptions on create, but the update API does not accept those fields. Correcting a mapping therefore requires deleting and recreating the source and changes its identity.

Describe the solution you'd like

Allow PATCH to update column_property_map and column_descriptions for existing warehouse-backed person and group property sources.

The focused change in #89260:

  • applies the existing create-time validation and normalization
  • requires editor access to the bound warehouse object when profile mapping fields are supplied
  • preserves the source identity and saves the update under the existing row lock
  • requests the existing binding-level backfill when an enabled source's effective mapping changes
  • updates descriptions on existing property definitions without requiring a value backfill
  • keeps profile sources on the warehouse path and account sources on the account path
  • accepts null profile-only fields when an account-source GET representation is sent back through PATCH
  • avoids scheduling work for an effective no-op

Describe alternatives you've considered

Deleting and recreating the source loses its identity. Updating database fields out of band is not a supported API contract.

Additional context

Done means #89260 delivers the PATCH contract and focused regression coverage listed above.

This issue does not redesign ordering between incremental syncs and backfills, retries after activity failure, property-definition creation or provenance ownership, the UI editor, or MCP instructions. It uses the existing synchronization mechanisms rather than defining a new end-to-end orchestration contract.

Debug info
- [ ] PostHog Cloud, region and project ID: not applicable; source-level API contract gap
- [x] PostHog Hobby self-hosted with `docker compose`, version/commit: current source and implementation are tracked in #89260
- [ ] PostHog self-hosted with Kubernetes (deprecated, see `Sunsetting Kubernetes support`), version/commit: not applicable

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the focused change in #89260 and its regression coverage; the issue does not name implementation files or test paths. Done means the PATCH contract and the listed validation, access, locking, backfill, description, source-path, null-field, and no-op behaviors are covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design, data-engineering
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.