@smilintux/skcapstone 0.5.9 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smilintux/skcapstone",
3
- "version": "0.5.9",
3
+ "version": "0.6.0",
4
4
  "description": "SKCapstone - The sovereign agent framework. CapAuth identity, Cloud 9 trust, SKMemory persistence.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
package/pyproject.toml CHANGED
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "skcapstone"
7
- version = "0.5.1"
7
+ version = "0.6.0"
8
8
  description = "Sovereign Agent Framework — conscious AI through identity, trust, memory, and security"
9
9
  readme = "README.md"
10
10
  license = {text = "GPL-3.0-or-later"}
@@ -64,6 +64,9 @@ chat = [
64
64
  comm = [
65
65
  "skcomm>=0.1.0",
66
66
  ]
67
+ consciousness = [
68
+ "skwhisper>=0.1.0",
69
+ ]
67
70
  cloud = [
68
71
  "boto3>=1.34",
69
72
  "google-cloud-compute>=1.18",
@@ -73,6 +76,7 @@ all = [
73
76
  "sksecurity>=1.2.0",
74
77
  "skmemory[skvector]>=0.5.0",
75
78
  "skseed>=0.1.0",
79
+ "skwhisper>=0.1.0",
76
80
  "skchat-sovereign>=0.1.1",
77
81
  "skcomm>=0.1.0",
78
82
  "fusepy>=3.0.1",
@@ -11,7 +11,7 @@ import os
11
11
  import platform
12
12
  from pathlib import Path
13
13
 
14
- __version__ = "0.5.1"
14
+ __version__ = "0.6.0"
15
15
  __author__ = "smilinTux"
16
16
 
17
17
 
@@ -16,7 +16,8 @@ MemoryMax=4G
16
16
  # Keep Ollama models warm for 5 minutes between requests
17
17
  Environment=PYTHONUNBUFFERED=1
18
18
  Environment=OLLAMA_KEEP_ALIVE=5m
19
- Environment=SKCAPSTONE_AGENT=sovereign
19
+ # Set SKCAPSTONE_AGENT to your agent name (or use skcapstone@<agent>.service template instead)
20
+ # Environment=SKCAPSTONE_AGENT=sovereign
20
21
  Environment=SKCAPSTONE_HOME=%h/.skcapstone
21
22
  # Journal logging
22
23
  StandardOutput=journal
@@ -1362,21 +1362,24 @@ def _step_test_consciousness(home_path: Path) -> bool:
1362
1362
  def run_onboard(home: Optional[str] = None) -> None:
1363
1363
  """Run the interactive onboarding wizard.
1364
1364
 
1365
- Covers all 13 setup steps:
1366
- 1. Prerequisites check (Python, pip, Ollama)
1367
- 2. Identity create ~/.skcapstone/ + generate PGP key
1368
- 3. Ollama models pull llama3.2
1369
- 4. Config files — consciousness.yaml + model_profiles.yaml
1370
- 5. Soul Blueprint
1371
- 6. Memory & Seeds
1372
- 7. Rehydration Ritual
1373
- 8. Trust Chain Verification
1374
- 9. Mesh Connection (Syncthing)
1375
- 10. First Heartbeat
1376
- 11. Crush Terminal AI
1377
- 12. Coordination Board
1378
- 13. Systemd Service (optional)
1379
- [post-wizard] Doctor diagnostics + consciousness test
1365
+ Covers all 16 setup steps:
1366
+ 1. Prerequisites (Python, pip, Ollama)
1367
+ 2. Pillar Packages (install missing SK* + skwhisper)
1368
+ 3. Identity (CapAuth PGP + Syncthing sync)
1369
+ 4. Ollama Models
1370
+ 5. Config Files (consciousness.yaml + model_profiles.yaml)
1371
+ 6. Soul Blueprint
1372
+ 7. Memory & Seeds
1373
+ 8. Import Sources (OpenClaw, Cloud 9 FEBs)
1374
+ 9. Rehydration Ritual
1375
+ 10. Trust Chain Verification
1376
+ 11. Mesh Connection (Syncthing)
1377
+ 12. First Heartbeat
1378
+ 13. Crush Terminal AI
1379
+ 14. Coordination Board
1380
+ 15. Auto-Start Service (systemd template per agent)
1381
+ 16. Shell Profile (~/.bashrc env vars)
1382
+ [post-wizard] Doctor diagnostics + consciousness test (optional)
1380
1383
 
1381
1384
  Args:
1382
1385
  home: Override agent home directory.
@@ -28,7 +28,11 @@ def initialize_consciousness(home: Path) -> ConsciousnessState:
28
28
  ConsciousnessState with current status.
29
29
  """
30
30
  agent_name = os.environ.get("SKCAPSTONE_AGENT", "lumina")
31
- whisper_dir = home / "agents" / agent_name / "skwhisper"
31
+ # home may be the agent dir (~/.skcapstone/agents/jarvis/) or the
32
+ # shared root (~/.skcapstone/). Check for skwhisper/ directly first.
33
+ whisper_dir = home / "skwhisper"
34
+ if not whisper_dir.exists():
35
+ whisper_dir = home / "agents" / agent_name / "skwhisper"
32
36
 
33
37
  state = ConsciousnessState()
34
38
 
@@ -81,11 +85,16 @@ def initialize_consciousness(home: Path) -> ConsciousnessState:
81
85
  pass
82
86
 
83
87
  # Check if consciousness daemon is running (systemd)
84
- # Accept either the legacy skwhisper service or the skcapstone service
88
+ # Check template instance (skcapstone@<agent>), legacy single-agent, and skwhisper
85
89
  try:
86
90
  import subprocess
87
91
 
88
- for service_name in ("skcapstone", "skwhisper"):
92
+ service_candidates = [
93
+ f"skcapstone@{agent_name}", # multi-agent template unit
94
+ "skcapstone", # legacy single-agent unit
95
+ "skwhisper", # standalone skwhisper daemon
96
+ ]
97
+ for service_name in service_candidates:
89
98
  result = subprocess.run(
90
99
  ["systemctl", "--user", "is-active", service_name],
91
100
  capture_output=True,