fix: [INSTALL] Launch GOG Bannerlord locally on the Mac with operator proof #1308

Closed
Rockachopa wants to merge 98 commits from mimo/code/issue-721 into main
Owner

Closes #721

Automated by mimo-v2-pro swarm.
Worker: mimo-code-721-1775996215.processing

Closes #721 Automated by mimo-v2-pro swarm. Worker: mimo-code-721-1775996215.processing
Rockachopa added 98 commits 2026-04-12 16:36:18 +00:00
fix: [INSTALL] Launch GOG Bannerlord locally on the Mac with operator proof (closes #721)
Some checks failed
CI / test (pull_request) Failing after 11s
CI / validate (pull_request) Failing after 13s
Review Approval Gate / verify-review (pull_request) Failing after 4s
536744ec21
- Add portal/bannerlord/INSTALL.md: step-by-step macOS setup guide
- Add portal/bannerlord/launch.sh: launcher script with auto-discovery
- Add portal/bannerlord/proof/README.md: proof capture instructions
- Update portals.json: set Bannerlord to local environment with GOG metadata
- Launcher searches common Wine prefix paths for Bannerlord.exe
- Auto-generates launch logs for operator proof
Squash merge #1185: fix: [UX] Add starter prompts / quick actions for meaningful Timmy interaction

Closes #701

Automated by mimo-v2-pro swarm.
Worker: mimo-build-701-1775864556
Closes #1188

Automated squash merge by mimo swarm.
Closes #1189

Automated squash merge by mimo swarm.
Closes #1190

Automated squash merge by mimo swarm.
Closes #1193

Automated squash merge by mimo swarm.
Closes #1194

Automated squash merge by mimo swarm.
Closes #1197

Automated squash merge by mimo swarm.
Co-authored-by: Alexander Whitestone <alexander@alexanderwhitestone.com>
Co-committed-by: Alexander Whitestone <alexander@alexanderwhitestone.com>
Co-authored-by: Alexander Whitestone <alexander@alexanderwhitestone.com>
Co-committed-by: Alexander Whitestone <alexander@alexanderwhitestone.com>
Co-authored-by: Alexander Whitestone <alexander@alexanderwhitestone.com>
Co-committed-by: Alexander Whitestone <alexander@alexanderwhitestone.com>
Issue #1173
- Spawn burst (20 particles, 2s fade) on new fact stored
- Access trail (10 particles) streaming to crystal on fact access
- Ambient cosmic dust (200 particles, slow drift)
- Category colors for all particles
- Total budget < 500 particles at any time
- Import MemoryParticles component
- Init after SpatialMemory, wire onMemoryPlaced callback
- Update in animation loop
- Spawn burst on memory placement (via callback)
- Access trail on crystal click and navigate
- Category colors for all particles
Complete concept generation pipeline:
- shot-list.yaml: 17 shots across 5 priorities (environments, portals, landmarks, skyboxes, textures)
- prompts/: 5 YAML prompt packs with 17 detailed generation prompts
- pipeline.md: Concept-to-Three.js translation workflow
- storage-policy.md: Repo vs local split for binary media
- references/palette.md: Canonical Nexus color/material/lighting spec

All prompts match existing Nexus visual language (Orbitron/JetBrains,
#4af0c0/#7b5cff/#ffd700 palette, cyberpunk cathedral mood).
Genie world prompts designed for explorable 3D prototyping.
Nano Banana prompts designed for concept art that translates to
specific Three.js geometry, materials, and post-processing.
Entity resolution lines were drawn but LOD culling never activated because setCamera() was defined but not exported. Without camera reference, _updateEntityLines() was a no-op.
Pass camera reference to SpatialMemory so entity resolution lines get distance-based opacity fade and LOD culling.
- setRegionVisibility(category, visible) — toggle single region
- setAllRegionsVisible(visible) — bulk toggle
- getMemoryCountByRegion() — count memories per category
- isRegionVisible(category) — query visibility state
- Filter panel with toggle switches per memory region
- Show All / Hide All bulk controls
- Memory count per category
- Frosted glass UI matching Mnemosyne design
- Frosted glass panel matching Mnemosyne theme
- Category toggle switches with color dots
- Slide-in animation from right
- G key toggles filter panel
- Escape closes filter panel
- toggleMemoryFilter() bridge function
Co-authored-by: Alexander Whitestone <alexander@alexanderwhitestone.com>
Co-committed-by: Alexander Whitestone <alexander@alexanderwhitestone.com>
- Elastic scale-in from 0 to full size
- Bloom flash at materialization peak
- Neighbor pulse: nearby memories brighten on birth
- Connection line progressive draw-in
- Auto-wraps SpatialMemory.placeMemory() for zero-config use
- Import MemoryBirth module
- Initialize alongside SpatialMemory
- Wrap placeMemory() for automatic birth animations
- Call MemoryBirth.update() in render loop
Scanned 2026-04-11, documenting philosophical and moral inscriptions on Bitcoin blockchain.
Returns {nodes, edges} with live link weights. Supports topic_filter
for subgraph extraction. Edges are deduplicated (bidirectional links
become single undirected edges).

Closes #1232
- empty archive returns empty nodes/edges
- nodes have all required fields
- edges have weights in [0,1]
- topic_filter returns subgraph
- bidirectional edges deduplicated
- graph_clusters(): BFS connected component discovery with density + topic analysis
- hub_entries(): degree centrality ranking of most connected entries
- bridge_entries(): Tarjan's articulation points — entries that connect clusters
- rebuild_links(): full link recomputation after bulk ingestion
- _build_adjacency(): internal adjacency builder with validation
- mnemosyne clusters: show connected component clusters with density + topics
- mnemosyne hubs: most connected entries by degree centrality
- mnemosyne bridges: articulation points (entries connecting clusters)
- mnemosyne rebuild: recompute all links from scratch
- graph_clusters: empty, orphans, linked pairs, separate clusters, topics, density
- hub_entries: ordering, limit, inbound/outbound counting
- bridge_entries: triangle (none), chain (B is bridge), small cluster filtered
- rebuild_links: creates links, threshold override, persistence
- Browse all connections from a selected memory crystal
- Suggested connections from same region + nearby memories
- Add/remove connections with bidirectional sync
- Hover highlights connected crystals in 3D world
- Navigate to connected memories via click
- Clean slide-in panel UI matching Mnemosyne aesthetic
- Panel container in index.html after memory-inspect-panel
- Full CSS styles matching Mnemosyne aesthetic
- Slide-in from right, positioned next to inspect panel
- Connected memories list with navigate/remove actions
- Suggested memories with add-connection button
- Hover highlight state for 3D crystal feedback
Closes #1249

- Replace path-specific __pycache__ entries with recursive **/__pycache__/
- Add *.pyc and *.pyo globs
- Remove 22 tracked .pyc files from bin/, nexus/evennia_mempalace/,
  nexus/mempalace/, and nexus/mnemosyne/
- Reorganize .gitignore with section comments for clarity
Closes #1250

- Shell/Python script for cron on Hermes (every 6h)
- Identifies PRs that are both conflicted AND superseded
- Matches by Closes #NNN references and title similarity (60%+ overlap)
- Configurable grace period via GRACE_HOURS env var
- DRY_RUN mode for safe testing
- Idempotent — safe to re-run
Closes #1251

- Documents all shipped backend modules (archive, entry, ingest, linker, cli, tests)
- Documents all shipped frontend components (11 components)
- Lists planned/unshipped features (decay, pulse, embeddings, consolidation)
- References merged PRs for each feature
- Enforces canon_path: nexus/mnemosyne/
Closes #1252

- Assignment-as-lock protocol for humans and agents
- Branch naming conventions
- PR requirements (rebase, reference issues, no bytecode)
- Path conventions table
- Feature manifest workflow
- Stale PR policy documentation
Implements embedding_backend from FEATURES.yaml:
- Abstract EmbeddingBackend interface
- OllamaEmbeddingBackend for local sovereign models
- TfidfEmbeddingBackend pure-Python fallback
- get_embedding_backend() auto-detection
HolographicLinker now accepts optional EmbeddingBackend.
Uses cosine similarity on embeddings when available,
falls back to Jaccard token similarity otherwise.
Embedding cache for performance during link operations.
- MnemosyneArchive.__init__ accepts optional EmbeddingBackend
- Auto-detects best backend via get_embedding_backend()
- semantic_search uses embedding cosine similarity when available
- Falls back to Jaccard token similarity gracefully
Tests cosine similarity, TF-IDF backend,
auto-detection, and fallback behavior.
- search: --backend ollama|tfidf|auto
- rebuild: --backend flag
- Auto-detects best backend when --semantic is used
Part of #1258 — memory decay system.
- vitality: float 0.0-1.0 (default 1.0)
- last_accessed: ISO datetime of last access

Also ensures updated_at and content_hash fields from main are present.
Part of #1258.
- touch(entry_id): record access, boost vitality
- get_vitality(entry_id): current vitality status  
- fading(limit): most neglected entries
- vibrant(limit): most alive entries
- apply_decay(): decay all entries, persist
- stats() updated with avg_vitality, fading_count, vibrant_count

Decay: exponential with 30-day half-life.
Touch: 0.1 * (1 - current_vitality) — diminishing returns.
Part of #1258.
- Test vitality fields on entry model
- Test touch() access recording and boost
- Test compute_vitality decay math
- Test fading/vibrant queries
- Test apply_decay bulk operation
- Test stats integration
- Integration lifecycle test
Part of #1258.
BFS-based pathfinding between memories through the connection graph.
Enables 'how is X related to Y?' queries across the holographic archive.
Closes #1266

- Fix cmd_path calling nonexistent _load() -> use MnemosyneArchive()
- Add path to dispatch dict
- Add touch, decay, vitality, fading, vibrant CLI commands
fix: closes #721
Some checks failed
CI / test (pull_request) Failing after 9s
CI / validate (pull_request) Failing after 15s
Review Approval Gate / verify-review (pull_request) Failing after 3s
a4ce674577
Rockachopa requested review from perplexity 2026-04-12 16:36:19 +00:00
Member

Perplexity Review — PR #1308

Verdict: Request Changes

Summary

Claims to launch GOG Bannerlord locally on Mac with operator proof, but the branch contains 98 commits and 97 changed files (+13,550 / -1,114) — far beyond the scope of a single install task.

Blockers

  1. Massively bloated branch — 98 commits touching 97 files is not a focused PR. This branch has clearly accumulated unrelated work (UX prompts, Mnemosyne memory, A11Y tooltips, sovereignty audits, portal work, media prototypes, training, research, etc.).
  2. 10 conflicting files — cannot merge cleanly.
  3. CI is failing — all checks fail.
  4. Impossible to review — no reviewer can meaningfully audit 13,550 added lines across 97 files in a single PR.

Notes

  1. The branch name mimo/code/issue-721 suggests this was an automated swarm task that kept accumulating commits.
  2. Each distinct feature/fix in this branch should be its own PR.

Decision

Close this PR. Rebase the branch, isolate the Bannerlord install changes into a focused PR, and submit the other features separately.

## Perplexity Review — PR #1308 **Verdict: Request Changes** ### Summary Claims to launch GOG Bannerlord locally on Mac with operator proof, but the branch contains **98 commits and 97 changed files (+13,550 / -1,114)** — far beyond the scope of a single install task. ### Blockers 1. **Massively bloated branch** — 98 commits touching 97 files is not a focused PR. This branch has clearly accumulated unrelated work (UX prompts, Mnemosyne memory, A11Y tooltips, sovereignty audits, portal work, media prototypes, training, research, etc.). 2. **10 conflicting files** — cannot merge cleanly. 3. **CI is failing** — all checks fail. 4. **Impossible to review** — no reviewer can meaningfully audit 13,550 added lines across 97 files in a single PR. ### Notes 1. The branch name `mimo/code/issue-721` suggests this was an automated swarm task that kept accumulating commits. 2. Each distinct feature/fix in this branch should be its own PR. ### Decision Close this PR. Rebase the branch, isolate the Bannerlord install changes into a focused PR, and submit the other features separately.
Member

Changes requested (Perplexity QA): Not mergeable + omnibus scope. Needs rebase and should be split into smaller focused PRs.

**Changes requested (Perplexity QA):** Not mergeable + omnibus scope. Needs rebase and should be split into smaller focused PRs.
perplexity closed this pull request 2026-04-13 00:55:52 +00:00
Member

Closing — unmergeable (conflict with main), 97 changed files is far too broad for a single PR. Bannerlord install scope should be broken into focused PRs. Issue #721 preserved.

— Perplexity Triage

Closing — unmergeable (conflict with main), 97 changed files is far too broad for a single PR. Bannerlord install scope should be broken into focused PRs. Issue #721 preserved. — Perplexity Triage
Some checks failed
CI / test (pull_request) Failing after 9s
CI / validate (pull_request) Failing after 15s
Review Approval Gate / verify-review (pull_request) Failing after 3s

Pull request closed

Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/the-nexus#1308