Add custom subagent logic - #1
Closed
Jake Broekhuizen (j-broekhuizen) wants to merge 1 commit into
Closed
Conversation
james8814
pushed a commit
to james8814/deepagents
that referenced
this pull request
May 3, 2026
CTO 第 8 次失误修复 — 5 天 CTO 工作全部未 git commit,由 pmagent 团队应用 ADR v5 langchain-ai#22 audit CTO sync claim 时 catch("我昨天已 sync" vs git status untracked)。 核心架构决策档案 - decisions/0002-fork-customization-strategy.md (ADR-0002 v3) — Plan H+ 三方签字 ACCEPTED - 含 ADR 评审 checklist v1+v2+v3+v4+v5(langchain-ai#1-langchain-ai#22 完整体) - v5 langchain-ai#22 fact-check 必须含对照实验(CTO 第 6 次失误 + pmagent 5 次同型失误沉淀) - v5 langchain-ai#20 角色权限边界 + langchain-ai#21 governance 边界 - 含 CTO 6 次失误谱系 + 元层观察(langchain-ai#22 不强制纳入) 主设计文档 - 2026-05-02-plan-h-plus-final.md — Plan H+ v3 完整设计(含 src/agent_assembly/ namespace v3 修订) 历史方案档案(HISTORICAL/SUPERSEDED) - 2026-04-29 ~ 2026-05-02 v1 → v4 → Plan H+ 演进 8 次方向探索 - spike/ 步骤 1+2 reference template 应用 ADR v5 langchain-ai#16 fact-check + langchain-ai#22 实证: - git status untracked 实证已确认(pmagent v1.6 audit catch) - 此 commit 修复 5 天工作未 commit 严重失误 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
james8814
pushed a commit
to james8814/deepagents
that referenced
this pull request
May 7, 2026
…arness __init__.py 🚨 Stage 0 ABORT response (pmagent cutover_dry_run.py --apply Attempt langchain-ai#1): pmagent Stage 0 fork API readiness 设计 (ULTRATHINK 第 12 轮 design intent) catch fork-side gap that CTO Track B 第 7 次 audit 漏掉: ❌ Pre-fix: from deepagents import _HarnessProfile ← ✅ works (top-level alias) from deepagents.profiles import _HarnessProfile ← ❌ FAILS (pmagent 实际 path!) from deepagents.profiles.harness import _HarnessProfile ← ❌ FAILS ✅ Post-fix: 3 import paths 全部 PASS 根因实证: Commit 76eedb0 message claim "alias inline in __init__.py" 实际 alias 仅加到 deepagents/__init__.py (top-level) 未加到 deepagents/profiles/__init__.py 和 deepagents/profiles/harness/__init__.py pmagent _private_api_imports.py:117: from deepagents.profiles import _HarnessProfile ← runtime ImportError pre-fix 修复: deepagents/profiles/__init__.py 末尾添加: _HarnessProfile = HarnessProfile # A14 alias + 加入 __all__ deepagents/profiles/harness/__init__.py 末尾添加: _HarnessProfile = HarnessProfile # 防御性, 与 profiles/__init__.py 同模式 + 加入 __all__ CTO Track B 第 7 次 audit 漏掉根因 (治理学习清单留痕): Track B 第 7 次仅 verify 了 `from deepagents import _HarnessProfile` (1 path) 未 enumerate 所有可能 import paths (3 paths) 立规 §2.4 v2 boilerplate 升级 (本 incident 实证后): alias verify 必须 enumerate 所有可能 import paths: - from <pkg> import <alias> - from <pkg>.<subpkg> import <alias> - from <pkg>.<subpkg>.<subsubpkg> import <alias> Track B 累积 8 次实证 (本次是 pmagent Stage 0 catch CTO 漏的 gap): 9th/11th/12th: catch Path 3 论证: catch Path 3 transitive: confirm sound 第 6 次: catch (_resolve_extra_middleware silent deletion) 第 7 次: catch (A22 CLI test mock path) 第 8 次: pmagent Stage 0 catch (A23 — CTO Track B 7 audit gap) pmagent Stage 0 design 验证: ULTRATHINK 第 12 轮 design intent ROI 100% A23 NEW 5 维度 (立规 §2.4 v2): 1. 发现内容: 3 import paths only 1 work (top-level), 2 missing (profiles + profiles.harness __init__.py 缺 alias) 2. 修复方式: 添加 _HarnessProfile = HarnessProfile + __all__ to 2 __init__.py 3. 来源轨道: pmagent Track B (Stage 0 catch design) 双团队 Track B 协同实证 (CTO Track B 漏 gap, pmagent Track B catch) 4. 审计可追溯: pmagent Stage 0 ABORT report + post-fix 3 paths verify 5. 严重度: 🔴 RED → ✅ CLOSED (本 commit fix, immediate retry-able) PMAGENT_SLA: ≤30 min atomic cutover (Stage 0 retry 可立即触发) Refs: - pmagent Stage 0 ABORT report (Attempt langchain-ai#1) - CTO Track B 第 7 次 audit gap analysis - 立规 §2.4 v2 boilerplate upgrade (enumerate all paths) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Yuchen Zhang (yuchenzhang)
referenced
this pull request
in aihehuo/deepagents
Jun 20, 2026
- Created detailed test report for wu_tanchang_api multi-turn dialog testing - Confirmed Issue #2 (post-delivery short reply) is explicit design via code review: - _has_delivered_material() gate (chat.py:175-198) - _GUIDE_MESSAGE constant (chat.py:22-24) - FRONTEND_SYSTEM_PROMPT_TEMPLATE enforces workflow (agent.py:133-135) - Issue #3 logger.exception already present in chat.py:262-276, needs logging config verification - Issue #1 remains open (FilesystemMiddleware path crossing) Co-Authored-By: Claude <noreply@anthropic.com>
Nick Hollon (nick-hollon-lc)
added a commit
that referenced
this pull request
Jul 2, 2026
… clean state, not a self-assessment The plan-adherence gate asked the agent to re-read task+plan and confirm coverage (introspective). Full tb-2.1 trace analysis showed the #1 failure mode (48% of failing tasks, 63/63 verifier-confirmed assertion failures) and the #1 flakiness driver (~18/28) are the same: the agent finalizes a confident 'verified' summary that is wrong — often because its self-check ran against a working copy it had mutated (false 'matches'). Change the nudge to demand empirical re-verification: restore edited inputs to original, re-run the solution from a clean state / reproduce the task's stated test steps, read the observed output, and reconcile against every case and flag state.
Mason Daugherty (mdrxy)
added a commit
that referenced
this pull request
Aug 18, 2026
A flushed paste burst was applied by posting `PastedPaths`/`PastedText` to the owner, so the payload landed on a later event-loop turn. Textual appends a posted message to the tail of the widget's FIFO queue, behind any key the terminal already delivered, so the next keystroke was inserted ahead of the paste: typing `y` as a burst broke produced `y[Pasted text #1]`. A paste split across a slow terminal read boundary came out scrambled. Route every payload through `ChatInput.apply_paste_payload` instead, called synchronously from the burst flush, the bracketed-paste handler, and `handle_external_paste` (which already applied its payloads this way). The payload is in the document before the flush returns, so handling the current key afterwards orders it after the paste. The deferred-space gate existed to work around the posted application for one key, holding keystrokes and replaying them as synthetic events. Synchronous dispatch makes it unnecessary, so drop it along with the `DeferredSpace` message, its watchdog, and the six fields it tracked. A replayed key never bubbled to `ChatInput` and never reached binding resolution, so removing the gate also stops `tab`, `enter`, and `ctrl+c` being swallowed behind a held space. Also clear `_burst_payload_keeps_leading_slash` when the buffer it describes is discarded; a stale flag spent one mode re-detection on a later burst.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.