@ixo/decision-oracle 0.2.34 → 0.3.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.
- package/README.md +3 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +12 -4
- package/dist/app.js.map +1 -1
- package/dist/cli/commands/facts-run.d.ts +3 -2
- package/dist/cli/commands/facts-run.d.ts.map +1 -1
- package/dist/cli/commands/facts-run.js +52 -108
- package/dist/cli/commands/facts-run.js.map +1 -1
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -0
- package/dist/config.js.map +1 -1
- package/dist/env.d.ts +5 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/lib/facts/builder.d.ts +4 -9
- package/dist/lib/facts/builder.d.ts.map +1 -1
- package/dist/lib/facts/builder.js +12 -41
- package/dist/lib/facts/builder.js.map +1 -1
- package/dist/lib/facts/deps.d.ts +15 -0
- package/dist/lib/facts/deps.d.ts.map +1 -0
- package/dist/lib/facts/deps.js +37 -0
- package/dist/lib/facts/deps.js.map +1 -0
- package/dist/lib/facts/preview.d.ts +34 -0
- package/dist/lib/facts/preview.d.ts.map +1 -0
- package/dist/lib/facts/preview.js +46 -0
- package/dist/lib/facts/preview.js.map +1 -0
- package/dist/lib/openhands/why.d.ts +11 -0
- package/dist/lib/openhands/why.d.ts.map +1 -1
- package/dist/lib/openhands/why.js +32 -26
- package/dist/lib/openhands/why.js.map +1 -1
- package/dist/middleware/capability.d.ts +1 -1
- package/dist/middleware/capability.d.ts.map +1 -1
- package/dist/middleware/capability.js +4 -0
- package/dist/middleware/capability.js.map +1 -1
- package/dist/routes/v1/admin.d.ts.map +1 -1
- package/dist/routes/v1/admin.js +2 -1
- package/dist/routes/v1/admin.js.map +1 -1
- package/dist/routes/v1/index.d.ts.map +1 -1
- package/dist/routes/v1/index.js +2 -0
- package/dist/routes/v1/index.js.map +1 -1
- package/dist/routes/v1/practice.d.ts +39 -0
- package/dist/routes/v1/practice.d.ts.map +1 -0
- package/dist/routes/v1/practice.js +320 -0
- package/dist/routes/v1/practice.js.map +1 -0
- package/dist/workflows/evaluate.d.ts.map +1 -1
- package/dist/workflows/evaluate.js +2 -1
- package/dist/workflows/evaluate.js.map +1 -1
- package/docs/api.md +4 -1
- package/docs/guide.md +52 -0
- package/package.json +1 -1
- package/templates/project/.dev.vars.example +3 -0
- package/templates/project/wrangler.jsonc +9 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `POST /v1/practice-check` — what this oracle WOULD decide on a completion before the person hands
|
|
3
|
+
* it in (IXO-6360). A would-be claim on a watched collection runs the same build a claim's evaluate
|
|
4
|
+
* step runs — this oracle's own facts table, the real tools, the real AI, the real collection
|
|
5
|
+
* window, `now` as the clock and the would-be submitter as the claim's agent — and then the
|
|
6
|
+
* engine's preview route instead of `decide` (lib/facts/preview.ts, shared with `facts run
|
|
7
|
+
* --preview`). Nothing is persisted: no claim, chain write, fee, grant, duplicate-registry row,
|
|
8
|
+
* review task, archive copy or email, and the engine bills nothing. Only the AI spend is recorded,
|
|
9
|
+
* as a real check's is (`ai.tokens`, `ai_calls`), under a `practice-…` claim id.
|
|
10
|
+
*
|
|
11
|
+
* Two things differ from a real claim, both fail-closed: the stock duplicate lane INSERTS before it
|
|
12
|
+
* reads, so it is replaced by the dry-run placeholder (`uniqueNotRun`, band `review`); and the
|
|
13
|
+
* frequency count adds the would-be claim itself, which a real claim's count already holds.
|
|
14
|
+
*
|
|
15
|
+
* Caller: a UCAN `practice/check` (strict) from one of `PRACTICE_CHECK_CALLERS` — an app's server
|
|
16
|
+
* acting for its signed-in person. Unset ⇒ the route is off (404). Limited per submitter per
|
|
17
|
+
* collection, per submitter and per oracle, per UTC day (`PRACTICE_CHECK_LIMIT_*`).
|
|
18
|
+
*/
|
|
19
|
+
import { Hono } from "hono";
|
|
20
|
+
import type { AppEnv } from "../../context.js";
|
|
21
|
+
import { type Decision } from "../../lib/engine/types.js";
|
|
22
|
+
import type { RubricView } from "../../lib/openhands/explain.js";
|
|
23
|
+
export declare const practice: Hono<AppEnv, import("hono/types").BlankSchema, "/">;
|
|
24
|
+
export type PracticeOutcome = "approve" | "review" | "reject";
|
|
25
|
+
export interface PracticeReason {
|
|
26
|
+
code: string;
|
|
27
|
+
outcome: "passed" | "failed" | "review";
|
|
28
|
+
reason: string;
|
|
29
|
+
}
|
|
30
|
+
/** The engine's would-be verdict in the contract's three words — read, never computed. */
|
|
31
|
+
export declare function outcomeOf(decision: Pick<Decision, "status" | "verdict">): PracticeOutcome;
|
|
32
|
+
/**
|
|
33
|
+
* Every gate and criterion the engine evaluated, each with the rubric's own sentence for its code
|
|
34
|
+
* (the engine's reason line when the rubric names none). A failed gate that held the claim for a
|
|
35
|
+
* person reads `review`. Display only, like explain.ts; a criterion reads as passed from half
|
|
36
|
+
* marks up, as the claimant's "why" does.
|
|
37
|
+
*/
|
|
38
|
+
export declare function practiceReasons(decision: Decision, rubric: RubricView | null): PracticeReason[];
|
|
39
|
+
//# sourceMappingURL=practice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"practice.d.ts","sourceRoot":"","sources":["../../../src/routes/v1/practice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAc,MAAM,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,EAAE,KAAK,QAAQ,EAAmC,MAAM,wBAAwB,CAAC;AAYxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAQ9D,eAAO,MAAM,QAAQ,qDAAqB,CAAC;AAoB3C,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC9D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAuKD,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG,eAAe,CAGzF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,cAAc,EAAE,CAkC/F"}
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `POST /v1/practice-check` — what this oracle WOULD decide on a completion before the person hands
|
|
3
|
+
* it in (IXO-6360). A would-be claim on a watched collection runs the same build a claim's evaluate
|
|
4
|
+
* step runs — this oracle's own facts table, the real tools, the real AI, the real collection
|
|
5
|
+
* window, `now` as the clock and the would-be submitter as the claim's agent — and then the
|
|
6
|
+
* engine's preview route instead of `decide` (lib/facts/preview.ts, shared with `facts run
|
|
7
|
+
* --preview`). Nothing is persisted: no claim, chain write, fee, grant, duplicate-registry row,
|
|
8
|
+
* review task, archive copy or email, and the engine bills nothing. Only the AI spend is recorded,
|
|
9
|
+
* as a real check's is (`ai.tokens`, `ai_calls`), under a `practice-…` claim id.
|
|
10
|
+
*
|
|
11
|
+
* Two things differ from a real claim, both fail-closed: the stock duplicate lane INSERTS before it
|
|
12
|
+
* reads, so it is replaced by the dry-run placeholder (`uniqueNotRun`, band `review`); and the
|
|
13
|
+
* frequency count adds the would-be claim itself, which a real claim's count already holds.
|
|
14
|
+
*
|
|
15
|
+
* Caller: a UCAN `practice/check` (strict) from one of `PRACTICE_CHECK_CALLERS` — an app's server
|
|
16
|
+
* acting for its signed-in person. Unset ⇒ the route is off (404). Limited per submitter per
|
|
17
|
+
* collection, per submitter and per oracle, per UTC day (`PRACTICE_CHECK_LIMIT_*`).
|
|
18
|
+
*/
|
|
19
|
+
import { Hono } from "hono";
|
|
20
|
+
import { z } from "zod";
|
|
21
|
+
import { CollectionId } from "../../contracts/index.js";
|
|
22
|
+
import { createEngineClient } from "../../lib/engine/client.js";
|
|
23
|
+
import { EngineError, isManifestUnusable } from "../../lib/engine/types.js";
|
|
24
|
+
import { AppError } from "../../lib/errors.js";
|
|
25
|
+
import { persistAiCalls } from "../../lib/facts/builder.js";
|
|
26
|
+
import { previewClaim, UNIQUE_NOT_RUN, uniqueNotRun } from "../../lib/facts/preview.js";
|
|
27
|
+
import { producerOf } from "../../lib/facts/tools.js";
|
|
28
|
+
import { countAgentClaimsInWindow, getCollection, } from "../../lib/ixo/blocksync/index.js";
|
|
29
|
+
import { readRubricView } from "../../lib/openhands/why.js";
|
|
30
|
+
import { makeReviewerNote, noteInput, reviewerNoteEnabled } from "../../lib/review/reviewer-note.js";
|
|
31
|
+
import { reviewTaskOf } from "../../lib/review/tasks.js";
|
|
32
|
+
import { inSpan } from "../../lib/spans.js";
|
|
33
|
+
import { validate } from "../../lib/validator.js";
|
|
34
|
+
import { getOracle } from "../../oracle.js";
|
|
35
|
+
export const practice = new Hono();
|
|
36
|
+
const Body = z.object({
|
|
37
|
+
collectionId: CollectionId,
|
|
38
|
+
submitter: z.string().regex(/^ixo1[02-9ac-hj-np-z]{38,58}$/, "expected an ixo1… address"),
|
|
39
|
+
answers: z.record(z.string(), z.unknown()),
|
|
40
|
+
attachments: z
|
|
41
|
+
.array(z.object({
|
|
42
|
+
/** The root question the file answers — what `tools.attachments.on()` filters by. */
|
|
43
|
+
question: z.string().min(1).max(200),
|
|
44
|
+
name: z.string().min(1).max(200),
|
|
45
|
+
mediaType: z.string().min(1).max(200),
|
|
46
|
+
dataUrl: z.string().regex(/^data:[^,]*;base64,/, "expected a base64 data: URL"),
|
|
47
|
+
}))
|
|
48
|
+
.max(20)
|
|
49
|
+
.optional(),
|
|
50
|
+
});
|
|
51
|
+
practice.post("/", validate("json", Body), async (c) => {
|
|
52
|
+
const config = c.get("config");
|
|
53
|
+
if (config.PRACTICE_CHECK_CALLERS.length === 0)
|
|
54
|
+
throw AppError.notFound("Not found");
|
|
55
|
+
if (!config.PRACTICE_CHECK_CALLERS.includes(c.get("principal").did)) {
|
|
56
|
+
throw AppError.forbidden("This caller may not run practice checks (PRACTICE_CHECK_CALLERS)");
|
|
57
|
+
}
|
|
58
|
+
const body = c.req.valid("json");
|
|
59
|
+
const { collectionId, submitter } = body;
|
|
60
|
+
const logger = c.get("logger");
|
|
61
|
+
const trace = c.get("trace");
|
|
62
|
+
const db = await c.var.db();
|
|
63
|
+
const watched = await db.query.watchedCollections.findFirst({
|
|
64
|
+
where: (t, { eq }) => eq(t.collectionId, collectionId),
|
|
65
|
+
});
|
|
66
|
+
if (!watched)
|
|
67
|
+
throw AppError.notFound(`This oracle does not check collection ${collectionId}`);
|
|
68
|
+
const blocksync = { config, trace };
|
|
69
|
+
const protocolDid = watched.protocolDid ?? (await getCollection(blocksync, collectionId))?.protocol;
|
|
70
|
+
if (!protocolDid)
|
|
71
|
+
throw AppError.notFound(`Collection ${collectionId} has no protocol`);
|
|
72
|
+
const engine = createEngineClient({ config, logger, trace, cache: c.env.CACHE_KV });
|
|
73
|
+
const manifest = await engine.getManifest(protocolDid).catch(unreachable);
|
|
74
|
+
if (isManifestUnusable(manifest)) {
|
|
75
|
+
throw cannotCheck("this ask's rules cannot be checked automatically", "rubric-unusable");
|
|
76
|
+
}
|
|
77
|
+
let attachments;
|
|
78
|
+
try {
|
|
79
|
+
attachments = (body.attachments ?? []).map((a) => ({
|
|
80
|
+
question: a.question,
|
|
81
|
+
name: a.name,
|
|
82
|
+
mediaType: a.mediaType,
|
|
83
|
+
// The bytes ARE the reference (no store to fetch them from); every reader in the kit takes a
|
|
84
|
+
// data: URL (lib/ixo/attachments.ts), as the CLI's dry run does.
|
|
85
|
+
url: a.dataUrl,
|
|
86
|
+
size: atob(a.dataUrl.slice(a.dataUrl.indexOf(",") + 1)).length,
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
throw AppError.badRequest("An attachment's dataUrl is not valid base64");
|
|
91
|
+
}
|
|
92
|
+
const limits = await spendLimits(c, collectionId, submitter);
|
|
93
|
+
if (!limits.ok) {
|
|
94
|
+
c.header("Retry-After", String(limits.retryAfter));
|
|
95
|
+
return c.json({
|
|
96
|
+
error: {
|
|
97
|
+
code: "RATE_LIMITED",
|
|
98
|
+
message: `Practice limit reached: try again after ${limits.resetsAt}.`,
|
|
99
|
+
requestId: c.get("requestId"),
|
|
100
|
+
},
|
|
101
|
+
retryAfter: limits.retryAfter,
|
|
102
|
+
limits: { remaining: 0, resetsAt: limits.resetsAt },
|
|
103
|
+
}, 429);
|
|
104
|
+
}
|
|
105
|
+
const claim = {
|
|
106
|
+
claimId: `practice-${crypto.randomUUID()}`,
|
|
107
|
+
collectionId,
|
|
108
|
+
network: config.IXO_NETWORK,
|
|
109
|
+
// No store: every attachment carries its own bytes (the cellnode posture, `media: null`).
|
|
110
|
+
lane: "cellnode",
|
|
111
|
+
metadata: {
|
|
112
|
+
// The chain's spelling of a claim's agent: what `ctx.claim.submitter` / `submitterAddress`
|
|
113
|
+
// read, so a handler binding a report to its signer (Alpha's) sees the would-be signer.
|
|
114
|
+
agentDid: `did:ixo:${submitter}`,
|
|
115
|
+
agentAddress: submitter,
|
|
116
|
+
schemaType: null,
|
|
117
|
+
submissionDate: new Date().toISOString(),
|
|
118
|
+
amount: [],
|
|
119
|
+
payment: { useIntent: false, guaranteed: false, amount: [] },
|
|
120
|
+
evaluation: null,
|
|
121
|
+
},
|
|
122
|
+
body: body.answers,
|
|
123
|
+
attachments,
|
|
124
|
+
media: null,
|
|
125
|
+
};
|
|
126
|
+
const { allowAiChecks, allowImageChecks } = getOracle().config.policies;
|
|
127
|
+
const aiSpend = new Map();
|
|
128
|
+
let result;
|
|
129
|
+
try {
|
|
130
|
+
result = await previewClaim({
|
|
131
|
+
config,
|
|
132
|
+
logger,
|
|
133
|
+
metrics: c.get("metrics"),
|
|
134
|
+
span: inSpan,
|
|
135
|
+
trace,
|
|
136
|
+
cache: c.env.CACHE_KV,
|
|
137
|
+
media: null,
|
|
138
|
+
settings: { allowAiChecks, allowImageChecks },
|
|
139
|
+
// The oracle's own table; only the stock duplicate lane is swapped (header).
|
|
140
|
+
produceFacts: producerOf(getOracle().source.facts, { unique: uniqueNotRun }),
|
|
141
|
+
engine,
|
|
142
|
+
// For the AI ledger (`ai_calls`) only: the duplicate lane that would write is swapped, and
|
|
143
|
+
// no fact cache is opened — a practice claim id is never read again.
|
|
144
|
+
db,
|
|
145
|
+
env: c.env,
|
|
146
|
+
scope: practiceScope(blocksync),
|
|
147
|
+
aiSpend,
|
|
148
|
+
}, { claim, protocolDid, manifest });
|
|
149
|
+
}
|
|
150
|
+
catch (err) {
|
|
151
|
+
unreachable(err);
|
|
152
|
+
}
|
|
153
|
+
const { built, decision: preview } = result;
|
|
154
|
+
if (!built.ok)
|
|
155
|
+
throw cannotCheck("an automatic check did not produce a usable answer", built.reason);
|
|
156
|
+
if (!preview || preview.decision.status === "unusable") {
|
|
157
|
+
throw cannotCheck("this ask's rules cannot be checked automatically", "rubric-unusable");
|
|
158
|
+
}
|
|
159
|
+
const decision = preview.decision;
|
|
160
|
+
const outcome = outcomeOf(decision);
|
|
161
|
+
// Labels only: an unreadable rubric leaves the engine's reason lines, never fails the answer.
|
|
162
|
+
const rubric = await readRubricView(c.env, blocksync, built.rubricId, async () => protocolDid).catch(() => null);
|
|
163
|
+
const notes = [];
|
|
164
|
+
if (built.facts.unique?.digest === UNIQUE_NOT_RUN) {
|
|
165
|
+
notes.push("The check for copies of earlier answers runs only when you hand it in.");
|
|
166
|
+
}
|
|
167
|
+
if (outcome === "review" && reviewerNoteEnabled()) {
|
|
168
|
+
// The reviewer's note, made as the evaluate step makes it (one model call) and stored nowhere.
|
|
169
|
+
const aiCalls = [];
|
|
170
|
+
const review = "review" in manifest ? manifest.review : undefined;
|
|
171
|
+
const note = await makeReviewerNote({ config, logger, trace, env: c.env, cache: c.env.CACHE_KV, aiCalls }, claim.claimId, noteInput({
|
|
172
|
+
answers: built.facts.answers,
|
|
173
|
+
attachments: built.facts.attachments,
|
|
174
|
+
facts: { ext: built.facts.ext, ai: built.facts.ai },
|
|
175
|
+
tasks: decision.pendingTasks.map((id) => reviewTaskOf(id, review)),
|
|
176
|
+
}));
|
|
177
|
+
await persistAiCalls(db, claim.claimId, aiCalls, logger);
|
|
178
|
+
if (note)
|
|
179
|
+
notes.push(note.says, ...note.checkThese);
|
|
180
|
+
}
|
|
181
|
+
logger.info("practice.check", {
|
|
182
|
+
claimId: claim.claimId,
|
|
183
|
+
collectionId,
|
|
184
|
+
protocolDid,
|
|
185
|
+
rubricId: built.rubricId,
|
|
186
|
+
outcome,
|
|
187
|
+
aiSpend: Object.fromEntries(aiSpend),
|
|
188
|
+
});
|
|
189
|
+
c.get("metrics").count("practice.check", 1, { outcome, id: protocolDid });
|
|
190
|
+
return c.json({
|
|
191
|
+
outcome,
|
|
192
|
+
reasons: practiceReasons(decision, rubric),
|
|
193
|
+
notes,
|
|
194
|
+
limits: { remaining: limits.remaining, resetsAt: limits.resetsAt },
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
/** The engine's would-be verdict in the contract's three words — read, never computed. */
|
|
198
|
+
export function outcomeOf(decision) {
|
|
199
|
+
if (decision.status === "pending_review" || decision.verdict === "review")
|
|
200
|
+
return "review";
|
|
201
|
+
return decision.verdict === "reject" ? "reject" : "approve";
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Every gate and criterion the engine evaluated, each with the rubric's own sentence for its code
|
|
205
|
+
* (the engine's reason line when the rubric names none). A failed gate that held the claim for a
|
|
206
|
+
* person reads `review`. Display only, like explain.ts; a criterion reads as passed from half
|
|
207
|
+
* marks up, as the claimant's "why" does.
|
|
208
|
+
*/
|
|
209
|
+
export function practiceReasons(decision, rubric) {
|
|
210
|
+
const held = decision.status === "pending_review";
|
|
211
|
+
const engineReason = (code) => decision.reasons.find((r) => r.code === code)?.reason;
|
|
212
|
+
const reasons = [];
|
|
213
|
+
for (const gate of decision.gates) {
|
|
214
|
+
if (gate.outcome === "skipped" || gate.outcome === "not_reached")
|
|
215
|
+
continue;
|
|
216
|
+
const spec = rubric?.gates.find((g) => g.code === gate.code);
|
|
217
|
+
const reason = gate.code.startsWith("unique:")
|
|
218
|
+
? (rubric?.unique?.label ?? "Not a copy of an earlier answer")
|
|
219
|
+
: gate.code.startsWith("frequency:")
|
|
220
|
+
? (rubric?.frequency?.label ?? "Within the limit of answers per person")
|
|
221
|
+
: (spec?.reason ?? engineReason(gate.code) ?? gate.code);
|
|
222
|
+
// An unevaluated gate (an errored fact) follows the decision; a failed one, its rubric `onFail`.
|
|
223
|
+
const toPerson = gate.outcome === "unevaluated" || !spec ? held : spec.onFail === "review";
|
|
224
|
+
reasons.push({
|
|
225
|
+
code: gate.code,
|
|
226
|
+
outcome: gate.outcome === "passed" ? "passed" : toPerson && held ? "review" : "failed",
|
|
227
|
+
reason,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
for (const criterion of decision.criteria) {
|
|
231
|
+
if (!criterion.pending && criterion.scoreBps === null)
|
|
232
|
+
continue;
|
|
233
|
+
const spec = rubric?.criteria.find((s) => s.code === criterion.code);
|
|
234
|
+
reasons.push({
|
|
235
|
+
code: criterion.code,
|
|
236
|
+
outcome: criterion.pending
|
|
237
|
+
? "review"
|
|
238
|
+
: (criterion.scoreBps ?? 0) >= 5000
|
|
239
|
+
? "passed"
|
|
240
|
+
: "failed",
|
|
241
|
+
reason: spec?.reason ?? engineReason(criterion.code) ?? criterion.code,
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
return reasons;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* The chain lane's own scope reads (claim-source.ts), with one change: the would-be claim is not on
|
|
248
|
+
* chain yet, and a real claim's count holds itself (frequency-fact.ts: `count > max`), so it is
|
|
249
|
+
* counted here.
|
|
250
|
+
*/
|
|
251
|
+
function practiceScope(blocksync) {
|
|
252
|
+
return {
|
|
253
|
+
async window(collectionId) {
|
|
254
|
+
const collection = await getCollection(blocksync, collectionId);
|
|
255
|
+
return collection && { startDate: collection.startDate, endDate: collection.endDate };
|
|
256
|
+
},
|
|
257
|
+
countSubmissions: async (claim, from, to) => claim.metadata.agentAddress
|
|
258
|
+
? 1 +
|
|
259
|
+
(await countAgentClaimsInWindow(blocksync, {
|
|
260
|
+
collectionId: claim.collectionId,
|
|
261
|
+
agentAddress: claim.metadata.agentAddress,
|
|
262
|
+
fromISO: from.toISOString(),
|
|
263
|
+
toISO: to.toISOString(),
|
|
264
|
+
}))
|
|
265
|
+
: null,
|
|
266
|
+
submitterKey: async (claim) => claim.metadata.agentAddress,
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
const DAY_MS = 86_400_000;
|
|
270
|
+
/**
|
|
271
|
+
* Spend one practice check from three budgets — this submitter on this collection, this submitter,
|
|
272
|
+
* this oracle — each a count per UTC day in CACHE_KV, expiring with its day. Refused when any is
|
|
273
|
+
* spent; a refusal spends nothing, so one busy person never eats the oracle's budget by retrying.
|
|
274
|
+
* shortcut: KV is read-then-write and eventually consistent, so concurrent checks can overrun a
|
|
275
|
+
* limit by a few; move to a D1 counter if a cap must be exact.
|
|
276
|
+
*/
|
|
277
|
+
async function spendLimits(c, collectionId, submitter) {
|
|
278
|
+
const config = c.get("config");
|
|
279
|
+
const kv = c.env.CACHE_KV;
|
|
280
|
+
const now = Date.now();
|
|
281
|
+
const day = Math.floor(now / DAY_MS);
|
|
282
|
+
const resetsAtMs = (day + 1) * DAY_MS;
|
|
283
|
+
const resetsAt = new Date(resetsAtMs).toISOString();
|
|
284
|
+
const budgets = [
|
|
285
|
+
[`practice:${day}:ask:${collectionId}:${submitter}`, config.PRACTICE_CHECK_LIMIT_ASK],
|
|
286
|
+
[`practice:${day}:submitter:${submitter}`, config.PRACTICE_CHECK_LIMIT_SUBMITTER],
|
|
287
|
+
[`practice:${day}:oracle`, config.PRACTICE_CHECK_LIMIT_ORACLE],
|
|
288
|
+
];
|
|
289
|
+
const used = await Promise.all(budgets.map(async ([key]) => Number(await kv.get(key)) || 0));
|
|
290
|
+
const left = budgets.map(([, max], i) => max - (used[i] ?? 0));
|
|
291
|
+
if (left.some((n) => n <= 0)) {
|
|
292
|
+
c.get("metrics").count("practice.limited", 1, {});
|
|
293
|
+
return { ok: false, retryAfter: Math.ceil((resetsAtMs - now) / 1000), resetsAt };
|
|
294
|
+
}
|
|
295
|
+
const expirationTtl = Math.ceil((resetsAtMs - now) / 1000) + 60;
|
|
296
|
+
await Promise.all(budgets.map(([key], i) => kv.put(key, String((used[i] ?? 0) + 1), { expirationTtl }).catch((err) => {
|
|
297
|
+
c.get("logger").warn("practice.limit.write-failed", { detail: String(err) });
|
|
298
|
+
})));
|
|
299
|
+
return { ok: true, remaining: Math.min(...left) - 1, resetsAt };
|
|
300
|
+
}
|
|
301
|
+
/** A check that could not run: say so, never a verdict. */
|
|
302
|
+
function cannotCheck(why, reason) {
|
|
303
|
+
return new AppError(`No practice answer: ${why}. Nothing was decided; try again later.`, {
|
|
304
|
+
code: "UNAVAILABLE",
|
|
305
|
+
status: 503,
|
|
306
|
+
expose: true,
|
|
307
|
+
details: { reason },
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
/** The engine or a check's service (the AI, Blocksync, a source) did not answer: 502 / 503. */
|
|
311
|
+
function unreachable(err) {
|
|
312
|
+
if (err instanceof EngineError) {
|
|
313
|
+
throw new AppError(`No practice answer: the decision engine did not answer (${err.code}). Nothing was decided; try again later.`, { code: "UNAVAILABLE", status: 502, expose: true, details: { engine: err.code }, cause: err });
|
|
314
|
+
}
|
|
315
|
+
if (err instanceof AppError && err.status === 503) {
|
|
316
|
+
throw new AppError("No practice answer: an automatic check could not run right now (the AI or another service did not answer). Nothing was decided; try again in a moment.", { code: "UNAVAILABLE", status: 503, expose: true, cause: err });
|
|
317
|
+
}
|
|
318
|
+
throw err;
|
|
319
|
+
}
|
|
320
|
+
//# sourceMappingURL=practice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"practice.js","sourceRoot":"","sources":["../../../src/routes/v1/practice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/workflows/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAaH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/workflows/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAaH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAoBxC,OAAO,EAAe,KAAK,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAmB1E,OAAO,EAAW,KAAK,UAAU,EAAa,MAAM,gBAAgB,CAAC;AAWrE,wGAAwG;AACxG,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAC9C,4FAA4F;AAC5F,eAAO,MAAM,UAAU,eAAe,CAAC;AAoBvC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;IAAK,EAAE;CAAU,CAAC;AAkDhD,MAAM,WAAW,eAAe;IAC9B,oGAAoG;IACpG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mGAAmG;IACnG,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAhC,YAA6B,GAAG,EAAE,SAAS,EAAI;IAE/C;;;OAGG;IACG,QAAQ,CACZ,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,cAAc,CAAC,CAkIzB;IAED;qEACiE;YACnD,IAAI;IAgBlB;;;;;OAKG;YACW,WAAW;IAsBzB;;;;;OAKG;YACW,UAAU;IA6CxB;;;OAGG;YACW,UAAU;IAyBxB,gFAAgF;YAClE,WAAW;IAgIzB,kGAAkG;YACpF,OAAO;IAgBrB;;;;;;;;;;;;;;;;;;OAkBG;YACW,eAAe;IA2D7B;;;;;;;;;;;OAWG;YACW,MAAM;IA6HpB;;;;;;OAMG;YACW,eAAe;IAmC7B;;;;;;;;OAQG;YACW,MAAM;IAoCpB,wGAAwG;YAC1F,GAAG;IAmBjB;;;;OAIG;YACW,aAAa;IAmI3B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAmBpB;;;;;;;;;OASG;YACW,YAAY;CAuC3B;AAYD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;CAAE,GACjE,OAAO,CAAC,aAAa,CAAC,CAyFxB"}
|
|
@@ -31,7 +31,8 @@ import { archiveAnswer } from "../lib/archive.js";
|
|
|
31
31
|
import { createEngineClient } from "../lib/engine/client.js";
|
|
32
32
|
import { EngineError, isManifestUnusable, } from "../lib/engine/types.js";
|
|
33
33
|
import { AppError } from "../lib/errors.js";
|
|
34
|
-
import { buildFacts
|
|
34
|
+
import { buildFacts } from "../lib/facts/builder.js";
|
|
35
|
+
import { factDeps } from "../lib/facts/deps.js";
|
|
35
36
|
import { factCacheDelete } from "../lib/facts/fact-cache.js";
|
|
36
37
|
import { factsDigest } from "../lib/facts/factset.js";
|
|
37
38
|
import { finalVerdictUpdate, registryVerdictToken } from "../lib/facts/stock/unique-store.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/workflows/evaluate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/workflows/evaluate.ts"],"names":[],"mappings":"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"}
|
package/docs/api.md
CHANGED
|
@@ -1670,6 +1670,8 @@ once deployed. Every value is validated by Zod at isolate start, so a bad env fa
|
|
|
1670
1670
|
| `AUTH_HUB_URL` | vars | per `IXO_NETWORK` (`https://dev.auth.ixo.earth`, `https://test.auth.ixo.earth`, `https://auth.ixo.earth`) | IXO AuthHub, the OAuth server of `/v1/mcp`: the protected-resource metadata's `authorization_servers`, the exact `iss` of an access token (its JWKS at `<url>/.well-known/jwks.json`), the approve link's host, and the one `did:web` (`did:web:<its host>`) the approvals back-channel accepts. Set it only for a local AuthHub. No trailing slash |
|
|
1671
1671
|
| `ORACLE_ADMIN_DIDS` | vars | unset | Comma-separated `did:ixo` admins of this oracle — the oracle's operator's own people — allowed on `GET /v1/admin/status` and `/v1/api/admin/*`. Unset ⇒ nobody |
|
|
1672
1672
|
| `STATUS_READER_DIDS` | vars | unset | Comma-separated DIDs of any method (`did:web:…`, `did:ixo:…`, each checked as `did:<method>:<id>`) allowed to read `GET /v1/admin/status` and nothing else — for a monitoring service, e.g. your decision engine's status board, identified by its DID. Kept apart from `ORACLE_ADMIN_DIDS` so a monitor is never made an operator. Unset ⇒ nobody |
|
|
1673
|
+
| `PRACTICE_CHECK_CALLERS` | vars | unset | Comma-separated DIDs of any method (each checked as `did:<method>:<id>`) allowed on `POST /v1/practice-check` — an app's server, e.g. asks.world's `did:web`, invoking with a UCAN `practice/check`. Unset ⇒ the route is off (`404`) |
|
|
1674
|
+
| `PRACTICE_CHECK_LIMIT_ASK` / `PRACTICE_CHECK_LIMIT_SUBMITTER` / `PRACTICE_CHECK_LIMIT_ORACLE` | vars | `5` / `30` / `500` | Practice checks per UTC day: per submitter per collection, per submitter across collections, and for the whole oracle (the cost backstop) |
|
|
1673
1675
|
| `SERVICE_ED25519_MNEMONIC` | secret | — | The `did:web` key: `sha256(mnemonic)` → Ed25519 seed. Signs every UCAN invocation you mint and backs `/.well-known/did.json` |
|
|
1674
1676
|
| `ORACLE_SECP_MNEMONIC` | secret | — | The chain account key (secp256k1) that signs `MsgEvaluateClaim`. **Unset ⇒ the chain-write lane logs one line and skips** — the decision itself is unaffected |
|
|
1675
1677
|
| `OWNER_DELEGATION_CAR` | secret | — | The oracle owner's UCAN delegation to the engine (base64 CAR), sent once at register so the engine can find and bill their subscription. Its issuer is the oracle's owner, who may not review (`oracle-owner`). **Unset ⇒ register refuses, loudly** |
|
|
@@ -1816,6 +1818,7 @@ check.**
|
|
|
1816
1818
|
| `GET /v1/oauth/standing/:grantId` | UCAN `oauth/standing/read`, AuthHub's `did:web` only, never `*` | A grant's auto-approve: `{ perClaimUpay, totalUpay, spentUpay, until }` (upay strings, unix seconds), never the delegation. `404` when there is none, it is revoked, `until` has passed, or `policies.allowStandingApprovals` is off |
|
|
1817
1819
|
| `PUT /v1/oauth/standing/:grantId` | UCAN `oauth/standing/set`, same | `403 FORBIDDEN` (`details.reason: standing_approvals_off`) unless `policies.allowStandingApprovals`. `{ did, delegation, perClaimUpay, totalUpay, until }` replaces it: the same delegation checks (`maxAmount` = `totalUpay`, expiration ≥ `until`); `did` must be the grant's user as this oracle has seen it (its standing, else an approval) — else `404`. `spentUpay` is never reset (the total is this auto-approve's total across every delegation): a total below it is `400 VALIDATION` (`details.reason: limits_invalid`), nothing changed |
|
|
1818
1820
|
| `DELETE /v1/oauth/standing/:grantId` | UCAN `oauth/standing/revoke`, same | `{ did }`: deletes it, delegation and all; `200` whether or not it existed; another user's `did` is `404` |
|
|
1821
|
+
| `POST /v1/practice-check` | UCAN `practice/check` (strict: never `*`) + `PRACTICE_CHECK_CALLERS` (`403` otherwise). Unset ⇒ the route is **off**: `404` to every authenticated caller | What this oracle **would** decide on a completion before it is handed in, for an app's server acting for its signed-in person (guide.md §11, "Practice checks"). Body `{ collectionId, submitter: "ixo1…", answers: {…}, attachments?: [{ question, name, mediaType, dataUrl }] }` (`dataUrl` a base64 `data:` URL; at most 20 files, a 10 MB body). Runs exactly the build a claim's evaluate step runs — this oracle's facts table, the real tools and AI, the collection's real window, `now` as the clock and `submitter` as the claim's agent (`ctx.claim.submitter` `did:ixo:<submitter>`, `submitterAddress` `<submitter>`) — then the engine's `POST /v1/decisions/preview`. **Nothing is persisted**: no claim, chain write, fee, grant, duplicate-registry row, review task, archive copy or email, and the engine bills nothing; the AI spend alone is recorded as a real check's is (`ai.tokens`, `ai_calls` under a `practice-<uuid>` claim id). Two fail-closed differences: the stock duplicate lane (which inserts before it reads) is the dry-run placeholder (band `review`, digest `preview:not-run`), so a rubric with a `unique` rule previews `review` at best (a provider's own `facts.unique` handler still runs); and the frequency count includes the would-be claim. `200 { outcome: "approve" \| "review" \| "reject", reasons: [{ code, outcome: "passed" \| "failed" \| "review", reason }], notes: string[], limits: { remaining, resetsAt } }` — `outcome` is the preview's verdict (`partial` reads `approve`, `pending_review` reads `review`); `reasons` has one entry per evaluated gate and criterion (skipped / not reached left out), `reason` being the pinned rubric's own sentence for the code (a `unique` / `frequency` gate: the rule's `label`), else the engine's reason line; on a held claim a failed gate whose rubric `onFail` is `review`, or an unevaluated gate, reads `review`; a criterion reads `passed` from 5000 bps. `notes`: a line when the duplicate check was not run, then — on `review`, when the oracle makes reviewer notes (`policies.reviewerNote`, on for an OpenHands checker) — the note a reviewer would see (`says`, then each `checkThese`), one more model call, stored nowhere. `limits` is the tightest of three per-UTC-day budgets: `PRACTICE_CHECK_LIMIT_ASK` (per submitter per collection), `PRACTICE_CHECK_LIMIT_SUBMITTER` (per submitter), `PRACTICE_CHECK_LIMIT_ORACLE` (the oracle) — counted in `CACHE_KV`, read-then-write, so concurrent calls may overrun by a few. `429 { error, retryAfter, limits: { remaining: 0, resetsAt } }` + `Retry-After` when any is spent; a refusal spends none. `400` bad input, `404` off or a collection this oracle does not watch, `502` the engine refused or failed, `503` an automatic check could not run (the AI, Blocksync, a source) or the rubric cannot be bound — never a verdict. Outside the `/v1/api` contract |
|
|
1819
1822
|
| `POST /v1/reviews/:claimId` | UCAN `reviews/submit` (never `*`) + **the reviewer gate** (below) — never the read gate: an evaluate grant alone does not answer | `{ answers: { taskId → boolean \| string }, attestation, reviewerGrant }` — the answers must cover **exactly** the pending tasks (all-or-nothing). `202` + the review row, and the `ReviewComplete` workflow spawns. Answered-once until folded: a re-POST before the fold replaces the answers and the grant and re-spawns (that is also how a `foldError` is cleared); after the fold it `409`s. With `CHAIN_LANE` `"false"` a chain claim's answer is still accepted and folded (the engine's review call; a per-review payer is charged) — only the signing is skipped |
|
|
1820
1823
|
|
|
1821
1824
|
**The oracle never deletes an organisation's claim data on its own** (owner, 2026-10-11; company
|
|
@@ -2408,7 +2411,7 @@ is reused only for the same action until 30 s before it expires.
|
|
|
2408
2411
|
| `GET /v1/oracles/me` | `oracle/me` | the billing cron, `/v1/admin/status`, `decision-oracle engine register` |
|
|
2409
2412
|
| `POST /v1/decisions` | `decision/decide` | the `evaluate` step |
|
|
2410
2413
|
| `GET /v1/decisions/:claimId` | `decision/read` | an `evaluate` retry |
|
|
2411
|
-
| `POST /v1/decisions/preview` | `decision/preview` | `decision-oracle facts run --preview` |
|
|
2414
|
+
| `POST /v1/decisions/preview` | `decision/preview` | `decision-oracle facts run --preview`, `POST /v1/practice-check` |
|
|
2412
2415
|
| `POST /v1/reviews/:claimId` | `review/submit` | the `ReviewComplete` fold |
|
|
2413
2416
|
| `GET /v1/collections/:id/agreements` | `agreement/read` | `tools.agreement()` |
|
|
2414
2417
|
| `GET /v1/receipts/:cid/report` | `receipt/report` | the Decision API's report route |
|