Agent identity is all the rage bait debate right now. But it’s not hard really.
The agent's identity isn't a username or a UUID assigned by an IAM system. It's the hash of what it is: config, model, toolset, prompt. Change any of those and you have a different agent. The hash proves it.
So:
• NHI → machine_hash config_hash
• Session binding → every checkpoint signed with the operator's Ed25519 key, chained to the previous hash
• JIT tokens → the checkpoint IS the token — scoped to one decision, one moment, one signed state