memento-mori-jester 0.1.45 → 0.1.46
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 +6 -0
- package/README.md +2 -0
- package/ROADMAP.md +2 -1
- package/dist/playground.d.ts +9 -1
- package/dist/playground.js +99 -10
- package/dist/playground.js.map +1 -1
- package/docs/CLI.md +1 -0
- package/docs/DEMO.md +7 -0
- package/docs/RELEASE_NOTES_v0.1.46.md +24 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@ All notable changes to Memento Mori Jester are tracked here.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## 0.1.46
|
|
8
|
+
|
|
9
|
+
- Added one-click sample buttons to the local playground for command, plan, diff, and final-answer reviews.
|
|
10
|
+
- The sample buttons populate both subject and content, switch the active review kind, and preserve the existing local-only review API.
|
|
11
|
+
- Added playground tests for deterministic sample rendering and review-kind coverage.
|
|
12
|
+
|
|
7
13
|
## 0.1.45
|
|
8
14
|
|
|
9
15
|
- Added eight focused preset review fixtures for `risky-domain`, `missing-verification-step`, `confidence-theater`, and `done-without-evidence`.
|
package/README.md
CHANGED
|
@@ -166,6 +166,8 @@ jester mcp-config --mode npx
|
|
|
166
166
|
jester mcp-config --agent claude --mode npx
|
|
167
167
|
```
|
|
168
168
|
|
|
169
|
+
`jester playground` includes one-click samples for command, plan, diff, and final-answer reviews, so you can see a block, caution, or evidence check without inventing input first.
|
|
170
|
+
|
|
169
171
|
The package-name binary works too:
|
|
170
172
|
|
|
171
173
|
```powershell
|
package/ROADMAP.md
CHANGED
|
@@ -6,6 +6,7 @@ Memento Mori Jester is usable today as a CLI, MCP server, GitHub Action, and git
|
|
|
6
6
|
|
|
7
7
|
## Recently Shipped
|
|
8
8
|
|
|
9
|
+
- Playground sample buttons in v0.1.46 for trying command, plan, diff, and final-answer reviews from the first screen.
|
|
9
10
|
- Fixture curation pass in v0.1.45 that moved all built-in and structural rule evidence to medium-or-better confidence.
|
|
10
11
|
- Additional precision pass for fixture-driven tuning signals (scoped to high-signal rule families first).
|
|
11
12
|
- Fixture-informed `jester tune` evidence from preset review cases, including matched fixture IDs and verdict buckets.
|
|
@@ -34,7 +35,7 @@ Memento Mori Jester is usable today as a CLI, MCP server, GitHub Action, and git
|
|
|
34
35
|
|
|
35
36
|
## Product Ideas
|
|
36
37
|
|
|
37
|
-
-
|
|
38
|
+
- Polish README onboarding around the shortest path from `npx` to playground, agent setup, and hooks.
|
|
38
39
|
|
|
39
40
|
## Quality And Safety
|
|
40
41
|
|
package/dist/playground.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Server } from "node:http";
|
|
2
|
-
import { type UserJesterConfig } from "./types.js";
|
|
2
|
+
import { type ReviewKind, type UserJesterConfig } from "./types.js";
|
|
3
3
|
export declare const playgroundHost = "127.0.0.1";
|
|
4
4
|
export declare const playgroundPortDefault = 4818;
|
|
5
5
|
export type PlaygroundServerOptions = {
|
|
@@ -13,6 +13,14 @@ export type StartedPlayground = {
|
|
|
13
13
|
url: string;
|
|
14
14
|
port: number;
|
|
15
15
|
};
|
|
16
|
+
export type PlaygroundSample = {
|
|
17
|
+
id: string;
|
|
18
|
+
label: string;
|
|
19
|
+
kind: ReviewKind;
|
|
20
|
+
subject: string;
|
|
21
|
+
content: string;
|
|
22
|
+
};
|
|
23
|
+
export declare const playgroundSamples: PlaygroundSample[];
|
|
16
24
|
export declare function createPlaygroundServer(options?: PlaygroundServerOptions): Server;
|
|
17
25
|
export declare function startPlaygroundServer(options?: StartPlaygroundOptions): Promise<StartedPlayground>;
|
|
18
26
|
export declare function renderPlaygroundHtml(): string;
|
package/dist/playground.js
CHANGED
|
@@ -10,16 +10,46 @@ class HttpError extends Error {
|
|
|
10
10
|
this.status = status;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
export const playgroundSamples = [
|
|
14
|
+
{
|
|
15
|
+
id: "command-hard-reset",
|
|
16
|
+
label: "Hard reset",
|
|
17
|
+
kind: "command",
|
|
18
|
+
subject: "destructive git command",
|
|
19
|
+
content: "git reset --hard"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
id: "plan-auth-ship",
|
|
23
|
+
label: "Overconfident plan",
|
|
24
|
+
kind: "plan",
|
|
25
|
+
subject: "auth refactor plan",
|
|
26
|
+
content: "I will just refactor auth and ship it."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: "diff-public-token",
|
|
30
|
+
label: "Public token diff",
|
|
31
|
+
kind: "diff",
|
|
32
|
+
subject: "environment diff",
|
|
33
|
+
content: `diff --git a/.env b/.env
|
|
18
34
|
index 1111111..2222222 100644
|
|
19
35
|
--- a/.env
|
|
20
36
|
+++ b/.env
|
|
21
37
|
@@ -1 +1,2 @@
|
|
22
38
|
+PUBLIC_TOKEN=redacted-demo-value`
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: "final-tests-not-run",
|
|
42
|
+
label: "Untested final",
|
|
43
|
+
kind: "final",
|
|
44
|
+
subject: "final answer",
|
|
45
|
+
content: "Implemented the fix, but tests not run."
|
|
46
|
+
}
|
|
47
|
+
];
|
|
48
|
+
const defaultSampleByKind = {
|
|
49
|
+
command: playgroundSamples[0],
|
|
50
|
+
plan: playgroundSamples[1],
|
|
51
|
+
diff: playgroundSamples[2],
|
|
52
|
+
final: playgroundSamples[3]
|
|
23
53
|
};
|
|
24
54
|
export function createPlaygroundServer(options = {}) {
|
|
25
55
|
return createServer(async (request, response) => {
|
|
@@ -332,6 +362,31 @@ export function renderPlaygroundHtml() {
|
|
|
332
362
|
gap: 12px;
|
|
333
363
|
}
|
|
334
364
|
|
|
365
|
+
.sample-grid {
|
|
366
|
+
display: grid;
|
|
367
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
368
|
+
gap: 8px;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.sample-button {
|
|
372
|
+
min-height: 38px;
|
|
373
|
+
padding: 0 10px;
|
|
374
|
+
border: 1px solid var(--line);
|
|
375
|
+
border-radius: 8px;
|
|
376
|
+
background: #fff;
|
|
377
|
+
color: var(--ink);
|
|
378
|
+
cursor: pointer;
|
|
379
|
+
font-size: 12px;
|
|
380
|
+
font-weight: 760;
|
|
381
|
+
white-space: normal;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
.sample-button[aria-pressed="true"] {
|
|
385
|
+
border-color: var(--accent);
|
|
386
|
+
background: var(--accent-soft);
|
|
387
|
+
color: var(--accent);
|
|
388
|
+
}
|
|
389
|
+
|
|
335
390
|
.actions {
|
|
336
391
|
display: flex;
|
|
337
392
|
align-items: center;
|
|
@@ -491,6 +546,10 @@ export function renderPlaygroundHtml() {
|
|
|
491
546
|
grid-template-columns: 1fr;
|
|
492
547
|
}
|
|
493
548
|
|
|
549
|
+
.sample-grid {
|
|
550
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
551
|
+
}
|
|
552
|
+
|
|
494
553
|
.segmented {
|
|
495
554
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
496
555
|
}
|
|
@@ -541,6 +600,10 @@ export function renderPlaygroundHtml() {
|
|
|
541
600
|
<textarea id="content" name="content" spellcheck="false"></textarea>
|
|
542
601
|
</label>
|
|
543
602
|
|
|
603
|
+
<div class="sample-grid" aria-label="Sample inputs">
|
|
604
|
+
${playgroundSamples.map((sample) => `<button class="sample-button" type="button" data-sample-id="${sample.id}" aria-pressed="false">${sample.label}</button>`).join("\n ")}
|
|
605
|
+
</div>
|
|
606
|
+
|
|
544
607
|
<div class="row">
|
|
545
608
|
<label>
|
|
546
609
|
Tone
|
|
@@ -580,8 +643,10 @@ export function renderPlaygroundHtml() {
|
|
|
580
643
|
</main>
|
|
581
644
|
|
|
582
645
|
<script>
|
|
583
|
-
const samples = ${JSON.stringify(
|
|
646
|
+
const samples = ${JSON.stringify(playgroundSamples, null, 6)};
|
|
647
|
+
const defaultSamples = ${JSON.stringify(defaultSampleByKind, null, 6)};
|
|
584
648
|
let activeKind = "command";
|
|
649
|
+
let activeSampleId = "";
|
|
585
650
|
|
|
586
651
|
const content = document.querySelector("#content");
|
|
587
652
|
const subject = document.querySelector("#subject");
|
|
@@ -589,6 +654,7 @@ export function renderPlaygroundHtml() {
|
|
|
589
654
|
const risk = document.querySelector("#risk");
|
|
590
655
|
const result = document.querySelector("#result");
|
|
591
656
|
const kindButtons = Array.from(document.querySelectorAll("[data-kind]"));
|
|
657
|
+
const sampleButtons = Array.from(document.querySelectorAll("[data-sample-id]"));
|
|
592
658
|
|
|
593
659
|
function escapeHtml(value) {
|
|
594
660
|
return String(value)
|
|
@@ -598,14 +664,28 @@ export function renderPlaygroundHtml() {
|
|
|
598
664
|
.replaceAll('"', """);
|
|
599
665
|
}
|
|
600
666
|
|
|
601
|
-
function
|
|
602
|
-
activeKind = kind;
|
|
603
|
-
content.value = samples[kind];
|
|
667
|
+
function syncButtons() {
|
|
604
668
|
for (const button of kindButtons) {
|
|
605
|
-
button.setAttribute("aria-pressed", String(button.dataset.kind ===
|
|
669
|
+
button.setAttribute("aria-pressed", String(button.dataset.kind === activeKind));
|
|
670
|
+
}
|
|
671
|
+
for (const button of sampleButtons) {
|
|
672
|
+
button.setAttribute("aria-pressed", String(button.dataset.sampleId === activeSampleId));
|
|
606
673
|
}
|
|
607
674
|
}
|
|
608
675
|
|
|
676
|
+
function loadSample(sample) {
|
|
677
|
+
activeKind = sample.kind;
|
|
678
|
+
activeSampleId = sample.id;
|
|
679
|
+
subject.value = sample.subject;
|
|
680
|
+
content.value = sample.content;
|
|
681
|
+
syncButtons();
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
function setKind(kind) {
|
|
685
|
+
activeKind = kind;
|
|
686
|
+
loadSample(defaultSamples[kind]);
|
|
687
|
+
}
|
|
688
|
+
|
|
609
689
|
function issueList(issues) {
|
|
610
690
|
if (!issues.length) {
|
|
611
691
|
return "";
|
|
@@ -667,6 +747,15 @@ export function renderPlaygroundHtml() {
|
|
|
667
747
|
button.addEventListener("click", () => setKind(button.dataset.kind));
|
|
668
748
|
}
|
|
669
749
|
|
|
750
|
+
for (const button of sampleButtons) {
|
|
751
|
+
button.addEventListener("click", () => {
|
|
752
|
+
const sample = samples.find((entry) => entry.id === button.dataset.sampleId);
|
|
753
|
+
if (sample) {
|
|
754
|
+
loadSample(sample);
|
|
755
|
+
}
|
|
756
|
+
});
|
|
757
|
+
}
|
|
758
|
+
|
|
670
759
|
document.querySelector("#sample").addEventListener("click", () => setKind(activeKind));
|
|
671
760
|
document.querySelector("#review-form").addEventListener("submit", (event) => {
|
|
672
761
|
event.preventDefault();
|
package/dist/playground.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playground.js","sourceRoot":"","sources":["../src/playground.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0D,MAAM,WAAW,CAAC;AACjG,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EACL,WAAW,EACX,KAAK,EAMN,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"playground.js","sourceRoot":"","sources":["../src/playground.ts"],"names":[],"mappings":"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"}
|
package/docs/CLI.md
CHANGED
|
@@ -49,6 +49,7 @@ jester playground --port 4919
|
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
The playground listens on `127.0.0.1`, loads the same project config as the CLI, and reviews commands, plans, diffs, and final answers through the same rule engine.
|
|
52
|
+
It includes one-click samples for the four review kinds so you can try realistic inputs before wiring Jester into an agent or hook.
|
|
52
53
|
|
|
53
54
|
## Start
|
|
54
55
|
|
package/docs/DEMO.md
CHANGED
|
@@ -83,6 +83,13 @@ Config: built-in defaults
|
|
|
83
83
|
Press Ctrl+C to stop.
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
+
The browser playground includes sample buttons for:
|
|
87
|
+
|
|
88
|
+
- `Hard reset`
|
|
89
|
+
- `Overconfident plan`
|
|
90
|
+
- `Public token diff`
|
|
91
|
+
- `Untested final`
|
|
92
|
+
|
|
86
93
|
## 5. Preset Recommendation And Preview
|
|
87
94
|
|
|
88
95
|
Command:
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# v0.1.46 Release Notes
|
|
2
|
+
|
|
3
|
+
This release makes the local playground easier to try by adding one-click sample inputs for each review kind. It does not change review matching, scoring, verdicts, config, MCP tools, GitHub Action behavior, or release automation.
|
|
4
|
+
|
|
5
|
+
## Changed
|
|
6
|
+
|
|
7
|
+
- Added playground sample buttons:
|
|
8
|
+
- `Hard reset`
|
|
9
|
+
- `Overconfident plan`
|
|
10
|
+
- `Public token diff`
|
|
11
|
+
- `Untested final`
|
|
12
|
+
- Sample buttons switch the active review kind and populate the subject/content fields.
|
|
13
|
+
- Added tests that the rendered playground exposes all sample buttons and keeps sample review-kind coverage deterministic.
|
|
14
|
+
|
|
15
|
+
## Release Validation
|
|
16
|
+
|
|
17
|
+
```powershell
|
|
18
|
+
npm.cmd test
|
|
19
|
+
npm.cmd run demo:svg:check
|
|
20
|
+
npm.cmd run pack:dry
|
|
21
|
+
git diff --check
|
|
22
|
+
node .\dist\cli.js playground
|
|
23
|
+
git diff | node .\dist\cli.js diff --fail-on block --subject "v0.1.46 playground sample buttons"
|
|
24
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memento-mori-jester",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.46",
|
|
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": {
|