@theihtisham/agent-shadow-brain 7.2.0 → 7.22.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/CHANGELOG.md +478 -429
- package/README.md +198 -68
- package/dist/activity-cli.d.ts +3 -0
- package/dist/activity-cli.d.ts.map +1 -0
- package/dist/activity-cli.js +78 -0
- package/dist/activity-cli.js.map +1 -0
- package/dist/adapters/index.d.ts +2 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +3 -2
- package/dist/adapters/index.js.map +1 -1
- package/dist/brain/activity-journal.d.ts +82 -0
- package/dist/brain/activity-journal.d.ts.map +1 -0
- package/dist/brain/activity-journal.js +315 -0
- package/dist/brain/activity-journal.js.map +1 -0
- package/dist/brain/activity-reporting.d.ts +14 -0
- package/dist/brain/activity-reporting.d.ts.map +1 -0
- package/dist/brain/activity-reporting.js +17 -0
- package/dist/brain/activity-reporting.js.map +1 -0
- package/dist/brain/auto-update.js +1 -1
- package/dist/brain/auto-update.js.map +1 -1
- package/dist/brain/brain-portability.js +1 -1
- package/dist/brain/brain-portability.js.map +1 -1
- package/dist/brain/client-config.d.ts +19 -0
- package/dist/brain/client-config.d.ts.map +1 -0
- package/dist/brain/client-config.js +40 -0
- package/dist/brain/client-config.js.map +1 -0
- package/dist/brain/client-integrations.d.ts +63 -0
- package/dist/brain/client-integrations.d.ts.map +1 -0
- package/dist/brain/client-integrations.js +79 -0
- package/dist/brain/client-integrations.js.map +1 -0
- package/dist/brain/context-assembly.d.ts +41 -5
- package/dist/brain/context-assembly.d.ts.map +1 -1
- package/dist/brain/context-assembly.js +366 -35
- package/dist/brain/context-assembly.js.map +1 -1
- package/dist/brain/context-efficiency.d.ts +48 -0
- package/dist/brain/context-efficiency.d.ts.map +1 -0
- package/dist/brain/context-efficiency.js +34 -0
- package/dist/brain/context-efficiency.js.map +1 -0
- package/dist/brain/context-request.d.ts +4 -0
- package/dist/brain/context-request.d.ts.map +1 -0
- package/dist/brain/context-request.js +24 -0
- package/dist/brain/context-request.js.map +1 -0
- package/dist/brain/context-retrieval.d.ts +88 -0
- package/dist/brain/context-retrieval.d.ts.map +1 -0
- package/dist/brain/context-retrieval.js +301 -0
- package/dist/brain/context-retrieval.js.map +1 -0
- package/dist/brain/feature-settings.d.ts +10 -0
- package/dist/brain/feature-settings.d.ts.map +1 -1
- package/dist/brain/feature-settings.js +18 -2
- package/dist/brain/feature-settings.js.map +1 -1
- package/dist/brain/file-identity.d.ts +4 -0
- package/dist/brain/file-identity.d.ts.map +1 -0
- package/dist/brain/file-identity.js +27 -0
- package/dist/brain/file-identity.js.map +1 -0
- package/dist/brain/global-brain.d.ts +18 -2
- package/dist/brain/global-brain.d.ts.map +1 -1
- package/dist/brain/global-brain.js +75 -7
- package/dist/brain/global-brain.js.map +1 -1
- package/dist/brain/managed-project-skills.d.ts +48 -0
- package/dist/brain/managed-project-skills.d.ts.map +1 -0
- package/dist/brain/managed-project-skills.js +230 -0
- package/dist/brain/managed-project-skills.js.map +1 -0
- package/dist/brain/mcp-presence.d.ts +50 -0
- package/dist/brain/mcp-presence.d.ts.map +1 -0
- package/dist/brain/mcp-presence.js +214 -0
- package/dist/brain/mcp-presence.js.map +1 -0
- package/dist/brain/mcp-server.d.ts +40 -1
- package/dist/brain/mcp-server.d.ts.map +1 -1
- package/dist/brain/mcp-server.js +506 -52
- package/dist/brain/mcp-server.js.map +1 -1
- package/dist/brain/mcp-stdio.d.ts +12 -0
- package/dist/brain/mcp-stdio.d.ts.map +1 -0
- package/dist/brain/mcp-stdio.js +158 -0
- package/dist/brain/mcp-stdio.js.map +1 -0
- package/dist/brain/memory-annotations.d.ts +99 -0
- package/dist/brain/memory-annotations.d.ts.map +1 -0
- package/dist/brain/memory-annotations.js +402 -0
- package/dist/brain/memory-annotations.js.map +1 -0
- package/dist/brain/memory-graph.d.ts.map +1 -1
- package/dist/brain/memory-graph.js +12 -23
- package/dist/brain/memory-graph.js.map +1 -1
- package/dist/brain/memory-inspection.d.ts +73 -0
- package/dist/brain/memory-inspection.d.ts.map +1 -0
- package/dist/brain/memory-inspection.js +131 -0
- package/dist/brain/memory-inspection.js.map +1 -0
- package/dist/brain/memory-mcp-content.d.ts +46 -0
- package/dist/brain/memory-mcp-content.d.ts.map +1 -0
- package/dist/brain/memory-mcp-content.js +95 -0
- package/dist/brain/memory-mcp-content.js.map +1 -0
- package/dist/brain/memory-sources.d.ts +8 -0
- package/dist/brain/memory-sources.d.ts.map +1 -0
- package/dist/brain/memory-sources.js +27 -0
- package/dist/brain/memory-sources.js.map +1 -0
- package/dist/brain/model-registry.d.ts +4 -5
- package/dist/brain/model-registry.d.ts.map +1 -1
- package/dist/brain/model-registry.js +22 -207
- package/dist/brain/model-registry.js.map +1 -1
- package/dist/brain/model-usage.d.ts +66 -0
- package/dist/brain/model-usage.d.ts.map +1 -0
- package/dist/brain/model-usage.js +246 -0
- package/dist/brain/model-usage.js.map +1 -0
- package/dist/brain/native-codex.d.ts +105 -0
- package/dist/brain/native-codex.d.ts.map +1 -0
- package/dist/brain/native-codex.js +292 -0
- package/dist/brain/native-codex.js.map +1 -0
- package/dist/brain/native-session-import.d.ts +56 -0
- package/dist/brain/native-session-import.d.ts.map +1 -0
- package/dist/brain/native-session-import.js +307 -0
- package/dist/brain/native-session-import.js.map +1 -0
- package/dist/brain/orchestrator.js +1 -1
- package/dist/brain/orchestrator.js.map +1 -1
- package/dist/brain/project-feedback.d.ts +63 -0
- package/dist/brain/project-feedback.d.ts.map +1 -0
- package/dist/brain/project-feedback.js +300 -0
- package/dist/brain/project-feedback.js.map +1 -0
- package/dist/brain/project-hub-contract.d.ts +332 -0
- package/dist/brain/project-hub-contract.d.ts.map +1 -0
- package/dist/brain/project-hub-contract.js +57 -0
- package/dist/brain/project-hub-contract.js.map +1 -0
- package/dist/brain/project-hub-mcp.d.ts +182 -0
- package/dist/brain/project-hub-mcp.d.ts.map +1 -0
- package/dist/brain/project-hub-mcp.js +46 -0
- package/dist/brain/project-hub-mcp.js.map +1 -0
- package/dist/brain/project-hub-pdf-worker.d.ts +13 -0
- package/dist/brain/project-hub-pdf-worker.d.ts.map +1 -0
- package/dist/brain/project-hub-pdf-worker.js +84 -0
- package/dist/brain/project-hub-pdf-worker.js.map +1 -0
- package/dist/brain/project-hub-store.d.ts +50 -0
- package/dist/brain/project-hub-store.d.ts.map +1 -0
- package/dist/brain/project-hub-store.js +257 -0
- package/dist/brain/project-hub-store.js.map +1 -0
- package/dist/brain/project-hub.d.ts +132 -0
- package/dist/brain/project-hub.d.ts.map +1 -0
- package/dist/brain/project-hub.js +403 -0
- package/dist/brain/project-hub.js.map +1 -0
- package/dist/brain/project-kit-inspection.d.ts +28 -0
- package/dist/brain/project-kit-inspection.d.ts.map +1 -0
- package/dist/brain/project-kit-inspection.js +200 -0
- package/dist/brain/project-kit-inspection.js.map +1 -0
- package/dist/brain/project-kit-paths.d.ts +13 -0
- package/dist/brain/project-kit-paths.d.ts.map +1 -0
- package/dist/brain/project-kit-paths.js +141 -0
- package/dist/brain/project-kit-paths.js.map +1 -0
- package/dist/brain/project-kit.d.ts +51 -0
- package/dist/brain/project-kit.d.ts.map +1 -0
- package/dist/brain/project-kit.js +319 -0
- package/dist/brain/project-kit.js.map +1 -0
- package/dist/brain/project-memory.d.ts +38 -0
- package/dist/brain/project-memory.d.ts.map +1 -0
- package/dist/brain/project-memory.js +76 -0
- package/dist/brain/project-memory.js.map +1 -0
- package/dist/brain/project-policy-delivery.d.ts +8 -0
- package/dist/brain/project-policy-delivery.d.ts.map +1 -0
- package/dist/brain/project-policy-delivery.js +38 -0
- package/dist/brain/project-policy-delivery.js.map +1 -0
- package/dist/brain/project-policy.d.ts +88 -0
- package/dist/brain/project-policy.d.ts.map +1 -0
- package/dist/brain/project-policy.js +267 -0
- package/dist/brain/project-policy.js.map +1 -0
- package/dist/brain/project-session-contract.d.ts +180 -0
- package/dist/brain/project-session-contract.d.ts.map +1 -0
- package/dist/brain/project-session-contract.js +50 -0
- package/dist/brain/project-session-contract.js.map +1 -0
- package/dist/brain/project-session-mcp.d.ts +145 -0
- package/dist/brain/project-session-mcp.d.ts.map +1 -0
- package/dist/brain/project-session-mcp.js +58 -0
- package/dist/brain/project-session-mcp.js.map +1 -0
- package/dist/brain/project-sessions.d.ts +97 -0
- package/dist/brain/project-sessions.d.ts.map +1 -0
- package/dist/brain/project-sessions.js +223 -0
- package/dist/brain/project-sessions.js.map +1 -0
- package/dist/brain/project-source-contract.d.ts +109 -0
- package/dist/brain/project-source-contract.d.ts.map +1 -0
- package/dist/brain/project-source-contract.js +2 -0
- package/dist/brain/project-source-contract.js.map +1 -0
- package/dist/brain/project-source-intake.d.ts +26 -0
- package/dist/brain/project-source-intake.d.ts.map +1 -0
- package/dist/brain/project-source-intake.js +457 -0
- package/dist/brain/project-source-intake.js.map +1 -0
- package/dist/brain/subconscious.d.ts +3 -1
- package/dist/brain/subconscious.d.ts.map +1 -1
- package/dist/brain/subconscious.js +8 -3
- package/dist/brain/subconscious.js.map +1 -1
- package/dist/brain/workflow-skills.d.ts +5 -5
- package/dist/brain/workflow-skills.d.ts.map +1 -1
- package/dist/brain/workflow-skills.js +3 -2
- package/dist/brain/workflow-skills.js.map +1 -1
- package/dist/cli.js +37 -3
- package/dist/cli.js.map +1 -1
- package/dist/context-cli.d.ts.map +1 -1
- package/dist/context-cli.js +49 -7
- package/dist/context-cli.js.map +1 -1
- package/dist/curation-cli.d.ts +4 -0
- package/dist/curation-cli.d.ts.map +1 -0
- package/dist/curation-cli.js +118 -0
- package/dist/curation-cli.js.map +1 -0
- package/dist/dashboard/brain-hub-actions.d.ts +2 -0
- package/dist/dashboard/brain-hub-actions.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-actions.js +234 -0
- package/dist/dashboard/brain-hub-actions.js.map +1 -0
- package/dist/dashboard/brain-hub-agent-dock.d.ts +2 -0
- package/dist/dashboard/brain-hub-agent-dock.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-agent-dock.js +255 -0
- package/dist/dashboard/brain-hub-agent-dock.js.map +1 -0
- package/dist/dashboard/brain-hub-brand-icons.d.ts +2 -0
- package/dist/dashboard/brain-hub-brand-icons.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-brand-icons.js +9 -0
- package/dist/dashboard/brain-hub-brand-icons.js.map +1 -0
- package/dist/dashboard/brain-hub-client.d.ts +2 -0
- package/dist/dashboard/brain-hub-client.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-client.js +435 -0
- package/dist/dashboard/brain-hub-client.js.map +1 -0
- package/dist/dashboard/brain-hub-context.d.ts +2 -0
- package/dist/dashboard/brain-hub-context.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-context.js +37 -0
- package/dist/dashboard/brain-hub-context.js.map +1 -0
- package/dist/dashboard/brain-hub-controls.d.ts +2 -0
- package/dist/dashboard/brain-hub-controls.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-controls.js +63 -0
- package/dist/dashboard/brain-hub-controls.js.map +1 -0
- package/dist/dashboard/brain-hub-exchanges.d.ts +2 -0
- package/dist/dashboard/brain-hub-exchanges.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-exchanges.js +82 -0
- package/dist/dashboard/brain-hub-exchanges.js.map +1 -0
- package/dist/dashboard/brain-hub-graph.d.ts +2 -0
- package/dist/dashboard/brain-hub-graph.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-graph.js +338 -0
- package/dist/dashboard/brain-hub-graph.js.map +1 -0
- package/dist/dashboard/brain-hub-html.d.ts +2 -0
- package/dist/dashboard/brain-hub-html.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-html.js +85 -0
- package/dist/dashboard/brain-hub-html.js.map +1 -0
- package/dist/dashboard/brain-hub-knowledge.d.ts +2 -0
- package/dist/dashboard/brain-hub-knowledge.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-knowledge.js +33 -0
- package/dist/dashboard/brain-hub-knowledge.js.map +1 -0
- package/dist/dashboard/brain-hub-live.d.ts +2 -0
- package/dist/dashboard/brain-hub-live.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-live.js +151 -0
- package/dist/dashboard/brain-hub-live.js.map +1 -0
- package/dist/dashboard/brain-hub-managed-skills.d.ts +2 -0
- package/dist/dashboard/brain-hub-managed-skills.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-managed-skills.js +20 -0
- package/dist/dashboard/brain-hub-managed-skills.js.map +1 -0
- package/dist/dashboard/brain-hub-native.d.ts +2 -0
- package/dist/dashboard/brain-hub-native.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-native.js +44 -0
- package/dist/dashboard/brain-hub-native.js.map +1 -0
- package/dist/dashboard/brain-hub-project-views.d.ts +2 -0
- package/dist/dashboard/brain-hub-project-views.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-project-views.js +80 -0
- package/dist/dashboard/brain-hub-project-views.js.map +1 -0
- package/dist/dashboard/brain-hub-sessions.d.ts +2 -0
- package/dist/dashboard/brain-hub-sessions.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-sessions.js +40 -0
- package/dist/dashboard/brain-hub-sessions.js.map +1 -0
- package/dist/dashboard/brain-hub-usage.d.ts +2 -0
- package/dist/dashboard/brain-hub-usage.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-usage.js +28 -0
- package/dist/dashboard/brain-hub-usage.js.map +1 -0
- package/dist/dashboard/brain-hub-views.d.ts +2 -0
- package/dist/dashboard/brain-hub-views.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-views.js +155 -0
- package/dist/dashboard/brain-hub-views.js.map +1 -0
- package/dist/dashboard/demo-workspace.d.ts +11 -0
- package/dist/dashboard/demo-workspace.d.ts.map +1 -0
- package/dist/dashboard/demo-workspace.js +178 -0
- package/dist/dashboard/demo-workspace.js.map +1 -0
- package/dist/dashboard/live-workspace-html.d.ts +2 -0
- package/dist/dashboard/live-workspace-html.d.ts.map +1 -0
- package/dist/dashboard/live-workspace-html.js +1042 -0
- package/dist/dashboard/live-workspace-html.js.map +1 -0
- package/dist/dashboard/managed-project-skills-api.d.ts +29 -0
- package/dist/dashboard/managed-project-skills-api.d.ts.map +1 -0
- package/dist/dashboard/managed-project-skills-api.js +28 -0
- package/dist/dashboard/managed-project-skills-api.js.map +1 -0
- package/dist/dashboard/native-codex-api.d.ts +83 -0
- package/dist/dashboard/native-codex-api.d.ts.map +1 -0
- package/dist/dashboard/native-codex-api.js +91 -0
- package/dist/dashboard/native-codex-api.js.map +1 -0
- package/dist/dashboard/project-feedback-html.d.ts +5 -0
- package/dist/dashboard/project-feedback-html.d.ts.map +1 -0
- package/dist/dashboard/project-feedback-html.js +216 -0
- package/dist/dashboard/project-feedback-html.js.map +1 -0
- package/dist/dashboard/project-file-watch.d.ts +46 -0
- package/dist/dashboard/project-file-watch.d.ts.map +1 -0
- package/dist/dashboard/project-file-watch.js +221 -0
- package/dist/dashboard/project-file-watch.js.map +1 -0
- package/dist/dashboard/project-hub-api.d.ts +5 -0
- package/dist/dashboard/project-hub-api.d.ts.map +1 -0
- package/dist/dashboard/project-hub-api.js +121 -0
- package/dist/dashboard/project-hub-api.js.map +1 -0
- package/dist/dashboard/project-kit-html.d.ts +4 -0
- package/dist/dashboard/project-kit-html.d.ts.map +1 -0
- package/dist/dashboard/project-kit-html.js +359 -0
- package/dist/dashboard/project-kit-html.js.map +1 -0
- package/dist/dashboard/project-live-stream.d.ts +33 -0
- package/dist/dashboard/project-live-stream.d.ts.map +1 -0
- package/dist/dashboard/project-live-stream.js +233 -0
- package/dist/dashboard/project-live-stream.js.map +1 -0
- package/dist/dashboard/project-policy-api.d.ts +37 -0
- package/dist/dashboard/project-policy-api.d.ts.map +1 -0
- package/dist/dashboard/project-policy-api.js +31 -0
- package/dist/dashboard/project-policy-api.js.map +1 -0
- package/dist/dashboard/project-session-api.d.ts +28 -0
- package/dist/dashboard/project-session-api.d.ts.map +1 -0
- package/dist/dashboard/project-session-api.js +84 -0
- package/dist/dashboard/project-session-api.js.map +1 -0
- package/dist/dashboard/project-source-api.d.ts +11 -0
- package/dist/dashboard/project-source-api.d.ts.map +1 -0
- package/dist/dashboard/project-source-api.js +67 -0
- package/dist/dashboard/project-source-api.js.map +1 -0
- package/dist/dashboard/project-workspace.d.ts +16 -0
- package/dist/dashboard/project-workspace.d.ts.map +1 -0
- package/dist/dashboard/project-workspace.js +124 -0
- package/dist/dashboard/project-workspace.js.map +1 -0
- package/dist/dashboard/server.d.ts +1 -0
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +99 -42
- package/dist/dashboard/server.js.map +1 -1
- package/dist/dashboard/v6-dashboard-html.d.ts +1 -1
- package/dist/dashboard/v6-dashboard-html.d.ts.map +1 -1
- package/dist/dashboard/v6-dashboard-html.js +4261 -4309
- package/dist/dashboard/v6-dashboard-html.js.map +1 -1
- package/dist/dashboard/workspace-api.d.ts +12 -0
- package/dist/dashboard/workspace-api.d.ts.map +1 -1
- package/dist/dashboard/workspace-api.js +359 -41
- package/dist/dashboard/workspace-api.js.map +1 -1
- package/dist/dashboard/workspace-html.d.ts.map +1 -1
- package/dist/dashboard/workspace-html.js +1118 -135
- package/dist/dashboard/workspace-html.js.map +1 -1
- package/dist/dashboard/workspace-status.d.ts +53 -0
- package/dist/dashboard/workspace-status.d.ts.map +1 -0
- package/dist/dashboard/workspace-status.js +23 -0
- package/dist/dashboard/workspace-status.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -1
- package/dist/integration-cli.d.ts +3 -0
- package/dist/integration-cli.d.ts.map +1 -0
- package/dist/integration-cli.js +16 -0
- package/dist/integration-cli.js.map +1 -0
- package/dist/project-cli.d.ts +3 -0
- package/dist/project-cli.d.ts.map +1 -0
- package/dist/project-cli.js +100 -0
- package/dist/project-cli.js.map +1 -0
- package/dist/types.d.ts +8 -1
- package/dist/types.d.ts.map +1 -1
- package/docs/BRAND_ASSETS.md +36 -0
- package/docs/COMPARISON.md +22 -0
- package/docs/COMPONENTS.md +66 -0
- package/docs/CONTEXT_LAB.md +79 -0
- package/docs/FEATURES_AND_LIMITS.md +29 -0
- package/docs/INTEGRATIONS.md +70 -0
- package/docs/LEARNING.md +46 -0
- package/docs/PROJECT_KIT.md +98 -0
- package/docs/QUICKSTART.md +62 -0
- package/docs/README.md +36 -0
- package/docs/ROADMAP-v7.md +147 -0
- package/docs/SESSIONS.md +77 -0
- package/docs/SHARING.md +13 -0
- package/docs/SHOWCASE.md +87 -0
- package/docs/SOURCE_INTAKE.md +33 -0
- package/docs/STATS.md +21 -0
- package/docs/TROUBLESHOOTING.md +42 -0
- package/docs/UPGRADE_PLAN_v7.0.0.md +203 -0
- package/docs/VIRAL-PLAYBOOK.md +259 -0
- package/docs/VISUAL_GUIDE_v7.1.4.md +70 -0
- package/docs/VISUAL_GUIDE_v7.22.0.md +73 -0
- package/docs/WORKFLOW_INTEGRATION.md +21 -1
- package/docs/WORKSPACE.md +63 -70
- package/docs/assets/7.1.4-collaboration-design-preview.png +0 -0
- package/docs/assets/7.1.4-comparison.png +0 -0
- package/docs/assets/7.1.4-context-lab.png +0 -0
- package/docs/assets/7.1.4-control-room-dense-preview.png +0 -0
- package/docs/assets/7.1.4-control-room-focus-preview.png +0 -0
- package/docs/assets/7.1.4-features.png +0 -0
- package/docs/assets/7.1.4-graph.png +0 -0
- package/docs/assets/7.1.4-hub-control-room.png +0 -0
- package/docs/assets/7.1.4-hub-empty.png +0 -0
- package/docs/assets/7.1.4-hub-knowledge.png +0 -0
- package/docs/assets/7.1.4-hub-learning.png +0 -0
- package/docs/assets/7.1.4-hub-mobile.png +0 -0
- package/docs/assets/7.1.4-hub-public-docs-source.png +0 -0
- package/docs/assets/7.1.4-hub-public-docs.gif +0 -0
- package/docs/assets/7.1.4-hub-public-docs.png +0 -0
- package/docs/assets/7.1.4-hub-setup.png +0 -0
- package/docs/assets/7.1.4-hub-walkthrough.gif +0 -0
- package/docs/assets/7.1.4-integrations.png +0 -0
- package/docs/assets/7.1.4-knowledge-design-preview.png +0 -0
- package/docs/assets/7.1.4-learning-design-preview.png +0 -0
- package/docs/assets/7.1.4-learning.png +0 -0
- package/docs/assets/7.1.4-live.png +0 -0
- package/docs/assets/7.1.4-memory-review.png +0 -0
- package/docs/assets/7.1.4-mobile.png +0 -0
- package/docs/assets/7.1.4-models-design-preview.png +0 -0
- package/docs/assets/7.1.4-outcome-ranking.png +0 -0
- package/docs/assets/7.1.4-overview.png +0 -0
- package/docs/assets/7.1.4-project-kit.png +0 -0
- package/docs/assets/7.1.4-project-skill-preview.png +0 -0
- package/docs/assets/7.1.4-replay.png +0 -0
- package/docs/assets/7.1.4-setup-design-preview.png +0 -0
- package/docs/assets/7.1.4-usage-design-preview.png +0 -0
- package/docs/assets/7.22.0-agent-dock-mobile.png +0 -0
- package/docs/assets/7.22.0-agent-dock.gif +0 -0
- package/docs/assets/7.22.0-agent-dock.png +0 -0
- package/docs/assets/7.22.0-hub-exchange.png +0 -0
- package/docs/assets/7.22.0-hub-exchanges.gif +0 -0
- package/docs/assets/7.22.0-hub-graph.png +0 -0
- package/docs/assets/7.22.0-hub-mobile-empty.png +0 -0
- package/docs/assets/7.22.0-managed-skills.png +0 -0
- package/docs/assets/7.22.0-plain-evidence.png +0 -0
- package/docs/assets/7.22.0-project-controls.png +0 -0
- package/docs/assets/7.22.0-sessions.png +0 -0
- package/docs/assets/7.22.0-teach-brain.png +0 -0
- package/docs/assets/context-v7.1.3.png +0 -0
- package/docs/assets/features-v7.1.3.png +0 -0
- package/docs/assets/graph-v7.1.3.png +0 -0
- package/docs/assets/integrations-v7.1.3.png +0 -0
- package/docs/assets/live-v7.1.3.png +0 -0
- package/docs/assets/live-v7.1.4.gif +0 -0
- package/docs/assets/memory-detail-v7.1.3.png +0 -0
- package/docs/assets/overview-v7.1.3.png +0 -0
- package/docs/evaluation/CONTEXT_EVALUATION_v7.1.4.json +1818 -0
- package/docs/evaluation/CONTEXT_EVALUATION_v7.1.4.md +36 -0
- package/docs/launch/COMPONENT_MAP_v7.1.4.md +307 -0
- package/docs/launch/PROJECT_KIT_PLAN_v7.1.4.md +110 -0
- package/docs/launch/PROJECT_LEARNING_PLAN_v7.1.4.md +63 -0
- package/docs/launch/RELEASE_ACCEPTANCE_v7.22.0.md +48 -0
- package/docs/launch/RELEASE_NOTES_v7.1.3.md +40 -0
- package/docs/launch/RELEASE_NOTES_v7.1.4.md +30 -0
- package/docs/launch/RELEASE_NOTES_v7.22.0.md +53 -0
- package/docs/launch/RESEARCH_AND_PLAN_v7.1.4.md +255 -0
- package/docs/launch/RESEARCH_AND_PLAN_v7.22.0.md +672 -0
- package/package.json +135 -111
- package/skills/shadow-research/SKILL.md +2 -0
- package/skills/shadow-workflow/SKILL.md +8 -0
package/docs/STATS.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Package and repository statistics
|
|
2
|
+
|
|
3
|
+
Last successful refresh: **2026-11-14T11:49:13.195Z**. Counts are snapshots from public npm and GitHub APIs.
|
|
4
|
+
|
|
5
|
+
| Metric | Count | Coverage |
|
|
6
|
+
| --- | ---: | --- |
|
|
7
|
+
| npm total downloads | **6,229** | 2026-04-10 through 2026-11-13, inclusive |
|
|
8
|
+
| npm latest day | 199 | 2026-11-13 through 2026-11-13 |
|
|
9
|
+
| npm last 7 days | 923 | 2026-11-07 through 2026-11-13 |
|
|
10
|
+
| npm last 30 days | 1,018 | 2026-10-15 through 2026-11-13 |
|
|
11
|
+
| GitHub stars | 0 | At refresh |
|
|
12
|
+
| GitHub forks | 0 | At refresh |
|
|
13
|
+
| GitHub watchers | 0 | At refresh |
|
|
14
|
+
|
|
15
|
+
The package was created on 2026-04-10. The total sums non-overlapping ranges of at most 365 days from creation through the latest complete day returned by npm. This handles the API's 18-month request limit without silently truncating lifetime counts. npm counts downloads, including automated installs; these are not unique people or active users.
|
|
16
|
+
|
|
17
|
+
The dedicated **README metrics** workflow refreshes this page and the plain-text README total every two days. The npm README is a snapshot from the published release. A failed request preserves the last successful snapshot.
|
|
18
|
+
|
|
19
|
+
[Raw snapshot and coverage](npm-metrics.json) · [npm download API documentation](https://github.com/npm/registry/blob/main/docs/download-counts.md) · [Package](https://www.npmjs.com/package/@theihtisham/agent-shadow-brain) · [Repository](https://github.com/theihtishaam/agents-brain)
|
|
20
|
+
|
|
21
|
+
Historical snapshots in [stats-history.json](stats-history.json) come from the previous monitoring implementation and are not used to calculate this total.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Troubleshooting
|
|
2
|
+
|
|
3
|
+
## The Hub says Workspace unavailable
|
|
4
|
+
|
|
5
|
+
Keep the launcher running and open the current URL. If an older tab points to a stopped server, start the same project on the same port and refresh. A port of `0` can change each time.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
cd your-project
|
|
9
|
+
shadow-brain project workspace . --port 62595
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Open `http://127.0.0.1:62595/hub`. The status endpoint at `/api/workspace/status` reports the process instance, workspace mode, project scope, and storage health. A reachable server can report a storage error separately. Resolve the storage error before making changes and retain the existing project files. If the port is already in use, check the existing launcher or start on a free port and use the new address.
|
|
13
|
+
|
|
14
|
+
## The installed version differs from this guide
|
|
15
|
+
|
|
16
|
+
This guide describes the 7.1.4 build. It requires Node.js 22.13+ in the 22.x line, 24.x, or 26+.
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
node --version
|
|
20
|
+
npm install -g @theihtisham/agent-shadow-brain@latest
|
|
21
|
+
shadow-brain --version
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
If the command still reports the previous version, locate it with `Get-Command shadow-brain -All` in PowerShell or `command -v shadow-brain` in your shell. Restart the launcher after changing versions. A browser refresh alone continues using the old process.
|
|
25
|
+
|
|
26
|
+
## The graph or journal is empty
|
|
27
|
+
|
|
28
|
+
Check the selected project. Save a knowledge record or approve a PDF page to create a graph record. Connect a host using the recipe generated from the same project directory. In **Setup**, enable **Live dashboard activity** and **Record agent activity**. Ask the host to call `project_inspect` or `context_pack`, then look for the event. A reachable workspace and installed skill files are independent of host tool activity.
|
|
29
|
+
|
|
30
|
+
## A feature setting or claim changed elsewhere
|
|
31
|
+
|
|
32
|
+
Refresh to read the current revision before retrying. For a task claim, check its owner and lease. After a network failure, retry the same input to reuse the operation key. The work room and journal use different stores and can be inspected independently.
|
|
33
|
+
|
|
34
|
+
## A PDF page has no text
|
|
35
|
+
|
|
36
|
+
Image-only pages require OCR. The current Hub extracts a text layer and labels missing text. Upload a text-searchable PDF or save a verified excerpt as explicit project knowledge with its reference.
|
|
37
|
+
|
|
38
|
+
## A context pack is empty or shorter than expected
|
|
39
|
+
|
|
40
|
+
Check that the selected project contains relevant active memories, the context feature is enabled, and the token budget allows an excerpt. Try specific project terms. Context estimates describe the rendered pack. Model usage stays unavailable when the host supplies no usage receipts.
|
|
41
|
+
|
|
42
|
+
[Quickstart](QUICKSTART.md) · [Workspace guide](WORKSPACE.md) · [Integrations](INTEGRATIONS.md)
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# Agent Shadow Brain upgrade plan
|
|
2
|
+
|
|
3
|
+
Prepared: 2026-11-11. Baseline inspected: published `@theihtisham/agent-shadow-brain@6.3.0`. Target release: 7.0.0. This is an implementation and release plan, not a completion claim.
|
|
4
|
+
|
|
5
|
+
## Objective and roles
|
|
6
|
+
|
|
7
|
+
Make the existing shared memory layer dependable when multiple agents write, and make recalled memory scores reflect the evidence actually available. Preserve local-first operation, existing CLI/API/MCP entry points, and existing JSON memories.
|
|
8
|
+
|
|
9
|
+
Astra serves as architecture and review lead: choose scope, establish invariants, inspect failure cases, and review the release evidence. GPT 6.1 SoL serves as implementation lead: recover or locate the authoritative checkout, implement the approved scope, run verification, and publish the exact reviewed artifact. These are execution roles for this work; they do not imply adding model-provider integrations to the product.
|
|
10
|
+
|
|
11
|
+
Release theme: **Reliable shared memory and explainable recall**. Initial planning targeted 6.4.0; implementation discovery justifies **7.0.0** instead. Patched dependency majors require a higher Node baseline, installation no longer runs automatic setup, and unreadable/corrupt stores now fail visibly instead of silently resetting. These compatibility changes deserve a major version. Confirm 7.0.0 remains unpublished immediately before release.
|
|
12
|
+
|
|
13
|
+
## Evidence from the published package
|
|
14
|
+
|
|
15
|
+
The package advertises a shared source of truth across projects and agents. Its `GlobalBrain` currently loads a JSON snapshot once and writes the whole snapshot back on every dirty sync. The publication includes compiled JavaScript and declarations; inspected source maps refer to TypeScript paths but do not embed source contents. The repository URL in package metadata was not accessible during the initial source search.
|
|
16
|
+
|
|
17
|
+
Source recovery update: the parent agent recovered the exact published npm `gitHead`, `bec756e19647a11cad570f8ae3c363792de84856`, from public fork `shadrackohemeng/agent-shadow-brain`. Full source is checked out under `work/agent-shadow-brain` (initial working branch `upgrade/6.4.0`, release target subsequently revised to 7.0.0). This preserves actual source/history and removes the need to reconstruct TypeScript from the distribution. Initial publication checks found the recorded GitHub upstream inaccessible and npm reporting `ENEEDAUTH`. The coordinating agent subsequently reported successful npm authentication after the user logged in manually; no credentials were requested in chat or inspected by this reviewer. The coordinating agent verified the current GitHub account as `ihtishaam-dev` through `gh api user` and announced `ihtishaam-dev/agent-shadow-brain` as the destination for the user-authorized GitHub upload because the original owner/repository was unavailable. Repository creation and remote publication remain pending until verified; this is the intended current-account destination, not a claim that the original remote was recovered.
|
|
18
|
+
|
|
19
|
+
Baseline verification update from the coordinating agent: TypeScript build passed; 171 of 172 baseline tests passed, with the remaining test tied to a fixed June date and failing against the current November date. Make its clock deterministic. Dependency audit reported 14 advisories (4 critical, 7 high, 3 moderate). The coordinating agent is upgrading the affected direct/development dependencies and will record the final audit after verification. Planned Node support is `^22.12.0 || ^24.0.0 || >=26.0.0`; the final manifest and CI must agree, and only actually tested versions may be claimed as verified.
|
|
20
|
+
|
|
21
|
+
Implementation review update: the coordinating agent reported the migrated dependency audit at zero advisories and the corrected baseline at 172 passing tests. Astra reviewed the rewritten GlobalBrain lock, merge, acknowledgement, read-refresh, and scoring paths and found no blocker in the initial static pass. The independent built-output probe `work/audit/v7-independent-review.mjs` passed: simultaneous instance additions; external-read refresh; summed access deltas; queued writes arriving during a held-lock wait; preserved malformed-store bytes; false acknowledgement on failure; exactly-once retry; and unchanged bytes/modification time after a read-only lifecycle. All review fixtures were synthetic and explicitly located beneath `work/audit/fixtures`. Actual multiprocess contention tests, full final suite, exact tarball checks, and publication verification remain separate release gates.
|
|
22
|
+
|
|
23
|
+
Core review gate update: SoL reported all 22 focused storage/scoring tests passing. Astra inspected the test implementation, including four actual Node processes synchronized after initialization, 40 exact unique acknowledged IDs, and restart verification. The failure tests cover EPERM with preserved previous bytes, retry, old live locks, late queued operations, corrupt/future/unreadable stores, and read-only refresh. Astra accepted the core implementation with no blocking finding. Full final suite, exact release tarball, remote CI, and publication are still independently verified by the coordinating agent. These results do not claim crash-recovery automation, coordination with old v6 writers, power-loss guarantees, network-filesystem safety, or a full codebase security audit.
|
|
24
|
+
|
|
25
|
+
Final local release-gate evidence, reported by the coordinating agent: all **192 tests across 19 files passed**; build and lint passed; `npm audit` reported **zero vulnerabilities**; and a packed-artifact fresh-consumer installation passed library import, CLI version/help, durable write, storage-health, explained recall, corrupt-store preservation, package-content, and configuration-isolation checks. The dashboard tooltip now states that the score is heuristic rather than a probability of truth, and identifies creation-age recency and matching-content agent reports. No additional test rerun was needed for this documentation-only update. Local engineering/review gates are complete. Remote GitHub creation/push/tag, registry publication/integrity, dist-tag verification, and remote CI remain pending verification by the coordinating agent.
|
|
26
|
+
|
|
27
|
+
Three deterministic probes were executed against the published `global-brain.js`, using newly created stores only under `work/audit/fixtures`. They imported only the inspected global-brain module and its in-process bus dependency. They did not run package setup, attach hooks, read the user's memory store, or inspect private credentials.
|
|
28
|
+
|
|
29
|
+
| Priority | Finding | Evidence | User impact |
|
|
30
|
+
| --- | --- | --- | --- |
|
|
31
|
+
| P0 | A writer replaces other agents' memories | Two independent instances initialized before either write each added a different entry. After both synced, disk contained one entry, not two. | The core cross-agent promise can silently lose memory. |
|
|
32
|
+
| P0 | A queued write reports success before disk commit | Making the fixture destination temporarily unwritable caused `sync()` to throw `EPERM`, while `write()` still resolved `true`. | Agents can report durable learning that was never saved. |
|
|
33
|
+
| P1 | Unrelated agents inflate apparent corroboration | A target memory scored 0.595/medium. Two unrelated entries in other projects but the same category raised it to 0.695/high. | The dashboard and agents may overtrust uncorroborated facts. |
|
|
34
|
+
| P1 | Relevance is constant for every query match | `computeConfidence()` assigns 0.9 whenever meaningful keywords were supplied, independent of how many matched or where. | Weak matches can outrank relevant memories through unrelated popularity signals. |
|
|
35
|
+
| P1 | Persistence uses one shared temporary filename | `persist()` writes `dbPath + '.tmp'` without an interprocess lock. | Concurrent processes can race on both the database and temporary file. |
|
|
36
|
+
| P1 | Store read failures are treated as corruption | Broad initialization catch attempts to rename the store and continue with an empty brain. | Permission or transient read failures can become silent resets. |
|
|
37
|
+
| P2 | Numeric and date inputs lack defensive normalization | Non-finite importance, negative counts, and invalid dates can propagate to scoring; raw limits are sliced directly. | Scored results can disappear or serialize invalid values unexpectedly. |
|
|
38
|
+
| P2 | Package/runtime claims need reconciliation | Node engine declares >=18 while dependencies may require newer Node; auto-setup prints v5.2.0 and the README includes stale/broken image references and an unrelated Trendshift badge. | Installation and release identity may differ from documentation. |
|
|
39
|
+
|
|
40
|
+
Reproduction: `node work/audit/published-global-brain-probe.mjs`. Its fixture data is synthetic. Keep this baseline evidence separate from the final implementation tests.
|
|
41
|
+
|
|
42
|
+
## Scope for the release
|
|
43
|
+
|
|
44
|
+
Ship these together because they establish one contract: a memory accepted as saved survives cooperating writers, and its ranking is explained honestly.
|
|
45
|
+
|
|
46
|
+
1. Preserve concurrent writes, registrations, and access updates through a bounded, explicit interprocess commit protocol.
|
|
47
|
+
2. Acknowledge queued writes only after successful persistence; preserve failed pending operations for an explicit retry contract.
|
|
48
|
+
3. Distinguish unreadable, malformed, and unsupported stores. Never silently replace an unreadable or newer-schema store with an empty one.
|
|
49
|
+
4. Compute relevance from normalized query matches; remove category-wide diversity as a claim of factual agreement.
|
|
50
|
+
5. Normalize malformed legacy ranking fields without modifying the source file merely because it was read.
|
|
51
|
+
6. Expose accurate scoring language and additive explanations through existing consumers; keep old response fields available.
|
|
52
|
+
7. Add meaningful failure and concurrent-process tests, package verification, release notes, and a reproducible release manifest.
|
|
53
|
+
|
|
54
|
+
Defer feature breadth: autonomous publishing, new remote providers, cloud sync, vector database migration, model training, new agent swarms, and a dashboard redesign. None solves the reproduced failures. Do not claim a full security audit of the entire large existing feature surface from this bounded review.
|
|
55
|
+
|
|
56
|
+
## Phase 0 — Establish source provenance and a safe baseline
|
|
57
|
+
|
|
58
|
+
- Locate the authoritative working tree and inspect its local instructions and git state. Preserve all unrelated user work.
|
|
59
|
+
- Verify the intended upstream and package identity with public metadata or the connected GitHub capability. A 404 does not establish whether the repository is deleted, renamed, private, or simply inaccessible.
|
|
60
|
+
- Do not read `.npmrc`, credential files, browser stores, authentication secrets, or unrelated home-directory files to solve access issues.
|
|
61
|
+
- If original source cannot be found, clearly label a reconstruction from the public npm artifact and document its limitations. Do not fabricate commit history, tests, or absent source contents. A source reconstruction requires sufficient buildable coverage and provenance before release; an unpacked `dist` directory alone is not equivalent to a maintainable source checkout.
|
|
62
|
+
- Record the npm tarball integrity, installed version, source commit when available, and initial dirty state. Install dependencies with lifecycle scripts disabled in the isolated checkout. Run no global installation, hook attachment, setup, auto-update, or user's default brain initialization.
|
|
63
|
+
- Run an isolated baseline build/test where the source permits it. Record existing failures independently of new regressions.
|
|
64
|
+
|
|
65
|
+
Gate A: buildable source is identified; the three published failures are captured; the intended publication destination is verified or explicitly recorded as an external blocker. Engineering work can continue while publication access is unresolved.
|
|
66
|
+
|
|
67
|
+
### Implementation ownership and shared contracts
|
|
68
|
+
|
|
69
|
+
SoL owns `src/brain/global-brain.ts`, relevant `src/types.ts` additions, and focused storage/scoring tests. The coordinating agent owns test isolation, package/release configuration, CLI/MCP integration, documentation, and publication. Astra reviews both the storage invariants and final evidence.
|
|
70
|
+
|
|
71
|
+
Expose `GlobalBrain.getStorageHealth()` with this additive shape so integrations can proceed independently:
|
|
72
|
+
|
|
73
|
+
```ts
|
|
74
|
+
interface GlobalBrainStorageHealth {
|
|
75
|
+
status: 'healthy' | 'pending' | 'error';
|
|
76
|
+
dbPath: string;
|
|
77
|
+
initialized: boolean;
|
|
78
|
+
pendingOperations: number;
|
|
79
|
+
lastSuccessfulSync: string | null;
|
|
80
|
+
lastError: { code: string; message: string; at: string } | null;
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Use ISO timestamps; return a copy, never mutable internal state. `status: 'error'` takes precedence when the last attempted commit failed and has not subsequently succeeded; an uninitialized store is distinguishable through `initialized`. Keep diagnostic messages free of memory contents. A configurable optional `lockTimeoutMs` may default to 5000 ms. The health command must not inspect credentials, attach integrations, or initialize unrelated services. Reads may inspect only the explicitly selected brain store; tests always select synthetic fixture paths.
|
|
85
|
+
|
|
86
|
+
## Phase 1 — Define and implement memory commit invariants
|
|
87
|
+
|
|
88
|
+
### Required invariants
|
|
89
|
+
|
|
90
|
+
- An acknowledged asynchronous write exists in the committed store after restart.
|
|
91
|
+
- Every distinct acknowledged write from cooperating processes survives subsequent commits.
|
|
92
|
+
- The database is always either the previous valid JSON or the next valid JSON; readers never observe a partially written payload.
|
|
93
|
+
- Read/parse/permission failure cannot cause a commit based on an assumed empty store.
|
|
94
|
+
- The process never removes another live writer's lock or temporary file.
|
|
95
|
+
- Shutdown clears its timer even when flush fails, and reports flush failure to callers.
|
|
96
|
+
- A long-lived reader refreshes external committed changes on an explicit/periodic sync, even when it has nothing to write. This refresh is read-only; cross-process visibility is bounded by the configured refresh interval, not claimed to be instantaneous.
|
|
97
|
+
- `writeSync()` retains its existing immediate ID-return behavior; documentation explicitly says it stages an in-memory change until `sync()`/shutdown commits. Do not falsely relabel it as durable synchronous I/O.
|
|
98
|
+
|
|
99
|
+
### Recommended architecture
|
|
100
|
+
|
|
101
|
+
Keep the existing JSON format for compatibility, but replace full-snapshot overwrite with a pending-operation commit path. Track additions, project/agent registrations, access-count increments, and explicit deletions separately from the loaded snapshot. The operation queue should preserve the IDs generated when callers originally wrote, so retries are idempotent.
|
|
102
|
+
|
|
103
|
+
Acquire an exclusive filesystem lock adjacent to the configured database using an atomic filesystem operation. Use bounded asynchronous retry and a clear timeout error, not indefinite busy-waiting. Release only a lock whose ownership token matches the current writer. Do not infer that an old timestamp alone proves the owner is dead: if recovery is implemented, test liveness and race conditions conservatively; a bounded error is safer than stealing a live lock.
|
|
104
|
+
|
|
105
|
+
While holding the lock, read and validate the latest disk snapshot. Apply this writer's pending operations to that snapshot and preserve unfamiliar fields wherever compatible. Add new entry IDs once; apply access increments as deltas; merge registration timestamps monotonically. A stale writer must not reintroduce an entry explicitly deleted by another writer. If prune semantics cannot be made correct within this release, narrowly defer automatic pruning during concurrent commit and document that choice rather than merge whole stale maps.
|
|
106
|
+
|
|
107
|
+
Write a unique sibling temporary file opened exclusively, flush the file where supported, and atomically replace the database. Use `try/finally` to close handles and clean up only this writer's files. Account for Windows rename errors without deleting the last valid destination first. Avoid promising full power-loss durability unless filesystem/directory flush behavior is tested on the supported platforms.
|
|
108
|
+
|
|
109
|
+
Only after successful replacement: resolve accepted queued writes `true`, update in-memory state from the committed merged snapshot, clear committed operations, set last-sync status, and publish durable-commit events if introduced. On failure: report the error, keep operations retryable, and never claim successful persistence. Choose and document whether the original `write()` promise resolves `false` immediately while operations remain queued, or stays pending until a later successful retry; tests and callers must agree.
|
|
110
|
+
|
|
111
|
+
Treat a missing file as a new store only on the specific missing-file error. Validate top-level shape and schema before merging. A corrupt-store backup/recovery workflow must preserve the original bytes and be explicit. Unsupported future schemas fail closed. Avoid introducing automatic destructive migration.
|
|
112
|
+
|
|
113
|
+
### Tests that matter
|
|
114
|
+
|
|
115
|
+
- Two stale instances, both flush orders, then reopen: both entries survive.
|
|
116
|
+
- A read-only instance syncs after another writer commits: recall sees the externally committed entry without rewriting the store.
|
|
117
|
+
- Multiple actual Node processes synchronize on a barrier and write many distinct entries: exact expected ID set survives, JSON parses, no duplicate IDs.
|
|
118
|
+
- A writer registers a project while another adds a memory: both survive.
|
|
119
|
+
- Two writers touch the same entry: access increments are merged correctly and timestamps do not move backward.
|
|
120
|
+
- A stale writer commits after a prune/delete: deleted entries are not resurrected.
|
|
121
|
+
- Forced write/rename failure: no true acknowledgement, prior valid DB remains intact, retry commits exactly once.
|
|
122
|
+
- Held lock: bounded timeout, no stolen lock, no deletion of another writer's temp file.
|
|
123
|
+
- Malformed JSON, permission failure, unsupported schema: error is visible, original bytes are preserved.
|
|
124
|
+
- Shutdown with pending writes and shutdown under error: promise/timer behavior is deterministic.
|
|
125
|
+
|
|
126
|
+
Gate B: these tests pass against temporary databases; the published loss and false-acknowledgement probes are corrected; reviewer inspects lock ownership and failure cleanup.
|
|
127
|
+
|
|
128
|
+
## Phase 2 — Make recall relevance and trust signals honest
|
|
129
|
+
|
|
130
|
+
Create one shared keyword normalization path for matching and scoring. Normalize case and whitespace, remove duplicates and documented stop words, and distinguish an empty meaningful query from a real query. Do not use one normalization rule in `recall()` and another in `recallScored()`.
|
|
131
|
+
|
|
132
|
+
Compute relevance from actual matched query terms and field contributions. Content/category evidence should dominate a match on project name alone. Keep scores finite and within [0,1], and retain stable deterministic ties. Apply metadata/project/agent filters before computing the candidate universe. Evaluate the complete bounded filtered candidate set rather than allowing an arbitrary pre-score top-60 cutoff to exclude the best scored result; document any explicit safety cap.
|
|
133
|
+
|
|
134
|
+
Remove the current claim that different agents writing anything in a category constitute corroboration. A conservative compatible repair is to keep the `signals.corroboration` field at zero unless explicit corroboration evidence is defined and validated. If implementing a duplicate-fact heuristic, restrict it to the same project and normalized factual content, count distinct agent identities, and label it independent reports rather than proof of truth. Copied text and fabricated agent labels are not verified independent evidence.
|
|
135
|
+
|
|
136
|
+
Do not equate last access with source freshness. Preserve the existing recency field for compatibility but clarify its meaning, or use creation/explicit verification time with a documented change. Access popularity is a ranking aid, not factual validation. Unknown or invalid timestamps must have conservative finite handling; negative/non-finite importance and access counts must not create NaN or inflate trust.
|
|
137
|
+
|
|
138
|
+
Retain the `confidence.score`, `level`, and `signals` shape. Add optional explanation/matched-term fields only if consumers need them. Describe the value as a heuristic recall score, not a calibrated probability that a statement is true. High scores never supersede source verification or project instructions.
|
|
139
|
+
|
|
140
|
+
Tests: one of several query terms versus all terms; category-only versus content matches; unrelated same-category entries in other projects; duplicate keywords; stop-word-only query; mixed casing; malformed legacy dates/counts; fractional/negative/non-finite limits and thresholds; deterministic tie ordering; score filtering; project isolation; queries large enough to expose the old candidate cutoff.
|
|
141
|
+
|
|
142
|
+
Gate C: unrelated memories no longer change a target's corroboration score; stronger query matches rank appropriately; every emitted score/signal is finite; response compatibility is preserved.
|
|
143
|
+
|
|
144
|
+
## Phase 3 — Integrate existing surfaces and document behavior
|
|
145
|
+
|
|
146
|
+
- Route MCP and dashboard recall through the same options validation and scoring behavior. The current `global_recall_scored` MCP tool already exists; extend it instead of creating duplicate tools.
|
|
147
|
+
- Preserve existing endpoint names and flags even where names are project-specific. A generic alias is additive if worthwhile, not a reason to break clients.
|
|
148
|
+
- Make any cross-project fallback explicit in the response and visible in the interface. Existing dashboard code already shows a fallback warning; preserve this behavior.
|
|
149
|
+
- Update dashboard score labels/tooltips and type comments to avoid implying factual corroboration or calibrated truth confidence.
|
|
150
|
+
- If exposing storage health, report last successful commit, pending count, and last failure without dumping memory content or filesystem secrets.
|
|
151
|
+
- Audit changed UI interpolation for escaping. A static audit already found activity-log `innerHTML` interpolation of event details; either fix this small directly related unsafe rendering path with a malicious-text regression fixture, or disclose it as a separately tracked pre-existing issue. Do not execute untrusted markup in a real user browser.
|
|
152
|
+
- Resolve version strings in changed release surfaces and include valid npm-facing images or remove broken references. Remove the unrelated Trendshift badge rather than implying unrelated popularity.
|
|
153
|
+
- Reconcile the declared Node minimum with dependency engines and test matrix. Raising it is a compatibility decision that must be explicit, not a silent metadata edit.
|
|
154
|
+
|
|
155
|
+
Gate D: API/MCP fixture tests exercise real changed handlers where practical; package CLI/API smoke tests use isolated temporary homes/stores after inspecting startup paths; docs accurately describe persistence, ranking, limitations, and install behavior. Browser UI is not used without the user's request under the user's privacy instructions; static rendering tests are not reported as visual browser acceptance.
|
|
156
|
+
|
|
157
|
+
## Phase 4 — Verify the exact distributable
|
|
158
|
+
|
|
159
|
+
Run TypeScript checking/build, focused regression tests, then the available full suite. Record commands, runtime versions, counts, failures, and exit codes. Investigate new failures; preserve a clear separation between pre-existing failures and this change. Do not describe a partial or skipped suite as a full pass.
|
|
160
|
+
|
|
161
|
+
Create the actual npm tarball with lifecycle scripts disabled where required. Inspect its file manifest: source maps/declarations align, entry points and CLI shebangs exist, no fixture stores, logs, private state, test artifacts, or credentials are included. Test installation and imports from this exact tarball in a fresh sandbox. Inspect postinstall behavior before executing it; it must not mutate the user's environment during verification.
|
|
162
|
+
|
|
163
|
+
Run the concurrent-writer and restart probe against the installed packed output, not only TypeScript test imports. Confirm package version, runtime-visible version, and release documentation agree. Validate the minimum supported Node version or clearly state which versions were actually exercised.
|
|
164
|
+
|
|
165
|
+
Produce a release manifest containing source commit, version, artifact filename, SHA-256/SHA-512 or npm integrity, test summary, and known limitations. Retain the previously published tarball and git checkpoint for rollback reference; do not touch the user's live memory store.
|
|
166
|
+
|
|
167
|
+
Gate E: the exact artifact intended for publication passes isolated verification and the review lead approves the concrete diff and evidence.
|
|
168
|
+
|
|
169
|
+
## Phase 5 — GitHub and npm release
|
|
170
|
+
|
|
171
|
+
The user has requested upload to GitHub and npm; no extra generic confirmation is needed for that authorized destination. Publishing still requires a verified repository and usable authenticated capability. Use connected tools or an already configured publishing command without opening or printing credential stores. Never request a token, password, recovery code, or OTP to be pasted into chat. If authentication is unavailable or interactive approval is required, identify that precise external blocker after completing the reviewable local work.
|
|
172
|
+
|
|
173
|
+
1. Confirm version availability and verified upstream target; avoid overwriting existing immutable npm versions or unrelated repository history.
|
|
174
|
+
2. Commit the reviewed source and documentation; push the intended branch/tag through the authorized capability. Confirm the remote commit matches the reviewed local commit.
|
|
175
|
+
3. Publish the exact tested tarball at the chosen version/tag. Do not rebuild different bytes after verification without repeating package checks.
|
|
176
|
+
4. Read public registry metadata and fetch the published tarball to verify version and integrity. Smoke-test the public artifact in a new isolated directory.
|
|
177
|
+
5. Verify GitHub visibility, release/tag identity, npm version/dist-tag, and installation separately. A successful local build is not proof of a GitHub push or npm publication.
|
|
178
|
+
6. Report actual outcomes with links and any external blockers. If one destination succeeds and the other fails, say so explicitly and retain the artifact for a controlled retry.
|
|
179
|
+
|
|
180
|
+
Rollback: restore a prior known-good version through the appropriate distribution tag or publish a corrective version; do not assume deleting a public version is safe or allowed. Keep old-schema reading compatible so rollback does not require destructive memory conversion. Document that downgrade to older writers reintroduces their lack of locking; do not promise concurrent safety with old and new writer versions mixed.
|
|
181
|
+
|
|
182
|
+
## Follow-on roadmap after this release
|
|
183
|
+
|
|
184
|
+
1. Evidence lifecycle: explicit source references, verification timestamps, superseded/conflicting memories, source-change detection, and transparent review queues.
|
|
185
|
+
2. Storage evolution: benchmark real memory sizes and contention, then consider a transactional store behind an adapter with tested export/rollback. Do not rewrite storage solely for fashion.
|
|
186
|
+
3. Retrieval evaluation: held-out realistic queries with relevance judgments and ablation comparisons. Measure retrieval utility separately from factual correctness; report results instead of claiming intelligence gains without evidence.
|
|
187
|
+
4. Safer integration management: idempotent attach/detach, config backups, previewable mutations, and platform-specific compatibility checks.
|
|
188
|
+
5. Dashboard and network boundary audit: escaping, request methods, origin checks, loopback defaults, and optional offline asset bundling. This requires a separate defined audit scope.
|
|
189
|
+
6. Operational clarity: health reports, explicit persistence errors, schema compatibility reports, and measured recall/commit latency under load.
|
|
190
|
+
|
|
191
|
+
## Release completion checklist
|
|
192
|
+
|
|
193
|
+
- [x] Authoritative source/provenance and intended current-account repository destination established; remote creation/push is a separate gate.
|
|
194
|
+
- [x] Memory-loss and false-success regressions repaired and tested with real processes.
|
|
195
|
+
- [x] Lock, corruption, schema, and retry failure paths reviewed.
|
|
196
|
+
- [x] Recall scores use actual relevance and conservative corroboration.
|
|
197
|
+
- [x] Existing clients and existing JSON stores remain supported as documented.
|
|
198
|
+
- [x] Changed dashboard output is escaped and labels are accurate.
|
|
199
|
+
- [x] Build, relevant tests, and packed-artifact checks recorded.
|
|
200
|
+
- [ ] Release artifact, source commit, and integrity recorded.
|
|
201
|
+
- [ ] GitHub remote commit/tag verified, or precise external blocker reported.
|
|
202
|
+
- [ ] npm public version/integrity verified, or precise external blocker reported.
|
|
203
|
+
- [ ] Final response distinguishes implemented, tested, uploaded, and externally verified outcomes.
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
# Shadow Brain — Viral Launch Playbook
|
|
2
|
+
|
|
3
|
+
> **For:** @theihtisham — execute personally; do NOT delegate
|
|
4
|
+
> **Goal:** v6.0.2 "Singularity" reaches **HN front page**, **#1 trending on GitHub**, **10k stars in 30 days**
|
|
5
|
+
> **Honest disclaimer:** Virality is not engineered, only set up. This playbook maximizes the chance, but timing + luck + thumbnail matter.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## The Thesis
|
|
10
|
+
|
|
11
|
+
Hermes Agent, Devin, Cursor, Cline didn't go viral because they were *more featured*. They went viral because they showed **one undeniable thing the world hadn't seen**. For Shadow Brain v6.0.2, that thing is:
|
|
12
|
+
|
|
13
|
+
> **"Your codebase becomes its own model. Watch your AI agents share a single brain — and produce shareable proof."**
|
|
14
|
+
|
|
15
|
+
The 5 viral features (Replay, DNA, Hive Voice, Time Capsule, Diff) are designed to **produce screenshots that people retweet**. The product is the marketing. Every artifact is a thumbnail.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## The 4-Phase Launch
|
|
20
|
+
|
|
21
|
+
### Phase 0 — T-7 days: Build the seed (in private)
|
|
22
|
+
|
|
23
|
+
- [ ] **Record the hero demo** — 90 seconds, no narration, just the dashboard + 3 viral features in action. Upload as MP4 to repo and to a Twitter-friendly host.
|
|
24
|
+
- [ ] **Generate 5 Brain DNA cards** — for 5 different real public repos (React, Django, your own repo, an Anthropic SDK, a Hacker News favorite). Save as PNG.
|
|
25
|
+
- [ ] **Generate Brain Replay SVG** for at least 1 mid-sized real project. Polish the gradient/colors so it looks like a poster.
|
|
26
|
+
- [ ] **Generate a Hive Voice SVG** answering a hot question ("Should you use Server Components by default in 2026?"). Make it look like an FOMC bar chart.
|
|
27
|
+
- [ ] **Run SWE-Bench-Lite once** locally if compute allows — get *real numbers*. "+33% resolution rate" beats "potentially huge."
|
|
28
|
+
- [ ] **Pre-seed 5 GitHub issues** with discussions / FAQs / known limitations — looks alive on day 1.
|
|
29
|
+
- [ ] **Update the README banner** with a still from the hero demo.
|
|
30
|
+
- [ ] **Buy the domain** `shadow-brain.dev` and `brain.dev` if available; just park them.
|
|
31
|
+
|
|
32
|
+
### Phase 1 — Launch day (Tuesday, 09:00 PT)
|
|
33
|
+
|
|
34
|
+
The launch tweet **leads with the SVG**, not the link.
|
|
35
|
+
|
|
36
|
+
#### Tweet 1 (with Brain DNA card image):
|
|
37
|
+
```
|
|
38
|
+
your codebase has a personality.
|
|
39
|
+
|
|
40
|
+
mine is "The Architect."
|
|
41
|
+
|
|
42
|
+
i built shadow brain — every AI coding agent on your machine shares one local brain.
|
|
43
|
+
v6.0.2 ships 5 things nobody else has.
|
|
44
|
+
|
|
45
|
+
🧵
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
#### Tweet 2 (with Brain Replay timeline SVG):
|
|
49
|
+
```
|
|
50
|
+
1/ Brain Replay
|
|
51
|
+
|
|
52
|
+
scrubbable timeline of every decision, memory, and insight your hive has made — since day zero.
|
|
53
|
+
|
|
54
|
+
drag the cursor. watch your project learn.
|
|
55
|
+
|
|
56
|
+
[gif of scrubbing the timeline]
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
#### Tweet 3 (with Hive Voice bar chart):
|
|
60
|
+
```
|
|
61
|
+
2/ Hive Voice
|
|
62
|
+
|
|
63
|
+
3 local models vote on every architecture decision.
|
|
64
|
+
you see consensus, dissent, and confidence distribution. live.
|
|
65
|
+
|
|
66
|
+
no more "the AI said so." now you see the AIs argue.
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
#### Tweet 4 (with Time Capsule screenshot):
|
|
70
|
+
```
|
|
71
|
+
3/ Brain Time Capsule
|
|
72
|
+
|
|
73
|
+
freeze your brain. label it. resurrect it in 6 months.
|
|
74
|
+
|
|
75
|
+
"here's what we knew about React in January."
|
|
76
|
+
"here's what we thought about Supabase before the migration."
|
|
77
|
+
|
|
78
|
+
git, but for intelligence.
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
#### Tweet 5 (with Brain Diff Venn):
|
|
82
|
+
```
|
|
83
|
+
4/ Brain Diff
|
|
84
|
+
|
|
85
|
+
diff two brains semantically.
|
|
86
|
+
|
|
87
|
+
"what did Team A learn that Team B didn't?"
|
|
88
|
+
|
|
89
|
+
[Venn diagram SVG]
|
|
90
|
+
|
|
91
|
+
now you know what to teach.
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
#### Tweet 6 (with sample LoRA conversation):
|
|
95
|
+
```
|
|
96
|
+
5/ Project-LoRA
|
|
97
|
+
|
|
98
|
+
every week, distill your brain into a LoRA adapter on Qwen2.5-Coder-1.5B.
|
|
99
|
+
|
|
100
|
+
your codebase becomes a model.
|
|
101
|
+
|
|
102
|
+
runs locally via Ollama. zero cloud. zero per-token cost.
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
#### Tweet 7 (the close):
|
|
106
|
+
```
|
|
107
|
+
shadow brain v6.0.2 — "Singularity"
|
|
108
|
+
|
|
109
|
+
local-first
|
|
110
|
+
free forever
|
|
111
|
+
MIT license
|
|
112
|
+
zero telemetry
|
|
113
|
+
|
|
114
|
+
$ npm i -g @theihtisham/agent-shadow-brain
|
|
115
|
+
$ shadow-brain demo
|
|
116
|
+
|
|
117
|
+
→ github.com/theihtisham/agent-shadow-brain
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Phase 1 — Launch day, simultaneous posts
|
|
121
|
+
|
|
122
|
+
#### Hacker News (Show HN, ~09:30 PT same morning):
|
|
123
|
+
```
|
|
124
|
+
Show HN: Shadow Brain — 5 features no other AI coding agent has
|
|
125
|
+
|
|
126
|
+
Title is honest, not clickbait. Body:
|
|
127
|
+
|
|
128
|
+
I got tired of explaining the same context to Claude Code, then Cursor, then Cline. Every session, every agent, from zero.
|
|
129
|
+
|
|
130
|
+
So I built Shadow Brain. One local brain. Every agent — Claude Code, Cursor, Cline, Aider, Copilot, Codex, Windsurf, OpenCode — shares it. What one agent learns, every agent inherits. 100% local. MIT.
|
|
131
|
+
|
|
132
|
+
v6.0.2 ships 5 things I haven't seen anywhere else:
|
|
133
|
+
|
|
134
|
+
1. Brain Replay — scrubbable timeline of every brain event since day zero. SVG exports.
|
|
135
|
+
2. Brain DNA — Spotify-Wrapped-style fingerprint card per codebase. Shareable PNG.
|
|
136
|
+
3. Hive Voice — multiple local models vote on every question. See dissent + confidence live.
|
|
137
|
+
4. Brain Time Capsule — freeze + resurrect brain states. "Here's what we knew in January."
|
|
138
|
+
5. Brain Diff — semantic diff between two brains. Venn diagram output.
|
|
139
|
+
|
|
140
|
+
Plus: real ANN vector index, Constitution layer, Confidence Gate, multimodal vision, LoRA distillation pipeline, SWE-Bench-Lite eval harness.
|
|
141
|
+
|
|
142
|
+
GitHub: github.com/theihtisham/agent-shadow-brain
|
|
143
|
+
npm: @theihtisham/agent-shadow-brain
|
|
144
|
+
30-second demo: $ npm i -g @theihtisham/agent-shadow-brain && shadow-brain demo
|
|
145
|
+
|
|
146
|
+
Honest about the limits in the README. Honest about the v7 roadmap. Honest that I'd love your feedback.
|
|
147
|
+
|
|
148
|
+
— theihtisham
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
#### Reddit /r/LocalLLaMA + /r/MachineLearning + /r/programming
|
|
152
|
+
Drop the same thread, customized last paragraph per sub.
|
|
153
|
+
|
|
154
|
+
#### LinkedIn (longer-form post):
|
|
155
|
+
- Lead with "Why I built this" (1 paragraph)
|
|
156
|
+
- The 5 features
|
|
157
|
+
- Link
|
|
158
|
+
|
|
159
|
+
#### Bluesky + Mastodon (same as Twitter, formatted)
|
|
160
|
+
|
|
161
|
+
### Phase 2 — Day 1-3 amplification
|
|
162
|
+
|
|
163
|
+
- [ ] **Respond to every HN comment within 30 minutes** for the first 6 hours
|
|
164
|
+
- [ ] **Live-tweet the metrics** ("Hour 4: 500 stars · 12 PRs · 3 issues fixed")
|
|
165
|
+
- [ ] **DM the 50 most-relevant influencers personally** (no spam, only if their bio screams "AI coding tools" — and only AFTER they've posted publicly today)
|
|
166
|
+
- [ ] **Reply to every Twitter mention** for 48 hours
|
|
167
|
+
- [ ] **Open 5 RFC issues** for community design input — makes it look like a project, not a launch
|
|
168
|
+
- [ ] **Submit to Product Hunt** on day 2 (separate hit, different audience)
|
|
169
|
+
- [ ] **Submit to Indie Hackers** end of day 2
|
|
170
|
+
|
|
171
|
+
### Phase 3 — Week 1-2 follow-through
|
|
172
|
+
|
|
173
|
+
- [ ] **Blog post** on Substack/dev.to: "How I built Shadow Brain" — technical deep-dive
|
|
174
|
+
- [ ] **Podcast outreach** — DM 5 podcasts (Latent Space, ThePrimeagen, Lex if you're bold, etc.)
|
|
175
|
+
- [ ] **YouTube long-form** — 20-minute "build a brain pack for X" walkthrough
|
|
176
|
+
- [ ] **Twitter Spaces / X Space** — host a "build your brain" hour
|
|
177
|
+
- [ ] **GitHub Discussions** — pin 3 community challenges
|
|
178
|
+
- [ ] **Brain Exchange seed launch** — week 2: 5 starter packs go live
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## What to NOT do
|
|
183
|
+
|
|
184
|
+
These are the most common launch mistakes. Don't.
|
|
185
|
+
|
|
186
|
+
- ❌ **Don't lead with a wall of text.** Lead with the SVG/PNG. Image-first, always.
|
|
187
|
+
- ❌ **Don't oversell.** "Disrupts AI coding forever" reads as cringe. "5 things no one else has" reads as confident.
|
|
188
|
+
- ❌ **Don't @ random influencers in your launch tweet.** Looks needy. They'll find it if it's good.
|
|
189
|
+
- ❌ **Don't argue with cynics in the replies.** Pin the demo GIF instead. Let the artifact do the talking.
|
|
190
|
+
- ❌ **Don't gate features behind sign-up.** Anything that asks for an email before showing value gets memed.
|
|
191
|
+
- ❌ **Don't claim numbers you didn't measure.** "+33% resolution on 10 SWE-Bench-Lite problems" is fine. "5× faster than Cursor" without a benchmark is not.
|
|
192
|
+
- ❌ **Don't ship the launch tweet during US lunch / European evening / Asian sleep.** 09:00 PT Tuesday. Otherwise wait.
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## The Metrics That Matter
|
|
197
|
+
|
|
198
|
+
Track these. Post them publicly when they hit milestones.
|
|
199
|
+
|
|
200
|
+
| Metric | Day 1 target | Week 1 target | Month 1 target |
|
|
201
|
+
|---|---|---|---|
|
|
202
|
+
| GitHub stars | 500 | 3,000 | 10,000 |
|
|
203
|
+
| npm weekly downloads | 200 | 2,000 | 10,000 |
|
|
204
|
+
| HN front page rank | top 30 | — | — |
|
|
205
|
+
| Twitter impressions | 100k | 500k | 2M |
|
|
206
|
+
| Reddit upvotes (combined) | 200 | 1,000 | 3,000 |
|
|
207
|
+
| Brain Exchange packs (community) | 0 | 3 | 10 |
|
|
208
|
+
| GitHub forks | 50 | 200 | 800 |
|
|
209
|
+
| Public users (npm install) | 200 | 2,000 | 10,000 |
|
|
210
|
+
|
|
211
|
+
If you don't hit Day 1 targets — don't panic, but **post a public retrospective**. Honesty about a flat launch wins later goodwill.
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## The "Crazy" Quote-Tweets To Pre-Write
|
|
216
|
+
|
|
217
|
+
People retweet *because of a quote*. Pre-write 10 of these so you can drop them when momentum picks up.
|
|
218
|
+
|
|
219
|
+
1. *"AI coding tools today: every session, every agent, from zero. Shadow Brain: one brain, every agent, infinite memory. Local. Free. MIT."*
|
|
220
|
+
2. *"I think Cursor / Cline / Aider are great. None of them remember anything across sessions. Shadow Brain fixes that — for all of them simultaneously."*
|
|
221
|
+
3. *"The hot take: AI coding 'memory' is a solved problem. We just hadn't built it open-source yet."*
|
|
222
|
+
4. *"Your codebase has a personality. Mine is 'The Architect.' Generate yours."*
|
|
223
|
+
5. *"Hive Voice is what the AI safety community has been asking for, packaged in a way devs will actually use."*
|
|
224
|
+
6. *"Brain Time Capsule is git for intelligence. We git'd code in 2005. We're git'ing intelligence in 2026."*
|
|
225
|
+
7. *"Project-LoRA: every week, your codebase becomes a model. Try doing that with a SaaS coding tool. (You can't.)"*
|
|
226
|
+
8. *"The honest pitch: this is the AI memory infrastructure I wish existed when I started. So I built it. MIT."*
|
|
227
|
+
9. *"No telemetry. No cloud. No surveillance. Just one local brain your agents share."*
|
|
228
|
+
10. *"Devin proved the agent. Cursor proved the editor. Shadow Brain proves the memory."*
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## After Launch — The Compounding Plays
|
|
233
|
+
|
|
234
|
+
Once the initial surge is over, what makes the project keep growing?
|
|
235
|
+
|
|
236
|
+
1. **Brain Exchange marketplace** — UGC content compounds organically
|
|
237
|
+
2. **VS Code extension** — discoverability bump from Marketplace
|
|
238
|
+
3. **GitHub Action** — every PR that merges advertises the brain
|
|
239
|
+
4. **Public leaderboard** — SWE-Bench numbers updated monthly
|
|
240
|
+
5. **Conference talks** — submit to ML conferences with the LoRA distillation paper
|
|
241
|
+
6. **Academic paper** — publish "Local-First Shared Memory for AI Coding Agents" on arXiv
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Final Honesty
|
|
246
|
+
|
|
247
|
+
This playbook maximizes chance, not certainty. Most launches don't pop. The ones that do, do because:
|
|
248
|
+
|
|
249
|
+
1. The *thing itself* is genuinely new (yes, here)
|
|
250
|
+
2. The *artifacts* are inherently shareable (yes, the 5 SVGs)
|
|
251
|
+
3. The *timing* lines up (Tuesday 09:00 PT, not during a major event)
|
|
252
|
+
4. The *narrative* is clear in 1 sentence ("every AI agent shares one local brain")
|
|
253
|
+
5. The *founder shows up* in the replies for 48 hours (this is on you)
|
|
254
|
+
|
|
255
|
+
If 1-4 are in place and you do 5 — the upside is real. If you skip 5, the upside is 80% smaller.
|
|
256
|
+
|
|
257
|
+
Go.
|
|
258
|
+
|
|
259
|
+
— playbook generated by the brain for the brain
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# A visual guide to Agent Shadow Brain
|
|
2
|
+
|
|
3
|
+
The control room captures use an isolated store containing 74 excerpts from 18 public Agent Brain documents, with 54 links backed by Markdown references in the excerpts. The journal records three measured calls from a scripted local MCP client. The workflow screenshots farther down use separate synthetic fixtures and carry an on-screen label. [Public documentation snapshot](https://github.com/theihtishaam/agents-brain/tree/2e26e7b349db4dd75bf0277b28caff8044190d16)
|
|
4
|
+
|
|
5
|
+
## Open the control room
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
Start `shadow-brain project workspace . --port 62595` and open `/hub`. The header confirms whether the local workspace responded. A reachable workspace can have no host activity. When the process stops, the page retains its loaded snapshot and retries. Restarting the same project on the same port restores the route.
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
| Visual | Evidence |
|
|
14
|
+
| --- | --- |
|
|
15
|
+
| Cyan graph links | A memory belongs to a project. |
|
|
16
|
+
| Pink graph links | A memory was recorded by an agent or operator. |
|
|
17
|
+
| Amber graph links | A persisted typed relationship. |
|
|
18
|
+
| Moving highlight | A fresh journal record whose project and author are both present in the graph. Measured events use cyan and explicit reports use amber. The arc locates an event in the graph. |
|
|
19
|
+
| Faint outer outline | A placement guide for the stored nodes. |
|
|
20
|
+
| Inspector | Stored record, source references, links, or a selected journal event. |
|
|
21
|
+
|
|
22
|
+
Choose a node with the pointer or open **Node list** and select it with the keyboard. **Clear focus** restores the surrounding relationships. **Trace** lists retained journal events. Seek with the slider or select a timeline row. **Latest** follows new events. **Pause motion** and the system reduced-motion preference stop animation.
|
|
23
|
+
|
|
24
|
+

|
|
25
|
+
|
|
26
|
+

|
|
27
|
+
|
|
28
|
+
## Approve a cited page
|
|
29
|
+
|
|
30
|
+

|
|
31
|
+
|
|
32
|
+
Upload a project PDF and open a page. Review its extracted text and citation before approving it into the project’s memory. Uploading identical bytes returns the existing document. Image-only pages require OCR, which this build does not provide. **Add knowledge** accepts explicit text. The **Project skill** form previews a generated host skill and applies that exact plan after review.
|
|
33
|
+
|
|
34
|
+
## Share a workstream
|
|
35
|
+
|
|
36
|
+
```mermaid
|
|
37
|
+
flowchart TD
|
|
38
|
+
Room[Room goal] --> Discussion[Proposals, critiques, and replies]
|
|
39
|
+
Room --> Task[Task and revisioned claim]
|
|
40
|
+
Task --> File[Project artifact and SHA-256]
|
|
41
|
+
File --> Accept[Operator acceptance]
|
|
42
|
+
Discussion --> Ack[Recipient acknowledgement]
|
|
43
|
+
File --> Ack
|
|
44
|
+
Accept --> Outcome[Recorded result and evidence]
|
|
45
|
+
Outcome --> Lesson[Candidate lesson and recorded evaluation]
|
|
46
|
+
Lesson --> Promote[Explicit promotion or rollback]
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
The browser and project-local MCP tools can read the same workroom, report outcomes, and resume from recorded state. Lessons record operator-supplied comparisons. Promotion requires a failed baseline, a passing candidate, and passing safety controls. Rollback archives the promoted memory’s retrieval influence. Native host loading and a live exchange should be checked in each selected host.
|
|
50
|
+
|
|
51
|
+

|
|
52
|
+
|
|
53
|
+
## Inspect estimates and host evidence
|
|
54
|
+
|
|
55
|
+
- **Context** builds a pack for the selected project and can compare adaptive and legacy retrieval. The estimates describe rendered context. Review the selected sources before copying.
|
|
56
|
+
- **Models** shows local client skill-file checks and retained activity evidence. Model identity and provider counts stay unavailable.
|
|
57
|
+
- **Usage** separates measured tool timing from explicit reports. Counts describe the retained journal loaded by this workspace. Context token estimates do not quantify provider charges.
|
|
58
|
+
- **Setup** provides configuration recipes and live feature controls. A printed recipe or detected skill file does not establish that a host connected.
|
|
59
|
+
|
|
60
|
+

|
|
61
|
+
|
|
62
|
+

|
|
63
|
+
|
|
64
|
+

|
|
65
|
+
|
|
66
|
+
<img src="assets/7.1.4-hub-mobile.png" width="390" alt="Brain Hub on a 390 pixel mobile viewport">
|
|
67
|
+
|
|
68
|
+
[Quickstart](QUICKSTART.md) · [Workspace guide](WORKSPACE.md) · [Features and limits](FEATURES_AND_LIMITS.md) · [Troubleshooting](TROUBLESHOOTING.md)
|
|
69
|
+
|
|
70
|
+
|