Public Access
41 lines
2.3 KiB
Markdown
41 lines
2.3 KiB
Markdown
## MODIFIED Requirements
|
|
### Requirement: Agents can write files in existing projects
|
|
Meeting Assistant SHALL expose a `write_projectfile` tool that can create or update files inside an existing project folder.
|
|
|
|
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 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.
|
|
|
|
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
|
|
- **WHEN** the agent writes a project file with `from` and `to` line numbers
|
|
- **THEN** Meeting Assistant replaces the inclusive line range with the supplied content
|
|
|
|
#### Scenario: Project file content is inserted
|
|
- **WHEN** the agent writes a project file with an `insert` line number
|
|
- **THEN** Meeting Assistant inserts the supplied content at that line position
|
|
|
|
#### Scenario: Project file write target is invalid
|
|
- **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
|