Skip to content

[WIP] BDSP Autostory - #1717

Draft
Developer-Butters wants to merge 39 commits into
PokemonAutomation:mainfrom
Developer-Butters:BDSP/AutoStory
Draft

Developer-Butters wants to merge 39 commits into
PokemonAutomation:mainfrom
Developer-Butters:BDSP/AutoStory

Conversation

@Developer-Butters

@Developer-Butters Developer-Butters commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Purpose

This WIP PR serves as the main overview of the BDSP Autostory Project. It is primarily modeled after the SV autostory, although several things necessarily differ dure to the game mechanics. This has been a collaborative endeavor with Boombaastical, ArceusMI, GumGumDragoon, and myself(Developer-Butters), so there are different coding styles that need to be normalized and cleaned up as we work to finish this project. There are also several areas where we have used AI to rewatch video play throughs of the project and allowed it to make adjustments. As a WIP, nothing is final and it is not officially ready for review.

This draft presents the overall design for early feedback. It does not represent a finished or fully validated program. It also relies on a branch of the Packages Repo which will have its own set of PRs as we create smaller ones for full merge. I have included our current roadmap below.

I have used AI to summarize discussions the team has had below and outline the current status of the project, outstanding issues, and future design ideas and features.

ArceusMI brought up that this may be overkill for the PR, but I have a habit of liking to overexplain than underexplain. I will try to be more concise in the future smaller PRs and update this one with any new macro information or design changes.

Current work in Progress

  • Complete Segment 03 and validate existing Segments 04–09. (assigned Developer Butters)
  • Consolidate overlapping helpers and remove obsolete code and documentation. (assigned ArceusMI and GumGumDragoon)

Architecture compared with SV AutoStory

BDSP largely follows SV AutoStory’s program structure:

  • Single-switch program with tutorial and main-story selection.
  • Normal segment mode and advanced checkpoint mode.
  • Common segment/checkpoint interfaces and ordered registries.
  • Options and statistics passed through route execution.
  • Checkpoint-oriented saving, retries, and game resets.

Our goal is to make program-level behavior nearly identical wherever practical, including configuration, startup checks, checkpoint contracts, notifications, error reporting, statistics, and developer controls. However, BDSP’s menus and graphics have made some things difficult to recreate from SV AutoStory.

Game mechanics require some differences. BDSP navigation uses landmark matching, wall alignment, doorway detection, and interruptible movement rather than SV’s minimap, camera, and map-marker systems. We’ve also been unable so far to reliably verify that the game is saved before moving on. In practice, we have observed the save sequence working, but we haven’t been able to make the program reliably verify that the save completed.

Current program-level gaps include recoverable-error reporting, checkpoint context in retry logs, startup validation, diagnostic gating, and incomplete recovery paths. These are tracked separately from justified game limitations.

Current implementation

Segments 00–09 are registered.

  • Segments 00–01: Tutorial and first-badge routes exist and have received substantial reliability work; broader validation remains.
  • Segment 02: Route and detector work exists through the approach to Eterna; checkpoint handoffs and recovery need continued validation.
  • Segment 03: Active implementation and validation, including Eterna, Galactic HQ, bike acquisition, and Cycling Road.
  • Segments 04–09: Existing route implementations to test and audit for missing functionality and unsupported states.

Reference images and other assets live in the separate Packages repository. Required source and resource revisions must be coordinated.

Testing

Testing so far has included Windows with an ESP32-S3 controller using both Switch 1 and Switch 2 consoles, as well as macOS.

Validation is ongoing; full-story reliability, all-language compatibility, and recovery coverage remain work in progress.

We will need additional testign with the other supported controllers as we approach a final product.

Offline-test cleanup (2026-10-24)

BDSP code now uses the project JSON and UTF-8 filesystem utilities in place of Qt file/resource lookup and direct filesystem calls. The main unit-test runner registers the BDSP Bag/menu suites and resolves fixtures through UNIT_TEST_RESOURCE_PATH().

Coordinated revisions:

The BDSP screenshot suites require the CommandLineTests revision above. Runtime reference images remain in Packages. Packages and CommandLineTests do not yet have companion PRs.

Validation: Windows Debug build passed; 478 Bag checks and 26 menu checks passed; 15 additional resource/error/layout checks passed, including non-ASCII paths and isolated development/installed resource discovery. All 3,159 source files in the CI tab-check scope were tab-free.

Full local command-line suite: 29,465 passed, 928 failed, zero skipped. The failure count matches the pre-cleanup run; logs include missing PaddleOCR model, image resources, and MP3 fixtures. Live route validation remains ongoing.

Preliminary roadmap

The original five phases remain our planning framework. Some work overlaps, and the roadmap will be refined as we validate the remaining routes.

  1. Setup: Research and document the route, develop the user experience, identify information sources, and account for moving NPCs and key fights. Review existing routes for missing information rather than assume they need to be rebuilt.
  2. Streamlining: Use joystick movement where appropriate, develop and reuse helpers, improve NPC and location detection, and refine trainer-based battle handling. Determine money and item requirements at relevant cities and maintain buy lists. Optimize movement against a validated route baseline.
  3. Cleanup: Consolidate reusable helpers, remove obsolete files and documentation, and normalize coding style and formatting. Keep route-specific sequences in their segment files and review checkpoint descriptions together with their actual boundaries.
  4. Beta testing and release preparation: Broaden testing across supported controllers, consoles, platforms, and languages. Validate checkpoint recovery and coordinate source and Packages changes before final merge and release.
  5. Future implementation: Identify desired upgrades, determine the changes they require, and plan them with clear dependencies and acceptance criteria. Candidates include further movement optimization, capture-hardware robustness testing, and improved developer testing and diagnostics.

Remaining work

  • Align program behavior with SV wherever practical and document justified deviations.
  • Support and validate every language supported by BDSP.
  • Make retained diagnostics developer-mode only, or remove them before final merge.
  • Complete checkpoint save/retry contracts and unsupported recovery paths.
  • Validate starter species, level, party position, and required moves before main-story movement.
  • Handle fainted-starter and unexpected battle states.
  • Verify checkpoint starting positions, endpoints, state, and reset recovery.
  • Audit and publish required Packages resources.
  • Complete clean-checkout, CI, and live regression validation before final merge.
  • Create the "unassisted" mode route modifiers (this is future implementation)

Requested feedback

We would appreciate feedback on the SV-derived architecture, checkpoint and recovery contracts, BDSP helper/detector boundaries, resource distribution, and the order in which to extract focused PRs.

@Developer-Butters

Copy link
Copy Markdown
Contributor Author

A note about some of the standalone test programs: these are not intended for use beyond the project and will be removed at a later date.

@Developer-Butters

Developer-Butters commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor Author

in light of the contributions.md and agents.md that have been added recently to the upstream/main project, I'm also conducting an audit of our code to identify anything that goes against these documents. Anything that goes against those documents will be updated as I identify them.

@Dalton-V

Copy link
Copy Markdown
Member

I'd strongly recommend adding tests and test images for all new and edited inference classes.

namespace PokemonBDSP{


void clear_dialog(

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file can probably get removed? I saw the comment about remove obsolete code, maybe this was already on that list.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's a lot that needs to be cleaned up, but yeah I'll make sure this one gets the axe.

@Mysticial

Copy link
Copy Markdown
Collaborator

As discussed on Discord, it's going to be a long process to get this fully in. But the obvious starting point would be all the new detectors.

I would do a separate PR for each detector - complete with tests and their corresponding images in the CommandLineTests repo.

dayfine added a commit to dayfine/Arduino-Source that referenced this pull request Oct 25, 2026
Reorder the plan so the first PRs touch only FRLG files and end in a runnable
pilot (new game -> Boulder Badge in about 10 PRs, first runnable at PR 5),
with an F3 go/no-go gate on checkpoints and Switch hours. The SV/BDSP shared
run flow moves to a later phase. Add a one-page upstream-facing proposal,
standalone review comment drafts for PokemonAutomation#1717
(not posted), and the FRLG authors on main. Drop the agent process section.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E
@Mysticial Mysticial added the show-and-tell A proof-of-concept or roadmap PR. Not intended to be merged as-is. label Oct 26, 2026
dayfine added a commit to dayfine/Arduino-Source that referenced this pull request Oct 28, 2026
The plan wrote FRLG's run flow and tile path inside the FRLG module and moved
them out in phase D (R0, T4): move-only PRs of our own code. Adding new files
to a shared module changes no one else's code, so they now start in
Pokemon/AutoStory and Pokemon/Navigation. New section 0.1 lists the
game-neutral pieces from SV, BDSP PokemonAutomation#1717, SwSh PokemonAutomation#1207, BBQ and the BDSP lab
work (screen machine, step trace, failure policy, list selection, system
keyboard, Lab Console, run flow, tile path, decision tests) with their
homes; D4 builds the FRLG intro on the screen machine. The proposal says
the same.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E
if (!is_white(left_white)){
return false;
left_white=image_stats(extract_box_reference(screen,ImageFloatBox{.208,.86,.002,.025}));
if (!is_white(left_white)) return false;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, it's me again with another nitpick. 😄

Today we updated our contributing.md and agents.md with some code formatting and patterns that we try to follow.

So here is another thing to cleanup once this is ready to leave draft. If statements should be block format and not inline.

So this if statement should look like:

if (!is_white(left_white)){
    return false;
}

For more information and examples see the updated docs:
https://github.com/PokemonAutomation/Arduino-Source/blob/main/CONTRIBUTING.md#coding-conventions-and-program-patterns
https://github.com/PokemonAutomation/Arduino-Source/blob/main/CONTRIBUTING.md#coding-conventions-and-program-patterns

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cool. I'll make sure this gets implemented before it gets finalized.

Boombaastical and others added 19 commits October 29, 2026 13:12
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
I had to change some of the checkpoint names again to match what would be expected in the autostory.cpp

Added the navigation segments to segment 01 that I'm responsible for and created placeholder navigation functions for oreburgh gate and oreburgh mine.
Updated the small house function in segment 07 to not have issues with the ret declaration.

optimized some functions in the segment 00 tools

added a default to the fly to location list.
optimized the save_game function

Updated starly fight function and the segment 00 routing
updated the catch1pokemon function

updated grass movement to more efficiently run from battles

addressed issues with movement timings
Segment 09 in part, until having bought all the Full restores with the money left. Draft of the new handle_expert_battle function.
resolved naming issues that prevented compiling the program
Renamed checkpoints to better associate them with certain parts of code and makes adding new ones easier.
This commit adds safer Poketch visibility checks, stronger black/white screen handling, and broader battle/dialog recovery for the Jubilife/Oreburgh story route. It also introduces movement and doorway detection helpers to better navigate exits, trainer encounters, and the Oreburgh Mine path while reducing false negatives and checkpoint retries.
Registers BDSP in the unit test runner and adds screenshot-based bag and menu detector tests, including dev-program entry points and a filename-based test map hook.

Also expands BDSP menu and battle detection, adds bag navigation and Escape Rope helpers for AutoStory, and refactors Segment 01 mine and gym logic into shared utility files wired into the build.
Introduces a vision-based Oreburgh mart alignment step (template matching with ambiguity checks) and wires it into the Roark-to-Mars movement path to correct positioning before continuing. It also tightens gym flow timing by waiting through entry cutscene and confirming post-battle dialogue completion via detector-based absence checks, while removing large blocks of obsolete commented-out mine escape/navigation code.
Timed movements, retained menu cursors, incomplete battle cleanup, and resets
after catching could leave the tutorial at a different position from the one
the next action assumed. Add visual confirmation and reusable BDSP helpers
to make Segments 00 and 01 resume and navigate more reliably.

- Split tutorial and main-story selections and add the initial settings
  checkpoint. Detect menu/option positions, retry detection, log the selected
  settings, verify Autosave is off, and confirm the settings exit sequence.
- Establish a saved boundary after the tutorial catch, finish capture and
  battle-result dialogue before moving, and preserve the diagnostic post-catch
  entry's continuation into checkpoint 00.05.
- Consolidate grass movement around the shared encounter escape routine and
  optional visually confirmed destinations. Add screen-relative landmark
  matching for Poketch, the Center, Sandgem, and Route 201/202 positions.
- Add a registered hourly lighting test with matcher selection, captures,
  and match data to evaluate daylight and shadow changes consistently.
- Navigate to the Bag explicitly and verify slot-1 HP before/after Potion
  use. Add one wild training fight after the first Potion pickup, heal
  afterward, and select Ember for Tristan using the detected move cursor.
- Extend BDSP battle-menu inference to count one through four populated move
  panels and identify the selected slot without assuming four moves exist.
- Reuse Segment 01's confirmed Run escape, express mine offsets/tolerances
  relative to the screen, and restore the Gate-to-mine movement call.

Validation: the exact staged source set builds and links SerialPrograms in
Debug with Segment 02, later-segment edits, and CommonTools OCR edits excluded.
Native screenshot checks cover battle move selection, landmark matching,
translated positions, and capture resolution changes; recorded lighting runs
were used to refine the tutorial matchers. Live full-route validation remains
an ongoing task, not a guarantee supplied by this commit.

Scope: includes BDSP panel/source registration and required local helpers;
no shared CommonTools or other-game implementation changes. Segment 02 route,
its new street/plaza matchers, and the Repel-tab repair remain uncommitted.
Resources are published separately to Developer-Butters/Packages.

Development limits: diagnostic checkboxes remain explicitly marked for removal
before production; option-value templates still require multilingual work.
Faint handling and stronger save-result verification remain follow-up work.
Pass AutoStoryOptions to checkpoint_reattempt_loop in the 113 checkpoint
calls across Segments 03 through 09. This forwards the selected real/fake
checkpoint-save mode consistently instead of passing only the status
notification option and falling back to the default save mode.

Restore the original LF line endings so the diff contains only the argument
changes. No route movements, battle behavior, or checkpoint ordering change.

Validation: byte comparison against the parent confirms that substituting
the original checkpoint argument produces identical files in all seven
segments. The same source contents passed the full Debug build before this
line-ending cleanup; the cleanup does not change compilation semantics.

Scope: BDSP Segments 03-09 only. Segment 02, its matcher additions and Repel
helper repair remain staged and uncommitted. Shared CommonTools OCR edits
are excluded.
Register street and Galactic-plaza reference positions for the existing
overworld matcher and lighting-test infrastructure. Match static building
and fence geometry instead of player/NPC animation or localized signs,
require two agreeing landmarks, and expose screen-relative offsets and
destination tolerances through the existing matcher result interface.

Repair activate_repel's resource path casing and provide native/small
selected-pocket references to accommodate capture-resize sampling. Accept
either reference while preserving the match threshold and the bounded
eight-tab search; no shared image-processing behavior changes.

Validation: full Debug application build passed with these changes.
All 22 new matcher checks passed across 720p, 1080p, and 1440p captures,
positive/negative offsets in both axes, and rejection of unrelated scenes.
Earlier Repel reference checks accepted resized selected-pocket captures
and rejected the wrong pocket. Full-day lighting and live route validation
for the new Jubilife positions remain follow-up work.

Required templates are committed to Developer-Butters/Packages on branch
BDSP-Autostory. The Segment 02 route file and its locator integration calls
remain staged and uncommitted; this commit only publishes reusable BDSP
matchers and Bag tools, with no shared infrastructure edits.
After rebasing the 23 AutoStory commits onto PokemonAutomation main,
update BDSP code to the APIs introduced by the 299 intervening commits:

- Use ErrorReportMode and OperationFailedExceptionWithScreenshot for the
  existing stream/screenshot failure calls. Keep the base exception catches
  so the same checkpoint retry handling still consumes these failures.
- Include GlobalAutoPaths.h where RESOURCE_PATH and screenshot paths are
  used, following upstream's separation of those declarations from Globals.
- Follow the new SingleSwitchProgram factory and Descriptor-alias pattern
  for AutoStory and its lighting tester. Replace the old boolean descriptor
  argument with PanelDeprecation::NOT_DEPRECATED.
- Point the BDSP battle helper at the relocated VideoGames/PokemonSwSh
  type-matchup header; the shared type calculation itself stays untouched.

The rebase keeps upstream's shared test tools and deleted TestMap authoritative
instead of restoring the fork's obsolete developer-program checkboxes.
SourceFiles conflicts were resolved by retaining upstream's build list and
applying only BDSP source additions and the existing tool-path relocation.

Validation: full Debug SerialPrograms build and link passed on the upstream
base. These are interface/header adaptations; controller movements, battle
selection, matcher thresholds, and checkpoint ordering are unchanged.

The uncommitted Segment 02 route remains preserved outside the rebase. Only
upstream interface adaptations to its already-committed code are included.
The transition watcher localization and shared-file restoration are documented
in a separate commit; no other-game implementations are changed here.
Restore CommonTools/VisualDetectors/BlackScreenDetector.cpp and .h to the
exact current PokemonAutomation upstream versions. The fork had extended
these shared files with BDSP white-screen and brief black-flash watchers,
including a change to the behavior of the shared WhiteScreenOverWatcher.
Those changes could otherwise affect callers in every game.

Move the extensions into PokemonBDSP/Inference/PokemonBDSP_TransitionWatchers
and update only their AutoStory callers and source registration. Preserve
the existing BDSP hold/release timings and latched completion behavior.
No global aliases or shared-detector API additions are introduced.

Why needed: upstream is authoritative and BDSP-specific behavior does not
justify changing the global implementation. Localizing these classes keeps
the tested AutoStory behavior while removing that cross-game exposure.

Validation: full upstream-based Debug application build/link passed. Nineteen
focused checks passed for sustained white-screen entry/release, short flashes,
latched completion, and the brief black transition. The same harness confirms
the upstream shared white-over watcher retains its original semantics.
The two shared detector files and shared developer/unit-test implementations
are byte-identical to upstream; therefore this commit introduces no detector
behavior changes to other games relative to upstream. Gameplay timing still
needs continued BDSP recordings as route validation proceeds.

Shared changes are intentionally isolated in this commit for review. The
staged Segment 02 route work remains uncommitted.
Implement large AutoStory progression updates across Segments 01-03, including fully scripted Route 204/Floaroma/Windworks/Eterna flows, new Segment 02 checkpoint boundaries, and Veilstone pathing/battles in Segment 03. The change adds bounded trainer recovery and battle/menu confirmation logic to prevent movement during dialogue or combat states.

Detection and alignment were hardened with new/expanded overworld matchers, lighting-aware reference variants, coarse-vs-final positioning rules, and richer menu/debug diagnostics. It also updates checkpoint retry behavior for fake saves (selected-range retries), improves bag/repel handling (including repel type selection and NEW-flag clearing), and adds supporting documentation/context for the current BDSP handoff.
Refactors AutoStory segment 03 to rely on visual confirmations and encounter watchers instead of long fixed-input sequences. Adds reusable helpers for transition completion, scene confirmation, expected trainer encounters, and bike registration flow, then rewires the Jupiter-to-Coronet path to use them. Also adds new overworld matchers (Cycle Shop entry/interior/counter/reward, Cycling Road north entry, Galactic HQ exterior, Eterna Center departure) and updates Jupiter-room landmark references to avoid NPC overlap, improving route reliability and recovery from timing variance.
Reconcile the saved bridge, stair fallback, and Hearthome locator changes while retaining the 1825 ms descent. Preserve generated Visual Studio snapshots outside the repository and require explicit recording-stop confirmation before any queries.
Handle Fantina camera fades before dialogue, recover the lower stair lane
visually before gate travel, and retain the shorter Center approach.
Finish the Hall checkpoint at its watched outdoor exit, remove the
unvalidated approach-view confirmation, and clear all source indentation tabs.

Validation: 18 latest Hall control checks pass; CI-equivalent tab scan
passes across 3159 tracked source files. Earlier route/image checks and
application build pass; latest Hall completion changes are source-only.
The full suite retains baseline totals of 29463 passes and 928 failures
with missing-fixture errors.

Required resource branch commit: 1b093c5a91540a3fecce0091879312a2f6bcc58d
Replace Qt file, JSON, and resource lookup in BDSP code with project utilities; use UTF-8 paths for lighting output. Register the Bag/menu suites and resolve their fixtures through UNIT_TEST_RESOURCE_PATH().

Debug build and 504 BDSP checks pass; full suite reports 29,465 passed and 928 existing resource-related failures.

Fixture repositories: CommandLineTests fb26d1734253d5530a91c8bc6492c06912152421; Packages ad4647b23ea6208c088e045283d53305dcd58275.
Rework Hearthome, Lost Tower, and Veilstone pathing using recorded routes and existing battle helpers.

Add deliberate Lost Tower D-pad movement, watched stair transitions, reward cleanup, and Escape Rope settling.

Improve Repel renewal positioning, Route 215 lane recovery, and Veilstone landmark alignment.

Group lighting-test matchers by segment and expand diagnostic results.

Remove lead-specific move names from battle comments and labels; retain slot-based selection.

Clear Maylene's reward dialogue before ending Segment 03; leave the Gym exit and Dawn scene to Segment 04.

Add the 04.18 Pastoria Gym Puzzle checkpoint with an explicit unimplemented stop.

Correct checkpoint handoff descriptions.
Apply four-space indentation and multiline braced control flow across AutoStory.

Sort includes, remove duplicates, and replace backward-relative include paths.

Preserve gameplay logic and existing file line endings.

Migrate AutoStory and the lighting test to PanelQualityStanding.

Validation: formatting checks and Windows Debug build, linking, and deployment passed.
Fixed formmatting to comply with contributor.md/agents.md
dayfine added a commit to dayfine/Arduino-Source that referenced this pull request Oct 30, 2026
) and Part 2 for us

Sections are renumbered; cross-references updated. Butters' segment 01
table and the two PokemonAutomation#1717 failures from r108 get their own sections in Part 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E
dayfine added a commit to dayfine/Arduino-Source that referenced this pull request Oct 30, 2026
…nAutomation#1717 drafts stale; pose status

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E
dayfine added a commit to dayfine/Arduino-Source that referenced this pull request Oct 30, 2026
…nal homes (#42)

* Design doc: shared AutoStory run flow, 2D movement, and an FRLG AutoStory

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* Design doc: lead with problem, situation and proposal; FireRed, solo from a new game

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* Design doc: full upstream reference for the SwSh draft

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* Design doc: prior art (junari's FRLG script) and ComputerControl#259

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* Design doc: PR plan with sizes for reviewers

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* Design doc: FRLG pilot to Brock first, shared code later

Reorder the plan so the first PRs touch only FRLG files and end in a runnable
pilot (new game -> Boulder Badge in about 10 PRs, first runnable at PR 5),
with an F3 go/no-go gate on checkpoints and Switch hours. The SV/BDSP shared
run flow moves to a later phase. Add a one-page upstream-facing proposal,
standalone review comment drafts for PokemonAutomation#1717
(not posted), and the FRLG authors on main. Drop the agent process section.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* Design doc: reusable pieces in their final homes, no copy-then-move

The plan wrote FRLG's run flow and tile path inside the FRLG module and moved
them out in phase D (R0, T4): move-only PRs of our own code. Adding new files
to a shared module changes no one else's code, so they now start in
Pokemon/AutoStory and Pokemon/Navigation. New section 0.1 lists the
game-neutral pieces from SV, BDSP PokemonAutomation#1717, SwSh PokemonAutomation#1207, BBQ and the BDSP lab
work (screen machine, step trace, failure policy, list selection, system
keyboard, Lab Console, run flow, tile path, decision tests) with their
homes; D4 builds the FRLG intro on the screen machine. The proposal says
the same.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* Design doc: what broke on the console and the rule each break taught

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* Design doc lessons: drop the Max Lair entry, it is not AutoStory

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory design notes: screen machine, walking, map, planner, executor

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory design: plan on routes, trust town grids only once verified

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory docs: what broke in Butters' 00.04 and 00.05, and what replaced it

Lessons: a table of his recorded route against what console B showed
(timed legs, slot-3 Ember, no healing, pixel-matched Potion, the Poke
Mart lady and Barry missed by a tile), our own mistakes in this round
(an optional step kept for hours, claims not checked on screen, map
errors, untiled movement, a fixed OCR cut), and stepping through new
ground before automating it. Design: the executor, move choice,
training and Potion healing as built, and the Lab Console stepping.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory lessons: link our commit for each fix; the Pokétch president's talk

Each row of the Butters comparison and each of our own mistakes now
links the fork commit that fixed it, on bdsp/new-game-intro-v2. Adds
what stepping through Phase 23 showed: A re-opens the president's talk,
B advances it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory lessons: 00.05 stepped through to the PC; read positions from the ground; towns need grids too

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory: segment 01 plan (story, trainers, maps, work order); segment 00 leftovers scheduled

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory lessons: segment 01 runs r81 to r90, one rule per failure

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory lessons §10: Oreburgh Mine, Roark's gym, Route 204 to Floaroma; Butters' segment 01

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory: shared navigation core and the FRLG Brock / BDSP Floaroma MVP branches

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory: end the FRLG run with Mew, through the Sevii Ruby and Sapphire

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory navigation stack: fork PR numbers

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory: queue the BDSP MVP follow-ups (clock pin, shared walker, resources)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory lessons §11: Floaroma MVP runs r107 to r109 and the lab around them

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory lessons: split into Part 1 for Butters (PokemonAutomation#1717) and Part 2 for us

Sections are renumbered; cross-references updated. Butters' segment 01
table and the two PokemonAutomation#1717 failures from r108 get their own sections in Part 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

* AutoStory docs: mark the segment plans done or superseded, the PokemonAutomation#1717 drafts stale; pose status

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Consolidate checkpoints in segments 04–09, update dropdowns, and remove obsolete checkpoints.

Organize helpers, named navigation blocks, segment wrappers, and checkpoint wrappers consistently.

Keep pathing in navigation blocks while checkpoints sequence routes and handle saves and retries.

Split tutorial 00.04 into catch and post-catch checkpoints, renumber the final checkpoint, and remove the redundant diagnostic checkbox.

Migrate saved selections and clearly mark missing pathing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

show-and-tell A proof-of-concept or roadmap PR. Not intended to be merged as-is.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants