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
Some checks failed
ci / test (push) Failing after 8s
This commit is contained in:
6
tests/test_contract.py
Normal file
6
tests/test_contract.py
Normal 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
|
||||
Reference in New Issue
Block a user