Commit graph

16 commits

Author SHA1 Message Date
Mikael Hugo
6fc054e7c3 sf snapshot: uncommitted changes after 49m inactivity 2026-05-08 01:07:24 +02:00
Mikael Hugo
89677b7e9b sf snapshot: uncommitted changes after 110m inactivity 2026-05-08 00:17:47 +02:00
Mikael Hugo
d05e7164a9 feat: journal execution policy decisions 2026-05-07 22:27:29 +02:00
Mikael Hugo
e9df932234 feat: add execution policy profiles 2026-05-07 18:21:47 +02:00
Mikael Hugo
b0fce94f9e feat: record retrieval evidence across context tools 2026-05-07 18:17:41 +02:00
Mikael Hugo
05f185256c docs: record local cli survey cross-check 2026-05-07 17:22:03 +02:00
Mikael Hugo
b1a7749763 fix: harden widget and provider auth handling 2026-05-07 17:20:52 +02:00
Mikael Hugo
8088489e38 sf snapshot: uncommitted changes after 258m inactivity 2026-05-07 15:37:55 +02:00
Mikael Hugo
932f17b93a refactor: rename workflow tool boundary 2026-05-07 03:45:41 +02:00
Mikael Hugo
3e6827e7dc docs: remove stale direct db and mcp guidance 2026-05-07 03:33:14 +02:00
Mikael Hugo
85a0188fe1 fix(sf): stabilize auto notices and package checks 2026-05-02 12:39:27 +02:00
Mikael Hugo
6ee31e83f4 chore(sf): autonomous sweep — judgment-log/knowledge-compounding/tacit-knowledge tests + PDD v2 research record
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 02:50:44 +02:00
Mikael Hugo
b719169ed5 perf + docs: KNOWLEDGE/ARCHITECTURE mtime cache + notification cluster JSDoc
Performance fix from audit:
- bootstrap/system-context.ts: cachedReadFile() with mtime-keyed in-process
  cache for KNOWLEDGE.md (global + project) and ARCHITECTURE.md. Eliminates
  3-4 sync readFileSync calls per agent turn on the common case where these
  files haven't changed. Live edits still picked up via mtime invalidation.

Docstring sweep on the notification + detection cluster:
- headless-events.ts: 17 JSDoc blocks (exit codes + every classification fn)
- notification-store.ts, notification-overlay.ts, notification-widget.ts,
  notifications.ts: ~17 blocks
- detection.ts, codebase-generator.ts: ~5 blocks

Typecheck clean. 3/3 perf tests pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-02 02:18:40 +02:00
Mikael Hugo
3045538cbe feat(sf): bug-hunt fixes, UOK phase hardening, model policy, record-promoter
- auto/loop.ts: runLegacyAutoLoop / runUokKernelLoop contract routing fixes
- auto/phases.ts: plan-gate in runDispatch, verification gate in runFinalize,
  consecutiveSessionTimeouts exponential backoff, structuredQuestionsAvailable
  passed to resolveDispatch (GAP-13)
- auto/run-unit.ts: _setSessionSwitchInFlight cleared on timeout (GAP-11)
- safety/git-checkpoint.ts: remove stash-before-rollback (user: never stash)
- bootstrap/system-context.ts: fix "system-context" → "bootstrap" LogComponent
- preferences-models.ts: fill missing unit-type routing buckets
- post-execution-checks.ts + tests: type-safe post-exec check expansion
- session-model-override.ts: add override-clear helper
- tests/provider-errors.test.ts: add resetTransientRetryState to all mocks
- memory-relations.ts: add cross-entity relation helpers
- memory-store.ts: fix ranked memory pagination
- onboarding-state.ts: add step-completion persistence
- cache.ts: add TTL-aware get helpers
- definition-io.ts: stricter parse with field validation
- blocked-models.ts: add provider-level block support
- worktree-{manager,resolver}: path normalization edge cases
- commands/catalog.ts: register skill-health and record-promoter commands
- workflow-mcp.ts: MCP tool registration improvements
- agentic-docs-scaffold.ts: clarify scaffold header comment
- headless-events.ts: EXIT_RELOAD + notification dedup boundary
- record-promoter.ts: new — promotes draft records to canonical location
- docs/records/2026-05-02-bug-hunt-findings.md: bug-hunt audit findings log

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-02 02:03:55 +02:00
Mikael Hugo
16ff608d80 feat: implement ADR-001 gitignore split and fill placeholder docs
Gitignore (core change):
- Remove stale blanket .sf/ entries from .gitignore (migrated to
  .git/info/exclude on 2026-04-29, never cleaned up)
- gitignore.ts: split SF_RUNTIME_EXCLUSION_PATTERNS into two modes —
  SF_SYMLINK_EXCLUSION_PATTERNS (blanket .sf for symlink repos where
  git cannot traverse the symlink) and SF_RUNTIME_EXCLUSION_PATTERNS
  (granular runtime-only patterns for directory repos, enabling
  .sf/milestones/ and other durable planning artifacts to be tracked)
- ensureGitInfoExclude() now detects symlink vs directory and writes
  the correct patterns, handling transitions between modes cleanly
- ADR-001 status: Proposed → Accepted

Docs:
- Fill 11 placeholder scaffold docs with real SF-specific content:
  PLANS, DESIGN, PRODUCT_SENSE, QUALITY_SCORE, RELIABILITY, SECURITY,
  design-docs/index.md, exec-plans/active, exec-plans/completed,
  exec-plans/tech-debt-tracker, records/index
- Add records note: docs/records/2026-05-01-repo-vcs-and-notifications.md
- ADR-008 status: Accepted → Proposed (deferred — not applicable to
  current usage model where Claude Code assists externally, not as a
  Pi provider inside SF's dispatch loop)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 22:32:28 +02:00
Mikael Hugo
78be73fcb8 fix: stabilize sf auto and subagent routing 2026-04-30 21:55:17 +02:00