mons-web 0.1.123 → 0.1.124

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,35 +7,36 @@ or
7
7
 
8
8
  ## automove
9
9
 
10
- The active automove workflow lives here:
10
+ Canonical automove workflow:
11
11
 
12
- - canonical workflow: `HOW_TO_ITERATE_ON_AUTOMOVE.md`
13
- - ideas backlog: `AUTOMOVE_IDEAS.md`
14
- - compatibility entrypoint: `docs/automove-experiments.md`
12
+ - runbook: `HOW_TO_ITERATE_ON_AUTOMOVE.md`
13
+ - active backlog: `AUTOMOVE_IDEAS.md`
15
14
  - durable lessons: `docs/automove-knowledge.md`
16
- - retired profile archive: `docs/automove-archive.md`
15
+ - archive: `docs/automove-archive.md`
16
+ - compatibility pointer: `docs/automove-experiments.md`
17
17
 
18
- Useful scripts:
18
+ Session-start commands:
19
19
 
20
20
  - `./scripts/run-automove-experiment.sh guardrails <candidate>`
21
- - `./scripts/run-automove-experiment.sh runtime-preflight <candidate>`
22
- - `./scripts/run-automove-experiment.sh triage-calibrate [reply_risk|opponent_mana|supermana|all]`
23
- - `./scripts/run-automove-experiment.sh preflight <candidate>`
24
21
  - `SMART_TRIAGE_SURFACE=<surface> ./scripts/run-automove-experiment.sh triage <candidate>`
25
- - `SMART_PROMOTION_TARGET_MODE=<fast|normal> ./scripts/run-automove-experiment.sh audit-screen <candidate>`
26
- - `SMART_PROMOTION_TARGET_MODE=<fast|normal> ./scripts/run-automove-experiment.sh fast-screen <candidate>`
27
- - `SMART_PROMOTION_TARGET_MODE=<fast|normal> ./scripts/run-automove-experiment.sh progressive <candidate>`
28
- - `SMART_PROMOTION_TARGET_MODE=<fast|normal> ./scripts/run-automove-experiment.sh ladder <candidate>`
29
22
  - `SMART_TRIAGE_SURFACE=<opening_reply|primary_pro> ./scripts/run-automove-experiment.sh pro-triage <candidate>`
30
- - `./scripts/run-automove-experiment.sh pro-audit-screen <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>`
31
25
  - `./scripts/run-automove-experiment.sh pro-fast-screen <candidate>`
32
- - `./scripts/run-automove-experiment.sh pro-progressive <candidate>`
33
- - `./scripts/run-automove-experiment.sh pro-ladder <candidate>`
34
- - `./scripts/run-automove-experiment.sh pre-screen <candidate>`
35
- - `./scripts/run-automove-experiment.sh pro-pre-screen <candidate>`
36
- - `./scripts/clean-experiment-artifacts.sh`
26
+ - `./scripts/clean-experiment-artifacts.sh --dry-run`
37
27
 
38
- Run `triage-calibrate` before candidate work on `reply_risk`, `opponent_mana`, or `supermana`. Then use `guardrails -> triage -> runtime-preflight` so weak ideas die before the expensive CPU gate. `preflight` still exists as the old all-in-one wrapper. Most candidates should die at `triage`, `pro-triage`, or the first earned duel stage. For mode-specific `fast` or `normal` ideas, run duel stages with `SMART_PROMOTION_TARGET_MODE=<fast|normal>` so the target mode is the improvement bar and the other client mode is only a non-regression check. Use `audit-screen` or `pro-audit-screen` only as occasional spot checks for clean triage rejects. `pre-screen` and `pro-pre-screen` remain available only as legacy noise diagnostics. Unless documented otherwise, new candidates should be deltas on `runtime_current`.
28
+ Default artifact layout:
29
+
30
+ - logs: `target/experiment-runs/<candidate>/`
31
+ - workflow-only logs: `target/experiment-runs/misc/`
32
+ - runtime-preflight stamps: `target/experiment-stamps/`
33
+
34
+ Compatibility notes:
35
+
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.
39
40
 
40
41
  ## rules-tests runner
41
42
 
@@ -67,6 +68,38 @@ Pack a directory back into chunks:
67
68
 
68
69
  `./scripts/pack-rules-tests.sh --dir /tmp/rules-tests-work --chunks-dir ./rules-tests-chunks --chunk-size 100000`
69
70
 
71
+ ## repo cleanup
72
+
73
+ `./repo-clean.sh`
74
+
75
+ - switches back to a kept branch (`main`, `master`, or `keep/*`) before deleting disposable branches
76
+ - removes non-primary worktrees, clears stashes, deletes non-kept local branches, and prunes non-kept remote branches
77
+ - use `./repo-clean.sh --local-only` to skip remote branch deletion
78
+ - use `keep/<name>` for any branch you want to protect from cleanup
79
+
70
80
  ## publishing to npm
71
81
 
72
82
  `./publish.sh`
83
+
84
+ Release checklist:
85
+
86
+ - 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.
89
+ - Run `cargo test`.
90
+ - Run `cargo test --release --lib smart_automove_release_opening_black_reply_speed_gate -- --ignored --nocapture`.
91
+ - Run `cargo test --release --lib smart_automove_release_mixed_runtime_speed_gate -- --ignored --nocapture`.
92
+ - Commit valuable changes before version bump / publish.
93
+ - Clean disposable experiment artifacts after validation with `./scripts/clean-experiment-artifacts.sh`.
94
+
95
+ Production blockers:
96
+
97
+ - build/test failures
98
+ - release speed gate failures
99
+ - any regression that enables turn-engine in shipping `runtime_current`
100
+
101
+ Non-blocking retained experiment state:
102
+
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
104
+ - experiment workflow/logging helpers
105
+ - compressed automove backlog / knowledge / archive docs
package/mons-web.d.ts CHANGED
@@ -19,27 +19,6 @@ export enum ItemModelKind {
19
19
  }
20
20
  /**
21
21
  */
22
- export enum Modifier {
23
- SelectPotion = 0,
24
- SelectBomb = 1,
25
- Cancel = 2,
26
- }
27
- /**
28
- */
29
- export enum OutputModelKind {
30
- InvalidInput = 0,
31
- LocationsToStartFrom = 1,
32
- NextInputOptions = 2,
33
- Events = 3,
34
- }
35
- /**
36
- */
37
- export enum ManaKind {
38
- Regular = 0,
39
- Supermana = 1,
40
- }
41
- /**
42
- */
43
22
  export enum AvailableMoveKind {
44
23
  MonMove = 0,
45
24
  ManaMove = 1,
@@ -48,25 +27,34 @@ export enum AvailableMoveKind {
48
27
  }
49
28
  /**
50
29
  */
51
- export enum Color {
52
- White = 0,
53
- Black = 1,
30
+ export enum SquareModelKind {
31
+ Regular = 0,
32
+ ConsumableBase = 1,
33
+ SupermanaBase = 2,
34
+ ManaBase = 3,
35
+ ManaPool = 4,
36
+ MonBase = 5,
54
37
  }
55
38
  /**
56
39
  */
57
- export enum Consumable {
58
- Potion = 0,
59
- Bomb = 1,
60
- BombOrPotion = 2,
40
+ export enum Modifier {
41
+ SelectPotion = 0,
42
+ SelectBomb = 1,
43
+ Cancel = 2,
61
44
  }
62
45
  /**
63
46
  */
64
- export enum MonKind {
65
- Demon = 0,
66
- Drainer = 1,
67
- Angel = 2,
68
- Spirit = 3,
69
- Mystic = 4,
47
+ export enum ManaKind {
48
+ Regular = 0,
49
+ Supermana = 1,
50
+ }
51
+ /**
52
+ */
53
+ export enum OutputModelKind {
54
+ InvalidInput = 0,
55
+ LocationsToStartFrom = 1,
56
+ NextInputOptions = 2,
57
+ Events = 3,
70
58
  }
71
59
  /**
72
60
  */
@@ -94,13 +82,25 @@ export enum EventModelKind {
94
82
  }
95
83
  /**
96
84
  */
97
- export enum SquareModelKind {
98
- Regular = 0,
99
- ConsumableBase = 1,
100
- SupermanaBase = 2,
101
- ManaBase = 3,
102
- ManaPool = 4,
103
- MonBase = 5,
85
+ export enum MonKind {
86
+ Demon = 0,
87
+ Drainer = 1,
88
+ Angel = 2,
89
+ Spirit = 3,
90
+ Mystic = 4,
91
+ }
92
+ /**
93
+ */
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
104
  }
105
105
  /**
106
106
  */
@@ -519,9 +519,9 @@ export interface InitOutput {
519
519
  readonly verbosetrackingentitymodel_events: (a: number, b: number) => void;
520
520
  readonly verbosetrackingentitymodel_events_fen: (a: number, b: number) => void;
521
521
  readonly verbosetrackingentitymodel_fen: (a: number, b: number) => void;
522
+ readonly __wbg_set_nextinputmodel_location: (a: number, b: number) => void;
522
523
  readonly __wbg_get_nextinputmodel_location: (a: number) => number;
523
524
  readonly __wbg_squaremodel_free: (a: number) => void;
524
- readonly __wbg_set_nextinputmodel_location: (a: number, b: number) => void;
525
525
  readonly __wbg_get_mon_color: (a: number) => number;
526
526
  readonly __wbg_get_mon_cooldown: (a: number) => number;
527
527
  readonly __wbg_get_mon_kind: (a: number) => number;
@@ -533,13 +533,13 @@ export interface InitOutput {
533
533
  readonly mon_faint: (a: number) => void;
534
534
  readonly mon_is_fainted: (a: number) => number;
535
535
  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;
536
537
  readonly __wbg_get_location_i: (a: number) => number;
537
538
  readonly __wbg_get_location_j: (a: number) => number;
538
539
  readonly __wbg_location_free: (a: number) => void;
539
540
  readonly __wbg_set_location_i: (a: number, b: number) => void;
540
541
  readonly __wbg_set_location_j: (a: number, b: number) => void;
541
542
  readonly location_new: (a: number, b: 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
@@ -201,31 +201,31 @@ function handleError(f, args) {
201
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", });
202
202
  /**
203
203
  */
204
- export const Modifier = Object.freeze({ SelectPotion:0,"0":"SelectPotion",SelectBomb:1,"1":"SelectBomb",Cancel:2,"2":"Cancel", });
204
+ export const AvailableMoveKind = Object.freeze({ MonMove:0,"0":"MonMove",ManaMove:1,"1":"ManaMove",Action:2,"2":"Action",Potion:3,"3":"Potion", });
205
205
  /**
206
206
  */
207
- export const OutputModelKind = Object.freeze({ InvalidInput:0,"0":"InvalidInput",LocationsToStartFrom:1,"1":"LocationsToStartFrom",NextInputOptions:2,"2":"NextInputOptions",Events:3,"3":"Events", });
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", });
208
208
  /**
209
209
  */
210
- export const ManaKind = Object.freeze({ Regular:0,"0":"Regular",Supermana:1,"1":"Supermana", });
210
+ export const Modifier = Object.freeze({ SelectPotion:0,"0":"SelectPotion",SelectBomb:1,"1":"SelectBomb",Cancel:2,"2":"Cancel", });
211
211
  /**
212
212
  */
213
- export const AvailableMoveKind = Object.freeze({ MonMove:0,"0":"MonMove",ManaMove:1,"1":"ManaMove",Action:2,"2":"Action",Potion:3,"3":"Potion", });
213
+ export const ManaKind = Object.freeze({ Regular:0,"0":"Regular",Supermana:1,"1":"Supermana", });
214
214
  /**
215
215
  */
216
- export const Color = Object.freeze({ White:0,"0":"White",Black:1,"1":"Black", });
216
+ export const OutputModelKind = Object.freeze({ InvalidInput:0,"0":"InvalidInput",LocationsToStartFrom:1,"1":"LocationsToStartFrom",NextInputOptions:2,"2":"NextInputOptions",Events:3,"3":"Events", });
217
217
  /**
218
218
  */
219
- export const Consumable = Object.freeze({ Potion:0,"0":"Potion",Bomb:1,"1":"Bomb",BombOrPotion:2,"2":"BombOrPotion", });
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", });
220
220
  /**
221
221
  */
222
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", });
223
223
  /**
224
224
  */
225
- 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", });
225
+ export const Color = Object.freeze({ White:0,"0":"White",Black:1,"1":"Black", });
226
226
  /**
227
227
  */
228
- 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", });
228
+ export const Consumable = Object.freeze({ Potion:0,"0":"Potion",Bomb:1,"1":"Bomb",BombOrPotion:2,"2":"BombOrPotion", });
229
229
  /**
230
230
  */
231
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", });
@@ -1416,26 +1416,26 @@ function __wbg_get_imports() {
1416
1416
  const ret = getStringFromWasm0(arg0, arg1);
1417
1417
  return addHeapObject(ret);
1418
1418
  };
1419
- imports.wbg.__wbg_eventmodel_new = function(arg0) {
1420
- const ret = EventModel.__wrap(arg0);
1419
+ imports.wbg.__wbg_location_new = function(arg0) {
1420
+ const ret = Location.__wrap(arg0);
1421
1421
  return addHeapObject(ret);
1422
1422
  };
1423
1423
  imports.wbg.__wbg_nextinputmodel_new = function(arg0) {
1424
1424
  const ret = NextInputModel.__wrap(arg0);
1425
1425
  return addHeapObject(ret);
1426
1426
  };
1427
- imports.wbg.__wbg_location_new = function(arg0) {
1428
- const ret = Location.__wrap(arg0);
1427
+ imports.wbg.__wbg_eventmodel_new = function(arg0) {
1428
+ const ret = EventModel.__wrap(arg0);
1429
1429
  return addHeapObject(ret);
1430
1430
  };
1431
- imports.wbg.__wbg_location_unwrap = function(arg0) {
1432
- const ret = Location.__unwrap(takeObject(arg0));
1433
- return ret;
1434
- };
1435
1431
  imports.wbg.__wbg_verbosetrackingentitymodel_new = function(arg0) {
1436
1432
  const ret = VerboseTrackingEntityModel.__wrap(arg0);
1437
1433
  return addHeapObject(ret);
1438
1434
  };
1435
+ imports.wbg.__wbg_location_unwrap = function(arg0) {
1436
+ const ret = Location.__unwrap(takeObject(arg0));
1437
+ return 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.123",
5
+ "version": "0.1.124",
6
6
  "license": "CC0-1.0",
7
7
  "repository": {
8
8
  "type": "git",