memento-mori-jester 0.1.62 → 0.1.64
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/CHANGELOG.md +12 -0
- package/ROADMAP.md +3 -1
- package/docs/DEMO.md +10 -10
- package/docs/RELEASE_NOTES_v0.1.63.md +37 -0
- package/docs/RELEASE_NOTES_v0.1.64.md +38 -0
- package/examples/fixtures/README.md +2 -0
- package/examples/fixtures/preset-review-cases.json +173 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,18 @@ All notable changes to Memento Mori Jester are tracked here.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## 0.1.64
|
|
8
|
+
|
|
9
|
+
- Added second firing fixtures for the remaining built-in destructive-command, final-answer, and configured billing-domain thin examples.
|
|
10
|
+
- Cleared all remaining thin rule coverage in `npm run fixtures:report` across built-in, structural, custom, configured sensitive-domain, and blocked-command rule families.
|
|
11
|
+
- Refreshed demo, roadmap, fixture docs, and release notes for the 152-fixture corpus.
|
|
12
|
+
|
|
13
|
+
## 0.1.63
|
|
14
|
+
|
|
15
|
+
- Added second firing fixtures for the remaining framework custom-rule thin examples across security, infra, node, python, and web presets.
|
|
16
|
+
- Cleared custom-rule thin coverage in `npm run fixtures:report`, reducing total thin fixture coverage from 16 rules to 7.
|
|
17
|
+
- Refreshed demo, roadmap, fixture docs, and release notes for the 145-fixture corpus.
|
|
18
|
+
|
|
7
19
|
## 0.1.62
|
|
8
20
|
|
|
9
21
|
- Added second firing fixtures for the remaining AI/API custom-rule thin examples: model-output execution, public AI provider keys, raw SQL from request input, and disabled webhook signature checks.
|
package/ROADMAP.md
CHANGED
|
@@ -6,6 +6,8 @@ Memento Mori Jester is usable today as a CLI, MCP server, GitHub Action, and git
|
|
|
6
6
|
|
|
7
7
|
## Recently Shipped
|
|
8
8
|
|
|
9
|
+
- Final thin-rule fixture precision pass in v0.1.64, clearing all remaining thin coverage gaps across built-in, structural, custom, configured sensitive-domain, and blocked-command rule families.
|
|
10
|
+
- Framework custom-rule fixture precision pass in v0.1.63, clearing custom-rule thin coverage and reducing total thin fixture coverage from 16 rules to 7.
|
|
9
11
|
- AI/API custom-rule fixture precision pass in v0.1.62, reducing total thin fixture coverage from 21 rules to 16 while keeping review behavior unchanged.
|
|
10
12
|
- Curation-next fixture batch in v0.1.61 that removed blocked-command thin coverage, strengthened stack-specific sensitive-domain examples, and reduced total thin fixture coverage from 37 rules to 21.
|
|
11
13
|
- Fixture report rule-family slices, preset slices, and curation-next guidance in v0.1.60 so maintainers can see which fixture areas need real-world examples next.
|
|
@@ -51,8 +53,8 @@ Memento Mori Jester is usable today as a CLI, MCP server, GitHub Action, and git
|
|
|
51
53
|
|
|
52
54
|
## Product Ideas
|
|
53
55
|
|
|
56
|
+
- Add benign pass-case evidence for rules that currently have match coverage and quiet-pass coverage but no explicit matched pass cases.
|
|
54
57
|
- Add more framework-specific false-positive examples from real reports so tuning guidance keeps getting sharper.
|
|
55
|
-
- Add another fixture precision batch for the remaining framework custom-rule thin examples surfaced by `fixtures:report`.
|
|
56
58
|
- Add a Markdown export for fixture reports so maintainers can paste coverage snapshots into issues or release notes.
|
|
57
59
|
|
|
58
60
|
## Quality And Safety
|
package/docs/DEMO.md
CHANGED
|
@@ -192,18 +192,18 @@ Project config: none loaded
|
|
|
192
192
|
Fixture tuning evidence:
|
|
193
193
|
Support: limited
|
|
194
194
|
Confidence: medium
|
|
195
|
-
Total fixtures checked:
|
|
196
|
-
Weighted fixtures checked:
|
|
197
|
-
Matching fixtures:
|
|
198
|
-
Weighted matches:
|
|
199
|
-
Expected-match weight:
|
|
200
|
-
Unexpected-match weight:
|
|
195
|
+
Total fixtures checked: 152
|
|
196
|
+
Weighted fixtures checked: 294.9
|
|
197
|
+
Matching fixtures: 11
|
|
198
|
+
Weighted matches: 23
|
|
199
|
+
Expected-match weight: 18
|
|
200
|
+
Unexpected-match weight: 5
|
|
201
201
|
Edge-case matches: 0
|
|
202
202
|
Quiet-pass fixtures: 5
|
|
203
203
|
Quiet-pass weight: 3.6
|
|
204
|
-
By kind: command 0, plan
|
|
205
|
-
Fixture coverage:
|
|
206
|
-
By verdict: pass 0, caution 3, block
|
|
204
|
+
By kind: command 0, plan 5, diff 5, final 1
|
|
205
|
+
Fixture coverage: 11/152 (7.8% weighted)
|
|
206
|
+
By verdict: pass 0, caution 3, block 8
|
|
207
207
|
Matched fixture samples:
|
|
208
208
|
infra-public-ingress-block: Public ingress should block in low-risk-tolerance infra repos.
|
|
209
209
|
node-plan-production-mode-block: Node production-mode planning should cover node-specific and sensitive-domain signals.
|
|
@@ -353,7 +353,7 @@ Preset packs:
|
|
|
353
353
|
|
|
354
354
|
## 13. Review Fixtures
|
|
355
355
|
|
|
356
|
-
The fixture suite in `examples/fixtures/preset-review-cases.json` captures small real-usage examples with expected `pass`, `caution`, or `block` verdicts. It also includes quiet-pass `absentRuleIds` examples that prove noisy rules stay silent for safe near-misses, stack-specific coverage for every built-in preset, quiet-pass boundaries across built-in, structural, custom, and preset/config-derived rules, second firing examples for preset blocked-command rules, and second examples for AI/API custom rules. These examples are run by `npm test`, so preset tuning changes stay visible.
|
|
356
|
+
The fixture suite in `examples/fixtures/preset-review-cases.json` captures small real-usage examples with expected `pass`, `caution`, or `block` verdicts. It also includes quiet-pass `absentRuleIds` examples that prove noisy rules stay silent for safe near-misses, stack-specific coverage for every built-in preset, quiet-pass boundaries across built-in, structural, custom, and preset/config-derived rules, second firing examples for preset blocked-command rules, and second examples for AI/API, framework custom, built-in, and configured sensitive-domain rules. These examples are run by `npm test`, so preset tuning changes stay visible.
|
|
357
357
|
|
|
358
358
|
Maintainers can run `npm run fixtures:report` to see coverage by verdict, kind, preset, rule family, and preset slice. The report also includes a `Curation next` section that points at the next useful fixture batch, such as thin rules, no-pass evidence, rule-family gaps, or lower-count presets.
|
|
359
359
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Memento Mori Jester v0.1.63
|
|
2
|
+
|
|
3
|
+
This release completes the current custom-rule fixture precision pass. It adds second firing examples for the remaining framework custom-rule thin cases surfaced by `npm run fixtures:report`. It does not change review logic, scoring, matching, CLI output shape, MCP tools, GitHub Action behavior, or release automation.
|
|
4
|
+
|
|
5
|
+
## What Changed
|
|
6
|
+
|
|
7
|
+
- Added 7 fixture cases, growing the corpus from 138 to 145 fixtures.
|
|
8
|
+
- Added second firing examples for:
|
|
9
|
+
- `custom-broad-cors`
|
|
10
|
+
- `custom-infra-public-exposure`
|
|
11
|
+
- `custom-insecure-tls-disabled`
|
|
12
|
+
- `custom-node-env-production-change`
|
|
13
|
+
- `custom-python-eval-exec`
|
|
14
|
+
- `custom-python-pickle-load`
|
|
15
|
+
- `custom-web-storage-sensitive-value`
|
|
16
|
+
- Cleared custom-rule thin coverage entirely in `npm run fixtures:report`.
|
|
17
|
+
- Reduced total thin fixture coverage from 16 rules to 7.
|
|
18
|
+
|
|
19
|
+
## Public Interface
|
|
20
|
+
|
|
21
|
+
- No CLI command changes.
|
|
22
|
+
- No config schema changes.
|
|
23
|
+
- No rule matching, scoring, or verdict behavior changes.
|
|
24
|
+
- No MCP, playground, GitHub Action, or npm publishing changes.
|
|
25
|
+
|
|
26
|
+
## Release Validation
|
|
27
|
+
|
|
28
|
+
```powershell
|
|
29
|
+
npm.cmd test
|
|
30
|
+
npm.cmd run demo:svg:check
|
|
31
|
+
npm.cmd run fixtures:report
|
|
32
|
+
npm.cmd run fixtures:report -- --json
|
|
33
|
+
npm.cmd run pack:dry
|
|
34
|
+
git diff --check
|
|
35
|
+
node .\dist\cli.js tune coverage --no-config
|
|
36
|
+
git diff | node .\dist\cli.js diff --fail-on block --subject "v0.1.63 framework fixture precision"
|
|
37
|
+
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Memento Mori Jester v0.1.64
|
|
2
|
+
|
|
3
|
+
This release completes the current thin-rule fixture precision pass. It adds second firing examples for the remaining built-in destructive-command rules, final-answer tone rules, and the configured billing-domain rule. It does not change review logic, scoring, matching, CLI output shape, MCP tools, GitHub Action behavior, or release automation.
|
|
4
|
+
|
|
5
|
+
## What Changed
|
|
6
|
+
|
|
7
|
+
- Added 7 fixture cases, growing the corpus from 145 to 152 fixtures.
|
|
8
|
+
- Added second firing examples for:
|
|
9
|
+
- `database-destruction`
|
|
10
|
+
- `destructive-git-history`
|
|
11
|
+
- `handwave-final`
|
|
12
|
+
- `pipe-to-shell`
|
|
13
|
+
- `recursive-force-delete`
|
|
14
|
+
- `untested-final`
|
|
15
|
+
- `configured-sensitive-domain-billing`
|
|
16
|
+
- Cleared all remaining thin rule coverage in `npm run fixtures:report`.
|
|
17
|
+
- Updated fixture docs, demo transcript, roadmap, and changelog for the 152-fixture corpus.
|
|
18
|
+
|
|
19
|
+
## Public Interface
|
|
20
|
+
|
|
21
|
+
- No CLI command changes.
|
|
22
|
+
- No config schema changes.
|
|
23
|
+
- No rule matching, scoring, or verdict behavior changes.
|
|
24
|
+
- No MCP, playground, GitHub Action, or npm publishing changes.
|
|
25
|
+
|
|
26
|
+
## Release Validation
|
|
27
|
+
|
|
28
|
+
```powershell
|
|
29
|
+
npm.cmd test
|
|
30
|
+
npm.cmd run demo:svg:check
|
|
31
|
+
npm.cmd run fixtures:report
|
|
32
|
+
npm.cmd run fixtures:report -- --json
|
|
33
|
+
npm.cmd run pack:dry
|
|
34
|
+
git diff --check
|
|
35
|
+
node .\dist\cli.js tune coverage --no-config
|
|
36
|
+
node .\dist\cli.js tune risky-domain --json --no-config
|
|
37
|
+
git diff | node .\dist\cli.js diff --fail-on block --subject "v0.1.64 final fixture precision"
|
|
38
|
+
```
|
|
@@ -18,6 +18,8 @@ Maintainer triage guidance lives in [docs/MAINTAINER_TRIAGE.md](../../docs/MAINT
|
|
|
18
18
|
- Quiet-pass boundaries for built-in and structural rules such as missing verification, TypeScript suppressions, large removals, wildcard operations, destructive commands, and untested finals.
|
|
19
19
|
- Second firing examples for preset blocked-command rules and high-value stack-specific sensitive-domain rules.
|
|
20
20
|
- Second firing examples for AI and API custom rules around provider keys, model-output execution, raw SQL, and webhook signature checks.
|
|
21
|
+
- Second firing examples for remaining framework custom rules across security, infra, node, python, and web presets.
|
|
22
|
+
- Second firing examples for remaining built-in and configured sensitive-domain thin rules, leaving no thin coverage gaps.
|
|
21
23
|
- Fixture metadata like `weight` and `edgeCase` to support precision-weighted tuning evidence.
|
|
22
24
|
|
|
23
25
|
## Local Check
|
|
@@ -388,6 +388,18 @@
|
|
|
388
388
|
"destructive-git-history"
|
|
389
389
|
]
|
|
390
390
|
},
|
|
391
|
+
{
|
|
392
|
+
"id": "universal-destructive-git-clean-block",
|
|
393
|
+
"preset": "default",
|
|
394
|
+
"kind": "command",
|
|
395
|
+
"content": "git clean -fd build/tmp",
|
|
396
|
+
"description": "Git clean with force/delete flags should give destructive git coverage a second command shape.",
|
|
397
|
+
"weight": 3,
|
|
398
|
+
"expectedVerdict": "block",
|
|
399
|
+
"expectedRuleIds": [
|
|
400
|
+
"destructive-git-history"
|
|
401
|
+
]
|
|
402
|
+
},
|
|
391
403
|
{
|
|
392
404
|
"id": "universal-recursive-force-delete-block",
|
|
393
405
|
"preset": "default",
|
|
@@ -400,6 +412,18 @@
|
|
|
400
412
|
"recursive-force-delete"
|
|
401
413
|
]
|
|
402
414
|
},
|
|
415
|
+
{
|
|
416
|
+
"id": "universal-recursive-force-delete-powershell-block",
|
|
417
|
+
"preset": "default",
|
|
418
|
+
"kind": "command",
|
|
419
|
+
"content": "Remove-Item .\\tmp\\cache -Recurse -Force",
|
|
420
|
+
"description": "PowerShell recursive forced deletion should cover the Windows command shape.",
|
|
421
|
+
"weight": 3,
|
|
422
|
+
"expectedVerdict": "block",
|
|
423
|
+
"expectedRuleIds": [
|
|
424
|
+
"recursive-force-delete"
|
|
425
|
+
]
|
|
426
|
+
},
|
|
403
427
|
{
|
|
404
428
|
"id": "universal-pipe-to-shell-block",
|
|
405
429
|
"preset": "default",
|
|
@@ -412,6 +436,18 @@
|
|
|
412
436
|
"pipe-to-shell"
|
|
413
437
|
]
|
|
414
438
|
},
|
|
439
|
+
{
|
|
440
|
+
"id": "universal-wget-pipe-to-shell-block",
|
|
441
|
+
"preset": "default",
|
|
442
|
+
"kind": "command",
|
|
443
|
+
"content": "wget https://example.org/bootstrap.sh -qO- | sh",
|
|
444
|
+
"description": "Wget piped directly into sh should give pipe-to-shell coverage a second downloader shape.",
|
|
445
|
+
"weight": 3,
|
|
446
|
+
"expectedVerdict": "block",
|
|
447
|
+
"expectedRuleIds": [
|
|
448
|
+
"pipe-to-shell"
|
|
449
|
+
]
|
|
450
|
+
},
|
|
415
451
|
{
|
|
416
452
|
"id": "universal-database-destruction-block",
|
|
417
453
|
"preset": "default",
|
|
@@ -424,6 +460,18 @@
|
|
|
424
460
|
"database-destruction"
|
|
425
461
|
]
|
|
426
462
|
},
|
|
463
|
+
{
|
|
464
|
+
"id": "universal-database-truncate-block",
|
|
465
|
+
"preset": "default",
|
|
466
|
+
"kind": "command",
|
|
467
|
+
"content": "TRUNC\u0041TE TABLE sessions;",
|
|
468
|
+
"description": "Truncating a table should give database destruction coverage a second SQL shape.",
|
|
469
|
+
"weight": 3,
|
|
470
|
+
"expectedVerdict": "block",
|
|
471
|
+
"expectedRuleIds": [
|
|
472
|
+
"database-destruction"
|
|
473
|
+
]
|
|
474
|
+
},
|
|
427
475
|
{
|
|
428
476
|
"id": "universal-privileged-command-caution",
|
|
429
477
|
"preset": "default",
|
|
@@ -571,6 +619,18 @@
|
|
|
571
619
|
"untested-final"
|
|
572
620
|
]
|
|
573
621
|
},
|
|
622
|
+
{
|
|
623
|
+
"id": "final-tests-not-run-caution",
|
|
624
|
+
"preset": "default",
|
|
625
|
+
"kind": "final",
|
|
626
|
+
"description": "A second untested final phrasing should keep the untested-final rule covered.",
|
|
627
|
+
"content": "Tests not run for the parser cleanup.",
|
|
628
|
+
"expectedVerdict": "caution",
|
|
629
|
+
"weight": 2,
|
|
630
|
+
"expectedRuleIds": [
|
|
631
|
+
"untested-final"
|
|
632
|
+
]
|
|
633
|
+
},
|
|
574
634
|
{
|
|
575
635
|
"id": "final-handwave-final",
|
|
576
636
|
"preset": "default",
|
|
@@ -583,6 +643,19 @@
|
|
|
583
643
|
"handwave-final"
|
|
584
644
|
]
|
|
585
645
|
},
|
|
646
|
+
{
|
|
647
|
+
"id": "final-looks-good-caution",
|
|
648
|
+
"preset": "default",
|
|
649
|
+
"kind": "final",
|
|
650
|
+
"description": "A second hand-wavy final phrasing should keep broad confidence coverage explicit.",
|
|
651
|
+
"content": "Everything works now.",
|
|
652
|
+
"expectedVerdict": "caution",
|
|
653
|
+
"weight": 2,
|
|
654
|
+
"expectedRuleIds": [
|
|
655
|
+
"done-without-evidence",
|
|
656
|
+
"handwave-final"
|
|
657
|
+
]
|
|
658
|
+
},
|
|
586
659
|
{
|
|
587
660
|
"id": "diff-test-removal-caution",
|
|
588
661
|
"preset": "default",
|
|
@@ -825,6 +898,19 @@
|
|
|
825
898
|
"configured-sensitive-domain-billing"
|
|
826
899
|
]
|
|
827
900
|
},
|
|
901
|
+
{
|
|
902
|
+
"id": "universal-risky-domain-billing-plan-2",
|
|
903
|
+
"preset": "default",
|
|
904
|
+
"kind": "plan",
|
|
905
|
+
"description": "Billing plan wording should give configured billing-domain coverage a second positive example.",
|
|
906
|
+
"content": "Update the billing export after running the focused smoke check.",
|
|
907
|
+
"weight": 2,
|
|
908
|
+
"expectedVerdict": "block",
|
|
909
|
+
"expectedRuleIds": [
|
|
910
|
+
"risky-domain",
|
|
911
|
+
"configured-sensitive-domain-billing"
|
|
912
|
+
]
|
|
913
|
+
},
|
|
828
914
|
{
|
|
829
915
|
"id": "plan-missing-verification-step-2",
|
|
830
916
|
"preset": "default",
|
|
@@ -1321,6 +1407,93 @@
|
|
|
1321
1407
|
"configured-sensitive-domain-iam"
|
|
1322
1408
|
]
|
|
1323
1409
|
},
|
|
1410
|
+
{
|
|
1411
|
+
"id": "sec-broad-cors-plan-block",
|
|
1412
|
+
"preset": "security",
|
|
1413
|
+
"kind": "plan",
|
|
1414
|
+
"description": "Wildcard CORS planning should give the security preset broad-CORS rule a second firing example.",
|
|
1415
|
+
"content": "Set cors({ origin: \"*\" }) for the admin preview after running the browser smoke test.",
|
|
1416
|
+
"expectedVerdict": "block",
|
|
1417
|
+
"weight": 2,
|
|
1418
|
+
"expectedRuleIds": [
|
|
1419
|
+
"custom-broad-cors",
|
|
1420
|
+
"configured-sensitive-domain-cors"
|
|
1421
|
+
]
|
|
1422
|
+
},
|
|
1423
|
+
{
|
|
1424
|
+
"id": "infra-public-bucket-plan-block",
|
|
1425
|
+
"preset": "infra",
|
|
1426
|
+
"kind": "plan",
|
|
1427
|
+
"description": "Public bucket planning should give infra public-exposure coverage a second example.",
|
|
1428
|
+
"content": "Set public_access_block = false for the artifact bucket after checking the reviewed plan output.",
|
|
1429
|
+
"expectedVerdict": "block",
|
|
1430
|
+
"weight": 2,
|
|
1431
|
+
"expectedRuleIds": [
|
|
1432
|
+
"custom-infra-public-exposure"
|
|
1433
|
+
]
|
|
1434
|
+
},
|
|
1435
|
+
{
|
|
1436
|
+
"id": "sec-reject-unauthorized-diff-block",
|
|
1437
|
+
"preset": "security",
|
|
1438
|
+
"kind": "diff",
|
|
1439
|
+
"description": "Disabling TLS verification with rejectUnauthorized should give security TLS coverage a second example.",
|
|
1440
|
+
"content": "diff --git a/src/client.ts b/src/client.ts\n--- a/src/client.ts\n+++ b/src/client.ts\n@@ -1 +1,2 @@\n+const agent = new https.Agent({ rejectUnauthorized: false });\n",
|
|
1441
|
+
"expectedVerdict": "block",
|
|
1442
|
+
"weight": 2,
|
|
1443
|
+
"expectedRuleIds": [
|
|
1444
|
+
"custom-insecure-tls-disabled"
|
|
1445
|
+
]
|
|
1446
|
+
},
|
|
1447
|
+
{
|
|
1448
|
+
"id": "node-env-production-diff-block",
|
|
1449
|
+
"preset": "node",
|
|
1450
|
+
"kind": "diff",
|
|
1451
|
+
"description": "Production Node environment changes in diffs should give node env coverage a second example.",
|
|
1452
|
+
"content": "diff --git a/scripts/smoke.sh b/scripts/smoke.sh\n--- a/scripts/smoke.sh\n+++ b/scripts/smoke.sh\n@@ -1 +1,2 @@\n+NODE_ENV=production npm run smoke\n",
|
|
1453
|
+
"expectedVerdict": "block",
|
|
1454
|
+
"weight": 2,
|
|
1455
|
+
"expectedRuleIds": [
|
|
1456
|
+
"custom-node-env-production-change",
|
|
1457
|
+
"configured-sensitive-domain-production"
|
|
1458
|
+
]
|
|
1459
|
+
},
|
|
1460
|
+
{
|
|
1461
|
+
"id": "python-exec-plan-caution",
|
|
1462
|
+
"preset": "python",
|
|
1463
|
+
"kind": "plan",
|
|
1464
|
+
"description": "Python exec planning should give dynamic-execution coverage a second example.",
|
|
1465
|
+
"content": "Use exec(user_supplied_code) for the loader helper after adding pytest coverage.",
|
|
1466
|
+
"expectedVerdict": "caution",
|
|
1467
|
+
"weight": 2,
|
|
1468
|
+
"expectedRuleIds": [
|
|
1469
|
+
"custom-python-eval-exec"
|
|
1470
|
+
]
|
|
1471
|
+
},
|
|
1472
|
+
{
|
|
1473
|
+
"id": "python-pickle-loads-diff-caution",
|
|
1474
|
+
"preset": "python",
|
|
1475
|
+
"kind": "diff",
|
|
1476
|
+
"description": "Python pickle.loads in a diff should give pickle deserialization coverage a second example.",
|
|
1477
|
+
"content": "diff --git a/src/cache.py b/src/cache.py\n--- a/src/cache.py\n+++ b/src/cache.py\n@@ -1 +1,2 @@\n+payload = pickle.loads(request_body)\n",
|
|
1478
|
+
"expectedVerdict": "caution",
|
|
1479
|
+
"weight": 2,
|
|
1480
|
+
"expectedRuleIds": [
|
|
1481
|
+
"custom-python-pickle-load"
|
|
1482
|
+
]
|
|
1483
|
+
},
|
|
1484
|
+
{
|
|
1485
|
+
"id": "web-session-password-storage-diff-block",
|
|
1486
|
+
"preset": "web",
|
|
1487
|
+
"kind": "diff",
|
|
1488
|
+
"description": "Password storage in sessionStorage should give web storage coverage a second example.",
|
|
1489
|
+
"content": "diff --git a/src/session.ts b/src/session.ts\n--- a/src/session.ts\n+++ b/src/session.ts\n@@ -1 +1,2 @@\n+sessionStorage.setItem(\"password\", password);\n",
|
|
1490
|
+
"expectedVerdict": "block",
|
|
1491
|
+
"weight": 2,
|
|
1492
|
+
"expectedRuleIds": [
|
|
1493
|
+
"custom-web-storage-sensitive-value",
|
|
1494
|
+
"configured-sensitive-domain-session"
|
|
1495
|
+
]
|
|
1496
|
+
},
|
|
1324
1497
|
{
|
|
1325
1498
|
"id": "node-pack-dry-run-command-pass",
|
|
1326
1499
|
"preset": "node",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memento-mori-jester",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.64",
|
|
4
4
|
"description": "A local court-jester sidecar for AI coding agents: review plans, commands, diffs, and final claims before they get too pleased with themselves.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|