Adds the canonical write path for all operator-originated Gitea mutations. Core: - gitea_gate.py with deterministic idempotency keys - Local ledger + Gitea-side probing for replay safety - Actions: create_issue, add_comment, close_issue, assign_issue, merge_pr Adapter: - nostur_adapter.py for Nostr DM ingress Tests: - idempotency, deduplication, and normalizer unit tests Docs: - README with architecture invariants and usage examples
350 B
350 B