ymq
655d50bde8
feat(skill): 技能提议实时生效——写机构技能目录orgs/{org_id}/按scope覆盖global,机构间隔离
用户需求变更(2026-09-08):propose_skill从人工审核链(pending→published)改为实时生效,
但只写提议者所属机构的skills目录,靠org scope(优先级3)同名覆盖global(0),不影响其他机构。
- 新增 skill_live.py: publish_skill_live 路由决策+路径穿越清洗+frontmatter scope剥离+原子写
* 客户机构(org≠0)→orgs/{org_id}/{name}/实时生效
* org 0陷阱:get_merged里orgs/0/是全机构共享缺省——org0+有user_id降级users/{uid}/(仅本人);
org0无人值守(复盘poller)拒绝实时写,保持pending人工审核链(防agent自动影响全平台)
- v2 _t_propose_skill / v1 retrospective.propose_skill 接入:落库照写(成功=published+路径审计)
- v1 poller长进程配套:_reload_skills_throttled(30s TTL)接入_build_role_skills_block/_load_skill_by_name
(v2每条消息executor init已reload,无需改)
- 工具描述三处同步:core GENERAL_TOOLS/capability_tools TOOL_SCHEMAS/RETRO prompt
2026-09-08 23:59:24 +08:00
..
2026-09-02 15:26:18 +08:00
2026-09-01 09:26:46 +08:00
2026-09-08 23:59:24 +08:00
2026-09-08 23:59:24 +08:00
2026-08-16 23:43:40 +08:00
2026-08-23 21:52:49 +08:00
2026-09-04 17:05:42 +08:00
2026-09-08 23:59:24 +08:00
2026-09-01 12:38:54 +08:00
2026-09-08 23:13:06 +08:00
2026-08-17 11:00:10 +08:00
2026-08-13 18:07:16 +08:00
2026-08-22 11:48:47 +08:00
2026-08-25 18:22:03 +08:00
2026-08-25 18:22:03 +08:00
2026-08-17 07:10:28 +08:00
2026-09-08 23:13:06 +08:00
2026-09-07 18:04:43 +08:00
2026-06-11 17:30:06 +08:00
2026-09-01 13:47:31 +08:00
2026-06-16 11:05:45 +08:00
2026-09-04 15:57:41 +08:00
2026-09-04 17:05:42 +08:00
2026-08-24 12:18:27 +08:00
2026-09-04 16:33:15 +08:00
2026-09-07 17:31:29 +08:00
2026-09-04 17:05:42 +08:00
2026-09-08 17:26:46 +08:00
2026-09-01 18:01:21 +08:00
2026-08-16 23:51:55 +08:00
2026-09-04 19:49:39 +08:00
2026-08-28 21:46:27 +08:00
2026-09-08 23:59:24 +08:00
2026-09-05 12:43:33 +08:00
2026-09-04 16:12:17 +08:00
2026-09-08 23:59:24 +08:00
2026-08-16 18:19:40 +08:00
2026-08-08 10:36:04 +08:00
2026-06-16 11:05:45 +08:00
2026-08-17 18:13:05 +08:00
2026-09-03 12:28:12 +08:00
2026-09-03 16:41:27 +08:00
2026-08-17 11:00:10 +08:00
2026-08-17 11:00:10 +08:00
2026-09-08 23:13:06 +08:00
2026-08-28 21:10:36 +08:00
2026-09-08 16:01:15 +08:00