Skip to content

plane/testdata: pin to v1.3.1; verbatim work_item_created capture + README#14

Merged
hstern merged 1 commit into
mainfrom
chore/pfb-testdata-real-captures-v1.3.1
May 24, 2026
Merged

plane/testdata: pin to v1.3.1; verbatim work_item_created capture + README#14
hstern merged 1 commit into
mainfrom
chore/pfb-testdata-real-captures-v1.3.1

Conversation

@hstern

@hstern hstern commented May 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • Replaces work_item_created.json with a verbatim Plane CE v1.3.1 webhook delivery captured from plane.stern.ca on 2026-05-24. Exercises object-form state (PFB-24), past-tense action verb (PFB-22), description/description_json/description_stripped fields the bridge ignores, and the full activity.actor object (richer than {id, display_name}).
  • Structurally normalizes the remaining fixtures (work_item_updated/deleted, comment_*) to match the real v1.3.1 envelope while keeping their synthetic UUIDs. They are awaiting verbatim captures; until then the structural pinning catches the same class of bug as PFB-22/24/25.
  • Adds internal/plane/testdata/README.md documenting the pinned Plane version, fixture provenance (verbatim vs derived), and the psql webhook_logs.request_body capture procedure for recapture across version bumps.
  • Updates the work_item_created test assertions to match the verbatim capture's content (name, sequence_id, state.ID/Name, priority, actor.display_name).

Why

PFB-22, PFB-24, and PFB-25 were all the same class of bug: hand-written synthetic testdata diverged from real Plane wire shape, CI was happy because both sides agreed on the synthetic shape, the bugs only surfaced when real Plane talked to the deployed bridge. This PR is the data half of the audit.

What's not in this PR (deliberate scope split)

Adding makeplane/plane-backend:v1.3.1 + dependencies to test/e2e-docker for real-Plane round-trip coverage is tracked as PFB-28. It's the durable structural fix (CI fails the next time Plane changes a wire shape, not production), but it's substantial enough — ~5 extra services, seed flow, ~30s of warmup per matrix leg — to warrant its own PR.

Test plan

  • make race — all packages green
  • make lint — 0 issues
  • TestParse_Fixtures exercises all five fixtures end-to-end through Parse; updated assertions for work_item_created against verbatim capture

🤖 Generated with Claude Code

…h verbatim capture

work_item_created.json is now a verbatim webhook delivery from
plane.stern.ca (2026-05-24), exercising object-form state (PFB-24),
past-tense action (PFB-22), the description_*/description_json fields
the bridge ignores, and the full activity.actor object Plane ships
beyond the {id, display_name} subset the bridge models.

The other fixtures (work_item_updated/deleted, comment_*) keep their
synthetic UUIDs but are structurally normalized to match the real
v1.3.1 envelope. README documents which fixtures are verbatim vs
structurally-derived, the capture procedure (psql webhook_logs), and
which event types still need verbatim captures.

Real-Plane-container e2e (the durable fix for testdata drift) tracked
as PFB-28.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hstern hstern merged commit 4090cb0 into main May 24, 2026
5 checks passed
@hstern hstern deleted the chore/pfb-testdata-real-captures-v1.3.1 branch May 24, 2026 04:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant