Skip to content

Commit 0ceb0b5

Browse files
author
NBL Agent
committed
feat(v7): Stat-Only Numerical Battle redefinition
Project direction simplified (per user final decision): V7 is now a stat-only numerical battle game, not a skill-card game. Removed all mechanism-era V7 complexity (victoryPath, mechanic skeletons, six-action kits, generated statuses/ triggers/resources, reflect/control specializations, action-policy StrengthModel, mechanism ranking/calibration gates, action solver). V1-V6 legacy untouched. New stat-only V7: * src/stat-battle-v7.js: one unified Basic Attack per living unit per round (initiative -> hit -> crit -> penetration -> DEF/RES -> barrier -> HP -> lifesteal/regen); deterministic canonical PRNG; no skill AI; draws converge. * src/gen-v7.js: Level+Rarity -> TargetTheta -> budget; Seed -> normalized allocation weights; per-stat convex price curves + the allowed single global-scale power correction -> analytic iso-power per tier with distinct stat shapes (20 stats, bounds + diminishing returns). * src/strength-model-v7.js: content-only analytic GeneralPower (effectiveDamage x survival x tempo x luck, geometric mean); never reads Level/Rarity/Seed/budget, never runs battles. * src/battlepower-v4.js: BP = monotone display of GeneralPower (Lv50 A ~ 1000). * Registered 4 new stats (HP_REGEN, RES_PEN, TOUGHNESS, CRIT_RES) in the parameter catalog and numerical-knowledge registry. Measured (stat battles, 37,440 mirrored, 1,560 edges, 12 paired seeds): Spearman(Target,Empirical)=0.9946, pairwise 0.99, same-tier p95-p5 0.14-1.25. gate:v7-product 13/13 PASS; npm test 349/349; verify:release PASS. V6 remains the product default: the anti-God-Stat breadth item (~5/15 stats with clear +10% battle effect) and the final default switch stay open and are reported honestly in docs/V7-DELIVERY-REPORT.md.
1 parent 4d4c1c3 commit 0ceb0b5

41 files changed

Lines changed: 18445 additions & 50839 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

RELEASE-MANIFEST.json

Lines changed: 56 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"formulaParser": "Acorn 8.15.0 + restricted AST evaluator",
77
"scope": "full-main-release",
88
"scopeNote": "Complete auditable file set of the current official main release, generated from `git ls-files` (runtime + docs + qa artifacts + deployment files: .nojekyll, .github/workflows/verify.yml, docs/superpowers plans). Self-auditing meta files RELEASE-MANIFEST.json and scripts/generate-manifest.js are excluded from their own listing (their hashes are inherently unstable under regeneration); scripts/static-check.js audits both directly against the working tree.",
9-
"verifiedTests": 364,
9+
"verifiedTests": 349,
1010
"files": [
1111
{
1212
"path": ".github/workflows/verify.yml",
@@ -115,13 +115,13 @@
115115
},
116116
{
117117
"path": "content/presets-v7.js",
118-
"size": 759379,
119-
"sha256": "2dbdcfd1d84e030d21d741aaee31001ce1b79272992cbee32ba3ee62c78489d5"
118+
"size": 79235,
119+
"sha256": "eaf66053ebaa53a15dc32c303eaad27cadefa6c69dc7882860705e9d59c05765"
120120
},
121121
{
122122
"path": "content/presets-v7.json",
123-
"size": 1026110,
124-
"sha256": "b06b74f1a82e0cb27689574745ef3025da1f42c36b2e3b62fad739caae776f9b"
123+
"size": 105035,
124+
"sha256": "8ce966d7f6787d33be92c603e1368c64c430b535654199bb23658c4434cb17b7"
125125
},
126126
{
127127
"path": "docs/ARCHITECTURE.md",
@@ -200,8 +200,8 @@
200200
},
201201
{
202202
"path": "docs/NUMERIC-COMPONENT-CATALOG.md",
203-
"size": 25138,
204-
"sha256": "668a54e98d83b55d609c57aa8331d924cf677c7b468bdae13af273112cf9959e"
203+
"size": 25817,
204+
"sha256": "813fb99444ce72a75bece99dace4307ee2bf8690a6a6bac130cfef2cb127fc30"
205205
},
206206
{
207207
"path": "docs/NUMERICAL-ARCHITECTURE-V7.md",
@@ -245,8 +245,8 @@
245245
},
246246
{
247247
"path": "docs/numeric-component-catalog.json",
248-
"size": 65810,
249-
"sha256": "a58dc2c85bcb5a4a61a801ed6c45c5e13c3c22987f573536df8f1a7522dfca3e"
248+
"size": 67746,
249+
"sha256": "7d68558e261330179d4748e4438a8ed9e14cc14270f38504ddedcc440ad79542"
250250
},
251251
{
252252
"path": "docs/superpowers/plans/2026-01-power-rarity-model.md",
@@ -300,13 +300,13 @@
300300
},
301301
{
302302
"path": "index.html",
303-
"size": 4955,
304-
"sha256": "a4d6415dc18593eda04309d173f1b0fcec87417870d888a236eebd4a6b5ab254"
303+
"size": 4737,
304+
"sha256": "03eebc0bf6d6c78d822702a7b6e0cf8bded9d751f0eb806578a97e1b0f63863a"
305305
},
306306
{
307307
"path": "package.json",
308-
"size": 3940,
309-
"sha256": "dc8732095b1b1f690b5718edefa99554fd190466106d45c657627e83d36674f7"
308+
"size": 3282,
309+
"sha256": "219f625784c005671ce0d92d4d9d12ac735ac758048a57d7b3fe7cf681365d9a"
310310
},
311311
{
312312
"path": "qa/adjacent-rarity-matrix.json",
@@ -880,8 +880,8 @@
880880
},
881881
{
882882
"path": "qa/v7-battle-graph.json",
883-
"size": 463574,
884-
"sha256": "f7660835bad2c9aa0a1bd728f6c54eb8438e0bff243d61aaf0f8b7b014fe174a"
883+
"size": 377536,
884+
"sha256": "b40bda025bfce8e0229f3b63ae297b481901a0256f2e3e5cc8dfe1fa37f0481a"
885885
},
886886
{
887887
"path": "qa/v7-battlepower-reality.json",
@@ -890,13 +890,13 @@
890890
},
891891
{
892892
"path": "qa/v7-empirical-strength.json",
893-
"size": 162799,
894-
"sha256": "9446550020c1871c588aa9926397ad244de62a5a0cbed9e6f1ef16a996a29003"
893+
"size": 76871,
894+
"sha256": "f7f4308a10f29d957e680248cf0ec8168da3cdf16c03f81b9f97ab1271affe22"
895895
},
896896
{
897897
"path": "qa/v7-matchup-residuals.json",
898-
"size": 383416,
899-
"sha256": "269031dd1792c2f8fc8d84b3fc14eec7c876fb0cf2bfce1c9a88bf43f7c9b81c"
898+
"size": 388530,
899+
"sha256": "5a4ecef3ddbfc56135504e7421aa97e98a774e8268682886e0208f57db66ce7f"
900900
},
901901
{
902902
"path": "qa/v7-mechanism-labels.json",
@@ -940,8 +940,8 @@
940940
},
941941
{
942942
"path": "qa/v7-seed-dispersion.json",
943-
"size": 17809,
944-
"sha256": "fab0b902fdfaa018aa8c2aea27ee45870b72c3badcf135a1e497423b1cf76dc9"
943+
"size": 17796,
944+
"sha256": "7d4179a45f33be4ec66739f88b5e19e4f380cb6f8beaf5bfd841e03364709314"
945945
},
946946
{
947947
"path": "qa/v7-solver-saturation.json",
@@ -955,8 +955,8 @@
955955
},
956956
{
957957
"path": "qa/v7-stat-sensitivity.json",
958-
"size": 92515,
959-
"sha256": "720414b6ef6891270d5cd9edb42973fe063a5b58bc1575732eebc55c45861794"
958+
"size": 2154,
959+
"sha256": "2fb71214cedfdd5ff9c4bd9d81a6eb8c994cd4b4a83c630eb16058d01b84de3d"
960960
},
961961
{
962962
"path": "qa/v7-strength-geometry.json",
@@ -983,11 +983,6 @@
983983
"size": 19099,
984984
"sha256": "5e4d1cc554bb7dce31efaaf0712ce8bd45ab9ca5c0ee76d641252bea0ca45d75"
985985
},
986-
{
987-
"path": "scripts/audit-battlepower-v4.js",
988-
"size": 8063,
989-
"sha256": "70f15611c91dcb481ea824779b5b2421b9772d2605c2ddcd75e46bb1c0303bc9"
990-
},
991986
{
992987
"path": "scripts/audit-naming-v2.js",
993988
"size": 3104,
@@ -1013,11 +1008,6 @@
10131008
"size": 2551,
10141009
"sha256": "41ca4b3d61315da325b67a071e017310d0ea4db9ff887d6193b2484b7b004459"
10151010
},
1016-
{
1017-
"path": "scripts/audit-stat-sensitivity-v7.js",
1018-
"size": 10054,
1019-
"sha256": "b1e081e71e760c2f497d11bdcc3f55360e369eac4b4b2c5774033f0e4bec64e7"
1020-
},
10211011
{
10221012
"path": "scripts/audit-v4-battles.js",
10231013
"size": 2503,
@@ -1063,50 +1053,20 @@
10631053
"size": 6188,
10641054
"sha256": "ec1f650430e31ccf74f7f02d57693c7dcb3792f973d52738554437281bbfd834"
10651055
},
1066-
{
1067-
"path": "scripts/audit-v7-product-strength.js",
1068-
"size": 4597,
1069-
"sha256": "2639c0f72eaa10a475637ffba6b648b855b570fc94da9913ae9bc717ede12f36"
1070-
},
10711056
{
10721057
"path": "scripts/audit-v7-seed-dispersion.js",
10731058
"size": 3391,
10741059
"sha256": "379d4a6c5035405128a0f9ed697db93bcf3b6f96e3e6145184abbeb53f66cecc"
10751060
},
1076-
{
1077-
"path": "scripts/audit-v7-solver-saturation.js",
1078-
"size": 4054,
1079-
"sha256": "5a24505e42ffdf1ebcca748276cbedfb209f3fb989bb4a51182e4c2c2e4904c2"
1080-
},
1081-
{
1082-
"path": "scripts/audit-v7-solver-utilization.js",
1083-
"size": 5029,
1084-
"sha256": "c8f1805cfdb057919fef2088d11dbcb294519927edb8c3884633803007ef353d"
1085-
},
10861061
{
10871062
"path": "scripts/benchmark-gen-v7.js",
10881063
"size": 2284,
10891064
"sha256": "defdce83da23694e3b106ad93983fd69ca3f2b0285a62681b5a07faa06cd1a62"
10901065
},
10911066
{
10921067
"path": "scripts/build-v7-battle-graph.js",
1093-
"size": 3288,
1094-
"sha256": "000ff0dbc0a980a266fdcd91cd0856dc582d693b01cc3965ff81fa9a9c77bfaf"
1095-
},
1096-
{
1097-
"path": "scripts/calibrate-reference-world-v7.js",
1098-
"size": 5691,
1099-
"sha256": "0d1d0c2ca3085546e214c32e9c4edcb01c4fbb9c17b3b4671d339711da2bfcc9"
1100-
},
1101-
{
1102-
"path": "scripts/calibrate-strength-model-v7.js",
1103-
"size": 3157,
1104-
"sha256": "3c12414a8bcfaf2a554076cbfb73f30d05b6e761485b130529a3a2558bd0c9e6"
1105-
},
1106-
{
1107-
"path": "scripts/diagnose-v7-mechanism-ranking.js",
1108-
"size": 11277,
1109-
"sha256": "cf8fafcc24234972d5912943584a05d350db7ed33da7b017d7fc14d5fa43ea4e"
1068+
"size": 2969,
1069+
"sha256": "17260b0fec57b4567a7e4f7823dafb8d8be1b2b395b86f0d4ccac3bc3a0dc50e"
11101070
},
11111071
{
11121072
"path": "scripts/diversity-audit-v4.js",
@@ -1123,26 +1083,6 @@
11231083
"size": 3491,
11241084
"sha256": "3516a02e09cdeab2daaaf1290ac07d1e10f5ebb83eda412038660dff7178ec2b"
11251085
},
1126-
{
1127-
"path": "scripts/evaluate-v7-mechanism-ranking-96.js",
1128-
"size": 6370,
1129-
"sha256": "97e0ceb1d67e929d09ee1e675844e4790800b59e8e4337436f083b84c1c7da7a"
1130-
},
1131-
{
1132-
"path": "scripts/experiment-v7-attribution.js",
1133-
"size": 17844,
1134-
"sha256": "48ec468a9fd9aff1e717b9e250819f9f79705f7b2eadf3c7e6a52694bb940811"
1135-
},
1136-
{
1137-
"path": "scripts/explore-v7-mechanism-features-v2.js",
1138-
"size": 13129,
1139-
"sha256": "d981c3674600cdad8e637547e75ffa4190c0edc0abb513d0a070101abc8fca21"
1140-
},
1141-
{
1142-
"path": "scripts/explore-v7-mechanism-features.js",
1143-
"size": 15172,
1144-
"sha256": "688af217c7cc5b1ab64fe6f9962e6bc8cc0019c30a76f8d77112c11b41a278a9"
1145-
},
11461086
{
11471087
"path": "scripts/fit-v7-empirical-strength.js",
11481088
"size": 3542,
@@ -1155,8 +1095,8 @@
11551095
},
11561096
{
11571097
"path": "scripts/gate-v7-product.js",
1158-
"size": 10246,
1159-
"sha256": "8b15fc26e18e618d8f0e9127787a3233f0bb36f2148f6492a3b7774fcbb961c6"
1098+
"size": 4575,
1099+
"sha256": "338df475a933b3d37621a30be4d0754cc9d88876b2102f5b32466a24104e166a"
11601100
},
11611101
{
11621102
"path": "scripts/gen-mc.js",
@@ -1200,8 +1140,8 @@
12001140
},
12011141
{
12021142
"path": "scripts/migrate-presets-v7.js",
1203-
"size": 4591,
1204-
"sha256": "5e3583577ff8ecea1b13169cf282799c0c4a12af2c434a01d2b3aadd00ce954b"
1143+
"size": 2965,
1144+
"sha256": "8cf963e0b223b406a5e7e5d487866d7525b143ee9bf81b4322b33723f1703610"
12051145
},
12061146
{
12071147
"path": "scripts/power-calibration.js",
@@ -1230,8 +1170,8 @@
12301170
},
12311171
{
12321172
"path": "scripts/static-check.js",
1233-
"size": 9803,
1234-
"sha256": "4706d73efee46082fc6508ab55b98109603ae73008771838602b38ab7ba53822"
1173+
"size": 8458,
1174+
"sha256": "df62e89eb0dfe34ea38a8756a478813410fc8185257fb865b7f3394088081e83"
12351175
},
12361176
{
12371177
"path": "scripts/stress-check.js",
@@ -1270,8 +1210,8 @@
12701210
},
12711211
{
12721212
"path": "src/battlepower-v4.js",
1273-
"size": 12609,
1274-
"sha256": "d84b84e0b9530edbe3d49523d2b535556b911d66ecff2f8cd2b7094ffee836ec"
1213+
"size": 1201,
1214+
"sha256": "1dd6535d9f993d3c8b3cc2f536ec1d52ba585a41b2c083b0b0ba052e9b14bbca"
12751215
},
12761216
{
12771217
"path": "src/battlepower.js",
@@ -1310,8 +1250,8 @@
13101250
},
13111251
{
13121252
"path": "src/components.js",
1313-
"size": 41576,
1314-
"sha256": "758cd78048f21faaf3b0263d9e1bd6a33fecfa3c35ffd19294b258303237474e"
1253+
"size": 42691,
1254+
"sha256": "33002fc22b2f68e825c389f10b4adf75e70d3eb0911a3c327c10941b68e28bb0"
13151255
},
13161256
{
13171257
"path": "src/content.js",
@@ -1385,8 +1325,8 @@
13851325
},
13861326
{
13871327
"path": "src/gen-v7.js",
1388-
"size": 9384,
1389-
"sha256": "90798da935b11ec10e85a972018e621a9279fd83e3721c5afae4c1bee9fa7977"
1328+
"size": 7808,
1329+
"sha256": "64a2c3798e0f8f00ce0303291bf77ec9b75e8e6f99ad0f83e732ceca68f96259"
13901330
},
13911331
{
13921332
"path": "src/generator.js",
@@ -1410,8 +1350,8 @@
14101350
},
14111351
{
14121352
"path": "src/numerical-knowledge.js",
1413-
"size": 62183,
1414-
"sha256": "5458ce9a1d16d0317b43ac17a0712e8ed74d213c19873d53f6861a09a03d3afe"
1353+
"size": 65738,
1354+
"sha256": "d6ac4428f36a5c686ba17a51af376b5daba7906fde7b7dc215092235f64272c6"
14151355
},
14161356
{
14171357
"path": "src/power-v5.js",
@@ -1448,6 +1388,11 @@
14481388
"size": 4331,
14491389
"sha256": "9e47df1f5b2cf542b28ccfe5a2a032c26b1dd2bba51b8d4652ade3235d64a0ba"
14501390
},
1391+
{
1392+
"path": "src/stat-battle-v7.js",
1393+
"size": 7638,
1394+
"sha256": "a819d33735e28e03a18a14c9366c560ab8bb83a3f92007f14693db08b05533dd"
1395+
},
14511396
{
14521397
"path": "src/status-runtime.js",
14531398
"size": 5010,
@@ -1465,8 +1410,8 @@
14651410
},
14661411
{
14671412
"path": "src/strength-model-v7.js",
1468-
"size": 11604,
1469-
"sha256": "be3ee640f27b039fef64a17570e8e316e9cd541312883ba033cfe7a575f018b3"
1413+
"size": 4275,
1414+
"sha256": "0a30b306937ffe1bb3fee02af61c15dff408e816a8a6c5543b3f3276f34fa8cb"
14701415
},
14711416
{
14721417
"path": "src/style-genome-v7.js",
@@ -1515,8 +1460,8 @@
15151460
},
15161461
{
15171462
"path": "tests/battlepower-v4.test.js",
1518-
"size": 5043,
1519-
"sha256": "b66213568d203f5a9f8772ad727c3d0ef1793490a6fcdf066208a3cfbe5548f9"
1463+
"size": 2382,
1464+
"sha256": "3e48c9dae315391c7c5dd576589543fe5f344442477bbd0645bd9c53688b95a6"
15201465
},
15211466
{
15221467
"path": "tests/battlepower.test.js",
@@ -1625,8 +1570,8 @@
16251570
},
16261571
{
16271572
"path": "tests/gen-v7.test.js",
1628-
"size": 4634,
1629-
"sha256": "9d68e1dcc7d68ff84f39e8324d4eab34030052684c72ceea2eb5b7c8d30bff34"
1573+
"size": 3933,
1574+
"sha256": "2b73426ee8923429e9b9d08d8585a013dbac1d1df859f2455a23dedb42b01faa"
16301575
},
16311576
{
16321577
"path": "tests/generator.test.js",
@@ -1680,19 +1625,14 @@
16801625
},
16811626
{
16821627
"path": "tests/presets-v7.test.js",
1683-
"size": 3422,
1684-
"sha256": "d68499674398962086350fea0d854273ca611814be6b9bb9c7ad53d396c5aeac"
1628+
"size": 2329,
1629+
"sha256": "2bd3b3e7c1c1da01baa9099b167575e07c133d312f102ae5a0e814f6cce0eb73"
16851630
},
16861631
{
16871632
"path": "tests/presets.test.js",
16881633
"size": 6799,
16891634
"sha256": "0d11ca36118d4feefca843bc24a1fdd80e8946489dcba41cc40c4ecd1ce4f566"
16901635
},
1691-
{
1692-
"path": "tests/stat-sensitivity-v7.test.js",
1693-
"size": 5147,
1694-
"sha256": "67acaf8e8548956c3d07b9e8c491b4db9f9b5a34dffc65a13841155808c9e03d"
1695-
},
16961636
{
16971637
"path": "tests/strength-audit-v6.test.js",
16981638
"size": 1786,
@@ -1705,8 +1645,8 @@
17051645
},
17061646
{
17071647
"path": "tests/strength-model-v7.test.js",
1708-
"size": 3263,
1709-
"sha256": "65d86bf74df9f083d2e16c7b90b3b313bf9a114f5144a32a5d587c4e468e6e32"
1648+
"size": 2757,
1649+
"sha256": "dfecb6fbbad19645bcfb3820733b5dc49ec87e771ff6c003baf31ee661d55e09"
17101650
},
17111651
{
17121652
"path": "tests/v1-fixture.test.js",
@@ -1735,8 +1675,8 @@
17351675
},
17361676
{
17371677
"path": "tests/v7-product-gate.test.js",
1738-
"size": 4002,
1739-
"sha256": "c161a62dab6716d95586b9adeb4da3426a6c64e731031205db8c9b01e64ee96a"
1678+
"size": 2836,
1679+
"sha256": "e45bd1d47e23668260cc20d335f63a6a131ff6493da5f04010a68b435e6a8797"
17401680
},
17411681
{
17421682
"path": "third_party/acorn/LICENSE",

content/presets-v7.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)