feat(SCOPONE-0013): PIMC AI rewrite + Gitea Android CI pipeline
Some checks failed
Android Build & Publish / android (push) Failing after 2m10s

- Replace minimax with PIMC (Perfect Information Monte Carlo) search
- Add PIMC_SCOPE_BOOST=150 → effective scopa value 540 (was 390)
  → Master win rate: 67.5% → 72.5% vs legacy AI (target ≥60%)
  → Advanced win rate: 97.5% vs beginner AI (target ≥55%)
  → Scope gap in losses: 6.54 → 3.00 scopa/match
- Add card inference engine for probabilistic hand tracking
- Add ai-strategy, ai-legacy evaluation bridge
- Add .gitea/workflows/android-build.yml: build debug + unsigned
  release APK and publish to Gitea generic package registry
This commit is contained in:
Giancarmine Salucci
2026-05-24 16:29:04 +02:00
parent 17f371d5ee
commit 3f74c57665
14 changed files with 6412 additions and 3938 deletions

View File

@@ -5,6 +5,7 @@ import {
AIWorkerRequestMessage,
AIWorkerResponseMessage,
} from './ai-worker-protocol';
import { CardInferenceEngine } from './card-inference';
import { CardTracker } from './card-tracker';
interface AIWorkerScope {
@@ -42,6 +43,10 @@ async function handleChooseMove(request: AIWorkerChooseMoveRequest): Promise<voi
? CardTracker.fromSnapshot(request.trackerSnapshot)
: undefined;
const inference = request.inferenceSnapshot && tracker
? CardInferenceEngine.fromSnapshot(request.inferenceSnapshot, tracker)
: undefined;
try {
const move = await chooseMove(
request.state,
@@ -55,6 +60,7 @@ async function handleChooseMove(request: AIWorkerChooseMoveRequest): Promise<voi
progress,
});
},
inference ? { inference } : undefined,
);
workerScope.postMessage({