# openspec/changes/archive/2026-05-22-enforce-single-tool-type-with-port-config
dir: openspec/changes/archive/2026-05-22-enforce-single-tool-type-with-port-config

index: openspec/changes/archive/2026-05-22-enforce-single-tool-type-with-port-config/.pi-map.index.md

## role
Archive of a completed specification for simplifying tool configuration by replacing multiple interfaces with a single interface type and conditional port configuration.
## files
- .openspec.yaml | Defines an OpenSpec configuration file with schema type and creation date metadata
- design.md | Design document for migrating tool types from a JSON `interfaces` array to a single `interface_type` string with a `requires_port` boolean, including UI changes and data migration plan. | dep: Alembic, Pydantic, SQLAlchemy, JSON
- proposal.md | Proposes a breaking change to simplify tool type configuration by replacing multiple interfaces with a single interface type and conditionally showing port fields based on a new `requires_port` field.
- tasks.md | Project task checklist tracking a database migration and full-stack refactoring from a multi-interface JSON array to single interface_type string with requires_port boolean across backend, frontend, and tests. | dep: Alembic, SQLAlchemy, Pydantic, TypeScript, React, pytest, npm
## arch
Specification-driven change management using OpenSpec metadata, with separated design documents (proposal, design, tasks) tracking a full-stack database migration and UI refactoring across backend/frontend/test layers.
## tags
type, interface, port, design, json, single, requires, configuration
## symbols
-
## workflows
-
## dirty
-
