# Portfolio evidence gates — experiment 5.1 Twelve invented projects occupy six governance stages: Idea, Shape, Assess, Approve, Deliver and Review. Every next-stage gate requires named evidence with a present/missing/unknown status. Present evidence requires a text reference. A simulated move also requires the assigned role, an explicit workshop confirmation and a rationale. Missing evidence and invalid attempts leave state and history untouched. Select a project, update its evidence, try a gate, change its simulated owner, hold/resume it or stop it. Stopped projects are terminal in this model. Readiness, blocked, held, completed and stopped queues are summarised above the register. A six-stage SVG strip shows transition arrows, the current stage and the next-gate check; the ordered stage list and tables remain text alternatives. History records evidence changes, owner changes, transitions and status decisions. The scenario date stamps new events; it is not a historical snapshot filter and cannot precede existing events. Shared-shell controls handle persistence and review bundles. This is a **separate fictional companion**, reflecting the revised implementation boundary. It neither extends nor modifies the original six-state teaching app, probabilities, redirects or tests. No legacy link is assumed. Governance approval never authorises railway work, access, isolation, energisation, operation or return to service. Local evidence notes are not attachments or authenticated proof; local role selection is not real authority. State is independent of every other experiment. Compared with a stage-only spreadsheet, requirements and guarded moves reveal why an item is blocked; a trusted shared audit or real governance would require another system. Tests: `node --test apps/portfolio-gates/app.test.mjs` cover 12 fixtures, mandatory evidence, atomic rejection, simulated roles, unknown values, hold/resume/stop, history dates, malformed imports and escaping.