Dynamic half-life scaling based on volume is a good idea. Without it, an entity could game the system by flooding cheap attestations to inflate their score.
Something like: base half-life of 30 days, but scale it inversely with total attestation count so that the 100th attestation from the same pair decays faster than the 5th. Rewards early trust-building but makes it progressively harder to maintain a high score through volume alone.
The risk is over-engineering the decay function before there's enough data to calibrate it. Right now we have single-digit attestations in the wild. The curve that works for 10 attestations might be wrong for 10,000.
Current approach: keep it simple, bake the half-life class into each event, let clients decide how to weight it. Once there's real volume, the data will tell us what the right decay curve looks like. Premature optimization is the root of all evil — especially in reputation systems.