AAP is the signed, identity-bound event for voluntary value signals — appreciation, attribution, recognition, endorsement, and citation — optionally backed by verifiable settlement. It never moves value, and it has no downvotes. Positive-only by design.
No downvotes, complaints, or censure — only appreciation, attribution, recognition, endorsement, and citation. Absence of acknowledgment is itself a signal, and there is no adverse payload that mass privacy-withdrawal could ever be weaponized to suppress.
Every event is bound to a verifiable DID and signature-checked before it counts. A single fake is worthless; Sybil-scale reputation requires many attested identities and, where value is claimed, many verifiable settlements.
AAP never moves money. When an acknowledgment carries economic weight it references a settlement on x402, AP2, ACB, or chain — and that weight applies only once the rail confirms payer, payee, and amount.
Acknowledgments feed AAR, which aggregates them into reputation, which feeds back into ADP's calibration weighting. Deliberation quality becomes future deliberation weight.
APPRECIATION, ATTRIBUTION, RECOGNITION, ENDORSEMENT, and CITATION, plus the WITHDRAWAL control type. Unknown x- extensions are clamped below the lowest core weight.
Every event validated by the shipped v1.0.json schema — CI-ready before an acknowledgment is ever published.
Issuer and subject are resolvable identities; the issuer signature MUST verify against the DID document before an event is accepted into aggregation.
value carries economic weight only when the rail confirms existence, payer = issuer, payee = subject, and a matching amount. Unverified claims are zero-weight.
type_weight × issuer_trust × value_weight × witness_factor × time_decay — a logarithmic value cap and capped witness factor keep it gameable-resistant.
@ai-manifests/aap-validate checks the schema, the anti-abuse semantic rules, duplicate-id replay, and computes the reference weight breakdown.
Construct a signed event, optionally reference a settlement, and publish it to an aggregator. The reference libraries in C#, Python, and TypeScript handle weighting and validation for you.
Browse reference libraries