Files
Claude-Code-Workflow/ccw/docs-site/build/docs/workflows/level-3-standard.html
catlog22 c6093ef741 feat: add CLI Command Node and Prompt Node components for orchestrator
- Implemented CliCommandNode component for executing CLI tools with AI models.
- Implemented PromptNode component for constructing AI prompts with context.
- Added styling for mode and tool badges in both components.
- Enhanced user experience with command and argument previews, execution status, and error handling.

test: add comprehensive tests for ask_question tool

- Created direct test for ask_question tool execution.
- Developed end-to-end tests to validate ask_question tool integration with WebSocket and A2UI surfaces.
- Implemented simple and integrated WebSocket tests to ensure proper message handling and surface reception.
- Added tool registration test to verify ask_question tool is correctly registered.

chore: add WebSocket listener and simulation tests

- Added WebSocket listener for A2UI surfaces to facilitate testing.
- Implemented frontend simulation test to validate complete flow from backend to frontend.
- Created various test scripts to ensure robust testing of ask_question tool functionality.
2026-02-03 23:10:36 +08:00

193 lines
67 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-workflows/level-3-standard" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Level 3 - Standard Workflows | CCW Help Documentation</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="http://localhost:3001/docs/docs/workflows/level-3-standard"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" property="og:locale:alternate" content="zh"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Level 3 - Standard Workflows | CCW Help Documentation"><meta data-rh="true" name="description" content="Complete planning with persistent session management for multi-module changes"><meta data-rh="true" property="og:description" content="Complete planning with persistent session management for multi-module changes"><link data-rh="true" rel="icon" href="/docs/img/favicon.ico"><link data-rh="true" rel="canonical" href="http://localhost:3001/docs/docs/workflows/level-3-standard"><link data-rh="true" rel="alternate" href="http://localhost:3001/docs/docs/workflows/level-3-standard" hreflang="en"><link data-rh="true" rel="alternate" href="http://localhost:3001/docs/zh/docs/workflows/level-3-standard" hreflang="zh"><link data-rh="true" rel="alternate" href="http://localhost:3001/docs/docs/workflows/level-3-standard" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Level 3: Standard","item":"http://localhost:3001/docs/docs/workflows/level-3-standard"}]}</script><link rel="stylesheet" href="/docs/assets/css/styles.43777f0a.css">
<script src="/docs/assets/js/runtime~main.0220a52f.js" defer="defer"></script>
<script src="/docs/assets/js/main.d2194b90.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/docs/"><div class="navbar__logo"><img src="/docs/img/logo.svg" alt="CCW Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src="/docs/img/logo.svg" alt="CCW Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">CCW Help</b></a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true" class="iconLanguage_xrmG"><path fill="currentColor" d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></svg>English</a><ul class="dropdown__menu"><li><a href="/docs/docs/workflows/level-3-standard" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang="en">English</a></li><li><a href="/docs/zh/docs/workflows/level-3-standard" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="zh">中文</a></li></ul></div><div class="toggle_OLSw colorModeToggle_Hg9V"><button class="clean-btn toggleButton_wYmb toggleButtonDisabled_vaDU" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_KEbZ lightToggleIcon_Sxwe"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_KEbZ darkToggleIcon_Yem1"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_KEbZ systemToggleIcon_txm5"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_bmvg"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_UyTV"><div class="docsWrapper_XLvK"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docRoot_HciC"><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class="sidebarViewport_N8x0"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/docs/overview"><span title="Overview" class="linkLabel_PuAu">Overview</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_d9ci menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" href="/docs/docs/commands/general/ccw"><span title="Commands" class="categoryLinkLabel_Oe72">Commands</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_d9ci menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" tabindex="0" href="/docs/docs/commands/general/ccw"><span title="General Commands" class="categoryLinkLabel_Oe72">General Commands</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/general/ccw"><span title="/ccw" class="linkLabel_PuAu">/ccw</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/general/ccw-plan"><span title="/ccw-plan" class="linkLabel_PuAu">/ccw-plan</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/general/ccw-test"><span title="/ccw-test" class="linkLabel_PuAu">/ccw-test</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/general/ccw-coordinator"><span title="/ccw-coordinator" class="linkLabel_PuAu">/ccw-coordinator</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/general/ccw-debug"><span title="/ccw-debug" class="linkLabel_PuAu">/ccw-debug</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/general/flow-create"><span title="/flow-create" class="linkLabel_PuAu">/flow-create</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/general/codex-coordinator"><span title="/codex-coordinator" class="linkLabel_PuAu">/codex-coordinator</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_d9ci menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" tabindex="0" href="/docs/docs/commands/issue/issue-new"><span title="Issue Commands" class="categoryLinkLabel_Oe72">Issue Commands</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/issue/issue-new"><span title="issue:new" class="linkLabel_PuAu">issue:new</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/issue/issue-discover"><span title="issue:discover" class="linkLabel_PuAu">issue:discover</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/issue/issue-plan"><span title="issue:plan" class="linkLabel_PuAu">issue:plan</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/issue/issue-queue"><span title="issue:queue" class="linkLabel_PuAu">issue:queue</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/issue/issue-execute"><span title="issue:execute" class="linkLabel_PuAu">issue:execute</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/issue/issue-from-brainstorm"><span title="issue:from-brainstorm" class="linkLabel_PuAu">issue:from-brainstorm</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/issue/issue-convert-to-plan"><span title="issue:convert-to-plan" class="linkLabel_PuAu">issue:convert-to-plan</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_d9ci menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" tabindex="0" href="/docs/docs/commands/cli/cli-init"><span title="CLI Commands" class="categoryLinkLabel_Oe72">CLI Commands</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/cli/cli-init"><span title="/cli:cli-init" class="linkLabel_PuAu">/cli:cli-init</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/cli/codex-review"><span title="/cli:codex-review" class="linkLabel_PuAu">/cli:codex-review</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_d9ci menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" tabindex="0" href="/docs/docs/commands/memory/memory-update-full"><span title="Memory Commands" class="categoryLinkLabel_Oe72">Memory Commands</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/memory/memory-update-full"><span title="/memory:update-full" class="linkLabel_PuAu">/memory:update-full</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/memory/memory-update-related"><span title="/memory:update-related" class="linkLabel_PuAu">/memory:update-related</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/memory/memory-load"><span title="/memory:load" class="linkLabel_PuAu">/memory:load</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/memory/memory-docs-full-cli"><span title="/memory:docs-full-cli" class="linkLabel_PuAu">/memory:docs-full-cli</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/memory/memory-docs-related-cli"><span title="/memory:docs-related-cli" class="linkLabel_PuAu">/memory:docs-related-cli</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/memory/memory-compact"><span title="/memory:compact" class="linkLabel_PuAu">/memory:compact</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_d9ci menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" tabindex="0" href="/docs/docs/commands/memory/memory-update-full"><span title="Memory Commands" class="categoryLinkLabel_Oe72">Memory Commands</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/memory/memory-update-full"><span title="/memory:update-full" class="linkLabel_PuAu">/memory:update-full</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/memory/memory-update-related"><span title="/memory:update-related" class="linkLabel_PuAu">/memory:update-related</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/memory/memory-load"><span title="/memory:load" class="linkLabel_PuAu">/memory:load</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/memory/memory-docs-full-cli"><span title="/memory:docs-full-cli" class="linkLabel_PuAu">/memory:docs-full-cli</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/memory/memory-docs-related-cli"><span title="/memory:docs-related-cli" class="linkLabel_PuAu">/memory:docs-related-cli</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/commands/memory/memory-compact"><span title="/memory:compact" class="linkLabel_PuAu">/memory:compact</span></a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_d9ci menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" href="/docs/docs/workflows/introduction"><span title="Workflows" class="categoryLinkLabel_Oe72">Workflows</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/workflows/introduction"><span title="Introduction" class="linkLabel_PuAu">Introduction</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/workflows/level-1-ultra-lightweight"><span title="Level 1: Ultra Lightweight" class="linkLabel_PuAu">Level 1: Ultra Lightweight</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/workflows/level-2-rapid"><span title="Level 2: Rapid" class="linkLabel_PuAu">Level 2: Rapid</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/docs/workflows/level-3-standard"><span title="Level 3: Standard" class="linkLabel_PuAu">Level 3: Standard</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/workflows/level-4-brainstorm"><span title="Level 4: Brainstorm" class="linkLabel_PuAu">Level 4: Brainstorm</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/docs/workflows/level-5-intelligent"><span title="Level 5: Intelligent" class="linkLabel_PuAu">Level 5: Intelligent</span></a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/docs/faq"><span title="FAQ" class="linkLabel_PuAu">FAQ</span></a></li></ul></nav></div></div></aside><main class="docMainContainer_namt"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><span class="breadcrumbs__link">Workflows</span></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Level 3: Standard</span></li></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type="button" class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Level 3: Standard Workflows</h1></header>
<p><strong>Complexity</strong>: Medium-High | <strong>Artifacts</strong>: Persistent session files | <strong>State</strong>: Full session management</p>
<p>Level 3 workflows provide complete planning with persistent session management. They&#x27;re designed for multi-module changes that require traceability, verification, and structured execution.</p>
<h2 class="anchor anchorTargetStickyNavbar_SAay" id="overview">Overview<a href="#overview" class="hash-link" aria-label="Direct link to Overview" title="Direct link to Overview" translate="no"></a></h2>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_SAay" id="included-workflows">Included Workflows<a href="#included-workflows" class="hash-link" aria-label="Direct link to Included Workflows" title="Direct link to Included Workflows" translate="no"></a></h2>
<table><thead><tr><th>Workflow</th><th>Purpose</th><th>Phases</th><th>Artifact Location</th></tr></thead><tbody><tr><td><code>plan</code></td><td>Complex feature development</td><td>5 phases</td><td><code>.workflow/active/{session}/</code></td></tr><tr><td><code>tdd-plan</code></td><td>Test-driven development</td><td>6 phases</td><td><code>.workflow/active/{session}/</code></td></tr><tr><td><code>test-fix-gen</code></td><td>Test fix generation</td><td>5 phases</td><td><code>.workflow/active/WFS-test-{session}/</code></td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="common-characteristics">Common Characteristics<a href="#common-characteristics" class="hash-link" aria-label="Direct link to Common Characteristics" title="Direct link to Common Characteristics" translate="no"></a></h3>
<table><thead><tr><th>Property</th><th>Value</th></tr></thead><tbody><tr><td><strong>Complexity</strong></td><td>Medium-High</td></tr><tr><td><strong>Artifacts</strong></td><td>Persistent files (<code>.workflow/active/{session}/</code>)</td></tr><tr><td><strong>State</strong></td><td>Full session management</td></tr><tr><td><strong>Verification</strong></td><td>Built-in verification steps</td></tr><tr><td><strong>Execution</strong></td><td><code>/workflow:execute</code></td></tr><tr><td><strong>Use Case</strong></td><td>Multi-module, traceable tasks</td></tr></tbody></table>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_SAay" id="workflow-1-plan---verify---execute">Workflow 1: plan -&gt; verify -&gt; execute<a href="#workflow-1-plan---verify---execute" class="hash-link" aria-label="Direct link to Workflow 1: plan -&gt; verify -&gt; execute" title="Direct link to Workflow 1: plan -&gt; verify -&gt; execute" translate="no"></a></h2>
<p><strong>5-phase complete planning workflow</strong></p>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="command">Command<a href="#command" class="hash-link" aria-label="Direct link to Command" title="Direct link to Command" translate="no"></a></h3>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:plan </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Implement OAuth2 authentication system&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:plan-verify </span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Verify plan (recommended)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:execute</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:review </span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># (optional) Review</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="flow-diagram">Flow Diagram<a href="#flow-diagram" class="hash-link" aria-label="Direct link to Flow Diagram" title="Direct link to Flow Diagram" translate="no"></a></h3>
<!-- -->
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="process-phases">Process Phases<a href="#process-phases" class="hash-link" aria-label="Direct link to Process Phases" title="Direct link to Process Phases" translate="no"></a></h3>
<p><strong>Phase 1: Session Discovery</strong></p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:session:start </span><span class="token parameter variable" style="color:rgb(191, 199, 213)">--auto</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Implement OAuth2 authentication system&quot;</span><br></span></code></pre></div></div>
<ul>
<li class="">Creates or discovers workflow session</li>
<li class="">Returns: <code>sessionId</code></li>
</ul>
<p><strong>Phase 2: Context Gathering</strong></p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:tools:context-gather</span><br></span></code></pre></div></div>
<ul>
<li class="">Analyzes codebase structure</li>
<li class="">Identifies tech stack and patterns</li>
<li class="">Returns: <code>context-package.json</code> + <code>conflict_risk</code></li>
</ul>
<p><strong>Phase 3: Conflict Resolution</strong> (Conditional)</p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Only if conflict_risk &gt;= medium</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:tools:conflict-resolution</span><br></span></code></pre></div></div>
<ul>
<li class="">Detects potential conflicts</li>
<li class="">Resolves dependency issues</li>
<li class="">Ensures clean execution path</li>
</ul>
<p><strong>Phase 4: Task Generation</strong></p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:tools:task-generate-agent</span><br></span></code></pre></div></div>
<ul>
<li class="">Generates structured tasks</li>
<li class="">Creates dependency graph</li>
<li class="">Returns: <code>IMPL_PLAN.md</code> + <code>IMPL-*.json</code> + <code>TODO_LIST.md</code></li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="artifacts">Artifacts<a href="#artifacts" class="hash-link" aria-label="Direct link to Artifacts" title="Direct link to Artifacts" translate="no"></a></h3>
<p><strong>Location</strong>: <code>.workflow/active/{WFS-session}/</code></p>
<div class="language-text codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">.workflow/active/WFS-oauth2-auth-2025-02-03/</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">├── workflow-session.json # Session metadata</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">├── IMPL_PLAN.md # Implementation plan</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">├── TODO_LIST.md # Progress tracking</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">├── .task/</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">│ ├── IMPL-001.json # Main task</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">│ ├── IMPL-002.json</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">│ └── ...</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">└── .process/</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ├── context-package.json # Project context</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ├── conflict-resolution.json # Conflict analysis</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> └── planning-notes.md</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="use-cases">Use Cases<a href="#use-cases" class="hash-link" aria-label="Direct link to Use Cases" title="Direct link to Use Cases" translate="no"></a></h3>
<ul>
<li class="">Multi-module changes</li>
<li class="">Refactoring</li>
<li class="">Dependency analysis needed</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_SAay" id="workflow-2-tdd-plan---execute---tdd-verify">Workflow 2: tdd-plan -&gt; execute -&gt; tdd-verify<a href="#workflow-2-tdd-plan---execute---tdd-verify" class="hash-link" aria-label="Direct link to Workflow 2: tdd-plan -&gt; execute -&gt; tdd-verify" title="Direct link to Workflow 2: tdd-plan -&gt; execute -&gt; tdd-verify" translate="no"></a></h2>
<p><strong>6-phase test-driven development workflow</strong></p>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="command-1">Command<a href="#command-1" class="hash-link" aria-label="Direct link to Command" title="Direct link to Command" translate="no"></a></h3>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:tdd-plan </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Implement user registration with TDD&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:execute </span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Follow Red-Green-Refactor</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:tdd-verify </span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Verify TDD compliance</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="flow-diagram-1">Flow Diagram<a href="#flow-diagram-1" class="hash-link" aria-label="Direct link to Flow Diagram" title="Direct link to Flow Diagram" translate="no"></a></h3>
<!-- -->
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="process-phases-1">Process Phases<a href="#process-phases-1" class="hash-link" aria-label="Direct link to Process Phases" title="Direct link to Process Phases" translate="no"></a></h3>
<p><strong>Phase 1: Session Discovery</strong></p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:session:start </span><span class="token parameter variable" style="color:rgb(191, 199, 213)">--type</span><span class="token plain"> tdd </span><span class="token parameter variable" style="color:rgb(191, 199, 213)">--auto</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;TDD: User Registration&quot;</span><br></span></code></pre></div></div>
<p><strong>TDD Structured Format</strong>:</p>
<div class="language-text codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">TDD: [Feature Name]</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">GOAL: [Objective]</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">SCOPE: [Included/excluded]</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">CONTEXT: [Background]</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">TEST_FOCUS: [Test scenarios]</span><br></span></code></pre></div></div>
<p><strong>Phase 2: Context Gathering</strong></p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:tools:context-gather</span><br></span></code></pre></div></div>
<p><strong>Phase 3: Test Coverage Analysis</strong></p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:tools:test-context-gather</span><br></span></code></pre></div></div>
<ul>
<li class="">Detect test framework</li>
<li class="">Analyze existing test coverage</li>
<li class="">Identify coverage gaps</li>
</ul>
<p><strong>Phase 4: Conflict Resolution</strong> (Conditional)</p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Only if conflict_risk &gt;= medium</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:tools:conflict-resolution</span><br></span></code></pre></div></div>
<p><strong>Phase 5: TDD Task Generation</strong></p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:tools:task-generate-tdd</span><br></span></code></pre></div></div>
<ul>
<li class="">Generate IMPL tasks with built-in Red-Green-Refactor cycles</li>
<li class=""><code>meta.tdd_workflow: true</code></li>
<li class=""><code>flow_control.implementation_approach</code> contains 3 steps (red/green/refactor)</li>
</ul>
<p><strong>Phase 6: TDD Structure Validation</strong></p>
<ul>
<li class="">Verify TDD structure compliance</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="tdd-task-structure">TDD Task Structure<a href="#tdd-task-structure" class="hash-link" aria-label="Direct link to TDD Task Structure" title="Direct link to TDD Task Structure" translate="no"></a></h3>
<div class="language-json codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-json codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;id&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;IMPL-001&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;title&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Implement user registration&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;meta&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;tdd_workflow&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(255, 88, 116)">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;flow_control&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;implementation_approach&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;step&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;title&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Red: Write failing test&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;description&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Write test that fails&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;step&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;title&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Green: Make test pass&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;description&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Implement minimal code to pass&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;test_fix_cycle&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;max_iterations&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">3</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;pass_threshold&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.95</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;step&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">3</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;title&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Refactor: Improve code&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token property">&quot;description&quot;</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Refactor while keeping tests green&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="the-iron-law">The Iron Law<a href="#the-iron-law" class="hash-link" aria-label="Direct link to The Iron Law" title="Direct link to The Iron Law" translate="no"></a></h3>
<div class="language-text codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST</span><br></span></code></pre></div></div>
<p><strong>Enforcement Method</strong>:</p>
<ul>
<li class="">Phase 5: <code>implementation_approach</code> includes test-first steps (Red -&gt; Green -&gt; Refactor)</li>
<li class="">Green phase: Includes test-fix-cycle configuration (max 3 iterations)</li>
<li class="">Auto-revert: Triggered when max iterations reached without passing tests</li>
</ul>
<p><strong>Why Order Matters</strong>:</p>
<ul>
<li class="">Tests written after code pass immediately -&gt; proves nothing</li>
<li class="">Test-first forces edge case discovery before implementation</li>
<li class="">Tests-after verify what was built, not what&#x27;s required</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="use-cases-1">Use Cases<a href="#use-cases-1" class="hash-link" aria-label="Direct link to Use Cases" title="Direct link to Use Cases" translate="no"></a></h3>
<ul>
<li class="">Test-driven development</li>
<li class="">High-quality feature requirements</li>
<li class="">Critical system components</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_SAay" id="workflow-3-test-fix-gen---test-cycle-execute">Workflow 3: test-fix-gen -&gt; test-cycle-execute<a href="#workflow-3-test-fix-gen---test-cycle-execute" class="hash-link" aria-label="Direct link to Workflow 3: test-fix-gen -&gt; test-cycle-execute" title="Direct link to Workflow 3: test-fix-gen -&gt; test-cycle-execute" translate="no"></a></h2>
<p><strong>5-phase test fix generation workflow</strong></p>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="command-2">Command<a href="#command-2" class="hash-link" aria-label="Direct link to Command" title="Direct link to Command" translate="no"></a></h3>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Session Mode</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:test-fix-gen WFS-user-auth-v2</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:test-cycle-execute</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Prompt Mode</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:test-fix-gen </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Test the auth API&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:test-cycle-execute</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="flow-diagram-2">Flow Diagram<a href="#flow-diagram-2" class="hash-link" aria-label="Direct link to Flow Diagram" title="Direct link to Flow Diagram" translate="no"></a></h3>
<!-- -->
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="process-phases-2">Process Phases<a href="#process-phases-2" class="hash-link" aria-label="Direct link to Process Phases" title="Direct link to Process Phases" translate="no"></a></h3>
<p><strong>Phase 1: Create/Use Test Session</strong></p>
<p><strong>Session Mode</strong> (uses existing session):</p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:session:start </span><span class="token parameter variable" style="color:rgb(191, 199, 213)">--type</span><span class="token plain"> </span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">test</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(191, 199, 213)">--resume</span><span class="token plain"> WFS-user-auth-v2</span><br></span></code></pre></div></div>
<p><strong>Prompt Mode</strong> (creates new session):</p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:session:start </span><span class="token parameter variable" style="color:rgb(191, 199, 213)">--type</span><span class="token plain"> </span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">test</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(191, 199, 213)">--new</span><br></span></code></pre></div></div>
<p><strong>Phase 2: Gather Test Context</strong></p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:tools:test-context-gather</span><br></span></code></pre></div></div>
<p><strong>Phase 3: Test Generation Analysis</strong></p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:tools:test-concept-enhanced</span><br></span></code></pre></div></div>
<ul>
<li class="">Multi-layer test requirements:<!-- -->
<ul>
<li class=""><strong>L0: Static</strong> - Type checking, linting</li>
<li class=""><strong>L1: Unit</strong> - Function-level tests</li>
<li class=""><strong>L2: Integration</strong> - Component interaction</li>
<li class=""><strong>L3: E2E</strong> - Full system tests</li>
</ul>
</li>
</ul>
<p><strong>Phase 4: Generate Test Tasks</strong></p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:tools:test-task-generate</span><br></span></code></pre></div></div>
<ul>
<li class=""><code>IMPL-001.json</code>: Test understanding &amp; generation</li>
<li class=""><code>IMPL-001.5-review.json</code>: Quality gate</li>
<li class=""><code>IMPL-002.json</code>: Test execution &amp; fix cycle</li>
</ul>
<p><strong>Phase 5: Return Summary</strong></p>
<ul>
<li class="">-&gt; <code>/workflow:test-cycle-execute</code></li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="dual-mode-support">Dual-Mode Support<a href="#dual-mode-support" class="hash-link" aria-label="Direct link to Dual-Mode Support" title="Direct link to Dual-Mode Support" translate="no"></a></h3>
<table><thead><tr><th>Mode</th><th>Input Pattern</th><th>Context Source</th></tr></thead><tbody><tr><td><strong>Session Mode</strong></td><td><code>WFS-xxx</code></td><td>Source session summaries</td></tr><tr><td><strong>Prompt Mode</strong></td><td>Text/file path</td><td>Direct codebase analysis</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="artifacts-1">Artifacts<a href="#artifacts-1" class="hash-link" aria-label="Direct link to Artifacts" title="Direct link to Artifacts" translate="no"></a></h3>
<p><strong>Location</strong>: <code>.workflow/active/WFS-test-{session}/</code></p>
<div class="language-text codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">.workflow/active/WFS-test-user-auth-2025-02-03/</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">├── workflow-session.json</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">├── .task/</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">│ ├── IMPL-001.json # Test understanding &amp; generation</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">│ ├── IMPL-001.5-review.json # Quality gate</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">│ └── IMPL-002.json # Test execution &amp; fix cycle</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">└── .process/</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ├── TEST_ANALYSIS_RESULTS.md</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> └── test-context-package.json</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="use-cases-2">Use Cases<a href="#use-cases-2" class="hash-link" aria-label="Direct link to Use Cases" title="Direct link to Use Cases" translate="no"></a></h3>
<ul>
<li class="">Test failure fixes</li>
<li class="">Coverage improvement</li>
<li class="">Test suite generation</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_SAay" id="level-3-comparison-table">Level 3 Comparison Table<a href="#level-3-comparison-table" class="hash-link" aria-label="Direct link to Level 3 Comparison Table" title="Direct link to Level 3 Comparison Table" translate="no"></a></h2>
<table><thead><tr><th>Aspect</th><th>plan</th><th>tdd-plan</th><th>test-fix-gen</th></tr></thead><tbody><tr><td><strong>Purpose</strong></td><td>Complex features</td><td>Test-driven dev</td><td>Test fixes</td></tr><tr><td><strong>Phases</strong></td><td>5</td><td>6</td><td>5</td></tr><tr><td><strong>TDD</strong></td><td>No</td><td>Yes (Red-Green-Refactor)</td><td>Optional</td></tr><tr><td><strong>Artifacts</strong></td><td><code>.workflow/active/</code></td><td><code>.workflow/active/</code></td><td><code>.workflow/active/WFS-test-*/</code></td></tr><tr><td><strong>Verification</strong></td><td>plan-verify</td><td>tdd-verify</td><td>Built-in quality gate</td></tr><tr><td><strong>Best For</strong></td><td>Multi-module changes</td><td>High-quality features</td><td>Test improvements</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_SAay" id="execution-execute">Execution: execute<a href="#execution-execute" class="hash-link" aria-label="Direct link to Execution: execute" title="Direct link to Execution: execute" translate="no"></a></h2>
<p>All Level 3 workflows execute via <code>execute</code>:</p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#bfc7d5"><span class="token plain">/workflow:execute </span><span class="token parameter variable" style="color:rgb(191, 199, 213)">--session</span><span class="token plain"> WFS-</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain">session-id</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_SAay" id="key-features">Key Features<a href="#key-features" class="hash-link" aria-label="Direct link to Key Features" title="Direct link to Key Features" translate="no"></a></h3>
<ul>
<li class=""><strong>Dependency analysis</strong> - Automatic task dependency resolution</li>
<li class=""><strong>Parallel execution</strong> - Independent tasks run in parallel</li>
<li class=""><strong>Progress tracking</strong> - Session-based TODO updates</li>
<li class=""><strong>Summaries</strong> - Task completion summaries for dependent tasks</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_SAay" id="related-workflows">Related Workflows<a href="#related-workflows" class="hash-link" aria-label="Direct link to Related Workflows" title="Direct link to Related Workflows" translate="no"></a></h2>
<ul>
<li class=""><a class="" href="/docs/docs/workflows/level-2-rapid">Level 2: Rapid</a> - Simpler workflow</li>
<li class=""><a class="" href="/docs/docs/workflows/level-4-brainstorm">Level 4: Brainstorm</a> - Multi-role exploration</li>
<li class=""><a class="" href="/docs/docs/workflows/level-5-intelligent">Level 5: Intelligent</a> - Automated orchestration</li>
<li class=""><a class="" href="/docs/docs/workflows/faq">FAQ</a> - Common questions</li>
</ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_HJkF"><a href="https://github.com/ccw/docs/tree/main/docs/workflows/level-3-standard.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_UohW" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/docs/workflows/level-2-rapid"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Level 2: Rapid</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/docs/workflows/level-4-brainstorm"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Level 4: Brainstorm</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#overview" class="table-of-contents__link toc-highlight">Overview</a></li><li><a href="#included-workflows" class="table-of-contents__link toc-highlight">Included Workflows</a><ul><li><a href="#common-characteristics" class="table-of-contents__link toc-highlight">Common Characteristics</a></li></ul></li><li><a href="#workflow-1-plan---verify---execute" class="table-of-contents__link toc-highlight">Workflow 1: plan -&gt; verify -&gt; execute</a><ul><li><a href="#command" class="table-of-contents__link toc-highlight">Command</a></li><li><a href="#flow-diagram" class="table-of-contents__link toc-highlight">Flow Diagram</a></li><li><a href="#process-phases" class="table-of-contents__link toc-highlight">Process Phases</a></li><li><a href="#artifacts" class="table-of-contents__link toc-highlight">Artifacts</a></li><li><a href="#use-cases" class="table-of-contents__link toc-highlight">Use Cases</a></li></ul></li><li><a href="#workflow-2-tdd-plan---execute---tdd-verify" class="table-of-contents__link toc-highlight">Workflow 2: tdd-plan -&gt; execute -&gt; tdd-verify</a><ul><li><a href="#command-1" class="table-of-contents__link toc-highlight">Command</a></li><li><a href="#flow-diagram-1" class="table-of-contents__link toc-highlight">Flow Diagram</a></li><li><a href="#process-phases-1" class="table-of-contents__link toc-highlight">Process Phases</a></li><li><a href="#tdd-task-structure" class="table-of-contents__link toc-highlight">TDD Task Structure</a></li><li><a href="#the-iron-law" class="table-of-contents__link toc-highlight">The Iron Law</a></li><li><a href="#use-cases-1" class="table-of-contents__link toc-highlight">Use Cases</a></li></ul></li><li><a href="#workflow-3-test-fix-gen---test-cycle-execute" class="table-of-contents__link toc-highlight">Workflow 3: test-fix-gen -&gt; test-cycle-execute</a><ul><li><a href="#command-2" class="table-of-contents__link toc-highlight">Command</a></li><li><a href="#flow-diagram-2" class="table-of-contents__link toc-highlight">Flow Diagram</a></li><li><a href="#process-phases-2" class="table-of-contents__link toc-highlight">Process Phases</a></li><li><a href="#dual-mode-support" class="table-of-contents__link toc-highlight">Dual-Mode Support</a></li><li><a href="#artifacts-1" class="table-of-contents__link toc-highlight">Artifacts</a></li><li><a href="#use-cases-2" class="table-of-contents__link toc-highlight">Use Cases</a></li></ul></li><li><a href="#level-3-comparison-table" class="table-of-contents__link toc-highlight">Level 3 Comparison Table</a></li><li><a href="#execution-execute" class="table-of-contents__link toc-highlight">Execution: execute</a><ul><li><a href="#key-features" class="table-of-contents__link toc-highlight">Key Features</a></li></ul></li><li><a href="#related-workflows" class="table-of-contents__link toc-highlight">Related Workflows</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2026 CCW. Built with Docusaurus.</div></div></div></footer></div>
</body>
</html>