This commit fixes issue #1338 by removing duplicate content blocks that
were appearing 3-4 times on the page.
Changes:
1. README.md:
- Removed duplicate "Branch Protection & Review Policy" section (lines 121-134)
- Removed duplicate "Running Locally" section (lines 149-167)
- Kept the detailed "Branch Protection & Review Policy" section at the top
- Kept the first "Running Locally" section with all content
2. POLICY.md:
- Consolidated duplicate content into single cohesive policy
- Merged two "Branch Protection Rules" sections
- Merged two "Default Reviewer" sections
- Merged two "Acceptance Criteria" sections
- Added "Enforcement" and "Notes" sections from second half
The duplicate content was likely caused by a bad merge or template duplication.
This cleanup ensures each section appears only once while preserving all content.
Closes#1338
Move configuration block (WORLD_DIR, CHATLOG_FILE, etc.) before the
ChatLog class definition. Previously CHATLOG_FILE was defined at line ~254
but used at line ~200 inside ChatLog.log(), causing NameError on every
chat message persistence attempt.
Fixes#1349.
This commit addresses issue #1354 by:
1. Fixing portals.json syntax error (duplicate params field)
2. Adding the Sovereign Sound Playground as a new portal
3. Including the complete playground application
Changes:
- Fixed JSON syntax error in portals.json (line 41-44)
- Added playground/playground.html - Complete interactive audio-visual experience
- Added playground/README.md - Documentation and usage guide
- Updated portals.json with playground portal entry
The playground portal is configured with:
- Online status
- Visitor access mode
- Local destination URL
- Creative tool portal type
This resolves the issue and provides a working playground accessible through the Nexus portal system.
Root cause: connectMemPalace() set placeholder values (0x, 0, 0B)
immediately and tried to connect to window.Claude.mcp which doesn't
exist in a normal browser. Never contacted the actual fleet API.
Fix:
- Replace connectMemPalace() to fetch from fleet API (/health, /wings)
- Show MEMPALACE CONNECTING during fetch, ACTIVE on success,
OFFLINE if API unavailable
- Populate compression ratio, docs mined, AAAK size from real data
- Add formatBytes() helper for human-readable sizes
- Periodic refresh every 60s when connected
- Configurable API endpoint via ?mempalace=host:port query param
- Remove dead window.Claude.mcp mock code
## Summary
Fixed duplicate content blocks in README.md caused by bad merge.
Branch protection policy, default reviewers, and implementation status
blocks were duplicated 3-4 times on the page.
## Problem
The README.md file had massive duplication from multiple bad merges:
- Branch protection policy appeared 4 times
- Default reviewers appeared multiple times
- Implementation status appeared multiple times
- Repository-specific configuration duplicated
- Acceptance criteria duplicated
The file grew to 517 lines with the same content repeated.
## Solution
Cleaned up README.md to contain:
1. Single branch protection policy section
2. Original Nexus project content (preserved)
3. Clean structure without duplicates
Reduced from 517 lines to 167 lines while preserving all unique content.
## Changes
- Removed duplicate branch protection policy sections
- Removed duplicate default reviewers sections
- Removed duplicate implementation status sections
- Removed duplicate repository-specific configuration
- Removed duplicate acceptance criteria
- Preserved original Nexus project content
- Maintained clear structure and formatting
## Testing
- Verified all unique content is preserved
- Checked for any remaining duplicates
- Confirmed file structure is clean and readable
## Acceptance Criteria
✅ Branch protection policy appears once
✅ Default reviewers appear once
✅ Implementation status appears once
✅ Content is clear and not duplicated
✅ Original Nexus content preserved
Issue: #1338
Fixes#1337
- show explicit guidance when opened from file://
- route browser boot through a classic script gate
- sanitize malformed generated app module before execution
- trim duplicated footer junk and add regression tests
- app.js:1195: Fix timmy_Foundation → Timmy_Foundation in vision.json API URL.
The lowercase 't' caused a silent 404 on case-sensitive servers, preventing
world state from loading in fetchGiteaData().
- Create icons/icon-192x192.png and icons/icon-512x512.png placeholders.
Both manifest.json and service-worker.js referenced these but the icons/
directory was missing, causing 404 on every page load and SW install.
Refs #707
QuestManager, InventoryManager, GuildManager, CombatManager, and
MagicManager all had load() methods that were never called. This
meant quests were never seeded, items never appeared in rooms, and
all game data started empty on every server restart.
Fixes#1351
World state: added explicit exits dict to all 5 rooms
Bridge: reads exits from world_state.json first, falls back to description parsing
Before: inner rooms (Tower, Garden, Forge, Bridge) had no exits
After: all rooms bidirectional — Threshold connects to all 4, each connects back
Replace the 5-file sliding window cross-run dedup with a persistent
hash index that covers ALL historical training data. Overfitting risk
compounds across the full dataset — a 5-file window lets old duplicates
leak back into training after enough overnight runs.
New module: dedup_index.py (DedupIndex)
- Persistent JSON index (.dpo_dedup_index.json) alongside JSONL files
- Append-on-export: new prompt hashes registered after each successful
export — no full rescan needed for normal operations
- Incremental sync: on load, detects JSONL files not yet indexed and
ingests them automatically (handles files from other tools)
- Full rebuild: rebuild() scans ALL deepdive_*.jsonl + pairs_*.jsonl
to reconstruct from scratch (first run, corruption recovery)
- Atomic writes (write-to-tmp + rename) to prevent index corruption
- Standalone CLI: python3 dedup_index.py <dir> --rebuild --stats
Modified: dpo_quality.py
- Imports DedupIndex with graceful degradation
- Replaces _load_history_hashes() with persistent index lookup
- Fallback: if index unavailable, scans ALL files in-memory (not just 5)
- New register_exported_hashes() method called after export
- Config key: dedup_full_history (replaces dedup_history_files)
Modified: dpo_generator.py
- Calls validator.register_exported_hashes() after successful export
to keep the persistent index current without rescanning
Modified: config.yaml
- Replaced dedup_history_files: 5 with dedup_full_history: true
Tested — 7 integration tests:
✓ Fresh index build from empty directory
✓ Build from 3 existing JSONL files (15 unique hashes)
✓ Incremental sync when new file appears between runs
✓ Append after export + persistence across reloads
✓ Rebuild from scratch (recovers from corruption)
✓ Validator catches day-1 dupe from 20-day history (5-file window miss)
✓ Full pipeline: generate → validate → export → register → re-run detects
Add DPOQualityValidator that catches bad training pairs before they
enter the tightening loop. Wired into DPOPairGenerator between
generate() and export() as an automatic quality gate.
New module: dpo_quality.py
- 5 single-pair quality checks:
1. Field length minimums (prompt ≥40, chosen ≥80, rejected ≥30 chars)
2. Chosen/rejected length ratio (chosen must be ≥1.3x longer)
3. Chosen≈rejected similarity (Jaccard ≤0.70 — catches low-contrast)
4. Vocabulary diversity in chosen (unique word ratio ≥0.30)
5. Substance markers in chosen (≥2 fleet/training/action terms)
- 2 cross-pair quality checks:
6. Near-duplicate prompts within batch (Jaccard ≤0.85)
7. Cross-run dedup against recent JSONL history files
- Two modes: 'drop' (filter out bad pairs) or 'flag' (export with warning)
- BatchReport with per-pair diagnostics, pass rates, and warnings
- Standalone CLI: python3 dpo_quality.py <file.jsonl> [--strict] [--json]
Modified: dpo_generator.py
- Imports DPOQualityValidator with graceful degradation
- Initializes from config validation section (enabled by default)
- Validates between generate() and export() in run()
- Quality report included in pipeline result dict
- Validator failure never blocks — falls back to unvalidated export
Modified: config.yaml
- New deepdive.training.dpo.validation section with all tunable knobs:
enabled, flagged_pair_action, similarity thresholds, length minimums,
dedup_history_files
Integration tested — 6 test cases covering:
✓ Good pairs pass (3/3 accepted)
✓ Bad pairs caught: too-short, high-similarity, inverted signal (0/3)
✓ Near-duplicate prompt detection (1/2 deduped)
✓ Flag mode preserves pairs with warnings (3/3 flagged)
✓ Cross-run deduplication against history (1 dupe caught)
✓ Full generator→validator→export pipeline (6/6 validated)
- Track local health daemon (localhost:8082) reachability instead of silently falling back
- Add LOCAL DAEMON service row so operators see daemon status at a glance
- Show session counts (local/total) when daemon provides them
- Add timestamp footer so HUD freshness is visible
- Fix stray ');' closing bracket on original function
- Added SOUL button to HUD top-right bar next to Atlas
- Added SOUL quick action in chat panel
- Added SOUL overlay with Identity, Oath, Conscience, and Sacred Trust sections
- Link to canonical SOUL.md on timmy-home
- CSS styles matching existing Nexus design system
- JS wiring for toggle/close
Also fixed: cleaned up merge conflict markers, removed duplicated
branch-policy/mem-palace/reviewers sections from footer
Refs #1116. Adds 'sovereign' room for cataloging Alexander Whitestone's
requests and responses as dated, retrievable artifacts.
Room config:
- key: sovereign, available to all wizards
- Naming convention: YYYY-MM-DD_HHMMSS_<topic>.md
- Running INDEX.md for chronological catalog
- Fleet-wide tunnel for cross-wizard search
- Strength-encoded opacity: line brightness proportional to blended
source/target memory strength (0.15-0.7 range instead of flat 0.2)
- Color blending: lines use lerped colors from source/target region colors
- LOD culling: connection lines fade/hide when camera is far (>60 units)
- Toggle API: toggleConstellation() / isConstellationVisible() for UI
- Fix: replaced undefined _createConnectionLine with _drawSingleConnection
(dedup-aware, constellation-styled single-connection renderer)
Part of #1215
The heartbeat module existed but was never called. Now write_heartbeat fires:
- On startup (cycle 0, status thinking)
- After every successful think cycle
- On graceful shutdown (status idle)
This gives the watchdog a signal that the mind is alive, not just running.
- **Done condition:** _Move this issue to a measurable next state (PR opened, test passing, blocker cleared, or documented failure mode)._
---
## Today's Attack Plan
### 1. Unblock (First 90 Minutes)
- [ ] Address the North Star issue directly. No meetings, no yak shaving.
- [ ] If blocked on external input, escalate in Timmy Time with specific ask.
### 2. Burn Down (Next 2 Hours)
- [ ]#1117 — [PROPOSAL] Conversation Artifacts System: Organized Alexander request/response rooms in MemPalace
- [ ]#1116 — [SOVEREIGN DIRECTIVE] Every wizard must catalog Alexander's requests and responses as artifacts
- [ ]#1115 — [MEMORY] MemPalace Status Report: 283 drawers indexed, zero-API semantic memory active
### 3. Harden (Next 90 Minutes)
- [ ] Advance one poka-yoke issue toward a structural prevention.
- [ ] Run a security/reliability scan (world-readable secrets, stale heartbeats, dead runners).
### 4. Report (End of Day)
- [ ] Update this issue with what moved, what blocked, and tomorrow's North Star.
- [ ] Ensure all closed work has a clear paper trail (commit, comment, or closure note).
---
## Blockers Requiring Eyes
- **#882** — [M6-P3] Resurrection Pool — health polling, dead-agent detection, auto-revive → https://forge.alexanderwhitestone.com/Timmy_Foundation/the-nexus/issues/882
- **#707** — [RELIABILITY] Eliminate visible 404 and dead-control states in production Nexus → https://forge.alexanderwhitestone.com/Timmy_Foundation/the-nexus/issues/707
- **#694** — [HARNESS] Replace dead `/api/world/ws` path with a real Hermes world-state bridge → https://forge.alexanderwhitestone.com/Timmy_Foundation/the-nexus/issues/694
---
## Poka-Yoke Backlog (Mistake-Proofing Queue)
- No poka-yoke issues found.
---
## Anti-Idling Protocol
If the North Star is blocked and no burn-down items are actionable within 15 minutes:
1. Check Night Watch logs for anything stale.
2. Pick the oldest unassigned issue in the-nexus.
3. If no issues exist, run `bezalel-forge-scan` and file findings.
4. If still nothing, document infrastructure state and commit to reports repo.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.