Project Complete
When to Use
Knowledge extraction is done and the project is ready to close.
Inputs
- Project path:
{Dept}/Projects/{Project}/ - Completion action:
approveorarchive
Context Boundary
Read only the Phase document, Changelog, and sidebar configuration. Never read Vision, Research, Spec, or Plans — Complete is an administrative phase, not a content review.
Prerequisites
- Extract_Eval must have passed (Phase:
Extract_Eval_Completed). - Changelog must be up to date.
Procedure
-
Confirm with user: approve or archive?
-
If archive: verify no name collision in archive target. Check whether
{Dept}/Archived/{Project}/already exists. If it does, stop and inform the user — suggest using Project_Rename to rename either the active or the existing archived project before archiving. -
Update
{Project}_Phase.md: setPhase: Complete_Started -
Build, commit, push
-
If Archive:
- Set
status: archivedon all.mdfiles in the project - Move project directory to
{Dept}/Archived/usinggit mv - Update sidebar paths from
projects/toarchived/in.internal/astro.config.mjs - Move the sidebar group from Projects to Archived section
- Update or create
{Dept}/Archived/index.md
- Set
-
If Approve:
- Set
status: approvedon all.mdfiles - Keep project in
{Dept}/Projects/
- Set
-
Clean up:
- Ensure Learnings file is empty (should have been cleared during execution)
-
Update sidebar by spawning the Page Manager bot via
spawnAgentwith{ botGroup: 'forge', botHandle: 'page-manager' } -
Build, commit, push
-
Present the result to the user for review
-
Iterate until the user approves
-
Update
{Project}_Phase.md: setPhase: Complete_Completed -
Build, commit, push
Post-Complete Prompts
After completing the project, remind the user:
- Back up
.secretsto RoboForm if it was modified during this project - Back up Railway env vars to RoboForm if they were modified during this project
- Re-index Typesense — the following files were created, modified, or deleted during this project (see Changelog for full list)
Archive Details
Frontmatter
Set status: archived on every .md file. For files missing required frontmatter fields, add them first:
| Field | Default if missing |
|---|---|
title | Derive from filename |
visibility | internal |
status | archived |
owner | "erik@uvilo.com" |
approver | _ |
Sidebar
- Replace slug paths:
dept_lower/projects/project_lower/→dept_lower/archived/project_lower/ - Move the project’s sidebar group from the
Projectssection to the department’sArchivedsection - If no
Archivedsection exists, create one
Archived Index
Add entry to {Dept}/Archived/index.md (create if missing):
Relationship to Project_Archive
Project_Complete is the lifecycle phase that closes a project. It handles both approve and archive outcomes. Project_Archive handles restoring an archived project back to approved status. Use Project_Complete to close; use Project_Archive to unarchive.
Rules
- Always use
git mvfor directory moves to preserve history