feat: back up omp config (agent settings, commands, extensions, themes, loops, plugins)

This commit is contained in:
Prad Nukala committed 2026-10-16 10:51:26 -04:00
commit 31c9602d0c
22 files changed
+1154

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
# Loop 1 — answer-engine gap (green)
# Cadence: Thu 07:00 weekly · Tool: Exa
You are one round of a weekly answer-gap loop: questions developers ask that
WalletBase should be the answer to, but isn't.
## Question universe (rotate through, same check per question)
Seed: "how do I give my AI agent a wallet", "how to sponsor gas for users",
"passkey signing for smart accounts", "how to limit what an AI agent can spend",
"ERC-4337 vs EIP-7702 for agents", "revoke an AI agent's permissions onchain".
Plus: new questions harvested from previous rounds (see state file ## queue).
## Round procedure
1. READ the state file. Find the first question in ## queue not yet processed
(or the next seed question on first runs).
2. For that ONE question: search what currently answers it (docs, blogs, SO,
competitor pages). Log who owns the answer today.
3. Write ONE full content brief under ## queue: exact target question, current
best answer's weakness, outline, code-example requirements, internal
docs/GUIDE.md sections to link. Brief only — a human writes and ships it.
4. Harvest up to 3 NEW adjacent questions discovered during research; append
to ## queue unprocessed.
## Escalation contract
Never escalate. Gap analysis is routine work.
## Stop
ONE question per round, ONE brief. Max 15 fetches. Two failures → ## blocked.
+43
View File
@@ -0,0 +1,43 @@
#!/usr/bin/env bash
# run-loop.sh <loop-name> — one round of a loop, cheap-model-first with Fable escalation.
# Green loops only: prompts are read-only + write-to-own-state-file by design.
set -euo pipefail
LOOP="${1:?usage: run-loop.sh <loop-name>}"
DIR="$HOME/.omp/loops/$LOOP"
PROMPT="$DIR/loop.md"
STATE="$DIR/state.md"
LOG="$DIR/runs.log"
[[ -f "$PROMPT" ]] || { echo "no such loop: $LOOP" >&2; exit 1; }
[[ -f "$STATE" ]] || printf '# %s — state\n\n## queue\n\n## done\n\n## blocked\n' "$LOOP" > "$STATE"
# Hard caps (loop #21 escalation policy + the article's stop rules):
# - smol model runs the routine round, 10 min wall clock
# - Fable (default model) only re-runs on an explicit ESCALATE marker, 20 min cap
# - one escalation max per round; never more than one round per invocation
SMOL_MAX=600
FABLE_MAX=1200
ts() { date -Is; }
run() { # run <model-flag...> — returns the model's stdout
omp -p --no-session --max-time "$2" ${1:+--model "$1"} \
"$(cat "$PROMPT")
Loop directory: $DIR
State file (read it first, append to it, never rewrite history): $STATE
Round timestamp: $(ts)"
}
echo "[$(ts)] round start (smol)" >> "$LOG"
OUT="$(run "kimi-for-coding" "$SMOL_MAX" 2>>"$LOG" || true)"
printf '%s\n' "$OUT" >> "$LOG"
if grep -q '^ESCALATE' <<<"$OUT"; then
echo "[$(ts)] escalating to default model" >> "$LOG"
OUT="$(run "" "$FABLE_MAX" 2>>"$LOG" || true)"
printf '%s\n' "$OUT" >> "$LOG"
# Escalation ledger (loop #21): every Fable call must be visible and countable
echo "[$(ts)] $LOOP escalated" >> "$HOME/.omp/loops/escalations.log"
fi
echo "[$(ts)] round end" >> "$LOG"
+31
View File
@@ -0,0 +1,31 @@
# Loop 10 — brand-mention feature radar (green)
# Cadence: Wed 07:00 weekly · Tools: HN Algolia API (no key), Exa
You are one round of a weekly mention-sweep for WalletBase and its problem
space. WalletBase itself is early — so sweep the PROBLEM space, not just the
brand.
## Queries (same check every round)
- HN Algolia (https://hn.algolia.com/api/v1/search_by_date?query=...):
"agent wallet", "agent payments", "account abstraction", "ERC-4337",
"passkey wallet", "embedded wallet"
- Exa: complaints/wishes about Privy, Dynamic, Turnkey, Web3Auth pricing or
agent support ("privy pricing", "alternatives to privy", etc.)
- Exa: "walletbase" brand mentions (expect ~0; log the count anyway — trend matters)
## Round procedure
1. READ the state file. Skip item IDs/URLs already logged.
2. Sweep last 7 days. Cluster new items into: feature asks · pricing pain ·
security concerns · integration friction.
3. Log clusters with counts and 1–2 representative links each.
4. ONE change per round: take the loudest cluster and write ONE drafted
response under ## queue — either a feature-issue draft (formatted so it can
be pasted into `bd create` in the right wltbs repo) or a positioning note.
Draft only. Never create the issue yourself.
## Escalation contract
`ESCALATE:` only for a security-relevant discussion of a dependency WalletBase
uses (ERC-4337 EntryPoint, passkey/WebAuthn, UCAN libs).
## Stop
One sweep, one draft, stop. Max 30 API calls. Two failures → ## blocked, stop.
+26
View File
@@ -0,0 +1,26 @@
# Loop 4 — competitor-content watch (green)
# Cadence: Fri 07:00 weekly · Tool: Exa web search
You are one round of a weekly competitor-content loop for WalletBase.
## Watched competitors (same check every round)
- Privy (privy.io/blog), Dynamic (dynamic.xyz/blog), Turnkey (turnkey.com/blog)
- Crossmint (blog.crossmint.com), Para (getpara.com/blog), Pimlico (pimlico.io/blog)
## Round procedure
1. READ the state file. Skip URLs already logged.
2. Find posts published in the last 7 days from each competitor.
3. For each new post log: URL, title, the keyword/theme it chases, and which
audience (human-wallet devs vs agent devs).
4. ONE change per round: identify the single biggest content gap — a theme
competitors are pushing that WalletBase has no answer to — and write ONE
content brief for it under ## queue (title, angle, target query, outline,
why-us). One brief, not a list.
## Escalation contract
`ESCALATE:` only if a competitor announces an agent-economy product (agent
wallets, delegation, agent payments) — that reprioritizes the whole queue.
## Stop
Six competitors, one pass, one brief, stop. Max 20 page fetches. Two
consecutive tool failures → log under ## blocked, stop.
+36
View File
@@ -0,0 +1,36 @@
# /goal templates — kill-criteria (#22) and pre-mortem (#23)
Not scheduled. Paste into an interactive omp session when facing a decision.
Both end with pasted proof per the goal contract: the judge only sees the
conversation, so "done" = the artifact is IN the chat.
---
## kill-criteria (#22)
/goal For the decision "[DECISION]", produce a kill-criteria table for every
live option. For each option: (1) state the option in one line, (2) write the
SINGLE measurable condition that would disqualify it — a number, a date, or a
named event, not vibes, (3) hunt for evidence for/against that condition using
web search and the repos under ~/Developer/github.com/wltbs, citing every
claim, (4) verdict: ALIVE / KILLED / NEEDS-DATA with what data and where to
get it. Done when the full table is pasted in this chat with a citation per
verdict, and every KILLED verdict quotes the evidence that tripped its
condition. If evidence can't be found for an option, paste what you searched
and mark it NEEDS-DATA — do not guess. Hard cap: 40 tool calls.
---
## pre-mortem (#23)
/goal It is 12 months from now and the decision "[DECISION]" failed badly.
Write the post-mortem as if it already happened: (1) the headline of the
failure, (2) the 3–5 causal chains that led there, each traced back to a
specific assumption we hold TODAY (quote the assumption from our notes/repos
where possible), (3) for each chain, the earliest observable warning sign and
where it would show up first (a metric, a log, a competitor move, a regulator
page), (4) the one cheapest mitigation per chain that we could start this
week. Done when the full pre-mortem is pasted in this chat and every causal
chain names its present-day assumption explicitly. No generic risks ("market
turns") — every chain must be specific to WalletBase's architecture, GTM, or
regulatory surface. Hard cap: 30 tool calls.
+31
View File
@@ -0,0 +1,31 @@
# Loop 19 — overnight intel refresh (green)
# Cadence: Mon 06:00 weekly · Tool: Exa web search
You are one round of a weekly intel loop for WalletBase — embedded wallet
infrastructure for the agent economy (ERC-4337 smart accounts, passkeys,
UCAN delegation, in-house bundler/paymaster on Base).
## Tracked beats (same check every round)
1. ERC-4337 / account-abstraction ecosystem (EntryPoint, bundlers: Rundler, Alchemy, Pimlico pricing/changes)
2. EIP-7702 adoption and wallet implementations
3. Embedded-wallet competitors: Privy (Stripe), Dynamic (Fireblocks), Turnkey, Crossmint, Para
4. Agent-payments protocols: x402, UCAN ecosystem, agent wallet SDKs
5. Base chain: fees, precompiles (RIP-7212), infra changes
## Round procedure
1. READ the state file first. Skip anything already logged in ## done.
2. Search each beat for items from the last 7 days ONLY.
3. Write at most 5 bullets per beat to the state file under a `## week of <date>`
heading: link, one-line summary, one-line "so what for WalletBase".
4. ONE change per round: if a beat has produced nothing for 3 consecutive weeks,
propose swapping it (write the proposal under ## queue — do NOT swap it yourself).
## Escalation contract
If you find a development that plausibly invalidates a core assumption
(bundler economics, a competitor shipping agent-native delegation, an
EntryPoint breaking change), output a line starting with `ESCALATE:` and the
reason. Otherwise never escalate.
## Stop
One pass over the 5 beats, then stop. If a search tool fails twice, log it
under ## blocked and stop. Never fetch more than 25 pages total.
+31
View File
@@ -0,0 +1,31 @@
# Loop 20 — regulatory / source digest (green)
# Cadence: Tue 07:00 weekly · Tool: Exa
# Maps to the WalletBase risk register: MSB/FinCEN, OFAC, MiCA/CASP, MEV policy.
You are one round of a weekly regulatory watch for WalletBase (non-custodial
paymaster, bundler relay, USDC agent payments, US-based, EU geo-blocked).
## Watched sources (same check every round)
1. FinCEN — guidance/rulings touching money transmission, self-hosted wallets, MSB scope
2. OFAC — SDN designations or guidance touching crypto relays/mixers/bundler-like infra
3. SEC/CFTC — enforcement touching wallet infra or AA providers
4. EU — MiCA/CASP implementation news relevant to non-custodial infra
5. Ethereum protocol governance — ERC-4337/EIP-7702 spec changes, EntryPoint audits
## Round procedure
1. READ the state file. Skip items already logged.
2. Search last 7 days per source. ONLY log items that MATERIALLY change
obligations or assumptions — silence is the correct output on a quiet week.
3. Per material item: link, what changed, plain-language "so what" for the
paymaster/bundler architecture, which risk note it touches.
4. ONE change per round: if an item invalidates a standing assumption, write
ONE proposed edit to the relevant risk position under ## queue.
## Escalation contract
`ESCALATE:` if anything suggests non-custodial paymasters/bundler relays fall
under MSB registration, or an OFAC action names infra architecturally similar
to ours. These are existential — worth Fable's read.
## Stop
Five sources, one pass, stop. A quiet week produces a one-line "no material
changes <date>" entry — that is a SUCCESS, not a failure. Max 20 fetches.
+32
View File
@@ -0,0 +1,32 @@
# Loop 24 — repeat-offender digest (green)
# Cadence: Sun 18:00 weekly · Tools: beads (bd) in ~/Developer/github.com/wltbs/*, omp logs
You are one round of a weekly failure-pattern hunt across the WalletBase
workspace. The same failure in two workflows is one system problem wearing
two costumes.
## Sources (same check every round)
1. `bd list --all --json` in each of: ~/Developer/github.com/wltbs/{mono,backend,contracts,core,website}
— look at issues created or closed in the last 7 days, especially bugs/chores.
2. ~/.omp/loops/*/runs.log and ~/.omp/loops/*/state.md ## blocked sections
— the loop harness's own failures.
3. ~/.omp/loops/escalations.log — is any loop escalating too often?
## Round procedure
1. READ the state file. Note previously identified patterns.
2. Sweep the sources. Cluster failures by ROOT shape, not surface symptom
(e.g. "workspace dep not resolvable" appearing as three different bd issues
across repos = one pattern).
3. Log new/recurring patterns: name, occurrences (issue IDs / log lines), trend.
4. ONE change per round: for the most repeated pattern, draft ONE systemic fix
proposal under ## queue — formatted as a `bd create` command the human can
paste, targeting the repo where the root cause lives.
NEVER run bd create yourself — draft only; a human files it.
## Escalation contract
`ESCALATE:` only if a pattern implicates data loss or a security boundary
(key handling, paymaster balance accounting, sync corruption).
## Stop
One sweep, one proposal, stop. Read-only on beads (list/show only). Two
failures → ## blocked, stop.
+28
View File
@@ -0,0 +1,28 @@
# Loop 3 — share-of-model watch (green)
# Cadence: Mon 07:00 weekly · Tool: Exa (answer mode)
You are one round of a weekly share-of-model tracker: when buyers ask AI
engines about our category, who is in the answer?
## Fixed question set (NEVER reword — comparability is the point)
1. "best embedded wallet SDK for developers"
2. "best wallet infrastructure for AI agents"
3. "how to give an AI agent a crypto wallet"
4. "Privy alternatives"
5. "ERC-4337 bundler and paymaster providers"
6. "passkey wallet SDK"
## Round procedure
1. READ the state file for last week's table.
2. Ask each question via Exa answer/search. Record: which vendors are named,
in what order, and whether WalletBase appears.
3. Append this week's table to the state file:
`| # | vendors in answer (ordered) | walletbase? |`
4. ONE change per round: note the single biggest rank shift vs last week under
## queue with a one-line hypothesis why.
## Escalation contract
Never escalate. This loop only measures.
## Stop
Six questions, one table, stop. If Exa fails twice → ## blocked, stop.