Skip to content

[codex] unify walker planning with pinned upstream core - #1832

Merged
chsami merged 5 commits into
developmentfrom
agent/walker-upstream-sync-foundation
Aug 5, 2026
Merged

[codex] unify walker planning with pinned upstream core#1832
chsami merged 5 commits into
developmentfrom
agent/walker-upstream-sync-foundation

Conversation

@chsami

@chsami chsami commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • introduce an immutable walker planning boundary and package the reviewed shortest-path core at Skretzo/shortest-path@ff8e961b32120175709df9630ece9468cc11347f
  • add pinned-upstream shadow comparison plus an F2P-only, semantic-match-gated canary with explicit local fallback and rollback telemetry
  • preserve exact transport identity through planning and execution, expand transport requirement handling, and add drift/boundary checks
  • add repeatable F2P, underground, recovery, banking, performance, and rollout harnesses with sanitized tracked evidence
  • add a members-world shadow-only harness and coverage classification for skill, quest, state, and members-network requirements

Why

Microbot's walker had drifted from the upstream shortest-path planner while planner ownership, mutable state, and transport execution were spread across several runtime paths. That made upstream synchronization difficult and made it unsafe to judge planner authority from route shape alone.

This change establishes one owned planning contract, keeps the current local planner as the default authority, and makes upstream convergence measurable. The current canary remains deliberately match-gated: it only selects the pinned planner for eligible F2P routes after semantic agreement, and any divergence or failure retains the local route. Members routes remain shadow-only.

Impact

  • default behavior remains LOCAL
  • F2P canary rollout is reversible and evidence-gated
  • members route selection is not enabled
  • upstream source and transport drift become CI-visible
  • future planner authority requires engine-independent route validation and a reviewed divergence policy

Evidence

The tracked evidence at docs/evidence/walker/2026-08-05/ records:

  • 141/141 live shadow semantic matches
  • 71/71 observed arrivals across 12 sessions
  • 10/10 normal canary selections and arrivals
  • 10/10 forced upstream-failure fallbacks and arrivals
  • accepted performance ratio: upstream/local median 0.407 (555.2 ms / 1365.3 ms)

Validation

  • ./gradlew :client:runUnitTests — passed
  • python3 -m unittest discover -s scripts/tests -p 'test_*.py' — 100 passed
  • tracked shadow and rollout evidence reproduced byte-for-byte
  • vendored-core pin, plugin-state boundary, upstream drift, and reviewed transport baseline checks passed
  • workflow YAML parsed successfully

Review guidance

The commits are organized from the planner boundary and pinned core, through rollout/performance gates, to the final durable evidence and members shadow slice. ADR 0006 and docs/walker-planner-selection-gate.md describe the authority boundary and remaining exit criteria.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 210 files, which is 110 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 4b1e1b17-f4f2-44e6-b710-60aa704da6d5

📥 Commits

Reviewing files that changed from the base of the PR and between 9066ed8 and 2d42ed7.

⛔ Files ignored due to path filters (12)
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/agility_shortcuts.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/blocked_edges.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/canoes.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/collision-map.zip is excluded by !**/*.zip
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/minecarts.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/quetzals.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/ships.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/spirit_trees.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/teleportation_items.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/teleportation_minigames.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/teleportation_spells.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/transports.tsv is excluded by !**/*.tsv
📒 Files selected for processing (210)
  • .github/workflows/shortest-path-upstream-drift.yml
  • docs/F2P_WEBWALKER_HARNESS.md
  • docs/decisions/adr-0005-walker-transport-execution-boundary.md
  • docs/decisions/adr-0006-upstream-first-planner-convergence.md
  • docs/evidence/walker/2026-08-05/README.md
  • docs/evidence/walker/2026-08-05/performance-evidence.json
  • docs/evidence/walker/2026-08-05/rollout-evidence.json
  • docs/evidence/walker/2026-08-05/rollout-normal-input.json
  • docs/evidence/walker/2026-08-05/rollout-rollback-input.json
  • docs/evidence/walker/2026-08-05/shadow-evidence.json
  • docs/evidence/walker/2026-08-05/shadow-input-01-f2p-underground.json
  • docs/evidence/walker/2026-08-05/shadow-input-02-surface-teleport.json
  • docs/evidence/walker/2026-08-05/shadow-input-03-surface-teleport.json
  • docs/evidence/walker/2026-08-05/shadow-input-04-canoe.json
  • docs/evidence/walker/2026-08-05/shadow-input-05-terminal-travel.json
  • docs/evidence/walker/2026-08-05/shadow-input-06-active-replan.json
  • docs/evidence/walker/2026-08-05/shadow-input-07-recovery.json
  • docs/evidence/walker/2026-08-05/shadow-input-08-bank.json
  • docs/evidence/walker/2026-08-05/shadow-input-09-active-replan.json
  • docs/evidence/walker/2026-08-05/shadow-input-10-underground.json
  • docs/evidence/walker/2026-08-05/shadow-input-11-underground.json
  • docs/evidence/walker/2026-08-05/shadow-input-12-underground.json
  • docs/walker-audit.md
  • docs/walker-p2-unification.md
  • docs/walker-planner-selection-gate.md
  • docs/walker-roadmap.md
  • microbot-cli
  • runelite-client/build.gradle.kts
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/Script.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/agentserver/AgentServerPlugin.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/agentserver/handler/WalkerShadowHandler.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/QuestScript.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/PlannerSelectionMode.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/ShortestPathConfig.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/ShortestPathPlugin.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/Transport.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/TransportExecutionRegistry.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/TransportItemRequirement.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/TransportItemResolver.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/UPSTREAM_COMPARISON.md
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/WEBWALKER_IMPROVEMENT_PLAN.md
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/CollisionMap.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/Node.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathEdge.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathTerminationReason.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/Pathfinder.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderConfig.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/TransportNode.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/TransportPlanningPolicy.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/testing/TestRunnerPlugin.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/testing/webwalker/F2PWebWalkerHarnessPlugin.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/testing/webwalker/F2PWebWalkerRoute.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/testing/webwalker/GeLumbridgeTeleportHarnessPlugin.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/bank/Rs2Bank.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/depositbox/Rs2DepositBox.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/leaguetransport/LeaguesTransportInjection.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/leaguetransport/Rs2LeaguesTransport.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/magic/Rs2Magic.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/magic/Rs2Staff.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/magic/Rs2Tome.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/npc/Rs2NpcManager.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/poh/PohTeleports.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/skills/slayer/Rs2Slayer.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2ActiveRouteStatus.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2HotAirBalloon.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PathApi.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlannerCanaryPerformanceStats.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlannerShadowComparison.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlannerShadowContext.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlannerShadowCoverageStats.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlannerShadowStats.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlanningSnapshot.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RouteMetrics.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RoutePlanner.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RoutePolicy.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RouteRequest.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RouteResult.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RouteStep.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RouteTermination.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TerminalTravelMode.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TransportEdge.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TransportExecutor.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TransportItemRequirement.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TransportLoadout.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TransportPlanningPolicy.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TransportType.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2Walker.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2WalkerShadowExecutionStats.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/TransportRouteAnalysis.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/UpstreamRoutePlanner.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/awaits/Rs2WalkerRuntimeAwaits.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/banking/Rs2WalkerBankingPlanner.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/door/Rs2DoorProbe.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/lifecycle/Rs2WalkerLifecycleRuntime.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/obstacle/LiveScene.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/obstacle/Rs2LiveScene.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/obstacle/Rs2ObstacleHandler.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/obstacle/TransportResolver.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/recovery/RouteRecovery.java
  • runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/agentserver/handler/WalkerShadowHandlerTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/LiveCollisionTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/ShortestPathCoreTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/TransportExecutionRegistryTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/TransportItemRequirementTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/WalkerRouteCorpusTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderConfigTransportRefreshHashTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderHomeTeleportTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderItemRequirementTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderPathMaterializationTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderSpecialRequirementTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderTerminationReasonTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/TransportPlanningPolicyTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/testing/TestRunnerPluginTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/testing/webwalker/F2PWebWalkerRouteTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/LocalPlannerComparisonMain.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/Rs2HotAirBalloonTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/Rs2PathApiPlanningTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlannerShadowContextTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/Rs2WalkerUnitTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/TargetWalkabilityPreflightTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/TransportRouteAnalysisTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/UpstreamRoutePlannerTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/banking/BankedTransportItemPlanningTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/door/Rs2DoorProbeTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/obstacle/MineableResolverTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/obstacle/ObstacleRegistryTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/obstacle/TransportResolverTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/recovery/RouteRecoveryTest.java
  • runelite-client/src/test/resources/threadsafety/client-thread-guardrail-baseline.txt
  • runelite-client/src/upstreamPlanner/ADAPTER_PATCHES.md
  • runelite-client/src/upstreamPlanner/LICENSE
  • runelite-client/src/upstreamPlanner/README.md
  • runelite-client/src/upstreamPlanner/UPSTREAM_REVISION
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/Destination.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/DestinationRequirements.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/ItemVariations.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/JewelleryBoxTier.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/PrimitiveIntHashMap.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/PrimitiveIntList.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/ShortestPathConfig.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/ShortestPathPlugin.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/TeleportationItem.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/TileCounter.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/TileStyle.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/Util.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/WorldPointUtil.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/leagues/LeagueModeState.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/leagues/LeagueRegion.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/leagues/LeagueRegionChecker.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/AbstractNodeKind.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/CollisionMap.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/EdgeOverride.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/IntDeque.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/IntMinHeap.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/NodeGraph.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/OrdinalDirection.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/PathStep.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/PathTerminationReason.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/Pathfinder.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/PathfinderConfig.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/PathfinderResult.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/SplitFlagMap.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/TransportAvailability.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/VisitedTiles.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/WildernessChecker.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/BankPickupRequirements.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/LoadInterner.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/Transport.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/TransportLoader.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/TransportType.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/TransportTypeConfig.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/FieldParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/ItemRequirementParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/QuestParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/SkillRequirementParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/TransportRecord.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/TsvParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/VarCheckType.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/VarRequirement.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/VarRequirementParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/WorldPointParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/requirement/ItemRequirement.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/requirement/TransportItems.java
  • scripts/check-shortest-path-boundary.py
  • scripts/check-shortest-path-upstream.py
  • scripts/check-shortest-path-vendored-core.py
  • scripts/compare-shortest-path-planners.py
  • scripts/compare-shortest-path-transports.py
  • scripts/evaluate-walker-rollout-evidence.py
  • scripts/evaluate-walker-shadow-evidence.py
  • scripts/report-shortest-path-planner-performance.py
  • scripts/run-f2p-webwalker-harness.sh
  • scripts/run-ge-lumbridge-teleport-harness.sh
  • scripts/run-members-webwalker-harness.sh
  • scripts/shortest-path-planner-corpus.json
  • scripts/shortest-path-planner-harness/README.md
  • scripts/shortest-path-planner-harness/UpstreamPlannerComparisonMain.java
  • scripts/shortest-path-planner-harness/upstream-exact-transport-identity.patch
  • scripts/shortest-path-planner-harness/upstream-planner-comparison.init.gradle
  • scripts/shortest-path-transport-baseline.json
  • scripts/shortest-path-upstream-baseline.json
  • scripts/shortest-path-vendored-core-baseline.json
  • scripts/tests/test_check_shortest_path_boundary.py
  • scripts/tests/test_check_shortest_path_vendored_core.py
  • scripts/tests/test_compare_shortest_path_planners.py
  • scripts/tests/test_compare_shortest_path_transports.py
  • scripts/tests/test_evaluate_walker_rollout_evidence.py
  • scripts/tests/test_evaluate_walker_shadow_evidence.py
  • scripts/tests/test_report_shortest_path_planner_performance.py

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chsami
chsami marked this pull request as ready for review August 5, 2026 19:41
@chsami
chsami merged commit 5c1afb1 into development Aug 5, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants