[Terminology] Clarify worker vs service vs daemon naming #60

Closed
opened 2026-03-25 03:42:16 +00:00 by Mark · 2 comments
Owner

Problem

Multiple components use inconsistent terminology that confuses the ephemeral worker model:

Current Confusions

1. "Daemon" terminology for workers

Files affected:

  • capabilities/_nerve/node_deploy/run.py:129 - "Start mesh worker daemon"
  • tools/mesh_node_deployer/tool.py:131,257 - "start_daemon" steps
  • docker/mesh_node.py:3 - "Mesh infrastructure node daemon"

Issue: Workers are ephemeral, not daemons. Daemons imply long-running background processes.

Fix: Use "worker process" or just "worker" instead of "daemon".

2. "Service" terminology mixed with workers

Files affected:

  • runtime/auto_scaler.py:1 - "Auto-scaler service"
  • runtime/worker_registry.py:5 - "Centralized service for:"
  • capabilities/deployment_manager.py - Multiple "service" references
  • substrate/tailnet_discovery.py - "run_daemon()" for discovery

Issue: "Service" implies a standing component, not ephemeral execution.

Clarification needed:

  • Infrastructure components (auto-scaler, discovery, registry) ARE services/daemons
  • Ephemeral workers are NOT services
  • Need clear distinction in naming

3. Worker lifecycle state confusion

Files affected:

  • substrate/ledger.py:195 - WorkerInstance state includes "spawned"
  • capabilities/_muscle/worker_factory/run.py - Multiple comments about "NO SPAWNING"

Issue: The term "spawn" is used for both:

  • Factory defining workers (not actually spawning OS processes)
  • Actual OS process creation

Proposed Resolution

Terminology Standard

Infrastructure (Long-running):

  • "service" - Mesh infrastructure component (registry, discovery, etc.)
  • "daemon" - Long-running background process (only for infrastructure)

Execution (Ephemeral):

  • "worker" - Ephemeral execution unit
  • "process" - OS-level process (when technical)
  • "instance" - Running occurrence of a worker
  • "spawn" - Create OS process (not factory definition)

Actions Needed

  1. Rename "daemon" to "process" in node_deploy contexts
  2. Clarify which components are services vs workers
  3. Standardize "spawn" to mean OS process creation only
  4. Update comments and documentation
  • worker_factory explicitly states: "FACTORY INVARIANT: worker_factory DOES NOT spawn workers"
  • Workers are ephemeral per mesh paradigm
  • Only infrastructure can be long-running services
## Problem Multiple components use inconsistent terminology that confuses the ephemeral worker model: ## Current Confusions ### 1. "Daemon" terminology for workers **Files affected:** - `capabilities/_nerve/node_deploy/run.py:129` - "Start mesh worker daemon" - `tools/mesh_node_deployer/tool.py:131,257` - "start_daemon" steps - `docker/mesh_node.py:3` - "Mesh infrastructure node daemon" **Issue:** Workers are ephemeral, not daemons. Daemons imply long-running background processes. **Fix:** Use "worker process" or just "worker" instead of "daemon". ### 2. "Service" terminology mixed with workers **Files affected:** - `runtime/auto_scaler.py:1` - "Auto-scaler service" - `runtime/worker_registry.py:5` - "Centralized service for:" - `capabilities/deployment_manager.py` - Multiple "service" references - `substrate/tailnet_discovery.py` - "run_daemon()" for discovery **Issue:** "Service" implies a standing component, not ephemeral execution. **Clarification needed:** - Infrastructure components (auto-scaler, discovery, registry) ARE services/daemons - Ephemeral workers are NOT services - Need clear distinction in naming ### 3. Worker lifecycle state confusion **Files affected:** - `substrate/ledger.py:195` - WorkerInstance state includes "spawned" - `capabilities/_muscle/worker_factory/run.py` - Multiple comments about "NO SPAWNING" **Issue:** The term "spawn" is used for both: - Factory defining workers (not actually spawning OS processes) - Actual OS process creation ## Proposed Resolution ### Terminology Standard **Infrastructure (Long-running):** - "service" - Mesh infrastructure component (registry, discovery, etc.) - "daemon" - Long-running background process (only for infrastructure) **Execution (Ephemeral):** - "worker" - Ephemeral execution unit - "process" - OS-level process (when technical) - "instance" - Running occurrence of a worker - "spawn" - Create OS process (not factory definition) ### Actions Needed 1. Rename "daemon" to "process" in node_deploy contexts 2. Clarify which components are services vs workers 3. Standardize "spawn" to mean OS process creation only 4. Update comments and documentation ## Related - worker_factory explicitly states: "FACTORY INVARIANT: worker_factory DOES NOT spawn workers" - Workers are ephemeral per mesh paradigm - Only infrastructure can be long-running services
Author
Owner

Ops Pipeline — ❌ Failed

Issue: #60 — [Terminology] Clarify worker vs service vs daemon naming
Host: localhost
Research: See execution output below

Execution

  • [cmd] -# Start tailnet discovery service\npython substrate/tailnet_discovery.py --service: exit=2: | stderr: bash: -#: invalid option
    Usage: bash [GNU long option] [option] ...
    bash [GNU long option] [option]
  • [cmd] +# Start tailnet discovery service: exit=2: | stderr: bash: +#: invalid option
    Usage: bash [GNU long option] [option] ...
    bash [GNU long option] [option]
  • [cmd] +python substrate/tailnet_discovery.py --service: exit=2: | stderr: bash: +y: invalid option
    Usage: bash [GNU long option] [option] ...
    bash [GNU long option] [option]
  • [cmd] ┊ review diff: exit=127: | stderr: bash: line 1: ┊: command not found
  • [cmd] a//home/b/Projects/mesh-seed/docs/reference/DEPLOYMENT_RUNBOOK.md → b//home/b/Projects/mesh-seed/doc: exit=127: | stderr: bash: line 1: a//home/b/Projects/mesh-seed/docs/reference/DEPLOYMENT_RUNBOOK.md: No such file or dir
  • [cmd] @@ -113,13 +113,15 @@: exit=127: | stderr: bash: line 1: @@: command not found
  • [cmd] python evolution/model_analysis.py --weekly: exit=2: | stderr: python: can't open file '/home/b/evolution/model_analysis.py': [Errno 2] No such file or directory
  • [cmd] cd ~/Projects/mesh-seed: exit=0:
  • [cmd] git diff --stat # Should show 5 files changed, ~28 insertions, ~26 deletions: exit=129: | stderr: warning: Not a git repository. Use --no-index to compare two paths outside a working tree
    usage: git
  • [cmd] pytest tests/ -x -q --timeout=60 2>/dev/null | tail -5: exit=0:

Verification

All 2 execution blocks had failures

Verification failed. Marked for retry.

## Ops Pipeline — ❌ Failed **Issue:** #60 — [Terminology] Clarify worker vs service vs daemon naming **Host:** localhost **Research:** See execution output below ### Execution - [cmd] -# Start tailnet discovery service\npython substrate/tailnet_discovery.py --service: exit=2: | stderr: bash: -#: invalid option Usage: bash [GNU long option] [option] ... bash [GNU long option] [option] - [cmd] +# Start tailnet discovery service: exit=2: | stderr: bash: +#: invalid option Usage: bash [GNU long option] [option] ... bash [GNU long option] [option] - [cmd] +python substrate/tailnet_discovery.py --service: exit=2: | stderr: bash: +y: invalid option Usage: bash [GNU long option] [option] ... bash [GNU long option] [option] - [cmd] ┊ review diff: exit=127: | stderr: bash: line 1: ┊: command not found - [cmd] a//home/b/Projects/mesh-seed/docs/reference/DEPLOYMENT_RUNBOOK.md → b//home/b/Projects/mesh-seed/doc: exit=127: | stderr: bash: line 1: a//home/b/Projects/mesh-seed/docs/reference/DEPLOYMENT_RUNBOOK.md: No such file or dir - [cmd] @@ -113,13 +113,15 @@: exit=127: | stderr: bash: line 1: @@: command not found - [cmd] python evolution/model_analysis.py --weekly: exit=2: | stderr: python: can't open file '/home/b/evolution/model_analysis.py': [Errno 2] No such file or directory - [cmd] cd ~/Projects/mesh-seed: exit=0: - [cmd] git diff --stat # Should show 5 files changed, ~28 insertions, ~26 deletions: exit=129: | stderr: warning: Not a git repository. Use --no-index to compare two paths outside a working tree usage: git - [cmd] pytest tests/ -x -q --timeout=60 2>/dev/null | tail -5: exit=0: ### Verification ``` All 2 execution blocks had failures ``` **Verification failed.** Marked for retry.
Author
Owner

Ops Pipeline — Not an Ops Task

This issue was labeled ops-task but doesn't appear to be an operations task. It has been returned to feature triage for proper routing.

Research analysis:
IS_OPS: NO
HOST: localhost
STATUS: NOT_OPS
EVIDENCE: This issue is about text replacements across documentation, CLI help strings, and code comments — renaming "daemon" to "process", clarifying "service" vs "worker" terminology, and fixing "spawn" usage. There's not a single installation, config change, deployment, API call, service restart, SSH command, or infrastructure action required. It's a pure naming/documentation refactor.

PROCEDURE: N/A — not an ops task. This would belong in feature triage as a codebase-wide find-and-replace/refactor issue. The operations to be done are sed/patch calls against source files for string replacements, plus reviewing each site for semantic correctness. No operational commands.

VERIFY: N/A

RISKS: N/A

## Ops Pipeline — Not an Ops Task This issue was labeled `ops-task` but doesn't appear to be an operations task. It has been returned to feature triage for proper routing. **Research analysis:** IS_OPS: NO HOST: localhost STATUS: NOT_OPS EVIDENCE: This issue is about text replacements across documentation, CLI help strings, and code comments — renaming "daemon" to "process", clarifying "service" vs "worker" terminology, and fixing "spawn" usage. There's not a single installation, config change, deployment, API call, service restart, SSH command, or infrastructure action required. It's a pure naming/documentation refactor. PROCEDURE: N/A — not an ops task. This would belong in feature triage as a codebase-wide find-and-replace/refactor issue. The operations to be done are `sed`/`patch` calls against source files for string replacements, plus reviewing each site for semantic correctness. No operational commands. VERIFY: N/A RISKS: N/A
Mark 2026-06-16 14:51:24 +00:00
  • closed this issue
  • removed the
    quickfix
    label
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Mark/mesh-seed#60
No description provided.