New Additions

New Additions

A permanent record of every capability added to TradeRep: where it came from, its licence position, why it was added, how it was tested, what existing functionality it overlaps, and what a rollback would involve. Nothing is deleted from this ledger — a retired component keeps its entry, with the reason and the parity evidence behind any replacement.

DashboardBot TesterResearch History (dated research events)

Entries
11
experimental
6
certified
0
production
5
retired
0
4 entries declare a TradeRep location that is not in this checkout (component-deterministic-replay-invariants, component-independent-replication-manifest, component-market-intelligence-causality-guards, strategy-factory). For components owned by another research lane that is expected until their branch merges — it is surfaced rather than hidden so a stale claim cannot go unnoticed.

experimental components

6 of 11 shown, newest first
Canonical registry surfaces (Strategy Registry, Bot Tester, New Additions, Monitor)experimentalWebsite / organization2026-09-17

The research record was complete but only legible by opening committed JSON artifacts by hand, which is also how a program loses track of its own multiple-testing burden.

Source
Internal — Master Plan Reboot Phase 1
Original implementation / inspiration
docs/TRADE_REP_MASTER_PLAN_REBOOT.md sections 1, 2, 7, 10, 11
TradeRep location
lib/registry/, app/strategies/, app/bot-tester/, app/new-additions/, app/monitor/
Licence / reuse constraints
INTERNALFirst-party code.
Tests performed
  • · tests/integration/informationArchitecture.test.tsx — every nav route resolves, preserved surfaces stay reachable
  • · tests/unit/registry/*.test.ts — registry status equals the shared roster's, metrics are quoted not recomputed, ledger drops nothing
Overlaps with existing functionality
  • /research-status card viewRETAINED — it is now a view inside the Strategies section, unchanged, at its original URL.

Rollback: Read-only surfaces over committed artifacts. Deleting app/strategies, app/bot-tester, app/new-additions, app/monitor and lib/registry removes the views and changes no research data. Navigation would need NAV_ITEMS reverted.

Deterministic replay invariants (clean-room)experimentalExecution integrity2026-09-17location not in this checkout

Give TradeRep independent invariants for event ordering, duplicate-event protection and monotonic replay so no strategy can benefit from future-confirmed state.

Source
Nautilus-style execution-integrity concepts (no code copied)
Original implementation / inspiration
research/external-systems/OPEN_SOURCE_FUTURES_EXPANSION.md section 3
TradeRep location
research/external-systems/deterministicReplay.ts — missing here: research/external-systems/deterministicReplay.ts
Licence / reuse constraints
CLEAN_ROOMConcepts implemented independently; no third-party source reused.
Tests performed
  • · owned by the external-bot/multi-market research lane; unit tests accompany the module in that lane
Overlaps with existing functionality
  • lib/backtest/runner (canonical replay)HARDENING, NOT REPLACEMENT — TradeRep remains the engine; these are assertions that can be applied to it.

Rollback: Standalone helpers in the research area with no production dependents; removal affects nothing in the canonical engine.

Independent (second-engine) replication manifest and comparisonexperimentalValidation / replication2026-09-17location not in this checkout

Let a finalist be independently reimplemented so that agreement between two engines becomes evidence, and disagreement becomes an investigation trigger.

Source
LEAN independent replication lane concept
Original implementation / inspiration
research/external-systems/OPEN_SOURCE_FUTURES_EXPANSION.md section 4
TradeRep location
research/external-systems/leanReplication.ts — missing here: research/external-systems/leanReplication.ts
Licence / reuse constraints
CLEAN_ROOMConcept-level only.
Tests performed
  • · owned by the external-bot/multi-market research lane
Overlaps with existing functionality
  • canonical TradeRep backtest engineREPLICATION ENGINE, NOT REPLACEMENT — engine policy: a stronger second engine is used to replicate finalists; replacing the canonical engine is a separate engineering decision requiring a parity migration.

Rollback: No dependents; removal affects nothing.

Market-intelligence causality guards (order flow / volume profile / regime)experimentalFeature research with causality enforcement2026-09-17location not in this checkout

Define order-flow/volume-profile/regime research interfaces that refuse to run on data that cannot support them, instead of approximating microstructure from OHLC.

Source
Clean-room concepts from dearvn/tradovate-trading-bot
Original implementation / inspiration
research/external-systems/OPEN_SOURCE_FUTURES_EXPANSION.md section 2
TradeRep location
research/external-systems/marketIntelligence.ts — missing here: research/external-systems/marketIntelligence.ts
Licence / reuse constraints
CLEAN_ROOMConcepts only; no implementation code copied.
Tests performed
  • · owned by the external-bot/multi-market research lane
Overlaps with existing functionality
  • existing OHLC-derived features (ATR, VWAP, volume)COMPLEMENTARY — these guards cover tick/trade-derived features that the canonical dataset cannot currently supply (DATA_BLOCKED).

Rollback: No dependents; removal affects nothing. The DATA_BLOCKED finding stands independently of the code.

Monitor real-process-state contractexperimentalOperations / observability2026-09-17

Planned research was being read as running work. The Monitor now derives RUNNING only from a real process signal (a live workflow run, or a job row holding a fresh advisory lock) and labels everything else PLANNED, QUEUED, IDLE or UNKNOWN.

Source
Internal — Master Plan Reboot section 10
Original implementation / inspiration
docs/TRADE_REP_MASTER_PLAN_REBOOT.md section 10 ('Never display a bot as RUNNING unless there is a real live process/workflow in a running state')
TradeRep location
lib/registry/monitorState.ts, app/api/monitor/state/route.ts, app/monitor/page.tsx
Licence / reuse constraints
INTERNALFirst-party code.
Tests performed
  • · tests/unit/registry/monitorState.test.ts — a planned campaign can never be RUNNING; a stale-locked job is reported degraded, not running; an unconfigured workflow source reports UNKNOWN rather than nothing-running
Overlaps with existing functionality
  • /api/live/readinessRETAINED — readiness answers 'is the live pipeline trustworthy'; the Monitor answers 'what is executing'. The Monitor reads the readiness endpoint rather than reimplementing it.
  • /api/backtest/jobs/[id] status pollingRETAINED — per-job polling for the Jobs UI is unchanged; the Monitor aggregates across jobs using the same lock-staleness predicate (isStaleRunningJob).

Rollback: Removing app/api/monitor/state and lib/registry/monitorState.ts restores the previous behaviour (no aggregate process view). No job, workflow or live-feed behaviour is affected — the Monitor only reads.

Funded-account sizing simulation (per-trade overlay)experimentalRisk / reporting2026-09-16

Re-express realized shadow R at a funded-account contract policy without touching canonical R or any strategy's logic.

Source
Internal
Original implementation / inspiration
lib/liveStatus/fundedSizing.ts (funded-sim-v1-provisional)
TradeRep location
lib/liveStatus/fundedSizing.ts, rendered on /live/strategies and /funded-simulation
Licence / reuse constraints
INTERNALFirst-party code.
Tests performed
  • · tests/unit/live/fundedSizing.test.ts
Overlaps with existing functionality
  • computePositionSize / DEFAULT_ENGINE_PARAMS (V1 sizing)DELIBERATELY SEPARATE — V1 sizing gates real trade selection; this overlay is read-time only and shares no constants or code path.

Rollback: Read-time only, nothing persisted. Removing the module removes the amber simulation bands and changes no canonical figure.

Replacement process

An independent second engine is valuable BECAUSE it is independent
  1. 1. identify overlap
  2. 2. run parity / behaviour comparison
  3. 3. test scientific and operational assumptions
  4. 4. confirm no required use case is lost
  5. 5. migrate dependents
  6. 6. archive old implementation
  7. 7. only then remove dead code if safe

A stronger second engine is used to replicate finalists, not to automatically replace the canonical one: if both engines agree, confidence rises. Replacement is a separate engineering decision with its own parity migration.

Read from research-output/registry/new-additions.json · research-output/registry/README.md