Project Lifecycle
A project moves through a series of states. Some require your input; others run automatically.
States
| State | Action Required | Description |
|---|---|---|
| idle | None | Project created, pipeline starting |
| pm_generating | None | PM agent writing the brief |
| awaiting_approval | You | Review and approve the brief |
| security_planning | None | Building the threat model & security test plan |
| builder_building | None | Builder agent writing code (full-stack apps provision a backend boundary first) |
| test_running | None | Running the functional test suite |
| security_testing | None | Attacking the beta for security issues |
| awaiting_user_review | You | Pipeline finished at the beta — review it, then Deploy to Prod when ready |
| prod: deploying | You → None | You clicked Deploy to Prod; the reviewed beta is promoting to production |
| prod: live | None | Running in production (tracked separately as prod_deploy_status; the pipeline itself ends at the beta) |
| failed | None | Pipeline encountered an error |
Human-in-the-loop
Two states require your input:
- awaiting_approval — The brief is ready. Review it and approve to start the build.
- awaiting_user_review — The beta is deployed and the pipeline is finished. Try it, and when you’re happy, click Deploy to Prod to promote that exact beta to production.
All other states run automatically. You can monitor progress in real time on the project detail page.
Admin
Once a project is running, its Admin tab shows everything Zhenfy created for it — the resources, and the data your app’s own users produce — with beta and production kept as separate views. Anything the spec marks as sensitive is stored encrypted by default and shown masked; you can reveal a single value with one explicit click, and every reveal is written to an audit log.