feat: persist DiskSage file lineage ontology - #1333
Conversation
|
Warning Review limit reachedNext included review available in 58 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (16)
📝 WalkthroughWalkthroughAdds strict DiskSage file-lineage validation, encrypted workspace-scoped persistence, authenticated ingestion and listing endpoints, migrations, tests, application wiring, architecture documentation, separate DAV operation identifiers, and HTML sanitizer cleanup. ChangesDiskSage file lineage
Estimated code review effort: 4 (Complex) | ~60 minutes Mergeability Score: 🟡 Moderate · up to The current head can corrupt legitimate text during sanitization and may publish invalid DAV OpenAPI schemas that break schema consumers; these bounded correctness and integration issues should be fixed before merging. Sequence Diagram(s)sequenceDiagram
participant Client
participant ingest_file_lineage
participant FileLineageEnvelope
participant Database
Client->>ingest_file_lineage: POST /api/disksage/file-lineage
ingest_file_lineage->>FileLineageEnvelope: Validate envelope
FileLineageEnvelope-->>ingest_file_lineage: Validated lineage data
ingest_file_lineage->>Database: Hash, deduplicate, and store encrypted envelope
Database-->>ingest_file_lineage: Stored lineage record
ingest_file_lineage-->>Client: FileLineageSummary
Possibly related PRs
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@cwl-noema-review please review the current head. |
|
PR governance metadata gate is not ready for
|
Rate Limit Exceeded
|
|
@opencode-agent review current exact head |
|
@coderabbitai review current exact head |
Rate Limit Exceeded
|
…-lineage-ontology
… into codex/pr1333-refresh
|
Fixed in dd947ed: organization-lineage IntegrityError replay now uses the user/workspace uniqueness identity and returns HTTP 409 for a conflicting organization, with a regression test. The two informational comments remain safe by design (201 is the endpoint contract for idempotent POST and session teardown rolls back non-key StatementError paths). |
|
@coderabbitai review |
|
|
Reviewed the three new informational notes from the current-head analysis: the scope index intentionally covers user/workspace/order and applies organization as a residual tenant guard; cross-organization fingerprint reuse intentionally returns 409 under the fingerprint-binding contract; EncryptionKeyMissingError remains RuntimeError-compatible for existing callers. No code change is warranted. Resolving these non-blocking threads so the metadata gate reflects the current review state. |
Product slice
Persist validated DiskSage file-lineage envelopes in Naruon so tenants can inspect metadata-first production context, provider evidence, ontology relations, synchronization state, and copy-readiness provenance without granting Naruon authority to copy, evict, or mutate the source file.
Current exact state
develop@dd8d15191338b841f9e6f3a06507c6a5643b95d0.32b00ce304a39af35f7c20980e965ad369461062.0commits behind and26commits ahead of the live protected base.Migration proof
The DiskSage chain is explicit and single-headed:
Fresh local evidence at this head:
uv run pytest -q: 1810 passed, 34 skipped.uv run pytest -q tests/test_alembic_migrations.py: 20 passed.DiskSage implementation
pending-uploadwithout source-eviction authority;Compatibility guard
The existing multi-method DAV protocol route is excluded from OpenAPI schema generation. FastAPI otherwise emits duplicate operation-ID warnings under Python 3.14 when the lineage resource test requests the application schema. DAV runtime behavior is unchanged; the guard keeps the full suite warning-clean.
Ownership boundary
DiskSage remains authoritative for copy execution, hashes, provider evidence, review decisions, dynamic ADR/Goal projections, and reversible source trash. Naruon stores and exposes a validated tenant-scoped provenance projection. The semantic-data-portal preview remains a separate consumer boundary.
This PR remains Draft until current-head required checks, independent review, and governance gates are terminal-success. No predecessor-head approval or queued check is treated as merge evidence.