{
  "title": "JPTC EA release rejection taxonomy",
  "version": "1.0",
  "dateModified": "2026-08-23",
  "creator": "JPTC Research Team",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "scope": "A public classification of evidence failures that block an EA or setfile from customer release.",
  "limitations": "This dataset does not disclose entry logic, source code, setfiles, private thresholds, customer data or strategy-specific performance.",
  "fields": {
    "id": "Stable public identifier",
    "failureMode": "The evidence problem found during validation",
    "evidenceSignal": "What the review observes",
    "whyItBlocksRelease": "Why the finding prevents a customer release",
    "requiredResponse": "The minimum research response"
  },
  "rows": [
    {
      "id": "engine-capability-mismatch",
      "failureMode": "Research engine and production EA do not implement the same capability",
      "evidenceSignal": "A production entry, exit, sizing or protection path is absent or materially simplified in the fast simulator.",
      "whyItBlocksRelease": "The simulator cannot validate behaviour it does not reproduce.",
      "requiredResponse": "Use the simulator only for screening and require broker-terminal validation of the compiled EA and exact setfile."
    },
    {
      "id": "insufficient-trade-sample",
      "failureMode": "Too few independent trades",
      "evidenceSignal": "The result depends on a small number of outcomes or contains long periods without activity.",
      "whyItBlocksRelease": "A headline metric can be dominated by chance and may not match the intended customer use.",
      "requiredResponse": "Expand the test window, review stagnation and reject the customer release if useful frequency is not demonstrated."
    },
    {
      "id": "single-window-dependence",
      "failureMode": "Performance depends on one favourable period",
      "evidenceSignal": "Recent results look acceptable while separate years, unseen periods or other regimes fail.",
      "whyItBlocksRelease": "Selection has likely captured a temporary regime rather than a repeatable edge.",
      "requiredResponse": "Run separate unseen-period and regime checks, then reject or redesign when the weakness persists."
    },
    {
      "id": "execution-cost-sensitivity",
      "failureMode": "Spread, commission, swap or slippage removes the result",
      "evidenceSignal": "A small realistic increase in trading costs materially changes the decision.",
      "whyItBlocksRelease": "The apparent edge is too narrow for normal broker variation.",
      "requiredResponse": "Retest with recorded broker costs and reject settings that require unusually favourable execution."
    },
    {
      "id": "symbol-specification-mismatch",
      "failureMode": "Broker symbol or contract specifications differ",
      "evidenceSignal": "Contract size, tick value, lot step, stop level, suffix or session specification does not match the test environment.",
      "whyItBlocksRelease": "Sizing, stops and order acceptance can change even when the chart label appears similar.",
      "requiredResponse": "Validate the exact broker symbol and document required account-specific configuration."
    },
    {
      "id": "drawdown-concentration",
      "failureMode": "Risk is concentrated in one day, streak or basket",
      "evidenceSignal": "Aggregate drawdown appears acceptable but the worst day, losing streak or simultaneous exposure breaches the intended risk budget.",
      "whyItBlocksRelease": "Prop-firm and customer limits can fail before the full-period metric looks dangerous.",
      "requiredResponse": "Review path-level risk, reduce concentration and rerun the complete validation sequence."
    },
    {
      "id": "stagnation-use-mismatch",
      "failureMode": "Activity does not match the product purpose",
      "evidenceSignal": "The file remains inactive for periods that are incompatible with its stated role.",
      "whyItBlocksRelease": "A sparse research candidate can be misleading when presented as an active customer default.",
      "requiredResponse": "Relabel it as research or a specialist diversifier, or reject release when the intended use requires regular activity."
    },
    {
      "id": "uncapped-recovery-exposure",
      "failureMode": "Recovery logic increases exposure without a hard cap",
      "evidenceSignal": "Position count, lot size or basket risk grows as losses accumulate.",
      "whyItBlocksRelease": "Losses can become nonlinear and a normal trend can produce account-level failure.",
      "requiredResponse": "Require hard exposure limits and reject uncontrolled martingale or recovery behaviour."
    },
    {
      "id": "regime-dependence",
      "failureMode": "The strategy only works in one market condition",
      "evidenceSignal": "Trend, range, volatility or session changes reverse the result.",
      "whyItBlocksRelease": "The customer cannot assume the favourable condition will continue.",
      "requiredResponse": "Define the intended regime, test adverse regimes and disclose the limitation or reject the default release."
    },
    {
      "id": "portfolio-duplication",
      "failureMode": "A new file duplicates existing portfolio exposure",
      "evidenceSignal": "Trades and drawdowns cluster with an existing strategy instead of adding independent behaviour.",
      "whyItBlocksRelease": "Several files can create one larger hidden bet rather than diversification.",
      "requiredResponse": "Measure overlap and portfolio concentration before promoting the file."
    },
    {
      "id": "runtime-settings-mismatch",
      "failureMode": "The tested inputs do not match the shipped inputs",
      "evidenceSignal": "The compiled EA version, setfile, symbol, timeframe or runtime setting differs from the recorded test.",
      "whyItBlocksRelease": "The evidence no longer belongs to the file a customer would receive.",
      "requiredResponse": "Freeze the release candidate and rerun validation on the exact compiled EA and standalone setfile."
    },
    {
      "id": "unexplained-terminal-divergence",
      "failureMode": "Broker-terminal results diverge without an explanation",
      "evidenceSignal": "Signals, timestamps, sizing, fills or costs differ materially from the research record.",
      "whyItBlocksRelease": "An unexplained difference makes the expected behaviour unknown.",
      "requiredResponse": "Stop release, reconcile the trade path and repeat testing after the cause is documented."
    }
  ]
}
