Skip to content

feat(persona): a face says which name is its own; old values kept for a pin, and removing them - #265

Merged
stormer78 merged 1 commit into
mainfrom
feat/persona-slots-and-kept-versions
Sep 21, 2026
Merged

stormer78 merged 1 commit into
mainfrom
feat/persona-slots-and-kept-versions

Conversation

@stormer78

Copy link
Copy Markdown
Contributor

Uses @openvtc/trust-tasks 0.19.14 (trustoverip/dtgwg-trust-tasks-tf#538). The agent side is OpenVTC/verifiable-trust-infrastructure#1605 (slots) and #1606 (kept versions, purge-version). Merge after those land and are released: an agent without #1606 doesn't route purge-version.

Face editor — "Calls itself"

  • Pick which of the attributes a face shows is the face's own name; this sets the entry's displayName slot.
  • Only attributes the face shows are offered.
  • A name typed only into the face is kept unless the holder picks a different one.
  • composeEntriesWithSlots carries every slot through an edit. profile/put replaces the whole face, and rebuilding live entries as bare {ref} would have dropped the name on the first save.
  • The NAME hint no longer says contexts see the face's name. Since VTI #1597, a context sees only the label the holder picks when a persona wears the face.

Attribute strip — kept values

  • When the agent keeps an earlier value because a face is pinned to it, the strip says so and names the faces.
  • Remove the old value for good calls persona/attribute/purge-version, after a confirmation that says:
    • the pinned faces will show nothing for it, not the current value;
    • anyone already shown the old value keeps it.
  • The model is manager/kept-versions.ts.

Wiring

  • personaAttributePurgeVersion in core admin.
  • The URI is added to both CI holder-only guards (the console carries it; no wallet surface does), and the count in the guard's message is updated.
  • task-surface.json resynced from vta-sdk 0.45.1.
  • Recorded coverage moves 205 → 206, with the reason noted beside it.
  • @openvtc/trust-tasks ^0.19.14 at the root and in core. The lockfile changes that one package only.

Checks

  • npm run lint
  • npm test: 1547 passed, 0 failed. New:
    • slot composition tests
    • manager-kept-versions.test.mts
    • a rendered test that the kept-value note appears and that purge asks before calling
    • a core purge-version client test
  • npm run build, plus both persona guards run locally against dist/.

… a pin, and removing them

Uses @openvtc/trust-tasks 0.19.14 (trustoverip/dtgwg-trust-tasks-tf#538).

Face editor -- CALLS ITSELF: pick which of the attributes a face shows
is its own name (the entry's `displayName` slot). A face can show a legal
name and the one it goes by; this says which is the face's. The choice is
offered only from what the face shows, and a name typed into the face
itself is kept unless the holder picks another.

composeEntriesWithSlots keeps every slot through an edit. profile/put
replaces the face, so rebuilding live entries as bare {ref} -- what
composeEntries does -- would strip the name on the first save.

The NAME hint no longer says contexts see the face's name: since
verifiable-trust-infrastructure#1597 a context sees only the label the
holder chooses when a persona wears the face.

Attribute strip -- kept values: when the agent keeps an earlier value
because a face is pinned to it (Attribute.retainedVersions), the strip
says so and which faces are the reason. "Remove the old value for good"
calls persona/attribute/purge-version after a confirmation that says the
pinned faces will show nothing -- not the current value -- and that
anyone already shown the old value keeps it. Model in kept-versions.ts.

Wiring: personaAttributePurgeVersion in core admin; the URI added to
both CI holder-only guards; task-surface.json resynced (vta-sdk 0.45.1)
and the recorded coverage moved 205 -> 206 with the reason.

Signed-off-by: Glenn Gore <glenn.g@affinidi.com>
@stormer78
stormer78 merged commit d045a7a into main Sep 21, 2026
4 checks passed
@stormer78
stormer78 deleted the feat/persona-slots-and-kept-versions branch September 21, 2026 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant