@codyswann/lisa 2.346.0 → 2.349.0

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.
Files changed (77) hide show
  1. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  2. package/dist/core/upstream-evidence-manifest.js +62 -4
  3. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  4. package/expo/copy-overwrite/scripts/bdd/baseline.mjs +224 -0
  5. package/expo/copy-overwrite/scripts/bdd/contract.mjs +121 -0
  6. package/expo/copy-overwrite/scripts/bdd/envelope.mjs +231 -0
  7. package/expo/copy-overwrite/scripts/bdd/parse.mjs +220 -0
  8. package/expo/copy-overwrite/scripts/bdd/render.mjs +170 -0
  9. package/expo/copy-overwrite/scripts/bdd/report.mjs +361 -0
  10. package/expo/copy-overwrite/scripts/bdd/validate.mjs +282 -0
  11. package/expo/copy-overwrite/scripts/bdd/waivers.mjs +210 -0
  12. package/expo/copy-overwrite/scripts/bdd-matrix.mjs +278 -0
  13. package/expo/copy-overwrite/scripts/check-bdd-coverage.mjs +657 -0
  14. package/expo/create-only/.github/required-checks.json +52 -0
  15. package/expo/create-only/.github/workflows/nightly-e2e-bypass-reaper.yml +83 -0
  16. package/expo/create-only/.github/workflows/nightly-e2e-health.yml +140 -0
  17. package/expo/create-only/bdd/coverage-map.json +38 -0
  18. package/expo/create-only/bdd/features/.keep +5 -0
  19. package/expo/github-rulesets/{playwright.json → bdd-coverage.json} +3 -8
  20. package/expo/github-rulesets/nightly-e2e-health.json +33 -0
  21. package/expo/package-lisa/package.lisa.json +3 -0
  22. package/package.json +1 -1
  23. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  24. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  25. package/plugins/lisa-agy/plugin.json +1 -1
  26. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  27. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  28. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  29. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  30. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  31. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  35. package/plugins/lisa-expo-agy/plugin.json +1 -1
  36. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  40. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  41. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  45. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  46. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  50. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  51. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  55. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  56. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  60. package/plugins/lisa-rails-agy/plugin.json +1 -1
  61. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  63. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  64. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  65. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  66. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  67. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  68. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  70. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  71. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  72. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  73. package/typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs +1516 -0
  74. package/typescript/copy-overwrite/scripts/check-skipped-required-checks.mjs +580 -0
  75. package/typescript/copy-overwrite/scripts/nightly-e2e-suites.schema.json +85 -0
  76. package/typescript/create-only/.github/required-checks.json +28 -0
  77. package/typescript/package-lisa/package.lisa.json +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgsEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAoyNjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
1
+ {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwuEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA00NjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
@@ -83,15 +83,30 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
83
83
  "expo/copy-overwrite/jest.setup.pre.js": "8ed599504ce30a71ee840a0faac2da238cfc7ff77e5d37ae39275808aecc6bc5",
84
84
  "expo/copy-overwrite/jest.setup.ts": "102b22e857eb9deebfa18a44b680f8d95496dafcceaa3e65b6774b8e4a0e74f1",
85
85
  "expo/copy-overwrite/knip.json": "b19d0c177d8d0460779e07043c92d37555e7721224b6b2134ac2f6d10ab44b33",
86
+ "expo/copy-overwrite/scripts/bdd-matrix.mjs": "f510e7e4484cd4f6182afab72f412ff9e8db458b18b96403ec1c0bd672f1dd51",
87
+ "expo/copy-overwrite/scripts/bdd/baseline.mjs": "dd48f24536fd36c56e8e6dc3c192f8862f3aa7dfef0e46db4f55205c1ee2b1ec",
88
+ "expo/copy-overwrite/scripts/bdd/contract.mjs": "d8a418d655d4a14d4d3287518b8d678cb410b7f08e38a60cf0dbf30b2e796973",
89
+ "expo/copy-overwrite/scripts/bdd/envelope.mjs": "7bb2aa5dbe49fa97d3f14e5400fef3f76e0fd99ab74e88d568a3d037c94c601d",
90
+ "expo/copy-overwrite/scripts/bdd/parse.mjs": "d6866a422d841cef291dea931424af4e0799be34d19f6817adba28e31972ac4f",
91
+ "expo/copy-overwrite/scripts/bdd/render.mjs": "c900d5be3b4692bc7f2252f1461b0db987d300f99817ad83466428c530da4fce",
92
+ "expo/copy-overwrite/scripts/bdd/report.mjs": "effb76f834032e5a21e631134a1fb38a08382dcb1db5da2c57fc28aeebe6fb56",
93
+ "expo/copy-overwrite/scripts/bdd/validate.mjs": "564e128ba1fc804861598baf509e2e13ec688bb99df9612b1aea3434ed9412a6",
94
+ "expo/copy-overwrite/scripts/bdd/waivers.mjs": "4b9ebf80100f478cc5e06d50b4d672ad08ec77a3746a7a109a74e1daf71a55b7",
95
+ "expo/copy-overwrite/scripts/check-bdd-coverage.mjs": "13db95d2ed8bce81acfb4fdfd9adb195a60818952393268f6a269dbaa6e62d66",
86
96
  "expo/copy-overwrite/scripts/check-e2e-coverage.mjs": "30cf7d860ecd3b838b8608f38da10fcddb4e7e90a0867438f411d68346a5f129",
87
97
  "expo/copy-overwrite/tsconfig.eslint.json": "375bb2ee8185e4a57d703e078ad57188f6d45b03b0fcbb16ef049fcf9b14c44b",
88
98
  "expo/copy-overwrite/tsconfig.expo.json": "55f3dfe80496f03152d40d364c5a9cabf3fdce3adc8cebea48ba5257d77b7aa9",
89
99
  "expo/copy-overwrite/tsconfig.json": "c92e2c2c109e8794ee351f634361ef46297f5a0cd606aaf5c19911da836df307",
100
+ "expo/create-only/.github/required-checks.json": "fb2f03ba0c595fab1fdf59b018a38acce0f9b25ba15705bf8af498135eb148b4",
90
101
  "expo/create-only/.github/workflows/ci.yml": "bf75c9d3b4f4a2cb24c2214d9fc27a9cb2247a6694b0cf02c40032b4d3e87cd9",
91
102
  "expo/create-only/.github/workflows/deploy.yml": "0978b1f4e19e1ff66bb8cdd037d36a3751d4e917db7ceb5bcf100fad36768516",
92
103
  "expo/create-only/.github/workflows/maestro-e2e.yml": "444367a8cefaa81b484bc6eff5923c34177e10f6a67cbf1befec00c9d0d1d36b",
104
+ "expo/create-only/.github/workflows/nightly-e2e-bypass-reaper.yml": "4185f5083d8da5efa620e8641d6b75e0cb424edd563989c7432892872969797c",
105
+ "expo/create-only/.github/workflows/nightly-e2e-health.yml": "f0ca0b9ed28f565e60de14e0fb949d335b308243e108948cd1f7cb1472d30724",
93
106
  "expo/create-only/.zap/baseline.conf": "ab18d74ba5270dd5d795e740cd6b1292bb78dc36c79a20c1e7b752d14c0c55f5",
94
107
  "expo/create-only/babel.config.js": "faaf96f0d43c724a240a7892584de54ae384eee9ef9d76430d081f37d9f92924",
108
+ "expo/create-only/bdd/coverage-map.json": "7aecd1aca01b73eb20e311281a5e63137bd92d86d49c02fb48bcee9fdc94e07d",
109
+ "expo/create-only/bdd/features/.keep": "b807c9c94a3b00b93d2463a9b098dac41db227ac1f5b0b1cb746e5e6f68de15d",
95
110
  "expo/create-only/e2e.thresholds.json": "23ac9bab7fe84cfa542785156425e020af9baabdbeb1a53293ae7e2395e4dd92",
96
111
  "expo/create-only/jest.config.local.ts": "edf524bbf37e83883ade6bb60a8904aa2243eda7a9ca3448265761c3ca517df6",
97
112
  "expo/create-only/jest.config.react-native-mock.js": "21bda73cf5b79fda3ed95be47c1898444bb7e659a26705afa03999b4fcf73c28",
@@ -104,10 +119,11 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
104
119
  "expo/create-only/tsconfig.json": "fdb99e32d1588e75735755d7b5caab406ad8387c21a3d820cd3b40cb9218a191",
105
120
  "expo/create-only/tsconfig.local.json": "dad4b4a00c890ce8c30db87ad3f8e92e2273e31c2c2a6436d0ab327b47f72758",
106
121
  "expo/deletions.json": "ddf6330d4f5d961c55e908efcc5d71c4c78410525018b096702b9a53906b946e",
107
- "expo/github-rulesets/playwright.json": "b57ccd12f768a1466a9681528858e59764bd0efedcbcb3a96c2fb40719bbd579",
122
+ "expo/github-rulesets/bdd-coverage.json": "e97e53f48abc255a1a200c63fcea0cf2353b795248d126155041347908815386",
123
+ "expo/github-rulesets/nightly-e2e-health.json": "af9556f52bbb04d303f557eb178d876d82348d15a991729b8a96fb1f06d5b03a",
108
124
  "expo/merge/.claude/settings.json": "e97b33d7ad86b71abba94ab957d725e34c3cafca455e92fba0b29ebabc3b73d1",
109
125
  "expo/merge/.oxlintrc.json": "2a0ea2191abd5b377aed4b525a4a97d3eefb1d9e41c845c02ee0daac75df6b1f",
110
- "expo/package-lisa/package.lisa.json": "c0d30ba53a179acb8720c4443b5f5fd6df092f735b9e3fbcea34f6b4995def0f",
126
+ "expo/package-lisa/package.lisa.json": "a36a59462e548e685bd199770cb2d567a5965a1c1da6e32ef3e9041b2f9f1446",
111
127
  "harper-fabric/copy-contents/.prettierignore": "478c782f4c5611187e21584dfd5522e37fc636c5eb03394fea3db45321c6712c",
112
128
  "harper-fabric/copy-contents/gitignore": "d091c40fd0ea3068491f1be0d6510090ae872ca95d0d058ef4595d6492d13897",
113
129
  "harper-fabric/copy-overwrite/.github/dependabot.yml": "e28fde0d906478b3fb7d6b7fc16f7fc5a4a0a20d8160f547f2b4be97c90578b7",
@@ -1082,15 +1098,19 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1082
1098
  "typescript/copy-overwrite/eslint.ignore.config.json": "04dcd754829cf93bf0ba0d76e4031d28cb7149afa658575d02bb13bf73f7880e",
1083
1099
  "typescript/copy-overwrite/eslint.slow.config.ts": "f66d04381940936544931d7f20ffd4e43c38b8a907d56ffa101e2236371d8c94",
1084
1100
  "typescript/copy-overwrite/knip.json": "6eb93d705a2d645332fbae1dd42cf2d48f85978ebc265451a53790912f277d12",
1101
+ "typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs": "c1e4bf2287982c9814f168a13f66792c013f557a6028adbc8110ee4214cecf15",
1102
+ "typescript/copy-overwrite/scripts/check-skipped-required-checks.mjs": "86e9df17ea11fe0cd11d54f7fd60f016338e7fe28cdd4b07fab3b0b064b64ffb",
1085
1103
  "typescript/copy-overwrite/scripts/check-threshold-ratchet.mjs": "e1e3f22b33267212b90f915f83821559d1a45cab5b16c7164b86bd6c7b53549b",
1086
1104
  "typescript/copy-overwrite/scripts/check-verification-coverage.mjs": "3c1d27d0668fc66a18cb014f2b607878f0a88c178a773fbe964b8e46b19e86d6",
1087
1105
  "typescript/copy-overwrite/scripts/lisa-mutation.mjs": "7d8d24dea151ef2178807046e97aea7ebfadd9c88eb50347feb7bb4bb190227d",
1106
+ "typescript/copy-overwrite/scripts/nightly-e2e-suites.schema.json": "ea9b2b4ab1d2a39d7b4eb8c841ccae576836678ca42bb40161d6af383e3e378c",
1088
1107
  "typescript/copy-overwrite/scripts/threshold-ratchet-compare.mjs": "90affbeaed0d65c032dccfc0bd4a4b26eda291f6b61aa8b12599f41842452e0a",
1089
1108
  "typescript/copy-overwrite/scripts/threshold-ratchet-families.mjs": "db14245ed89b483912af287bdee917a7a921dc21bb29b49be37fc799c05c413f",
1090
1109
  "typescript/copy-overwrite/sgconfig.yml": "0ffe058c791d4d323f98104cf78c763bb0356d88739042060ceb86b6b1cb78d7",
1091
1110
  "typescript/copy-overwrite/tsconfig.eslint.json": "8a8ae5e201b18887b8eeda5eb569747221695524d4193ea03b4338b97b7fa642",
1092
1111
  "typescript/copy-overwrite/tsconfig.json": "8f4257fcd2cfd4b23e83e0fdd4908d41ee8f1ae75bb95d632e653a0ac13d58e4",
1093
1112
  "typescript/copy-overwrite/vitest.config.ts": "da92f06cc3ce68462c6f2f3d95adb1b1464591ce383a24e3334dc986e0c1e0fb",
1113
+ "typescript/create-only/.github/required-checks.json": "a490d9d4344bafe8178c6b0b4a9a8a6fff8548ef9cff76ba0562c50040b174ae",
1094
1114
  "typescript/create-only/.github/workflows/auto-update-pr-branches-dispatch.yml": "347f8a3830efdc3ad701fae0858994f4e45df8100844e91948b017b98115a28c",
1095
1115
  "typescript/create-only/.github/workflows/auto-update-pr-branches.yml": "cf185555bcbe8e9957333abcae2e0c20e00875f8d867f70134efbd2a5c974ee5",
1096
1116
  "typescript/create-only/.github/workflows/ci.yml": "dac98b7ab5a7397461e459b2553101bfdc6451d28b42f3b0115056b62cfb8b1d",
@@ -1117,7 +1137,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1117
1137
  "typescript/github-rulesets/quality-checks.json": "d92599b203071b99b8fac1422b8493d2546138961ef04ba98176bc400af60945",
1118
1138
  "typescript/merge/.claude/settings.json": "834e6456cae81f45073bbbb08bf731fef043efb30cae2658cb4a59f17e66d165",
1119
1139
  "typescript/merge/.oxlintrc.json": "4debc093acfd263eb81ae15894073ebf098513204f45f40b83fb8fa5353fa1f8",
1120
- "typescript/package-lisa/package.lisa.json": "5d66792e54b1ed0ca1f2103e504f77a6afb8187660404ddba24936b049568934",
1140
+ "typescript/package-lisa/package.lisa.json": "7f121eec2d022cad7e3cf960806fefe7f30ef626cc89f951d322b40f5a9bd5ca",
1121
1141
  "ui/README.md": "deeb35e767ea5dd2883268835ea3ad21cbad9fa63ec8d8ff5e200f0e2a7d2751",
1122
1142
  "ui/index.html": "400088617ed6f16b4e52da5bfa81242d75cb09bc3ad6929eadb9f06e5365b4b6",
1123
1143
  });
@@ -1224,6 +1244,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1224
1244
  ".github/workflows/lisa-build-intake.yml": true,
1225
1245
  ".github/workflows/load-test.yml": true,
1226
1246
  ".github/workflows/maestro-native-e2e.yml": true,
1247
+ ".github/workflows/nightly-e2e-health.yml": true,
1227
1248
  ".github/workflows/plugins-sync.yml": true,
1228
1249
  ".github/workflows/publish-to-npm.yml": true,
1229
1250
  ".github/workflows/quality-rails.yml": true,
@@ -1346,9 +1367,11 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1346
1367
  "cdk/merge/.oxlintrc.json": true,
1347
1368
  "cdk/package-lisa/package.lisa.json": true,
1348
1369
  "commitlint.config.cjs": true,
1370
+ "docs/bdd-coverage-schema.md": true,
1349
1371
  "docs/design/uat-acceptance-verification-gate.md": true,
1350
1372
  "docs/kane-cli-integration.md": true,
1351
1373
  "docs/kane-cli-pilot.example.json": true,
1374
+ "docs/nightly-e2e-gate.md": true,
1352
1375
  "docs/remote-agent-aws.md": true,
1353
1376
  "docs/wiki-inbox/.gitkeep": true,
1354
1377
  "eslint-plugin-code-organization/README.md": true,
@@ -1405,15 +1428,30 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1405
1428
  "expo/copy-overwrite/jest.setup.pre.js": true,
1406
1429
  "expo/copy-overwrite/jest.setup.ts": true,
1407
1430
  "expo/copy-overwrite/knip.json": true,
1431
+ "expo/copy-overwrite/scripts/bdd-matrix.mjs": true,
1432
+ "expo/copy-overwrite/scripts/bdd/baseline.mjs": true,
1433
+ "expo/copy-overwrite/scripts/bdd/contract.mjs": true,
1434
+ "expo/copy-overwrite/scripts/bdd/envelope.mjs": true,
1435
+ "expo/copy-overwrite/scripts/bdd/parse.mjs": true,
1436
+ "expo/copy-overwrite/scripts/bdd/render.mjs": true,
1437
+ "expo/copy-overwrite/scripts/bdd/report.mjs": true,
1438
+ "expo/copy-overwrite/scripts/bdd/validate.mjs": true,
1439
+ "expo/copy-overwrite/scripts/bdd/waivers.mjs": true,
1440
+ "expo/copy-overwrite/scripts/check-bdd-coverage.mjs": true,
1408
1441
  "expo/copy-overwrite/scripts/check-e2e-coverage.mjs": true,
1409
1442
  "expo/copy-overwrite/tsconfig.eslint.json": true,
1410
1443
  "expo/copy-overwrite/tsconfig.expo.json": true,
1411
1444
  "expo/copy-overwrite/tsconfig.json": true,
1445
+ "expo/create-only/.github/required-checks.json": true,
1412
1446
  "expo/create-only/.github/workflows/ci.yml": true,
1413
1447
  "expo/create-only/.github/workflows/deploy.yml": true,
1414
1448
  "expo/create-only/.github/workflows/maestro-e2e.yml": true,
1449
+ "expo/create-only/.github/workflows/nightly-e2e-bypass-reaper.yml": true,
1450
+ "expo/create-only/.github/workflows/nightly-e2e-health.yml": true,
1415
1451
  "expo/create-only/.zap/baseline.conf": true,
1416
1452
  "expo/create-only/babel.config.js": true,
1453
+ "expo/create-only/bdd/coverage-map.json": true,
1454
+ "expo/create-only/bdd/features/.keep": true,
1417
1455
  "expo/create-only/e2e.thresholds.json": true,
1418
1456
  "expo/create-only/jest.config.local.ts": true,
1419
1457
  "expo/create-only/jest.config.react-native-mock.js": true,
@@ -1426,7 +1464,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1426
1464
  "expo/create-only/tsconfig.json": true,
1427
1465
  "expo/create-only/tsconfig.local.json": true,
1428
1466
  "expo/deletions.json": true,
1429
- "expo/github-rulesets/playwright.json": true,
1467
+ "expo/github-rulesets/bdd-coverage.json": true,
1468
+ "expo/github-rulesets/nightly-e2e-health.json": true,
1430
1469
  "expo/merge/.claude/settings.json": true,
1431
1470
  "expo/merge/.oxlintrc.json": true,
1432
1471
  "expo/package-lisa/package.lisa.json": true,
@@ -7156,6 +7195,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7156
7195
  "tests/fixtures/wiki-safety/allowed-contacts.md": true,
7157
7196
  "tests/fixtures/wiki-safety/redaction-source.md": true,
7158
7197
  "tests/helpers/__fixtures__/wiki-status-fixture.ts": true,
7198
+ "tests/helpers/nightly-e2e-gate-harness.ts": true,
7159
7199
  "tests/helpers/readiness-workflow-fixtures.ts": true,
7160
7200
  "tests/helpers/safety-net-guard-fixtures.ts": true,
7161
7201
  "tests/helpers/safety-net-guard-harness.ts": true,
@@ -7172,6 +7212,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7172
7212
  "tests/integration/lisa.test.ts": true,
7173
7213
  "tests/integration/maestro-native-flow-runner.test.ts": true,
7174
7214
  "tests/integration/maestro-native-workflow.test.ts": true,
7215
+ "tests/integration/nightly-e2e-health-workflow.test.ts": true,
7175
7216
  "tests/integration/quality-workflow.test.ts": true,
7176
7217
  "tests/integration/release-changelog-entry.test.ts": true,
7177
7218
  "tests/integration/release-changelog-push-recovery.test.ts": true,
@@ -7442,6 +7483,14 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7442
7483
  "tests/unit/opencode/parity-safety-net-plugin.test.ts": true,
7443
7484
  "tests/unit/opencode/settings-installer.test.ts": true,
7444
7485
  "tests/unit/opencode/skills-installer.test.ts": true,
7486
+ "tests/unit/scripts/bdd-adoption.test.ts": true,
7487
+ "tests/unit/scripts/bdd-envelope.test.ts": true,
7488
+ "tests/unit/scripts/bdd-grammar.test.ts": true,
7489
+ "tests/unit/scripts/bdd-ratchet.test.ts": true,
7490
+ "tests/unit/scripts/bdd-reporting.test.ts": true,
7491
+ "tests/unit/scripts/bdd-validation.test.ts": true,
7492
+ "tests/unit/scripts/bdd-wiring.test.ts": true,
7493
+ "tests/unit/scripts/bdd/support.ts": true,
7445
7494
  "tests/unit/scripts/build-cursor-hooks-json.test.ts": true,
7446
7495
  "tests/unit/scripts/check-duplicate-versions-helpers.ts": true,
7447
7496
  "tests/unit/scripts/check-duplicate-versions.test.ts": true,
@@ -7466,6 +7515,10 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7466
7515
  "tests/unit/scripts/lisa-github-repo-settings.test.ts": true,
7467
7516
  "tests/unit/scripts/lisa-github-rulesets.test.ts": true,
7468
7517
  "tests/unit/scripts/lisa-work-item.test.ts": true,
7518
+ "tests/unit/scripts/nightly-e2e-health-api.test.ts": true,
7519
+ "tests/unit/scripts/nightly-e2e-health-bypass.test.ts": true,
7520
+ "tests/unit/scripts/nightly-e2e-health-label-attribution.test.ts": true,
7521
+ "tests/unit/scripts/nightly-e2e-health.test.ts": true,
7469
7522
  "tests/unit/scripts/per-agent-hook-filter.test.ts": true,
7470
7523
  "tests/unit/scripts/plugin-parity-drift-helpers.ts": true,
7471
7524
  "tests/unit/scripts/plugin-parity-drift.test.ts": true,
@@ -7475,6 +7528,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7475
7528
  "tests/unit/scripts/plugin-sync-workflow.test.ts": true,
7476
7529
  "tests/unit/scripts/security-floors.test.ts": true,
7477
7530
  "tests/unit/scripts/setup-jira-cli-config.test.ts": true,
7531
+ "tests/unit/scripts/skipped-required-checks.test.ts": true,
7478
7532
  "tests/unit/scripts/state-classification.test.ts": true,
7479
7533
  "tests/unit/scripts/threshold-ratchet-gates.test.ts": true,
7480
7534
  "tests/unit/scripts/threshold-ratchet-wiring.test.ts": true,
@@ -7781,15 +7835,19 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7781
7835
  "typescript/copy-overwrite/eslint.ignore.config.json": true,
7782
7836
  "typescript/copy-overwrite/eslint.slow.config.ts": true,
7783
7837
  "typescript/copy-overwrite/knip.json": true,
7838
+ "typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs": true,
7839
+ "typescript/copy-overwrite/scripts/check-skipped-required-checks.mjs": true,
7784
7840
  "typescript/copy-overwrite/scripts/check-threshold-ratchet.mjs": true,
7785
7841
  "typescript/copy-overwrite/scripts/check-verification-coverage.mjs": true,
7786
7842
  "typescript/copy-overwrite/scripts/lisa-mutation.mjs": true,
7843
+ "typescript/copy-overwrite/scripts/nightly-e2e-suites.schema.json": true,
7787
7844
  "typescript/copy-overwrite/scripts/threshold-ratchet-compare.mjs": true,
7788
7845
  "typescript/copy-overwrite/scripts/threshold-ratchet-families.mjs": true,
7789
7846
  "typescript/copy-overwrite/sgconfig.yml": true,
7790
7847
  "typescript/copy-overwrite/tsconfig.eslint.json": true,
7791
7848
  "typescript/copy-overwrite/tsconfig.json": true,
7792
7849
  "typescript/copy-overwrite/vitest.config.ts": true,
7850
+ "typescript/create-only/.github/required-checks.json": true,
7793
7851
  "typescript/create-only/.github/workflows/auto-update-pr-branches-dispatch.yml": true,
7794
7852
  "typescript/create-only/.github/workflows/auto-update-pr-branches.yml": true,
7795
7853
  "typescript/create-only/.github/workflows/ci.yml": true,