Add Collective architecture docs, design decisions, and transferable …#6
Merged
Lightheartdevs merged 1 commit intomainfrom Feb 17, 2026
Merged
Conversation
…patterns Reframes the repo from standalone toolkit to reference implementation of a proven multi-agent architecture. Adds COLLECTIVE.md (full system architecture), docs/DESIGN-DECISIONS.md (operational lessons), and docs/PATTERNS.md (six framework-agnostic patterns for autonomous agent systems). Updates README with architectural context and links to Android-Labs as proof of work. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SSignall
pushed a commit
to SSignall/DreamServer
that referenced
this pull request
Mar 8, 2026
igorls
added a commit
to igorls/DreamServer
that referenced
this pull request
Mar 9, 2026
Shell Scripts: - dream-restore.sh: Replace hardcoded config list with dynamic glob for compose overlays (.base.yml, .nvidia.yml, etc.) (Light-Heart-Labs#4) - dream-update.sh: Use resolve-compose-stack.sh for container restart instead of hardcoded docker-compose.yml (Light-Heart-Labs#7) - dream-update.sh: Enable dotglob in rollback to restore hidden files like .env and .version (Light-Heart-Labs#6) - dream-backup.sh: Include .tar.gz archives in retention/list queries to prevent infinite disk accumulation (Light-Heart-Labs#9) - dream-backup.sh: Dynamic glob for config backup (compose overlays) Token Spy: - compose.yaml: Add persistent volume mount for data/ directory to prevent SQLite data loss on container restart (#2) - main.py: Offload blocking SSH subprocess to thread pool via asyncio.to_thread() to prevent event loop deadlock (#3) - main.py: Add finally blocks in streaming generators to guarantee billing metrics are logged on asyncio.CancelledError (Light-Heart-Labs#8) - db_postgres.py: Add conn.rollback() on failed SQL to prevent connection pool poisoning (Light-Heart-Labs#10) Installer: - detection.sh: Run systemd auto-resume service as root instead of $USER to prevent sudo password hang and permission errors (Light-Heart-Labs#11)
igorls
added a commit
to igorls/DreamServer
that referenced
this pull request
Mar 10, 2026
… audit CRITICAL: - #1: Command injection via SUDO_USER — switched execSync to execFileSync in getUserHome() to bypass shell interpolation - #2: Symlink attack in /tmp — selfUpdate() now uses mkdtempSync with 0700 perms instead of hardcoded /tmp paths HIGH: - #3: SHA256 verification failure — download binary with artifact name so sha256sum --check finds the correct file - Light-Heart-Labs#4: Broken rollback — verify new binary via exitCode check, not dead catch block (throwOnError: false skips catch) - Light-Heart-Labs#5: Data loss in uninstall — docker compose down -v now conditional on !keepData - Light-Heart-Labs#6: rm -rf path safety — refuse system directories (/, /home, /root, /usr, etc.) with structural depth check MEDIUM: - Light-Heart-Labs#7: Model download failure halts install (throw instead of silent return) — prevents llama-server crash-loop - Light-Heart-Labs#8: Tier change now applies CTX_SIZE even when model name unchanged (Tier 1->2 both use qwen3-8b but differ in context) Tests: updated model.test.ts to expect throw on download failure All 138 tests passing
igorls
added a commit
to igorls/DreamServer
that referenced
this pull request
Mar 13, 2026
… audit CRITICAL: - #1: Command injection via SUDO_USER — switched execSync to execFileSync in getUserHome() to bypass shell interpolation - #2: Symlink attack in /tmp — selfUpdate() now uses mkdtempSync with 0700 perms instead of hardcoded /tmp paths HIGH: - #3: SHA256 verification failure — download binary with artifact name so sha256sum --check finds the correct file - Light-Heart-Labs#4: Broken rollback — verify new binary via exitCode check, not dead catch block (throwOnError: false skips catch) - Light-Heart-Labs#5: Data loss in uninstall — docker compose down -v now conditional on !keepData - Light-Heart-Labs#6: rm -rf path safety — refuse system directories (/, /home, /root, /usr, etc.) with structural depth check MEDIUM: - Light-Heart-Labs#7: Model download failure halts install (throw instead of silent return) — prevents llama-server crash-loop - Light-Heart-Labs#8: Tier change now applies CTX_SIZE even when model name unchanged (Tier 1->2 both use qwen3-8b but differ in context) Tests: updated model.test.ts to expect throw on download failure All 138 tests passing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…patterns
Reframes the repo from standalone toolkit to reference implementation of a proven multi-agent architecture. Adds COLLECTIVE.md (full system architecture), docs/DESIGN-DECISIONS.md (operational lessons), and docs/PATTERNS.md (six framework-agnostic patterns for autonomous agent systems). Updates README with architectural context and links to Android-Labs as proof of work.