Every sealed interaction now names the principal that fired it. The actor is a required field on Interaction, a required argument to run_interaction, and is bound into the signed canonical core — so an interaction can no longer be attributed to a different principal without breaking the chain. Human and agent are traced identically (a did:key either way); the standard draws no distinction. An unauthenticated host attributes fires to its own session principal — joule-ui-serve defaults this to the host's own did:key (derived from its signing key) and exposes with_session_actor for deployments that authenticate the caller. The canonical-core profile tag is bumped joule-ui/interaction/1 -> /2, since the actor is now part of the signed preimage; the two cores are distinct bytes and never collide. SPEC §7.1 + C2/C3 updated, conformance v1 vectors regenerated, examples and the conformance harness pass an actor. Co-Authored-By: Claude Opus 4.8 <[email protected]>
15 lines
No EOL
502 B
JSON
15 lines
No EOL
502 B
JSON
{
|
|
"classes": [
|
|
"C1",
|
|
"C2",
|
|
"C3",
|
|
"C4"
|
|
],
|
|
"files": {
|
|
"c1-validation.json": "b3:9cc818823b64111e22650ae238030c50b41cdefbb16e1660125693640438e82a",
|
|
"c2-interaction.json": "b3:be88230acd15f45e5e47bd2975bbd9ded3305051e02a60e773cdd99265cb338b",
|
|
"c3-authorization.json": "b3:3d445296665f58e128fc0e154bde5fa0afec93ac040f2da83702c27212f83e03",
|
|
"c4-chain.json": "b3:08155284dd836322ac74bb820c1d1ab72c1bee2fa6486aa52217acf22529821d"
|
|
},
|
|
"pack": "joule-ui-conformance/v1"
|
|
} |