Commit 3b23b17
feat(clone): v2 full fidelity — share replication + lookup version history
Make the cloned cloud entities match the source, including user-group sharing.
Sharing (sharing.py): extract the user/group axis mapping into reusable helpers
and add replicate_share(), generic over the write mechanism (POST /share/ or a
detail PATCH). Existing /share/-POST phases are unchanged (thin wrapper).
- lookups + agentic projects now replicate shared_to_org + shared_users
(mapped by email) via their detail PATCH; lookups have no group axis, agentic
group sharing is polymorphic/read-only and is warned, not dropped silently.
Lookups published-version replay: reproduce each source published version
(stage template + remapped adapters + that version's reference files onto the
draft, then publish in version_number order, recording a lookup_version remap),
then restore the draft to the source's current draft. Assignments now resolve
published-pinned versions via the version remap instead of being skipped.
Residual: assignment_values_snapshot is backend-derived at publish time (best
effort). Fixes list_lookup_versions to unwrap the {"versions": [...]} envelope.
Manual review: auto_approved_users remapped by email (was carried verbatim);
auto_approved_document_classes carried with a verify-on-target warning. MR rows
have no share fields (inherit workflow/org visibility).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CsGrHbs5SWmQkKqiimg6CF1 parent 7d27d4a commit 3b23b17
8 files changed
Lines changed: 978 additions & 103 deletions
File tree
- src/unstract/clone
- phases
- tests/clone
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
666 | 666 | | |
667 | 667 | | |
668 | 668 | | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
669 | 735 | | |
670 | 736 | | |
671 | 737 | | |
| |||
779 | 845 | | |
780 | 846 | | |
781 | 847 | | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
782 | 861 | | |
783 | 862 | | |
784 | 863 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
47 | 48 | | |
48 | 49 | | |
49 | 50 | | |
| |||
166 | 167 | | |
167 | 168 | | |
168 | 169 | | |
169 | | - | |
| 170 | + | |
170 | 171 | | |
171 | 172 | | |
| 173 | + | |
172 | 174 | | |
173 | 175 | | |
174 | 176 | | |
| |||
207 | 209 | | |
208 | 210 | | |
209 | 211 | | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
210 | 241 | | |
211 | 242 | | |
212 | 243 | | |
| |||
0 commit comments