--- title: "FinReason Cup Task 1" emoji: 📊 colorFrom: blue colorTo: indigo sdk: docker app_port: 7860 pinned: false --- # FinReason Cup Task 1 Public direct development submission portal. Each team enters a Team Name and canonical submission ZIP. The normalized Team Name is the quota, replay, and best-submission identity. Required non-secret Space Variable: `SYSTEM=spaces`. Required Space secrets: `FINREASON_REFERENCE_TOKEN` and `FINREASON_VAULT_TOKEN`, plus the private canonical contract in `FINREASON_PORTAL_CONTRACT_B64` and its immutable reference commit in `FINREASON_REFERENCE_REVISION`. The reference and vault tokens must be distinct and narrowly scoped. Accepted archives are sealed to the offline organizer X25519 public key; the corresponding private key is never present in the Space. A candidate-stage contract is rejected at startup. An explicit `hosted_rehearsal` contract starts only with the bundled `NON_PRODUCTION.txt` marker; a production launch contract refuses that marker. Direct Python package versions are pinned, while the complete resolved hosted package inventory must be captured in the launch SBOM receipt. ## Optional participant contact From 29 October 2026, a separate optional contact form matches an accepted Development team and receipt, then saves a self-declared email for Working Notes reminders and competition administration. The email and team details are encrypted before storage in the organizer-private vault. Email ownership is not verified. This does not change prediction submissions, receipts, scores, or deadlines.