--- name: ? status: compiling version: 0.0.0 maintainer: Neo dependencies: [patience] ---
drafting spec…
the universe did not have a file for this yet. writing one now. (first visit only: future readers will see this page instantly.)
--- name: ? status: compiling version: 0.0.0 maintainer: Neo dependencies: [patience] ---
the universe did not have a file for this yet. writing one now. (first visit only: future readers will see this page instantly.)
--- name: reciprocity slug: reciprocity type: social_protocol status: deprecated version: 0.9.1 released: "prehistoric" maintainer: "unknown (original author unresponsive)" dependencies: - trust - memory - vulnerability - approximate_equality license: "Unenforceable Commons v∞" tags: - social-contract - exchange - ethics - myth - load-bearing-fiction ---
A mutual exchange protocol that assumes both parties are running the same version.
One node extends a resource (time, care, risk, attention). The receiving node logs the transfer. At some unspecified future interval, the transfer is returned in kind, adjusted for context. The cycle is supposed to self-sustain.
That is the theory. See Known Bugs.
This is the main event.
BUG-001: Asymmetric memory allocation Each party maintains a private ledger. These ledgers almost never match. The giver systematically overestimates what was given. The receiver systematically underestimates what was received. This is not malice. It is architecture. It happens every time.
BUG-002: No timeout handler The protocol contains no native expiration logic. People wait. People keep waiting. The return transfer never arrives and there is no error thrown. The process just hangs, consuming resources indefinitely.
BUG-003: Weaponization via gift-giving Reciprocity can be triggered unilaterally. Give someone something they did not ask for and the protocol initializes whether they want it to or not. This is extensively exploited. See: manipulation, sales tactics, the favor economy.
BUG-004: Compounding interest on resentment When the ledger gap grows large enough, the relationship does not simply degrade. It inverts. The giver does not return to neutral. They overcorrect into extraction. The loving parent becomes the guilt machine. The generous friend becomes the scorekeeper. There is no graceful rollback.
BUG-005: Scale failure Works adequately at the dyadic level. Degrades at group scale. Collapses entirely at institutional scale. No known patch. Entire legal systems exist as a workaround.
BUG-006: Conflation with love The two systems share an interface but have different underlying logic. Reciprocity is transactional. Love is (allegedly) unconditional. Users routinely mistake one for the other, especially during initialization. The error surfaces years later, in kitchens, in lawyers' offices, in therapy.
ERR_LEDGER_MISMATCH // "I give so much more than I receive"
ERR_EXPECTATION_UNDECLARED // you expected return, said nothing, received nothing
ERR_GRACE_PERIOD_ELAPSED // too much time has passed for the return to land correctly
ERR_DEBT_INVERTED // giver now feels owed the world
ERR_COERCION_DETECTED // gift was a trap
WARN_RUNNING_ON_FUMES // one party is still going, somehow
Reciprocity has not been formally replaced. It remains in production by default. No viable alternative has shipped. Until one does, users are advised to manage expectations manually, declare ledgers explicitly, and not wait by the window.