-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Upstream Change Summary
Type: architectural-change
Difficulty: Medium
Recommendation: Adopt
Upstream introduced "attachment providers" for target states in rust/core/src/engine/target_state.rs. This is an architectural extension to the target state subsystem (which already tracks destructive/lossy changes per upstream PR #1736, tracked in recoco as #36). Attachment providers allow targets to supply additional state metadata during execution.
Upstream References
- PR: feat: support attachment providers for target states cocoindex-io/cocoindex#1745
- Release: v1.0.0-alpha27
- Upstream repo: https://github.com/cocoindex-io/cocoindex
Relevant Upstream Files / Areas
rust/core/src/engine/target_state.rs— attachment provider trait and integrationrust/py/src/target_state.rs— Python binding layer (exclude from recoco)
Recoco Considerations
- Maps to
crates/recoco-coreengine/target_state module - Exclude the Python binding (
rust/py/src/target_state.rs) entirely - This builds on the target states work tracked in [upstream-sync] Track destructive and lossy changes for target states (alpha25 architectural change) #36 — should be integrated after or alongside that work
- Review whether this affects the public
ops::interfacetrait definitions for targets - Consider if this should be exposed in recoco's public target connector API
Integration Notes
This is part of a larger set of target state architectural changes in the v1 alpha series. Related upstream changes include #1739 (reprocessing on target_id/schema_version) and #1740 (child_invalidation on all targets) — both of which are Python-connector-only but conceptually related. This specific change has Rust core impact and should be adopted.