|
| 1 | +## MODIFIED Requirements |
| 2 | + |
| 3 | +### Requirement: Deploy a static site |
| 4 | + |
| 5 | +The `deploy_site` tool SHALL accept an optional `inherit` boolean parameter. When `true`, the server copies unchanged files from the previous deployment. Only changed/new files need to be included in the `files` array. |
| 6 | + |
| 7 | +#### Scenario: Deploy with inherit enabled |
| 8 | +- **WHEN** the user calls `deploy_site` with `inherit: true` and a partial file list |
| 9 | +- **THEN** the tool sends `inherit: true` in the POST body to `/deployments/v1` |
| 10 | +- **AND** the server copies missing files from the previous deployment |
| 11 | + |
| 12 | +#### Scenario: Deploy without inherit (default) |
| 13 | +- **WHEN** the user calls `deploy_site` without the `inherit` parameter |
| 14 | +- **THEN** the tool does NOT include `inherit` in the POST body |
| 15 | +- **AND** behavior is unchanged from before |
| 16 | + |
| 17 | +### Requirement: Bundle deploy with inherit |
| 18 | + |
| 19 | +The `bundle_deploy` tool SHALL accept an optional `inherit` boolean parameter, passed through to the deploy API. |
| 20 | + |
| 21 | +#### Scenario: Bundle deploy with inherit enabled |
| 22 | +- **WHEN** the user calls `bundle_deploy` with `inherit: true` and a partial file list |
| 23 | +- **THEN** the tool sends `inherit: true` in the POST body to `/deploy/v1` |
| 24 | + |
| 25 | +#### Scenario: Bundle deploy without inherit (default) |
| 26 | +- **WHEN** the user calls `bundle_deploy` without the `inherit` parameter |
| 27 | +- **THEN** the tool does NOT include `inherit` in the POST body |
| 28 | + |
| 29 | +### Requirement: Upload file shows public URL |
| 30 | + |
| 31 | +The `upload_file` tool SHALL display the `url` field from the API response when present. |
| 32 | + |
| 33 | +#### Scenario: Upload response includes public URL |
| 34 | +- **WHEN** the upload API returns a response with a `url` field |
| 35 | +- **THEN** the tool displays the public URL in the output |
| 36 | + |
| 37 | +#### Scenario: Upload response without URL (backward compat) |
| 38 | +- **WHEN** the upload API returns a response without a `url` field |
| 39 | +- **THEN** the tool displays the response without the URL (no error) |
| 40 | + |
| 41 | +### Requirement: CLI sites deploy with --inherit flag |
| 42 | + |
| 43 | +The CLI `sites deploy` command SHALL accept an optional `--inherit` flag that sends `inherit: true` in the request body. |
| 44 | + |
| 45 | +#### Scenario: CLI deploy with --inherit |
| 46 | +- **WHEN** the user runs `run402 sites deploy --manifest site.json --inherit` |
| 47 | +- **THEN** the CLI includes `inherit: true` in the POST body |
| 48 | + |
| 49 | +### Requirement: CLI deploy manifest supports inherit |
| 50 | + |
| 51 | +The CLI `deploy` command SHALL pass through `inherit` from the manifest JSON to the API. |
| 52 | + |
| 53 | +#### Scenario: Manifest includes inherit |
| 54 | +- **WHEN** the manifest JSON contains `"inherit": true` |
| 55 | +- **THEN** the CLI passes it through in the POST body (already works, documentation only) |
0 commit comments