Wikantik ingests wiki-native pages, Tika-extracted document uploads (POST /api/ingest), and MCP writes. It has no connectors to external systems, no continuous synchronization, and no incremental change detection. Every surveyed source names connector breadth and production-grade sync the primary differentiator among enterprise RAG platforms. This is the widest gap in the portfolio and the one that most limits the "RAG-as-a-service" claim.
).
).
).
).The derived-pages machinery is the right foundation — what is missing is the source side:
wikantik-ingest (com.wikantik.ingest.{SourceExtractor, TikaSourceExtractor, ExtractionResult}) — pure Tika 3.3 extraction, isolated from wikantik-main.com.wikantik.derived.* — a page is derived iff frontmatter has derived_from; body is machine-owned and regenerable (ADR-0004); reflow re-extracts while preserving body-independent curation. Surfaces: POST /api/ingest, /admin/derived/{reflow,status}.IngestDocumentsCli (wikantik-extract-cli) — batch folder-walking HTTP client, effectively a proto-connector.PageProvider, AttachmentProvider) is the established extension idiom to model a connector SPI on.docs/superpowers/specs/2026-06-14-derived-pages-design.md.wikantik-connectors module: SourceConnector interface (enumerate, fetch, cursor/checkpoint, delete-detection), per-connector sync state persisted in PostgreSQL, scheduled incremental runs modeled on OntologyRebuildScheduler.derived_from pointing at a connector-scoped URI, source metadata mapped into frontmatter, and reflow semantics reused for re-sync.First session scope: the SourceConnector SPI in wikantik-connectors + the sync-state migration + ONE read-only connector against a local fixture (filesystem tree or static HTTP fixture). No OAuth, no scheduler, no webhooks, no real external service.
Phase 1 is done when these integration tests are green (TDD: write them first):
derived_from carries the connector-scoped URI, source metadata lands in frontmatter, and the pages pass the frontmatter schema validator.Out of Phase 1's DoD: scheduler wiring, credential encryption, any real-service connector. Those are Phase 2, gated on the Phase-1 SPI surviving review.
ee/ (Enterprise Edition) directories.[AGENT] Read Onyx's open-source connector interface as the reference design (core only, not ee/ — see above) — what does its checkpoint/state model look like, and what did they get wrong?[AGENT] Schema design for sync state (cursors, content hashes, tombstones) — must be a numbered migration under bin/db/migrations/.[OWNER] Identity and auth per connector: OAuth 2.0 app registrations vs service accounts, where refresh tokens live, and the encryption-at-rest approach (note: CryptoUtil is hash-only today; reversible credential encryption is greenfield, and the key-management choice is a security-posture/spend decision).[AGENT] How does connector-sourced frontmatter interact with StructuralSpinePageFilter's save-time canonical_id enforcement and the frontmatter schema validator?[AGENT] Rate-limit and backoff behavior per source API; resumability of a half-failed sync.[AGENT] Co-design constraint: the item schema must carry source ACL references from day one, even if enforcement lands later — the ACL semantics are decided in RoadmapExternalAclInheritance (where the security-posture questions are [OWNER]).