# Completed locally — Project kickoff workflow and manual automation

21 September 2026. Course: [Give every new project an owner, a kickoff stage and a visible finish](../course-content/appmint-automate-a-business-handoff.md).

The actionable local learner path is complete. This does not claim a live signature-provider integration, external notifications, elapsed two-day escalation, scheduled execution, concurrent deduplication or another person's approval.

## Instruction-by-instruction result

| Course section | Actual outcome |
| --- | --- |
| Prerequisite | Created cf_project/Design Projects in Collection Builder using the supplied six-field schema. Preview, workflow/versioning flags and saved readback verified. Fixed Save being covered by the Properties panel; browser-tested at1440 and1280 widths. |
| 1: definition | Created tutorial-project-kickoff through the UI; attached cf_project; enabled/start-on-create; three stages; Owner responsibility/fallback; two-day middle SLA; final completed/done. Saved and reopened. |
| 2: lifecycle | Created one Tutorial Okonkwo garden room, automatically started task6ab1a051d5acec678da0bace. Advanced to48hSLA, thenDone; history and completion verified; archived and found same task inAlltasks. Zero in flight and100% complete verified before adding further projects. |
| 3: trigger inspection | Reproduced empty picker. Repaired source and selected Design Projects, watched stage, saved and reopened. Raw saved config has datatypecf_project, operationupdated and fieldFiltersstage. Draft was never started with a trigger. |
| 4: manual lab | Replaced only the saved draft's data and outer name through Raw JSON, retaining identity6ab1a167d5acec678da0bad2. Supplied triggerless create_data action. Two separate UI Start→Executeonce→Stop sequences passed. Both actual project IDs were read back through Raw JSON; two matching tasks appeared inBriefreceived with owner assignment. |
| 4: failure/result checks | Invalid JSON visibly refused save and retained editor; original valid JSON restored and saved. First run reproduced missing persisted results/phantom Errors(1). Backend and display repaired; second run shows completedcreate-project, actual Action result/recordId and no phantom errors. |
| 5: integration boundary | Conceptual extension is explicitly bounded; no claim of a signing event, real customer mapping, notification or concurrency protection. |
| 6: other views | Opened Approvals and inspected both tasks and decision controls; visited four tabs without deciding/reassigning/escalating. Opened Schedule Management and its Overview/Upcoming/Runs/Logs views; no schedule created. |

## Retained fixtures

Organization learner-recovery-mubo2g1c. Manual automation6ab1a167d5acec678da0bad2 is **inactive**. Exactly two executions:

| Execution | Project |
| --- | --- |
| exec_1790026737258_v8eeyj | 6ab1a3f1d5acec678da0badc |
| exec_1790027124811_ah7jxj | 6ab1a5749e37fe9e050e2de7 |

Both are Tutorial Automated kickoff sample/Brief. Two corresponding tasks remain available in Briefreceived, as the course instructs. Original garden-room task remains archived. Do not rerun these mutations after a crash.

## Evidence and validation

- [Execution responses and saved run records](../application-fixes/assets/handoff-execution-proof.json).
- [Actual project identity readback](../application-fixes/assets/handoff-project-readback.json).
- [Trigger config readback](../application-fixes/assets/handoff-trigger-config-proof.json).
- [Application repair report](../application-fixes/automation-configuration-and-results.md).
- [Collection layout repair](../application-fixes/collection-builder-save-layout.md).
- [Course](../course-content/appmint-automate-a-business-handoff.md) and [production guide](../course-content/production/appmint-automate-a-business-handoff.md) use current screenshots and teach the repaired UI. Historical defect captures are not presented as current success.

Nine frontend regressions and two runner-persistence tests pass. Full AppEngine TypeScript compilation into an isolated temporary output passed. Only compiled runner files were copied into the owned API runtime; browser verified the second execution against that runtime. Source diff checks pass. Production deployment is outside scope.
