RCP-CWK-049 Cowork Subproject End

Sets up a CRAFT session in Claude Cowork automatically

Closes the active subproject. Verifies all phases are STATUS:complete, auto-merges LL-DELTAS.txt into the parent project LL file with verbatim echo (OQ-1), prepends a one-line outcome_summary to CLAUDE.md “Recent Subproject Outcomes” with FIFO top-3 (OQ-4), moves the SP folder to _closed/, and writes the close announcement.


Cowork Subproject End

Tags: Introduced in Beta, Session, Subproject, Lifecycle, Close, Cowork

TL;DR

What It Does
Closes the active subproject. Verifies all phases are STATUS:complete, auto-merges LL-DELTAS.txt into the parent project LL file with verbatim echo (OQ-1), prepends a one-line outcome_summary to CLAUDE.md “Recent Subproject Outcomes” with FIFO top-3 (OQ-4), moves the SP folder to _closed/, and writes the close announcement.
How It Works
Ten steps. (1) Verify active SP matches sp_id. (2) Validate outcome_summary (1–120 chars, single line). (3) Verify all phases complete (I-5). (4) Auto-merge LL-DELTAS into parent LL file. (5) Verbatim echo merged block (OQ-1). (6) Prepend outcome to CLAUDE.md outcomes section (FIFO top-3). (7) Set STATE.txt ACTIVE=false. (8) Append final LOG entry. (9) Move SP folder to _closed/. (10) Close announcement.
What To Expect
The SP folder moves to _closed/, LL deltas are merged and echoed verbatim, CLAUDE.md outcomes section is updated, and the COM footer reverts to the no-SP form on the next response.
Best Results When You
Have completed all phases (all STATUS:complete in PHASES.txt). Have a concise outcome_summary ready (120 chars or less). Have captured any final lessons learned in LL-DELTAS.txt.
Typical Time
2–3 minutes. Most time is spent on the LL merge and outcome section update.
Difficulty
Intermediate — the recipe handles LL merging, CLAUDE.md editing, folder archival, and multiple invariant checks. You need all phases complete and a summary ready.

How To Start

This recipe is the counterpart to CWK-048 (Subproject Start). It performs all end-of-subproject housekeeping in one shot: verifies completion, merges lessons learned, updates the project record, archives the folder, and restores the default footer. The outcome_summary (OQ-4) is required — it becomes the permanent one-line record of what the subproject accomplished.

STEP 1Close the Subproject

Provide the subproject ID and a concise outcome summary.
Available parameters
  • sp_id · string · required
    Must exactly match the currently ACTIVE subproject. Refuses if no SP is active or sp_id mismatches.
  • outcome_summary · string · required · max 120 chars
    Required per OQ-4. Single line, 120 characters or fewer. Prepended to CLAUDE.md “Recent Subproject Outcomes” section with FIFO top-3 enforcement.
Invocations
Standard close
#H->AI::Directive: (Execute CWK-049 with sp_id="P067:SP10", outcome_summary="All 128 recipe pages built; CRPW pipeline at 100% BLESS rate")
Close with minimal outcome
#H->AI::Directive: (Execute CWK-049 with sp_id="P061:SP04", outcome_summary="CWK-051 confidence gate live in cookbook")

Usage Examples

EXAMPLE 1Standard subproject close

User
Close SP10. Outcome: All 128 recipe pages built, 100% BLESS rate.
Cat
Cowork Subproject End — active SP is P067:SP10. Matches. outcome_summary: 65 chars — OK. Phases: 3/3 complete. Merging LL-DELTAS: 4 entries appended to parent LL. Verbatim echo below. CLAUDE.md outcomes updated (FIFO top-3). STATE.txt: ACTIVE=false. LOG.txt: final entry. Moving to _closed/. Subproject P067:SP10 closed. Footer reverts on next response.

EXAMPLE 2Blocked by incomplete phases

User
Close SP04.
Cat
Cowork Subproject End — active SP is P061:SP04. Matches. Checking phases… Cannot close — incomplete phases: Phase 3 “Dogfood & Close” is STATUS:in_progress. Mark all phases complete in PHASES.txt before retry.

EXAMPLE 3Mismatched sp_id

User
Close SP09.
Cat
Cowork Subproject End — active SP is P067:SP10, not P067:SP09. Refusing close. Pass the correct sp_id.

How AI Reads This Recipe

When this recipe is triggered, the AI closes the active subproject end-to-end. The AI should:
  1. Verify active SP matches. Scan project/subprojects/*/STATE.txt (excluding _closed/) for ACTIVE=true. Must find exactly one whose SP_ID matches the provided sp_id. Refuse on zero, multiple, or mismatch.
  2. Validate outcome_summary. Must be 1–120 characters and a single line (OQ-4). Refuse if empty, too long, or multiline.
  3. Verify all phases complete (I-5). Parse PHASES.txt. Every phase must be STATUS:complete. List incomplete phases and refuse if any remain.
  4. Auto-merge LL-DELTAS. Read LL-DELTAS.txt, parse entries (excluding header comments). Append byte-for-byte to parent project LL file.
  5. Verbatim echo (OQ-1). Include the merged LL block in the close announcement between BEGIN/END MERGED LL BLOCK delimiters.
  6. Update CLAUDE.md outcomes (OQ-4). Locate “Recent Subproject Outcomes” section (create if missing). Prepend the new outcome line. Enforce FIFO top-3.
  7. Close STATE.txt. Set ACTIVE=false. Populate CLOSED and CLOSED_HANDOFF fields.
  8. Append final LOG entry. Record close via CWK-049, outcome summary, and LL delta count.
  9. Archive SP folder. git mv the SP folder to project/subprojects/_closed/.
  10. Close announcement. Report: archived path, outcome, LL deltas merged (verbatim echo above), CLAUDE.md updated, footer revert note.

When To Use This Recipe

Use this recipe when all phases of the active subproject are complete and you’re ready to formally close it. It’s the only sanctioned way to close a subproject — do not manually delete or move SP folders.
Do Not Use When
Phases are still incomplete — complete them first. When you want to pause but not close (subprojects stay active until closed). For project-level closure — that’s a different process.

Recipe FAQ

What is OQ-1 visibility-on-merge?
When LL-DELTAS.txt entries are merged into the parent LL file, the exact merged text is echoed verbatim in the close announcement between BEGIN/END MERGED LL BLOCK delimiters. This ensures the human sees exactly what was merged.

What is OQ-4 and the FIFO top-3?
OQ-4 requires a one-line outcome_summary (120 chars max) prepended to the CLAUDE.md “Recent Subproject Outcomes” section. FIFO top-3 means only the three most recent outcomes are kept — older ones are dropped. This gives new sessions a quick view of recent accomplishments.

Can I reopen a closed subproject?
No. Once closed and moved to _closed/, it’s archived. If you need to continue the work, open a new subproject via CWK-048 with a new sp_id. The closed SP’s files remain in _closed/ for reference.

What happens to the footer after closing?
The CURRENT SUBPROJECT footer block is omitted on the next response. CWK-012 v1.06a re-reads STATE.txt fresh (I-4) and sees no active SP, rendering the no-SP footer form.

What if LL-DELTAS.txt is empty?
The recipe handles this gracefully. If no LL entries were captured, the merged block is noted as “(no LL deltas captured during this SP)” and the verbatim echo reflects that. The close still proceeds normally.

Version History

v1.00a — 2026-04-05
Initial creation. Subproject lifecycle close per SUBPROJECT-SYSTEM-SPEC v1.02a Section 4. 10-step workflow with I-5 all-phases-complete check, OQ-1 verbatim LL merge echo, OQ-4 outcome summary with FIFO top-3, folder archival to _closed/, and footer revert.

Get this recipe with CRAFT for Claude Cowork

Cowork recipes ship bundled with CRAFT for Claude Cowork — there’s no separate download. Clone the framework once, and your AI runs every recipe automatically when invoked.

Pull anytime to stay on the latest version — free to clone, no login or email required.

Then start your session

Once CRAFT is in your project folder, open a new Cowork session and ask Claude to initialize. For example:

You

Please initialize my CRAFT session.

Claude

CRAFT session ready. Your project is loaded, your persona is active, and your recipes are available. What would you like to work on?

What is CRAFT for Claude Cowork?

Not familiar with Git? Download as a ZIP

No command line needed. Just download, move, and unzip:

  1. Open the CRAFT framework repo on GitHub.
  2. Click the green Code button, then choose Download ZIP.
  3. Move the downloaded ZIP into your Claude Cowork project folder.
  4. Unzip it: double-click on Mac, or right-click → Extract All on Windows.

Similar Posts