sitelooper 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/LICENSE +21 -0
- package/README.md +625 -0
- package/bin/sitelooper.js +6 -0
- package/dist/agent/llm.js +460 -0
- package/dist/agent/llm.js.map +1 -0
- package/dist/agent/loop.js +870 -0
- package/dist/agent/loop.js.map +1 -0
- package/dist/agent/prompt.js +40 -0
- package/dist/agent/prompt.js.map +1 -0
- package/dist/agent/report.js +545 -0
- package/dist/agent/report.js.map +1 -0
- package/dist/agent/tools.js +1147 -0
- package/dist/agent/tools.js.map +1 -0
- package/dist/cli.js +1692 -0
- package/dist/cli.js.map +1 -0
- package/dist/daemon/browser.js +218 -0
- package/dist/daemon/browser.js.map +1 -0
- package/dist/daemon/codegen.js +241 -0
- package/dist/daemon/codegen.js.map +1 -0
- package/dist/daemon/dialogs.js +57 -0
- package/dist/daemon/dialogs.js.map +1 -0
- package/dist/daemon/diff.js +198 -0
- package/dist/daemon/diff.js.map +1 -0
- package/dist/daemon/fingerprint.js +98 -0
- package/dist/daemon/fingerprint.js.map +1 -0
- package/dist/daemon/inputs.js +134 -0
- package/dist/daemon/inputs.js.map +1 -0
- package/dist/daemon/recorder.js +1232 -0
- package/dist/daemon/recorder.js.map +1 -0
- package/dist/daemon/refs.js +194 -0
- package/dist/daemon/refs.js.map +1 -0
- package/dist/daemon/server.js +1724 -0
- package/dist/daemon/server.js.map +1 -0
- package/dist/daemon/state.js +239 -0
- package/dist/daemon/state.js.map +1 -0
- package/dist/doctor.js +90 -0
- package/dist/doctor.js.map +1 -0
- package/dist/shared/paths.js +80 -0
- package/dist/shared/paths.js.map +1 -0
- package/dist/shared/protocol.js +28 -0
- package/dist/shared/protocol.js.map +1 -0
- package/dist/shared/secrets.js +92 -0
- package/dist/shared/secrets.js.map +1 -0
- package/dist/shared/text.js +39 -0
- package/dist/shared/text.js.map +1 -0
- package/dist/skills/compile.js +1420 -0
- package/dist/skills/compile.js.map +1 -0
- package/dist/skills/components.js +456 -0
- package/dist/skills/components.js.map +1 -0
- package/dist/skills/flow.js +1041 -0
- package/dist/skills/flow.js.map +1 -0
- package/dist/skills/learn.js +406 -0
- package/dist/skills/learn.js.map +1 -0
- package/dist/skills/ledger.js +304 -0
- package/dist/skills/ledger.js.map +1 -0
- package/dist/skills/relabel.js +206 -0
- package/dist/skills/relabel.js.map +1 -0
- package/dist/skills/repair.js +570 -0
- package/dist/skills/repair.js.map +1 -0
- package/dist/skills/replay.js +1281 -0
- package/dist/skills/replay.js.map +1 -0
- package/dist/skills/store.js +147 -0
- package/dist/skills/store.js.map +1 -0
- package/dist/spec/check.js +428 -0
- package/dist/spec/check.js.map +1 -0
- package/dist/spec/diagnostics.js +58 -0
- package/dist/spec/diagnostics.js.map +1 -0
- package/dist/spec/emit.js +2084 -0
- package/dist/spec/emit.js.map +1 -0
- package/dist/spec/index.js +62 -0
- package/dist/spec/index.js.map +1 -0
- package/dist/spec/ir.js +216 -0
- package/dist/spec/ir.js.map +1 -0
- package/dist/spec/lift.js +162 -0
- package/dist/spec/lift.js.map +1 -0
- package/dist/spec/locators.js +270 -0
- package/dist/spec/locators.js.map +1 -0
- package/dist/spec/lower.js +124 -0
- package/dist/spec/lower.js.map +1 -0
- package/dist/spec/repair.js +657 -0
- package/dist/spec/repair.js.map +1 -0
- package/dist/spec/rerecord.js +169 -0
- package/dist/spec/rerecord.js.map +1 -0
- package/dist/spec/rethread.js +120 -0
- package/dist/spec/rethread.js.map +1 -0
- package/package.json +50 -0
- package/skills/sitelooper/SKILL.md +228 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/skills/flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,406 @@
|
|
|
1
|
+
import { compileSkills, escapeRe, fillParams, sameProcedure, urlMatches } from './compile.js';
|
|
2
|
+
import { ComponentStore, learnRecipes } from './components.js';
|
|
3
|
+
import { identifierLike } from './ledger.js';
|
|
4
|
+
import { successRate } from './store.js';
|
|
5
|
+
/**
|
|
6
|
+
* Everything learning mode does once an instruction has finished: fold the
|
|
7
|
+
* replay outcome into the replayed skill, then — only on a successful report —
|
|
8
|
+
* compile the recording into a new skill, a variant, or a stat bump on one
|
|
9
|
+
* that already exists.
|
|
10
|
+
*/
|
|
11
|
+
export function learnFromInstruction(store, input) {
|
|
12
|
+
const out = {};
|
|
13
|
+
const sk = input.result.skill;
|
|
14
|
+
const succeeded = input.result.report.status === 'success';
|
|
15
|
+
if (sk?.invoked && !sk.refused) {
|
|
16
|
+
const ok = sk.stepsReplayed === sk.stepsTotal;
|
|
17
|
+
const updated = store.recordOutcome(sk.invoked, { ok, failedAt: ok ? undefined : sk.stepsReplayed + 1, fallthroughs: sk.fallthroughs, instructionSucceeded: succeeded }, input.now);
|
|
18
|
+
if (updated) {
|
|
19
|
+
out.outcome = { skill: updated.id, status: updated.status, ok };
|
|
20
|
+
if (updated.status === 'validated' && updated.variantOf) {
|
|
21
|
+
store.supersede(updated.variantOf);
|
|
22
|
+
out.superseded = updated.variantOf;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (!succeeded)
|
|
27
|
+
return Object.keys(out).length ? out : null;
|
|
28
|
+
// Component recipes (PLAN-component-recipes): a successful agent-driven
|
|
29
|
+
// interaction with a recognized widget teaches a cross-app recipe,
|
|
30
|
+
// regardless of what happens to the skill-level compile below.
|
|
31
|
+
try {
|
|
32
|
+
const recipes = learnRecipes(new ComponentStore(), input.entries, input.instruction, input.session, input.now);
|
|
33
|
+
if (recipes.length)
|
|
34
|
+
out.recipes = recipes;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// recipe learning must never break instruction learning
|
|
38
|
+
}
|
|
39
|
+
// A clean full replay has nothing new to teach; a repair does.
|
|
40
|
+
const fullReplay = sk?.invoked && !sk.refused && sk.stepsReplayed === sk.stepsTotal;
|
|
41
|
+
if (fullReplay)
|
|
42
|
+
return Object.keys(out).length ? out : null;
|
|
43
|
+
const variantOf = sk?.invoked && !sk.refused && sk.stepsReplayed < sk.stepsTotal ? sk.invoked : undefined;
|
|
44
|
+
const skills = compileSkills({
|
|
45
|
+
entries: input.entries,
|
|
46
|
+
instruction: input.instruction,
|
|
47
|
+
report: input.result.report,
|
|
48
|
+
session: input.session,
|
|
49
|
+
model: input.model,
|
|
50
|
+
now: input.now,
|
|
51
|
+
variantOf,
|
|
52
|
+
knownValues: input.vars,
|
|
53
|
+
});
|
|
54
|
+
if (!skills.length)
|
|
55
|
+
return Object.keys(out).length ? out : null;
|
|
56
|
+
const existing = store.list(skills[0].origin);
|
|
57
|
+
if (!variantOf) {
|
|
58
|
+
// A twin is an existing skill with this recording's shape at the same
|
|
59
|
+
// chain position. Merge only when EVERY segment has a twin and the twins
|
|
60
|
+
// all belong to one chain — otherwise the store would end up with
|
|
61
|
+
// half-shared chains that replay cannot compose.
|
|
62
|
+
const twins = skills.map((sk) => existing.find((s) => s.status !== 'demoted' &&
|
|
63
|
+
(s.seq?.index ?? 0) === (sk.seq?.index ?? 0) &&
|
|
64
|
+
(s.seq?.of ?? 1) === (sk.seq?.of ?? 1) &&
|
|
65
|
+
(s.template === sk.template || sameProcedure(s, sk))));
|
|
66
|
+
if (twins.every(Boolean) && new Set(twins.map((t) => t.seq?.chain ?? t.id)).size === 1) {
|
|
67
|
+
for (const twin of twins) {
|
|
68
|
+
twin.stats.uses += 1;
|
|
69
|
+
twin.stats.successes += 1;
|
|
70
|
+
twin.stats.lastUsed = skills[0].provenance.created;
|
|
71
|
+
if (twin.status === 'provisional' && twin.stats.successes >= 2)
|
|
72
|
+
twin.status = 'validated';
|
|
73
|
+
store.put(twin);
|
|
74
|
+
}
|
|
75
|
+
out.merged = twins[0].id;
|
|
76
|
+
return out;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
for (const sk of skills)
|
|
80
|
+
store.put(sk);
|
|
81
|
+
out.compiled = skills[0].id;
|
|
82
|
+
if (skills.length > 1)
|
|
83
|
+
out.compiledAll = skills.map((s) => s.id);
|
|
84
|
+
if (variantOf)
|
|
85
|
+
out.variantOf = variantOf;
|
|
86
|
+
return out;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Zero-model match: a validated skill whose template, read as a pattern,
|
|
90
|
+
* matches the incoming instruction exactly (modulo case, whitespace and quote
|
|
91
|
+
* style), and whose start page is the current one. Returns the bound params.
|
|
92
|
+
*/
|
|
93
|
+
export function matchTemplate(skills, instruction, url, known = {}) {
|
|
94
|
+
for (const skill of skills) {
|
|
95
|
+
if (skill.status !== 'validated')
|
|
96
|
+
continue;
|
|
97
|
+
if (skill.seq && skill.seq.index > 0)
|
|
98
|
+
continue; // chains start at their head
|
|
99
|
+
if (!urlMatches(skill.preconditions.urlPattern, url))
|
|
100
|
+
continue;
|
|
101
|
+
const params = bindSkill(skill, instruction, known);
|
|
102
|
+
if (params)
|
|
103
|
+
return { skill, params };
|
|
104
|
+
}
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The skills a flow step should try for its procedure, best track record
|
|
109
|
+
* first. The step's pinned skill is a HINT that defines the family (its
|
|
110
|
+
* template and its procedure shape), never an authority: candidates are every
|
|
111
|
+
* non-demoted skill in the store that either binds the instruction directly
|
|
112
|
+
* or shares the hint's procedure, ordered validated-first, then by success
|
|
113
|
+
* rate, then by experience. Selection by record is what stops one bad pin —
|
|
114
|
+
* e.g. a fragile provisional from a single model recovery — from dominating
|
|
115
|
+
* the step run after run.
|
|
116
|
+
*/
|
|
117
|
+
export function selectCandidates(skills, hintId, instruction, hintParams, known = {}) {
|
|
118
|
+
const hint = hintId ? skills.find((s) => s.id === hintId) : undefined;
|
|
119
|
+
const pinned = hintParams && Object.keys(hintParams).length ? hintParams : undefined;
|
|
120
|
+
const out = [];
|
|
121
|
+
for (const s of skills) {
|
|
122
|
+
if (s.status === 'demoted')
|
|
123
|
+
continue;
|
|
124
|
+
if (s.seq && s.seq.index > 0)
|
|
125
|
+
continue; // chains start at their head
|
|
126
|
+
// The flow's stored bindings are authoritative for the pinned skill; a
|
|
127
|
+
// sibling binds from the instruction text, or inherits the pinned
|
|
128
|
+
// bindings when it shares the hint's procedure and its slots all resolve.
|
|
129
|
+
let params = null;
|
|
130
|
+
if (s.id === hintId && pinned)
|
|
131
|
+
params = pinned;
|
|
132
|
+
else
|
|
133
|
+
params = bindSkill(s, instruction, known);
|
|
134
|
+
if (!params && pinned && hint && (s.template === hint.template || sameProcedure(s, hint)) && Object.keys(s.params).every((p) => pinned[p])) {
|
|
135
|
+
params = pinned;
|
|
136
|
+
}
|
|
137
|
+
if (!params)
|
|
138
|
+
continue;
|
|
139
|
+
out.push({ skill: s, params });
|
|
140
|
+
}
|
|
141
|
+
return out.sort((a, b) => {
|
|
142
|
+
const rank = (s) => (s.status === 'validated' ? 1 : 0);
|
|
143
|
+
return (rank(b.skill) - rank(a.skill) ||
|
|
144
|
+
successRate(b.skill) - successRate(a.skill) ||
|
|
145
|
+
b.skill.stats.uses - a.skill.stats.uses ||
|
|
146
|
+
(b.skill.stats.lastUsed ?? '').localeCompare(a.skill.stats.lastUsed ?? ''));
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Bind a specific skill's {{vN}} slots from an instruction by reading its
|
|
151
|
+
* template as a pattern. Used by flow replay, where the skill is already
|
|
152
|
+
* chosen (pinned), so its status and the page are the flow's concern, not this
|
|
153
|
+
* function's. Returns null unless every slot binds.
|
|
154
|
+
*/
|
|
155
|
+
export function bindSkill(skill, instruction, known = {}) {
|
|
156
|
+
const names = [];
|
|
157
|
+
const pattern = escapeRe(squash(skill.template)).replace(/\\\{\\\{(v\d+)\\\}\\\}/g, (_m, name) => {
|
|
158
|
+
names.push(name);
|
|
159
|
+
return '(.+?)';
|
|
160
|
+
});
|
|
161
|
+
const m = new RegExp(`^${pattern}$`, 'i').exec(squash(instruction));
|
|
162
|
+
if (!m)
|
|
163
|
+
return null;
|
|
164
|
+
const params = {};
|
|
165
|
+
names.forEach((n, i) => (params[n] = m[i + 1].trim()));
|
|
166
|
+
// A param the template cannot supply binds to its ORIGIN instead: the value
|
|
167
|
+
// came from an earlier instruction, so this run resolves its own from the
|
|
168
|
+
// same place rather than the skill carrying the recorded literal.
|
|
169
|
+
for (const [n, p] of Object.entries(skill.params)) {
|
|
170
|
+
if (params[n] || !p.binding)
|
|
171
|
+
continue;
|
|
172
|
+
const value = known[p.binding];
|
|
173
|
+
if (value)
|
|
174
|
+
params[n] = value;
|
|
175
|
+
}
|
|
176
|
+
return Object.keys(skill.params).every((n) => params[n]) ? params : null;
|
|
177
|
+
}
|
|
178
|
+
function squash(text) {
|
|
179
|
+
return text.replace(/[“”"]/g, "'").replace(/\s+/g, ' ').trim();
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* A report for a zero-model replay. A value is trustworthy only if it came
|
|
183
|
+
* from this run — either a live read-back, or a slot filled from the caller's
|
|
184
|
+
* own parameters. A recorded literal (the ticket id "RD-1017" from the run
|
|
185
|
+
* that made the skill) is stale on any later run, so it is dropped, never
|
|
186
|
+
* reported from memory; the same stale substrings are struck from the summary.
|
|
187
|
+
* This is the honesty rule the scref3 fabrication made load-bearing, applied
|
|
188
|
+
* to the model-free path.
|
|
189
|
+
*/
|
|
190
|
+
const MIN_STALE_LEN = 4;
|
|
191
|
+
export function synthesizeReport(skill, params, liveValues) {
|
|
192
|
+
const template = skill.reportTemplate ?? { summary: '', values: {} };
|
|
193
|
+
const values = {};
|
|
194
|
+
const stale = [];
|
|
195
|
+
for (const [k, v] of Object.entries(template.values)) {
|
|
196
|
+
if (k in liveValues)
|
|
197
|
+
continue; // a live read wins outright, below
|
|
198
|
+
const filled = fillParams(v, params);
|
|
199
|
+
// Kept only if every part of it came from a parameter: no residual literal.
|
|
200
|
+
if (/\{\{v\d+\}\}/.test(v) && !/\{\{v\d+\}\}/.test(filled))
|
|
201
|
+
values[k] = filled;
|
|
202
|
+
else
|
|
203
|
+
stale.push(v);
|
|
204
|
+
}
|
|
205
|
+
for (const [k, live] of Object.entries(liveValues))
|
|
206
|
+
values[k] = live;
|
|
207
|
+
let summary = fillParams(template.summary, params);
|
|
208
|
+
for (const [k, live] of Object.entries(liveValues)) {
|
|
209
|
+
const recorded = template.values[k];
|
|
210
|
+
const old = recorded ? fillParams(recorded, params) : undefined;
|
|
211
|
+
if (old && old !== live)
|
|
212
|
+
summary = summary.split(old).join(live);
|
|
213
|
+
}
|
|
214
|
+
// Strip stale recorded literals from the prose so the summary cannot state a
|
|
215
|
+
// value this run did not observe.
|
|
216
|
+
//
|
|
217
|
+
// Containment is compared LOOSELY. fwrd19l stored the same validation
|
|
218
|
+
// message twice — once in the summary keeping the app's "-" bullets, once
|
|
219
|
+
// in values with them collapsed by whitespace normalisation — and an exact
|
|
220
|
+
// substring test missed by that one character, publishing the recording
|
|
221
|
+
// run's part names as this run's finding.
|
|
222
|
+
const loose = (t) => t.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();
|
|
223
|
+
const hay = loose(summary);
|
|
224
|
+
const fromParams = Object.values(params).map(loose).join(' ');
|
|
225
|
+
const dropped = stale.some((v) => loose(v).length >= MIN_STALE_LEN && hay.includes(loose(v))) ||
|
|
226
|
+
// A param's `example` IS the recording run's value. If one survives in the
|
|
227
|
+
// prose while this run bound something else to that param, the sentence is
|
|
228
|
+
// describing the wrong record however well the rest of it filled.
|
|
229
|
+
Object.entries(skill.params).some(([n, p]) => {
|
|
230
|
+
const example = String(p.example ?? '');
|
|
231
|
+
return example.length >= MIN_STALE_LEN && params[n] !== example && hay.includes(loose(example));
|
|
232
|
+
}) ||
|
|
233
|
+
// A replay that re-observed NOTHING cannot vouch for a sentence naming
|
|
234
|
+
// specifics. Both rules above need something to compare against — a stale
|
|
235
|
+
// template value, or a param whose example survived — and fwod12's steps
|
|
236
|
+
// 03-06 had neither: no labelled reads, no matching param. So they
|
|
237
|
+
// republished the recording's own narrative verbatim,
|
|
238
|
+
// "Added a second order line to S00021 and saved."
|
|
239
|
+
// as this run's finding, while publishing {} as their values. The run had
|
|
240
|
+
// created S00023.
|
|
241
|
+
//
|
|
242
|
+
// An identifier the prose names that no parameter supplied is a claim
|
|
243
|
+
// about the world made by a replay that looked at nothing.
|
|
244
|
+
(!Object.keys(liveValues).length &&
|
|
245
|
+
(summary.match(/[A-Za-z0-9][A-Za-z0-9._-]*/g) ?? []).some((tok) => identifierLike(tok) && !fromParams.includes(loose(tok))));
|
|
246
|
+
const clean = dropped
|
|
247
|
+
? `Replayed stored procedure ${skill.id}${Object.keys(values).length ? `; observed ${Object.entries(values).map(([k, v]) => `${k}=${v}`).join(', ')}` : ''}.`
|
|
248
|
+
: summary;
|
|
249
|
+
return {
|
|
250
|
+
status: 'success',
|
|
251
|
+
summary: clean || `Replayed stored procedure ${skill.id} (${skill.steps.length} steps).`,
|
|
252
|
+
details: `Replayed stored procedure ${skill.id} without the model. Reported values are live read-backs or your own parameters; ${stale.length ? `${stale.length} recorded value(s) that could not be re-observed were omitted` : 'no stale values were carried over'}.`,
|
|
253
|
+
evidence: { values },
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Which report-value names a tier-A (zero-model) replay of this skill
|
|
258
|
+
* re-publishes deterministically: labelled reads (re-read live from the page)
|
|
259
|
+
* and report-template values derived from the caller's own {{vN}} params
|
|
260
|
+
* (synthesizeReport keeps exactly those; recorded literals are dropped as
|
|
261
|
+
* stale). Used by the flow export lint to flag {{step.output}} references
|
|
262
|
+
* that only model recovery could re-observe.
|
|
263
|
+
*/
|
|
264
|
+
export function publishedOutputs(skill) {
|
|
265
|
+
const out = new Set();
|
|
266
|
+
const walk = (steps) => {
|
|
267
|
+
for (const s of steps) {
|
|
268
|
+
if ((s.tool === 'read' || s.tool === 'read_all') && s.label)
|
|
269
|
+
out.add(s.label);
|
|
270
|
+
if (s.body)
|
|
271
|
+
walk(s.body);
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
walk(skill.steps);
|
|
275
|
+
for (const [k, v] of Object.entries(skill.reportTemplate?.values ?? {})) {
|
|
276
|
+
if (/\{\{v\d+\}\}/.test(v))
|
|
277
|
+
out.add(k);
|
|
278
|
+
}
|
|
279
|
+
return [...out];
|
|
280
|
+
}
|
|
281
|
+
/** Tools that CHANGE the app, as opposed to observing it. */
|
|
282
|
+
const MUTATING = new Set(['click', 'dblclick', 'right_click', 'modifier_click', 'fill', 'type', 'press', 'select', 'check', 'drag', 'upload']);
|
|
283
|
+
/**
|
|
284
|
+
* How many state-changing steps the MODEL drove in a recovery, beyond what a
|
|
285
|
+
* stored skill replayed — the measure of whether that skill did this step's
|
|
286
|
+
* work or merely ran somewhere inside it. rpgr3-r1 invoked s_567dd1 during a
|
|
287
|
+
* 41-turn 03-add recovery; the skill replayed fully, validated, and was
|
|
288
|
+
* re-pinned — but the model had done 30-odd clicks after it to actually
|
|
289
|
+
* finish, so on the next run the pinned skill alone left the panel unmade.
|
|
290
|
+
* A recovery the skill carried on its own has (near) none of these.
|
|
291
|
+
*/
|
|
292
|
+
export function agentGesturesOutsideReplay(entries) {
|
|
293
|
+
let n = 0;
|
|
294
|
+
for (const e of entries)
|
|
295
|
+
if (e.k === 'step' && !e.via && MUTATING.has(e.tool))
|
|
296
|
+
n++;
|
|
297
|
+
return n;
|
|
298
|
+
}
|
|
299
|
+
/** The most model-driven gestures a recovery may contain and still hand its replayed skill the pin. */
|
|
300
|
+
export const MAX_STRAY_GESTURES_FOR_PIN = 2;
|
|
301
|
+
/**
|
|
302
|
+
* Does this skill's procedure CHANGE anything, anywhere in it (loop bodies
|
|
303
|
+
* included)? The one question that separates "a procedure that does this
|
|
304
|
+
* step's work" from "a procedure that merely resolves on this step's page" —
|
|
305
|
+
* see `canAdoptPin` for why that distinction is the most important gate in
|
|
306
|
+
* the store, and `spec/repair.ts` for the repair-time diagnostic that reports
|
|
307
|
+
* a step which only passes because a READ-ONLY skill covered a mutating pin.
|
|
308
|
+
*/
|
|
309
|
+
export function mutates(store, id) {
|
|
310
|
+
const skill = id ? store.get(id) : null;
|
|
311
|
+
if (!skill)
|
|
312
|
+
return false;
|
|
313
|
+
const walk = (steps) => steps.some((s) => MUTATING.has(s.tool) || (s.body ? walk(s.body) : false));
|
|
314
|
+
return walk(skill.steps);
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* May a flow step move its pin to `next`? Adoption is already gated on the
|
|
318
|
+
* skill being validated and having just replayed cleanly; these two say the
|
|
319
|
+
* candidate is about THIS STEP'S WORK, not merely a procedure that resolves
|
|
320
|
+
* on this page.
|
|
321
|
+
*
|
|
322
|
+
* fwrd14l-n2 is why. Step 08 (create a scratch ticket) and step 09 (delete
|
|
323
|
+
* both parts) were re-pinned to s_0b2413 — step 07's READ-ONLY skill, which
|
|
324
|
+
* was validated and matched the same detail page. The rewritten flow went to
|
|
325
|
+
* disk; n3 inherited it, replayed 07's read chain for all three steps,
|
|
326
|
+
* changed NOTHING, reported success three times, and halted at step 10 on a
|
|
327
|
+
* scratch ticket that never existed. A replay that reports success having
|
|
328
|
+
* done nothing is the worst failure this system has, so:
|
|
329
|
+
*
|
|
330
|
+
* 1. A skill another step of the flow already owns is that step's procedure.
|
|
331
|
+
* Two steps are two different instructions; one skill cannot be both.
|
|
332
|
+
* 2. A read-only skill never replaces one that mutates. Reads resolve on any
|
|
333
|
+
* plausible page, which is exactly why this swap looks like success.
|
|
334
|
+
*/
|
|
335
|
+
export function canAdoptPin(store, steps, stepId, current, next,
|
|
336
|
+
/**
|
|
337
|
+
* What the step's own instruction asks for, when the caller knows it. A
|
|
338
|
+
* step that asks to change something must never settle for a procedure
|
|
339
|
+
* that reads — even when it has no pin yet to compare against, which is
|
|
340
|
+
* the gap rule 2 alone leaves open.
|
|
341
|
+
*/
|
|
342
|
+
intent = null) {
|
|
343
|
+
const nextMutates = mutates(store, next);
|
|
344
|
+
// Rule 1, narrowed: a MUTATING procedure is one step's work and one step's
|
|
345
|
+
// only. A read-only procedure is a way of looking at a page, and two steps
|
|
346
|
+
// that look at the same page the same way may share it — fwod34r's 08-open
|
|
347
|
+
// ("open the order, report its status") replayed 07-open's validated status
|
|
348
|
+
// read at tier B on five straight runs and could not keep it, because the
|
|
349
|
+
// unnarrowed rule refused to let a second step own it.
|
|
350
|
+
if (nextMutates && steps.some((s) => s.id !== stepId && s.skill === next))
|
|
351
|
+
return false;
|
|
352
|
+
if (intent === 'mutating' && !nextMutates)
|
|
353
|
+
return false;
|
|
354
|
+
return !(mutates(store, current) && !nextMutates);
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Where a flow step's pin goes after this run, if anywhere. Pure: every gate
|
|
358
|
+
* the verdict rests on arrives as a fact, so the whole decision is one
|
|
359
|
+
* readable function instead of a chain of conditions inside the flow runner.
|
|
360
|
+
*
|
|
361
|
+
* Lifecycle-gated adoption: the pin only ever moves to a skill that is
|
|
362
|
+
* VALIDATED and has just replayed this step cleanly. A skill compiled from a
|
|
363
|
+
* single model recovery enters the store provisional and must EARN the pin by
|
|
364
|
+
* validating across runs — flow5 showed that force-pinning such a skill
|
|
365
|
+
* (usually MORE fragile than the clean original) makes the zero-model
|
|
366
|
+
* fraction non-monotone: fail, recover, re-pin another provisional, churn.
|
|
367
|
+
*
|
|
368
|
+
* The one exception is an ADOPTED step: its incumbent (if any) is a partial
|
|
369
|
+
* compiled from a non-success recording — scaffolding, strictly worse than a
|
|
370
|
+
* recovery that just completed the whole step (rpod1's 01-open replayed 1/2
|
|
371
|
+
* then paid ~90 turns of recovery on EVERY replay). So on the first clean
|
|
372
|
+
* recovery the recovery skill is pinned, provisional or not, and the step
|
|
373
|
+
* graduates to an ordinary one.
|
|
374
|
+
*
|
|
375
|
+
* `stray` is the model-driven gesture count outside the skill replay: a skill
|
|
376
|
+
* that ran inside a recovery the model then finished by hand did not carry
|
|
377
|
+
* the step, and pinning it would replay the same shortfall. `adoptable` is
|
|
378
|
+
* canAdoptPin's verdict (never steal another step's skill, never demote a
|
|
379
|
+
* mutating step to a read-only one).
|
|
380
|
+
*/
|
|
381
|
+
export function decideRepin(input) {
|
|
382
|
+
const { step, outcome } = input;
|
|
383
|
+
if (!outcome?.ok || outcome.skill === step.skill)
|
|
384
|
+
return null;
|
|
385
|
+
if (input.stray > MAX_STRAY_GESTURES_FOR_PIN) {
|
|
386
|
+
return { refused: `not re-pinning ${outcome.skill} — the model drove ${input.stray} gesture(s) beyond its replay, so it did not carry the step` };
|
|
387
|
+
}
|
|
388
|
+
if (input.mintedLeaks?.length) {
|
|
389
|
+
return { refused: `not re-pinning ${outcome.skill} — its navigation carries an identifier this run made (${input.mintedLeaks.slice(0, 3).join(', ')}), so it would replay onto this run's record` };
|
|
390
|
+
}
|
|
391
|
+
if (input.reportStatus !== 'success' || !input.adoptable)
|
|
392
|
+
return null;
|
|
393
|
+
// An adopted step graduates on its first clean recovery whatever the
|
|
394
|
+
// candidate's status: it now owns a skill that completed it, and keeping
|
|
395
|
+
// the flag would leave a pinned step on the model-first route (the local
|
|
396
|
+
// re-record of odoo 08-open onto validated s_04d970 kept `adopted: true`).
|
|
397
|
+
if (outcome.status === 'validated')
|
|
398
|
+
return { skill: outcome.skill, graduated: Boolean(step.adopted) };
|
|
399
|
+
if (step.adopted)
|
|
400
|
+
return { skill: outcome.skill, graduated: true };
|
|
401
|
+
return null;
|
|
402
|
+
}
|
|
403
|
+
export function instructionEntry(entries) {
|
|
404
|
+
return entries.find((e) => e.k === 'instruction');
|
|
405
|
+
}
|
|
406
|
+
//# sourceMappingURL=learn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learn.js","sourceRoot":"","sources":["../../src/skills/learn.ts"],"names":[],"mappings":"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"}
|