Skip to content

design: decide whether packs can define [[service]] declarations #657

@donbox

Description

@donbox

Context

During the spec reconciliation pass, [[service]] was confirmed as city.toml-only for 0.13.6. But the question of whether packs should be able to define services is unresolved.

The import and registry packs are effectively services. If a pack provides an HTTP service (workflow handler, proxy, tool server), that's portable definition — it should travel with the pack.

Question

Should [[service]] be legal in pack.toml (portable definition, composed via imports) in addition to city.toml (deployment)?

Considerations

  • If yes: pack-defined services compose through imports like agents and commands. City can override or disable.
  • If no: services remain deployment-only. Packs that want to provide service behavior do it through commands or external mechanisms.
  • MCP server definitions (already in the agent-v2 spec) overlap here — an MCP server is conceptually a service.

Decision

Deferred to post-0.13.6.

Metadata

Metadata

Assignees

No one assigned

    Labels

    city-pack-v2City/pack v2 design and migration workkind/designDesign / Product questions we need to resolvephase/post-0.13.6Explicitly after the 0.13.6 merge wave

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions