Skip to content

[Docs] Container deletion is implemented but undocumented; architecture layout lists packages that do not exist #161

Description

@rodriguecyber

Difficulty: Beginner · You'll need: Markdown · Size: docs only

What's going on

container.remove is implemented across the agent, protocol, server and dashboard, but the documentation still describes a system without it.

File What it says What is true
docs/roadmap.md "Container lifecycle: start, stop, restart, with correlated results" under Completed delete also works
docs/protocol.md no container.remove entry the message exists with a force flag
docs/websocket-protocol.md lifecycle section lists three verbs there are four
docs/architecture.md command-flow diagram uses restart as the example fine, but the verb list around it is stale

docs/architecture.md also still shows packages/types/, packages/config/ and packages/utils/ in the repository-layout tree. None of those directories exist — packages/protocol/ is the only package.

Why it matters

docs/roadmap.md opens by promising it is "deliberately conservative: a feature appears under Completed only when it works end-to-end on a real host." A roadmap that under-reports is as misleading as one that over-reports — contributors pick up work that is already done, and #29 was filed for exactly this failure mode with metrics.

The work

  • Add delete to the Completed lifecycle line in docs/roadmap.md
  • Document container.remove in docs/protocol.md and docs/websocket-protocol.md: payload fields, that force is optional, and that absence means false — an omitted flag gets Docker's own refusal to remove a running container
  • Note that ContainerAction in container.result now has four values
  • Fix the repository-layout tree in docs/architecture.md to list only packages/protocol/

Worth documenting explicitly

The force semantics are the non-obvious part and are currently only written down in a code comment. The rule — absent means false, so an older or malformed message gets the safe behaviour — is repeated deliberately in four places (Go bool zero value, TypeScript optional property, the server's default parameter, the DTO's @IsOptional()). That reasoning belongs in the protocol docs.

Done when

  • container.remove is documented in both protocol pages with its force semantics
  • docs/roadmap.md lists container deletion under Completed
  • docs/architecture.md repository layout matches the actual packages/ contents

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 documentationgood first issueGood for newcomers

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions