singularity-forge/src
Mikael Hugo 1c9b69b57e feat(skills): locked enforcement + workflow skill injection into agent context
Phase 1 — Skill Integrity:
- buildSkillRecord now maps locked: true frontmatter → record.locked
- discoverAllSkills builds locked name set (workflow always locked, bundled if
  frontmatter declares locked: true) and silently drops project/user skills
  that collide with a locked skill name (shadow protection)
- loader.js enforces locked=true unconditionally for workflow source skills
- getUserInvocableSkills now hides locked + workflow skills from /skills catalog
- loadSkills defaults includeWorkflow: true for production context

Phase 2 — Workflow Skill Wiring:
- buildWorkflowConstraintsBlock: loads workflow skills, filters by permission
  profile + work mode triggers, caps at 5, formats as ## Active Workflow
  Constraints block (behavioral guidelines, not invocable tools)
- buildSkillActivationBlock now appends workflow constraints block after the
  user skill_activation block — injected into every agent dispatch prompt
- getAutoSession provides workMode + permissionProfile; fallback to build/normal

Tests: 18 skills tests + 1 auto-prompts test pass (was 15)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-09 03:28:24 +02:00
..
resources feat(skills): locked enforcement + workflow skill injection into agent context 2026-05-09 03:28:24 +02:00
tests fix: update test snapshots for queryInstruction and complete /sf prefix Phase 2 deprecation 2026-05-09 00:17:47 +02:00
web fix: update test snapshots for queryInstruction and complete /sf prefix Phase 2 deprecation 2026-05-09 00:17:47 +02:00
app-paths.ts sf snapshot: uncommitted changes after 93m inactivity 2026-05-06 11:37:27 +02:00
bundled-extension-paths.ts feat: introduce repo-vcs skill and add JSDoc annotations across core modules 2026-05-01 21:36:32 +02:00
bundled-resource-path.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
claude-cli-check.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
cli-logs.ts sf snapshot: uncommitted changes after 93m inactivity 2026-05-06 11:37:27 +02:00
cli-stats.ts style: format repository with biome 2026-05-05 14:31:16 +02:00
cli-status.ts sf snapshot: uncommitted changes after 61m inactivity 2026-05-06 03:25:43 +02:00
cli-web-branch.ts fix: make autonomous mode canonical 2026-05-05 15:42:10 +02:00
cli.ts feat: add centralized LogTape logger module with dev/autonomous modes, PII redaction, and per-session file rotation 2026-05-08 19:58:11 +02:00
env.ts feat: migrate src/ core TS files to LogTape structured logging 2026-05-08 21:01:08 +02:00
errors.ts feat: introduce repo-vcs skill and add JSDoc annotations across core modules 2026-05-01 21:36:32 +02:00
extension-discovery.ts feat: introduce repo-vcs skill and add JSDoc annotations across core modules 2026-05-01 21:36:32 +02:00
extension-registry.ts feat: introduce repo-vcs skill and add JSDoc annotations across core modules 2026-05-01 21:36:32 +02:00
headless-answers.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
headless-context.ts feat: improve sf runtime self-reload and safeguards 2026-05-08 23:52:35 +02:00
headless-events.ts Make SF direct command surface baseline 2026-05-08 01:34:07 +02:00
headless-query.ts sf snapshot: uncommitted changes after 49m inactivity 2026-05-08 01:07:24 +02:00
headless-types.ts sf snapshot: uncommitted changes after 110m inactivity 2026-05-08 00:17:47 +02:00
headless-ui.ts sf snapshot: uncommitted changes after 49m inactivity 2026-05-08 01:07:24 +02:00
headless.ts Make SF direct command surface baseline 2026-05-08 01:34:07 +02:00
help-text.ts feat(sf): streamline uok state and direct modes 2026-05-08 05:51:06 +02:00
interactive-session-lock.ts fix: enforce one interactive sf per repo 2026-05-05 20:55:53 +02:00
loader.ts feat(sf): streamline uok state and direct modes 2026-05-08 05:51:06 +02:00
logger.ts feat: improve sf runtime self-reload and safeguards 2026-05-08 23:52:35 +02:00
logo.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
models-resolver.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
onboarding.ts fix: expose sf-scoped providers 2026-05-05 16:42:36 +02:00
pi-migration.ts fix: clean provider surfaces and core build 2026-05-05 16:31:53 +02:00
project-sessions.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
provider-migrations.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
remote-questions-config.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
resource-loader.ts feat: migrate src/ core TS files to LogTape structured logging 2026-05-08 21:01:08 +02:00
rtk.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
security-overrides.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
startup-model-validation.ts chore: commit current workspace state 2026-05-05 14:46:18 +02:00
startup-timings.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
tool-bootstrap.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
traces.ts sf snapshot: uncommitted changes after 49m inactivity 2026-05-08 01:07:24 +02:00
update-check.ts fix: clean provider surfaces and core build 2026-05-05 16:31:53 +02:00
update-cmd.ts fix: clean provider surfaces and core build 2026-05-05 16:31:53 +02:00
web-mode.ts fix(sf): recover model routes and self-feedback 2026-05-02 22:07:10 +02:00
welcome-screen.ts fix: update test snapshots for queryInstruction and complete /sf prefix Phase 2 deprecation 2026-05-09 00:17:47 +02:00
wizard.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
worktree-cli.ts sf snapshot: uncommitted changes after 43m inactivity 2026-05-05 21:39:56 +02:00
worktree-name-gen.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00