Repository navigation
fix(access): probe other-genesis neighbours, stop on pending ones, redact URLs - #56
Conversation
✅ Cyclops Security Review: safe to merge✅ Reviewed 884a411 (latest) · Coverage: full · no open findings · report
|
There was a problem hiding this comment.
Nothing blocking. The comments below are optional suggestions. There is no need to push a fix for them before merging.
Beyond the inline finding, I checked two other things and ruled both out. The new doc line "credentials without a URL there are refused" matches code that already exists in siblingEnvironment (cli.ts:252-262), so the doc is consistent with the implementation. Dropping the genesis-mismatch continue after the strict load is also safe: recordTarget only lets a same-genesis or malformed record reach that load, and the load rejects malformed ones.
Extended reasoning...
I checked that the documented refusal of credentials without a URL is real code (it predates this diff), and that removing the post-load genesis check cannot let an other-genesis record get past discovery.
…they share the policy
Follow-up to #55 for
pnpm earn access remove's discovery of policy-sharing neighbours.deployment.pending.jsonis first bound to its authored profile through the pending intent hash (loadEarnProfileForRead). It stops the removal when it targets this chain and policy, or when that binding fails, so an edited profile can no longer hide it. Pending deployments on other chains or policies don't block.cause.docs/earn/modules/access.mdis updated to match.Tests:
cli.test.tsadds the genesis cases (no code: skipped, code: refused, no client: refused), pending neighbours on this and another policy, a pending deployment whose profile was edited, and URL redaction.pnpm check,pnpm check:typesandpnpm --filter @tempoxyz/contracts test --run(771 passed) pass locally.