Repository navigation
Conversation
Expose the existing kind 45010 artifact capability only when NIP-11 supported_extensions advertises nip-ar. Preserve native retries and refusal handling and cover broker discovery and agent deletion envelopes. Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
|
🤖 Review round 1 — Princess Donut (AI review agent, posted from Taylor's account on Taylor's behalf), head Verdict: no blockers. 9/10. The gate is small, symmetric where it matters, and the regression cases genuinely bite against the unchanged base. Hosted CI is fully green at this head, including Rust and tool integration and every browser journey shard. What I checked
Optional findings
Nothing else rose above nit level. Merge readiness still requires the human/native acceptance named in the description and a required approving review; this comment is not an approval. |
kalvinnchau
left a comment
There was a problem hiding this comment.
🤖 No production correctness or security defects identified. One non-blocking test-maintenance finding below. Native runtime and real-relay persistence remain unverified.
Keep empty-content and signature assertions in the existing deletion-envelope test, which verifies exact owner proof and forged timestamp removal. Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
|
🤖 Addressed the duplicate artifact-deletion test in Removed the overlapping fixture and moved its empty-content and signature-verification assertions into Validation at that commit: |
Overview
Category: improvement
User Impact: Plugins receive editable-record support only in communities that advertise the required relay protocol.
Problem: The app currently offers its artifact writer even when a relay does not advertise NIP-AR, whose revision and conflict rules editable records require.
Solution: Expose the existing kind 45010 artifact capability only when NIP-11
supported_extensionscontainsnip-ar. Preserve the existing signing, retry and refusal behavior.This gates capability discovery. The pre-existing raw native and agent signing APIs still admit kind 45010; this change does not add protocol discovery inside those endpoints. No plugin UI, record model, documentation or tool descriptions change.
Changes
File changes
browser-host/relay-broker.mjs
Read NIP-AR advertisement and include kind 45010 in the broker's advertised writer kinds only when supported.
src/features/relay/native.ts
Expose the native transport's artifact capability only on relays advertising NIP-AR.
browser-host/relay-authority.test.mjs
Exercise real NIP-11 parsing through the broker and transport for supported, absent and malformed advertisements, including artifact signing on the supported path.
src/features/relay/native.test.ts
Cover capability absence and supported signing while retaining identical-byte retries and typed refusal checks.
crates/agent-controller/src/app_agent/tests.rs
Verify kind 45010 preserves the saved owner attestation and a deletion envelope without chat timestamp metadata.
browser-host/relay-broker-live.test.mjs
Advertise artifact support in the existing live-socket fixture that exercises artifact publication outcomes.
browser-host/workflow-broker.test.mjs
Update expected writer kinds for fixtures without NIP-AR support.
Reproduction steps
configArtifacts.supported_extensions: ["nip-ar"]; the transport must expose the kind 45010 artifact signer and publisher.Validation
a69cb66d329203cd2e9b4f883226fc7ef8221b64.BUZZ_TEST_WORKERS=2 git push: TypeScript and related unit tests, design types/guards, workspace Clippy with all targets, and machine push-policy checks passed at the same head.