3ba2049566
Companion to CONTRIBUTING.md targeting external PRs whose diff was
substantially authored by an AI coding assistant. Adds five gates the
existing doc does not cover:
- Research before code (issue still valid, decentralisation fit)
- Build and install both flavours (Play + F-Droid)
- Performance and resource hygiene (main-thread, coroutines,
LocalCache reuse, relay subscriptions, KMP source sets, lambda Log)
- Regression test plan alongside feature test plan
- Don't-touch list (signer/KeyStore, release pipeline, NIP direction)
Filename deliberately avoids AGENTS.md to keep internal dev-team
agents unaffected by auto-load conventions. CONTRIBUTING.md and the
PR template each gain a one-line pointer.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.7 KiB
2.7 KiB
Summary
Test plan
- Ran
./gradlew spotlessApply— repo is formatted - Ran
./gradlew test(or the relevant module's tests) - Manually exercised the change (see notes below)
Notes / screenshots:
Interop suites
- N/A — change can't affect wire bytes / decoded audio / MLS state / DM envelopes
- Marmot / MLS —
cli/tests/marmot/marmot-interop-headless.sh(NIP-EE /whitenoise-rs) - NIP-17 DM —
cli/tests/dm/dm-interop-headless.sh - Audio rooms manual —
cli/tests/nests/nests-interop.sh(Amethyst ↔ nostrnests.com) - MoQ-lite hang-tier —
:nestsClient:jvmTest -DnestsHangInterop=true - MoQ-lite browser-tier —
:nestsClient:jvmTest -DnestsBrowserInterop=true - QUIC interop-runner —
quic/interop/run-matrix.sh -s {aioquic,picoquic,quic-go,quinn}
AI assistance
- Drafted with AI assistance, manually reviewed and tested
- Written by hand
If "Drafted with AI assistance" is ticked, also read
CONTRIBUTING-WITH-AI.md for the additional
gates that apply to AI-authored PRs.
License
- By submitting this PR, I agree to license my contribution under the MIT license. Any code I did not author personally carries its original license header.