singularity-forge/packages
Mikael Hugo 1322bc7d9a feat: implement Copilot coding agent lessons in SF
- fix(compaction): tokensBefore undefined crash on reload
  compaction-orchestrator now falls back to preparation.totalTokens when
  extension returns tokensBefore: undefined; compaction-summary-message
  guards with ?? 0 defensively

- feat(exec): inline truncation notice in sf_exec digest
  appends [stdout truncated — read full output: <path>] when
  stdout_truncated=true so agent knows to use sf_exec_search

- feat(exec): wire onUpdate progress for sf_exec
  calls onUpdate before execution starts with status/command so TUI
  shows live feedback during long-running commands

- feat(security): prompt injection defense for external content
  new sanitize-external-content.js utility: strips HTML comments,
  detects 15 injection patterns (instruction override, role reassignment,
  fake system messages, encoded payloads); wired into exec-tool digest

- feat(tools): sf_session_todo tool (persisted cross-compaction)
  add/check/list ops; persists to .sf/session_todo.json; pending todos
  injected into compaction summary block for context continuity

- feat(hooks): shell hooks surface (.sf/hooks/pre-tool/*.sh, post-tool/*.sh)
  pre-tool hooks block tool execution (exit≠0 = block with stdout reason)
  post-tool hooks fire-and-forget; JSON context piped to stdin; 5s timeout

- fix(db): WAL autocheckpoint disabled to prevent corruption
  PRAGMA wal_autocheckpoint=0 in initSchema(); explicit checkpointWal()
  after successful finalize verification — the only safe checkpoint point

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-10 07:01:28 +02:00
..
daemon refactor(uok): rename scheduler-v2 and plan-v2 to drop v2 suffix 2026-05-09 14:45:02 +02:00
google-gemini-cli-provider fix: silence OpenTelemetry diag and LogTape meta startup warnings 2026-05-09 21:54:26 +02:00
native fix(build): fix build:core — native tsconfig types, inventory sync, compat alias catalog 2026-05-09 16:18:11 +02:00
pi-agent-core fix: remove internal API names from user-facing busy-agent error messages 2026-05-09 22:04:34 +02:00
pi-ai refactor(uok): rename scheduler-v2 and plan-v2 to drop v2 suffix 2026-05-09 14:45:02 +02:00
pi-coding-agent feat: implement Copilot coding agent lessons in SF 2026-05-10 07:01:28 +02:00
pi-tui refactor(uok): rename scheduler-v2 and plan-v2 to drop v2 suffix 2026-05-09 14:45:02 +02:00
rpc-client feat(sf): align node sqlite uok runtime 2026-05-08 03:01:20 +02:00