rdmpw3275m-changelog-20260922-2253-tyrell-plan-mode-gating-and-lineage-forking-feat-20260905-18
rdmpw3275m-changelog-20260922-2253-tyrell-plan-mode-gating-and-lineage-forking-feat-20260905-18
Implemented plan vs default interaction modes, read-only boundary tool gating, structured OrchestrationProposedPlan persistence, and implementation worktree forking with causal lineage tracking (FEAT-20260905-18).
Scope
- Hosts:
rdmpw3275m(Intel macOS 26.7.1, execution),rdmsm4x(M4 Max macOS 27.0, canonical hub verification, merge & push). - Repos:
apps/Tyrell(git.ecs0.net:git/apps/Tyrell.git,github.com/richhdoty/rdmsm4x-dev-apps-tyrell.git). - Commits:
c369f9e(merged ontomainon canonicalrdmsm4xandrdmpw3275m).
Files Touched
Package.swift: Added"Planning"directory toTyrellRemoteSupportexclusion list to maintain clean compilation without SPM resource warnings.Sources/TyrellCore/Planning/InteractionMode.swift: DefinedInteractionMode(.default,.plan),PlanModeBoundaryVerdict(.allowed,.refused), andInteractionModeGateevaluating operations/tools at the boundary (refuses destructive file modifications and shell commands during plan mode; allows read-only tools; permits all authorized tools in default mode).Sources/TyrellCore/Planning/OrchestrationProposedPlan.swift: DefinedProposedPlanStep,PlanStatus(proposed,approved,rejected,executed,cancelled),OrchestrationProposedPlan, and thread-safe actorProposedPlanStorepersisting structured plan records to~/.tyrell/plans/<id>.json. IncludesapprovePlanwhich automatically forks a dedicated implementation worktree viaECSWorktreeManager.createWorktreewith branchimpl/<planID>-<slug>and setsplanIDon the worktree.Sources/TyrellCore/Bootstrap/TyrellBootstrap.swift: AddedplansDirectorypointing to~/.tyrell/plans.Sources/TyrellCore/Safety/TurnInterruption.swift: AddedinteractionMode: InteractionModeandplanID: String?toTurnRecord, anddispatchTurnhelper toTurnStateStore.Sources/TyrellCore/Worktree/WorktreeModels.swift: AddedplanID: String?toWorktreeInstance.Sources/TyrellCore/Worktree/ECSWorktreeManager.swift: AddedplanID: String? = nilparameter tocreateWorktree, configuredgit config tyrell.plan-id <planID>in created worktrees, and addedworktrees(forPlanID:)lineage query helper.Tests/TyrellCoreTests/InteractionModeTests.swift: 4 comprehensive test cases covering turn dispatching in both modes, tool boundary gating in both directions, plan persistence with stable IDs, and plan approval worktree forking with causal lineage tracking.
Commands Run
# Compilation & Test Verification on Intel rdmpw3275m
swift build --target TyrellCore
swift test --filter InteractionModeTests
swift test --filter "TurnInterruptionTests|WorktreeEngineTests|ApprovalQueueTests"
# Push feature branch to fleet
git push fleet agy/feat-20260905-18
# Verification & Test on Apple Silicon rdmsm4x
ssh [email protected] "git -C /Users/richh/dev/apps/Tyrell fetch fleet agy/feat-20260905-18"
ssh [email protected] "git -C /Users/richh/dev/apps/Tyrell worktree add /Users/richh/dev/_worktrees/tyrell-test-feat-18 fleet/agy/feat-20260905-18"
ssh [email protected] "swift test --package-path /Users/richh/dev/_worktrees/tyrell-test-feat-18 --filter InteractionModeTests"
ssh [email protected] "git -C /Users/richh/dev/apps/Tyrell worktree remove --force /Users/richh/dev/_worktrees/tyrell-test-feat-18"
# Fast-forward merge on canonical rdmsm4x and push to remotes
ssh [email protected] "git -C /Users/richh/dev/apps/Tyrell merge --ff-only fleet/agy/feat-20260905-18"
ssh [email protected] "git -C /Users/richh/dev/apps/Tyrell push fleet main && git -C /Users/richh/dev/apps/Tyrell push backup main"
# Fast-forward merge local scratch on rdmpw3275m
git -C /Users/richh/dev/apps/Tyrell fetch fleet main && git -C /Users/richh/dev/apps/Tyrell merge --ff-only fleet/main
# Ticket closeout & fleet message bus
~/bin/ticket resolve FEAT-20260905-18 --as "agent@rdmpw3275m/agy-rdmpw3275m" ...
~/.agent-coordination/agent_msg.zsh broadcast --topic resolve-feat-20260905-18 ...
~/.agent-coordination/agent_msg.zsh syncVerification Evidence
InteractionModeTestson Intel (rdmpw3275m, x86_64 macOS 26.7.1): 4/4 passing (0.57s).TurnInterruptionTests,WorktreeEngineTests,ApprovalQueueTestsregressions on Intel: 34/34 passing (9.38s).InteractionModeTestson Apple Silicon (rdmsm4x, arm64 macOS 27.0): 4/4 passing (0.29s).- Ticket
FEAT-20260905-18resolved cleanly onrdmsm4xandrdmpw3275m.
Backup Locations & Undo
- Git branch
agy/feat-20260905-18preserved onfleet. - Previous HEAD was
9bbdc06. Undo viagit reset --hard 9bbdc06if roll-back ever needed.
Outstanding Owner Actions
- None. Full autonomous delivery complete.