mirror of
https://github.com/dataelement/bisheng.git
synced 2026-09-01 15:32:50 +08:00
644ceea911
Re-enable the F035 task-mode Skill runtime that was disabled 2026-06-16. Instead of the dormant TenantSkillsMiddleware runtime whitelist, use a copy-time gate (Fork X): at task startup materialize_session_skills copies the run's allowed bundles (governance-enabled ∩ user-selected) into the session workspace /skills/ subtree, then a plain deepagents SkillsMiddleware (FilesystemBackend over the workspace cache, which is dir-aware unlike the MinIO WorkspaceBackend.ls) enumerates them; the model reads the same /skills/<name>/SKILL.md paths back through the workspace. The copy is the whitelist gate, so unselected skills never reach the agent — no per-run active_skills config. - skill_provisioning.materialize_session_skills (new) + SkillStore.read_bytes - thread skills: LinsightQuestionSubmitSchema + linsight_session_version.skills (JSON col + migration f035_linsight_skills) + workbench_impl + task_exec._create_agent - agent_factory attaches SkillsMiddleware when skills_present - TenantSkillsMiddleware retired to dormant (docstring); whitelist semantics moved here - fix(client): selecting a skill in /c task-mode no longer toggles task mode OFF - tests: test_skill_provisioning (gate, byte fidelity, cross-tenant, enumeration loop) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>