Go to file
caoqianming e8dbfa57a5 core(§7 B Step 6): no-subtask 前缀嵌套校验
- core/storage/utils.py 加 check_no_subtask + NoSubtaskError;PG LIKE
  双向(new LIKE existing/%  OR  existing LIKE new/%),同 task_dir
  允许(同项目多对话),空 / whitespace 跳过。
- 分隔符容差:SQL replace(task_dir, '\', '/') 把存的 Windows 反斜杠
  与新值统一到 '/' 再比;backslash 通过 bind 参数传,绕开 SQL 转义。
- main.py::build_agent 在 resolve_task_id 后、TaskState 构造前调,
  if not resume 单层闸 —— resume 跳过(改名走未来 Folder API cascade).
- cli.py 三处 build_agent 调用现有 try/except 直接接住 NoSubtaskError.
- PROGRESS / RUN 同步:Step 6 完工,故障兜底加一条 NoSubtaskError 处理.

Smoke(9 路径 + e2e 3 分支)全绿。§7 B 完工(Step 5 取消)。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 11:59:37 +08:00
config Initial import: zcbot personal task agent 2026-05-06 11:02:59 +08:00
core core(§7 B Step 6): no-subtask 前缀嵌套校验 2026-05-14 11:59:37 +08:00
db/migrations core(§7 B Step 1): Storage 基建 — SQLAlchemy ORM + alembic + db CLI 2026-05-14 10:41:44 +08:00
prompts/system 修三处 v3 遗留: Iconify 不触发 / mkdir -p 误创目录 / 平台无知 2026-05-06 13:12:17 +08:00
skills proposal: 阶段二每段卡点附"下一段要点预告" 2026-05-08 16:11:18 +08:00
tools 修三处 v3 遗留: Iconify 不触发 / mkdir -p 误创目录 / 平台无知 2026-05-06 13:12:17 +08:00
.gitignore 添加col.ps1到gitignore 2026-05-08 08:03:49 +08:00
CLAUDE.md core(§7 B Step 4): --task-dir 双形态 + RUN.md 运行手册 2026-05-14 11:38:05 +08:00
DESIGN.md core(§7 B Step 3): TaskState ORM + Web UI 设计 (Phase G) 2026-05-14 11:25:53 +08:00
PROGRESS.md core(§7 B Step 6): no-subtask 前缀嵌套校验 2026-05-14 11:59:37 +08:00
RUN.md core(§7 B Step 6): no-subtask 前缀嵌套校验 2026-05-14 11:59:37 +08:00
alembic.ini core(§7 B Step 1): Storage 基建 — SQLAlchemy ORM + alembic + db CLI 2026-05-14 10:41:44 +08:00
cli.py core(§7 B Step 4): --task-dir 双形态 + RUN.md 运行手册 2026-05-14 11:38:05 +08:00
main.py core(§7 B Step 6): no-subtask 前缀嵌套校验 2026-05-14 11:59:37 +08:00
requirements.txt core(§7 B Step 1): Storage 基建 — SQLAlchemy ORM + alembic + db CLI 2026-05-14 10:41:44 +08:00