Files
bisheng/docs/PRD
LineWalker 644ceea911 feat(linsight): restore tenant skill runtime via copy-time provisioning (F035 Fork X)
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>
2026-06-24 21:09:54 +08:00
..