Prevent sampleless speaker identities
PR and Push Build/Test / build-and-test (push) Successful in 8m38s

This commit is contained in:
2026-06-02 10:39:00 +02:00
parent a3bad1bdd4
commit e3f4e87319
10 changed files with 101 additions and 50 deletions
+5 -3
View File
@@ -208,9 +208,9 @@ The rules editor `write_rules` tool SHALL replace the whole configured workflow
The rules editor `write_rules` tool SHALL refuse invalid YAML without changing the configured workflow rules file.
The rules and identities editor agent SHALL receive speaker identity tools to search/list, read, create, update, delete, and merge identities in the local speaker identity database.
The rules and identities editor agent SHALL receive speaker identity tools to search/list, read, update, delete, and merge identities in the local speaker identity database, and a create tool that refuses sampleless identity creation with an actionable response.
The rules and identities editor agent SHALL receive speaker sample tools to list, read, delete, and queue playback of samples linked to identities.
The rules and identities editor agent SHALL receive speaker sample tools to list, read, delete, and queue playback of samples linked to identities. The delete sample tool SHALL refuse to delete the last remaining sample for an identity.
The first model request caused by each user-submitted chat turn SHALL send the `X-Initiator: user` header, while follow-up model requests within that same turn, such as tool-call continuations, SHALL send `X-Initiator: agent`.
@@ -259,8 +259,10 @@ Meeting Assistant SHALL provide a diagnostic endpoint that opens the workflow ru
#### Scenario: Rules editor can manage speaker identities
- **GIVEN** the speaker identity database contains speaker identities and samples
- **WHEN** the rules editor agent runs
- **THEN** it can search, read, create, update, delete, and merge speaker identities
- **THEN** it can search, read, update, delete, and merge speaker identities
- **AND** sampleless identity creation is refused with an actionable response
- **AND** it can list, read, delete, and queue playback of identity samples
- **AND** deleting the last sample for an identity is refused
#### Scenario: User sends a rules-editing chat turn
- **GIVEN** the rules editor chat window is open