Smeldr keeps a history of who did what. Each entry names the actor and says what kind it was: a person, an agent or a scheduled job.
Until core v1.121.0, an actor with no label was recorded as a person. A token could not carry a label, so every action an agent took through a token appeared in the history as human. The history said "a person did this" when nothing had said so.
That default was wrong. An entry that claims a person acted, with nothing behind the claim, is worse than an entry that says nothing, because whoever audits the history will believe it.
The history now uses four values: job, agent, human and unclassified. Human means one thing. The administrator who created the token vouches that every use of it is a request made directly by that person. A token that software uses on its own is never human. An actor with no label is recorded as unclassified, which claims nothing.
Two things to know if you run an instance:
- Old entries are not rewritten. An old
humanentry means unclassified. It never meant a verified person. - A token's label is part of the token and cannot change after it is created. To label an existing token, create a new one and revoke the old one.
If you read the history and filter on human, you now also need to handle unclassified.
Released in core v1.121.0, mcp v1.48.0 and cli v0.19.0.