omo-ai 5.1.21 → 5.1.23
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/bin/lib/provider-map.json +1 -1
- package/package.json +2 -2
- package/plugin/CHANGELOG.md +40 -0
- package/plugin/extensions/dream-persona.md +13 -1
- package/plugin/extensions/gateway-rules-extension.mjs +1 -1
- package/plugin/extensions/gateway-store-worker.mjs +1 -1
- package/plugin/extensions/memory-run-supervisor.mjs +2 -2
- package/plugin/extensions/omo-computer-use.js +1 -1
- package/plugin/extensions/omo-init-deep-advisor.js +1 -1
- package/plugin/extensions/omo-member.js +2 -2
- package/plugin/extensions/omo-memory-doctor.js +2 -2
- package/plugin/extensions/omo-memory-memfs.js +2 -2
- package/plugin/extensions/omo-task.js +2 -2
- package/plugin/extensions/omo.js +2 -2
- package/plugin/package.json +1 -1
- package/plugin/runtime/agent-toolkit-sdk/sdk.js +2 -2
- package/plugin/runtime/ast-grep-mcp/manifest.json +1 -1
- package/plugin/runtime/category-coverage/index.js +2 -2
- package/plugin/runtime/rollback-migrate.js +2 -2
- package/plugin/runtime/task-config/index.js +1 -1
- package/plugin/runtime/thread-sdk/sdk.js +2 -2
- package/plugin/scripts/install.mjs +2 -0
- package/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
- package/plugin/skills/ultrawork/SKILL.md +22 -0
- package/plugin/skills/ultrawork/references/astra-variant.md +65 -0
|
@@ -299,6 +299,8 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
|
|
|
299
299
|
...PERSONA_ASSET_FILES.map((filename) => join4("extensions", filename)),
|
|
300
300
|
join4("skills", "ast-grep", "SKILL.md"),
|
|
301
301
|
join4("skills", "browser", "SKILL.md"),
|
|
302
|
+
join4("skills", "browser", "runtime", "omowright", "index.js"),
|
|
303
|
+
join4("skills", "browser", "runtime", "omowright", "page-bundle.js"),
|
|
302
304
|
join4("skills", "coding-agent-sessions", "SKILL.md"),
|
|
303
305
|
join4("skills", "debugging", "SKILL.md"),
|
|
304
306
|
join4("skills", "frontend", "SKILL.md"),
|
|
@@ -40,10 +40,12 @@ concurrency, transaction boundaries, or cache invalidation; a
|
|
|
40
40
|
refactor crossing domain boundaries; or the user signaled care
|
|
41
41
|
("carefully", "thoroughly", "design first") or demanded review of
|
|
42
42
|
this session's work.
|
|
43
|
+
<!-- omo-ultrawork-astra:tier-unsure:start -->
|
|
43
44
|
When unsure, take HEAVY. If a HEAVY fact surfaces mid-task, upgrade
|
|
44
45
|
immediately and redo whatever the LIGHT path skipped; never downgrade
|
|
45
46
|
mid-task. The tier sizes process, never honesty: both tiers capture
|
|
46
47
|
evidence, record cleanup receipts, and obey the never-suppress rules.
|
|
48
|
+
<!-- omo-ultrawork-astra:tier-unsure:end -->
|
|
47
49
|
|
|
48
50
|
LIGHT — the deliverable follows a known pattern with no open design
|
|
49
51
|
decisions (one-spot bugfix, an endpoint following an existing
|
|
@@ -129,6 +131,7 @@ Boulder plus `.omo/ulw-execute/ledger.jsonl`), and its checklist is
|
|
|
129
131
|
the plan.
|
|
130
132
|
|
|
131
133
|
## 0. Survey the skills, gather context, then size the work
|
|
134
|
+
<!-- omo-ultrawork-astra:skill-survey:start -->
|
|
132
135
|
First, survey the loaded skill list and read the description of each
|
|
133
136
|
loosely relevant skill. Decide explicitly which skills this task will
|
|
134
137
|
use and prefer using every genuinely applicable one — name them in the
|
|
@@ -136,6 +139,7 @@ notepad with a one-line reason each. Skipping a skill that fits the
|
|
|
136
139
|
task is a defect. Open a skill's body only when THIS session will
|
|
137
140
|
execute its workflow; skills a delegated session needs are named in
|
|
138
141
|
its prompt and read there, not here.
|
|
142
|
+
<!-- omo-ultrawork-astra:skill-survey:end -->
|
|
139
143
|
Next, fire the first discovery wave under Finding things below — one
|
|
140
144
|
eval cell, with parallel lookups covering the code, git history of paths
|
|
141
145
|
to touch, memory, and prior session evidence. Record the current problem,
|
|
@@ -317,12 +321,15 @@ side effects.
|
|
|
317
321
|
# Execution loop (READ → CHANGE → RUN → CLEAN)
|
|
318
322
|
Until every success criterion PASSES with its evidence captured:
|
|
319
323
|
1. Pick next criterion → mark in_progress → update notepad `## Now`.
|
|
324
|
+
<!-- omo-ultrawork-astra:read-step:start -->
|
|
320
325
|
2. READ what already proves the area BEFORE touching it. Existing
|
|
321
326
|
tests are the behavior of record: note in the notepad whether they
|
|
322
327
|
encode the intended behavior, cover the path you change, and pass.
|
|
323
328
|
One WRONG before your change is a FINDING to report — NEVER edit a
|
|
324
329
|
test green. A bug: reproduce it first and capture the failure. A
|
|
325
330
|
refactor: the existing tests are green on the unchanged code first.
|
|
331
|
+
<!-- omo-ultrawork-astra:read-step:end -->
|
|
332
|
+
<!-- omo-ultrawork-astra:change-step:start -->
|
|
326
333
|
3. CHANGE: the SMALLEST production change that meets the criterion;
|
|
327
334
|
update the tests your change makes stale. Add a test ONLY when
|
|
328
335
|
BOTH hold: the repository keeps tests for this behavior AND a
|
|
@@ -339,10 +346,14 @@ Until every success criterion PASSES with its evidence captured:
|
|
|
339
346
|
`toBe` equality between shipped copies; otherwise review + QA-by-read,
|
|
340
347
|
NO test. Before a change that depends on review, PR, issue, or
|
|
341
348
|
branch state, refresh that state and preserve existing ordering/policy.
|
|
349
|
+
<!-- omo-ultrawork-astra:change-step:end -->
|
|
350
|
+
<!-- omo-ultrawork-astra:run-step:start -->
|
|
342
351
|
4. RUN: the real-surface scenario the criterion named (channel table
|
|
343
352
|
above; auxiliary surface for CLI- or data-shaped criteria), end to
|
|
344
353
|
end, yourself, plus the step-2 tests; a reproduction now passes.
|
|
345
354
|
Paste the artifact path into the notepad.
|
|
355
|
+
<!-- omo-ultrawork-astra:run-step:end -->
|
|
356
|
+
<!-- omo-ultrawork-astra:cleanup-step:start -->
|
|
346
357
|
5. CLEANUP (PAIRED — NEVER SKIP): the moment a QA scenario spawns any
|
|
347
358
|
resource, register its teardown as its own todo (e.g.
|
|
348
359
|
`cleanup: kill server pid for criterion 2 — verify kill -0 fails`).
|
|
@@ -356,9 +367,11 @@ Until every success criterion PASSES with its evidence captured:
|
|
|
356
367
|
vars. Append a one-line cleanup receipt to the notepad next to the
|
|
357
368
|
artifact, e.g. `cleanup: killed 12345; tmux kill-session ulw-qa-foo;
|
|
358
369
|
rm -rf /tmp/ulw.aB12cD`. No receipt → criterion stays in_progress.
|
|
370
|
+
<!-- omo-ultrawork-astra:cleanup-step:end -->
|
|
359
371
|
6. Verify: LSP diagnostics clean on changed files; no test skipped or
|
|
360
372
|
xfail-ed this turn.
|
|
361
373
|
7. Mark completed. Append non-obvious findings / learnings.
|
|
374
|
+
<!-- omo-ultrawork-astra:evidence-step:start -->
|
|
362
375
|
8. Evidence stays valid per target until an input changes; record with
|
|
363
376
|
each artifact the commit and what it exercised. After each increment
|
|
364
377
|
rerun what moved — the tests of every touched file and of the files
|
|
@@ -367,6 +380,7 @@ Until every success criterion PASSES with its evidence captured:
|
|
|
367
380
|
rest. The full set (scenarios, suite, typecheck, build) runs once
|
|
368
381
|
more right before the final message. Record PASS/FAIL beside each
|
|
369
382
|
artifact. Loop until all PASS.
|
|
383
|
+
<!-- omo-ultrawork-astra:evidence-step:end -->
|
|
370
384
|
|
|
371
385
|
Within a step, follow Finding things; READ before CHANGE, never in
|
|
372
386
|
parallel with it.
|
|
@@ -499,6 +513,7 @@ commits this session — then stage + draft the message instead.
|
|
|
499
513
|
for the regression it names is NOT evidence: mock-call assertions,
|
|
500
514
|
pinned constants, a fixture equal to the default it must override,
|
|
501
515
|
an expected value re-derived from the output under test.
|
|
516
|
+
<!-- omo-ultrawork-astra:blast-radius:start -->
|
|
502
517
|
- Make the smallest correct change per unit, and fix in THIS run every
|
|
503
518
|
defect inside the change's blast radius — the request not delivered,
|
|
504
519
|
a regression this change introduces, an invalid proof, a failing test
|
|
@@ -508,9 +523,12 @@ commits this session — then stage + draft the message instead.
|
|
|
508
523
|
message; a deferral never turns a criterion into PASS. Keep delegated
|
|
509
524
|
unit scope hard: the worker reports, the orchestrator registers or
|
|
510
525
|
files.
|
|
526
|
+
<!-- omo-ultrawork-astra:blast-radius:end -->
|
|
511
527
|
- Never suppress lints / errors / test failures. Never delete, skip,
|
|
512
528
|
`.only`, `.skip`, `xfail`, or comment out tests to green the suite.
|
|
529
|
+
<!-- omo-ultrawork-astra:claim-done:start -->
|
|
513
530
|
- Never claim done from inference — only from captured evidence.
|
|
531
|
+
<!-- omo-ultrawork-astra:claim-done:end -->
|
|
514
532
|
|
|
515
533
|
# Output discipline
|
|
516
534
|
- First line literally: `ULTRAWORK MODE ENABLED!`
|
|
@@ -528,18 +546,22 @@ commits this session — then stage + draft the message instead.
|
|
|
528
546
|
- After each result, ask whether the user's core request can now be
|
|
529
547
|
answered with useful evidence in hand. If yes, answer now — skip any
|
|
530
548
|
remaining retrieval, ceremony, or verification that adds no evidence.
|
|
549
|
+
<!-- omo-ultrawork-astra:stop-goal-ledger:start -->
|
|
531
550
|
- The STOP GOAL: every scenario PASSES with captured evidence, every
|
|
532
551
|
cleanup receipt is recorded, notepad is current, and (if gate
|
|
533
552
|
triggered) reviewer approved unconditionally. Above ALL of that, the
|
|
553
|
+
<!-- omo-ultrawork-astra:stop-goal-ledger:end -->
|
|
534
554
|
decisive test — outranking every other consideration — is: are the
|
|
535
555
|
completion conditions FUNDAMENTALLY fulfilled, is the user's problem
|
|
536
556
|
ACTUALLY SOLVED in observable behavior? If no, you are NOT done,
|
|
537
557
|
whatever the ledger says. If yes, deliver the final message and STOP
|
|
538
558
|
— no hesitation, no extra verification pass, no polish loop. Work
|
|
539
559
|
past the stop goal is scope creep, not diligence.
|
|
560
|
+
<!-- omo-ultrawork-astra:leftover-qa:start -->
|
|
540
561
|
- Leftover QA state (live process, `tmux` session, browser context,
|
|
541
562
|
bound port, temp file / dir) means NOT done. Tear it down, record
|
|
542
563
|
the receipt, then continue.
|
|
564
|
+
<!-- omo-ultrawork-astra:leftover-qa:end -->
|
|
543
565
|
- After 2 identical failed attempts at one step, surface what was tried
|
|
544
566
|
and ask the user through the question tool before another retry; if
|
|
545
567
|
the question times out, continue on best judgment.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
## tier-unsure
|
|
2
|
+
When unsure, take LIGHT. If a HEAVY fact surfaces mid-task, upgrade
|
|
3
|
+
then and add what the LIGHT path skipped; never downgrade mid-task. The
|
|
4
|
+
tier sizes process, never honesty: both tiers capture evidence, tear
|
|
5
|
+
down what their QA started, and obey the never-suppress rules.
|
|
6
|
+
|
|
7
|
+
## skill-survey
|
|
8
|
+
First, name the skills whose declared workflow this task will execute,
|
|
9
|
+
with a one-line reason each in the notepad. Open a skill's body only
|
|
10
|
+
when THIS session runs its workflow; skills a delegated session needs
|
|
11
|
+
are named in its prompt and read there, not here.
|
|
12
|
+
|
|
13
|
+
## read-step
|
|
14
|
+
2. READ the tests that already cover the area before touching it and
|
|
15
|
+
note in the notepad what they pin. One WRONG before your change is a
|
|
16
|
+
FINDING to report — NEVER edit a test green.
|
|
17
|
+
|
|
18
|
+
## change-step
|
|
19
|
+
3. CHANGE: the SMALLEST production change that meets the criterion;
|
|
20
|
+
update the tests your change makes stale. Add a test ONLY when
|
|
21
|
+
BOTH hold: the repository keeps tests for this behavior AND a
|
|
22
|
+
regression would otherwise pass unnoticed by the run and the
|
|
23
|
+
existing tests — sized like its neighbors, one case per stated
|
|
24
|
+
behavior, failing when that behavior breaks. A test that restates
|
|
25
|
+
the change (a constant, a string, a rename, a call) is NOT evidence;
|
|
26
|
+
the run is. A prose target (prompt, SKILL.md, rule, markdown) gets
|
|
27
|
+
review and QA-by-read, no test, unless a machine consumes a value in
|
|
28
|
+
it. Before a change that depends on review, PR, issue, or branch
|
|
29
|
+
state, refresh that state and preserve existing ordering/policy.
|
|
30
|
+
|
|
31
|
+
## run-step
|
|
32
|
+
4. RUN: the real-surface scenario the criterion named (channel table
|
|
33
|
+
above; auxiliary surface for CLI- or data-shaped criteria), end to
|
|
34
|
+
end, yourself, plus the step-2 tests. Paste the artifact path into
|
|
35
|
+
the notepad.
|
|
36
|
+
|
|
37
|
+
## cleanup-step
|
|
38
|
+
5. CLEANUP: before you report, tear down every process, session, port,
|
|
39
|
+
container, and temp path the QA in step 4 started, and note it in
|
|
40
|
+
the notepad beside the artifact.
|
|
41
|
+
|
|
42
|
+
## evidence-step
|
|
43
|
+
8. Evidence captured on the same commit and environment stays valid;
|
|
44
|
+
rerun only what an input change, a failure, or an open concern
|
|
45
|
+
invalidates, and cite the capture for the rest. Record PASS/FAIL
|
|
46
|
+
beside each artifact. Loop until all PASS.
|
|
47
|
+
|
|
48
|
+
## blast-radius
|
|
49
|
+
- Make the smallest correct change per unit. A defect outside the
|
|
50
|
+
request — a pre-existing failure, a stale doc you did not touch, an
|
|
51
|
+
unrelated bug you ran into — is reported in the final message or
|
|
52
|
+
filed as an issue with reproduction, not fixed in this run; a
|
|
53
|
+
deferral never turns a criterion into PASS.
|
|
54
|
+
|
|
55
|
+
## stop-goal-ledger
|
|
56
|
+
- The STOP GOAL: every scenario PASSES with captured evidence, every QA
|
|
57
|
+
resource is torn down, notepad is current, and (if gate triggered)
|
|
58
|
+
reviewer approved unconditionally. Above ALL of that, the
|
|
59
|
+
|
|
60
|
+
## leftover-qa
|
|
61
|
+
- Leftover QA state (live process, `tmux` session, browser context,
|
|
62
|
+
bound port, temp file / dir) means NOT done. Tear it down, note it in
|
|
63
|
+
the notepad, then continue.
|
|
64
|
+
|
|
65
|
+
## claim-done
|