Commit graph

4036 commits

Author SHA1 Message Date
Mikael Hugo
e32d620cc5 build: add centralcloud nix cache 2026-05-05 22:27:37 +02:00
Mikael Hugo
f7d067e439 feat: add sf memory status and backfill checks 2026-05-05 22:27:33 +02:00
Mikael Hugo
305b4869ac fix: wire sf memory to llm gateway aliases 2026-05-05 22:10:54 +02:00
Mikael Hugo
d75ebfe7c3 sf snapshot: uncommitted changes after 43m inactivity 2026-05-05 21:39:56 +02:00
Mikael Hugo
54bfd68b01 test: avoid lock fixture secret-scan noise 2026-05-05 20:56:29 +02:00
Mikael Hugo
ffd2512906 fix: enforce one interactive sf per repo 2026-05-05 20:55:53 +02:00
Mikael Hugo
3650cc3c41 fix: keep notification backlog actionable 2026-05-05 20:45:47 +02:00
Mikael Hugo
8c0c1402c6 fix: silence context7 free-tier startup noise 2026-05-05 20:33:50 +02:00
Mikael Hugo
22fa995500 fix: avoid lockfile churn during doctor install 2026-05-05 20:24:30 +02:00
Mikael Hugo
8fd48a5ad6 fix: make doctor repair sf form drift 2026-05-05 20:08:02 +02:00
Mikael Hugo
87d49abd87 fix: stabilize sf startup and state linting 2026-05-05 19:46:08 +02:00
Mikael Hugo
46db1e95ef refactor: remove legacy autonomous aliases 2026-05-05 18:47:50 +02:00
Mikael Hugo
861c4b6cf6 fix: stabilize interactive extension startup 2026-05-05 18:42:00 +02:00
Mikael Hugo
0d440bed7a fix: block extension declaration deletions 2026-05-05 18:28:07 +02:00
Mikael Hugo
180f8e131e fix: align scaffold sync and gemini listings 2026-05-05 18:23:48 +02:00
Mikael Hugo
66e8265320 fix: align provider route selection 2026-05-05 17:37:01 +02:00
Mikael Hugo
1e8a05dc70 fix: constrain mimo proxy fallbacks 2026-05-05 17:18:56 +02:00
Mikael Hugo
c4ee341852 fix: discover xiaomi live models 2026-05-05 17:11:24 +02:00
Mikael Hugo
6fee7e60c8 fix: warm discovery backed providers 2026-05-05 17:05:44 +02:00
Mikael Hugo
c6fe3b2b79 fix: restrict visible aggregate providers 2026-05-05 16:50:05 +02:00
Mikael Hugo
aeea733cd6 fix: expose sf-scoped providers 2026-05-05 16:42:36 +02:00
Mikael Hugo
ab6cad4c84 fix: clean provider surfaces and core build 2026-05-05 16:31:53 +02:00
Mikael Hugo
4c98cb8c33 fix: make autonomous mode canonical 2026-05-05 15:42:10 +02:00
Mikael Hugo
55e7dd0e02 fix: clean generated harness residue 2026-05-05 15:04:34 +02:00
Mikael Hugo
2d9c2018af chore: clean repo quality gates 2026-05-05 14:55:11 +02:00
Mikael Hugo
00a118ea71 chore: commit current workspace state 2026-05-05 14:46:18 +02:00
Mikael Hugo
f11c877224 style: format repository with biome 2026-05-05 14:31:16 +02:00
Mikael Hugo
3af4185b20 fix: make sift the codebase indexer 2026-05-05 14:27:03 +02:00
Mikael Hugo
3ba2f8a501 fix: harden startup doctor and tool schemas 2026-05-05 14:03:36 +02:00
Mikael Hugo
00c9a1e0b5 fix: use bare slice directories for record promotion 2026-05-05 13:37:25 +02:00
Mikael Hugo
ee836142ed fix: harden sift codebase indexing 2026-05-05 13:31:35 +02:00
Mikael Hugo
5b9355fa74 feat: add milestone schedule integration 2026-05-05 12:31:13 +02:00
Mikael Hugo
8571ef702d fix(schedule): snooze keeps status pending so items re-fire
- snoozeItem: write status:"pending" + snoozed_at (audit trail) instead
  of status:"snoozed", which was invisible to findDue/findUpcoming
- findDue/findUpcoming: include status==="snoozed" for backward compat
  with any pre-existing snoozed entries in the store
- listItems default filter: show snoozed entries (they are active)
- _findEntry: remove dead exact-match branch (exact ⊆ startsWith)
- ScheduleEntry typedef: add optional snoozed_at field
- Tests: add coverage for snoozed-entry visibility in findDue,
  findUpcoming, and the list command

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 01:38:44 +02:00
Mikael Hugo
d4b3e0f2b0 feat(schedule): add lightweight due-items banner to loader.ts 2026-05-05 01:37:51 +02:00
Mikael Hugo
7e1883844a feat(schedule): auto-dispatch rule in DISPATCH_RULES 2026-05-05 01:34:50 +02:00
Mikael Hugo
94ba38bdd6 feat(schedule): launch banner, headless query field, auto_dispatch type 2026-05-05 01:30:04 +02:00
Mikael Hugo
a3f76d2679 docs: add BACKLOG.md with M009 promote-only adoption review
Tracks a future review item gated on M010 (schedule system) — two
weeks after M009 closes, assess promote-only rule adoption.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 01:22:10 +02:00
Mikael Hugo
c3e9296986 fix(types): restore hand-written d.ts ambient declarations
Previous fix commit (e0d1352c4) only updated .gitignore to allow
src/resources/extensions/**/*.d.ts but did not actually re-commit
the file contents that were deleted in snapshot 405381985. Restoring
from bcf79a713 (the latest version with all exported symbols).

Files restored:
- remote-questions/config.d.ts
- search-the-web/url-utils.d.ts
- sf/agentic-docs-scaffold.d.ts
- sf/code-intelligence.d.ts
- sf/doc-checker.d.ts
- sf/doctor.d.ts
- sf/gitignore.d.ts
- sf/native-git-bridge.d.ts
- sf/paths.d.ts
- sf/preferences-models.d.ts
- sf/preferences.d.ts
- sf/repo-identity.d.ts
- sf/trace-collector.d.ts
- sf/types.d.ts

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 01:19:05 +02:00
Mikael Hugo
77e429a088 feat(schedule): CLI commands add/list/done/cancel/snooze/run + wiring 2026-05-05 01:18:02 +02:00
Mikael Hugo
b92d7bc96b sf snapshot: pre-dispatch, uncommitted changes after 33m inactivity 2026-05-05 01:11:49 +02:00
Mikael Hugo
d3954ff529 sf snapshot: pre-dispatch, uncommitted changes after 30m inactivity 2026-05-05 00:38:05 +02:00
Mikael Hugo
342871e85e docs: clarify guided planning artifacts 2026-05-05 00:07:48 +02:00
Mikael Hugo
959e15ef42 fix: wire bundled extension inventory 2026-05-05 00:04:53 +02:00
Mikael Hugo
47c806d733 fix: version sf extension runtime sources 2026-05-04 23:27:20 +02:00
Mikael Hugo
56aaf5bb45 sf snapshot: pre-dispatch, uncommitted changes after 42m inactivity 2026-05-04 22:41:07 +02:00
Mikael Hugo
4053819854 sf snapshot: pre-dispatch, uncommitted changes after 41m inactivity 2026-05-04 21:59:01 +02:00
Mikael Hugo
b8a5a01de4 refactor(skills): remove acquiring-skills bundled skill
The acquiring-skills skill was a personal developer workflow with
hardcoded paths that did not apply to general sf users.

Rationale for removal rather than generalization:
- SF bundled skills are already generic and installed for all users.
- External skills are consumed via the Anthropic marketplace.
- Per-project custom skills are covered by the creating-skills skill.

Resolves self-feedback sf-mookqlyr-snco79.
2026-05-04 21:17:59 +02:00
Mikael Hugo
66c7d6a47e refactor(skills): generalize acquiring-skills and remove personal references
Replace the developer-specific acquiring-skills skill with a generic
version that any SF user can follow.

Changes:
- Removed all personal references (/home/mhugo/code/, mikki-bunker,
  ace-coder, letta-workspace, dr-repo, singularity-package-intelligence)
- Replaced Method 2 (rsync from local repos) and Method 3 (rsync from
  bunker) with a generic local-project porting workflow
- Replaced Trusted Sources table with only public, universally
  accessible repositories (anthropics/skills, singularity-forge)
- Kept all safety rules (inspect scripts, no curl|bash, untrusted
  sources require approval)
- Kept the Adaptation Checklist for porting foreign skills to sf
- References the Anthropic skills marketplace as the primary source

Resolves self-feedback sf-mookqlyr-snco79.
2026-05-04 21:13:35 +02:00
Mikael Hugo
6037407c99 fix(auto): reconcile stale complete-slice runtime records at bootstrap
Prevents pi runtime flow-audit from emitting false-positive stale-dispatch
warnings for slices that completed successfully on retry.

Problem: when a complete-slice unit is cancelled (e.g. provider quota error)
and then retried successfully, the prior cancelled journal/runtime state can
still trigger a flow-audit warning on the next session start. The detector
reads the cancelled unit-end event but does not check for later successful
retries or existing artifact files (#sf-moqv5o7h-vaabu6).

Fix: at auto-mode bootstrap, after cleanStaleRuntimeUnits, run a new
reconcileStaleCompleteSliceRecords() pass that:
- Lists all unit runtime records for complete-slice units
- Filters for terminal non-completed states (cancelled, failed, stale,
  runaway-recovered)
- Checks DB slice status === 'complete'
- Checks SUMMARY.md exists with valid completed_at frontmatter
- Clears stale runtime records that pass both checks

Files changed:
- src/resources/extensions/sf/unit-runtime.js: add reconcileStaleCompleteSliceRecords
- src/resources/extensions/sf/auto-start.js: call it after cleanStaleRuntimeUnits
- src/tests/unit-runtime-reconcile.test.ts: unit tests for the new function
2026-05-04 20:45:33 +02:00
Mikael Hugo
ed4a4bc93a chore: commit current worktree state 2026-05-04 19:28:39 +02:00