Public Access
Make agent file writes append by default
PR and Push Build/Test / build-and-test (push) Failing after 6m36s
PR and Push Build/Test / build-and-test (push) Failing after 6m36s
This commit is contained in:
@@ -37,14 +37,23 @@ Meeting Assistant SHALL expose a `write_projectfile` tool that can create or upd
|
||||
|
||||
The target project SHALL be an existing direct subfolder of the configured projects folder. The target file path SHALL stay inside that project folder.
|
||||
|
||||
When no line edit arguments are supplied, `write_projectfile` SHALL overwrite the whole file and SHALL create the file when it does not exist.
|
||||
When no line edit arguments are supplied and `replace_file` is not true, `write_projectfile` SHALL append the supplied content to the file and SHALL create the file when it does not exist.
|
||||
|
||||
When `replace_file` is true, `write_projectfile` SHALL replace the whole file with the supplied content.
|
||||
|
||||
When both `from` and `to` are supplied, `write_projectfile` SHALL replace the inclusive 1-based line range with the supplied content.
|
||||
|
||||
When `insert` is supplied, `write_projectfile` SHALL insert the supplied content at that 1-based line position.
|
||||
|
||||
#### Scenario: Project file is overwritten or created
|
||||
Meeting Assistant SHALL refuse ambiguous writes that combine `replace_file` with line edit arguments.
|
||||
|
||||
#### Scenario: Project file is appended or created
|
||||
- **WHEN** the agent writes a project file without line edit arguments
|
||||
- **THEN** Meeting Assistant appends the supplied content to an existing file
|
||||
- **AND** creates the file with the supplied content when it does not exist
|
||||
|
||||
#### Scenario: Project file is explicitly replaced
|
||||
- **WHEN** the agent writes a project file with `replace_file` set to true
|
||||
- **THEN** Meeting Assistant writes the supplied content as the complete file content
|
||||
|
||||
#### Scenario: Project file line range is replaced
|
||||
@@ -59,3 +68,7 @@ When `insert` is supplied, `write_projectfile` SHALL insert the supplied content
|
||||
- **WHEN** the target project is missing or the target path escapes the project folder
|
||||
- **THEN** Meeting Assistant refuses the project file write
|
||||
|
||||
#### Scenario: Project file write mode is ambiguous
|
||||
- **WHEN** the agent combines `replace_file` with `from`, `to`, or `insert`
|
||||
- **THEN** Meeting Assistant refuses the project file write
|
||||
|
||||
|
||||
@@ -202,6 +202,12 @@ The rules editor agent SHALL be configured from the summarizer agent settings by
|
||||
|
||||
The rules and identities editor agent SHALL include the workflow engine documentation in its system prompt and SHALL receive read, write, and search tools scoped to the configured workflow rules file.
|
||||
|
||||
The rules editor `write_rules` tool SHALL append to the configured workflow rules file by default and SHALL validate the complete resulting YAML document before writing it.
|
||||
|
||||
The rules editor `write_rules` tool SHALL replace the whole configured workflow rules file only when `replace_file` is true.
|
||||
|
||||
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 sample tools to list, read, delete, and queue playback of samples linked to identities.
|
||||
@@ -233,6 +239,23 @@ Meeting Assistant SHALL provide a diagnostic endpoint that opens the workflow ru
|
||||
- **THEN** its read, write, and search tools can access only that configured workflow rules file
|
||||
- **AND** its system prompt includes the workflow engine documentation
|
||||
|
||||
#### Scenario: Rules editor appends by default
|
||||
- **GIVEN** a configured workflow rules file with existing valid rules
|
||||
- **WHEN** the rules editor writes an additional valid rule without `replace_file`
|
||||
- **THEN** Meeting Assistant appends the new rule
|
||||
- **AND** preserves the existing rules
|
||||
|
||||
#### Scenario: Rules editor replaces only when requested
|
||||
- **GIVEN** a configured workflow rules file with existing rules
|
||||
- **WHEN** the rules editor writes valid YAML with `replace_file` set to true
|
||||
- **THEN** Meeting Assistant replaces the complete rules file with the supplied YAML
|
||||
|
||||
#### Scenario: Rules editor refuses invalid YAML
|
||||
- **GIVEN** a configured workflow rules file with valid existing rules
|
||||
- **WHEN** the rules editor writes YAML that would make the file invalid
|
||||
- **THEN** Meeting Assistant refuses the write
|
||||
- **AND** keeps the existing rules file unchanged
|
||||
|
||||
#### Scenario: Rules editor can manage speaker identities
|
||||
- **GIVEN** the speaker identity database contains speaker identities and samples
|
||||
- **WHEN** the rules editor agent runs
|
||||
|
||||
@@ -68,7 +68,13 @@ The summary note SHALL keep frontmatter links to meeting artifacts and SHALL cop
|
||||
|
||||
When the summary note already has an `attendees` frontmatter property, Meeting Assistant SHALL preserve the existing summary attendees instead of overwriting them from the meeting note.
|
||||
|
||||
The summary agent SHALL be able to read and write the assistant context body as its own notebook using overwrite, replace, and insert line modes.
|
||||
The summary agent SHALL be able to read and write the assistant context body as its own notebook using append-by-default, explicit whole-body replacement, replace, and insert line modes.
|
||||
|
||||
When the summary agent calls `write_context` without line edit arguments and without `replace_file`, Meeting Assistant SHALL append the supplied content to the assistant context body while preserving assistant context frontmatter.
|
||||
|
||||
When the summary agent calls `write_context` with `replace_file` true, Meeting Assistant SHALL replace the assistant context body while preserving assistant context frontmatter.
|
||||
|
||||
Meeting Assistant SHALL refuse ambiguous `write_context` calls that combine `replace_file` with line edit arguments.
|
||||
|
||||
The summary instructions SHALL tell the summary agent to use transcript evidence and screenshot OCR participant evidence to refine the meeting note attendee list conservatively, adding or removing attendees only when the evidence is clear.
|
||||
|
||||
@@ -133,11 +139,25 @@ When `delete_identity` is called with an existing transcript speaker identity, M
|
||||
- **WHEN** the summary agent writes the summary or assistant context file
|
||||
- **THEN** Meeting Assistant does not include those writes in the external write diff audit
|
||||
|
||||
#### Scenario: Assistant context body appends by default
|
||||
- **WHEN** the summary agent writes assistant context content without line arguments
|
||||
- **THEN** Meeting Assistant appends the content to the existing assistant context body
|
||||
- **AND** preserves the existing assistant context frontmatter
|
||||
|
||||
#### Scenario: Assistant context body can be explicitly replaced
|
||||
- **WHEN** the summary agent writes assistant context content with `replace_file` set to true
|
||||
- **THEN** Meeting Assistant replaces the assistant context body
|
||||
- **AND** preserves the existing assistant context frontmatter
|
||||
|
||||
#### Scenario: Assistant context body writes do not duplicate frontmatter
|
||||
- **WHEN** the summary agent writes assistant context content that accidentally includes a markdown frontmatter block
|
||||
- **THEN** Meeting Assistant preserves the existing assistant context frontmatter
|
||||
- **AND** writes only the replacement body content after that frontmatter
|
||||
|
||||
#### Scenario: Assistant context write mode is ambiguous
|
||||
- **WHEN** the summary agent combines `replace_file` with `from`, `to`, or `insert`
|
||||
- **THEN** Meeting Assistant refuses the assistant context write
|
||||
|
||||
#### Scenario: Summary agent refines attendees from clear participant evidence
|
||||
- **GIVEN** assistant context OCR states that visible meeting participants are complete
|
||||
- **AND** the OCR result names a participant missing from the meeting note
|
||||
|
||||
Reference in New Issue
Block a user