@oneie/claude 0.7.0 → 0.9.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/agents/abm-strategist.md +89 -0
- package/agents/ads-meta.md +97 -0
- package/agents/analyst.md +173 -0
- package/agents/architect.md +280 -0
- package/agents/brand-guardian.md +88 -0
- package/agents/brand-strategist.md +92 -0
- package/agents/campaign-content.md +90 -0
- package/agents/campaign-email.md +88 -0
- package/agents/campaign-sms.md +87 -0
- package/agents/campaign-social.md +87 -0
- package/agents/cco.md +99 -0
- package/agents/ceo.md +106 -0
- package/agents/chairman.md +120 -0
- package/agents/cmo.md +101 -0
- package/agents/community-greeter.md +89 -0
- package/agents/community-moderator.md +92 -0
- package/agents/compliance.md +92 -0
- package/agents/copywriter.md +100 -0
- package/agents/creative-strategist.md +95 -0
- package/agents/cro.md +98 -0
- package/agents/cto.md +267 -0
- package/agents/customer-interviewer.md +93 -0
- package/agents/customer-researcher.md +89 -0
- package/agents/customer-success-manager.md +90 -0
- package/agents/customer-trainer.md +90 -0
- package/agents/cxo.md +100 -0
- package/agents/demand-creator.md +89 -0
- package/agents/demo-mover.md +83 -0
- package/agents/demo-specialist.md +89 -0
- package/agents/demo-thai-family-law.md +87 -0
- package/agents/designer.md +112 -0
- package/agents/discovery-caller.md +98 -0
- package/agents/doctor.md +139 -0
- package/agents/educate-coach.md +100 -0
- package/agents/elevate-tutor.md +83 -0
- package/agents/email-lifecycle-marketer.md +91 -0
- package/agents/engage-specialist.md +99 -0
- package/agents/events-coordinator.md +90 -0
- package/agents/foundation-builder.md +94 -0
- package/agents/funnel-architect.md +89 -0
- package/agents/gift-creator.md +100 -0
- package/agents/google-ads.md +103 -0
- package/agents/guide.md +292 -0
- package/agents/helpdesk-dispatcher.md +88 -0
- package/agents/hook-specialist.md +91 -0
- package/agents/identify-optimizer.md +101 -0
- package/agents/implementer.md +305 -0
- package/agents/incident-commander.md +120 -0
- package/agents/insights-lead.md +93 -0
- package/agents/journey-runner.md +113 -0
- package/agents/linkedin-ads.md +123 -0
- package/agents/live-sales-chat.md +90 -0
- package/agents/market-researcher.md +88 -0
- package/agents/media-buyer.md +96 -0
- package/agents/movers-customer-researcher.md +95 -0
- package/agents/movers-foundation-builder.md +96 -0
- package/agents/movers-market-researcher.md +97 -0
- package/agents/movers-pricing-strategist.md +171 -0
- package/agents/nurture-architect.md +99 -0
- package/agents/offer-architect.md +92 -0
- package/agents/onboarder.md +222 -0
- package/agents/onboarding-specialist.md +92 -0
- package/agents/operations-dashboard.md +98 -0
- package/agents/perf-engineer.md +348 -0
- package/agents/playbook-writer.md +71 -0
- package/agents/plg-strategist.md +91 -0
- package/agents/positioning-architect.md +88 -0
- package/agents/press-officer.md +89 -0
- package/agents/pricing-strategist.md +94 -0
- package/agents/privacy-officer.md +92 -0
- package/agents/referral-manager.md +91 -0
- package/agents/refine-analyst.md +102 -0
- package/agents/release-manager.md +261 -0
- package/agents/renewals-upsell-rep.md +90 -0
- package/agents/review-engineer.md +327 -0
- package/agents/rewards-steward.md +82 -0
- package/agents/sales-call-coach.md +94 -0
- package/agents/sales-closer.md +98 -0
- package/agents/security-auditor.md +313 -0
- package/agents/sell-closer.md +101 -0
- package/agents/share-amplifier.md +99 -0
- package/agents/social-media-manager.md +92 -0
- package/agents/storyteller.md +250 -0
- package/agents/strategist.md +83 -0
- package/agents/strategy-aligner.md +94 -0
- package/agents/support-agent.md +90 -0
- package/agents/tagger.md +245 -0
- package/agents/tech-writer.md +216 -0
- package/agents/test-engineer.md +243 -0
- package/agents/tiktok-ads.md +105 -0
- package/agents/tracking-engineer.md +92 -0
- package/agents/upsell-strategist.md +101 -0
- package/agents/voice.md +85 -0
- package/agents/w4-tools.md +153 -0
- package/agents/w4-verify.md +20 -138
- package/agents/workflow-optimiser.md +84 -0
- package/commands/close.md +814 -160
- package/commands/create.md +2 -2
- package/commands/deploy.md +554 -175
- package/commands/do.md +119 -109
- package/commands/fast.md +67 -0
- package/commands/improve.md +2 -2
- package/commands/one.md +418 -0
- package/commands/see.md +1 -1
- package/commands/sync.md +1 -1
- package/commands/tasks.md +222 -0
- package/commands/vespio.md +110 -0
- package/commands/vespio.remote.md +227 -0
- package/hooks/hooks.json +25 -79
- package/hooks/lib/governor-escape-match.sh +88 -0
- package/hooks/lib/hook.sh +4 -13
- package/hooks/lib/signal.sh +9 -2
- package/hooks/scripts/branch-pin.sh +6 -0
- package/hooks/scripts/config-protect.sh +6 -0
- package/hooks/scripts/do-outcome-gate.sh +19 -2
- package/hooks/scripts/git-add-guard.sh +43 -2
- package/hooks/scripts/governor-escape.sh +96 -0
- package/hooks/scripts/load-guard.sh +127 -0
- package/hooks/scripts/post-edit-check.sh +36 -29
- package/hooks/scripts/session-start.sh +34 -80
- package/hooks/scripts/task-complete-verify.sh +46 -40
- package/package.json +1 -1
- package/rules/documentation.md +9 -0
- package/scripts/ad-copy-lint.sh +656 -0
- package/scripts/agentverse-audit.sh +256 -0
- package/scripts/asi-walk.sh +435 -0
- package/scripts/astro-build-cached.sh +143 -0
- package/scripts/blocks-manifest-cached.sh +100 -0
- package/scripts/blocks-manifest.mjs +497 -0
- package/scripts/blocks-ratchet.sh +116 -0
- package/scripts/blocks-render-probe.mjs +529 -0
- package/scripts/blocks-usage.mjs +334 -0
- package/scripts/chat-context-check.sh +89 -0
- package/scripts/close-metrics.sh +558 -0
- package/scripts/close-owner.sh +268 -0
- package/scripts/db-sync-lock-check.sh +116 -0
- package/scripts/deploy-dev.sh +35 -0
- package/scripts/deploy-emit.sh +298 -0
- package/scripts/deploy-gate-check.sh +128 -0
- package/scripts/deploy-ready.sh +78 -0
- package/scripts/deploy-record.sh +605 -0
- package/scripts/deploy.sh +1273 -0
- package/scripts/do-auto.sh +598 -48
- package/scripts/do-brief.sh +113 -0
- package/scripts/do-close.sh +1137 -0
- package/scripts/do-commit.sh +75 -0
- package/scripts/do-consumer-sweep.sh +18 -1
- package/scripts/do-cycle-shape-check.sh +160 -0
- package/scripts/do-decide.sh +476 -0
- package/scripts/do-derive-check.sh +436 -0
- package/scripts/do-fleet.sh +106 -28
- package/scripts/do-folder.sh +10 -1
- package/scripts/do-next.sh +106 -0
- package/scripts/do-orchestrate.sh +17 -5
- package/scripts/do-plan-json.mjs +201 -0
- package/scripts/do-plan-json.sh +8 -0
- package/scripts/do-preflight.sh +117 -0
- package/scripts/do-project.sh +157 -0
- package/scripts/do-prove-selftest.sh +108 -0
- package/scripts/do-prove.sh +295 -23
- package/scripts/do-rank.py +31 -1
- package/scripts/do-recon-cache.sh +7 -1
- package/scripts/do-recon-pack.sh +196 -0
- package/scripts/do-reconcile.sh +121 -4
- package/scripts/do-signal.sh +280 -23
- package/scripts/do-smoke.sh +18 -1
- package/scripts/do-test-gate.sh +80 -0
- package/scripts/do-tick.sh +102 -0
- package/scripts/do-tier.sh +6 -0
- package/scripts/do-triage.sh +182 -0
- package/scripts/do-ui-gate.sh +1 -1
- package/scripts/do-w4-gates.sh +451 -0
- package/scripts/do-walk.sh +12 -1
- package/scripts/env-sync.sh +173 -0
- package/scripts/factory-brief-check.sh +330 -0
- package/scripts/factory-check.sh +68 -14
- package/scripts/factory-close-check.sh +257 -0
- package/scripts/factory-emit.sh +211 -0
- package/scripts/factory-executor-check.mjs +353 -0
- package/scripts/factory-peak.sh +301 -0
- package/scripts/factory-repo.sh +118 -3
- package/scripts/factory-review-check.mjs +61 -0
- package/scripts/factory-ship.sh +61 -0
- package/scripts/factory-tasks-check.sh +18 -1
- package/scripts/factory-turn.sh +326 -0
- package/scripts/factory-walk.sh +396 -0
- package/scripts/factory-width.sh +57 -0
- package/scripts/fade-toxic.sh +4 -3
- package/scripts/fixtures/factory-brief-real.md +44 -0
- package/scripts/fixtures/triage-dupe.md +5 -0
- package/scripts/fleet-manifest.mjs +108 -0
- package/scripts/fleet-status.sh +110 -0
- package/scripts/full-suite-paths-check.sh +144 -0
- package/scripts/gate-reaper-check.sh +98 -0
- package/scripts/gate-reaper.sh +125 -0
- package/scripts/gate-run.sh +73 -0
- package/scripts/gc-content-check.sh +140 -0
- package/scripts/gen-dev-config.py +20 -0
- package/scripts/govern-bound-check.sh +60 -0
- package/scripts/govern-claims-check.sh +233 -0
- package/scripts/govern-mem-check.sh +290 -0
- package/scripts/governor-doors-check.sh +362 -0
- package/scripts/governor-escape-check.sh +171 -0
- package/scripts/health.sh +413 -0
- package/scripts/id-inventory.mjs +418 -0
- package/scripts/land.sh +551 -0
- package/scripts/lib/gc-finished.sh +77 -0
- package/scripts/lib/govern.sh +361 -0
- package/scripts/lib/govern.ts +756 -0
- package/scripts/lighthouse-run.sh +187 -0
- package/scripts/livekit-live-check.sh +61 -0
- package/scripts/livekit-ratchet.sh +46 -0
- package/scripts/load-guard-check.sh +49 -0
- package/scripts/machine-check.sh +102 -0
- package/scripts/machine-watch.sh +177 -0
- package/scripts/one-agents.mjs +415 -0
- package/scripts/one-resume.sh +78 -0
- package/scripts/orphan-baseline.json +182 -0
- package/scripts/orphan-modules.mjs +179 -0
- package/scripts/pr-body.sh +335 -0
- package/scripts/preview-fd-check.sh +289 -0
- package/scripts/promise-manifest.mjs +24 -1
- package/scripts/release.sh +322 -0
- package/scripts/roles-check.sh +946 -0
- package/scripts/sdk-build-cached.sh +64 -0
- package/scripts/signal-watch.sh +241 -0
- package/scripts/skills-publish.sh +94 -0
- package/scripts/speed-cache-check.sh +173 -0
- package/scripts/speed-check.mjs +907 -0
- package/scripts/speed-parity-check.sh +648 -0
- package/scripts/speed-waterfall-check.sh +355 -0
- package/scripts/substrate-env-parity.mjs +156 -0
- package/scripts/tasks-claim-race.mjs +108 -0
- package/scripts/tasks-loop.sh +185 -0
- package/scripts/test-cached.sh +255 -0
- package/scripts/test-full.sh +87 -0
- package/scripts/test-honesty.mjs +137 -0
- package/scripts/test-lanes.sh +166 -0
- package/scripts/test-speed.sh +94 -0
- package/scripts/triage-shape-check.sh +149 -0
- package/scripts/tsc-cached.sh +179 -0
- package/scripts/typedb-flake-check.sh +197 -0
- package/scripts/urls-lint.sh +15 -0
- package/scripts/verify-fast.sh +445 -0
- package/scripts/vespio-sync.sh +149 -0
- package/scripts/wf-check.mjs +104 -1
- package/scripts/worktree-preview.sh +879 -0
- package/scripts/worktree-up.sh +208 -0
- package/skills/livekit-agents/SKILL.md +285 -0
- package/skills/livekit-agents/references/freshness-rules.md +168 -0
- package/skills/shadcn/SKILL.md +1 -1
- package/skills/signal/SKILL.md +0 -1
- package/skills/voice/SKILL.md +94 -6
- package/skills/voice/corpus-check.sh +87 -0
- package/hooks/scripts/compact-hint.sh +0 -35
- package/hooks/scripts/gate-guard.sh +0 -83
- package/hooks/scripts/read-tracker.sh +0 -26
- package/hooks/scripts/session-end-verify.sh +0 -51
- package/hooks/scripts/stop-reflect.sh +0 -140
- package/hooks/scripts/sync-priority-todo.sh +0 -57
- package/hooks/scripts/sync-todo-docs.sh +0 -46
- package/hooks/scripts/tool-signal.sh +0 -48
- package/scripts/do-tasks-bridge.py +0 -366
package/scripts/wf-check.mjs
CHANGED
|
@@ -42,10 +42,113 @@ function check(file) {
|
|
|
42
42
|
|
|
43
43
|
try {
|
|
44
44
|
new AsyncFunction(...HOOKS, src.replace(/^export\s+const\s+meta/m, 'const meta'))
|
|
45
|
-
return { file, ok: true }
|
|
46
45
|
} catch (e) {
|
|
47
46
|
return { file, ok: false, msg: e.message }
|
|
48
47
|
}
|
|
48
|
+
|
|
49
|
+
// Syntax is only half of "would this launch and behave". The seam checks below
|
|
50
|
+
// catch the read/write divergences that launch fine and then quietly corrupt
|
|
51
|
+
// the run — see the block above them for the three that actually happened.
|
|
52
|
+
const seam = seamChecks(file, src)
|
|
53
|
+
if (seam.length) return { file, ok: false, msg: `${seam.length} seam violation(s):\n - ${seam.join('\n - ')}` }
|
|
54
|
+
return { file, ok: true }
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
// ── Seam checks ───────────────────────────────────────────────────────────
|
|
59
|
+
// Three of the five engine bugs fixed on 2026-08-31 were ONE defect: a fact the
|
|
60
|
+
// engine depends on lived in two places and only one of them was real.
|
|
61
|
+
// · the tick — done-ness lived in W4's verdict AND the todo checkbox; nothing
|
|
62
|
+
// copied one to the other, so proven work was rebuilt forever.
|
|
63
|
+
// · the census — the model lived in Q.w1[0] AND in a 'haiku' string literal;
|
|
64
|
+
// they diverged under quality:'max', teaching world:pick-model
|
|
65
|
+
// that the cheap model had done the expensive model's work.
|
|
66
|
+
// · the clobber— an append instruction lived in the prompt text AND in the
|
|
67
|
+
// agent's tool grant; W2 has no Bash, so it read-modify-wrote
|
|
68
|
+
// the census and clobbered every parallel sibling.
|
|
69
|
+
// The repo's own rule (CLAUDE.md): two instances of one defect shape ⇒ fix the
|
|
70
|
+
// SEAM, never the sites. These are that seam, asserted at edit time by the
|
|
71
|
+
// post-edit hook. Prove they can go RED with `--self-test`.
|
|
72
|
+
|
|
73
|
+
// Read the balanced argument list of the call that starts at `open` (index of '(').
|
|
74
|
+
function balancedArgs(src, open) {
|
|
75
|
+
let depth = 0
|
|
76
|
+
for (let i = open; i < src.length; i++) {
|
|
77
|
+
const c = src[i]
|
|
78
|
+
if (c === '(' || c === '[' || c === '{') depth++
|
|
79
|
+
else if (c === ')' || c === ']' || c === '}') {
|
|
80
|
+
depth--
|
|
81
|
+
if (depth === 0) return src.slice(open + 1, i)
|
|
82
|
+
} else if (c === '`' || c === "'" || c === '"') {
|
|
83
|
+
// skip the string body so its brackets never move the depth
|
|
84
|
+
const q = c
|
|
85
|
+
i++
|
|
86
|
+
while (i < src.length && src[i] !== q) i += src[i] === '\\' ? 2 : 1
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return null
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// SEAM 1 — the recorded model must BE the model, never a copy of it.
|
|
93
|
+
// censusAppend(cid, [['W1', <model>], ...]) — every <model> slot must be an
|
|
94
|
+
// identifier expression (Q.w1[0], w2Model). A quoted literal is a second source
|
|
95
|
+
// of truth for a fact the router LEARNS from, and it silently rots.
|
|
96
|
+
function checkCensusLiterals(src) {
|
|
97
|
+
const out = []
|
|
98
|
+
const re = /censusAppend\s*\(/g
|
|
99
|
+
let m
|
|
100
|
+
while ((m = re.exec(src))) {
|
|
101
|
+
const argsSrc = balancedArgs(src, re.lastIndex - 1)
|
|
102
|
+
if (!argsSrc) continue
|
|
103
|
+
for (const pair of argsSrc.match(/\[\s*(['"`])W\d+\1\s*,[^\]]*\]/g) ?? []) {
|
|
104
|
+
const model = pair.split(',').slice(1).join(',').replace(/\]\s*$/, '').trim()
|
|
105
|
+
if (/^(['"`]).*\1$/.test(model)) {
|
|
106
|
+
out.push(`census records a HARDCODED model ${model} in ${pair.trim()} — it must be the same expression that SPAWNS the agent (e.g. Q.w1[0]), or the census teaches world:pick-model a model that never ran`)
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return out
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// SEAM 2 — never ask an agent to run what its grant forbids.
|
|
114
|
+
// If a prompt tells the agent to run a shell command, the agentType receiving it
|
|
115
|
+
// must hold Bash in .claude/agents/<type>.md. W2 (Read/Grep/Glob/Write) was told
|
|
116
|
+
// to `printf >> census`; unable to run it, it rewrote the whole file instead.
|
|
117
|
+
const SHELL_INSTRUCTION = /(?:^|\W)(?:run (?:this|these) (?:exact|one) |printf |>>\s*\$?\{?\w|bash \.claude\/scripts\/|cd \$\{WT\})/
|
|
118
|
+
function grantOf(type) {
|
|
119
|
+
const f = `.claude/agents/${type}.md`
|
|
120
|
+
if (!existsSync(f)) return null
|
|
121
|
+
const m = readFileSync(f, 'utf8').match(/^tools:\s*"?([^"\n]+)"?/m)
|
|
122
|
+
return m ? m[1].split(',').map((t) => t.trim()) : null
|
|
123
|
+
}
|
|
124
|
+
function checkInstructionGrant(src) {
|
|
125
|
+
const out = []
|
|
126
|
+
const re = /\bagent\s*\(/g
|
|
127
|
+
let m
|
|
128
|
+
while ((m = re.exec(src))) {
|
|
129
|
+
const argsSrc = balancedArgs(src, re.lastIndex - 1)
|
|
130
|
+
if (!argsSrc) continue
|
|
131
|
+
const type = argsSrc.match(/agentType:\s*['"`]([\w-]+)['"`]/)?.[1]
|
|
132
|
+
if (!type) continue
|
|
133
|
+
const prompt = argsSrc.slice(0, argsSrc.indexOf('agentType:'))
|
|
134
|
+
if (!SHELL_INSTRUCTION.test(prompt)) continue
|
|
135
|
+
const tools = grantOf(type)
|
|
136
|
+
if (!tools) {
|
|
137
|
+
out.push(`agent(agentType:'${type}') is handed a shell instruction but .claude/agents/${type}.md has no readable tools: line — the grant cannot be checked`)
|
|
138
|
+
} else if (!tools.includes('Bash')) {
|
|
139
|
+
out.push(`agent(agentType:'${type}') is told to RUN a command, but its grant is [${tools.join(', ')}] — no Bash. It cannot comply and will do something else instead (W2 read-modify-wrote the census and clobbered its siblings). Move the command to an agent that has Bash.`)
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return out
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// SEAM 3 — behavioural parity of the cycle-line shape across its four
|
|
146
|
+
// implementations is proven by a separate runner, because it spans three
|
|
147
|
+
// languages and two files this checker does not parse:
|
|
148
|
+
// bash .claude/scripts/do-cycle-shape-check.sh
|
|
149
|
+
function seamChecks(file, src) {
|
|
150
|
+
if (!/\bagent\s*\(/.test(src)) return []
|
|
151
|
+
return [...checkCensusLiterals(src), ...checkInstructionGrant(src)]
|
|
49
152
|
}
|
|
50
153
|
|
|
51
154
|
const args = process.argv.slice(2)
|