MOPC-App/docs/codex-architecture-redesign.../10-monaco-reference-configu...

163 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 10. Monaco Reference Configuration (Example)
This is an example of how a Monaco 2026 competition would be configured in the redesigned system.
## 1) Program Profile
- Program: Monaco Ocean Protection Challenge 2026
- Categories: `STARTUP`, `BUSINESS_CONCEPT`
- Main pipeline: `mopc-2026-main`
- Award tracks: configurable per award
## 2) Stage Purpose Layout (Main Track)
1. `submission_r1_intake`
- type: `INTAKE`
- open: 2026-02-01
- close: 2026-05-31
- late policy: `flag`
2. `eligibility_filter`
- type: `FILTER`
- trigger: admin or auto-on-close
3. `jury1_evaluation`
- type: `EVALUATION`
- open: 2026-06-05
- close: 2026-06-25
- jury binding: `MAIN_SEMIFINAL`
4. `submission_r2_intake`
- type: `INTAKE`
- open: 2026-06-28
- close: 2026-07-20
5. `jury2_evaluation`
- type: `EVALUATION`
- open: 2026-07-24
- close: 2026-08-10
- jury binding: `MAIN_FINALIST`
6. `jury3_live_finals`
- type: `LIVE_FINAL`
- event date window: 2026-09-01
- jury binding: `MAIN_LIVE_FINALS`
7. `final_confirmation`
- type: `SELECTION`
- rule: unanimous active quorum + one admin approval
- absent juror handling: replace juror or mark as excused (admin-audited)
- admin override: enabled for both category and award scopes (mandatory reason/audit)
- unlock policy: super-admin only
8. `results_publication`
- type: `RESULTS`
- publication mode: manual
## 3) Jury Definitions
- `MAIN_SEMIFINAL` (display label example: `Jury 1 - Technical Panel`)
- Purpose: semi-final selection
- members: list of judges
- `MAIN_FINALIST` (display label example: `Jury 2 - Selection Panel`)
- Purpose: finalist selection
- members: list of judges (overlap allowed)
- `MAIN_LIVE_FINALS` (display label example: `Jury 3 - Live Finals Panel`)
- Purpose: live final voting + deliberation
- members: list of judges (overlap allowed)
## 4) Assignment Policy Example
### Jury1 policy
- required reviews: 3
- default cap mode: `SOFT`
- default cap: 25
- buffer: 10
- startup/concept bias target per judge: 50/50 (suggestive, not deterministic)
### Per-judge override example
- judge A: hard cap 18
- judge B: soft cap 22 buffer 8
- judge C: startup-biased preference (100/0 suggestion, not hard rule)
## 5) Submission Round Requirements
### Round 1 (`submission_r1_intake`)
Slots:
- `r1_exec_summary` (required)
- `r1_pitch_deck` (required)
- `r1_video_pitch` (optional)
### Round 2 (`submission_r2_intake`)
Slots:
- `r2_business_plan` (required)
- `r2_financials` (required)
- `r2_impact_metrics` (optional)
Behavior:
- applicants edit current round only
- previous round read-only
- admin can replace with provenance
## 6) Award Mode Examples
### Example A: Separate Pool, Pull-Out
- award: “Blue Innovation Prize”
- participationMode: `SEPARATE_POOL`
- routingBehavior: `PULL_FROM_MAIN`
- pull-out confirmation: admin-confirmed before removal from main pool
### Example B: Dual Track
- award: “Community Impact Award”
- participationMode: `DUAL_TRACK`
- routingBehavior: `KEEP_IN_MAIN`
### Example C: Single-Judge Award
- award: “Chairs Special Recognition”
- winnerDecisionMode: `SINGLE_JUDGE_DECIDES`
- singleJudgeUserId: configured award judge
- candidate set: only projects remaining eligible after award filtering
## 7) Mentoring Layer Example
Eligibility:
- finalist projects with `wantsMentorship=true`
Permissions:
- mentor and team can upload/comment private files
- team lead + admin can promote file to official submission
Promotion artifact:
- records source file, target slot, actor, timestamp, resulting official file id
## 8) Live Finals Example
- voting mode: criteria
- audience voting: enabled for end-of-category only
- audience totals visible to Jury3 during deliberation: true
- tie-break order:
1. highest Jury3 weighted score
2. admin-declared tie-break (if still tied)
## 9) Final Confirmation Example
- decision rule: unanimous (categories + jury-based awards)
- active quorum must submit confirmation vote (absent juror can be replaced or marked excused)
- admin approval required after quorum unanimity
- admin override allowed for category or award outcomes with mandatory reason code and audit snapshot
- result lock snapshot generated immediately on finalize
- unlock available only to super admins with mandatory reason + unlock event audit
## 10) Invite Flow Example
### Admin invite (jury)
- create user with role `JURY_MEMBER`
- attach `JuryMembership: MAIN_FINALIST` (custom display label in UI)
- create optional `AssignmentIntent` for stage `jury2_evaluation` and/or direct policy-validated assignments
- send invitation
- on accept: jury onboarding -> cap/bias preference override if allowed (disclosure shown that bias is suggestive only)
### Team invite
- create/attach `TeamMember`
- send invitation
- on accept: applicant context landing