Files
gavindiazandClaude Code 3a005ddcc6
Docs / Validate documentation (push) Canceled after 0s
Docs / Deploy GitHub Pages (push) Canceled after 0s
CI Final Summary (AI) / AI Final Summary (push) Canceled after 0s
CI Final Summary (AI) / Push/PR event feed (push) Canceled after 0s
CI / CI Integrity and Change Classification (push) Canceled after 0s
CI / Code Quality & Tests (push) Canceled after 0s
Dependency Lock & Migration Safety / Dependency drift (lock vs pyproject) (push) Canceled after 0s
Dependency Lock & Migration Safety / Migration safety (fail-loud + version postconditions) (push) Canceled after 0s
JS Tests / Frontend JS Unit Tests (push) Canceled after 0s
Security / CodeQL Analysis (push) Canceled after 0s
Security / Trivy Vulnerability Scan (push) Canceled after 0s
Tests (OS Matrix) / Py Tests (macos-latest) (push) Canceled after 0s
Tests (OS Matrix) / Py Tests (windows-latest) (push) Canceled after 0s
CI / Extended Validation (Tier 2) (push) Canceled after 0s
CI / Heavy CI (database-provider) (push) Canceled after 0s
CI / Heavy CI (e2e) (push) Canceled after 0s
CI / Heavy CI (integration) (push) Canceled after 0s
CI / Heavy CI (model-validation) (push) Canceled after 0s
CI / Heavy CI (research-backtest) (push) Canceled after 0s
CI / Aggregate CI Results (push) Canceled after 0s
chore(repo): initial import of Nexus Trading Forex Bot into self-hosted hosting
Full project import for the self-hosted code hosting
(https://code.aifunny.ltd/gavindiaz/my-NexusTradingForexBot.git).

Includes the live-freshness + scaler-hash fixes for the permanent
STALE dashboard (tick_pipeline now_utc stamps; infer_probabilities
computes model_input_hash on the actual scaled 70D tensor), the
data-fetch default-path fix, the g29 web-auth test fixes, and a
Chinese user manual (使用手册.md) for the web dashboard.

Scratch diagnostic scripts (check*.py, contain a live web-auth token)
and the .kilo/ agent-worktree directory are gitignored, not committed.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-23 23:24:54 +08:00

2.9 KiB

title, description, lang
title description lang
Contribution Guide How to contribute — bootstrap, ownership model, quality gates, commit contract, PR expectations. en

Contribution Guide

0. Read the engineering memory first

This repository is developed by multiple coordinated AI agents under a strict contract. A human contributor benefits from the same discipline:

  1. agents/skill.md — authoritative architecture map
  2. agents/multi-agent-git-contract.md — the collaboration contract
  3. agents/contracts.md + agents/runtime_invariants.md — contracts & invariants
  4. agents/bugs.md — don't re-discover known bugs

1. Where things live

  • Engine code: src/nexus_scalp/ (layer map in Architecture)
  • Control Center UI: Web/ (buildless vanilla JS; Node is build/test-only)
  • Tests: tests/ (unit / integration / golden / js / installer)
  • Docs: docs/ + this site (site/)
  • Engineering memory: agents/

2. Bootstrap

git clone https://github.com/Opselon/NexusTradingForexBot.git
cd NexusTradingForexBot
python -m venv .venv && .\.venv\Scripts\Activate.ps1
pip install -e .[dev]
pytest tests/unit -q          # must be green before you start

3. Change discipline

  • Claim before you code: add a TASK row to agents/taskboard.md.
  • Reuse > extend > refactor > create — check for an existing seam first.
  • Golden rule: no semantic change without documentation; no contract change without a contract update; no bug fix without a reproducer when practical.
  • Locked paths (agents/locks.yaml): hot-path files (live_engine.py, order_manager.py, policy.py) require explicit justification and golden tests.

4. Commits & PRs

  • Commit format: <AGENT-or-Name>: <summary> with a structured body (what/why/evidence/verification).
  • Commit per coherent step — never one giant commit.
  • Every PR: quality gate green locally (beforePush.ps1 -SkipPush), tests travel with the fix, CI checks respected, documentation updated when behavior or contracts change.

5. Quality gates

beforePush.sh / .ps1: ruff → format → mypy → critical pytest suite → forensic deploy gate. See Quality & Testing.

6. Fork-and-PR flow

Fork & PR (PEP 8 via ruff, strict mypy, pytest coverage — the gates enforce it), or open an issue with [Research] / [Proposal] tags. External PRs should not touch agents/ registries (agent-owned) except to add a taskboard row.