mons-web 0.1.124 → 0.1.127

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,36 +7,39 @@ or
7
7
 
8
8
  ## automove
9
9
 
10
- Canonical automove workflow:
10
+ Docs:
11
11
 
12
12
  - runbook: `HOW_TO_ITERATE_ON_AUTOMOVE.md`
13
- - active backlog: `AUTOMOVE_IDEAS.md`
13
+ - live board: `AUTOMOVE_IDEAS.md`
14
14
  - durable lessons: `docs/automove-knowledge.md`
15
15
  - archive: `docs/automove-archive.md`
16
- - compatibility pointer: `docs/automove-experiments.md`
17
16
 
18
- Session-start commands:
17
+ Public Pro runtime currently routes through `frontier_pro_v2_guarded`; `shipping_pro_search` remains the retained search-only baseline profile.
19
18
 
20
- - `./scripts/run-automove-experiment.sh guardrails <candidate>`
21
- - `SMART_TRIAGE_SURFACE=<surface> ./scripts/run-automove-experiment.sh triage <candidate>`
22
- - `SMART_TRIAGE_SURFACE=<opening_reply|primary_pro> ./scripts/run-automove-experiment.sh pro-triage <candidate>`
23
- - `./scripts/run-automove-experiment.sh runtime-preflight <candidate>`
24
- - `SMART_PROMOTION_TARGET_MODE=<fast|normal> ./scripts/run-automove-experiment.sh fast-screen <candidate>`
25
- - `./scripts/run-automove-experiment.sh pro-fast-screen <candidate>`
26
- - `./scripts/clean-experiment-artifacts.sh --dry-run`
19
+ Quickstart:
27
20
 
28
- Default artifact layout:
21
+ - canonical Pro loop: `./scripts/run-automove-canonical-loop.sh frontier_pro_v2_guarded`
22
+ - larger confirmation pass: `./scripts/run-automove-canonical-loop.sh --confirm frontier_pro_v2_guarded`
23
+ - single-stage or diagnostic run: `./scripts/run-automove-experiment.sh <stage> frontier_pro_v2_guarded`
24
+ - cleanup preview: `./scripts/clean-experiment-artifacts.sh --dry-run`
29
25
 
30
- - logs: `target/experiment-runs/<candidate>/`
31
- - workflow-only logs: `target/experiment-runs/misc/`
32
- - runtime-preflight stamps: `target/experiment-stamps/`
26
+ Retained profile surface:
27
+
28
+ - `shipping_pro_search`
29
+ - `frontier_pro_v2_guarded`
30
+
31
+ Glossary:
33
32
 
34
- Compatibility notes:
33
+ - `shipping`: the deployed Pro path, currently `frontier_pro_v2_guarded`
34
+ - `baseline`: the retained search-only comparison profile, currently `shipping_pro_search`
35
+ - `frontier`: the guarded ProV2 selector/runtime line, currently `frontier_pro_v2_guarded`
36
+ - `probe`: forced turn-engine diagnostics that inspect search/acceptance behavior without changing shipping
35
37
 
36
- - `preflight`, `pre-screen`, and `pro-pre-screen` still exist, but they are legacy diagnostics.
37
- - `audit-screen` and `pro-audit-screen` are spot checks for clean triage rejects, not promotion evidence.
38
- - Unless a note says otherwise, new candidates should branch from `runtime_current`.
39
- - Shipping runtime note: the package release ships `runtime_current`; `runtime_pro_turn_engine_v30` is the retained Pro frontier for offline experiments, and `runtime_pro_turn_engine_v1` remains reference-only history.
38
+ Artifact layout:
39
+
40
+ - selected-profile logs: `target/experiment-runs/<profile>/`
41
+ - workflow-only logs: `target/experiment-runs/misc/`
42
+ - runtime-preflight stamps: `target/experiment-stamps/`
40
43
 
41
44
  ## rules-tests runner
42
45
 
@@ -84,8 +87,8 @@ Pack a directory back into chunks:
84
87
  Release checklist:
85
88
 
86
89
  - Review `git status` before publish and confirm only intentional committed changes are present.
87
- - Confirm `runtime_current` is still the shipping automove path.
88
- - Confirm retained Pro experiment frontiers (`runtime_pro_turn_engine_v30` and newer candidate-only follow-ups) remain fenced off from production.
90
+ - Confirm public Pro still routes through `frontier_pro_v2_guarded`.
91
+ - Confirm `shipping_pro_search` remains available as the retained search-only baseline profile.
89
92
  - Run `cargo test`.
90
93
  - Run `cargo test --release --lib smart_automove_release_opening_black_reply_speed_gate -- --ignored --nocapture`.
91
94
  - Run `cargo test --release --lib smart_automove_release_mixed_runtime_speed_gate -- --ignored --nocapture`.
@@ -96,10 +99,10 @@ Production blockers:
96
99
 
97
100
  - build/test failures
98
101
  - release speed gate failures
99
- - any regression that enables turn-engine in shipping `runtime_current`
102
+ - any regression in the deployed `frontier_pro_v2_guarded` Pro path
100
103
 
101
104
  Non-blocking retained experiment state:
102
105
 
103
- - retained Pro frontier profiles (`runtime_pro_turn_engine_v30`, candidate-only follow-ups, and `runtime_pro_turn_engine_v1` as reference history) plus ignored probes
106
+ - the retained `shipping_pro_search` baseline, the retained `frontier_pro_v2_guarded` frontier, and ignored probes
104
107
  - experiment workflow/logging helpers
105
108
  - compressed automove backlog / knowledge / archive docs
package/mons-web.d.ts CHANGED
@@ -10,23 +10,6 @@
10
10
  export function winner(fen_w: string, fen_b: string, flat_moves_string_w: string, flat_moves_string_b: string): string;
11
11
  /**
12
12
  */
13
- export enum ItemModelKind {
14
- Mon = 0,
15
- Mana = 1,
16
- MonWithMana = 2,
17
- MonWithConsumable = 3,
18
- Consumable = 4,
19
- }
20
- /**
21
- */
22
- export enum AvailableMoveKind {
23
- MonMove = 0,
24
- ManaMove = 1,
25
- Action = 2,
26
- Potion = 3,
27
- }
28
- /**
29
- */
30
13
  export enum SquareModelKind {
31
14
  Regular = 0,
32
15
  ConsumableBase = 1,
@@ -37,6 +20,12 @@ export enum SquareModelKind {
37
20
  }
38
21
  /**
39
22
  */
23
+ export enum ManaKind {
24
+ Regular = 0,
25
+ Supermana = 1,
26
+ }
27
+ /**
28
+ */
40
29
  export enum Modifier {
41
30
  SelectPotion = 0,
42
31
  SelectBomb = 1,
@@ -44,9 +33,25 @@ export enum Modifier {
44
33
  }
45
34
  /**
46
35
  */
47
- export enum ManaKind {
48
- Regular = 0,
49
- Supermana = 1,
36
+ export enum Color {
37
+ White = 0,
38
+ Black = 1,
39
+ }
40
+ /**
41
+ */
42
+ export enum Consumable {
43
+ Potion = 0,
44
+ Bomb = 1,
45
+ BombOrPotion = 2,
46
+ }
47
+ /**
48
+ */
49
+ export enum ItemModelKind {
50
+ Mon = 0,
51
+ Mana = 1,
52
+ MonWithMana = 2,
53
+ MonWithConsumable = 3,
54
+ Consumable = 4,
50
55
  }
51
56
  /**
52
57
  */
@@ -82,6 +87,19 @@ export enum EventModelKind {
82
87
  }
83
88
  /**
84
89
  */
90
+ export enum NextInputKind {
91
+ MonMove = 0,
92
+ ManaMove = 1,
93
+ MysticAction = 2,
94
+ DemonAction = 3,
95
+ DemonAdditionalStep = 4,
96
+ SpiritTargetCapture = 5,
97
+ SpiritTargetMove = 6,
98
+ SelectConsumable = 7,
99
+ BombAttack = 8,
100
+ }
101
+ /**
102
+ */
85
103
  export enum MonKind {
86
104
  Demon = 0,
87
105
  Drainer = 1,
@@ -91,29 +109,11 @@ export enum MonKind {
91
109
  }
92
110
  /**
93
111
  */
94
- export enum Color {
95
- White = 0,
96
- Black = 1,
97
- }
98
- /**
99
- */
100
- export enum Consumable {
101
- Potion = 0,
102
- Bomb = 1,
103
- BombOrPotion = 2,
104
- }
105
- /**
106
- */
107
- export enum NextInputKind {
112
+ export enum AvailableMoveKind {
108
113
  MonMove = 0,
109
114
  ManaMove = 1,
110
- MysticAction = 2,
111
- DemonAction = 3,
112
- DemonAdditionalStep = 4,
113
- SpiritTargetCapture = 5,
114
- SpiritTargetMove = 6,
115
- SelectConsumable = 7,
116
- BombAttack = 8,
115
+ Action = 2,
116
+ Potion = 3,
117
117
  }
118
118
  /**
119
119
  */
@@ -522,24 +522,24 @@ export interface InitOutput {
522
522
  readonly __wbg_set_nextinputmodel_location: (a: number, b: number) => void;
523
523
  readonly __wbg_get_nextinputmodel_location: (a: number) => number;
524
524
  readonly __wbg_squaremodel_free: (a: number) => void;
525
+ readonly __wbg_get_location_i: (a: number) => number;
526
+ readonly __wbg_get_location_j: (a: number) => number;
525
527
  readonly __wbg_get_mon_color: (a: number) => number;
526
- readonly __wbg_get_mon_cooldown: (a: number) => number;
527
528
  readonly __wbg_get_mon_kind: (a: number) => number;
529
+ readonly __wbg_location_free: (a: number) => void;
528
530
  readonly __wbg_mon_free: (a: number) => void;
531
+ readonly __wbg_set_location_i: (a: number, b: number) => void;
532
+ readonly __wbg_set_location_j: (a: number, b: number) => void;
529
533
  readonly __wbg_set_mon_color: (a: number, b: number) => void;
530
- readonly __wbg_set_mon_cooldown: (a: number, b: number) => void;
531
534
  readonly __wbg_set_mon_kind: (a: number, b: number) => void;
532
535
  readonly mon_decrease_cooldown: (a: number) => void;
533
536
  readonly mon_faint: (a: number) => void;
534
537
  readonly mon_is_fainted: (a: number) => number;
535
538
  readonly mon_new: (a: number, b: number, c: number) => number;
536
- readonly winner: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
537
- readonly __wbg_get_location_i: (a: number) => number;
538
- readonly __wbg_get_location_j: (a: number) => number;
539
- readonly __wbg_location_free: (a: number) => void;
540
- readonly __wbg_set_location_i: (a: number, b: number) => void;
541
- readonly __wbg_set_location_j: (a: number, b: number) => void;
542
539
  readonly location_new: (a: number, b: number) => number;
540
+ readonly __wbg_set_mon_cooldown: (a: number, b: number) => void;
541
+ readonly __wbg_get_mon_cooldown: (a: number) => number;
542
+ readonly winner: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
543
543
  readonly __wbindgen_malloc: (a: number, b: number) => number;
544
544
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
545
545
  readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
package/mons-web.js CHANGED
@@ -198,37 +198,37 @@ function handleError(f, args) {
198
198
  }
199
199
  /**
200
200
  */
201
- export const ItemModelKind = Object.freeze({ Mon:0,"0":"Mon",Mana:1,"1":"Mana",MonWithMana:2,"2":"MonWithMana",MonWithConsumable:3,"3":"MonWithConsumable",Consumable:4,"4":"Consumable", });
201
+ export const SquareModelKind = Object.freeze({ Regular:0,"0":"Regular",ConsumableBase:1,"1":"ConsumableBase",SupermanaBase:2,"2":"SupermanaBase",ManaBase:3,"3":"ManaBase",ManaPool:4,"4":"ManaPool",MonBase:5,"5":"MonBase", });
202
202
  /**
203
203
  */
204
- export const AvailableMoveKind = Object.freeze({ MonMove:0,"0":"MonMove",ManaMove:1,"1":"ManaMove",Action:2,"2":"Action",Potion:3,"3":"Potion", });
204
+ export const ManaKind = Object.freeze({ Regular:0,"0":"Regular",Supermana:1,"1":"Supermana", });
205
205
  /**
206
206
  */
207
- export const SquareModelKind = Object.freeze({ Regular:0,"0":"Regular",ConsumableBase:1,"1":"ConsumableBase",SupermanaBase:2,"2":"SupermanaBase",ManaBase:3,"3":"ManaBase",ManaPool:4,"4":"ManaPool",MonBase:5,"5":"MonBase", });
207
+ export const Modifier = Object.freeze({ SelectPotion:0,"0":"SelectPotion",SelectBomb:1,"1":"SelectBomb",Cancel:2,"2":"Cancel", });
208
208
  /**
209
209
  */
210
- export const Modifier = Object.freeze({ SelectPotion:0,"0":"SelectPotion",SelectBomb:1,"1":"SelectBomb",Cancel:2,"2":"Cancel", });
210
+ export const Color = Object.freeze({ White:0,"0":"White",Black:1,"1":"Black", });
211
211
  /**
212
212
  */
213
- export const ManaKind = Object.freeze({ Regular:0,"0":"Regular",Supermana:1,"1":"Supermana", });
213
+ export const Consumable = Object.freeze({ Potion:0,"0":"Potion",Bomb:1,"1":"Bomb",BombOrPotion:2,"2":"BombOrPotion", });
214
214
  /**
215
215
  */
216
- export const OutputModelKind = Object.freeze({ InvalidInput:0,"0":"InvalidInput",LocationsToStartFrom:1,"1":"LocationsToStartFrom",NextInputOptions:2,"2":"NextInputOptions",Events:3,"3":"Events", });
216
+ export const ItemModelKind = Object.freeze({ Mon:0,"0":"Mon",Mana:1,"1":"Mana",MonWithMana:2,"2":"MonWithMana",MonWithConsumable:3,"3":"MonWithConsumable",Consumable:4,"4":"Consumable", });
217
217
  /**
218
218
  */
219
- export const EventModelKind = Object.freeze({ MonMove:0,"0":"MonMove",ManaMove:1,"1":"ManaMove",ManaScored:2,"2":"ManaScored",MysticAction:3,"3":"MysticAction",DemonAction:4,"4":"DemonAction",DemonAdditionalStep:5,"5":"DemonAdditionalStep",SpiritTargetMove:6,"6":"SpiritTargetMove",PickupBomb:7,"7":"PickupBomb",PickupPotion:8,"8":"PickupPotion",PickupMana:9,"9":"PickupMana",MonFainted:10,"10":"MonFainted",ManaDropped:11,"11":"ManaDropped",SupermanaBackToBase:12,"12":"SupermanaBackToBase",BombAttack:13,"13":"BombAttack",MonAwake:14,"14":"MonAwake",BombExplosion:15,"15":"BombExplosion",NextTurn:16,"16":"NextTurn",GameOver:17,"17":"GameOver",Takeback:18,"18":"Takeback",UsePotion:19,"19":"UsePotion", });
219
+ export const OutputModelKind = Object.freeze({ InvalidInput:0,"0":"InvalidInput",LocationsToStartFrom:1,"1":"LocationsToStartFrom",NextInputOptions:2,"2":"NextInputOptions",Events:3,"3":"Events", });
220
220
  /**
221
221
  */
222
- export const MonKind = Object.freeze({ Demon:0,"0":"Demon",Drainer:1,"1":"Drainer",Angel:2,"2":"Angel",Spirit:3,"3":"Spirit",Mystic:4,"4":"Mystic", });
222
+ export const EventModelKind = Object.freeze({ MonMove:0,"0":"MonMove",ManaMove:1,"1":"ManaMove",ManaScored:2,"2":"ManaScored",MysticAction:3,"3":"MysticAction",DemonAction:4,"4":"DemonAction",DemonAdditionalStep:5,"5":"DemonAdditionalStep",SpiritTargetMove:6,"6":"SpiritTargetMove",PickupBomb:7,"7":"PickupBomb",PickupPotion:8,"8":"PickupPotion",PickupMana:9,"9":"PickupMana",MonFainted:10,"10":"MonFainted",ManaDropped:11,"11":"ManaDropped",SupermanaBackToBase:12,"12":"SupermanaBackToBase",BombAttack:13,"13":"BombAttack",MonAwake:14,"14":"MonAwake",BombExplosion:15,"15":"BombExplosion",NextTurn:16,"16":"NextTurn",GameOver:17,"17":"GameOver",Takeback:18,"18":"Takeback",UsePotion:19,"19":"UsePotion", });
223
223
  /**
224
224
  */
225
- export const Color = Object.freeze({ White:0,"0":"White",Black:1,"1":"Black", });
225
+ export const NextInputKind = Object.freeze({ MonMove:0,"0":"MonMove",ManaMove:1,"1":"ManaMove",MysticAction:2,"2":"MysticAction",DemonAction:3,"3":"DemonAction",DemonAdditionalStep:4,"4":"DemonAdditionalStep",SpiritTargetCapture:5,"5":"SpiritTargetCapture",SpiritTargetMove:6,"6":"SpiritTargetMove",SelectConsumable:7,"7":"SelectConsumable",BombAttack:8,"8":"BombAttack", });
226
226
  /**
227
227
  */
228
- export const Consumable = Object.freeze({ Potion:0,"0":"Potion",Bomb:1,"1":"Bomb",BombOrPotion:2,"2":"BombOrPotion", });
228
+ export const MonKind = Object.freeze({ Demon:0,"0":"Demon",Drainer:1,"1":"Drainer",Angel:2,"2":"Angel",Spirit:3,"3":"Spirit",Mystic:4,"4":"Mystic", });
229
229
  /**
230
230
  */
231
- export const NextInputKind = Object.freeze({ MonMove:0,"0":"MonMove",ManaMove:1,"1":"ManaMove",MysticAction:2,"2":"MysticAction",DemonAction:3,"3":"DemonAction",DemonAdditionalStep:4,"4":"DemonAdditionalStep",SpiritTargetCapture:5,"5":"SpiritTargetCapture",SpiritTargetMove:6,"6":"SpiritTargetMove",SelectConsumable:7,"7":"SelectConsumable",BombAttack:8,"8":"BombAttack", });
231
+ export const AvailableMoveKind = Object.freeze({ MonMove:0,"0":"MonMove",ManaMove:1,"1":"ManaMove",Action:2,"2":"Action",Potion:3,"3":"Potion", });
232
232
 
233
233
  const EventModelFinalization = (typeof FinalizationRegistry === 'undefined')
234
234
  ? { register: () => {}, unregister: () => {} }
@@ -644,14 +644,14 @@ export class Mon {
644
644
  * @returns {number}
645
645
  */
646
646
  get cooldown() {
647
- const ret = wasm.__wbg_get_mon_cooldown(this.__wbg_ptr);
647
+ const ret = wasm.__wbg_get_location_i(this.__wbg_ptr);
648
648
  return ret;
649
649
  }
650
650
  /**
651
651
  * @param {number} arg0
652
652
  */
653
653
  set cooldown(arg0) {
654
- wasm.__wbg_set_mon_cooldown(this.__wbg_ptr, arg0);
654
+ wasm.__wbg_set_location_i(this.__wbg_ptr, arg0);
655
655
  }
656
656
  /**
657
657
  * @returns {boolean}
@@ -1420,22 +1420,22 @@ function __wbg_get_imports() {
1420
1420
  const ret = Location.__wrap(arg0);
1421
1421
  return addHeapObject(ret);
1422
1422
  };
1423
- imports.wbg.__wbg_nextinputmodel_new = function(arg0) {
1424
- const ret = NextInputModel.__wrap(arg0);
1425
- return addHeapObject(ret);
1426
- };
1427
1423
  imports.wbg.__wbg_eventmodel_new = function(arg0) {
1428
1424
  const ret = EventModel.__wrap(arg0);
1429
1425
  return addHeapObject(ret);
1430
1426
  };
1431
- imports.wbg.__wbg_verbosetrackingentitymodel_new = function(arg0) {
1432
- const ret = VerboseTrackingEntityModel.__wrap(arg0);
1427
+ imports.wbg.__wbg_nextinputmodel_new = function(arg0) {
1428
+ const ret = NextInputModel.__wrap(arg0);
1433
1429
  return addHeapObject(ret);
1434
1430
  };
1435
1431
  imports.wbg.__wbg_location_unwrap = function(arg0) {
1436
1432
  const ret = Location.__unwrap(takeObject(arg0));
1437
1433
  return ret;
1438
1434
  };
1435
+ imports.wbg.__wbg_verbosetrackingentitymodel_new = function(arg0) {
1436
+ const ret = VerboseTrackingEntityModel.__wrap(arg0);
1437
+ return addHeapObject(ret);
1438
+ };
1439
1439
  imports.wbg.__wbg_crypto_1d1f22824a6a080c = function(arg0) {
1440
1440
  const ret = getObject(arg0).crypto;
1441
1441
  return addHeapObject(ret);
package/mons-web_bg.wasm CHANGED
Binary file
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "mons-web",
3
3
  "type": "module",
4
4
  "description": "super metal mons",
5
- "version": "0.1.124",
5
+ "version": "0.1.127",
6
6
  "license": "CC0-1.0",
7
7
  "repository": {
8
8
  "type": "git",