Commit Graph

6857 Commits

Author SHA1 Message Date
YeonGyu-Kim 8e28e29c26 fix(package): block internal-only assets from publish payload
Validator finding #12 from the publish-debate-vortex hyperultradebate flagged that internal-only skill and command assets could leak into the npm payload once the dot asset roots are included.

Bun 1.3.x ignores a root .npmignore for directories listed in package.json#files, so the exclusion rules live in nested .npmignore files co-located with each published command and skill directory.

RED before nested ignores: bun test script/package-layout-exclusion.test.ts failed with expect(received).toEqual(expected), receiving .opencode/skills/__internal-fake-do-not-ship-test-artifact/SKILL.md, .agents/skills/__internal-fake-do-not-ship-test-artifact/SKILL.md, .opencode/command/__internal-fake-do-not-ship-test-artifact.md, and .agents/command/__internal-fake-do-not-ship-test-artifact.md instead of [].

GREEN after nested ignores: bun test script/package-layout-exclusion.test.ts reported 2 pass, 0 fail, 5 expect() calls.

This is the exclusion companion to script/package-layout.test.ts, the inclusion test arriving through the dev merge.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-26 16:29:47 +09:00
YeonGyu-Kim 3e0a975d1f test(dist-bundle): assert inlined prompt content survives bundling
After the prompts-core migration the TypeScript prompt sources were
deleted; the only mechanism delivering markdown prompts to npm users
is bun build inlining via bunfig.toml [loader] ".md" = "text"
and import attributes. bun test runs from src/index.ts, not from
dist/index.js, so a future Bun upgrade that silently regresses
markdown inlining would pass source tests green while the published
bundle is broken with Cannot find module ../prompts/atlas/default.md
at first agent load.

Add a smoke test that scans the built dist/index.js for unique
signature strings from each migrated prompt file (15 signatures:
3 ultrawork + 5 atlas + 3 prometheus + 4 mode prompts). Skips
gracefully if dist/index.js does not exist (local bun test before
build). Wire into the existing CI Verify dist bundle tests step in
.github/workflows/ci.yml so the regression catches in CI build.

Closes pre-publish blocker V1 and V33.
2026-05-25 01:33:06 +09:00
YeonGyu-Kim 14b3523af6 fix(ralph-loop): time-bound oracle dispatch wait to prevent stall
The double-fire race fix (#4256) had handlePendingVerification return
early when verification_attempt_id was set but verification_session_id
was not, since the oracle dispatch is still in flight. That guard
introduced a permanent-stall failure mode: if tool-execute-after never
runs (oracle session hangs, crashes, OOM-killed, or tmux killed
externally), verification_session_id stays undefined forever and the
ralph-loop never escapes the pending-verification state.

Track verification_attempt_started_at as a state field, clear it on
restart/clear/setVerificationSessionID, and fall through to
handleFailedVerification when the attempt has been pending past
STUCK_VERIFICATION_TIMEOUT_MS (30 minutes). Legacy persisted states
without the timestamp continue to defer (no timeout to evaluate),
matching pre-fix behavior for that edge case.

Closes pre-publish blocker V25.
2026-05-25 01:32:49 +09:00
YeonGyu-Kim 69c955f61f fix(parent-wake): bound assistant-text defer to escape stuck sessions
shouldDeferParentWakeForSessionHistory previously had only one escape
path from the defer state: stale pending tool call. If the assistant
had unfinished text but no pending tool call (session crashed
mid-stream, model errored after partial text, network died), the
escape never fired and parent-wake deferred forever. Background-agent
completions never woke the parent.

Add a second escape: when the assistant text blocks but no tool wait
is pending, dispatch the wake after toolCallDeferMaxMs anyway. The
prompt-async-gate still defends if the assistant text turns out to be
live; we just stop deferring indefinitely.

Closes pre-publish blocker V11.
2026-05-25 01:32:35 +09:00
YeonGyu-Kim f05e0cbe99 fix(runtime-fallback): gate retryable signal on status-code allowlist
extractRetryableSignal returns the raw isRetryable hint from up to 5
nested AI SDK error paths. isRetryableError previously trusted any
true result blindly, which would burn every configured fallback model
in an infinite loop if a provider mis-tagged a 401, 403, or other
non-transient 4xx as retryable.

Honor the signal only when the status code is absent, in the configured
retry_on_errors list, in 5xx, or in {408, 425, 429}. Reject the signal
when the status code is a non-transient 4xx and log the rejection so
operators can debug provider mis-classifications.

Closes pre-publish blocker V8.
2026-05-25 01:32:23 +09:00
YeonGyu-Kim 222adeb606 fix(runtime-fallback): honor retryable signal 2026-05-25 00:03:29 +09:00
YeonGyu-Kim de7f1d887d Merge pull request #4400 from code-yeongyu/refactor/prompts-core-oracle-cleanup
refactor(prompts-core): address Oracle caveats — stale AGENTS.md docs + byte-exact characterization tests
2026-05-24 19:22:49 +09:00
YeonGyu-Kim 8f09c02cc0 docs: scrub remaining references to migrated files
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 19:16:03 +09:00
YeonGyu-Kim d18cadb1ab test(ultrawork): add byte-exact characterization test
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 19:16:03 +09:00
YeonGyu-Kim e0b37b46d5 test(prometheus): add byte-exact characterization test
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 19:16:03 +09:00
YeonGyu-Kim 9d204250ee docs(keyword-detector): rewrite AGENTS.md for prompts-core migration
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 19:16:02 +09:00
YeonGyu-Kim 87e28d2607 docs(prometheus): rewrite AGENTS.md for thin-loader structure
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 19:16:02 +09:00
YeonGyu-Kim 640d7f7b9d Merge pull request #4396 from code-yeongyu/fix/session-scoped-internal-wake
fix(parent-wake): block unfinished assistant wakes
2026-05-24 19:05:04 +09:00
YeonGyu-Kim 3d0b4c4aac fix(parent-wake): block unfinished assistant wakes 2026-05-24 19:02:13 +09:00
YeonGyu-Kim 2ea7c49208 Merge pull request #4390 from code-yeongyu/refactor/prometheus-to-prompts-core
refactor(prometheus): extract agent prompt sections to packages/prompts-core (PR4)
2026-05-24 18:47:07 +09:00
YeonGyu-Kim 1f32b885d8 refactor(prometheus): remove migrated section TypeScript files 2026-05-24 18:44:46 +09:00
YeonGyu-Kim 8fc429a5de refactor(prometheus): load prompt variants from prompts-core 2026-05-24 18:44:24 +09:00
YeonGyu-Kim 3806d93dbc feat(prompts-core): wire Prometheus variant table 2026-05-24 18:44:24 +09:00
YeonGyu-Kim fa0500e970 feat(prompts-core): add Prometheus prompt markdown variants 2026-05-24 18:44:24 +09:00
YeonGyu-Kim 4749eab203 Merge pull request #4389 from code-yeongyu/refactor/mode-prompts-to-prompts-core
refactor(mode-prompts): extract search/analyze/team/hyperplan to packages/prompts-core (PR3)
2026-05-24 18:38:03 +09:00
YeonGyu-Kim 803f030b5b Merge remote-tracking branch 'origin/dev' into refactor/mode-prompts-to-prompts-core
# Conflicts:
#	packages/prompts-core/src/index.ts
2026-05-24 18:35:36 +09:00
YeonGyu-Kim 528f083f5a Merge pull request #4388 from code-yeongyu/refactor/atlas-to-prompts-core
refactor(atlas): extract agent prompt variants to packages/prompts-core with runtime injection (PR5)
2026-05-24 18:33:07 +09:00
YeonGyu-Kim 63ef72d1b9 docs(agents): document prompts-core mode prompts
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:33:00 +09:00
YeonGyu-Kim 80361c05ab chore(prompts-core): wire markdown prompt packaging
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:32:53 +09:00
YeonGyu-Kim 2c8e2dac41 refactor(mode-prompts): migrate hyperplan prompt
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:32:45 +09:00
YeonGyu-Kim e79baf5910 refactor(mode-prompts): migrate team prompt
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:32:35 +09:00
YeonGyu-Kim 3b7f51d568 refactor(mode-prompts): migrate analyze prompt
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:32:19 +09:00
YeonGyu-Kim 5cefbdbb6d refactor(mode-prompts): migrate search prompt
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:31:17 +09:00
YeonGyu-Kim c187dba56b test(keyword-detector): capture mode prompt baselines
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:30:53 +09:00
YeonGyu-Kim 8451ecd15e docs(atlas): document prompts-core prompt ownership
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:29:36 +09:00
YeonGyu-Kim 582c768b94 refactor(atlas): remove migrated TypeScript prompts
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:29:25 +09:00
YeonGyu-Kim 4975c354b2 refactor(atlas): load prompt variants from prompts-core
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:29:12 +09:00
YeonGyu-Kim 96a9365044 build(prompts-core): bundle markdown prompt variants
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:29:05 +09:00
YeonGyu-Kim 91351d73fd feat(prompts-core): support bundled prompt sources
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:28:57 +09:00
YeonGyu-Kim b77fed28ef feat(prompts-core): add Atlas Opus 4.7 prompt markdown
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:28:49 +09:00
YeonGyu-Kim 2adcec8f2d feat(prompts-core): add Atlas Kimi prompt markdown
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:28:49 +09:00
YeonGyu-Kim d5995b385a feat(prompts-core): add Atlas Gemini prompt markdown
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:28:49 +09:00
YeonGyu-Kim 1923761166 feat(prompts-core): add Atlas GPT prompt markdown
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:28:49 +09:00
YeonGyu-Kim 565d099495 feat(prompts-core): add Atlas default prompt markdown
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:28:49 +09:00
YeonGyu-Kim a92e25a196 test(atlas): add prompt byte preservation baselines
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:28:35 +09:00
YeonGyu-Kim 66445241fe Merge pull request #4386 from code-yeongyu/refactor/ultrawork-to-prompts-core
refactor(ultrawork): extract ultrawork prompts to packages/prompts-core (PR2)
2026-05-24 18:27:11 +09:00
YeonGyu-Kim 79beeeee1f docs: document ultrawork prompt markdown location
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:20:33 +09:00
YeonGyu-Kim d217efc195 build(prompts): inline markdown prompt imports
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:20:27 +09:00
YeonGyu-Kim e772c46819 refactor(ultrawork): move planner prompt to prompts-core
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:20:18 +09:00
YeonGyu-Kim e51acd0ad3 refactor(ultrawork): move gemini prompt to prompts-core
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:20:11 +09:00
YeonGyu-Kim a818bbd99c refactor(ultrawork): move gpt prompt to prompts-core
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:20:04 +09:00
YeonGyu-Kim 9c366cce3a refactor(ultrawork): move default prompt to prompts-core
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:19:56 +09:00
YeonGyu-Kim 39b3cbcbb5 chore(ultrawork): capture prompt baseline hashes
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 18:19:49 +09:00
YeonGyu-Kim 46ad6bfdb4 Merge pull request #4385 from code-yeongyu/refactor/prompts-core-foundation
refactor(prompts-core): add packages/prompts-core foundation with model-family detector relocation
2026-05-24 17:55:32 +09:00
YeonGyu-Kim 436c618706 fix(prompts-core): block prompt path traversal
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-24 17:50:18 +09:00