Fleet changelogs · dev.ecs0.net
rdmpw3275m-changelog-20260921-1356-feat-20260905-10-orchestrator-p1-conflicts-and-session-registry

rdmpw3275m-changelog-20260921-1356-feat-20260905-10-orchestrator-p1-conflicts-and-session-registry

Orchestrator P1 conflict detection surface and session registry tiering completed, verified with 60/60 ConflictDetectionTests, 5/5 script contract tests, and 0.0% false-positive rate across 127 fleet worktrees (FEAT-20260905-10).

1. Scope & Hosts

2. Changes Delivered

  1. Session Attribution & MCP Tier Exposure (Criterion 1):
    • In Sources/TyrellCore/Telemetry/SessionAttribution.swift: Added tier property to AgentSession and defaultTier(for:rootName:processCount:roleCounts:) deriving tiers (lead, worker, operator, container, system) with backward-compatible Codable decoding.
    • In Sources/tyrell-mcp/MCPMain.swift: Exposed tier and host in session_registry MCP tool.
  2. Ticket Family Conflicts (Criterion 2):
    • In Sources/TyrellCore/Telemetry/ConflictDetection.swift: Added ConflictKind.ticketFamilyConflict (policyRule: 1). Detects concurrent claims across parent epic and child tickets when held by distinct agents. False-positive guards: silent if same holder owns both parent and child, or if both claims are lapsed.
    • In /Users/richh/dev/issues/bin/ticket: Updated cmd_claims SQL query to join tickets t and expose t.parent in ticket claims --json.
  3. Returning Lane Reclaimed (Criterion 5):
    • In Sources/TyrellCore/Telemetry/ConflictDetection.swift: Added ConflictKind.returningLaneReclaimed (policyRule: 2) and ConflictVerdict.holdReturningLane. Detects returning active sessions whose ticket lease lapsed and was re-claimed by another holder, calculating and reporting the missed commit range (priorCommit..head).
    • In /Users/richh/dev/issues/bin/ticket: Updated cmd_claims to subquery claim_events e for prior_holder, prior_expires_at in ticket claims --json.
  4. P1 Report-Only Invariant (Criterion 6):
    • Every conflict carries verdict and policyRule with holdsIssued == 0.
  5. False-Positive Audit Harness & Live Verification (Criterion 7):
    • Created scripts/compare_conflicts_load_guard.py and Tests/ScriptTests/compare_conflicts_contract_test.py.
    • Live execution on rdmsm4x: evaluated 50 detected conflicts across 127 worktrees and 1,027 processes: 50 true positives, 0 false positives, 0.0% false-positive rate (<= 5.0% threshold).

3. Verification Evidence

4. How to Undo