Yaowei Zheng and Claude Opus 5
a3daac3d82
feat(core): tighten the default system prompt ( #120 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 23:56:26 +08:00
5f2f38f422
docs(changelog): record the batch since v0.1.4 ( #101 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
Co-authored-by: laodouuu <1257029425@qq.com >
2026-07-29 23:47:53 +08:00
Yaowei Zheng and Claude Opus 5
1d23a7acaf
feat(web,server,core): attach files to a message from the composer ( #121 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 23:44:10 +08:00
Yaowei Zheng and Claude Opus 5
37fc715ce9
feat(web): replace the @ mention with an /agent command, and stage both switches until send ( #122 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 23:37:37 +08:00
Yaowei Zheng and Claude Opus 5
b9de3da879
fix(web): take the Session's elapsed time from Trace timestamps, so a reload stops restarting it ( #124 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 23:30:13 +08:00
Yaowei Zheng and Claude Opus 5
ed1ea509d3
fix(web): scroll the sidebar nav with the session list, in both sidebar states ( #119 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 23:30:06 +08:00
Yaowei Zheng and Claude Opus 5
4681135423
chore: make non-i18n code English-only ( #117 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 18:03:41 +08:00
Yaowei Zheng and Claude Opus 5
f63037866e
fix(web): keep import controls inside their scroller, so the document stops scrolling ( #116 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 17:45:17 +08:00
Yaowei Zheng and Claude Opus 5
b40262d43c
fix(web): drop the stop-reason pill from the tool card row; the status icon carries it ( #106 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 17:24:59 +08:00
Yaowei Zheng and Claude Opus 5
5b22ad06da
fix(core): retry on failed as well as timeout; only auth stops the run ( #104 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 16:57:05 +08:00
Yaowei Zheng and Claude Opus 5
8dc560eedd
feat(core,tooling): bundle MinGit in the Windows package so exec_command always has bash ( #95 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 16:49:40 +08:00
Yaowei Zheng and Claude Opus 5
e9f032c965
fix(web): stop rendering an empty bubble for a fidelity-only text or thinking message ( #105 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 16:48:22 +08:00
Yaowei Zheng and Claude Opus 5
e0a47254af
feat(server,web): page the cost center's error table, abbreviate the source, drop command-tool noise ( #103 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 16:16:15 +08:00
6b3574f5c9
fix(core,tooling): keep the harness's own ports out of the Agent's environment and off the dev server ( #100 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
Co-authored-by: J.Li <jl2388@cam.ac.uk >
2026-07-29 16:15:23 +08:00
Yaowei Zheng and Claude Opus 5
5530b7ffad
fix(web): keep browser autofill out of config forms; drop the closed panel's stray divider ( #114 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 16:13:13 +08:00
Yaowei Zheng and Claude Opus 5
f865343c90
fix(core): a request whose upstream ignores its AbortSignal can no longer wedge the Session ( #107 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-29 16:13:02 +08:00
Yaowei Zheng and Claude Fable 5
f70b4299ac
docs(blog): 0.1.4 — Windows support, goal mode, and the agents panel ( #96 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-28 02:01:53 +08:00
Yaowei Zheng and Claude Fable 5
2b708d37fe
release: 0.1.4 ( #99 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-28 01:57:59 +08:00
Yaowei Zheng and Claude Fable 5
0951dbfb8a
docs(landing): host blog images in the community repo ( #98 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-28 01:49:23 +08:00
Yaowei Zheng and Claude Fable 5
71669b2086
fix(server): assert the version endpoint against core's constants, not a literal null ( #97 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-28 01:43:38 +08:00
Yaowei Zheng and Claude Fable 5
00e699f4af
release: 0.1.3 ( #93 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-28 01:34:41 +08:00
Yaowei Zheng and Claude Fable 5
5a90dd46cd
fix(deps): resolve the open Dependabot alerts ( #94 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-28 00:54:44 +08:00
Yaowei Zheng and Claude Opus 5
e4dcda54c8
feat(core,web): add Fireworks Kimi K3; composer "+" menu, height and version-line fixes ( #91 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-28 00:34:06 +08:00
Yaowei Zheng and Claude Opus 5
7bca481e35
docs(readme): add a Contributors avatar wall after Development ( #92 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-28 00:34:02 +08:00
Yaowei Zheng and Claude Fable 5
a4e7820efe
docs(changelog): record the 2026-07-26/27 batch ( #80 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-28 00:31:45 +08:00
Yaowei Zheng and Claude Fable 5
08f59baa70
feat(web): subagent side panel with a live call-graph, compact chips in the stream ( #78 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-28 00:17:18 +08:00
Yaowei Zheng and Claude Fable 5
d3c8f1da7b
fix(core): size the win32 test deadline to the runners' cold-spawn tail, pin loop latency-additivity ( #90 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-28 00:12:14 +08:00
Yaowei Zheng and Claude Fable 5
787bb3d616
fix(core): committed compaction attempts absorb the turn's pending input ( #87 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 23:56:12 +08:00
Yaowei Zheng and Claude Fable 5
bbcc42427f
fix(web): keep running-state rows to one line on mobile ( #76 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 23:45:23 +08:00
Yaowei Zheng and Claude Fable 5
e1141ca010
feat(core,server,web,cli): show version in the web UI with update check and admin self-update ( #74 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 23:34:06 +08:00
Yaowei Zheng and Claude Fable 5
033d526f9f
fix(server): harden test cleanup and deadlines for Windows runners ( #88 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 23:16:20 +08:00
Yaowei Zheng and Claude Fable 5
f192db338e
feat(server,web): import and export Trace files in the trace viewer ( #73 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:54:57 +08:00
Yaowei Zheng and Claude Fable 5
d29d2ba7f3
fix(core): reject empty compaction summaries and offer no tools to compaction requests ( #84 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:45:44 +08:00
Yaowei Zheng and Claude Fable 5
274e19379f
refactor(core): ignore the recorded thinking level when resuming a session ( #72 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:44:16 +08:00
Yaowei Zheng and Claude Fable 5
83e7b85eca
feat(web): live header statistics while a task runs ( #75 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:44:02 +08:00
Yaowei Zheng and Claude Fable 5
a955046b73
fix(server): give the mid-stream fake session the skipReconnectWait member ( #86 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:37:55 +08:00
Yaowei Zheng and Claude Fable 5
094ebd6118
fix(server,web): live in-progress output survives refresh and reconnect ( #77 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:31:57 +08:00
Yaowei Zheng and Claude Fable 5
3d3495528c
fix(core,web): retry transport and quota LLM errors, disable dead sessions on auth failure ( #82 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:29:16 +08:00
Yaowei Zheng and Claude Fable 5
c369e089a7
feat(core,tooling): Windows support — shell selection, install.ps1, win-x64 release package, Windows CI ( #79 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:17:35 +08:00
Yaowei Zheng and Claude Fable 5
f6ebf5d618
release: 0.1.2 ( #69 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 23:18:16 +08:00
Yaowei Zheng and Claude Fable 5
658b6265bb
docs(changelog): record the 2026-07-24 batch ( #65 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 23:07:54 +08:00
Yaowei Zheng and Claude Fable 5
790f45191e
fix(tooling): separate the dev data root from the installed one ( #67 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 23:07:27 +08:00
Yaowei Zheng and Claude Fable 5
7584171482
feat(core,server,web,cli): mid-run steering messages and square-bracket markers ( #63 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 23:01:18 +08:00
Yaowei Zheng and Claude Fable 5
abd5b13d52
feat(core,web,cli): add file tools and per-tool call descriptions ( #62 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 21:37:51 +08:00
Yaowei Zheng and Claude Fable 5
1e23452f48
Handoff-style /model switch command and per-turn thinking level ( #64 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 16:31:51 +08:00
Yaowei Zheng and Claude Fable 5
816a823b75
fix(core): present the project dir to the model as the App Data Dir in the default system prompt ( #61 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 15:08:09 +08:00
Yaowei Zheng and Claude Fable 5
14b5e6384f
feat(models,landing): add OpenRouter free models and a free-models article ( #60 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 15:05:44 +08:00
Yaowei Zheng and Claude Fable 5
6b8b631e37
fix(web): use the separate-origin preview for in-app HTML rendering ( #59 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 14:52:25 +08:00
Yaowei Zheng and Claude Opus 4.8
3f868ac385
refactor(web): unify form controls, one notification rule, dedupe i18n copy ( #54 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-24 18:43:18 +08:00
Yaowei Zheng and Claude Fable 5
c7465625a4
fix(core): honor the -1 sentinels for max_turns and max_tokens ( #56 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-24 16:18:38 +08:00
Yaowei Zheng and Claude Fable 5
6bbdac132f
docs(readme,landing): lead the story with automatic agent building ( #52 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-24 00:57:28 +08:00
Yaowei Zheng and Claude Fable 5
33e5f0bcd1
fix(web): sidebar list expansion made the whole page scroll ( #53 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-24 00:00:52 +08:00
Yaowei Zheng
b18ae8f5f1
feat(server,web): serve Workspace HTML previews from a separate origin ( #46 )
...
Serve "open in new tab" HTML previews from a separate origin (the loopback counterpart, or PENGUIN_PREVIEW_ORIGIN) with a signed, host-bound token, so localStorage/cookies/third-party embeds work while Agent-generated pages stay off the app origin. The app is canonicalized onto localhost and the preview host (127.0.0.1) serves only /preview/* — its /api answers 401 and app routes 302 to the canonical host — so the preview origin can neither set nor honor a session cookie.
2026-07-23 23:11:04 +08:00
cc1be054de
ci(release): publish curated release notes, never an empty body ( #48 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Co-authored-by: Alice <alice@prismshadow.com >
2026-07-23 22:41:50 +08:00
Yaowei Zheng and Claude Opus 4.8
001056f97c
chore(changelog): collect unreleased entries in changelog/unreleased/ ( #47 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 22:24:54 +08:00
8d8a9b1c34
docs(readme): Product Hunt and npm badges, refreshed subtitle ( #50 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 22:23:29 +08:00
aa6b3e710e
fix(landing): make the site indexable — blog shells, sitemap, robots, share card ( #51 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 22:23:06 +08:00
f3217dca4b
release: 0.1.1 with Gemini 3.6 support and two blog posts ( #44 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 06:13:49 +08:00
Yaowei Zheng
7617374d58
feat(blog): a Perspectives category and three posts on harness design and agent infrastructure ( #45 )
...
Adds three bilingual posts, each grounded in primary sources rather than
secondary summaries, plus a new blog category to hold them.
Simple Harness Is All You Need — opens on the counter-intuitive result in
the Databricks coding-agent benchmark: on their cost-versus-pass-rate Pareto
chart, the highest score on the board belongs to Opus 4.8 on the minimal Pi
harness, ahead of the same model on Claude Code at maximum effort for
roughly half the cost per task. Keeps Databricks' own caution and notes that
Pi at max effort lands well below Claude Code at comparable spend. Maps the
result onto PenguinHarness's measured design: six built-in tools with no
file tools, a 72-line system prompt, a 16,000-character output cap, and
compaction into a fresh context.
The Easiest Way to Build AI Agents in 2026 — argues the cost of building an
agent has moved out of the agent and into the stack around it: LangChain to
build, LangGraph to orchestrate, LangSmith or Langfuse to observe and
evaluate, LangGraph Platform to deploy. Five products, two or three vendors,
and a person who becomes the optimization loop.
AI Infrastructure: Past, Present, and Future — the stack used to build AI
(PyTorch, vLLM, Ollama, LlamaFactory) assumes a human operator who carries
state in their head and treats errors as a starting point. It needs no
reinventing for agents; what was missing is the operating knowledge, which
the ollama, vllm and llamafactory skills encode.
Both benchmark comparisons disclose the results we lose as well as the ones
we win, and the framework post names two cases where you should pick
something else.
Also adds the Perspectives / 观点 category with a teal badge, filter chip and
both dictionaries, keeping Tech practice for the hands-on AMD walkthroughs.
2026-07-23 05:04:54 +08:00
9767fe60e9
docs(changelog): 0.2.0 entries for the July 22 batch ( #30 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 02:06:43 +08:00
0f6828e57b
feat: AgentHub 0.4.1 and a model-catalog refresh across every provider group ( #43 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 02:02:54 +08:00
d01d0faf7a
feat(web): settings form polish — dialog layout, homepage button, no default rows, unified dropdown text ( #39 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 01:07:45 +08:00
c380113e26
feat: session source in session_meta and an Automated sidebar folder ( #40 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 00:58:43 +08:00
e0bf1706b9
fix(web): keep chat dropdown menus inside the viewport on mobile ( #41 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 00:58:39 +08:00
45b5555b57
feat(web): collapsed-rail nav with last conversation, new chat, and localized tooltips ( #36 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 00:43:51 +08:00
9a1257b2be
fix(web): render the subagent expansion below the tool call's own content ( #33 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 00:43:47 +08:00
829ca57a43
feat(web): sidebar group polish — even hover geometry, folder open/close icons, group pinning ( #35 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 00:35:41 +08:00
78a8b35793
feat(web): drop "none" from the offered thinking levels ( #34 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 00:35:37 +08:00
1514cd66b2
feat(core): subagents inherit the parent session's model and thinking level ( #38 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 00:27:58 +08:00
cf27b13880
fix(web): usage chart tooltip at the pointer's lower-right + cache hit rate in the Cache Read bubble ( #37 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 00:27:54 +08:00
cabbab1c16
feat: per-model max output tokens and a conversation-time thinking level backed by agent settings ( #28 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-22 22:22:41 +08:00
99f391f379
feat(web): group the chat sidebar by workspace with an agent-mode toggle ( #26 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-22 22:22:07 +08:00
3806e4e441
feat(blog): grouped list, pinned posts, author/date/copy-link metadata ( #20 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-22 22:22:02 +08:00
6d25adfef4
feat(web): letter avatars for custom model groups and agents ( #31 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-22 22:04:34 +08:00
c9cd1f9dc5
feat(core): reserved-port and API-key guardrails in the default system prompt ( #24 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-22 22:04:30 +08:00
849f2fa6d2
feat(web): chat model picker lists key-configured models first, with a show-all expander ( #22 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-22 22:04:24 +08:00
636b25b63f
feat(skills): vLLM and Ollama deployment plus LlamaFactory fine-tuning skills ( #19 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-22 22:04:19 +08:00
0ad911aeff
docs: list the built-in Skills in the READMEs and on the landing page ( #23 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-22 21:34:39 +08:00
cb22cd5d97
fix(web): chat links open in a new tab and long URLs/CJK wrap cleanly ( #27 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-22 21:34:34 +08:00
6d9a631e62
fix(site): make the docs and landing navbars identical ( #25 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-22 21:00:26 +08:00
ea0549b8bb
fix(llm): omit empty tools and keep tool_choice off the wire ( #21 )
...
Co-authored-by: Alice <alice@prismshadow.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-22 18:53:39 +08:00
Yaowei Zheng
62a81bc712
Ignore the local design symlink and agent instruction files ( #17 )
...
Adds /design, /AGENTS.md and /CLAUDE.md to .gitignore. None of the three
are tracked: `design` is a symlink to the penguin-harness-design
checkout and `CLAUDE.md` is a symlink to `AGENTS.md`, so until now they
only showed up as untracked noise in `git status`.
2026-07-21 22:43:25 +08:00
Yaowei Zheng and Claude Opus 4.8
0e134e9c6c
Share language and theme across the sites; prepare the 0.1.0 release ( #13 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-21 18:00:11 +08:00
Yaowei Zheng
d4faee3a1e
Changelog, dev startup, README, AgentHub 0.4.0, model catalog, and landing site ( #7 )
...
Branch-length batch covering tooling, the model layer, the Web App and the public
surfaces. Highlights:
- Changelog: a per-release `changelog/<version>/` tree, grouped by the surface each
change touches, with a root CHANGELOG.md holding one line per release.
- Dev startup: `scripts/dev-prebuild.mjs` serializes the skills+core prebuild behind a
lock and keeps `pnpm install` current; `pnpm dev` runs server+web together.
- AgentHub 0.3.3 -> 0.4.0: OmniMessage complete payloads carry one opaque `fidelity`
object in place of item-level `signature`/`phase`, threaded verbatim through Trace,
replay and resume; malformed classification adapted to the new error types.
- Model layer: a model is always referenced by an explicit `(provider, model_id)` pair.
The provider is never inferred, guessed or defaulted -- both the catalog inference and
the unique-match config resolution are gone, and CLI, SDK, server routes and
run_subagent all require the complete pair. Catalog gains the Qwen Token Plan, Qwen
Pay-As-You-Go and Fireworks AI gateways, plus an expanded OpenRouter group.
- Web App: catalog preset sync and per-group speed test on the Models page, positional
slash commands, a markdown renderer, skill-library update reminders, and a vertically
centred draft page whose upward menus size themselves to the room available.
- Public surfaces: restructured READMEs, the penguin.ooo landing site and blog, refreshed
benchmark results for both suites, and the demo videos playing on the landing page.
Includes the fixes from a full review of the branch: 23 confirmed findings, among them a
provider-inference bug that could send one vendor's API key to another vendor's endpoint,
and an Escape handler that destroyed the composer's contents unrecoverably.
Verified on the branch head: pnpm test (1127 passing, 7 packages), pnpm typecheck and
pnpm format:check clean, Playwright e2e 14/14.
2026-07-21 17:43:31 +08:00
Yaowei Zheng and Claude Fable 5
0eaaa54e25
Make English the repository working language ( #5 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-20 17:45:02 +08:00
e80cde0ea6
Skip the release job when the tag's Release already exists ( #4 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-07-20 16:51:42 +08:00
Yaowei Zheng and Claude Opus 4.8
7f1ac9e02f
Tolerate tag version equal to the in-repo version when stamping
...
npm version exits 1 with "Version not changed" when the tag version matches the package's current version, which failed the publish-npm job on v0.0.1. Pass --allow-same-version so stamping is a no-op in that case.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018ihk8iQuo3kv2aPjAYEPuR
2026-07-20 14:49:09 +08:00
Yaowei Zheng and Claude Opus 4.8
4fa2eef446
Serve the site from the penguin.ooo apex domain
...
Set the Pages workflow BASE_PATH to / (assets 404ed on the custom domain under the /<repo>/ subpath) and point all hardcoded site links at https://penguin.ooo .
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018ihk8iQuo3kv2aPjAYEPuR
2026-07-19 15:05:47 +08:00
Yaowei Zheng and Claude Opus 4.8
45bfae6e94
Initialize repository with harness code and assets
...
Initial import of all source code, config, and README assets: the
packages workspace (cli, core, server, web, docs, landing, skills),
build scripts, tooling config, and CI workflows.
Includes the data-layout revision made on this branch: the local data
root defaults to ~/.penguin/data (PENGUIN_HOME still overrides; the
installer keeps its binaries in ~/.penguin), and every Agent lives
under <project>/agents/<agent>/ — path helpers, the three
agent-enumeration scans, the system prompt, built-in Skills, tests
and docs all follow the new layout.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018ihk8iQuo3kv2aPjAYEPuR
2026-07-19 14:06:53 +08:00
Yaowei Zheng
056bed7aeb
Initial commit
2026-07-19 11:15:22 +08:00