Skip to content

Commit a80a679

Browse files
committed
docs(roadmap): phase2 deletion-contract kickoff for #1250/#1252
1 parent 3077b36 commit a80a679

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Phase 2 Kickoff: #1250 + #1252 Deletion Contracts
2+
3+
Scope: start Phase 2 delivery for the remaining graphistrygpt helper deletions that depend on pygraphistry.
4+
5+
Upstream issues:
6+
- #1250 Declarative encode_*_from_dict constructor parity with React-side shape
7+
- #1252 Plottable.from_dataset_id(id, token) helper to fetch existing dataset metadata + bindings
8+
9+
## Deletion contracts (source of truth)
10+
11+
### #1250 contract (react_encodings helper deletion)
12+
Required upstream API outcome:
13+
- A single pygraphistry entrypoint that accepts React-side declarative encoding payloads and applies equivalent encode_* calls.
14+
- At minimum parity for keys currently consumed downstream:
15+
- encodePointColor
16+
- encodePointIcons
17+
- encodePointSize
18+
- encodeAxis
19+
20+
Success criteria:
21+
- Downstream can delete translation helpers and call one upstream method.
22+
- Roundtrip behavior matches existing per-method encode_* behavior.
23+
- Validation errors are actionable and point to exact invalid encoding key/value.
24+
25+
### #1252 contract (dataset_metadata helper deletion)
26+
Required upstream API outcome:
27+
- A direct helper to hydrate an existing dataset into a plottable-like object without re-upload.
28+
- It must hydrate bindings/encodings/metadata/style/url_params from server metadata response shape.
29+
30+
Success criteria:
31+
- Downstream can delete manual `/api/v2/upload/datasets/{id}` fetch/parsing code.
32+
- Returned object has enough metadata for axis/encoding-aware workflows.
33+
- URL generation works when dataset_id is present.
34+
35+
## PR slicing plan
36+
37+
1. Slice A (#1252 first): add `from_dataset_id` helper + tests for metadata hydration and response-shape tolerance.
38+
2. Slice B (#1250): add declarative encoding dispatcher + tests for supported React keys and strict error paths.
39+
3. Slice C: docs/changelog + explicit downstream deletion mapping.
40+
41+
## Non-goals (this kickoff PR)
42+
- No graphistrygpt repo deletions in this PR.
43+
- No broad encode API redesign beyond parity/deletion requirements.
44+
45+
## Validation checklist for implementation slices
46+
- Targeted tests for helper behavior and invalid payloads
47+
- ruff + mypy on touched modules
48+
- CI green before merge
49+

0 commit comments

Comments
 (0)