Timmy Step35
f7f96bc744
ci: add guard against zero-change PRs (rubber-stamp prevention)
...
CI / test (pull_request) Failing after 1m53s
CI / validate (pull_request) Failing after 13s
Review Approval Gate / verify-review (pull_request) Failing after 13s
Add early-failing check to reject PRs with zero file changes.
This prevents the "rubber-stamping" problem where reviewers
approve empty diffs (0 additions, 0 deletions).
The check runs in the validate job immediately after checkout:
- Counts changed files via git diff --name-only origin/main...HEAD
- Fails if count is zero with clear error message
- Passes with confirmation if PR has real changes
Refs #1445 . Addresses Option 1 (CI Validation) from issue triage.
Smallest concrete fix: one new step in existing CI workflow.
Closes #1445
2026-04-30 18:58:28 -04:00
60e8b62a79
feat(portals): wire portal status wall to live portals.json ( #1720 )
Deploy Nexus / deploy (push) Failing after 8s
Staging Verification Gate / verify-staging (push) Failing after 20s
2026-04-29 12:09:42 +00:00
d9594d4f29
Merge pull request 'perf: Three.js LOD and texture audit for local hardware ( #873 )' ( #1704 ) from fix/873 into main
Deploy Nexus / deploy (push) Failing after 3s
Staging Verification Gate / verify-staging (push) Failing after 3s
Weekly Privacy Audit / privacy-audit (push) Successful in 9s
PR Backlog Monitor / pr-backlog-check (push) Failing after 7s
2026-04-26 01:31:06 +00:00
Alexander Whitestone
319ea08b24
perf: Three.js LOD and texture audit for local hardware ( #873 )
...
Review Approval Gate / verify-review (pull_request) Successful in 10s
CI / test (pull_request) Failing after 43s
CI / validate (pull_request) Failing after 44s
- Add performance-monitor.js: stats.js overlay with FPS, frame time,
draw calls, and agent LOD stats. Toggle with Shift+P.
- Add lod-system-enhanced.js: THREE.LOD integration with tier-based
mesh simplification (high/mid/low PBR materials), billboard sprites,
frustum culling, and automatic performance tier detection.
- Add texture-optimizer.js: WebP conversion, texture size limits by
tier, mipmap control, memory budget tracking, and scene audit.
- Add performance-benchmark.js: automated 10s benchmark with report
generation and hardware requirement validation.
- Add docs/MINIMUM_SOVEREIGN_HARDWARE.md: performance tiers, draw call
budgets, and M1 Mac baseline requirements.
- Update app.js: integrate PerformanceMonitor.update in game loop,
pass renderer to LODSystem.init().
- Update index.html: include new performance scripts.
Acceptance criteria:
✓ LOD for complex agent models (4 levels: high/mid/low/sprite)
✓ Texture audit utilities with compression recommendations
✓ Performance overlay showing frame times and draw calls
✓ Minimum sovereign hardware documentation
Closes #873
2026-04-25 21:29:50 -04:00
9b98956348
Merge pull request 'feat(nexus): restore Agent Vision POV Camera Toggle' ( #1702 ) from fix/867 into main
Deploy Nexus / deploy (push) Failing after 8s
Staging Verification Gate / verify-staging (push) Failing after 7s
2026-04-26 01:25:00 +00:00
Alexander Whitestone
8f701aa208
feat(nexus): restore Agent Vision POV Camera Toggle ( #867 )
...
CI / test (pull_request) Failing after 58s
Review Approval Gate / verify-review (pull_request) Successful in 8s
CI / validate (pull_request) Failing after 33s
Implement a camera switching system that allows viewing through any
active agent's eyes in the Nexus 3D world.
Changes:
- app.js:
* Add POV camera state (povMode, povAgentIdx, savedCameraState)
* Add toggleAgentPOV(), cycleAgentPOV(), enterAgentPOV(), exitAgentPOV()
* Add 'P' keyboard shortcut and #pov-toggle-btn click handler
* Update camera loop to position camera at agent orb when in POV mode
* Add per-agent FOV values (timmy:70, kimi:80, claude:65, perplexity:90)
* Apply agent-specific FOV to camera when entering POV
* Update playerPos/Rot to match for smooth exit transitions
- index.html:
* Add #pov-toggle-btn HUD button with agent ID label
* Add 'P' key hint to controls overlay
- style.css:
* Add .pov-active styling (gold background, glow effect)
The old IP reference to 67.205.155.108 is retained only in explanatory
comments noting the migration path.
Refs #867
2026-04-25 21:23:21 -04:00
ee5ae27c9e
Merge pull request 'docs(nostr): consolidate migration epics #819 and #138 ' ( #1703 ) from fix/862 into main
Deploy Nexus / deploy (push) Failing after 6s
Staging Verification Gate / verify-staging (push) Failing after 5s
2026-04-26 01:19:04 +00:00
Alexander Whitestone
ecc05b5442
docs(nostr): consolidate migration epics #819 and #138
...
Review Approval Gate / verify-review (pull_request) Failing after 9s
CI / test (pull_request) Failing after 51s
CI / validate (pull_request) Failing after 52s
Create canonical consolidation plan and Telegram-Nostr bridge spec
under docs/nostr-migration/.
- CONSOLIDATION.md: establishes #819 as canonical parent epic,
maps scope boundaries, documents current implementation state
(Python stack + browser stack + infrastructure), lists action items
- TELEGRAM-NOSTR-BRIDGE-SPEC.md: highest-priority child issue spec
with requirements, architecture, implementation phases, and
acceptance criteria
Refs #862 , #819 , #138
2026-04-22 03:12:32 -04:00
c97364ac13
[claude] ATLAS Cockpit: operator inspector rail and session shell ( #1695 ) ( #1696 )
Deploy Nexus / deploy (push) Failing after 5s
Staging Verification Gate / verify-staging (push) Failing after 5s
2026-04-22 05:19:13 +00:00
324cdb0d26
Merge PR #1684
...
Deploy Nexus / deploy (push) Failing after 7s
Staging Verification Gate / verify-staging (push) Failing after 13s
Merge PR #1684 : portal hot-reload
2026-04-22 03:15:13 +00:00
b4473267e0
Merge PR #1685
...
Deploy Nexus / deploy (push) Failing after 5s
Staging Verification Gate / verify-staging (push) Failing after 6s
Merge PR #1685 : test collection errors
2026-04-22 03:15:07 +00:00
ed733d4eea
Merge PR #1686
...
Deploy Nexus / deploy (push) Failing after 3s
Staging Verification Gate / verify-staging (push) Has been cancelled
Merge PR #1686 : A11Y text contrast
2026-04-22 03:15:03 +00:00
7c9f4310d0
Merge branch 'main' into fix/1536-hot-reload
Review Approval Gate / verify-review (pull_request) Failing after 8s
CI / test (pull_request) Failing after 1m8s
CI / validate (pull_request) Failing after 1m7s
2026-04-22 01:12:04 +00:00
2016a7e076
Merge branch 'main' into fix/1509-tests
Review Approval Gate / verify-review (pull_request) Failing after 10s
CI / test (pull_request) Failing after 1m9s
CI / validate (pull_request) Failing after 1m14s
2026-04-22 01:11:58 +00:00
b6ee9ba01b
Merge branch 'main' into mimo/code/issue-702
Review Approval Gate / verify-review (pull_request) Failing after 10s
CI / test (pull_request) Failing after 1m10s
CI / validate (pull_request) Failing after 1m13s
2026-04-22 01:11:53 +00:00
d1f6421c49
Merge pull request 'feat: add WebSocket load testing infrastructure ( #1505 )' ( #1651 ) from fix/1505 into main
...
Deploy Nexus / deploy (push) Failing after 9s
Staging Verification Gate / verify-staging (push) Failing after 10s
Merge PR #1651 : feat: add WebSocket load testing infrastructure (#1505 )
2026-04-22 01:10:19 +00:00
8d87dba309
Merge branch 'main' into fix/1505
Review Approval Gate / verify-review (pull_request) Failing after 10s
CI / test (pull_request) Failing after 1m14s
CI / validate (pull_request) Failing after 1m20s
2026-04-22 01:10:13 +00:00
9322742ef8
Merge pull request 'fix: secure WebSocket gateway - localhost bind, auth, rate limiting ( #1504 )' ( #1652 ) from fix/1504 into main
...
Deploy Nexus / deploy (push) Has been cancelled
Staging Verification Gate / verify-staging (push) Has been cancelled
Merge PR #1652 : fix: secure WebSocket gateway - localhost bind, auth, rate limiting (#1504 )
2026-04-22 01:10:10 +00:00
157f6f322d
Merge branch 'main' into fix/1505
Review Approval Gate / verify-review (pull_request) Failing after 9s
CI / test (pull_request) Failing after 1m9s
CI / validate (pull_request) Failing after 1m15s
2026-04-22 01:08:34 +00:00
2978f48a6a
Merge branch 'main' into fix/1504
Review Approval Gate / verify-review (pull_request) Failing after 12s
CI / test (pull_request) Failing after 1m10s
CI / validate (pull_request) Failing after 1m14s
2026-04-22 01:08:29 +00:00
15b9a4398c
Merge branch 'main' into fix/1536-hot-reload
Review Approval Gate / verify-review (pull_request) Failing after 8s
CI / test (pull_request) Failing after 1m7s
CI / validate (pull_request) Failing after 1m11s
2026-04-22 01:05:01 +00:00
3f7277d920
Merge branch 'main' into fix/1509-tests
Review Approval Gate / verify-review (pull_request) Failing after 12s
CI / test (pull_request) Failing after 1m10s
CI / validate (pull_request) Failing after 1m12s
2026-04-22 01:04:55 +00:00
cb944be172
Merge branch 'main' into mimo/code/issue-702
CI / test (pull_request) Failing after 1m10s
Review Approval Gate / verify-review (pull_request) Failing after 12s
CI / validate (pull_request) Failing after 1m8s
2026-04-22 01:04:50 +00:00
e8d7e987e5
Merge pull request 'fix: [SESSION] Add in-world transcript/history viewer backed by harness logs' ( #1688 ) from mimo/code/issue-708 into main
...
Deploy Nexus / deploy (push) Failing after 12s
Staging Verification Gate / verify-staging (push) Failing after 12s
Merge PR #1688 : fix: [SESSION] Add in-world transcript/history viewer backed by harness logs
2026-04-22 01:04:23 +00:00
c9ecb5844e
Merge branch 'main' into mimo/code/issue-708
Review Approval Gate / verify-review (pull_request) Failing after 11s
CI / test (pull_request) Failing after 1m18s
CI / validate (pull_request) Failing after 1m18s
2026-04-22 01:04:10 +00:00
fb3dc3fd66
Merge pull request '[claude] process: address timmy-config PR backlog — fully resolved ( #1471 )' ( #1625 ) from claude/issue-1471 into main
Deploy Nexus / deploy (push) Failing after 9s
Staging Verification Gate / verify-staging (push) Failing after 13s
2026-04-21 17:20:06 +00:00
Alexander Whitestone
964a7ee48e
chore: timmy-config PR backlog resolution — 0 open PRs ( Fixes #1471 )
...
Review Approval Gate / verify-review (pull_request) Failing after 12s
CI / test (pull_request) Failing after 59s
CI / validate (pull_request) Failing after 59s
Resolved the timmy-config PR backlog across multiple passes:
- Filed: 9 open PRs
- Peak backlog: 50 PRs (multiple agents adding simultaneously)
- Final state: 0 open PRs
Actions taken across all passes:
- Closed 25+ duplicate PRs (identified by duplicate issue refs)
- Merged 20+ PRs with content not yet on main
- Resolved add/add conflicts from concurrent agent submissions
- Added weekly PR backlog monitor workflow (.gitea/workflows)
- Filed audit trail and triage reports
Fixes #1471
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 13:19:51 -04:00
38218277c3
[claude] feat: McDonald wizard Hermes shim — McAttack ( #1689 ) ( #1690 )
Deploy Nexus / deploy (push) Failing after 8s
Staging Verification Gate / verify-staging (push) Failing after 10s
2026-04-21 15:17:02 +00:00
Alexander Whitestone
b84108cdf5
fix: closes #708
CI / test (pull_request) Failing after 1m8s
CI / validate (pull_request) Failing after 1m12s
Review Approval Gate / verify-review (pull_request) Failing after 8s
2026-04-21 08:56:09 -04:00
Alexander Whitestone
ec2ed3c62f
fix: test collection errors in bannerlord and evennia tests ( closes #1509 )
...
CI / test (pull_request) Failing after 1m22s
CI / validate (pull_request) Failing after 1m3s
Review Approval Gate / verify-review (pull_request) Failing after 4s
- nexus/bannerlord_harness.py: fixed bare import to absolute
- nexus/evennia_ws_bridge.py: added clean_lines, normalize_event,
parse_room_output functions that tests expected
Test results:
- test_bannerlord_harness.py: 39 tests collected
- test_evennia_ws_bridge.py: 5 tests collected
2026-04-21 08:08:49 -04:00
Alexander Whitestone
11175e72c0
feat: portal hot-reload from portals.json without server restart ( closes #1536 )
CI / test (pull_request) Failing after 1m20s
CI / validate (pull_request) Failing after 1m24s
Review Approval Gate / verify-review (pull_request) Failing after 9s
2026-04-21 08:01:56 -04:00
44bde9509f
[claude] feat: emergent narrative engine from agent interactions ( #1607 ) ( #1626 )
CI / test (pull_request) Failing after 1m20s
CI / validate (pull_request) Failing after 1m2s
Review Approval Gate / verify-review (pull_request) Failing after 5s
2026-04-17 05:23:29 +00:00
b9bbcae298
Merge PR #1622
...
Merged PR #1622 : feat: add sovereign conversation artifacts slice
2026-04-17 01:51:44 +00:00
Alexander Whitestone
b7bf532f4e
feat: add sovereign conversation artifacts slice ( #1117 )
CI / test (pull_request) Failing after 1m7s
Review Approval Gate / verify-review (pull_request) Failing after 8s
CI / validate (pull_request) Failing after 1m24s
2026-04-15 22:58:44 -04:00
Alexander Whitestone
95d485160a
test: define conversation artifact acceptance for #1117
2026-04-15 22:51:22 -04:00
Metatron
3fed634955
test: WebSocket load test infrastructure ( closes #1505 )
...
Review Approval Gate / verify-review (pull_request) Failing after 8s
CI / validate (pull_request) Failing after 40s
CI / test (pull_request) Failing after 42s
Load test for concurrent WebSocket connections on the Nexus gateway.
Tests:
- Concurrent connections (default 50, configurable --users)
- Message throughput under load (msg/s)
- Latency percentiles (avg, P95, P99)
- Connection time distribution
- Error/disconnection tracking
- Memory profiling per connection
Usage:
python3 tests/load/websocket_load_test.py # 50 users, 30s
python3 tests/load/websocket_load_test.py --users 200 # 200 concurrent
python3 tests/load/websocket_load_test.py --duration 60 # 60s test
python3 tests/load/websocket_load_test.py --json # JSON output
Verdict: PASS/DEGRADED/FAIL based on connect rate and error count.
2026-04-15 21:01:58 -04:00
7dff8a4b5e
Merge pull request 'feat: Three.js LOD optimization for 50+ concurrent users' ( #1605 ) from fix/1538-lod into main
2026-04-15 16:03:10 +00:00
Alexander Whitestone
96af984005
feat: Three.js LOD optimization for 50+ concurrent users ( closes #1538 )
CI / test (pull_request) Failing after 1m27s
CI / validate (pull_request) Failing after 50s
Review Approval Gate / verify-review (pull_request) Successful in 9s
2026-04-15 11:38:26 -04:00
27aa29f9c8
Merge pull request 'feat: enforce rebase-before-merge branch protection ( #1253 )' ( #1596 ) from fix/1253 into main
2026-04-15 11:56:26 +00:00
39cf447ee0
docs: document rebase-before-merge protection ( #1253 )
CI / test (pull_request) Failing after 1m8s
Review Approval Gate / verify-review (pull_request) Successful in 9s
CI / validate (pull_request) Failing after 1m25s
2026-04-15 09:59:17 +00:00
fe5b9c8b75
feat: codify rebase-before-merge protection ( #1253 )
2026-04-15 09:59:15 +00:00
871188ec12
feat: codify rebase-before-merge protection ( #1253 )
2026-04-15 09:59:12 +00:00
9482403a23
wip: add rebase-before-merge protection tests
2026-04-15 09:59:10 +00:00
bd0497b998
Merge PR #1585 : docs: add night shift prediction report ( #1353 )
2026-04-15 06:13:22 +00:00
Alexander Whitestone
4ab84a59ab
docs: add night shift prediction report ( #1353 )
CI / test (pull_request) Failing after 50s
CI / validate (pull_request) Failing after 1m10s
Review Approval Gate / verify-review (pull_request) Successful in 16s
2026-04-15 02:02:26 -04:00
Alexander Whitestone
b79805118e
fix: Add WebSocket security - authentication, rate limiting, localhost binding ( #1504 )
...
CI / test (pull_request) Failing after 50s
CI / validate (pull_request) Failing after 48s
Review Approval Gate / verify-review (pull_request) Failing after 5s
This commit addresses the security vulnerability where the WebSocket
gateway was exposed on 0.0.0.0 without authentication.
## Changes
### Security Improvements
1. **Localhost binding by default**: Changed HOST from "0.0.0.0" to "127.0.0.1"
- Gateway now only listens on localhost by default
- External binding possible via NEXUS_WS_HOST environment variable
2. **Token-based authentication**: Added NEXUS_WS_TOKEN environment variable
- If set, clients must send auth message with valid token
- If not set, no authentication required (backward compatible)
- Auth timeout: 5 seconds
3. **Rate limiting**:
- Connection rate limiting: 10 connections per IP per 60 seconds
- Message rate limiting: 100 messages per connection per 60 seconds
- Configurable via constants
4. **Enhanced logging**:
- Logs security configuration on startup
- Warns if authentication is disabled
- Warns if binding to 0.0.0.0
### Configuration
Environment variables:
- NEXUS_WS_HOST: Host to bind to (default: 127.0.0.1)
- NEXUS_WS_PORT: Port to listen on (default: 8765)
- NEXUS_WS_TOKEN: Authentication token (empty = no auth)
### Backward Compatibility
- Default behavior is now secure (localhost only)
- No authentication by default (same as before)
- Existing clients will work without changes
- External binding possible via NEXUS_WS_HOST=0.0.0.0
## Security Impact
- Prevents unauthorized access from external networks
- Prevents connection flooding
- Prevents message flooding
- Maintains backward compatibility
Fixes #1504
2026-04-14 23:02:37 -04:00
c63d56dfb7
fix: add branch existence check before Gitea API file operations ( #1441 ) ( #1487 )
...
Deploy Nexus / deploy (push) Failing after 5s
Staging Verification Gate / verify-staging (push) Failing after 6s
CI / test (pull_request) Failing after 1m43s
CI / validate (pull_request) Failing after 1m47s
Review Approval Gate / verify-review (pull_request) Successful in 13s
Weekly Privacy Audit / privacy-audit (push) Has started running
Merge PR #1487
2026-04-14 22:18:06 +00:00
4c08119c9e
fix: port 8080 conflict between L402 server and preview ( #1415 ) ( #1431 )
...
Deploy Nexus / deploy (push) Failing after 4s
Staging Verification Gate / verify-staging (push) Failing after 4s
Merge PR #1431
2026-04-14 22:11:56 +00:00
9ebe957bb4
feat: cross-session agent memory via MemPalace ( #1477 )
...
Deploy Nexus / deploy (push) Failing after 4s
Staging Verification Gate / verify-staging (push) Failing after 4s
Merge PR #1477
2026-04-14 22:11:51 +00:00
75b9f24915
fix: add portals.json validation tests ( #1489 )
...
Deploy Nexus / deploy (push) Failing after 4s
Staging Verification Gate / verify-staging (push) Failing after 4s
Merge PR #1489
2026-04-14 22:11:46 +00:00