You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Cycle 3 research gate: rank evidence-backed AI and gaming opportunities #16
Run the next evidence-led AI and gaming improvement cycle for OpenController. End with a reviewed, bounded change merged to main (or a documented no-build decision if evidence does not justify implementation), an updated opportunity record, and a concrete next-cycle goal. Issue creation is a research backlog, not build approval. The gate selected #14 for implementation, merged in PR #19 at f2baa6b. PR #24 records roadmap closeout and closes this issue after Cycle 4 gate #23 existed. Candidate #15 remains deferred outside the active milestone.
Starting state and duplicate check
Reviewed the roadmap docs/roadmap/ai-gaming-opportunities.md and issues #5, #7, #8, #9, and #10. Cycle 2 implementation PRs #12 and #13 have merged; the updated status and merge commits are recorded below.
Cycle 2 issues #8 and #9 were implemented and merged as PR #12 and PR #13. Issue #10 remains deferred. Cycle 3 must avoid duplicating the merged slices and rank candidates against current code.
Initial evidence log (2026-10-04 review)
These are dated public reports and a targeted sample, not a survey or prevalence estimate. Separate reports within a single project/ecosystem are not independent replications. Engagement counts and repeated examples do not estimate the number of affected users.
Source and date
Direct observation and workaround
Initial interpretation and limits
SDL #13177, opened 2025-06-05; useful reply 2026-08-07
An Arch Linux user reports an Xbox Series controller over Bluetooth/xpadneo stops producing SDL input after reconnect. A commenter confirms an additional Xbox Elite 2/PCSX2 case. The reply suggests SDL_JOYSTICK_HIDAPI=0 (or narrower Xbox HIDAPI disable) to use evdev; reboot was otherwise required.
Concrete reconnect diagnostic and workaround, but the reported failure is in SDL HIDAPI/udev and physical-device ingestion, which OpenController does not own. Keep upstream reconnect repair out of build scope unless a bounded adapter-side gap is demonstrated.
A Steam Machine reporter says Steam Input destroys and recreates a virtual Xbox pad whenever an app launches; an already-running app loses its opened device. The workaround is to quit and relaunch the affected app.
Detailed single-host report about Steam Input/host lifecycle. OpenController's Linux helper lifecycle is distinct; the SDK cannot repair Steam's shared virtual-device lifecycle. Do not treat as an OpenController defect.
A user requests emulation in several console-style virtual profiles rather than Xbox only, citing Windows tools and wired-only game constraints; later comments mention third-party tools.
Demonstrates an enduring expressed desire for virtual profile choice, but it is a Steam Input feature request. OpenController already has multiple output profiles; Cycle 2 #9 covers its encoder conformance. Avoid duplicating this as a new build claim.
A reporter says four documented API examples fail against a live headless server and proposes correcting signatures. No working workaround is recorded.
One external project's concrete docs/example failure. Candidate #14 tests a narrower behavior OpenController owns; this does not show OpenController has stale examples.
A player could not move with arrows because that demo mapped only WASD; the author added arrow and space bindings.
One report about another demo, with a source-edit workaround. Candidate #15 is a low-confidence, demo-only exploration. OpenController Agent Fighter already gives its second player arrow-key movement.
A user reports lost rumble on SteamOS; another reports unusable device ordering while docked and says a restart did not fix it.
Individual Steam Community reports already logged in the Cycle 1 roadmap. They concern host/device behavior and do not establish an OpenController-owned root cause.
A long evaluation rollout surfaced a generic observation error without its underlying exception; replaying the same actions worked on fresh servers. The PR added retained exception details and retry logging.
Already informed Cycle 2 issue #8. Do not duplicate that selected replay-error work.
Requests app-owned remappable shortcuts and command aliases, conflict warnings, and keyboard-only recovery/reset.
Accessibility-focused evidence from another product. Its 20 comments include many owner status/implementation updates, not independent confirmations; it does not show Agent Fighter demand.
A commenter recounts a friend with a broken arm being banned for third-party keyboard-remapping software while trying to play one-handed. The article fetch returned HTTP 403; the comment was accessible.
One indirect anecdote about third-party remapping policy, not a request for app-owned controls and not evidence about Agent Fighter.
Coverage limits
Reddit search and DuckDuckGo returned HTTP 403 on 2026-10-04; no Reddit posts were reviewed. Steam Community search returned a generic page without a useful verifiable dated result.
An accessibility-focused GitHub issue was reviewed, but it concerns another product. An assistive-gaming article returned HTTP 403; only a Hacker News comment was accessible. No accessibility evidence specific to Agent Fighter was found.
The examples above are self-reports and feature requests. No thread count is a prevalence estimate. External pain signals remain limited; Keep key SDK documentation examples runnable #14 was selected because a repository-owned documentation-coverage gap was verified, not because community prevalence was established.
Issue Explore host-side physical gamepad input for OBS overlays #10's macOS physical-input idea and the Agent Fighter regression baseline work remain deferred from Cycle 2. Re-open them only if refreshed evidence and repository feasibility materially improve.
Initial candidate backlog and provisional ranking before the gate
No Agent Fighter complaint; player two arrows cover the reported mismatch and fresh accessibility evidence concerns other products.
Deferred outside the active Cycle 3 milestone.
The initial backlog was intentionally small because most reports concerned upstream behavior, overlapped Cycle 2, or lacked repository fit. The gate selected #14 as a preventive, repository-owned CI improvement and deferred #15; it did not treat external reports as prevalence evidence.
Cycle 3 gate decision (2026-10-04)
The repository audit inspected main at ba0529e, onboarding docs, example entry points, root scripts, and CI:
The Getting Started dry-run flow and AI Agent Integration action-map/state-patch snippets are not executed by tests.
Root tests cover package suites, not docs snippets or example packages. examples/basic-dry-run/index.ts is runnable but has no test or build script.
Agent Fighter has a Playwright headless match runner and quality gates, but those do not execute SDK docs or validate keyboard remapping. Player two already has arrow-key movement; R resets and F toggles fullscreen.
The gap is lack of executable documentation coverage, not a verified stale OpenController snippet.
Selection: #14, a preventive CI slice. Repository ownership and dry-run validation are direct. FLE #418 is an adjacent concrete docs failure, not evidence that OpenController examples are defective. Keep tested sources shared with docs to prevent fixture drift. Cover the standalone Getting Started dry-run path, one AI action-map/state-patch path, and the basic dry-run example; assert observable state/action or replay behavior; require no key, device, permission, or live game. Exclude live native, OBS, game, and hardware claims. Estimated effort: low-to-medium, 1–2 days.
Defer #15. Accessible-Chess issue #5 supports app-owned remapping as a broader accessibility concern but is from another product and its comments include owner status updates. The HN remapping anecdote is indirect. Neither identifies an Agent Fighter problem; player two already has arrow movement. A configurable UI also requires persistence, conflict handling, recovery, and browser testing (estimated 2–4 days), while browser/OS shortcut detection is incomplete. Revisit only with stronger fit or direct evidence.
Cycle DAG and checklist
flowchart TD
A[Refresh public-source evidence] --> B[Audit current OpenController behavior and ownership]
B --> C[Rank opportunities and record limits]
C --> D[Select, revise, or defer candidates #14/#15]
D --> E[Define bounded build/review task DAG and acceptance criteria]
E --> F[Implement selected work in coherent reviewable commits]
F --> G[Independent review and focused/integrated checks]
G --> H[Open stacked PRs against declared parent branches]
H --> I[Merge in dependency order after review and checks]
I --> J[Update roadmap/backlog and open the next cycle goal]
Loading
Research and rank
Refresh sources in relevant public AI/gaming communities: GitHub issues/discussions (including SDL, Steam, game-agent projects), Steam Community, developer forums, Hacker News, Reddit if reachable, and a relevant accessibility source if discoverable.
For every cited item, record direct URL, post date, user/workflow, reported failure or request, stated workaround/current alternative, recurrence evidence, and confidence. Mark interpretation separately; do not infer prevalence from a few reports, replies, reactions, or search rank.
Record failed searches/access limits and distinguish upstream host/game bugs from behavior OpenController controls.
Audit current code, docs, merged PRs, and open Cycle 2 PRs before ranking; update each candidate's fit, cost, risk, dependencies, acceptance scope, and deferred/selected status.
Select only a bounded issue with direct-enough evidence and repository ownership, or document a no-build decision. Do not begin candidate implementation until this gate is complete.
Make one coherent implementation change at a time; PR test: run documented dry-run examples in CI #19 documents the dry-run boundary and distinguishes fixtures from host/game/hardware claims.
Run focused checks and the integrated release checks. Record exact outcomes and leave unsupported host/hardware claims pending in the roadmap.
Independent review, stacked PRs, and merge
Obtain an independent review for scope fit, correctness, regressions, security, and consistency with the source evidence; resolve the replay-directory and TypeScript-project findings before merge.
Sources and coverage limits are dated, directly linked, and distinguish observed claims from interpretation.
The final rank is tied to current repository behavior and names upstream boundaries; there are no unsupported prevalence claims.
Any selected build issue is scoped, dependency-linked, measurable, independently reviewed, and merged only after its required checks pass; otherwise the no-build decision is explicit.
A next-cycle goal is opened from the updated backlog.
Goal
Run the next evidence-led AI and gaming improvement cycle for OpenController. End with a reviewed, bounded change merged to
main(or a documented no-build decision if evidence does not justify implementation), an updated opportunity record, and a concrete next-cycle goal. Issue creation is a research backlog, not build approval. The gate selected #14 for implementation, merged in PR #19 at f2baa6b. PR #24 records roadmap closeout and closes this issue after Cycle 4 gate #23 existed. Candidate #15 remains deferred outside the active milestone.Starting state and duplicate check
Reviewed the roadmap
docs/roadmap/ai-gaming-opportunities.mdand issues #5, #7, #8, #9, and #10. Cycle 2 implementation PRs #12 and #13 have merged; the updated status and merge commits are recorded below.Cycle 2 issues #8 and #9 were implemented and merged as PR #12 and PR #13. Issue #10 remains deferred. Cycle 3 must avoid duplicating the merged slices and rank candidates against current code.
Initial evidence log (2026-10-04 review)
These are dated public reports and a targeted sample, not a survey or prevalence estimate. Separate reports within a single project/ecosystem are not independent replications. Engagement counts and repeated examples do not estimate the number of affected users.
SDL_JOYSTICK_HIDAPI=0(or narrower Xbox HIDAPI disable) to use evdev; reboot was otherwise required.Coverage limits
Initial candidate backlog and provisional ranking before the gate
The initial backlog was intentionally small because most reports concerned upstream behavior, overlapped Cycle 2, or lacked repository fit. The gate selected #14 as a preventive, repository-owned CI improvement and deferred #15; it did not treat external reports as prevalence evidence.
Cycle 3 gate decision (2026-10-04)
The repository audit inspected main at ba0529e, onboarding docs, example entry points, root scripts, and CI:
Selection: #14, a preventive CI slice. Repository ownership and dry-run validation are direct. FLE #418 is an adjacent concrete docs failure, not evidence that OpenController examples are defective. Keep tested sources shared with docs to prevent fixture drift. Cover the standalone Getting Started dry-run path, one AI action-map/state-patch path, and the basic dry-run example; assert observable state/action or replay behavior; require no key, device, permission, or live game. Exclude live native, OBS, game, and hardware claims. Estimated effort: low-to-medium, 1–2 days.
Defer #15. Accessible-Chess issue #5 supports app-owned remapping as a broader accessibility concern but is from another product and its comments include owner status updates. The HN remapping anecdote is indirect. Neither identifies an Agent Fighter problem; player two already has arrow movement. A configurable UI also requires persistence, conflict handling, recovery, and browser testing (estimated 2–4 days), while browser/OS shortcut detection is incomplete. Revisit only with stronger fit or direct evidence.
Cycle DAG and checklist
Research and rank
Issue DAG and implementation
Independent review, stacked PRs, and merge
Close and next cycle
Acceptance