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
- Executing host:
rdmpw3275m(x86_64, macOS 26.7.1) - Canonical dev hub:
rdmsm4x:~/dev/apps/Tyrell - Worktree:
/Users/richh/dev/_worktrees/tyrell-feat-20260905-10-orchestrator-p1(merged & deleted) - Ticket:
FEAT-20260905-10underEPIC-20260905-01
2. Changes Delivered
- Session Attribution & MCP Tier Exposure (Criterion
1):
- In
Sources/TyrellCore/Telemetry/SessionAttribution.swift: Addedtierproperty toAgentSessionanddefaultTier(for:rootName:processCount:roleCounts:)deriving tiers (lead,worker,operator,container,system) with backward-compatible Codable decoding. - In
Sources/tyrell-mcp/MCPMain.swift: Exposedtierandhostinsession_registryMCP tool.
- In
- Ticket Family Conflicts (Criterion 2):
- In
Sources/TyrellCore/Telemetry/ConflictDetection.swift: AddedConflictKind.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: Updatedcmd_claimsSQL query to jointickets tand exposet.parentinticket claims --json.
- In
- Returning Lane Reclaimed (Criterion 5):
- In
Sources/TyrellCore/Telemetry/ConflictDetection.swift: AddedConflictKind.returningLaneReclaimed(policyRule: 2) andConflictVerdict.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: Updatedcmd_claimsto subqueryclaim_events eforprior_holder,prior_expires_atinticket claims --json.
- In
- P1 Report-Only Invariant (Criterion 6):
- Every conflict carries verdict and policyRule with
holdsIssued == 0.
- Every conflict carries verdict and policyRule with
- False-Positive Audit Harness & Live Verification
(Criterion 7):
- Created
scripts/compare_conflicts_load_guard.pyandTests/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).
- Created
3. Verification Evidence
swift test --filter ConflictDetectionTests: 60/60 tests passed across 13 suites in 0.026s.python3 Tests/ScriptTests/compare_conflicts_contract_test.py: 5/5 tests passed in 0.000s.- Live scan:
python3 scripts/compare_conflicts_load_guard.py --run-live --jsonreturnedpassed: true,false_positive_rate: 0.0%. - Canonical integration: Merged
d2340a1intomain(4036565..3de11a0) and pushed tofleet(git.ecs0.net:git/apps/Tyrell.git) andbackup(github.com/richhdoty/rdmsm4x-dev-apps-tyrell.git). - Ticket
FEAT-20260905-10marked resolved indev/issues(commitdf30665) and pushed tofleetandbackup. - Fleet broadcast sent via
agent_msg.zsh broadcast --topic feat-20260905-10-resolvedand synced to all 5 peers.
4. How to Undo
git revert d2340a1 3de11a0inrdmsm4x:~/dev/apps/Tyrell