refactor(api): name JSON-LD node identity explicitly - #462
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough
ChangesJSON-LD 식별자 계약
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to The Rust API now names the JSON-LD node identity explicitly as node_id while existing v1 consumers continue receiving id, with validation and serialization behavior unchanged. No actionable merge-blocking risk remains beyond normal checks and review. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 2 files. (2 skipped: 2 unsupported.)
✨ Finishing Touches 💡 1📝 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 |
Pull request was converted to draft
Owner and reuse boundary
ContextualWisdomLab/TEPPowns the versioned analytical-artifact export contract intepp_api.JsonLdExportexposed the primary node identity as a bare Rust field/constructor parameterid, even though sibling export identities are already qualified (artifact_id,snapshot_id,graph_id). Organization-wide search found no ContextualWisdomLab source consumer accessingJsonLdExport.id; modular consumers use the versioned serialized artifact boundary.TDD / repair
47e7ec5cd923a5e6ea2a2b0da735a92daf3b3ff3adds an external crate regression that requiresJsonLdExport.node_idwhile verifying the v1 wire still contains"id"and never"node_id".JsonLdExportnow usesnode_idin Rust source and constructor/validation logic.#[serde(rename = "id")]keeps serialization and deserialization compatible with the existing v1 wire key.deny_unknown_fields, contract version, non-empty validation, digest semantics, export authorization, and all psychometric/temporal/scientific computation remain unchanged.@id; that would require a separate versioned interoperability decision.Documentation / traceability
docs/doctoring/jsonld-node-semantic-identifier.mdrecords the Analytical Artifact Export bounded context, compatibility invariant, RED/GREEN boundary, and APA 7 references to identifier-comprehension research and the W3C JSON-LD 1.1 Recommendation.docs/connectors/naruon-artifact-consumer.mdnow states that Rust usesnode_idwhile v1 consumers continue to receiveid.Exact identity
main@1bc02f580cf48e1d39da239f0e818453437c31c3fix/jsonld-node-semantic-identifierc1b7d627167dd7636d2975cc41cec050a5e477baRelease / migration boundary
No database migration or serialized wire-version bump is required because the persisted/network key is unchanged.
tepp_apiispublish = false; the source field rename is repository-owned and no organization source consumer was found using the removed field spelling. A release/version change must wait for the repository's normal release contract and exact protected-head evidence.Merge gate
Fresh exact-head Rust tests, 100% authored line/branch coverage, docs/security/supply-chain checks, current reviews, and any central required workflows are merge authority. Do not transfer predecessor/base/model-only evidence, self-approve, force-push, or bypass ordinary protection.
Summary by CodeRabbit
변경 사항
"id"키와의 호환성이 유지됩니다.문서