Skip to content

fix(continuous-paper): bind production runtime inputs - #129

Merged
Atlas2005 merged 1 commit into
mainfrom
hotfix-continuous-paper-runtime-binding-v1
Aug 1, 2026
Merged

fix(continuous-paper): bind production runtime inputs#129
Atlas2005 merged 1 commit into
mainfrom
hotfix-continuous-paper-runtime-binding-v1

Conversation

@Atlas2005

Copy link
Copy Markdown
Owner

Summary

Fix the Continuous Paper production runtime boundary so scheduled and manual
paper cycles can load a strict production manifest and use the existing
real-market input path.

This is a blocker hotfix for executable Continuous Paper. It does not add
broker connectivity or order submission.

Root causes

  1. The one-cycle CLI and Prefect flow passed a Path directly to
    load_runtime_manifest, although the strict loader accepts only a
    ProductionCandidateManifest or Mapping.

  2. Continuous Paper did not expose the existing real-candidate market-input
    contract:

    • explicit symbols
    • input bars
    • information signals
    • provenance
    • live provider mode
  3. Runtime dataclass defaults could diverge from frozen production-manifest
    parameters.

  4. --allowed-roles existed but was not forwarded to Active Shadow.

  5. The CLI and Prefect flow maintained duplicate interpretations of the input
    payload schema.

Changes

  • Add a shared manifest_bridge production boundary.
  • Read UTF-8 manifest JSON and pass its mapping to the strict runtime loader.
  • Centralize validation and normalization of:
    • symbols
    • bars
    • information_signals
    • information_provenance
    • advisory_provenance
    • quant_firm_context
  • Canonicalize and deduplicate A-share symbols.
  • Require explicit symbols in live-market-data mode.
  • Preserve the existing live provider cap of six symbols.
  • Bind all frozen production parameters into
    RealCandidatePipelineConfig:
    • initial_capital
    • target_symbol_count
    • max_execution_symbols
    • target_position_count
    • max_position_weight
    • reserve_cash_weight
    • min_order_lot
    • capital_profile_id
    • strategy_id
  • Reject caller overrides of frozen parameters.
  • Reject incompatible
    target_symbol_count > max_execution_symbols manifests without clamping.
  • Add --input-json and --live-market-data to the manual and Prefect
    deployment entry points.
  • Normalize and forward Active Shadow roles.
  • Keep Active Shadow and live AI explicitly disabled by default.
  • Require explicit enablement and positive live-AI cost/call limits.
  • Keep Prefect deployment parameters JSON-serializable.

Validation

Focused suites:

137 passed, 1 skipped

@Atlas2005
Atlas2005 merged commit 8f34031 into main Aug 1, 2026
2 checks passed
@Atlas2005
Atlas2005 deleted the hotfix-continuous-paper-runtime-binding-v1 branch August 1, 2026 06:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant