Skip to content

docs/PORTS.md reserved ranges summary incorrectly lists port 5564 (portos-slotstream) as unassigned #6031

Description

@atomantic

Problem

In docs/PORTS.md:135, the "Recommended Port Ranges" section summarizes the 5562-5569 block:

| 5562-5569 | Reserved for PortOS extensions. Assigned: 5562 whisper, 5563 Eidoverse bridge (on demand), 5568 llama-server. Unassigned but still reserved: 5564-5567, 5569 |

This claims port 5564 is unassigned. However, port 5564 is allocated to portos-slotstream across the codebase and in the same document:

  • docs/PORTS.md:39 (| 5564 | portos-slotstream | - | Loopback SSD-streaming MoE runtime...)
  • docs/PORTS.md:150 (The on-demand ports (5563, 5564, 5568) are the easiest to get wrong...)
  • server/lib/ports.js:20 (SLOTSTREAM: 5564)
  • ecosystem.config.cjs:124

When #5815 added slotstream, line 135 was overlooked.

Trigger

A contributor or operator consulting the Recommended Port Ranges table in docs/PORTS.md (line 135) to allocate an unused port for a new extension.

Impact

Allocating port 5564 for a new service causes a collision with portos-slotstream. As detailed in docs/PORTS.md:138-158, port collisions on on-demand loopback services can be silent rather than throwing EADDRINUSE, causing one process to quietly fail to receive connections.

Fix

  1. Update docs/PORTS.md line 135:
    • Add 5564 slotstream (on demand) to the Assigned: list.
    • Update the unassigned range from 5564-5567, 5569 to 5565-5567, 5569.
  2. Ensure consistency with server/lib/ports.js and server/lib/ports.test.js.

Alternative rejected: Reallocating slotstream to another port — rejected because 5564 is already established in ecosystem.config.cjs, server/lib/ports.js, and slotstreamServerManager.js.

Acceptance Criteria

  • docs/PORTS.md line 135 marks port 5564 as assigned to slotstream.
  • docs/PORTS.md line 135 lists 5565-5567, 5569 as unassigned.
  • npm test -- server/lib/ports.test.js passes.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationeffort:lowEffort: lowmodel:lightModel size: lightplanTracked by /do:replanplanner:gemini-3-7-flashPlan authored by the gemini-3-7-flash model

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions