[bug]: plane push silently creates duplicate work items instead of updating existing ones
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 59.6k
- Forks
- 5.8k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 49
Description
Context for this and four related tickets: https://github.com/orgs/makeplane/discussions/8999
I have searched existing issues; no existing report covers this. Filing via API rather than the issue form, so the form fields (Environment, Browser, Variant, Version) are inlined below.
- Environment: Production
- Browser: Other (CLI tool)
- Variant: Cloud (tested against api.plane.so)
- Version: plane-compose 0.2.0 (note:
plane --versionself-reports0.1.0-- separate ticket forthcoming)
Current behavior
When I add a work item with an existing id (e.g. PLOC-7) to work/inbox.yaml and run plane push, Compose plans to create a new work item with a fresh sequence ID rather than update the existing one. The id field appears to be silently ignored. There is no warning, no error, and --dry-run confirms a duplicate would be created.
What I expect: push respects the id field and either updates the existing item, or fails loudly with a message like "item with id X already exists; updating existing items is not supported."
There is no documented workaround. Both plane import (referenced in the auto-generated inbox.yaml) and plane apply (referenced in the PyPI README) return No such command in 0.2.0 -- see #9000.
Steps to reproduce
pipx install plane-compose(installs 0.2.0).plane auth loginagainst an existing Plane Cloud workspace.plane clone <uuid> --workspace <slug>for any project that has at least one work item.- Open
.plane/remote/items.yaml, copy the YAML block for one existing item (call itPROJ-7) verbatim intowork/inbox.yaml. - In
work/inbox.yaml, change one property of that item (e.g.priority: medium->priority: low). Leave theid: PROJ-7field as-is. - Run
plane push --work-only --dry-run. - Observe the output -- the item is listed under "Work Items to Create", and push would create a new sequence ID rather than update
PROJ-7. Sample output from my run:
Note that theWork Items Push Plan 1 Work Items to Create ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━┳━━━━━━━━━━┳━━━━━━━━┓ ┃ Title ┃ Type ┃ Priority ┃ Labels ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━╇━━━━━━━━━━╇━━━━━━━━┩ │ Customer reference call list │ task │ low │ │ └──────────────────────────────┴──────┴──────────┴────────┘ Dry run mode - no changes appliedid: PLOC-7from inbox.yaml is absent from the plan, indicating it was ignored.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the plane push --work-only --dry-run entry point and compare .plane/remote/items.yaml with work/inbox.yaml. Reproduce the plan using an existing item such as PROJ-7, then trace how the id field is handled. Done means an existing ID updates the item or produces a clear unsupported-operation error instead of silently scheduling a duplicate.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100