resonate-advanced-reasoning — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited resonate-advanced-reasoning (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The normative ground truth for promise lifecycle, handler semantics, and state transitions is the Resonate specification — an executable abstract machine in Lean 4:
spec/01-objects/state.lean (promise/task state), spec/02-actions/ (P-*.lean for promise handlers, T-*.lean for task handlers, S-*.lean for schedule handlers)When this skill and the spec diverge, the spec wins.
Use this skill to translate Resonate specification concepts into Resonate TypeScript SDK usage. Treat the spec as the mental model and the SDK as its concrete expression.
new Resonate(...).group + target).poll://any@<group> or poll://id@<group> targets.run, rpc, beginRun, or beginRpc.resonate.register("name", function* ...).ctx.run / ctx.beginRun.ctx.rpc / ctx.beginRpc with target options.ctx.promise() and resonate.promises.resolve/reject/cancel.resonate tree <id>.run or rpc.Spec: caller awaits a promise that is not yet resolved.
SDK:
ctx.rpc(...) or ctx.beginRpc(...).function* parent(ctx: Context, id: string) {
const child = yield* ctx.beginRpc(
"child",
id,
ctx.options({ target: "poll://any@workers" })
);
const result = yield* child; // eventual resumption
return result;
}Spec: caller awaits a promise already resolved.
SDK:
yield* ctx.run(...) returns stored result immediately.function* replayed(ctx: Context, id: string) {
const cached = yield* ctx.run(step, id); // returns stored value
return cached;
}Spec: interruption-transparent execution.
SDK:
yield* checkpoint writes a durable promise.function* durable(ctx: Context, id: string) {
const v1 = yield* ctx.run(step1, id);
const v2 = yield* ctx.run(step2, v1);
return v2;
}Spec: execution should be equivalent with or without interruptions.
SDK:
Date.now(), Math.random(), or crypto.randomUUID() directly inside durable generator code — these return different values on replay, breaking equivalence.// ✅ CORRECT — timestamp fixed at call site, stable on replay
await resonate.run("report/2024-01-15", generateReport, {
asOf: Date.now(), // captured once in the ephemeral world
seed: Math.random(), // ditto
});
function* generateReport(ctx: Context, { asOf, seed }: ReportInput) {
// asOf and seed are ordinary parameters — same value on every replay
const data = yield* ctx.run(fetchData, asOf);
return data;
}Spec: durable promises deduplicate re-invocation.
SDK:
await resonate.run("order/123", processOrder, "123");
await resonate.run("order/123", processOrder, "123"); // returns cached
await resonate.run("order/124", processOrder, "124"); // new executionSpec: locality defines whether an invocation stays in-process or crosses processes.
SDK:
ctx.run stays local.ctx.rpc crosses to another process group and resumes when resolved.function* workflow(ctx: Context, input: string) {
const local = yield* ctx.run(stepLocal, input);
const remote = yield* ctx.rpc(
"stepRemote",
local,
ctx.options({ target: "poll://any@workers" })
);
return remote;
}Spec: messages may be sent to a process or a group.
SDK:
poll://id@group target.poll://any@group to let the server route.const result = yield* ctx.rpc(
"task",
data,
ctx.options({ target: "poll://any@workers" })
);ctx.run or ctx.rpc)?resonate-basic-durable-world-usage-typescript for SDK usage patterns and hands-on TS authoring.resonate-basic-debugging-typescript for runtime diagnosis.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.