ADR-0022 + SPEC-0015: Telegram source via delegated exporter (tdl)#207
Merged
Conversation
…p's native JSON export Acquisition via the first-party in-app export (no credentials, no bundled MTProto client, no new signing surface); import rides the existing pipeline (source enum, hash-keyed idempotent ingest, guided Providers onboarding, enum-driven device sync). Streaming parser mandated for multi-GB exports. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rowse does not write exporters Owner review rejected the earlier direct-parse draft as an idiom violation. The exporter-delegation invariant is now stated first-class: extraction is always a dedicated upstream tool's job (tdl chosen: active, JSON output, incremental time-window exports, desktop-session import; t-export and Telethon dumpers evaluated and documented). Spec gains exporter-delegation, authorization, and invocation/staging requirements; parser now targets the pinned exporter's JSON output. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the decision record and paired spec/design for Telegram as the fourth source.
The decision (ADR-0022): parse Telegram Desktop's first-party JSON export (Settings → Advanced → Export Telegram data) rather than bundling an MTProto exporter — zero credential custody (SPEC-0013 invariant), zero new bundled binaries (ADR-0020 signing scope untouched), guided acquisition per the WhatsApp precedent (ADR-0016). Trade-offs owned honestly: manual export step, full re-export per refresh (import stays hash-incremental), no secret chats.
The spec (SPEC-0015): source registration, streaming multi-GB-safe parser (entity flattening, service events, reactions, traversal-safe media), detect → guide → adopt onboarding with the default-export-location probe, no-paths-over-HTTP security posture, doctor/CLI coverage, enum-driven device-sync participation. Security + accessibility sections per plugin conventions.
Part of #190-era program; implementation epic follows.
🤖 Posted on behalf of
@joestumpby Claude.