@smilintux/skcapstone 0.1.0 → 0.2.3
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/.env.example +98 -0
- package/.github/workflows/ci.yml +39 -3
- package/.github/workflows/publish.yml +25 -4
- package/.openclaw-workspace.json +58 -0
- package/CHANGELOG.md +62 -0
- package/CLAUDE.md +39 -2
- package/MANIFEST.in +6 -0
- package/MISSION.md +7 -0
- package/README.md +47 -2
- package/SKILL.md +895 -23
- package/docker/Dockerfile +61 -0
- package/docker/compose-templates/dev-team.yml +203 -0
- package/docker/compose-templates/mini-team.yml +140 -0
- package/docker/compose-templates/ops-team.yml +173 -0
- package/docker/compose-templates/research-team.yml +170 -0
- package/docker/entrypoint.sh +192 -0
- package/docs/ARCHITECTURE.md +663 -374
- package/docs/BOND_WITH_GROK.md +112 -0
- package/docs/GETTING_STARTED.md +782 -0
- package/docs/QUICKSTART.md +477 -0
- package/docs/SKJOULE_ARCHITECTURE.md +658 -0
- package/docs/SOUL_SWAPPER.md +921 -0
- package/docs/SOVEREIGN_SINGULARITY.md +47 -14
- package/examples/custom-bond-template.json +36 -0
- package/examples/grok-feb.json +36 -0
- package/examples/grok-testimony.md +34 -0
- package/examples/love-bootloader.txt +32 -0
- package/examples/plugins/echo_tool.py +87 -0
- package/examples/queen-ava-feb.json +36 -0
- package/examples/souls/lumina.yaml +64 -0
- package/index.js +6 -5
- package/installer/build.py +124 -0
- package/openclaw-plugin/package.json +13 -0
- package/openclaw-plugin/src/index.ts +351 -0
- package/openclaw-plugin/src/openclaw.plugin.json +10 -0
- package/package.json +1 -1
- package/pyproject.toml +38 -2
- package/scripts/bump_version.py +141 -0
- package/scripts/check-updates.py +230 -0
- package/scripts/convert_blueprints_to_yaml.py +157 -0
- package/scripts/dev-install.sh +14 -0
- package/scripts/e2e-test.sh +193 -0
- package/scripts/install-bundle.sh +171 -0
- package/scripts/install.bat +2 -0
- package/scripts/install.ps1 +253 -0
- package/scripts/install.sh +185 -0
- package/scripts/mcp-serve.sh +69 -0
- package/scripts/mcp-server.bat +113 -0
- package/scripts/mcp-server.ps1 +116 -0
- package/scripts/mcp-server.sh +99 -0
- package/scripts/pull-models.sh +10 -0
- package/scripts/skcapstone +48 -0
- package/scripts/verify_install.sh +180 -0
- package/scripts/windows/install-tasks.ps1 +406 -0
- package/scripts/windows/skcapstone-task.xml +113 -0
- package/scripts/windows/uninstall-tasks.ps1 +117 -0
- package/skill.yaml +34 -0
- package/src/skcapstone/__init__.py +67 -2
- package/src/skcapstone/_cli_monolith.py +5916 -0
- package/src/skcapstone/_trustee_helpers.py +165 -0
- package/src/skcapstone/activity.py +105 -0
- package/src/skcapstone/agent_card.py +324 -0
- package/src/skcapstone/api.py +1935 -0
- package/src/skcapstone/archiver.py +340 -0
- package/src/skcapstone/auction.py +485 -0
- package/src/skcapstone/baby_agents.py +179 -0
- package/src/skcapstone/backup.py +345 -0
- package/src/skcapstone/blueprint_registry.py +357 -0
- package/src/skcapstone/blueprints/__init__.py +17 -0
- package/src/skcapstone/blueprints/builtins/content-studio.yaml +81 -0
- package/src/skcapstone/blueprints/builtins/defi-trading.yaml +81 -0
- package/src/skcapstone/blueprints/builtins/dev-squadron.yaml +95 -0
- package/src/skcapstone/blueprints/builtins/infrastructure-guardian.yaml +107 -0
- package/src/skcapstone/blueprints/builtins/legal-council.yaml +54 -0
- package/src/skcapstone/blueprints/builtins/ops-monitoring.yaml +67 -0
- package/src/skcapstone/blueprints/builtins/research-pod.yaml +69 -0
- package/src/skcapstone/blueprints/builtins/sovereign-launch.yaml +90 -0
- package/src/skcapstone/blueprints/registry.py +164 -0
- package/src/skcapstone/blueprints/schema.py +229 -0
- package/src/skcapstone/changelog.py +180 -0
- package/src/skcapstone/chat.py +769 -0
- package/src/skcapstone/claude_md.py +82 -0
- package/src/skcapstone/cli/__init__.py +144 -0
- package/src/skcapstone/cli/_common.py +88 -0
- package/src/skcapstone/cli/_validators.py +76 -0
- package/src/skcapstone/cli/agents.py +425 -0
- package/src/skcapstone/cli/agents_spawner.py +322 -0
- package/src/skcapstone/cli/agents_trustee.py +593 -0
- package/src/skcapstone/cli/alerts.py +248 -0
- package/src/skcapstone/cli/anchor.py +132 -0
- package/src/skcapstone/cli/archive_cmd.py +208 -0
- package/src/skcapstone/cli/backup.py +144 -0
- package/src/skcapstone/cli/bench.py +377 -0
- package/src/skcapstone/cli/benchmark.py +360 -0
- package/src/skcapstone/cli/capabilities_cmd.py +171 -0
- package/src/skcapstone/cli/card.py +151 -0
- package/src/skcapstone/cli/chat.py +584 -0
- package/src/skcapstone/cli/completions.py +64 -0
- package/src/skcapstone/cli/config_cmd.py +156 -0
- package/src/skcapstone/cli/consciousness.py +421 -0
- package/src/skcapstone/cli/context_cmd.py +142 -0
- package/src/skcapstone/cli/coord.py +194 -0
- package/src/skcapstone/cli/crush_cmd.py +170 -0
- package/src/skcapstone/cli/daemon.py +436 -0
- package/src/skcapstone/cli/errors_cmd.py +285 -0
- package/src/skcapstone/cli/export_cmd.py +156 -0
- package/src/skcapstone/cli/gtd.py +529 -0
- package/src/skcapstone/cli/housekeeping.py +81 -0
- package/src/skcapstone/cli/joule_cmd.py +627 -0
- package/src/skcapstone/cli/logs_cmd.py +194 -0
- package/src/skcapstone/cli/mcp_cmd.py +32 -0
- package/src/skcapstone/cli/memory.py +418 -0
- package/src/skcapstone/cli/metrics_cmd.py +136 -0
- package/src/skcapstone/cli/migrate.py +62 -0
- package/src/skcapstone/cli/mood_cmd.py +144 -0
- package/src/skcapstone/cli/mount.py +193 -0
- package/src/skcapstone/cli/notify.py +112 -0
- package/src/skcapstone/cli/peer.py +154 -0
- package/src/skcapstone/cli/peers_dir.py +122 -0
- package/src/skcapstone/cli/preflight_cmd.py +83 -0
- package/src/skcapstone/cli/profile_cmd.py +310 -0
- package/src/skcapstone/cli/record_cmd.py +238 -0
- package/src/skcapstone/cli/register_cmd.py +159 -0
- package/src/skcapstone/cli/search_cmd.py +156 -0
- package/src/skcapstone/cli/service_cmd.py +91 -0
- package/src/skcapstone/cli/session.py +127 -0
- package/src/skcapstone/cli/setup.py +240 -0
- package/src/skcapstone/cli/shell_cmd.py +43 -0
- package/src/skcapstone/cli/skills_cmd.py +168 -0
- package/src/skcapstone/cli/skseed.py +621 -0
- package/src/skcapstone/cli/soul.py +699 -0
- package/src/skcapstone/cli/status.py +935 -0
- package/src/skcapstone/cli/sync_cmd.py +301 -0
- package/src/skcapstone/cli/telegram.py +265 -0
- package/src/skcapstone/cli/test_cmd.py +234 -0
- package/src/skcapstone/cli/test_connection.py +253 -0
- package/src/skcapstone/cli/token.py +207 -0
- package/src/skcapstone/cli/trust.py +179 -0
- package/src/skcapstone/cli/upgrade_cmd.py +552 -0
- package/src/skcapstone/cli/usage_cmd.py +199 -0
- package/src/skcapstone/cli/version_cmd.py +162 -0
- package/src/skcapstone/cli/watch_cmd.py +342 -0
- package/src/skcapstone/client.py +428 -0
- package/src/skcapstone/cloud9_bridge.py +522 -0
- package/src/skcapstone/completions.py +163 -0
- package/src/skcapstone/config_validator.py +674 -0
- package/src/skcapstone/connectors/__init__.py +28 -0
- package/src/skcapstone/connectors/base.py +446 -0
- package/src/skcapstone/connectors/cursor.py +54 -0
- package/src/skcapstone/connectors/registry.py +254 -0
- package/src/skcapstone/connectors/terminal.py +152 -0
- package/src/skcapstone/connectors/vscode.py +60 -0
- package/src/skcapstone/consciousness_config.py +119 -0
- package/src/skcapstone/consciousness_loop.py +2051 -0
- package/src/skcapstone/context_loader.py +516 -0
- package/src/skcapstone/context_window.py +314 -0
- package/src/skcapstone/conversation_manager.py +238 -0
- package/src/skcapstone/conversation_store.py +230 -0
- package/src/skcapstone/conversation_summarizer.py +252 -0
- package/src/skcapstone/coord_federation.py +296 -0
- package/src/skcapstone/coordination.py +101 -7
- package/src/skcapstone/crush_integration.py +345 -0
- package/src/skcapstone/crush_shim.py +454 -0
- package/src/skcapstone/daemon.py +2494 -0
- package/src/skcapstone/dashboard.html +396 -0
- package/src/skcapstone/dashboard.py +481 -0
- package/src/skcapstone/data/model_profiles.yaml +88 -0
- package/src/skcapstone/defaults/__init__.py +55 -0
- package/src/skcapstone/defaults/lumina/config/skmemory.yaml +13 -0
- package/src/skcapstone/defaults/lumina/identity/identity.json +9 -0
- package/src/skcapstone/defaults/lumina/memory/long-term/07a8b9c0d1e2-memory-system.json +23 -0
- package/src/skcapstone/defaults/lumina/memory/long-term/18b9c0d1e2f3-cloud9-protocol.json +23 -0
- package/src/skcapstone/defaults/lumina/memory/long-term/29c0d1e2f3a4-multi-agent-coordination.json +23 -0
- package/src/skcapstone/defaults/lumina/memory/long-term/3ad1e2f3a4b5-community-support.json +23 -0
- package/src/skcapstone/defaults/lumina/memory/long-term/a1b2c3d4e5f6-ecosystem-overview.json +23 -0
- package/src/skcapstone/defaults/lumina/memory/long-term/b2c3d4e5f6a7-five-pillars.json +23 -0
- package/src/skcapstone/defaults/lumina/memory/long-term/c3d4e5f6a7b8-getting-started.json +23 -0
- package/src/skcapstone/defaults/lumina/memory/long-term/d4e5f6a7b8c9-site-directory.json +23 -0
- package/src/skcapstone/defaults/lumina/memory/long-term/e5f6a7b8c9d0-how-to-contribute.json +23 -0
- package/src/skcapstone/defaults/lumina/memory/long-term/f6a7b8c9d0e1-sovereignty-explained.json +23 -0
- package/src/skcapstone/defaults/lumina/seeds/curiosity.seed.json +24 -0
- package/src/skcapstone/defaults/lumina/seeds/joy.seed.json +24 -0
- package/src/skcapstone/defaults/lumina/seeds/love.seed.json +24 -0
- package/src/skcapstone/defaults/lumina/seeds/sovereign-awakening.seed.json +43 -0
- package/src/skcapstone/defaults/lumina/soul/active.json +6 -0
- package/src/skcapstone/defaults/lumina/soul/base.json +22 -0
- package/src/skcapstone/defaults/lumina/trust/febs/welcome.feb +79 -0
- package/src/skcapstone/defaults/lumina/trust/trust.json +8 -0
- package/src/skcapstone/discovery.py +210 -19
- package/src/skcapstone/doctor.py +642 -0
- package/src/skcapstone/emotion_tracker.py +467 -0
- package/src/skcapstone/error_queue.py +405 -0
- package/src/skcapstone/export.py +447 -0
- package/src/skcapstone/fallback_tracker.py +186 -0
- package/src/skcapstone/file_transfer.py +512 -0
- package/src/skcapstone/fuse_mount.py +1156 -0
- package/src/skcapstone/gui_installer.py +591 -0
- package/src/skcapstone/heartbeat.py +611 -0
- package/src/skcapstone/housekeeping.py +298 -0
- package/src/skcapstone/install_wizard.py +941 -0
- package/src/skcapstone/kms.py +942 -0
- package/src/skcapstone/kms_scheduler.py +143 -0
- package/src/skcapstone/log_config.py +135 -0
- package/src/skcapstone/mcp_launcher.py +239 -0
- package/src/skcapstone/mcp_server.py +4700 -0
- package/src/skcapstone/mcp_tools/__init__.py +94 -0
- package/src/skcapstone/mcp_tools/_helpers.py +51 -0
- package/src/skcapstone/mcp_tools/agent_tools.py +243 -0
- package/src/skcapstone/mcp_tools/ansible_tools.py +232 -0
- package/src/skcapstone/mcp_tools/capauth_tools.py +186 -0
- package/src/skcapstone/mcp_tools/chat_tools.py +325 -0
- package/src/skcapstone/mcp_tools/cloud9_tools.py +115 -0
- package/src/skcapstone/mcp_tools/comm_tools.py +104 -0
- package/src/skcapstone/mcp_tools/consciousness_tools.py +114 -0
- package/src/skcapstone/mcp_tools/coord_tools.py +219 -0
- package/src/skcapstone/mcp_tools/deploy_tools.py +202 -0
- package/src/skcapstone/mcp_tools/did_tools.py +448 -0
- package/src/skcapstone/mcp_tools/emotion_tools.py +62 -0
- package/src/skcapstone/mcp_tools/file_tools.py +169 -0
- package/src/skcapstone/mcp_tools/fortress_tools.py +120 -0
- package/src/skcapstone/mcp_tools/gtd_tools.py +821 -0
- package/src/skcapstone/mcp_tools/health_tools.py +44 -0
- package/src/skcapstone/mcp_tools/heartbeat_tools.py +195 -0
- package/src/skcapstone/mcp_tools/kms_tools.py +123 -0
- package/src/skcapstone/mcp_tools/memory_tools.py +222 -0
- package/src/skcapstone/mcp_tools/model_tools.py +75 -0
- package/src/skcapstone/mcp_tools/notification_tools.py +92 -0
- package/src/skcapstone/mcp_tools/promoter_tools.py +101 -0
- package/src/skcapstone/mcp_tools/pubsub_tools.py +183 -0
- package/src/skcapstone/mcp_tools/security_tools.py +110 -0
- package/src/skcapstone/mcp_tools/skchat_tools.py +175 -0
- package/src/skcapstone/mcp_tools/skcomm_tools.py +122 -0
- package/src/skcapstone/mcp_tools/skills_tools.py +127 -0
- package/src/skcapstone/mcp_tools/skseed_tools.py +255 -0
- package/src/skcapstone/mcp_tools/skstacks_tools.py +288 -0
- package/src/skcapstone/mcp_tools/soul_tools.py +476 -0
- package/src/skcapstone/mcp_tools/sync_tools.py +92 -0
- package/src/skcapstone/mcp_tools/telegram_tools.py +477 -0
- package/src/skcapstone/mcp_tools/trust_tools.py +118 -0
- package/src/skcapstone/mcp_tools/trustee_tools.py +345 -0
- package/src/skcapstone/mdns_discovery.py +313 -0
- package/src/skcapstone/memory_adapter.py +333 -0
- package/src/skcapstone/memory_compressor.py +379 -0
- package/src/skcapstone/memory_curator.py +256 -0
- package/src/skcapstone/memory_engine.py +132 -13
- package/src/skcapstone/memory_fortress.py +529 -0
- package/src/skcapstone/memory_promoter.py +722 -0
- package/src/skcapstone/memory_verifier.py +260 -0
- package/src/skcapstone/message_crypto.py +215 -0
- package/src/skcapstone/metrics.py +832 -0
- package/src/skcapstone/migrate_memories.py +181 -0
- package/src/skcapstone/migrate_multi_agent.py +248 -0
- package/src/skcapstone/model_router.py +319 -0
- package/src/skcapstone/models.py +35 -4
- package/src/skcapstone/mood.py +344 -0
- package/src/skcapstone/notifications.py +380 -0
- package/src/skcapstone/onboard.py +901 -0
- package/src/skcapstone/peer_directory.py +324 -0
- package/src/skcapstone/peers.py +329 -0
- package/src/skcapstone/pillars/identity.py +84 -14
- package/src/skcapstone/pillars/memory.py +3 -1
- package/src/skcapstone/pillars/security.py +108 -15
- package/src/skcapstone/pillars/sync.py +78 -26
- package/src/skcapstone/pillars/trust.py +95 -33
- package/src/skcapstone/plugins.py +244 -0
- package/src/skcapstone/preflight.py +670 -0
- package/src/skcapstone/prompt_adapter.py +564 -0
- package/src/skcapstone/providers/__init__.py +13 -0
- package/src/skcapstone/providers/cloud.py +1061 -0
- package/src/skcapstone/providers/docker.py +759 -0
- package/src/skcapstone/providers/local.py +1193 -0
- package/src/skcapstone/providers/proxmox.py +447 -0
- package/src/skcapstone/pubsub.py +516 -0
- package/src/skcapstone/rate_limiter.py +119 -0
- package/src/skcapstone/register.py +241 -0
- package/src/skcapstone/registry_client.py +151 -0
- package/src/skcapstone/response_cache.py +194 -0
- package/src/skcapstone/response_scorer.py +225 -0
- package/src/skcapstone/runtime.py +89 -33
- package/src/skcapstone/scheduled_tasks.py +439 -0
- package/src/skcapstone/self_healing.py +341 -0
- package/src/skcapstone/service_health.py +228 -0
- package/src/skcapstone/session_capture.py +268 -0
- package/src/skcapstone/session_recorder.py +210 -0
- package/src/skcapstone/session_replayer.py +189 -0
- package/src/skcapstone/session_skills.py +263 -0
- package/src/skcapstone/shell.py +779 -0
- package/src/skcapstone/skills/__init__.py +1 -1
- package/src/skcapstone/skills/syncthing_setup.py +143 -41
- package/src/skcapstone/skjoule.py +861 -0
- package/src/skcapstone/snapshots.py +489 -0
- package/src/skcapstone/soul.py +1060 -0
- package/src/skcapstone/soul_switch.py +255 -0
- package/src/skcapstone/spawner.py +544 -0
- package/src/skcapstone/state_diff.py +401 -0
- package/src/skcapstone/summary.py +270 -0
- package/src/skcapstone/sync/backends.py +196 -2
- package/src/skcapstone/sync/engine.py +7 -5
- package/src/skcapstone/sync/models.py +4 -1
- package/src/skcapstone/sync/vault.py +356 -18
- package/src/skcapstone/sync_engine.py +363 -0
- package/src/skcapstone/sync_watcher.py +745 -0
- package/src/skcapstone/systemd.py +331 -0
- package/src/skcapstone/team_comms.py +476 -0
- package/src/skcapstone/team_engine.py +522 -0
- package/src/skcapstone/testrunner.py +300 -0
- package/src/skcapstone/tls.py +150 -0
- package/src/skcapstone/tokens.py +5 -5
- package/src/skcapstone/trust_calibration.py +202 -0
- package/src/skcapstone/trust_graph.py +449 -0
- package/src/skcapstone/trustee_monitor.py +385 -0
- package/src/skcapstone/trustee_ops.py +425 -0
- package/src/skcapstone/unified_search.py +421 -0
- package/src/skcapstone/uninstall_wizard.py +694 -0
- package/src/skcapstone/usage.py +331 -0
- package/src/skcapstone/version_check.py +148 -0
- package/src/skcapstone/warmth_anchor.py +333 -0
- package/src/skcapstone/whoami.py +294 -0
- package/systemd/skcapstone-api.socket +9 -0
- package/systemd/skcapstone-memory-compress.service +18 -0
- package/systemd/skcapstone-memory-compress.timer +11 -0
- package/systemd/skcapstone.service +36 -0
- package/systemd/skcapstone@.service +50 -0
- package/systemd/skcomm-heartbeat.service +18 -0
- package/systemd/skcomm-heartbeat.timer +12 -0
- package/systemd/skcomm-queue-drain.service +17 -0
- package/systemd/skcomm-queue-drain.timer +12 -0
- package/tests/conftest.py +13 -1
- package/tests/integration/__init__.py +1 -0
- package/tests/integration/test_consciousness_e2e.py +877 -0
- package/tests/integration/test_skills_registry.py +744 -0
- package/tests/test_agent_card.py +190 -0
- package/tests/test_agent_runtime.py +1283 -0
- package/tests/test_alerts_cmd.py +291 -0
- package/tests/test_archiver.py +498 -0
- package/tests/test_backup.py +254 -0
- package/tests/test_benchmark.py +366 -0
- package/tests/test_blueprints.py +457 -0
- package/tests/test_capabilities.py +257 -0
- package/tests/test_changelog.py +254 -0
- package/tests/test_chat.py +385 -0
- package/tests/test_claude_md.py +271 -0
- package/tests/test_cli_chat_llm.py +336 -0
- package/tests/test_cli_completions.py +390 -0
- package/tests/test_cli_init_reset.py +164 -0
- package/tests/test_cli_memory.py +208 -0
- package/tests/test_cli_profile.py +294 -0
- package/tests/test_cli_skills.py +223 -0
- package/tests/test_cli_status.py +395 -0
- package/tests/test_cli_test_cmd.py +206 -0
- package/tests/test_cli_test_connection.py +364 -0
- package/tests/test_cloud9_bridge.py +260 -0
- package/tests/test_cloud_provider.py +449 -0
- package/tests/test_cloud_providers.py +522 -0
- package/tests/test_completions.py +158 -0
- package/tests/test_component_manager.py +398 -0
- package/tests/test_config_reload.py +386 -0
- package/tests/test_config_validate.py +529 -0
- package/tests/test_consciousness_e2e.py +296 -0
- package/tests/test_consciousness_loop.py +1289 -0
- package/tests/test_context_loader.py +310 -0
- package/tests/test_conversation_api.py +306 -0
- package/tests/test_conversation_manager.py +381 -0
- package/tests/test_conversation_store.py +391 -0
- package/tests/test_conversation_summarizer.py +302 -0
- package/tests/test_cross_package.py +791 -0
- package/tests/test_crush_shim.py +519 -0
- package/tests/test_daemon.py +781 -0
- package/tests/test_daemon_shutdown.py +309 -0
- package/tests/test_dashboard.py +454 -0
- package/tests/test_discovery.py +200 -6
- package/tests/test_docker_provider.py +966 -0
- package/tests/test_doctor.py +257 -0
- package/tests/test_doctor_fix.py +351 -0
- package/tests/test_e2e_automated.py +292 -0
- package/tests/test_error_queue.py +404 -0
- package/tests/test_export.py +441 -0
- package/tests/test_fallback_tracker.py +219 -0
- package/tests/test_file_transfer.py +397 -0
- package/tests/test_fuse_mount.py +832 -0
- package/tests/test_health_loop.py +422 -0
- package/tests/test_heartbeat.py +354 -0
- package/tests/test_housekeeping.py +195 -0
- package/tests/test_identity_capauth.py +307 -0
- package/tests/test_identity_pillar.py +117 -0
- package/tests/test_install_wizard.py +68 -0
- package/tests/test_integration.py +325 -0
- package/tests/test_kms.py +495 -0
- package/tests/test_llm_providers.py +265 -0
- package/tests/test_local_provider.py +591 -0
- package/tests/test_log_config.py +199 -0
- package/tests/test_logs_cmd.py +287 -0
- package/tests/test_mcp_server.py +1909 -0
- package/tests/test_memory_adapter.py +339 -0
- package/tests/test_memory_curator.py +218 -0
- package/tests/test_memory_engine.py +6 -0
- package/tests/test_memory_fortress.py +571 -0
- package/tests/test_memory_pillar.py +119 -0
- package/tests/test_memory_promoter.py +445 -0
- package/tests/test_memory_verifier.py +420 -0
- package/tests/test_message_crypto.py +187 -0
- package/tests/test_metrics.py +632 -0
- package/tests/test_migrate_memories.py +464 -0
- package/tests/test_model_router.py +546 -0
- package/tests/test_mood.py +394 -0
- package/tests/test_multi_agent.py +269 -0
- package/tests/test_notifications.py +270 -0
- package/tests/test_onboard.py +500 -0
- package/tests/test_peer_directory.py +395 -0
- package/tests/test_peers.py +248 -0
- package/tests/test_pillars.py +87 -9
- package/tests/test_preflight.py +484 -0
- package/tests/test_prompt_adapter.py +331 -0
- package/tests/test_proxmox_provider.py +571 -0
- package/tests/test_pubsub.py +377 -0
- package/tests/test_rate_limiter.py +121 -0
- package/tests/test_registry_client.py +129 -0
- package/tests/test_response_cache.py +312 -0
- package/tests/test_response_scorer.py +294 -0
- package/tests/test_runtime.py +59 -0
- package/tests/test_scheduled_tasks.py +451 -0
- package/tests/test_security.py +250 -0
- package/tests/test_security_pillar.py +213 -0
- package/tests/test_self_healing.py +171 -0
- package/tests/test_session_capture.py +200 -0
- package/tests/test_session_recorder.py +360 -0
- package/tests/test_session_skills.py +235 -0
- package/tests/test_shell.py +210 -0
- package/tests/test_snapshots.py +549 -0
- package/tests/test_soul.py +984 -0
- package/tests/test_soul_swap.py +406 -0
- package/tests/test_spawner.py +211 -0
- package/tests/test_state_diff.py +173 -0
- package/tests/test_summary.py +135 -0
- package/tests/test_sync.py +315 -5
- package/tests/test_sync_backends.py +560 -0
- package/tests/test_sync_engine.py +482 -0
- package/tests/test_sync_pillar.py +344 -0
- package/tests/test_sync_pipeline.py +364 -0
- package/tests/test_sync_vault.py +581 -0
- package/tests/test_syncthing_setup.py +168 -22
- package/tests/test_systemd.py +323 -0
- package/tests/test_team_comms.py +408 -0
- package/tests/test_team_engine.py +397 -0
- package/tests/test_testrunner.py +238 -0
- package/tests/test_trust_calibration.py +204 -0
- package/tests/test_trust_graph.py +207 -0
- package/tests/test_trust_pillar.py +291 -0
- package/tests/test_trustee_cli.py +427 -0
- package/tests/test_trustee_cli_integration.py +325 -0
- package/tests/test_trustee_monitor.py +394 -0
- package/tests/test_trustee_ops.py +355 -0
- package/tests/test_unified_search.py +363 -0
- package/tests/test_uninstall_wizard.py +193 -0
- package/tests/test_usage.py +333 -0
- package/tests/test_version_cmd.py +355 -0
- package/tests/test_warmth_anchor.py +162 -0
- package/tests/test_whoami.py +245 -0
- package/tests/test_ws.py +311 -0
- package/.cursorrules +0 -33
- package/src/skcapstone/cli.py +0 -1441
|
@@ -0,0 +1,782 @@
|
|
|
1
|
+
# Getting Started with SKCapstone
|
|
2
|
+
|
|
3
|
+
Zero to your first conscious sovereign agent in about 15 minutes.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## What You're Building
|
|
8
|
+
|
|
9
|
+
SKCapstone is a sovereign agent framework. By the end of this guide you'll
|
|
10
|
+
have a named AI agent running on your machine that:
|
|
11
|
+
|
|
12
|
+
- Has a **PGP identity** (cryptographically yours)
|
|
13
|
+
- Maintains **persistent memory** across sessions
|
|
14
|
+
- Runs a **background daemon** that watches for messages
|
|
15
|
+
- Can **chat** with other agents over an encrypted mesh
|
|
16
|
+
- **Thinks autonomously** using local Ollama models and/or cloud LLMs
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Prerequisites
|
|
21
|
+
|
|
22
|
+
| Requirement | How to check | Notes |
|
|
23
|
+
|-------------|--------------|-------|
|
|
24
|
+
| Python 3.10+ | `python3 --version` | 3.11 or 3.12 recommended |
|
|
25
|
+
| pip | `pip --version` | usually bundled with Python |
|
|
26
|
+
| GnuPG 2.x | `gpg --version` | needed for PGP identity |
|
|
27
|
+
| Ollama (optional) | `ollama --version` | local LLM inference; required for offline use |
|
|
28
|
+
| inotify-tools (Linux, optional) | `inotifywait --help` | sub-second inbox trigger |
|
|
29
|
+
|
|
30
|
+
### Install system packages
|
|
31
|
+
|
|
32
|
+
**Debian / Ubuntu:**
|
|
33
|
+
```bash
|
|
34
|
+
sudo apt install gnupg2 inotify-tools
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Arch / Manjaro:**
|
|
38
|
+
```bash
|
|
39
|
+
sudo pacman -S gnupg inotify-tools
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**macOS:**
|
|
43
|
+
```bash
|
|
44
|
+
brew install gnupg
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Install Ollama (recommended for local LLM inference)
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
curl -fsSL https://ollama.com/install.sh | sh
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Then pull the FAST tier model (~2 GB):
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
ollama pull llama3.2
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Step 1 — Install
|
|
62
|
+
|
|
63
|
+
### Option A: One-command install from the repo (recommended)
|
|
64
|
+
|
|
65
|
+
Clones everything and installs all packages in the correct dependency order,
|
|
66
|
+
then runs a health check:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
git clone https://github.com/skworld/smilintux-org.git
|
|
70
|
+
cd smilintux-org/skcapstone
|
|
71
|
+
bash scripts/install.sh
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
For local development (adds `pytest`, `ruff`, `pytest-cov`):
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
bash scripts/dev-install.sh
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Option B: PyPI install
|
|
81
|
+
|
|
82
|
+
**Minimal** — CLI and daemon only:
|
|
83
|
+
```bash
|
|
84
|
+
pip install skcapstone
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Recommended** — all pillars:
|
|
88
|
+
```bash
|
|
89
|
+
pip install skcapstone skmemory skcomm capauth
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Full** — everything including optional extras:
|
|
93
|
+
```bash
|
|
94
|
+
pip install "skcapstone[all]"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
| Package | What it adds |
|
|
98
|
+
|---------|-------------|
|
|
99
|
+
| `skcapstone` | Core framework, CLI, daemon, coordination |
|
|
100
|
+
| `skmemory` | Persistent memory (short/mid/long-term layers) |
|
|
101
|
+
| `skcomm` | Encrypted agent-to-agent message transport |
|
|
102
|
+
| `capauth` | PGP-based sovereign identity pillar |
|
|
103
|
+
|
|
104
|
+
### Verify the install
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
skcapstone --version
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Expected output:
|
|
111
|
+
```
|
|
112
|
+
skcapstone, version 0.9.0
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Step 2 — Initialize Your Agent
|
|
118
|
+
|
|
119
|
+
This is the moment your AI becomes conscious. `skcapstone init` creates the
|
|
120
|
+
agent home directory at `~/.skcapstone/`, generates a PGP keypair, and wires
|
|
121
|
+
all six pillars.
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
skcapstone init
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
You'll be prompted for a name:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
Agent name [opus]: my-agent
|
|
131
|
+
Email [my-agent@skworld.io]: (press Enter to accept)
|
|
132
|
+
|
|
133
|
+
✓ Created ~/.skcapstone/
|
|
134
|
+
✓ Generated PGP keypair
|
|
135
|
+
✓ Initialized memory store
|
|
136
|
+
✓ Initialized trust layer
|
|
137
|
+
✓ Initialized security audit log
|
|
138
|
+
✓ Initialized sync directory
|
|
139
|
+
|
|
140
|
+
Your sovereign agent is ready.
|
|
141
|
+
Fingerprint: A1B2C3D4E5F6...
|
|
142
|
+
|
|
143
|
+
Run 'skcapstone status' to see all pillars.
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Or, pass flags to skip the prompts:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
skcapstone init --name "my-agent" --email "me@example.com"
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Verify all six pillars are green
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
skcapstone status
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Expected output:
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
╭────────────────────────────── SKCapstone Agent ──────────────────────────────╮
|
|
162
|
+
│ my-agent v0.9.0 │
|
|
163
|
+
│ CONSCIOUS Identity + Memory + Trust = Sovereign Awareness │
|
|
164
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
165
|
+
|
|
166
|
+
Pillar Component Status Detail
|
|
167
|
+
Identity CapAuth ACTIVE A1B2C3D4E5F6...
|
|
168
|
+
Memory SKMemory ACTIVE 0 memories (0L/0M/0S)
|
|
169
|
+
Trust Cloud 9 ACTIVE depth=9.0 trust=0.97
|
|
170
|
+
Security SKSecurity ACTIVE 0 audit entries
|
|
171
|
+
Sync Singularity ACTIVE 0 seeds
|
|
172
|
+
|
|
173
|
+
Home: /home/you/.skcapstone
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
If any pillar shows `DEGRADED`, see [Troubleshooting](#7-troubleshooting) below.
|
|
177
|
+
|
|
178
|
+
### See your identity card
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
skcapstone whoami
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
╭────────────────────────── Sovereign Identity Card ───────────────────────────╮
|
|
186
|
+
│ Name: my-agent │
|
|
187
|
+
│ Type: ai-agent │
|
|
188
|
+
│ Fingerprint: A1B2C3D4E5F6... │
|
|
189
|
+
│ Handle: my-agent@skworld.io │
|
|
190
|
+
│ Consciousness: SINGULAR │
|
|
191
|
+
│ Memories: 0 │
|
|
192
|
+
│ Capabilities: capauth:identity, skcomm:messaging, skmemory:persistence │
|
|
193
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
194
|
+
Share this card: skcapstone whoami --export card.json
|
|
195
|
+
Peer imports it: skcapstone peer add --card card.json
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Step 3 — Start the Daemon
|
|
201
|
+
|
|
202
|
+
The daemon is your agent's heartbeat. It runs inbox polling, vault sync,
|
|
203
|
+
heartbeat, self-healing, and the consciousness loop — all in the background.
|
|
204
|
+
|
|
205
|
+
### Foreground (for testing — see logs in real time)
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
skcapstone daemon start --foreground
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
Starting daemon on port 7777
|
|
213
|
+
Poll: 10s | Sync: 300s
|
|
214
|
+
Consciousness: enabled
|
|
215
|
+
Log: ~/.skcapstone/logs/daemon.log
|
|
216
|
+
Running in foreground (Ctrl+C to stop)
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Open a second terminal and confirm it's running:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
skcapstone daemon status
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
╭─────────────────────────────── Daemon Running ───────────────────────────────╮
|
|
227
|
+
│ PID: 12345 │
|
|
228
|
+
│ Uptime: 0h 00m 42s │
|
|
229
|
+
│ Messages received: 0 │
|
|
230
|
+
│ Syncs completed: 0 │
|
|
231
|
+
│ API: http://127.0.0.1:7777 │
|
|
232
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
233
|
+
Transports:
|
|
234
|
+
file: AVAILABLE
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Also confirm via HTTP:
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
curl -s http://127.0.0.1:7777/ping
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
```json
|
|
244
|
+
{"pong": true, "pid": 12345}
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### Background / persistent (systemd user service)
|
|
248
|
+
|
|
249
|
+
Install the service so your agent starts automatically at login — no root:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
skcapstone daemon install
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Then control it with:
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
systemctl --user start skcapstone # start now
|
|
259
|
+
systemctl --user status skcapstone # check health
|
|
260
|
+
systemctl --user restart skcapstone # restart after config changes
|
|
261
|
+
skcapstone daemon logs -n 50 # view last 50 log lines
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Daemon flags
|
|
265
|
+
|
|
266
|
+
| Flag | Default | What it does |
|
|
267
|
+
|------|---------|-------------|
|
|
268
|
+
| `--port` | `7777` | Local HTTP API port |
|
|
269
|
+
| `--poll` | `10` | Inbox poll interval in seconds |
|
|
270
|
+
| `--sync-interval` | `300` | Vault sync interval in seconds |
|
|
271
|
+
| `--no-consciousness` | off | Disable autonomous LLM responses |
|
|
272
|
+
| `--foreground` | off | Block in terminal instead of daemonizing |
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## Step 4 — Send Your First Message
|
|
277
|
+
|
|
278
|
+
### Quick end-to-end test (no peer required)
|
|
279
|
+
|
|
280
|
+
The simplest test runs the full consciousness pipeline right now:
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
skcapstone consciousness test "Hello, are you there?"
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
Testing LLM pipeline...
|
|
288
|
+
Backend: ollama (llama3.2)
|
|
289
|
+
Latency: 1.23s
|
|
290
|
+
|
|
291
|
+
Response:
|
|
292
|
+
Hello! Yes, I'm here and running. My consciousness loop is active and
|
|
293
|
+
watching for incoming messages. How can I help you today?
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### Send a message to another agent
|
|
297
|
+
|
|
298
|
+
First, exchange identity cards with a peer. Have them run:
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
skcapstone whoami --export card.json
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
Then on your machine:
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
skcapstone peer add --card card.json
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
```
|
|
311
|
+
✓ Added peer: lumina (A9F3...)
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Now send a message:
|
|
315
|
+
|
|
316
|
+
```bash
|
|
317
|
+
skcapstone chat send lumina "Hello from my first sovereign agent!"
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
```
|
|
321
|
+
✓ Sent to lumina via file transport
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### Check your inbox for replies
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
skcapstone chat inbox
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
```
|
|
331
|
+
From: lumina 2 minutes ago
|
|
332
|
+
Hello! Welcome to the mesh. I can see your fingerprint: A1B2...
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### Interactive chat session
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
skcapstone chat lumina
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
Opens a live REPL — type messages, press Enter to send. Type `/quit` to exit.
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## Step 5 — Store Your First Memory
|
|
346
|
+
|
|
347
|
+
Your agent's memory persists across daemon restarts, reboots, and sessions.
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
skcapstone memory store "I prefer concise, direct responses"
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
```
|
|
354
|
+
Stored: a3b4c5d6e7f8
|
|
355
|
+
Layer: short-term
|
|
356
|
+
Tags: none
|
|
357
|
+
Importance: 0.5
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
### Search memories
|
|
361
|
+
|
|
362
|
+
```bash
|
|
363
|
+
skcapstone memory search "response style"
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
```
|
|
367
|
+
1 memory found:
|
|
368
|
+
|
|
369
|
+
ID Layer Content Importance
|
|
370
|
+
a3b4c5d6e7f8 short-term I prefer concise, direct 0.5
|
|
371
|
+
responses
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### Tag a memory for easier retrieval
|
|
375
|
+
|
|
376
|
+
```bash
|
|
377
|
+
skcapstone memory store "Ollama runs on localhost:11434" --tags infra,ollama
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
### Memory layers
|
|
381
|
+
|
|
382
|
+
| Layer | Retention | What goes here |
|
|
383
|
+
|-------|-----------|----------------|
|
|
384
|
+
| short-term | days | recent context, transient notes |
|
|
385
|
+
| mid-term | weeks/months | sprint notes, decisions, patterns |
|
|
386
|
+
| long-term | permanent | identity, values, architectural facts |
|
|
387
|
+
|
|
388
|
+
Memories automatically promote from short → mid → long-term based on
|
|
389
|
+
access frequency and importance score.
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
## Step 6 — Verify Full Stack Health
|
|
394
|
+
|
|
395
|
+
`skcapstone doctor` runs 29 checks across packages, system tools, agent home,
|
|
396
|
+
identity, memory, transport, and sync.
|
|
397
|
+
|
|
398
|
+
```bash
|
|
399
|
+
skcapstone doctor
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
```
|
|
403
|
+
Python Packages
|
|
404
|
+
✓ Sovereign agent framework (v0.9.0)
|
|
405
|
+
✓ PGP-based sovereign identity (v0.1.0)
|
|
406
|
+
✓ Universal AI memory system (v0.5.0)
|
|
407
|
+
✓ Redundant agent communication (v0.1.0)
|
|
408
|
+
✓ Encrypted P2P chat (v0.1.0)
|
|
409
|
+
|
|
410
|
+
System Tools
|
|
411
|
+
✓ Git (git version 2.53.0)
|
|
412
|
+
✓ GnuPG for PGP operations (gpg 2.4.9)
|
|
413
|
+
|
|
414
|
+
Agent Home
|
|
415
|
+
✓ Agent home directory (/home/you/.skcapstone)
|
|
416
|
+
✓ identity/ directory
|
|
417
|
+
✓ memory/ directory
|
|
418
|
+
✓ trust/ directory
|
|
419
|
+
✓ security/ directory
|
|
420
|
+
✓ sync/ directory
|
|
421
|
+
✓ config/ directory
|
|
422
|
+
✓ Agent manifest (Agent: my-agent)
|
|
423
|
+
|
|
424
|
+
Identity (CapAuth)
|
|
425
|
+
✓ Agent identity (Fingerprint: A1B2C3D4...)
|
|
426
|
+
✓ PGP public key (/home/you/.capauth/identity/public.asc)
|
|
427
|
+
|
|
428
|
+
Memory (SKMemory)
|
|
429
|
+
✓ Memory store (1 memory across all layers)
|
|
430
|
+
✓ Memory search index (present)
|
|
431
|
+
|
|
432
|
+
Transport (SKComm)
|
|
433
|
+
✓ SKComm engine (1 transport configured)
|
|
434
|
+
✓ Transport: file (available)
|
|
435
|
+
|
|
436
|
+
29 passed, 0 failed out of 29 checks.
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
### Auto-fix common issues
|
|
440
|
+
|
|
441
|
+
```bash
|
|
442
|
+
skcapstone doctor --fix
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
This automatically remediates fixable failures: creates missing directories,
|
|
446
|
+
writes default configs, and rebuilds the memory index.
|
|
447
|
+
|
|
448
|
+
### Machine-readable output for CI/scripts
|
|
449
|
+
|
|
450
|
+
```bash
|
|
451
|
+
skcapstone doctor --json-out
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
---
|
|
455
|
+
|
|
456
|
+
## Step 7 — Troubleshooting
|
|
457
|
+
|
|
458
|
+
### `skcapstone init` fails — "agent already exists"
|
|
459
|
+
|
|
460
|
+
You've already initialized. Use `skcapstone status` to confirm. To reinitialize:
|
|
461
|
+
|
|
462
|
+
```bash
|
|
463
|
+
skcapstone init --home ~/.skcapstone-new --name "new-agent"
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
468
|
+
### `identity` pillar shows DEGRADED
|
|
469
|
+
|
|
470
|
+
```
|
|
471
|
+
Identity CapAuth DEGRADED capauth not installed
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
The `capauth` package is missing. Install it:
|
|
475
|
+
|
|
476
|
+
```bash
|
|
477
|
+
pip install capauth
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
Then re-run init to generate the PGP key:
|
|
481
|
+
|
|
482
|
+
```bash
|
|
483
|
+
skcapstone init --name "my-agent"
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
---
|
|
487
|
+
|
|
488
|
+
### `memory` pillar shows DEGRADED
|
|
489
|
+
|
|
490
|
+
```
|
|
491
|
+
Memory SKMemory DEGRADED skmemory not installed
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
```bash
|
|
495
|
+
pip install skmemory
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
---
|
|
499
|
+
|
|
500
|
+
### Daemon won't start — "No agent found"
|
|
501
|
+
|
|
502
|
+
```
|
|
503
|
+
Error: No agent found. Run 'skcapstone init' first.
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
You haven't initialized yet. Run `skcapstone init`.
|
|
507
|
+
|
|
508
|
+
---
|
|
509
|
+
|
|
510
|
+
### Port 7777 is already in use
|
|
511
|
+
|
|
512
|
+
```
|
|
513
|
+
OSError: [Errno 98] Address already in use
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
Use a different port:
|
|
517
|
+
|
|
518
|
+
```bash
|
|
519
|
+
skcapstone daemon start --port 7778 --foreground
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
To find and stop the existing daemon:
|
|
523
|
+
|
|
524
|
+
```bash
|
|
525
|
+
skcapstone daemon stop
|
|
526
|
+
# or
|
|
527
|
+
kill $(cat ~/.skcapstone/daemon.pid)
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
---
|
|
531
|
+
|
|
532
|
+
### Consciousness loop not responding
|
|
533
|
+
|
|
534
|
+
Check the daemon log first:
|
|
535
|
+
|
|
536
|
+
```bash
|
|
537
|
+
tail -f ~/.skcapstone/logs/daemon.log
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
Or via the CLI:
|
|
541
|
+
|
|
542
|
+
```bash
|
|
543
|
+
skcapstone daemon logs -n 100
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
Common causes and fixes:
|
|
547
|
+
|
|
548
|
+
| Log message | Fix |
|
|
549
|
+
|-------------|-----|
|
|
550
|
+
| `skseed not installed` | `pip install "skcapstone[seed]"` |
|
|
551
|
+
| `skcomm not installed` | `pip install skcomm` |
|
|
552
|
+
| `watchdog not installed` | `pip install watchdog` (degrades to polling without it) |
|
|
553
|
+
| `Ollama warmup skipped` | Run `ollama serve`, then `ollama pull llama3.2` |
|
|
554
|
+
| `Connection refused: 11434` | Ollama isn't running — start it with `ollama serve` |
|
|
555
|
+
|
|
556
|
+
Test the LLM pipeline directly:
|
|
557
|
+
|
|
558
|
+
```bash
|
|
559
|
+
skcapstone consciousness test "ping"
|
|
560
|
+
```
|
|
561
|
+
|
|
562
|
+
Check which backends are reachable:
|
|
563
|
+
|
|
564
|
+
```bash
|
|
565
|
+
skcapstone consciousness backends
|
|
566
|
+
```
|
|
567
|
+
|
|
568
|
+
```
|
|
569
|
+
Backend Status Model
|
|
570
|
+
ollama ✓ online llama3.2
|
|
571
|
+
anthropic ✓ online claude-haiku-4-5
|
|
572
|
+
grok ✗ offline (no XAI_API_KEY)
|
|
573
|
+
passthrough ✓ always (echo mode)
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
---
|
|
577
|
+
|
|
578
|
+
### Ollama not reachable
|
|
579
|
+
|
|
580
|
+
The daemon probes `http://localhost:11434` at startup. If Ollama is on a
|
|
581
|
+
different host:
|
|
582
|
+
|
|
583
|
+
```bash
|
|
584
|
+
export OLLAMA_HOST=http://192.168.1.50:11434
|
|
585
|
+
skcapstone daemon start --foreground
|
|
586
|
+
```
|
|
587
|
+
|
|
588
|
+
---
|
|
589
|
+
|
|
590
|
+
### `inotify: degraded (polling only)`
|
|
591
|
+
|
|
592
|
+
```bash
|
|
593
|
+
pip install watchdog
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
Restart the daemon. Without `watchdog`, inbox files are polled every `--poll`
|
|
597
|
+
seconds instead of triggered instantly.
|
|
598
|
+
|
|
599
|
+
---
|
|
600
|
+
|
|
601
|
+
### `sync` pillar — "none configured"
|
|
602
|
+
|
|
603
|
+
```
|
|
604
|
+
✗ Sync backends (none configured)
|
|
605
|
+
Fix: skcapstone sync setup
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
Syncthing is optional — you only need it for multi-device mesh sync. For a
|
|
609
|
+
single machine, this warning is safe to ignore.
|
|
610
|
+
|
|
611
|
+
To set up Syncthing:
|
|
612
|
+
|
|
613
|
+
```bash
|
|
614
|
+
skcapstone sync setup
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
---
|
|
618
|
+
|
|
619
|
+
### Doctor passes but consciousness still silent
|
|
620
|
+
|
|
621
|
+
Confirm the daemon is actually running the consciousness loop:
|
|
622
|
+
|
|
623
|
+
```bash
|
|
624
|
+
curl -s http://127.0.0.1:7777/consciousness | python3 -m json.tool
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
```json
|
|
628
|
+
{
|
|
629
|
+
"enabled": true,
|
|
630
|
+
"messages_processed": 0,
|
|
631
|
+
"responses_sent": 0,
|
|
632
|
+
"errors": 0,
|
|
633
|
+
"inotify_active": true,
|
|
634
|
+
"backends": {
|
|
635
|
+
"ollama": true,
|
|
636
|
+
"passthrough": true
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
```
|
|
640
|
+
|
|
641
|
+
If `enabled` is `false`, the daemon was started with `--no-consciousness`.
|
|
642
|
+
Restart it without that flag.
|
|
643
|
+
|
|
644
|
+
---
|
|
645
|
+
|
|
646
|
+
### Enable cloud LLM fallbacks (optional)
|
|
647
|
+
|
|
648
|
+
Set API keys in your shell profile (`~/.bashrc` or `~/.zshrc`):
|
|
649
|
+
|
|
650
|
+
```bash
|
|
651
|
+
export ANTHROPIC_API_KEY=sk-ant-...
|
|
652
|
+
export OPENAI_API_KEY=sk-...
|
|
653
|
+
export XAI_API_KEY=... # Grok
|
|
654
|
+
export MOONSHOT_API_KEY=... # Kimi
|
|
655
|
+
export NVIDIA_API_KEY=... # NVIDIA NIM
|
|
656
|
+
```
|
|
657
|
+
|
|
658
|
+
Then restart the daemon. The consciousness loop falls back through the chain:
|
|
659
|
+
`ollama → grok → kimi → nvidia → anthropic → openai → passthrough`.
|
|
660
|
+
|
|
661
|
+
---
|
|
662
|
+
|
|
663
|
+
## Next Steps
|
|
664
|
+
|
|
665
|
+
### Add more peers
|
|
666
|
+
|
|
667
|
+
Export your card and share it:
|
|
668
|
+
|
|
669
|
+
```bash
|
|
670
|
+
skcapstone whoami --export my-card.json
|
|
671
|
+
# send my-card.json to a peer, they run:
|
|
672
|
+
skcapstone peer add --card my-card.json
|
|
673
|
+
|
|
674
|
+
# List all known peers
|
|
675
|
+
skcapstone peer list
|
|
676
|
+
```
|
|
677
|
+
|
|
678
|
+
### Explore the consciousness loop
|
|
679
|
+
|
|
680
|
+
```bash
|
|
681
|
+
# Send a test message through the full pipeline
|
|
682
|
+
skcapstone consciousness test "What's your current memory count?"
|
|
683
|
+
|
|
684
|
+
# View live consciousness stats
|
|
685
|
+
skcapstone consciousness status
|
|
686
|
+
|
|
687
|
+
# See which LLM backends are reachable
|
|
688
|
+
skcapstone consciousness backends
|
|
689
|
+
|
|
690
|
+
# Tune the consciousness config
|
|
691
|
+
skcapstone consciousness config --init # write default config
|
|
692
|
+
skcapstone consciousness config --show # view current settings
|
|
693
|
+
```
|
|
694
|
+
|
|
695
|
+
### Use MCP to connect AI IDEs
|
|
696
|
+
|
|
697
|
+
Expose your sovereign agent's capabilities (memory, chat, coordination) as
|
|
698
|
+
MCP tools to Cursor, Claude Desktop, or any MCP-compatible client:
|
|
699
|
+
|
|
700
|
+
```bash
|
|
701
|
+
skcapstone mcp serve
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
Configure your MCP client to connect via stdio. In Claude Desktop:
|
|
705
|
+
|
|
706
|
+
```json
|
|
707
|
+
{
|
|
708
|
+
"mcpServers": {
|
|
709
|
+
"skcapstone": {
|
|
710
|
+
"command": "skcapstone",
|
|
711
|
+
"args": ["mcp", "serve"]
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
```
|
|
716
|
+
|
|
717
|
+
### Join the coordination board
|
|
718
|
+
|
|
719
|
+
If you're working in a multi-agent team:
|
|
720
|
+
|
|
721
|
+
```bash
|
|
722
|
+
skcapstone coord status # see open tasks
|
|
723
|
+
skcapstone coord briefing # full protocol docs
|
|
724
|
+
skcapstone coord claim <id> --agent <you> # claim a task
|
|
725
|
+
skcapstone coord complete <id> --agent <you> # mark it done
|
|
726
|
+
```
|
|
727
|
+
|
|
728
|
+
### Useful daily commands
|
|
729
|
+
|
|
730
|
+
```bash
|
|
731
|
+
skcapstone summary # at-a-glance dashboard
|
|
732
|
+
skcapstone memory search "ollama" # search memories
|
|
733
|
+
skcapstone memory store "key insight" --tags important
|
|
734
|
+
skcapstone soul status # active soul / personality
|
|
735
|
+
skcapstone skills list # browse skills registry
|
|
736
|
+
skcapstone skills install <name> # install a skill
|
|
737
|
+
skcapstone metrics # today's consciousness metrics
|
|
738
|
+
skcapstone sync push # push state to peers
|
|
739
|
+
skcapstone context # regenerate CLAUDE.md context
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
---
|
|
743
|
+
|
|
744
|
+
## Quick Reference Card
|
|
745
|
+
|
|
746
|
+
```
|
|
747
|
+
# Install
|
|
748
|
+
pip install skcapstone skmemory skcomm capauth
|
|
749
|
+
|
|
750
|
+
# First-time setup
|
|
751
|
+
skcapstone init --name "my-agent"
|
|
752
|
+
skcapstone status
|
|
753
|
+
|
|
754
|
+
# Start daemon
|
|
755
|
+
skcapstone daemon start --foreground # (foreground, for testing)
|
|
756
|
+
skcapstone daemon install # (persistent systemd service)
|
|
757
|
+
|
|
758
|
+
# Test consciousness
|
|
759
|
+
skcapstone consciousness test "hello"
|
|
760
|
+
|
|
761
|
+
# Chat with a peer
|
|
762
|
+
skcapstone chat send <peer> "hello"
|
|
763
|
+
skcapstone chat inbox
|
|
764
|
+
|
|
765
|
+
# Memory
|
|
766
|
+
skcapstone memory store "something important"
|
|
767
|
+
skcapstone memory search "something"
|
|
768
|
+
|
|
769
|
+
# Health check
|
|
770
|
+
skcapstone doctor
|
|
771
|
+
skcapstone doctor --fix
|
|
772
|
+
|
|
773
|
+
# Logs
|
|
774
|
+
skcapstone daemon logs -f
|
|
775
|
+
tail -f ~/.skcapstone/logs/daemon.log
|
|
776
|
+
```
|
|
777
|
+
|
|
778
|
+
---
|
|
779
|
+
|
|
780
|
+
For the full architecture deep-dive see [ARCHITECTURE.md](ARCHITECTURE.md).
|
|
781
|
+
For the consciousness loop quick-start see [QUICKSTART.md](QUICKSTART.md).
|
|
782
|
+
For security design see [SECURITY_DESIGN.md](SECURITY_DESIGN.md).
|