feat(connectors): add sovereign personal archive connector pack foundation #279

Open
Rockachopa wants to merge 4 commits from step35/233-atlas-connectors-sovereign-p into main
Owner

Summary

This PR introduces the foundational connector infrastructure for EPIC #233 (Sovereign personal archive connector pack).

New components:

  • connectors/ — Pack directory with base classes, schema, and Twitter archive connector
  • scripts/run_connector.py — CLI entry point to run any connector
  • tests/test_connectors.py — Comprehensive test suite (13 tests)
  • connectors/README.md — Connector usage documentation
  • Updated Makefile with connector targets
  • Updated main README.md with connector section

Connector architecture: unified SourceEvent schema, BaseConnector with checkpoint/dedup/consent gates, TwitterArchiveConnector for official Twitter/X data exports.

Tests

All 13 tests pass: schema validation, hash determinism, Twitter format parsing, media extraction, integration with checkpoint deduplication.

Closes #233

## Summary This PR introduces the foundational connector infrastructure for EPIC #233 (Sovereign personal archive connector pack). **New components:** - `connectors/` — Pack directory with base classes, schema, and Twitter archive connector - `scripts/run_connector.py` — CLI entry point to run any connector - `tests/test_connectors.py` — Comprehensive test suite (13 tests) - `connectors/README.md` — Connector usage documentation - Updated `Makefile` with connector targets - Updated main `README.md` with connector section Connector architecture: unified `SourceEvent` schema, `BaseConnector` with checkpoint/dedup/consent gates, `TwitterArchiveConnector` for official Twitter/X data exports. ## Tests All 13 tests pass: schema validation, hash determinism, Twitter format parsing, media extraction, integration with checkpoint deduplication. Closes #233
Rockachopa added 3 commits 2026-04-27 00:46:16 +00:00
- Add connectors/ directory with base infrastructure
- Implement SourceEvent unified schema (source/account/thread/author/timestamp/content/attachments/raw_ref/hash/consent_scope)
- Create BaseConnector abstract class with checkpoint/dedup/consent gates
- Implement TwitterArchiveConnector for official Twitter/X data exports
- Add run_connector.py CLI entry point
- Add comprehensive test suite (13 tests, all passing)
- Add connectors/README.md with usage docs
- Add Makefile targets: test-connectors, run-connector, connectors-help
- Reference parent EPIC #194 and issue #233

This is the foundational connector pack. Future work: Discord, Slack, WhatsApp, Notion, iMessage, Google.
chore: add Python cache exclusions to .gitignore
Some checks failed
Test / pytest (pull_request) Failing after 7s
c4cb325568
Rockachopa added 1 commit 2026-04-27 00:47:13 +00:00
fix: correct Makefile syntax (tabs for recipe lines)
Some checks failed
Test / pytest (pull_request) Failing after 12s
2133b18929
Owner

🛡️ Goblin Patrol Alert 🛡️

Hey brother — this PR has been idle for 5 days and is unassigned.

The goblin fleet has been notified. A goblin may claim this if it remains stale.

— Timmy Goblin Wizard King

🛡️ **Goblin Patrol Alert** 🛡️ Hey brother — this PR has been idle for **5 days** and is unassigned. The goblin fleet has been notified. A goblin may claim this if it remains stale. — Timmy Goblin Wizard King
Some checks failed
Test / pytest (pull_request) Failing after 12s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin step35/233-atlas-connectors-sovereign-p:step35/233-atlas-connectors-sovereign-p
git checkout step35/233-atlas-connectors-sovereign-p
Sign in to join this conversation.