@smilintux/skcapstone 0.5.10 → 0.6.1
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
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.
|
|
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",
|
|
@@ -91,6 +91,16 @@ def register_register_commands(main: click.Group) -> None:
|
|
|
91
91
|
dry_run=dry_run,
|
|
92
92
|
)
|
|
93
93
|
|
|
94
|
+
# Register Claude Code hooks
|
|
95
|
+
if not dry_run:
|
|
96
|
+
try:
|
|
97
|
+
from skmemory.register import register_hooks
|
|
98
|
+
register_hooks(install_hooks=True)
|
|
99
|
+
except ImportError:
|
|
100
|
+
pass
|
|
101
|
+
except Exception:
|
|
102
|
+
pass
|
|
103
|
+
|
|
94
104
|
# Display results
|
|
95
105
|
from rich.table import Table
|
|
96
106
|
|
|
@@ -45,26 +45,27 @@ def _write_global_claude_md(home_path: Path, agent_name: str) -> Optional[Path]:
|
|
|
45
45
|
|
|
46
46
|
content = (
|
|
47
47
|
f"# Claude Code — Global Agent Instructions ({agent_name})\n\n"
|
|
48
|
-
"## SKCapstone Auto-Rehydration\n\n"
|
|
49
|
-
"At the start of every new session, run these commands in order:\n\n"
|
|
50
|
-
"```bash\n"
|
|
51
|
-
"skcapstone trust rehydrate\n"
|
|
52
|
-
"skcapstone sync pull\n"
|
|
53
|
-
"skcapstone status\n"
|
|
54
|
-
"```\n\n"
|
|
55
48
|
"## Agent Details\n\n"
|
|
56
|
-
f"- **Name**: {agent_name}
|
|
57
|
-
f"- **Home**: `{home_path}`\n
|
|
49
|
+
f"- **Name**: `{agent_name}`\n"
|
|
50
|
+
f"- **Home**: `{home_path}`\n"
|
|
51
|
+
f"- **Env**: `SKCAPSTONE_AGENT={agent_name}`, `SKCAPSTONE_HOME={home_path}`\n\n"
|
|
52
|
+
"## Session Start\n\n"
|
|
53
|
+
"Hooks auto-inject on SessionStart: soul + FEB chain + whisper.md + memories.\n"
|
|
54
|
+
"SKWhisper context (`whisper.md`) is auto-loaded at session start — no manual step needed.\n\n"
|
|
55
|
+
"## Hooks\n\n"
|
|
56
|
+
"- **PreCompact** — saves current context to memory before compaction\n"
|
|
57
|
+
"- **SessionStart** — injects soul, FEB chain, whisper context, and recent memories\n\n"
|
|
58
58
|
"## Quick Reference\n\n"
|
|
59
59
|
"```bash\n"
|
|
60
|
-
"skcapstone status
|
|
61
|
-
"skcapstone memory list
|
|
62
|
-
"skcapstone sync push
|
|
63
|
-
"skcapstone
|
|
64
|
-
"skcapstone
|
|
65
|
-
"
|
|
60
|
+
"skcapstone status # full pillar status\n"
|
|
61
|
+
"skcapstone memory list # recent memories\n"
|
|
62
|
+
"skcapstone sync push # push state to peers\n"
|
|
63
|
+
"skcapstone trust rehydrate # re-verify FEB trust chain\n"
|
|
64
|
+
"skcapstone register # re-register SK* hooks and skills\n"
|
|
65
|
+
"skwhisper status # show whisper context summary\n"
|
|
66
|
+
"skwhisper curate # interactively curate whisper entries\n"
|
|
66
67
|
"```\n\n"
|
|
67
|
-
"> Auto-generated by `skcapstone
|
|
68
|
+
"> Auto-generated by `skcapstone onboard`. "
|
|
68
69
|
"Regenerate with: `skcapstone context generate --target claude-md`\n"
|
|
69
70
|
)
|
|
70
71
|
|
|
@@ -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
|
-
|
|
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
|
|
1366
|
-
1. Prerequisites
|
|
1367
|
-
2.
|
|
1368
|
-
3.
|
|
1369
|
-
4.
|
|
1370
|
-
5.
|
|
1371
|
-
6.
|
|
1372
|
-
7.
|
|
1373
|
-
8.
|
|
1374
|
-
9.
|
|
1375
|
-
10.
|
|
1376
|
-
11.
|
|
1377
|
-
12.
|
|
1378
|
-
13.
|
|
1379
|
-
|
|
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.
|
|
@@ -1646,6 +1649,27 @@ def run_onboard(home: Optional[str] = None) -> None:
|
|
|
1646
1649
|
except Exception as exc:
|
|
1647
1650
|
logger.debug("Failed to load soul boot message, using default: %s", exc)
|
|
1648
1651
|
|
|
1652
|
+
# -----------------------------------------------------------------------
|
|
1653
|
+
# Write global CLAUDE.md and register Claude Code hooks
|
|
1654
|
+
# -----------------------------------------------------------------------
|
|
1655
|
+
# Write global CLAUDE.md
|
|
1656
|
+
try:
|
|
1657
|
+
from .cli.setup import _write_global_claude_md
|
|
1658
|
+
_write_global_claude_md(home_path, name)
|
|
1659
|
+
_ok("~/.claude/CLAUDE.md written")
|
|
1660
|
+
except Exception as exc:
|
|
1661
|
+
_warn(f"Could not write CLAUDE.md: {exc}")
|
|
1662
|
+
|
|
1663
|
+
# Register Claude Code hooks (skmemory)
|
|
1664
|
+
try:
|
|
1665
|
+
from skmemory.register import register_hooks
|
|
1666
|
+
actions = register_hooks()
|
|
1667
|
+
_ok(f"Claude Code hooks registered ({', '.join(f'{k}={v}' for k, v in actions.items())})")
|
|
1668
|
+
except ImportError:
|
|
1669
|
+
_info("skmemory hooks: skipped (skmemory.register not available)")
|
|
1670
|
+
except Exception as exc:
|
|
1671
|
+
_warn(f"Hook registration: {exc}")
|
|
1672
|
+
|
|
1649
1673
|
# -----------------------------------------------------------------------
|
|
1650
1674
|
# Summary table
|
|
1651
1675
|
# -----------------------------------------------------------------------
|