mons-web 0.1.130 → 0.1.132

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
@@ -12,26 +12,31 @@ Docs:
12
12
 
13
13
  - runbook: `HOW_TO_ITERATE_ON_AUTOMOVE.md`
14
14
  - live board: `AUTOMOVE_IDEAS.md`
15
+ - structural review: `docs/automove-structural-review.md`
15
16
  - durable rules: `docs/automove-knowledge.md`
16
17
  - archive: `docs/automove-archive.md`
17
18
 
18
19
  Live surface:
19
20
 
20
- - retained profiles: `shipping_pro_search`, `frontier_pro_v2_guarded`
21
+ - retained profiles: `shipping_pro_search`, previous-production `frontier_pro_v2_guarded`, promoted `frontier_pro_v10_bounded_tactical`
21
22
  - canonical stages: `guardrails`, `pro-triage`, `runtime-preflight`, `pro-reliability`, `pro-reliability-confirm`
22
23
 
23
24
  Quickstart:
24
25
 
25
- - `./scripts/run-automove-canonical-loop.sh frontier_pro_v2_guarded`
26
- - `./scripts/run-automove-canonical-loop.sh --confirm frontier_pro_v2_guarded`
27
- - `./scripts/run-automove-experiment.sh <stage> frontier_pro_v2_guarded`
26
+ - `./scripts/run-automove-canonical-loop.sh frontier_pro_v10_bounded_tactical`
27
+ - `./scripts/run-automove-canonical-loop.sh --confirm frontier_pro_v10_bounded_tactical`
28
+ - `./scripts/run-automove-experiment.sh <stage> frontier_pro_v10_bounded_tactical`
29
+ - `./scripts/run-automove-experiment.sh pro-profile-sweep frontier_pro_v2_raw`
30
+ - `./scripts/check-automove-hygiene.sh`
28
31
  - `./scripts/clean-experiment-artifacts.sh --dry-run`
32
+ - `./scripts/clean-experiment-artifacts.sh --dry-run --all-target`
29
33
 
30
34
  Artifacts:
31
35
 
32
36
  - selected-profile logs: `target/experiment-runs/<profile>/`
33
37
  - workflow-only logs: `target/experiment-runs/misc/`
34
38
  - runtime-preflight stamps: `target/experiment-stamps/`
39
+ - full local build/artifact cache: `target/` via `--all-target`
35
40
 
36
41
  ## Rules Tests
37
42
 
@@ -56,10 +61,14 @@ Use `keep/<name>` for any branch that should survive repo cleanup.
56
61
 
57
62
  ## Publishing
58
63
 
64
+ - Set the release version in `Cargo.toml` and `Cargo.lock`, then commit the complete release change set. `publish.sh` refuses a dirty worktree and no longer mutates the version after validation.
59
65
  - `./publish.sh`
60
- - Confirm public Pro still routes through `frontier_pro_v2_guarded`.
61
- - Confirm `shipping_pro_search` remains available as the retained baseline.
66
+ - Confirm public Pro routes through `frontier_pro_v10_bounded_tactical`.
67
+ - Confirm `frontier_pro_v2_guarded` and `shipping_pro_search` remain available as the previous-production comparator and search-only baseline.
62
68
  - Run `cargo test`.
63
- - Run `cargo test --release --lib smart_automove_release_opening_black_reply_speed_gate -- --ignored --nocapture`.
64
- - Run `cargo test --release --lib smart_automove_release_mixed_runtime_speed_gate -- --ignored --nocapture`.
69
+ - Run `cargo test --release --lib smart_automove_pro_matches_frontier_bounded_tactical_selector_on_release_fixture`.
70
+ - Run `cargo test --release --lib automove_runtime_black_turn_eight_deadline_tail_probe -- --ignored --nocapture` to enforce the whole-call `700ms` ceiling.
71
+ - Run `./scripts/check-automove-hygiene.sh`.
72
+ - Run `./scripts/assert-release-package-surface.sh pkg/web pkg/node` after the Wasm packages are built.
73
+ - Run `node ./scripts/assert-release-automove-route.cjs pkg/node/mons-rust.js` to verify the generated package routes public Pro through bounded tactical v10 on a fixture that differs from both retained v2 and shipping search.
65
74
  - Clean disposable experiment artifacts after validation with `./scripts/clean-experiment-artifacts.sh`.
package/mons-web.d.ts CHANGED
@@ -10,13 +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 Modifier {
14
- SelectPotion = 0,
15
- SelectBomb = 1,
16
- Cancel = 2,
17
- }
18
- /**
19
- */
20
13
  export enum AvailableMoveKind {
21
14
  MonMove = 0,
22
15
  ManaMove = 1,
@@ -25,17 +18,16 @@ export enum AvailableMoveKind {
25
18
  }
26
19
  /**
27
20
  */
28
- export enum Color {
29
- White = 0,
30
- Black = 1,
21
+ export enum Modifier {
22
+ SelectPotion = 0,
23
+ SelectBomb = 1,
24
+ Cancel = 2,
31
25
  }
32
26
  /**
33
27
  */
34
- export enum OutputModelKind {
35
- InvalidInput = 0,
36
- LocationsToStartFrom = 1,
37
- NextInputOptions = 2,
38
- Events = 3,
28
+ export enum Color {
29
+ White = 0,
30
+ Black = 1,
39
31
  }
40
32
  /**
41
33
  */
@@ -48,38 +40,54 @@ export enum MonKind {
48
40
  }
49
41
  /**
50
42
  */
51
- export enum Consumable {
52
- Potion = 0,
53
- Bomb = 1,
54
- BombOrPotion = 2,
43
+ export enum ItemModelKind {
44
+ Mon = 0,
45
+ Mana = 1,
46
+ MonWithMana = 2,
47
+ MonWithConsumable = 3,
48
+ Consumable = 4,
55
49
  }
56
50
  /**
57
51
  */
58
- export enum NextInputKind {
52
+ export enum EventModelKind {
59
53
  MonMove = 0,
60
54
  ManaMove = 1,
61
- MysticAction = 2,
62
- DemonAction = 3,
63
- DemonAdditionalStep = 4,
64
- SpiritTargetCapture = 5,
55
+ ManaScored = 2,
56
+ MysticAction = 3,
57
+ DemonAction = 4,
58
+ DemonAdditionalStep = 5,
65
59
  SpiritTargetMove = 6,
66
- SelectConsumable = 7,
67
- BombAttack = 8,
60
+ PickupBomb = 7,
61
+ PickupPotion = 8,
62
+ PickupMana = 9,
63
+ MonFainted = 10,
64
+ ManaDropped = 11,
65
+ SupermanaBackToBase = 12,
66
+ BombAttack = 13,
67
+ MonAwake = 14,
68
+ BombExplosion = 15,
69
+ NextTurn = 16,
70
+ GameOver = 17,
71
+ Takeback = 18,
72
+ UsePotion = 19,
68
73
  }
69
74
  /**
70
75
  */
71
- export enum ItemModelKind {
72
- Mon = 0,
73
- Mana = 1,
74
- MonWithMana = 2,
75
- MonWithConsumable = 3,
76
- Consumable = 4,
76
+ export enum OutputModelKind {
77
+ InvalidInput = 0,
78
+ LocationsToStartFrom = 1,
79
+ NextInputOptions = 2,
80
+ Events = 3,
77
81
  }
78
82
  /**
79
83
  */
80
- export enum ManaKind {
84
+ export enum SquareModelKind {
81
85
  Regular = 0,
82
- Supermana = 1,
86
+ ConsumableBase = 1,
87
+ SupermanaBase = 2,
88
+ ManaBase = 3,
89
+ ManaPool = 4,
90
+ MonBase = 5,
83
91
  }
84
92
  /**
85
93
  */
@@ -99,37 +107,29 @@ export enum GameVariant {
99
107
  }
100
108
  /**
101
109
  */
102
- export enum SquareModelKind {
110
+ export enum NextInputKind {
111
+ MonMove = 0,
112
+ ManaMove = 1,
113
+ MysticAction = 2,
114
+ DemonAction = 3,
115
+ DemonAdditionalStep = 4,
116
+ SpiritTargetCapture = 5,
117
+ SpiritTargetMove = 6,
118
+ SelectConsumable = 7,
119
+ BombAttack = 8,
120
+ }
121
+ /**
122
+ */
123
+ export enum ManaKind {
103
124
  Regular = 0,
104
- ConsumableBase = 1,
105
- SupermanaBase = 2,
106
- ManaBase = 3,
107
- ManaPool = 4,
108
- MonBase = 5,
125
+ Supermana = 1,
109
126
  }
110
127
  /**
111
128
  */
112
- export enum EventModelKind {
113
- MonMove = 0,
114
- ManaMove = 1,
115
- ManaScored = 2,
116
- MysticAction = 3,
117
- DemonAction = 4,
118
- DemonAdditionalStep = 5,
119
- SpiritTargetMove = 6,
120
- PickupBomb = 7,
121
- PickupPotion = 8,
122
- PickupMana = 9,
123
- MonFainted = 10,
124
- ManaDropped = 11,
125
- SupermanaBackToBase = 12,
126
- BombAttack = 13,
127
- MonAwake = 14,
128
- BombExplosion = 15,
129
- NextTurn = 16,
130
- GameOver = 17,
131
- Takeback = 18,
132
- UsePotion = 19,
129
+ export enum Consumable {
130
+ Potion = 0,
131
+ Bomb = 1,
132
+ BombOrPotion = 2,
133
133
  }
134
134
  /**
135
135
  */
package/mons-web.js CHANGED
@@ -1,3 +1,5 @@
1
+ import * as __wbg_star0 from './snippets/mons-rust-2106594ecd9a3eb2/inline0.js';
2
+
1
3
  let wasm;
2
4
 
3
5
  const heap = new Array(128).fill(undefined);
@@ -198,40 +200,40 @@ function handleError(f, args) {
198
200
  }
199
201
  /**
200
202
  */
201
- export const Modifier = Object.freeze({ SelectPotion:0,"0":"SelectPotion",SelectBomb:1,"1":"SelectBomb",Cancel:2,"2":"Cancel", });
202
- /**
203
- */
204
203
  export const AvailableMoveKind = Object.freeze({ MonMove:0,"0":"MonMove",ManaMove:1,"1":"ManaMove",Action:2,"2":"Action",Potion:3,"3":"Potion", });
205
204
  /**
206
205
  */
207
- export const Color = Object.freeze({ White:0,"0":"White",Black:1,"1":"Black", });
206
+ export const Modifier = Object.freeze({ SelectPotion:0,"0":"SelectPotion",SelectBomb:1,"1":"SelectBomb",Cancel:2,"2":"Cancel", });
208
207
  /**
209
208
  */
210
- export const OutputModelKind = Object.freeze({ InvalidInput:0,"0":"InvalidInput",LocationsToStartFrom:1,"1":"LocationsToStartFrom",NextInputOptions:2,"2":"NextInputOptions",Events:3,"3":"Events", });
209
+ export const Color = Object.freeze({ White:0,"0":"White",Black:1,"1":"Black", });
211
210
  /**
212
211
  */
213
212
  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", });
214
213
  /**
215
214
  */
216
- export const Consumable = Object.freeze({ Potion:0,"0":"Potion",Bomb:1,"1":"Bomb",BombOrPotion:2,"2":"BombOrPotion", });
215
+ 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
216
  /**
218
217
  */
219
- 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", });
218
+ 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", });
220
219
  /**
221
220
  */
222
- 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", });
221
+ export const OutputModelKind = Object.freeze({ InvalidInput:0,"0":"InvalidInput",LocationsToStartFrom:1,"1":"LocationsToStartFrom",NextInputOptions:2,"2":"NextInputOptions",Events:3,"3":"Events", });
223
222
  /**
224
223
  */
225
- export const ManaKind = Object.freeze({ Regular:0,"0":"Regular",Supermana:1,"1":"Supermana", });
224
+ 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", });
226
225
  /**
227
226
  */
228
227
  export const GameVariant = Object.freeze({ Classic:0,"0":"Classic",SwappedManaRows:1,"1":"SwappedManaRows",OffsetArcManaRows:2,"2":"OffsetArcManaRows",CenterSpokeManaRows:3,"3":"CenterSpokeManaRows",AlternatingManaRows:4,"4":"AlternatingManaRows",InnerWedgeManaRows:5,"5":"InnerWedgeManaRows",OuterWedgeManaRows:6,"6":"OuterWedgeManaRows",BentCenterManaRows:7,"7":"BentCenterManaRows",OuterEdgeManaRows:8,"8":"OuterEdgeManaRows",SplitFlankManaRows:9,"9":"SplitFlankManaRows",ForwardBridgeManaRows:10,"10":"ForwardBridgeManaRows",CornerChainManaRows:11,"11":"CornerChainManaRows", });
229
228
  /**
230
229
  */
231
- 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", });
230
+ 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", });
232
231
  /**
233
232
  */
234
- 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", });
233
+ export const ManaKind = Object.freeze({ Regular:0,"0":"Regular",Supermana:1,"1":"Supermana", });
234
+ /**
235
+ */
236
+ export const Consumable = Object.freeze({ Potion:0,"0":"Potion",Bomb:1,"1":"Bomb",BombOrPotion:2,"2":"BombOrPotion", });
235
237
 
236
238
  const EventModelFinalization = (typeof FinalizationRegistry === 'undefined')
237
239
  ? { register: () => {}, unregister: () => {} }
@@ -1433,14 +1435,14 @@ function __wbg_get_imports() {
1433
1435
  const ret = NextInputModel.__wrap(arg0);
1434
1436
  return addHeapObject(ret);
1435
1437
  };
1436
- imports.wbg.__wbg_location_unwrap = function(arg0) {
1437
- const ret = Location.__unwrap(takeObject(arg0));
1438
- return ret;
1439
- };
1440
1438
  imports.wbg.__wbg_verbosetrackingentitymodel_new = function(arg0) {
1441
1439
  const ret = VerboseTrackingEntityModel.__wrap(arg0);
1442
1440
  return addHeapObject(ret);
1443
1441
  };
1442
+ imports.wbg.__wbg_location_unwrap = function(arg0) {
1443
+ const ret = Location.__unwrap(takeObject(arg0));
1444
+ return ret;
1445
+ };
1444
1446
  imports.wbg.__wbg_crypto_1d1f22824a6a080c = function(arg0) {
1445
1447
  const ret = getObject(arg0).crypto;
1446
1448
  return addHeapObject(ret);
@@ -1558,6 +1560,7 @@ function __wbg_get_imports() {
1558
1560
  imports.wbg.__wbindgen_throw = function(arg0, arg1) {
1559
1561
  throw new Error(getStringFromWasm0(arg0, arg1));
1560
1562
  };
1563
+ imports['./snippets/mons-rust-2106594ecd9a3eb2/inline0.js'] = __wbg_star0;
1561
1564
 
1562
1565
  return imports;
1563
1566
  }
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.130",
5
+ "version": "0.1.132",
6
6
  "license": "CC0-1.0",
7
7
  "repository": {
8
8
  "type": "git",