Buyer / ecosystem outcome
LineageWeave should remain independently useful while also being consumable by Naruon for email lineage, project-history reconstruction, and buyer-facing evidence navigation. The integration must not be implemented by copying LineageWeave internals into Naruon or by giving Naruon direct SQL access to LineageWeave tables.
This issue establishes the provider-side reusable boundary owned by LineageWeave. The corresponding Naruon consumer issue must consume only a released/versioned contract or service/plugin artifact.
Why this is needed
LineageWeave already owns evidence-bounded reconstruction concepts that Naruon is beginning to need:
- post/email-like record lineage reconstructed from temporal, secondary-key, text, and optional contextual-orchestrator adjudication channels;
- persisted per-channel evidence and explicit inferred-vs-authoritative truth boundaries;
- project-history and responsibility/evidence projections;
- knowledge-cutoff and future-information-leakage controls;
- ontology / PROV-O / OWL-Time aligned evidence projection.
Naruon already owns customer mail/calendar/file source access, canonical email identity, source dedupe, thread graph, provider actions, projects/tasks, and buyer workspaces. It should be able to ask LineageWeave for lineage intelligence without making LineageWeave a mailbox, provider connector, or Naruon-owned submodule implementation detail.
Authority boundary
LineageWeave owns
- lineage reconstruction algorithm and run semantics;
- lineage-specific candidate generation and scoring;
- channel evidence (
temporal, secondary_key, text, optional llm);
- reconstruction-run identity, configuration/model/profile references, confidence, abstention, and provenance;
- project-history inference from supplied evidence;
- explicit truth status for
observed, inferred, proposed, and unavailable evidence.
Naruon owns
- customer-owned IMAP/JMAP/provider access and credentials;
- canonical email/message/thread/source identities;
- tenant/workspace authorization;
- project/task/commitment records owned by Naruon;
- provider mutation, mail/calendar writeback, retry, reconciliation, and audit;
- deciding which authorized Naruon evidence may be submitted to the LineageWeave boundary.
Neither repository may read the other's application database directly.
Required reusable contract
Provide one versioned integration surface that can be shipped independently. Preferred order:
- a stable Rust/Python package only if the algorithm can remain store-agnostic and stateless; otherwise
- a versioned service/plugin contract with generated SDKs.
The contract must accept bounded, already-authorized evidence, not Naruon credentials or arbitrary database access.
Suggested request objects:
lineage_analysis_request
lineage_evidence_record
lineage_secondary_key
lineage_project_hint
lineage_temporal_evidence
lineage_analysis_policy
Suggested response objects:
lineage_analysis_result
lineage_reconstruction_run
lineage_edge_result
lineage_channel_evidence
lineage_project_projection
lineage_limitation
Every input record must carry an opaque caller-owned evidence reference. Every output edge must point only to those opaque references and must include its truth status and provenance.
Email-specific invariants
- RFC Message-ID, References, In-Reply-To, provider thread identity, raw-content hash, sent/received/available time, participant evidence, subject/body similarity, and attachment evidence remain separate features; do not flatten them into one unexplained score.
- Do not silently turn a semantic relation into an RFC reply relation.
- Missing evidence is unavailable, never zero.
- Email body/subject/participants may be submitted only under the caller's explicit authorized scope and bounded payload policy.
- The contract must support content-minimized modes where only caller-computed features or evidence hashes are supplied.
- Knowledge-cutoff runs must bind to
available_time <= knowledge_cutoff; later evidence cannot leak into historical reconstruction.
Project-management invariants
- A LineageWeave project projection is evidence/inference, not Naruon's authoritative project status.
- Naruon may adopt a proposed relation only through its own deterministic/human approval policy.
- A LineageWeave result may link mail → commitment/task/project evidence without creating provider actions or calendar writes.
- Responsibility/actor evidence remains observed/inferred context and is not an HR assignment ledger.
Packaging / plugin readiness
- Publish semantic version, immutable source commit, artifact digest, license, SBOM, SLSA provenance, and compatibility range.
- No mutable git branch/submodule is a production dependency.
- Add contract fixtures that Naruon can run consumer-side.
- If Naruon plugin SDK (#976) becomes the chosen runtime, expose only a bounded
kg.extractor / workspace.surface / new reviewed lineage extension point rather than importing Naruon internals.
TDD acceptance
- Naruon-shaped synthetic email evidence can be submitted without Naruon DB access and returns deterministic opaque-reference edges.
- RFC reply/thread evidence remains distinguishable from semantic/project lineage evidence.
- Optional LLM channel absence is explicit and does not fabricate a zero score.
- Hidden/omitted evidence cannot appear in outputs.
- Duplicate requests with the same analysis identity are idempotent.
- Historical cutoff tests prove later-available evidence cannot influence earlier runs.
- Project projection never emits an authoritative Naruon status or provider mutation.
- Package/service contract is independently versioned and consumer contract tests run from a released artifact.
- Changed production code keeps 100% statement/branch coverage and complete public docstrings.
Related work
Delivery gate
Do not implement this by copying code into Naruon. First stabilize and release the LineageWeave contract/artifact; then Naruon may consume it behind an optional integration capability. Exact-head CI/security/coverage/review and independent approval remain mandatory.
Buyer / ecosystem outcome
LineageWeave should remain independently useful while also being consumable by Naruon for email lineage, project-history reconstruction, and buyer-facing evidence navigation. The integration must not be implemented by copying LineageWeave internals into Naruon or by giving Naruon direct SQL access to LineageWeave tables.
This issue establishes the provider-side reusable boundary owned by LineageWeave. The corresponding Naruon consumer issue must consume only a released/versioned contract or service/plugin artifact.
Why this is needed
LineageWeave already owns evidence-bounded reconstruction concepts that Naruon is beginning to need:
Naruon already owns customer mail/calendar/file source access, canonical email identity, source dedupe, thread graph, provider actions, projects/tasks, and buyer workspaces. It should be able to ask LineageWeave for lineage intelligence without making LineageWeave a mailbox, provider connector, or Naruon-owned submodule implementation detail.
Authority boundary
LineageWeave owns
temporal,secondary_key,text, optionalllm);observed,inferred,proposed, and unavailable evidence.Naruon owns
Neither repository may read the other's application database directly.
Required reusable contract
Provide one versioned integration surface that can be shipped independently. Preferred order:
The contract must accept bounded, already-authorized evidence, not Naruon credentials or arbitrary database access.
Suggested request objects:
Suggested response objects:
Every input record must carry an opaque caller-owned evidence reference. Every output edge must point only to those opaque references and must include its truth status and provenance.
Email-specific invariants
available_time <= knowledge_cutoff; later evidence cannot leak into historical reconstruction.Project-management invariants
Packaging / plugin readiness
kg.extractor/workspace.surface/ new reviewed lineage extension point rather than importing Naruon internals.TDD acceptance
Related work
Delivery gate
Do not implement this by copying code into Naruon. First stabilize and release the LineageWeave contract/artifact; then Naruon may consume it behind an optional integration capability. Exact-head CI/security/coverage/review and independent approval remain mandatory.