Context
Tracking issue for applying the shared materialization policy from #194 to chat/collaboration adapters where channel/message history sync is expensive.
Umbrella: #195
Candidate adapters
These should only expose materialization config if the adapter has a bulk/history sync path where lazy channel/team defaults avoid substantial work.
Suggested provider shapes
- Slack: targets such as workspaces/channels, resources such as messages/replies/reactions/users depending on current sync support.
- Teams: targets such as teams/channels/chats, resources such as messages/replies/members depending on current sync support.
Exact names should follow existing canonical paths and adapter config vocabulary.
Acceptance criteria
- Use adapter-core shared materialization utilities.
- Preserve existing eager/default behavior.
- Add provider-specific webhook lazy opt-out names if needed, e.g. webhookWritesForLazyChannels.
- Avoid applying issue-style filters if provider APIs do not support them; define provider-appropriate filters such as since, channel type, archived state, or membership when available.
- Tests cover channel/team exact and glob matching, lazy default, eager selected channel/team, incremental history cursor, and webhook behavior.
- README documents what is and is not materialized lazily.
Context
Tracking issue for applying the shared materialization policy from #194 to chat/collaboration adapters where channel/message history sync is expensive.
Umbrella: #195
Candidate adapters
These should only expose materialization config if the adapter has a bulk/history sync path where lazy channel/team defaults avoid substantial work.
Suggested provider shapes
Exact names should follow existing canonical paths and adapter config vocabulary.
Acceptance criteria