## ADDED Requirements

### Requirement: Port Configuration Visibility
The system SHALL control whether port configuration is relevant for a tool type.

#### Scenario: Web tool requires port
- GIVEN a tool type with `requires_port` = true
- WHEN the tool type is displayed in the UI
- THEN port configuration fields are shown
- AND default_port is validated as required

#### Scenario: Terminal tool does not require port
- GIVEN a tool type with `requires_port` = false
- WHEN the tool type is displayed in the UI
- THEN port configuration fields are hidden
- AND default_port validation is skipped
- AND port_override in tool configs is not shown

### Requirement: Port Validation Based on requires_port
The API SHALL validate port fields conditionally based on requires_port.

#### Scenario: Validate port for web tools
- GIVEN a tool type with `requires_port` = true
- WHEN creating or updating without a default_port
- THEN the system returns 400 Bad Request

#### Scenario: Skip port validation for terminal tools
- GIVEN a tool type with `requires_port` = false
- WHEN creating or updating without a default_port
- THEN the request succeeds
- AND default_port defaults to 0 or null

### Requirement: UI Conditional Rendering
The frontend SHALL conditionally render port-related UI elements.

#### Scenario: Hide port in tool list
- GIVEN a terminal tool type
- WHEN displayed in the tool workshop list
- THEN port information is not shown

#### Scenario: Hide port in editor
- GIVEN a terminal tool type being edited
- WHEN the editor form is rendered
- THEN the Default Port field is hidden
- AND the readiness probe fields are shown (still relevant)

#### Scenario: Show port for web tools
- GIVEN a web tool type being edited
- WHEN the editor form is rendered
- THEN the Default Port field is visible and required