Skip to content

Expose concurrency lock metadata (lockKey/lockScope) in machine-readable output #300

@jongalloway

Description

@jongalloway

Summary

When machineReadable: true, MCP results do not expose what concurrency lock was selected. Consumers can’t confirm lock granularity, explain contention, or implement higher-level orchestration policies confidently.

Expected

Include concurrency lock metadata in machine-readable output:

  • lockScope: project | solution | workingDirectory | global
  • lockKey: stable identifier (recommended: normalized full path to the locked .csproj/.sln; acceptable: documented hash)

If contention occurred, also include:

  • lockContended: true
  • lockWaitedMs: time spent waiting
  • lockOwner: optional (PID/session id) if safe/available

Documented lock selection rule

  • If project is provided: lock on that .csproj/.sln
  • Else: discover .csproj/.sln under workingDirectory and lock on the discovered target

Acceptance criteria

  • Machine-readable output contains lock info for relevant tools.
  • Contention is observable without parsing logs.
  • Lock keys are stable across invocations on the same target.

Metadata

Metadata

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions