decomposer: generate deliverable files for Define the normalized ingestion contract and pluggable source-connector interface for SCM, CMS, and other content sources.; Implement a GitHub SCM connector that conforms to the normalized ingestion contract and supports scoped full and incremental ingestion of Markdown, plain-text, and source files with webhook and revision metadata.; Implement a SharePoint CMS connector that conforms to the normalized ingestion contract and supports scoped full and incremental ingestion of PDF, DOCX, and HTML files with webhook and revision metadata.; Implement ingestion orchestration and triggers; Normalize, govern, and publish ingested content to the shared knowledge store.; Add deployment/configuration, tests, and documentation for the ingestion agent.; Validate end-to-end ingestion and downstream content availability.
Some checks failed
ci / test (push) Failing after 8s

This commit is contained in:
2026-09-01 14:03:17 +00:00
parent 780d0d9cd6
commit 34d9dd0f1f
26 changed files with 512 additions and 3 deletions

6
tests/test_contract.py Normal file
View File

@@ -0,0 +1,6 @@
from datetime import datetime, timezone
from kab_ingestion.models import ACL, NormalizedDocument
def test_document_requires_tenant_and_acl():
d = NormalizedDocument(document_id='x', tenant_id='t', title='a', body='b', mime_type='text/plain', source_path='a', content_hash='h', updated_at=datetime.now(timezone.utc), acl=ACL(), provenance={'connector':'x','source_uri':'u','source_id':'s','retrieved_at':datetime.now(timezone.utc)})
assert d.tenant_id == 't' and not d.acl.public