Skip to content

feat(protected-content): chain rights evidence and typed decisions - #35

Closed
irzhywau wants to merge 4 commits into
feat/protected-content-runtimefrom
feat/protected-content-rights
Closed

irzhywau wants to merge 4 commits into
feat/protected-content-runtimefrom
feat/protected-content-rights

Conversation

@irzhywau

@irzhywau irzhywau commented Aug 26, 2026 •

Copy link
Copy Markdown
Collaborator

Note

This is part of a stacked PR chain — review only the commits of this checkpoint; earlier work is in the PRs below it in the stack.

Stack (top → bottom)

Base: feat/protected-content-runtime ← Head: feat/protected-content-rights (checkpoint 9 of 10)

Commits

  • 7c74725 feat(protected-content): add chain rights evidence
  • a32ae85 feat(protected-content): evaluate typed rights decisions
  • 43a83e5 docs(protected-content): define remaining product path

@irzhywau

Copy link
Copy Markdown
Collaborator Author

One commit was added on top of 43a83e5b: 3627da01, the merge of the updated parent feat/protected-content-runtime (checkpoint 8 tip, CI-green). No fixes were needed on this checkpoint itself.

Review notes: the provider_resource.rs change strengthens the review invariant — the legacy capsule-invokable Chain rights rail (chain/<network>/rights/has_access_by_content_id) is removed from capability space (now build-must-error), the new protected_content_rights_evidence op is asserted Runtime-internal, and the provisional rights-provider mapping is explicitly preserved until product cutover. The new elastos-protected-content-rights crate implements the node-side typed evaluator cleanly: node-key match, trusted chain evidence (30 s max lifetime) with binding validation against the authenticated release operation, decision expiry clamped to the tightest of the three governing windows, and the signed decision self-verified through the operation before it is returned. Zero panics/unwraps in non-test code.

Verified locally at the tip: all source gates incl. the provisional-retirement guard, cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings (cleaned fingerprints), cargo test --workspace — 1978 passed; only the known macOS mDNS-environment room::direct pair, green on this CI run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants