@mneme-ai/core 2.19.32 → 2.19.34
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/dist/apostille/apostille.test.d.ts +2 -0
- package/dist/apostille/apostille.test.d.ts.map +1 -0
- package/dist/apostille/apostille.test.js +279 -0
- package/dist/apostille/apostille.test.js.map +1 -0
- package/dist/apostille/index.d.ts +166 -0
- package/dist/apostille/index.d.ts.map +1 -0
- package/dist/apostille/index.js +432 -0
- package/dist/apostille/index.js.map +1 -0
- package/dist/autonomic_scheduler/b4_context_shift.test.d.ts +12 -0
- package/dist/autonomic_scheduler/b4_context_shift.test.d.ts.map +1 -0
- package/dist/autonomic_scheduler/b4_context_shift.test.js +213 -0
- package/dist/autonomic_scheduler/b4_context_shift.test.js.map +1 -0
- package/dist/autonomic_scheduler/index.d.ts +44 -0
- package/dist/autonomic_scheduler/index.d.ts.map +1 -1
- package/dist/autonomic_scheduler/index.js +68 -1
- package/dist/autonomic_scheduler/index.js.map +1 -1
- package/dist/conversation_compiler/b1_extract_decisions.test.d.ts +2 -0
- package/dist/conversation_compiler/b1_extract_decisions.test.d.ts.map +1 -0
- package/dist/conversation_compiler/b1_extract_decisions.test.js +150 -0
- package/dist/conversation_compiler/b1_extract_decisions.test.js.map +1 -0
- package/dist/conversation_compiler/index.d.ts +19 -1
- package/dist/conversation_compiler/index.d.ts.map +1 -1
- package/dist/conversation_compiler/index.js +128 -39
- package/dist/conversation_compiler/index.js.map +1 -1
- package/dist/cosmic/aurelian_v1933.test.d.ts +2 -0
- package/dist/cosmic/aurelian_v1933.test.d.ts.map +1 -0
- package/dist/cosmic/aurelian_v1933.test.js +82 -0
- package/dist/cosmic/aurelian_v1933.test.js.map +1 -0
- package/dist/cosmic/aurelian_v1934.test.d.ts +2 -0
- package/dist/cosmic/aurelian_v1934.test.d.ts.map +1 -0
- package/dist/cosmic/aurelian_v1934.test.js +83 -0
- package/dist/cosmic/aurelian_v1934.test.js.map +1 -0
- package/dist/cosmic/v1933_integration.test.d.ts +2 -0
- package/dist/cosmic/v1933_integration.test.d.ts.map +1 -0
- package/dist/cosmic/v1933_integration.test.js +128 -0
- package/dist/cosmic/v1933_integration.test.js.map +1 -0
- package/dist/cosmic/v1934_integration.test.d.ts +2 -0
- package/dist/cosmic/v1934_integration.test.d.ts.map +1 -0
- package/dist/cosmic/v1934_integration.test.js +150 -0
- package/dist/cosmic/v1934_integration.test.js.map +1 -0
- package/dist/eternity/eternity.test.d.ts +2 -0
- package/dist/eternity/eternity.test.d.ts.map +1 -0
- package/dist/eternity/eternity.test.js +177 -0
- package/dist/eternity/eternity.test.js.map +1 -0
- package/dist/eternity/index.d.ts +183 -0
- package/dist/eternity/index.d.ts.map +1 -0
- package/dist/eternity/index.js +255 -0
- package/dist/eternity/index.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/outcome_market/index.d.ts +212 -0
- package/dist/outcome_market/index.d.ts.map +1 -0
- package/dist/outcome_market/index.js +344 -0
- package/dist/outcome_market/index.js.map +1 -0
- package/dist/outcome_market/outcome_market.test.d.ts +2 -0
- package/dist/outcome_market/outcome_market.test.d.ts.map +1 -0
- package/dist/outcome_market/outcome_market.test.js +236 -0
- package/dist/outcome_market/outcome_market.test.js.map +1 -0
- package/dist/tool_browser/index.d.ts +128 -0
- package/dist/tool_browser/index.d.ts.map +1 -0
- package/dist/tool_browser/index.js +218 -0
- package/dist/tool_browser/index.js.map +1 -0
- package/dist/tool_browser/tool_browser.test.d.ts +2 -0
- package/dist/tool_browser/tool_browser.test.d.ts.map +1 -0
- package/dist/tool_browser/tool_browser.test.js +167 -0
- package/dist/tool_browser/tool_browser.test.js.map +1 -0
- package/dist/tool_tier/index.d.ts.map +1 -1
- package/dist/tool_tier/index.js +23 -5
- package/dist/tool_tier/index.js.map +1 -1
- package/dist/truth_sensor_pack/index.d.ts +105 -0
- package/dist/truth_sensor_pack/index.d.ts.map +1 -0
- package/dist/truth_sensor_pack/index.js +201 -0
- package/dist/truth_sensor_pack/index.js.map +1 -0
- package/dist/truth_sensor_pack/truth_sensor_pack.test.d.ts +2 -0
- package/dist/truth_sensor_pack/truth_sensor_pack.test.d.ts.map +1 -0
- package/dist/truth_sensor_pack/truth_sensor_pack.test.js +153 -0
- package/dist/truth_sensor_pack/truth_sensor_pack.test.js.map +1 -0
- package/dist/whats_new.d.ts.map +1 -1
- package/dist/whats_new.js +16 -0
- package/dist/whats_new.js.map +1 -1
- package/dist/wrapper_genesis/index.d.ts.map +1 -1
- package/dist/wrapper_genesis/index.js +62 -0
- package/dist/wrapper_genesis/index.js.map +1 -1
- package/dist/zk_fairness/index.d.ts +217 -0
- package/dist/zk_fairness/index.d.ts.map +1 -0
- package/dist/zk_fairness/index.js +349 -0
- package/dist/zk_fairness/index.js.map +1 -0
- package/dist/zk_fairness/zk_fairness.test.d.ts +2 -0
- package/dist/zk_fairness/zk_fairness.test.d.ts.map +1 -0
- package/dist/zk_fairness/zk_fairness.test.js +223 -0
- package/dist/zk_fairness/zk_fairness.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/outcome_market/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outcome_market.test.d.ts","sourceRoot":"","sources":["../../src/outcome_market/outcome_market.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { postTask, submitBid, verifyBid, verifyTask, pickWinner, scoreOutcome, freshReputation, updateReputation, reputationScore, bayesianMean, injectTrickTest, shouldInjectTrick, federatedLeaderboard, computeMarketStats, formatMarketLine, OUTCOME_MARKET_TUNABLES, } from "./index.js";
|
|
3
|
+
const SECRET = "market-test-99";
|
|
4
|
+
describe("v2.19.34 OUTCOME MARKET -- task + bid + verify", () => {
|
|
5
|
+
it("postTask creates HMAC-signed task; verifyTask passes", () => {
|
|
6
|
+
const t = postTask({ intent: "audit my PR", acceptanceCriteria: ["tests pass"], maxBudgetCents: 100, postedBy: "user", postedAtMs: 1, secret: SECRET });
|
|
7
|
+
expect(verifyTask(t, SECRET)).toBe(true);
|
|
8
|
+
expect(t.auctionType).toBe("vickrey");
|
|
9
|
+
});
|
|
10
|
+
it("submitBid returns null on price>budget / future ts / negative price", () => {
|
|
11
|
+
const t = postTask({ intent: "x", acceptanceCriteria: [], maxBudgetCents: 100, postedBy: "u", postedAtMs: 1, bidWindowMs: 100, secret: SECRET });
|
|
12
|
+
expect(submitBid({ task: t, vendor: "v", priceCents: 200, estimatedLatencyMs: 1, confidence: 0.5, submittedAtMs: 50, secret: SECRET })).toBeNull();
|
|
13
|
+
expect(submitBid({ task: t, vendor: "v", priceCents: 50, estimatedLatencyMs: 1, confidence: 0.5, submittedAtMs: 9999, secret: SECRET })).toBeNull();
|
|
14
|
+
expect(submitBid({ task: t, vendor: "v", priceCents: -1, estimatedLatencyMs: 1, confidence: 0.5, submittedAtMs: 50, secret: SECRET })).toBeNull();
|
|
15
|
+
expect(submitBid({ task: t, vendor: "v", priceCents: 50, estimatedLatencyMs: 1, confidence: 1.5, submittedAtMs: 50, secret: SECRET })).toBeNull();
|
|
16
|
+
expect(submitBid({ task: t, vendor: "", priceCents: 50, estimatedLatencyMs: 1, confidence: 0.5, submittedAtMs: 50, secret: SECRET })).toBeNull();
|
|
17
|
+
});
|
|
18
|
+
it("verifyBid passes on legit + rejects tamper", () => {
|
|
19
|
+
const t = postTask({ intent: "x", acceptanceCriteria: [], maxBudgetCents: 100, postedBy: "u", postedAtMs: 1, secret: SECRET });
|
|
20
|
+
const b = submitBid({ task: t, vendor: "v", priceCents: 10, estimatedLatencyMs: 1, confidence: 0.7, submittedAtMs: 2, secret: SECRET });
|
|
21
|
+
expect(verifyBid(b, SECRET)).toBe(true);
|
|
22
|
+
const tampered = { ...b, priceCents: 1 };
|
|
23
|
+
expect(verifyBid(tampered, SECRET)).toBe(false);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
describe("v2.19.34 OUTCOME MARKET -- Vickrey 2nd-price auction", () => {
|
|
27
|
+
it("Vickrey: winner pays SECOND-lowest score's PRICE (not own bid)", () => {
|
|
28
|
+
const t = postTask({ intent: "x", acceptanceCriteria: [], maxBudgetCents: 1000, postedBy: "u", postedAtMs: 1, secret: SECRET, bidWindowMs: 100 });
|
|
29
|
+
const bids = [
|
|
30
|
+
submitBid({ task: t, vendor: "v1", priceCents: 100, estimatedLatencyMs: 10, confidence: 0.9, submittedAtMs: 50, secret: SECRET }),
|
|
31
|
+
submitBid({ task: t, vendor: "v2", priceCents: 200, estimatedLatencyMs: 10, confidence: 0.9, submittedAtMs: 50, secret: SECRET }),
|
|
32
|
+
submitBid({ task: t, vendor: "v3", priceCents: 300, estimatedLatencyMs: 10, confidence: 0.9, submittedAtMs: 50, secret: SECRET }),
|
|
33
|
+
];
|
|
34
|
+
const r = pickWinner({ task: t, bids, secret: SECRET });
|
|
35
|
+
expect(r.winnerVendor).toBe("v1"); // lowest price
|
|
36
|
+
expect(r.effectivePriceCents).toBe(200); // pays 2nd-lowest price
|
|
37
|
+
expect(r.rationale).toContain("vickrey");
|
|
38
|
+
});
|
|
39
|
+
it("first-price auction: winner pays own bid", () => {
|
|
40
|
+
const t = postTask({ intent: "x", acceptanceCriteria: [], maxBudgetCents: 1000, postedBy: "u", postedAtMs: 1, auctionType: "first_price", secret: SECRET });
|
|
41
|
+
const bids = [
|
|
42
|
+
submitBid({ task: t, vendor: "v1", priceCents: 100, estimatedLatencyMs: 10, confidence: 0.9, submittedAtMs: 2, secret: SECRET }),
|
|
43
|
+
submitBid({ task: t, vendor: "v2", priceCents: 200, estimatedLatencyMs: 10, confidence: 0.9, submittedAtMs: 2, secret: SECRET }),
|
|
44
|
+
];
|
|
45
|
+
const r = pickWinner({ task: t, bids, secret: SECRET });
|
|
46
|
+
expect(r.effectivePriceCents).toBe(100);
|
|
47
|
+
expect(r.rationale).toContain("first-price");
|
|
48
|
+
});
|
|
49
|
+
it("single-bid Vickrey falls back to first-price", () => {
|
|
50
|
+
const t = postTask({ intent: "x", acceptanceCriteria: [], maxBudgetCents: 1000, postedBy: "u", postedAtMs: 1, secret: SECRET });
|
|
51
|
+
const bids = [submitBid({ task: t, vendor: "v", priceCents: 50, estimatedLatencyMs: 10, confidence: 0.9, submittedAtMs: 2, secret: SECRET })];
|
|
52
|
+
const r = pickWinner({ task: t, bids, secret: SECRET });
|
|
53
|
+
expect(r.effectivePriceCents).toBe(50);
|
|
54
|
+
});
|
|
55
|
+
it("no bids → winnerVendor=null", () => {
|
|
56
|
+
const t = postTask({ intent: "x", acceptanceCriteria: [], maxBudgetCents: 100, postedBy: "u", postedAtMs: 1, secret: SECRET });
|
|
57
|
+
const r = pickWinner({ task: t, bids: [], secret: SECRET });
|
|
58
|
+
expect(r.winnerVendor).toBeNull();
|
|
59
|
+
expect(r.validBidCount).toBe(0);
|
|
60
|
+
});
|
|
61
|
+
it("bond = effectivePriceCents (winner must post collateral)", () => {
|
|
62
|
+
const t = postTask({ intent: "x", acceptanceCriteria: [], maxBudgetCents: 1000, postedBy: "u", postedAtMs: 1, secret: SECRET });
|
|
63
|
+
const bids = [
|
|
64
|
+
submitBid({ task: t, vendor: "v1", priceCents: 100, estimatedLatencyMs: 10, confidence: 0.9, submittedAtMs: 2, secret: SECRET }),
|
|
65
|
+
submitBid({ task: t, vendor: "v2", priceCents: 200, estimatedLatencyMs: 10, confidence: 0.9, submittedAtMs: 2, secret: SECRET }),
|
|
66
|
+
];
|
|
67
|
+
const r = pickWinner({ task: t, bids, secret: SECRET });
|
|
68
|
+
expect(r.bondCents).toBe(r.effectivePriceCents);
|
|
69
|
+
});
|
|
70
|
+
it("forged bids dropped silently", () => {
|
|
71
|
+
const t = postTask({ intent: "x", acceptanceCriteria: [], maxBudgetCents: 1000, postedBy: "u", postedAtMs: 1, secret: SECRET });
|
|
72
|
+
const real = submitBid({ task: t, vendor: "v1", priceCents: 100, estimatedLatencyMs: 10, confidence: 0.9, submittedAtMs: 2, secret: SECRET });
|
|
73
|
+
const forged = { ...real, vendor: "evil" };
|
|
74
|
+
const r = pickWinner({ task: t, bids: [real, forged], secret: SECRET });
|
|
75
|
+
expect(r.validBidCount).toBe(1);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
describe("v2.19.34 OUTCOME MARKET -- reputation Bayesian half-life", () => {
|
|
79
|
+
it("freshReputation has prior alpha=1 beta=1 → mean 0.5", () => {
|
|
80
|
+
const r = freshReputation("v", SECRET);
|
|
81
|
+
expect(bayesianMean(r.alpha, r.beta)).toBe(0.5);
|
|
82
|
+
});
|
|
83
|
+
it("success increments alpha; failure increments beta", () => {
|
|
84
|
+
let r = freshReputation("v", SECRET);
|
|
85
|
+
for (let i = 0; i < 5; i++) {
|
|
86
|
+
const outcome = {
|
|
87
|
+
v: 1, taskId: `t${i}`, vendor: "v", success: true, latencyActualMs: 100,
|
|
88
|
+
costActualCents: 50, caughtLying: false, scoredAtMs: i, sig: "x".repeat(64),
|
|
89
|
+
};
|
|
90
|
+
r = updateReputation({ reputation: r, outcome, nowMs: i, secret: SECRET });
|
|
91
|
+
}
|
|
92
|
+
expect(r.alpha).toBeGreaterThan(r.beta);
|
|
93
|
+
expect(bayesianMean(r.alpha, r.beta)).toBeGreaterThan(0.5);
|
|
94
|
+
});
|
|
95
|
+
it("HALF-LIFE: 90 days later, alpha/beta decay 50% toward prior", () => {
|
|
96
|
+
let r = freshReputation("v", SECRET);
|
|
97
|
+
const start = 1_000_000_000_000;
|
|
98
|
+
for (let i = 0; i < 10; i++) {
|
|
99
|
+
const outcome = {
|
|
100
|
+
v: 1, taskId: `t${i}`, vendor: "v", success: true, latencyActualMs: 100,
|
|
101
|
+
costActualCents: 50, caughtLying: false, scoredAtMs: start, sig: "x".repeat(64),
|
|
102
|
+
};
|
|
103
|
+
r = updateReputation({ reputation: r, outcome, nowMs: start, secret: SECRET });
|
|
104
|
+
}
|
|
105
|
+
const before = r.alpha;
|
|
106
|
+
// Update 90 days later
|
|
107
|
+
const noopOutcome = {
|
|
108
|
+
v: 1, taskId: "t", vendor: "v", success: true, latencyActualMs: 0,
|
|
109
|
+
costActualCents: 0, caughtLying: false, scoredAtMs: start + 90 * 86400 * 1000, sig: "x".repeat(64),
|
|
110
|
+
};
|
|
111
|
+
r = updateReputation({ reputation: r, outcome: noopOutcome, nowMs: start + 90 * 86400 * 1000, secret: SECRET });
|
|
112
|
+
// alpha should be ~ (before - 1) * 0.5 + 1 + 1 (the +1 for success)
|
|
113
|
+
const expected = (before - 1) * 0.5 + 1 + 1;
|
|
114
|
+
expect(Math.abs(r.alpha - expected)).toBeLessThan(0.01);
|
|
115
|
+
});
|
|
116
|
+
it("caughtLying adds LIAR_PENALTY (=50) strikes", () => {
|
|
117
|
+
let r = freshReputation("v", SECRET);
|
|
118
|
+
const out = {
|
|
119
|
+
v: 1, taskId: "t", vendor: "v", success: false, latencyActualMs: 0,
|
|
120
|
+
costActualCents: 0, caughtLying: true, scoredAtMs: 0, sig: "x".repeat(64),
|
|
121
|
+
};
|
|
122
|
+
r = updateReputation({ reputation: r, outcome: out, nowMs: 0, secret: SECRET });
|
|
123
|
+
expect(r.liarStrikes).toBe(OUTCOME_MARKET_TUNABLES.LIAR_PENALTY);
|
|
124
|
+
expect(reputationScore(r)).toBeLessThan(0.5);
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
describe("v2.19.34 OUTCOME MARKET -- trick test injection", () => {
|
|
128
|
+
it("shouldInjectTrick fires on every Nth task (N=TRICK_TEST_INTERVAL)", () => {
|
|
129
|
+
expect(shouldInjectTrick(0)).toBe(false);
|
|
130
|
+
expect(shouldInjectTrick(1)).toBe(false);
|
|
131
|
+
expect(shouldInjectTrick(OUTCOME_MARKET_TUNABLES.TRICK_TEST_INTERVAL)).toBe(true);
|
|
132
|
+
expect(shouldInjectTrick(OUTCOME_MARKET_TUNABLES.TRICK_TEST_INTERVAL * 2)).toBe(true);
|
|
133
|
+
});
|
|
134
|
+
it("injectTrickTest appends a deterministic trick on N-th task", () => {
|
|
135
|
+
const r = injectTrickTest(["normal criterion"], OUTCOME_MARKET_TUNABLES.TRICK_TEST_INTERVAL);
|
|
136
|
+
expect(r.criteria.length).toBe(2);
|
|
137
|
+
expect(r.trickAtIndex).toBe(1);
|
|
138
|
+
expect(r.trickText).toBeTruthy();
|
|
139
|
+
});
|
|
140
|
+
it("injectTrickTest no-op on non-Nth", () => {
|
|
141
|
+
const r = injectTrickTest(["x"], 1);
|
|
142
|
+
expect(r.criteria.length).toBe(1);
|
|
143
|
+
expect(r.trickAtIndex).toBe(-1);
|
|
144
|
+
});
|
|
145
|
+
it("DETERMINISTIC: same ordinal → same trick", () => {
|
|
146
|
+
const a = injectTrickTest(["x"], OUTCOME_MARKET_TUNABLES.TRICK_TEST_INTERVAL);
|
|
147
|
+
const b = injectTrickTest(["x"], OUTCOME_MARKET_TUNABLES.TRICK_TEST_INTERVAL);
|
|
148
|
+
expect(a.trickText).toBe(b.trickText);
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
describe("v2.19.34 OUTCOME MARKET -- federated leaderboard", () => {
|
|
152
|
+
it("sorts by reputationScore desc, then taskCount desc, then alpha", () => {
|
|
153
|
+
const reps = [
|
|
154
|
+
{ ...freshReputation("zoro", SECRET), alpha: 9, beta: 1, totalTasksWon: 10 },
|
|
155
|
+
{ ...freshReputation("ace", SECRET), alpha: 5, beta: 5, totalTasksWon: 20 },
|
|
156
|
+
{ ...freshReputation("bob", SECRET), alpha: 5, beta: 5, totalTasksWon: 10 },
|
|
157
|
+
];
|
|
158
|
+
const board = federatedLeaderboard({ reputations: reps, nowMs: 0 });
|
|
159
|
+
expect(board[0].vendor).toBe("zoro"); // highest mean
|
|
160
|
+
expect(board[1].vendor).toBe("ace"); // same mean as bob but more tasks
|
|
161
|
+
expect(board[2].vendor).toBe("bob");
|
|
162
|
+
});
|
|
163
|
+
it("limit honored", () => {
|
|
164
|
+
const reps = Array.from({ length: 10 }, (_, i) => freshReputation(`v${i}`, SECRET));
|
|
165
|
+
const b = federatedLeaderboard({ reputations: reps, limit: 3 });
|
|
166
|
+
expect(b.length).toBe(3);
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
describe("v2.19.34 OUTCOME MARKET -- 25,000 FUZZ ITERATIONS", () => {
|
|
170
|
+
it("25,000 random tasks + bids + outcomes never crash + integrity preserved", () => {
|
|
171
|
+
const N = 25_000;
|
|
172
|
+
const reps = new Map();
|
|
173
|
+
let totalTasks = 0, totalBids = 0, totalOutcomes = 0;
|
|
174
|
+
for (let i = 0; i < N; i++) {
|
|
175
|
+
const t = postTask({
|
|
176
|
+
intent: `task ${i}`, acceptanceCriteria: ["x"],
|
|
177
|
+
maxBudgetCents: 100 + (i % 1000), postedBy: `u${i % 100}`,
|
|
178
|
+
postedAtMs: i, bidWindowMs: 10_000, secret: SECRET,
|
|
179
|
+
});
|
|
180
|
+
totalTasks++;
|
|
181
|
+
const bids = [];
|
|
182
|
+
const bidderCount = 1 + (i % 5);
|
|
183
|
+
for (let j = 0; j < bidderCount; j++) {
|
|
184
|
+
const vendor = `v${(i + j) % 20}`;
|
|
185
|
+
if (!reps.has(vendor))
|
|
186
|
+
reps.set(vendor, freshReputation(vendor, SECRET));
|
|
187
|
+
const b = submitBid({
|
|
188
|
+
task: t, vendor,
|
|
189
|
+
priceCents: 1 + ((i + j) % t.maxBudgetCents),
|
|
190
|
+
estimatedLatencyMs: 10 + ((i + j) % 1000),
|
|
191
|
+
confidence: ((i + j) % 100) / 100,
|
|
192
|
+
submittedAtMs: i + j,
|
|
193
|
+
secret: SECRET,
|
|
194
|
+
});
|
|
195
|
+
if (b) {
|
|
196
|
+
bids.push(b);
|
|
197
|
+
totalBids++;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
const winner = pickWinner({ task: t, bids, reputations: Array.from(reps.values()), secret: SECRET });
|
|
201
|
+
if (winner.winnerVendor) {
|
|
202
|
+
const outcome = scoreOutcome({
|
|
203
|
+
task: t, result: winner,
|
|
204
|
+
success: i % 7 !== 0, // ~85% success rate
|
|
205
|
+
latencyActualMs: 50,
|
|
206
|
+
costActualCents: winner.effectivePriceCents,
|
|
207
|
+
caughtLying: i % 100 === 0,
|
|
208
|
+
scoredAtMs: i + 100,
|
|
209
|
+
secret: SECRET,
|
|
210
|
+
});
|
|
211
|
+
totalOutcomes++;
|
|
212
|
+
const r = reps.get(winner.winnerVendor);
|
|
213
|
+
reps.set(winner.winnerVendor, updateReputation({ reputation: r, outcome, nowMs: i + 100, secret: SECRET }));
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
expect(totalTasks).toBe(N);
|
|
217
|
+
expect(totalBids).toBeGreaterThan(0);
|
|
218
|
+
expect(totalOutcomes).toBeGreaterThan(0);
|
|
219
|
+
const board = federatedLeaderboard({ reputations: Array.from(reps.values()) });
|
|
220
|
+
expect(board.length).toBeGreaterThan(0);
|
|
221
|
+
}, 60_000);
|
|
222
|
+
it("computeMarketStats counts correctly across 1000 ops", () => {
|
|
223
|
+
const tasks = [];
|
|
224
|
+
const bids = [];
|
|
225
|
+
const outcomes = [];
|
|
226
|
+
const reps = [];
|
|
227
|
+
for (let i = 0; i < 1000; i++) {
|
|
228
|
+
const t = postTask({ intent: "x", acceptanceCriteria: [], maxBudgetCents: 100, postedBy: "u", postedAtMs: i, secret: SECRET });
|
|
229
|
+
tasks.push(t);
|
|
230
|
+
}
|
|
231
|
+
const s = computeMarketStats({ tasks, bids, outcomes, reputations: reps });
|
|
232
|
+
expect(s.totalTasks).toBe(1000);
|
|
233
|
+
expect(formatMarketLine(s)).toContain("MARKET");
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
//# sourceMappingURL=outcome_market.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outcome_market.test.js","sourceRoot":"","sources":["../../src/outcome_market/outcome_market.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.19.33 B3 fix — MNEME TOOL BROWSER (discoverability for 600+ tools)
|
|
3
|
+
*
|
|
4
|
+
* User-audit diagnosis (2026-05-17):
|
|
5
|
+
* "STARTER tier เล็กไป (13/594 = 2.2%) ... 97.8% hidden from default view.
|
|
6
|
+
* ปัญหาแม่นยำคือ discoverability ไม่ใช่ catalog size.
|
|
7
|
+
* Wisdom fix:
|
|
8
|
+
* - expand STARTER ไป ~30-40 tools (~5-7%)
|
|
9
|
+
* - เพิ่ม mneme browse — interactive TUI explorer ของ 594 tools
|
|
10
|
+
* - เพิ่ม mneme suggest — repo-aware tool recommendations
|
|
11
|
+
* - wisdom: discoverability = curated tour, not just curated subset"
|
|
12
|
+
*
|
|
13
|
+
* v2.19.33 ships two pure-function helpers + 2 MCP wrappers:
|
|
14
|
+
*
|
|
15
|
+
* browseCatalog({tier?, family?, query?, limit?, offset?})
|
|
16
|
+
* → paginated list of tool descriptions filtered + sorted by tier
|
|
17
|
+
* → caller (CLI / MCP) renders the page
|
|
18
|
+
*
|
|
19
|
+
* suggestTools({recentActions?, repoSignals?, intent?, limit?})
|
|
20
|
+
* → returns top-N tool recommendations based on:
|
|
21
|
+
* - recent CLI activity (tail of .mneme/cli-activity.jsonl)
|
|
22
|
+
* - repo signals (presence of package.json / Cargo.toml / git history)
|
|
23
|
+
* - explicit intent string
|
|
24
|
+
* → SCORED + sorted; deterministic given the same input
|
|
25
|
+
*
|
|
26
|
+
* Both stay pure (no I/O). The caller supplies the catalog snapshot +
|
|
27
|
+
* activity tail; this module ranks + filters.
|
|
28
|
+
*
|
|
29
|
+
* Composes onto:
|
|
30
|
+
* - v2.19.24 TOOL TIER (consumes Tier classification)
|
|
31
|
+
* - v2.19.32 HANDOFF SNAPSHOT (recentActivity format reused)
|
|
32
|
+
*
|
|
33
|
+
* Honest scope:
|
|
34
|
+
* - PURE FUNCTION. Never throws. Caller supplies I/O.
|
|
35
|
+
* - Deterministic ranking (no Math.random in scoring).
|
|
36
|
+
* - 24/7 safe: 1000 random browse/suggest calls never crash.
|
|
37
|
+
*/
|
|
38
|
+
declare const PROTOCOL_VERSION: 1;
|
|
39
|
+
export interface ToolCatalogEntry {
|
|
40
|
+
name: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
category?: string;
|
|
43
|
+
tier?: "starter" | "explorer" | "deep" | "experimental";
|
|
44
|
+
triggers?: string[];
|
|
45
|
+
}
|
|
46
|
+
export interface BrowsePage {
|
|
47
|
+
v: typeof PROTOCOL_VERSION;
|
|
48
|
+
totalMatches: number;
|
|
49
|
+
pageOffset: number;
|
|
50
|
+
pageLimit: number;
|
|
51
|
+
entries: ToolCatalogEntry[];
|
|
52
|
+
/** ASCII summary line — "🔎 BROWSE 32 of 647 tools (page 1/21)". */
|
|
53
|
+
pulseLine: string;
|
|
54
|
+
}
|
|
55
|
+
export interface BrowseInput {
|
|
56
|
+
catalog: ToolCatalogEntry[];
|
|
57
|
+
/** Filter to a tier; default = all tiers. */
|
|
58
|
+
tier?: "starter" | "explorer" | "deep" | "experimental";
|
|
59
|
+
/** Filter to a family prefix (e.g., "synapse" matches mneme.synapse.*). */
|
|
60
|
+
family?: string;
|
|
61
|
+
/** Substring search across name + description + triggers. */
|
|
62
|
+
query?: string;
|
|
63
|
+
/** Max entries per page (default 30). */
|
|
64
|
+
limit?: number;
|
|
65
|
+
/** Pagination offset (default 0). */
|
|
66
|
+
offset?: number;
|
|
67
|
+
}
|
|
68
|
+
/** Paginated catalog browse. Pure; no I/O. */
|
|
69
|
+
export declare function browseCatalog(input: BrowseInput): BrowsePage;
|
|
70
|
+
export interface ActivityRecord {
|
|
71
|
+
action: string;
|
|
72
|
+
ts: number;
|
|
73
|
+
}
|
|
74
|
+
export interface RepoSignals {
|
|
75
|
+
hasPackageJson?: boolean;
|
|
76
|
+
hasCargoToml?: boolean;
|
|
77
|
+
hasGoMod?: boolean;
|
|
78
|
+
hasPyprojectToml?: boolean;
|
|
79
|
+
hasDotGit?: boolean;
|
|
80
|
+
hasGithubActions?: boolean;
|
|
81
|
+
hasDockerfile?: boolean;
|
|
82
|
+
recentCommitCount?: number;
|
|
83
|
+
hasUncommittedChanges?: boolean;
|
|
84
|
+
/** Languages detected (caller fills from file scan). */
|
|
85
|
+
languages?: string[];
|
|
86
|
+
}
|
|
87
|
+
export interface SuggestInput {
|
|
88
|
+
catalog: ToolCatalogEntry[];
|
|
89
|
+
recentActions?: ActivityRecord[];
|
|
90
|
+
repoSignals?: RepoSignals;
|
|
91
|
+
/** Optional natural-language intent ("I want to audit my last commit"). */
|
|
92
|
+
intent?: string;
|
|
93
|
+
/** Max suggestions to return (default 5). */
|
|
94
|
+
limit?: number;
|
|
95
|
+
}
|
|
96
|
+
export interface SuggestionEntry {
|
|
97
|
+
tool: ToolCatalogEntry;
|
|
98
|
+
score: number;
|
|
99
|
+
reasons: string[];
|
|
100
|
+
}
|
|
101
|
+
export interface SuggestionResult {
|
|
102
|
+
v: typeof PROTOCOL_VERSION;
|
|
103
|
+
suggestions: SuggestionEntry[];
|
|
104
|
+
pulseLine: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Suggest top-N tools for the caller's current context.
|
|
108
|
+
* Deterministic scoring: same inputs → same suggestions in same order.
|
|
109
|
+
*/
|
|
110
|
+
export declare function suggestTools(input: SuggestInput): SuggestionResult;
|
|
111
|
+
export interface BrowseStats {
|
|
112
|
+
starterCount: number;
|
|
113
|
+
explorerCount: number;
|
|
114
|
+
deepCount: number;
|
|
115
|
+
experimentalCount: number;
|
|
116
|
+
totalTools: number;
|
|
117
|
+
starterPct: number;
|
|
118
|
+
}
|
|
119
|
+
export declare function computeBrowseStats(catalog: ToolCatalogEntry[]): BrowseStats;
|
|
120
|
+
export declare function formatBrowseStatsLine(s: BrowseStats): string;
|
|
121
|
+
export declare const TOOL_BROWSER_TUNABLES: Readonly<{
|
|
122
|
+
PROTOCOL_VERSION: 1;
|
|
123
|
+
DEFAULT_PAGE_LIMIT: 30;
|
|
124
|
+
MAX_PAGE_LIMIT: 200;
|
|
125
|
+
DEFAULT_SUGGEST_LIMIT: 5;
|
|
126
|
+
}>;
|
|
127
|
+
export {};
|
|
128
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tool_browser/index.ts"],"names":[],"mappings":"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"}
|