yaaw-se 0.3.1 → 0.3.2-dev.36167912622.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/README.md +118 -82
  2. package/dist/cli/commands/install.d.ts +0 -10
  3. package/dist/cli/commands/install.js +19 -132
  4. package/dist/cli/commands/install.js.map +1 -1
  5. package/dist/cli/commands/status.d.ts +2 -32
  6. package/dist/cli/commands/status.js +0 -5
  7. package/dist/cli/commands/status.js.map +1 -1
  8. package/dist/cli/main.js +5 -27
  9. package/dist/cli/main.js.map +1 -1
  10. package/dist/installer/detect.js +1 -8
  11. package/dist/installer/detect.js.map +1 -1
  12. package/dist/installer/manifest.js +12 -45
  13. package/dist/installer/manifest.js.map +1 -1
  14. package/dist/installer/migrations/index.d.ts +3 -6
  15. package/dist/installer/migrations/index.js +2 -3
  16. package/dist/installer/migrations/index.js.map +1 -1
  17. package/dist/installer/migrations/installation/index.d.ts +2 -9
  18. package/dist/installer/migrations/installation/index.js +2 -21
  19. package/dist/installer/migrations/installation/index.js.map +1 -1
  20. package/dist/installer/plan.d.ts +1 -43
  21. package/dist/installer/plan.js +10 -195
  22. package/dist/installer/plan.js.map +1 -1
  23. package/dist/installer/project-state.js +1 -1
  24. package/dist/installer/project-state.js.map +1 -1
  25. package/dist/installer/status.d.ts +2 -32
  26. package/dist/installer/status.js +34 -96
  27. package/dist/installer/status.js.map +1 -1
  28. package/dist/installer/transaction.js +11 -61
  29. package/dist/installer/transaction.js.map +1 -1
  30. package/dist/installer/types.d.ts +9 -65
  31. package/dist/installer/verify.js +12 -12
  32. package/dist/installer/verify.js.map +1 -1
  33. package/dist/integrations/claude-code.js +0 -1
  34. package/dist/integrations/claude-code.js.map +1 -1
  35. package/dist/integrations/codex.d.ts +1 -2
  36. package/dist/integrations/codex.js +3 -152
  37. package/dist/integrations/codex.js.map +1 -1
  38. package/dist/integrations/gemini-cli.js +0 -1
  39. package/dist/integrations/gemini-cli.js.map +1 -1
  40. package/dist/integrations/helpers.d.ts +0 -1
  41. package/dist/integrations/helpers.js +0 -1
  42. package/dist/integrations/helpers.js.map +1 -1
  43. package/dist/integrations/registry.d.ts +0 -2
  44. package/dist/integrations/registry.js +4 -21
  45. package/dist/integrations/registry.js.map +1 -1
  46. package/dist/integrations/types.d.ts +0 -40
  47. package/dist/payload/bootstrap/claude-code.md +3 -3
  48. package/dist/payload/bootstrap/cline.md +3 -3
  49. package/dist/payload/bootstrap/codex.md +4 -6
  50. package/dist/payload/bootstrap/gemini-cli.md +3 -3
  51. package/dist/payload/payload-files.json +290 -270
  52. package/dist/payload/payload.json +1 -1
  53. package/dist/payload/skills/yaaw-create-spec/SKILL.md +1 -1
  54. package/dist/payload/skills/yaaw-create-ticket/SKILL.md +1 -1
  55. package/dist/payload/skills/yaaw-create-tickets/SKILL.md +1 -1
  56. package/dist/payload/skills/yaaw-implement/SKILL.md +1 -1
  57. package/dist/payload/skills/yaaw-orchestrator/SKILL.md +1 -1
  58. package/dist/payload/skills/yaaw-planner/SKILL.md +1 -1
  59. package/dist/payload/skills/yaaw-planning-review/SKILL.md +1 -1
  60. package/dist/payload/skills/yaaw-prd/SKILL.md +1 -1
  61. package/dist/payload/skills/yaaw-refine-prd/SKILL.md +1 -1
  62. package/dist/payload/skills/yaaw-repair/SKILL.md +1 -1
  63. package/dist/payload/skills/yaaw-review/SKILL.md +1 -1
  64. package/dist/payload/skills/yaaw-revise-prd/SKILL.md +1 -1
  65. package/dist/payload/yaaw-core/{system/core → core}/artifact-model.md +5 -5
  66. package/dist/payload/yaaw-core/{system/core → core}/authority.md +1 -1
  67. package/dist/payload/yaaw-core/core/context-loading.md +23 -0
  68. package/dist/payload/yaaw-core/core/execution-context.md +49 -0
  69. package/dist/payload/yaaw-core/core/framework-integrity.md +77 -0
  70. package/dist/payload/yaaw-core/core/invalidation.md +37 -0
  71. package/dist/payload/yaaw-core/{system/core → core}/io-contract.md +5 -10
  72. package/dist/payload/yaaw-core/core/lifecycle.md +28 -0
  73. package/dist/payload/yaaw-core/core/recovery.md +28 -0
  74. package/dist/payload/yaaw-core/core/routing.md +34 -0
  75. package/dist/payload/yaaw-core/{system/core → core}/state-model.md +1 -1
  76. package/dist/payload/yaaw-core/core/transitions.md +26 -0
  77. package/dist/payload/yaaw-core/{system/expertise → expertise}/changeability/MODULE.md +1 -1
  78. package/dist/payload/yaaw-core/registries/execution-policy.json +38 -0
  79. package/dist/payload/yaaw-core/{system/registries → registries}/expertise.json +5 -5
  80. package/dist/payload/yaaw-core/{system/registries → registries}/paths.json +1 -2
  81. package/dist/payload/yaaw-core/{system/registries → registries}/routing-policy.json +24 -24
  82. package/dist/payload/yaaw-core/{system/registries → registries}/transitions.json +8 -8
  83. package/dist/payload/yaaw-core/registries/workflows.json +38 -0
  84. package/dist/payload/yaaw-core/{system/roles → roles}/implementer.md +4 -3
  85. package/dist/payload/yaaw-core/roles/orchestrator.md +25 -0
  86. package/dist/payload/yaaw-core/{system/roles → roles}/planner.md +7 -6
  87. package/dist/payload/yaaw-core/{system/roles → roles}/prd.md +1 -4
  88. package/dist/payload/yaaw-core/{system/roles → roles}/reviewer.md +6 -3
  89. package/dist/payload/yaaw-core/{system/rules → rules}/question-format.md +1 -1
  90. package/dist/payload/yaaw-core/rules/repository-identity.md +32 -0
  91. package/dist/payload/yaaw-core/{system/rules → rules}/research-admission.md +1 -1
  92. package/dist/payload/yaaw-core/{system/rules → rules}/review-independence.md +0 -2
  93. package/dist/payload/yaaw-core/schemas/evidence-v1.schema.json +98 -0
  94. package/dist/payload/yaaw-core/schemas/evidence-v2.schema.json +102 -0
  95. package/dist/payload/yaaw-core/schemas/evidence.schema.json +25 -0
  96. package/dist/payload/yaaw-core/{system/schemas → schemas}/handoff.schema.json +42 -97
  97. package/dist/payload/yaaw-core/{system/schemas → schemas}/observed-state.schema.json +88 -91
  98. package/dist/payload/yaaw-core/schemas/repository-identity.schema.json +132 -0
  99. package/dist/payload/yaaw-core/schemas/review-v1.schema.json +65 -0
  100. package/dist/payload/yaaw-core/schemas/review-v2.schema.json +78 -0
  101. package/dist/payload/yaaw-core/schemas/review.schema.json +32 -0
  102. package/dist/payload/yaaw-core/templates/evidence.json +29 -0
  103. package/dist/payload/yaaw-core/{system/templates → templates}/handoff.json +14 -5
  104. package/dist/payload/yaaw-core/{system/templates → templates}/observed-state.json +16 -4
  105. package/dist/payload/yaaw-core/templates/review.md +37 -0
  106. package/dist/payload/yaaw-core/{system/tools → tools}/framework-integrity.mjs +24 -7
  107. package/dist/payload/yaaw-core/tools/repository-identity.mjs +84 -0
  108. package/dist/payload/yaaw-core/{system/workflows → workflows}/implementation/implement-ticket.md +5 -1
  109. package/dist/payload/yaaw-core/{system/workflows → workflows}/implementation/repair-ticket.md +5 -1
  110. package/dist/payload/yaaw-core/{system/workflows → workflows}/implementation/verify-ticket.md +5 -1
  111. package/dist/payload/yaaw-core/{system/workflows → workflows}/orchestration/determine-next-action.md +9 -5
  112. package/dist/payload/yaaw-core/workflows/orchestration/dispatch.md +27 -0
  113. package/dist/payload/yaaw-core/{system/workflows → workflows}/orchestration/inspect-state.md +8 -4
  114. package/dist/payload/yaaw-core/{system/workflows → workflows}/orchestration/reconcile-state.md +4 -0
  115. package/dist/payload/yaaw-core/{system/workflows → workflows}/orchestration/recover-interruption.md +4 -0
  116. package/dist/payload/yaaw-core/{system/workflows → workflows}/orchestration/route.md +7 -5
  117. package/dist/payload/yaaw-core/{system/workflows → workflows}/planning/create-tickets.md +1 -1
  118. package/dist/payload/yaaw-core/{system/workflows → workflows}/planning/decision-frontier.md +1 -1
  119. package/dist/payload/yaaw-core/{system/workflows → workflows}/planning/discover.md +2 -2
  120. package/dist/payload/yaaw-core/{system/workflows → workflows}/planning/question-round.md +1 -1
  121. package/dist/payload/yaaw-core/{system/workflows → workflows}/planning/readiness-review.md +1 -1
  122. package/dist/payload/yaaw-core/{system/workflows → workflows}/planning/record-decisions.md +1 -1
  123. package/dist/payload/yaaw-core/{system/workflows → workflows}/planning/replan.md +4 -0
  124. package/dist/payload/yaaw-core/{system/workflows → workflows}/planning/research.md +1 -1
  125. package/dist/payload/yaaw-core/{system/workflows → workflows}/planning/route.md +5 -1
  126. package/dist/payload/yaaw-core/{system/workflows → workflows}/planning/write-understanding.md +1 -1
  127. package/dist/payload/yaaw-core/{system/workflows → workflows}/prd/create.md +2 -2
  128. package/dist/payload/yaaw-core/{system/workflows → workflows}/prd/question-round.md +1 -1
  129. package/dist/payload/yaaw-core/{system/workflows → workflows}/prd/readiness.md +1 -1
  130. package/dist/payload/yaaw-core/{system/workflows → workflows}/prd/record-decisions.md +2 -2
  131. package/dist/payload/yaaw-core/{system/workflows → workflows}/prd/refine.md +1 -1
  132. package/dist/payload/yaaw-core/{system/workflows → workflows}/prd/revise.md +2 -2
  133. package/dist/payload/yaaw-core/{system/workflows → workflows}/prd/route.md +1 -1
  134. package/dist/payload/yaaw-core/{system/workflows → workflows}/review/inspect-change.md +4 -0
  135. package/dist/payload/yaaw-core/{system/workflows → workflows}/review/record-review.md +4 -0
  136. package/dist/payload/yaaw-core/{system/workflows → workflows}/review/review-ticket.md +5 -1
  137. package/dist/tui/confirm-plan.js +12 -52
  138. package/dist/tui/confirm-plan.js.map +1 -1
  139. package/dist/tui/result.d.ts +1 -10
  140. package/dist/tui/result.js +4 -81
  141. package/dist/tui/result.js.map +1 -1
  142. package/package.json +1 -2
  143. package/dist/cli/commands/config.d.ts +0 -50
  144. package/dist/cli/commands/config.js +0 -219
  145. package/dist/cli/commands/config.js.map +0 -1
  146. package/dist/installer/configuration.d.ts +0 -33
  147. package/dist/installer/configuration.js +0 -149
  148. package/dist/installer/configuration.js.map +0 -1
  149. package/dist/installer/migrations/installation/v2-to-v3.d.ts +0 -2
  150. package/dist/installer/migrations/installation/v2-to-v3.js +0 -19
  151. package/dist/installer/migrations/installation/v2-to-v3.js.map +0 -1
  152. package/dist/installer/toml-managed.d.ts +0 -7
  153. package/dist/installer/toml-managed.js +0 -192
  154. package/dist/installer/toml-managed.js.map +0 -1
  155. package/dist/integrations/codex-catalog.d.ts +0 -25
  156. package/dist/integrations/codex-catalog.js +0 -76
  157. package/dist/integrations/codex-catalog.js.map +0 -1
  158. package/dist/integrations/codex-runtime.d.ts +0 -25
  159. package/dist/integrations/codex-runtime.js +0 -85
  160. package/dist/integrations/codex-runtime.js.map +0 -1
  161. package/dist/payload/integrations/codex/yaaw-runtime.md +0 -66
  162. package/dist/payload/yaaw-core/system/core/context-loading.md +0 -52
  163. package/dist/payload/yaaw-core/system/core/dispatch-execution.md +0 -37
  164. package/dist/payload/yaaw-core/system/core/execution-context.md +0 -53
  165. package/dist/payload/yaaw-core/system/core/framework-integrity.md +0 -60
  166. package/dist/payload/yaaw-core/system/core/invalidation.md +0 -27
  167. package/dist/payload/yaaw-core/system/core/lifecycle.md +0 -33
  168. package/dist/payload/yaaw-core/system/core/recovery.md +0 -29
  169. package/dist/payload/yaaw-core/system/core/routing.md +0 -36
  170. package/dist/payload/yaaw-core/system/core/transitions.md +0 -39
  171. package/dist/payload/yaaw-core/system/registries/execution-policy.json +0 -169
  172. package/dist/payload/yaaw-core/system/registries/workflows.json +0 -38
  173. package/dist/payload/yaaw-core/system/roles/orchestrator.md +0 -22
  174. package/dist/payload/yaaw-core/system/rules/repository-identity.md +0 -28
  175. package/dist/payload/yaaw-core/system/schemas/evidence.schema.json +0 -36
  176. package/dist/payload/yaaw-core/system/schemas/review.schema.json +0 -19
  177. package/dist/payload/yaaw-core/system/templates/evidence.json +0 -12
  178. package/dist/payload/yaaw-core/system/templates/review.md +0 -28
  179. package/dist/payload/yaaw-core/system/workflows/orchestration/dispatch.md +0 -28
  180. package/dist/tui/configuration-updates.d.ts +0 -4
  181. package/dist/tui/configuration-updates.js +0 -37
  182. package/dist/tui/configuration-updates.js.map +0 -1
  183. package/dist/tui/configure-codex.d.ts +0 -4
  184. package/dist/tui/configure-codex.js +0 -369
  185. package/dist/tui/configure-codex.js.map +0 -1
  186. package/dist/tui/configure-integration.d.ts +0 -2
  187. package/dist/tui/configure-integration.js +0 -9
  188. package/dist/tui/configure-integration.js.map +0 -1
  189. package/dist/tui/confirm-configuration.d.ts +0 -10
  190. package/dist/tui/confirm-configuration.js +0 -36
  191. package/dist/tui/confirm-configuration.js.map +0 -1
  192. package/dist/tui/navigation.d.ts +0 -11
  193. package/dist/tui/navigation.js +0 -10
  194. package/dist/tui/navigation.js.map +0 -1
  195. /package/dist/payload/yaaw-core/{system/expertise → expertise}/frontend-design/MODULE.md +0 -0
  196. /package/dist/payload/yaaw-core/{system/expertise → expertise}/python/MODULE.md +0 -0
  197. /package/dist/payload/yaaw-core/{system/expertise → expertise}/security/MODULE.md +0 -0
  198. /package/dist/payload/yaaw-core/{system/expertise → expertise}/testing/MODULE.md +0 -0
  199. /package/dist/payload/yaaw-core/{system/registries → registries}/artifacts.json +0 -0
  200. /package/dist/payload/yaaw-core/{system/registries → registries}/role-io.json +0 -0
  201. /package/dist/payload/yaaw-core/{system/registries → registries}/skills.json +0 -0
  202. /package/dist/payload/yaaw-core/{system/rules → rules}/artifact-writing.md +0 -0
  203. /package/dist/payload/yaaw-core/{system/rules → rules}/assumption-challenge.md +0 -0
  204. /package/dist/payload/yaaw-core/{system/rules → rules}/changeability.md +0 -0
  205. /package/dist/payload/yaaw-core/{system/rules → rules}/durable-memory.md +0 -0
  206. /package/dist/payload/yaaw-core/{system/rules → rules}/recovery-evidence.md +0 -0
  207. /package/dist/payload/yaaw-core/{system/rules → rules}/ticket-sizing.md +0 -0
  208. /package/dist/payload/yaaw-core/{system/schemas → schemas}/engineering-research.schema.json +0 -0
  209. /package/dist/payload/yaaw-core/{system/schemas → schemas}/engineering.schema.json +0 -0
  210. /package/dist/payload/yaaw-core/{system/schemas → schemas}/intent.schema.json +0 -0
  211. /package/dist/payload/yaaw-core/{system/schemas → schemas}/product.schema.json +0 -0
  212. /package/dist/payload/yaaw-core/{system/schemas → schemas}/project-state.schema.json +0 -0
  213. /package/dist/payload/yaaw-core/{system/schemas → schemas}/spec.schema.json +0 -0
  214. /package/dist/payload/yaaw-core/{system/schemas → schemas}/ticket.schema.json +0 -0
  215. /package/dist/payload/yaaw-core/{system/templates → templates}/engineering-research.md +0 -0
  216. /package/dist/payload/yaaw-core/{system/templates → templates}/engineering.md +0 -0
  217. /package/dist/payload/yaaw-core/{system/templates → templates}/intent.json +0 -0
  218. /package/dist/payload/yaaw-core/{system/templates → templates}/product.md +0 -0
  219. /package/dist/payload/yaaw-core/{system/templates → templates}/project-state.json +0 -0
  220. /package/dist/payload/yaaw-core/{system/templates → templates}/spec.md +0 -0
  221. /package/dist/payload/yaaw-core/{system/templates → templates}/ticket.md +0 -0
  222. /package/dist/payload/yaaw-core/{system/workflows → workflows}/implementation/select-ticket.md +0 -0
  223. /package/dist/payload/yaaw-core/{system/workflows → workflows}/planning/create-spec.md +0 -0
  224. /package/dist/payload/yaaw-core/{system/workflows → workflows}/review/classify-findings.md +0 -0
package/README.md CHANGED
@@ -1,135 +1,171 @@
1
1
  # YAAW-SE
2
2
 
3
- **Autonomous software engineering with durable context.**
4
-
5
- YAAW-SE turns an idea or change request into planned, implemented, independently reviewed work without making every new AI session start from zero.
3
+ YAAW-SE is an artifact-first autonomous software-engineering workflow with durable project memory and thin coding-tool entrypoints.
6
4
 
7
5
  > **Agents are disposable. Artifacts are durable.**
8
6
 
9
- YAAW keeps product decisions, engineering decisions, specs, tickets, reviews, and evidence in the project so the workflow can reconstruct what is true and continue from there.
10
-
11
- ## Start Building
12
-
13
- **Prerequisite:** Node.js 20.12+
14
-
15
- Run YAAW-SE inside your project:
7
+ ## Install into any project
16
8
 
17
9
  ```bash
10
+ cd my-project
18
11
  npx yaaw-se install
19
12
  ```
20
13
 
21
- Choose the AI coding tools you want to use, finish the installer, then open your project in one of them and invoke:
14
+ The installer defaults to the current directory, lets you select coding tools and public skill entrypoints, previews filesystem changes, and keeps every permanent write inside the selected project.
22
15
 
23
- ```text
24
- yaaw-orchestrator
16
+ Tier-1 integrations:
17
+
18
+ - Codex
19
+ - Claude Code
20
+ - Gemini CLI
21
+ - Cline
22
+
23
+ Headless example:
24
+
25
+ ```bash
26
+ npx yaaw-se install --directory . --tools codex,claude-code --skills standard --yes
25
27
  ```
26
28
 
27
- The Orchestrator inspects the project, determines what is missing or ready, and routes the next valid workflow. Under Codex, orchestrated PRD/Planner/Implementer/Reviewer work runs in fresh authority-worker contexts when the host supports it; durable artifacts remain the source of truth.
29
+ Preview without writing:
28
30
 
29
- You can start with only an idea, an existing codebase, a partially planned feature, or work already in progress.
31
+ ```bash
32
+ npx yaaw-se install --tools codex --dry-run
33
+ ```
30
34
 
31
- ## Why YAAW?
35
+ ## What gets installed
32
36
 
33
- AI coding tools are good at producing code, but long-running software work needs more than a conversation history.
37
+ A consuming project has exactly one canonical YAAW root:
34
38
 
35
- - **Autonomous continuity** — YAAW reconstructs project state and decides what workflow should happen next.
36
- - **Durable context** — Product and engineering decisions survive new chats, new agents, and interrupted sessions.
37
- - **Artifact-first development** — PRDs, specs, tickets, reviews, and evidence become the source of truth.
38
- - **Independent review** — Implementation does not approve itself; review is a separate authority.
39
- - **Repository-aware planning** — Engineering work is grounded in the actual codebase instead of invented assumptions.
40
- - **One workflow from idea to reviewed code** — Plan, implement, review, repair, and continue without manually rebuilding context.
39
+ ```text
40
+ .yaaw-core/
41
+ ├── core/ package-managed workflow contracts
42
+ ├── roles/
43
+ ├── workflows/
44
+ ├── expertise/
45
+ ├── rules/
46
+ ├── registries/
47
+ ├── schemas/
48
+ ├── templates/
49
+ ├── tools/ package-managed integrity/repository utilities
50
+ ├── project/ durable project-owned YAAW memory
51
+ │ ├── product.md
52
+ │ ├── engineering.md
53
+ │ ├── state.json
54
+ │ ├── research/ admitted Planner research (RSH-*)
55
+ │ ├── specs/
56
+ │ ├── tickets/
57
+ │ ├── reviews/
58
+ │ ├── evidence/
59
+ │ └── rules/
60
+ ├── runtime/ replaceable coordination state
61
+ └── install/ installer metadata
62
+ ```
41
63
 
42
- ## How It Flows
64
+ Selected coding tools receive only adapters:
43
65
 
44
66
  ```text
45
- Idea / Change
46
- ↓
47
- PRD
48
- ↓
49
- Engineering Plan
50
- ↓
51
- Spec + Tickets
52
- ↓
53
- Implementation
54
- ↓
55
- Independent Review
56
- ↙ ↓ ↘
57
- Repair Replan Pass
58
- \ | /
59
- Continue
67
+ .agents/skills/yaaw-*/ Codex
68
+ .claude/skills/yaaw-*/ Claude Code
69
+ .gemini/skills/yaaw-*/ Gemini CLI
70
+ .cline/skills/yaaw-*/ Cline
60
71
  ```
61
72
 
62
- You do not need to manually run every stage. In normal use, `yaaw-orchestrator` is the main entrypoint and routes work based on the artifacts already present.
73
+ Codex, Claude Code, and Gemini receive a small managed block in their project instruction file. Cline receives the namespaced `.cline/rules/yaaw-se.md`. Provider folders never contain a second YAAW workflow engine.
74
+
75
+ ## Public YAAW entrypoints
76
+
77
+ Smart entrypoints:
78
+
79
+ - `@yaaw-orchestrator` — reconstruct project reality and choose the next valid workflow.
80
+ - `@yaaw-prd` — create/continue product definition.
81
+ - `@yaaw-planner` — continue repository-backed engineering planning.
82
+ - `@yaaw-implement` — implement one admitted ticket.
83
+ - `@yaaw-review` — independently review current work.
63
84
 
64
- ## Supported AI Coding Tools
85
+ Direct shortcuts:
65
86
 
66
- | Tool | Support |
67
- | --- | --- |
68
- | OpenAI Codex | Supported |
69
- | Claude Code | Supported |
70
- | Gemini CLI | Supported |
71
- | Cline | Supported |
87
+ - `@yaaw-revise-prd`
88
+ - `@yaaw-refine-prd`
89
+ - `@yaaw-planning-review`
90
+ - `@yaaw-create-spec`
91
+ - `@yaaw-create-ticket`
92
+ - `@yaaw-create-tickets`
93
+ - `@yaaw-repair`
72
94
 
73
- Multiple tools can be installed into the same project. They share the same YAAW project memory instead of maintaining separate workflow state.
95
+ The Standard profile exposes all public entrypoints. Core exposes the five smart entrypoints. Custom changes only which shortcuts a coding tool discovers; it never removes canonical workflows from `.yaaw-core`.
74
96
 
75
- ## Useful Entry Points
97
+ ## Update, modify, repair
76
98
 
77
- Most users can stay with `yaaw-orchestrator`.
99
+ Rerun the installer:
78
100
 
79
- | Skill | Use it when |
80
- | --- | --- |
81
- | `yaaw-orchestrator` | You want YAAW to inspect the project and continue the workflow |
82
- | `yaaw-prd` | You want to work directly on product definition |
83
- | `yaaw-planner` | You want to work directly on engineering planning |
84
- | `yaaw-implement` | You want to implement an admitted ticket |
85
- | `yaaw-review` | You want to independently review current work |
101
+ ```bash
102
+ npx yaaw-se install
103
+ ```
86
104
 
87
- The installer can also expose direct shortcuts for revising PRDs, creating specs or tickets, repair work, and planning review.
105
+ Existing installations offer Quick Update, Modify Installation, Repair Installation, or safe Uninstall.
88
106
 
89
- ## Project Memory
107
+ Headless examples:
90
108
 
91
- YAAW stores its project-local state under:
109
+ ```bash
110
+ npx yaaw-se install --action quick-update --yes
111
+ npx yaaw-se install --action modify --tools codex,gemini-cli --skills core --yes
112
+ npx yaaw-se doctor --repair
113
+ ```
92
114
 
93
- ```text
94
- .yaaw-core/
115
+ Managed files are hashed. Normal headless updates fail closed when package-managed files were modified locally. `--force-managed` remains a legacy shorthand for replacement, but incident recovery should prefer:
116
+
117
+ ```bash
118
+ npx yaaw-se install --action repair --conflict-policy backup-replace --yes
95
119
  ```
96
120
 
97
- That includes both the YAAW system and the durable project artifacts it creates. Package updates are designed to refresh the system without replacing your project memory.
121
+ `backup-replace` copies modified package-managed bytes under `.yaaw-core/install/backups/<timestamp>/...` before restoring the package version. Update/modify/repair also invalidate replaceable `.yaaw-core/runtime/` handoff/observation/intent caches. None of these options authorize overwriting `.yaaw-core/project/**`.
98
122
 
99
- ## Manage an Installation
123
+ Safe uninstall removes package-managed framework files and adapters but preserves durable `.yaaw-core/project` data.
100
124
 
101
- Check an installation or configure a provider:
125
+ ## Diagnostics
102
126
 
103
127
  ```bash
104
128
  npx yaaw-se status
105
129
  npx yaaw-se doctor
106
- npx yaaw-se config
107
- npx yaaw-se config codex
108
130
  ```
109
131
 
110
- When installed globally, both `yaaw` and the backward-compatible `yaaw-se` binary are available. Provider configuration is project-local. YAAW may learn about newer provider/model capabilities during a framework update, but it preserves the project's current model/runtime policy until you explicitly reconfigure it.
132
+ `status` reports installation health, managed-file drift, and a dedicated framework-integrity status. `doctor` performs read-only checks for manifest integrity, package framework drift/local overrides, legacy parallel `.yaaw-core/system` layout, path ownership, missing/modified managed files, and the one-root path registry.
111
133
 
112
- Run the installer again to update, change integrations, repair, or safely uninstall YAAW-SE.
134
+ During consumer execution, package-managed framework files are immutable. Orchestrator checks framework integrity before semantic reconciliation or dispatch. If framework bytes/layout are untrusted it stops and requests installer repair; it never edits YAAW's governing contracts to unblock itself.
113
135
 
114
- Package-managed `.yaaw-core/system/**` is immutable during normal YAAW execution. If Orchestrator detects framework drift, it stops before routing semantic work instead of editing its own governing contracts.
136
+ ## Architecture
115
137
 
116
- For an installation whose managed framework files were modified, use backup-and-replace repair:
138
+ Each execution composes **Role** (authority) + **Workflow** (process) + applicable **Shared Rules** + relevant **Expertise**. Shared rules and expertise never grant authority.
117
139
 
118
- ```bash
119
- npx yaaw-se install --action repair --conflict-policy backup-replace --yes
120
- ```
140
+ The npm installer owns distribution mechanics. The YAAW Orchestrator owns semantic lifecycle continuity. Neither is a second implementation of the other.
121
141
 
122
- Modified package bytes are preserved under `.yaaw-core/install/backups/<timestamp>/...` before the package version is restored. Durable `.yaaw-core/project/**` remains untouched, while replaceable runtime handoff/observation/intent caches are regenerated after the framework basis changes.
142
+ See:
123
143
 
124
- To explicitly use the latest published version:
144
+ - `docs/distribution.md`
145
+ - `docs/integrations.md`
146
+ - `docs/releasing.md`
147
+
148
+ ## Development
149
+
150
+ Python still validates the canonical semantic engine during the migration period. The published npm package does not require Python.
125
151
 
126
152
  ```bash
127
- npx yaaw-se@latest install
153
+ python scripts/validate_core.py
154
+ python scripts/validate_behavior.py
155
+ python scripts/behavior_oracle.py
156
+ python scripts/validate_distribution.py
157
+ python -m unittest discover -s tests -v
158
+
159
+ npm ci
160
+ npm test
161
+ npm run build
162
+ npm pack --dry-run
128
163
  ```
129
164
 
130
- ## More
165
+ The dependency graph is committed in `package-lock.json`; CI and release verification use `npm ci`. The first npm release is intentionally published manually.
166
+
167
+ ## Deterministic runtime context
168
+
169
+ YAAW distinguishes the consumer **workspace root** from `.yaaw-core/project/`, the durable **project memory root**. Repository commands are rooted explicitly at the workspace rather than inheriting a provider shell CWD. Product work can continue in an unversioned greenfield directory; workflows that create/review executable code require exact repository identity.
131
170
 
132
- - [Distribution and update behavior](docs/distribution.md)
133
- - [Coding-tool integrations](docs/integrations.md)
134
- - [Codex isolated-worker runtime](docs/codex-runtime.md)
135
- - [Report a bug or request a feature](https://github.com/QuackyPROG/yaaw-SE/issues)
171
+ Planning uses progressive disclosure: routers select one canonical workflow before loading its body/templates/expertise. Vendor-specific research or host skills require an explicit repository/product/engineering/current-candidate basis and material blocking research is stored under `.yaaw-core/project/research/`.
@@ -11,13 +11,6 @@ export interface InstallCommandOptions {
11
11
  listSkills?: boolean;
12
12
  forceManaged?: boolean;
13
13
  conflictPolicy?: ConflictPolicy;
14
- codexRuntime?: string;
15
- codexRootModel?: string;
16
- codexRootReasoning?: string;
17
- codexWorkerModel?: string;
18
- codexWorkerReasoning?: string;
19
- codexMaxAgents?: string;
20
- codexConfig?: string;
21
14
  json?: boolean;
22
15
  }
23
16
  export declare function runInstall(options?: InstallCommandOptions): Promise<string[] | {
@@ -26,8 +19,6 @@ export declare function runInstall(options?: InstallCommandOptions): Promise<str
26
19
  selectedIntegrations: IntegrationId[];
27
20
  selectedSkills: string[];
28
21
  warnings: string[];
29
- configurationSummaries?: import("../../installer/types.js").ConfigurationSummary[];
30
- configurationUpdates?: import("../../installer/types.js").ConfigurationUpdate[];
31
22
  operations: any[];
32
23
  } | {
33
24
  action: "fresh" | "modify" | "quick-update" | "repair";
@@ -46,5 +37,4 @@ export declare function runInstall(options?: InstallCommandOptions): Promise<str
46
37
  tools: IntegrationId[];
47
38
  skills: string[];
48
39
  changed: string[];
49
- configurationUpdates: import("../../installer/types.js").ConfigurationUpdate[];
50
40
  } | undefined>;
@@ -1,6 +1,6 @@
1
1
  import * as p from "@clack/prompts";
2
2
  import { access, readFile } from "node:fs/promises";
3
- import { join, resolve } from "node:path";
3
+ import { join } from "node:path";
4
4
  import { detectExistingInstallation } from "../../installer/detect.js";
5
5
  import { packageVersion, payloadRoot as getPayloadRoot } from "../../installer/context.js";
6
6
  import { buildInstallPlan, ManagedConflictError, resolveSkillSelection } from "../../installer/plan.js";
@@ -8,20 +8,14 @@ import { MANIFEST_RELATIVE_PATH, serializeManifest } from "../../installer/manif
8
8
  import { resolveProjectRoot } from "../../installer/boundary.js";
9
9
  import { executePlan, preflightPlan } from "../../installer/transaction.js";
10
10
  import { verifyInstalledState } from "../../installer/verify.js";
11
- import { getIntegration, integrationIds } from "../../integrations/registry.js";
11
+ import { integrationIds } from "../../integrations/registry.js";
12
12
  import semver from "semver";
13
13
  import { selectDirectory } from "../../tui/select-directory.js";
14
14
  import { selectTools } from "../../tui/select-tools.js";
15
15
  import { selectSkills } from "../../tui/select-skills.js";
16
16
  import { selectExistingAction } from "../../tui/existing-install.js";
17
17
  import { confirmPlan, formatPlan } from "../../tui/confirm-plan.js";
18
- import { formatSuccess, showSuccess } from "../../tui/result.js";
19
- import { configureIntegration } from "../../tui/configure-integration.js";
20
- import { detectConfigurationUpdates } from "../../installer/configuration.js";
21
- import { migrateInstallationManifest } from "../../installer/migrations/installation/index.js";
22
- import { promptConfigurationUpdates, formatConfigurationUpdates } from "../../tui/configuration-updates.js";
23
- import { configureProjectIntegration } from "./config.js";
24
- import { defaultCodexRuntimeSettings, normalizeCodexRuntimeSettings, parseCodexInstallConfig } from "../../integrations/codex-runtime.js";
18
+ import { showSuccess } from "../../tui/result.js";
25
19
  function parseTools(raw) {
26
20
  if (!raw)
27
21
  return [];
@@ -31,53 +25,6 @@ function parseTools(raw) {
31
25
  throw new Error(`Unknown tool IDs: ${unknown.join(", ")}`);
32
26
  return [...new Set(values)];
33
27
  }
34
- function inheritValue(value) {
35
- if (value === undefined)
36
- return undefined;
37
- return value === "inherit" ? null : value;
38
- }
39
- async function resolveCodexRuntime(options, existing, currentProfile, interactive, action) {
40
- let settings = normalizeCodexRuntimeSettings(existing ?? defaultCodexRuntimeSettings());
41
- if (options.codexConfig) {
42
- const file = resolve(options.codexConfig);
43
- settings = parseCodexInstallConfig(JSON.parse(await readFile(file, "utf8")));
44
- }
45
- const overlay = {};
46
- if (options.codexRuntime !== undefined)
47
- overlay.mode = options.codexRuntime;
48
- const rootModel = inheritValue(options.codexRootModel);
49
- const rootReasoning = inheritValue(options.codexRootReasoning);
50
- if (rootModel !== undefined || rootReasoning !== undefined) {
51
- overlay.orchestrator = {
52
- ...(rootModel !== undefined ? { model: rootModel } : {}),
53
- ...(rootReasoning !== undefined ? { reasoning: rootReasoning } : {})
54
- };
55
- }
56
- const workerModel = inheritValue(options.codexWorkerModel);
57
- const workerReasoning = inheritValue(options.codexWorkerReasoning);
58
- if (workerModel !== undefined || workerReasoning !== undefined) {
59
- overlay.defaultWorker = {
60
- ...(workerModel !== undefined ? { model: workerModel } : {}),
61
- ...(workerReasoning !== undefined ? { reasoning: workerReasoning } : {})
62
- };
63
- }
64
- if (options.codexMaxAgents !== undefined)
65
- overlay.maxConcurrentThreads = options.codexMaxAgents === "inherit" ? null : options.codexMaxAgents;
66
- settings = normalizeCodexRuntimeSettings(overlay, settings);
67
- const explicit = Boolean(options.codexConfig || options.codexRuntime !== undefined || options.codexRootModel !== undefined ||
68
- options.codexRootReasoning !== undefined || options.codexWorkerModel !== undefined ||
69
- options.codexWorkerReasoning !== undefined || options.codexMaxAgents !== undefined);
70
- const capability = getIntegration("codex").configuration;
71
- if (interactive && !explicit && (action === "fresh" || action === "modify")) {
72
- return configureIntegration("codex", settings, {
73
- reason: action === "fresh" ? "fresh" : "modify",
74
- availableRevision: capability.revision,
75
- pendingChanges: capability.changes.filter(change => change.revision > (currentProfile?.revision ?? 0)),
76
- currentProfile: currentProfile ?? null
77
- });
78
- }
79
- return { settings, profile: currentProfile ?? { id: explicit ? "custom" : "inherit", revision: capability.revision } };
80
- }
81
28
  async function legacyExists(root) {
82
29
  try {
83
30
  await access(join(root, ".yaaw"));
@@ -123,7 +70,6 @@ export async function runInstall(options = {}) {
123
70
  : (options.directory ?? process.cwd());
124
71
  const projectRoot = await resolveProjectRoot(requested);
125
72
  const existing = await detectExistingInstallation(projectRoot);
126
- const installedManifest = existing.manifest ? migrateInstallationManifest(existing.manifest) : null;
127
73
  if (await legacyExists(projectRoot)) {
128
74
  throw new Error("Legacy .yaaw project state detected. Automatic migration is intentionally not performed; move/validate it before installing the one-root distribution.");
129
75
  }
@@ -158,14 +104,13 @@ export async function runInstall(options = {}) {
158
104
  const makeUninstallContext = async () => ({
159
105
  packageVersion: await packageVersion(), payloadRoot, requestedDirectory: requested, projectRoot,
160
106
  mode: interactive ? "interactive" : "headless", selectedIntegrations: [], selectedSkills: [],
161
- integrationSettings: {},
162
107
  action, dryRun: Boolean(options.dryRun), forceManaged: Boolean(options.forceManaged),
163
108
  conflictPolicy
164
109
  });
165
110
  let ctx = await makeUninstallContext();
166
111
  let uninstallBuilt;
167
112
  try {
168
- uninstallBuilt = await buildInstallPlan(ctx, installedManifest);
113
+ uninstallBuilt = await buildInstallPlan(ctx, existing.manifest);
169
114
  }
170
115
  catch (error) {
171
116
  if (!(error instanceof ManagedConflictError) || !interactive || options.conflictPolicy)
@@ -174,7 +119,7 @@ export async function runInstall(options = {}) {
174
119
  if (conflictPolicy === "fail")
175
120
  throw error;
176
121
  ctx = await makeUninstallContext();
177
- uninstallBuilt = await buildInstallPlan(ctx, installedManifest);
122
+ uninstallBuilt = await buildInstallPlan(ctx, existing.manifest);
178
123
  }
179
124
  const { plan } = uninstallBuilt;
180
125
  if (options.dryRun) {
@@ -190,11 +135,11 @@ export async function runInstall(options = {}) {
190
135
  return;
191
136
  }
192
137
  let tools = parseTools(options.tools);
193
- if (!tools.length && installedManifest && ["quick-update", "repair"].includes(action)) {
194
- tools = Object.keys(installedManifest.integrations);
138
+ if (!tools.length && existing.manifest && ["quick-update", "repair"].includes(action)) {
139
+ tools = Object.keys(existing.manifest.integrations);
195
140
  }
196
141
  if (interactive && (action === "fresh" || action === "modify")) {
197
- tools = await selectTools(projectRoot, tools.length ? tools : Object.keys(installedManifest?.integrations ?? {}));
142
+ tools = await selectTools(projectRoot, tools.length ? tools : Object.keys(existing.manifest?.integrations ?? {}));
198
143
  }
199
144
  if (!tools.length) {
200
145
  throw new Error("Fresh/headless installation requires --tools; no provider is guessed.");
@@ -202,57 +147,16 @@ export async function runInstall(options = {}) {
202
147
  let skills;
203
148
  if (options.skills)
204
149
  skills = await resolveSkillSelection(payloadRoot, options.skills);
205
- else if (installedManifest && ["quick-update", "repair"].includes(action))
150
+ else if (existing.manifest && ["quick-update", "repair"].includes(action))
206
151
  skills = existing.manifest.skills;
207
152
  else if (interactive)
208
- skills = await selectSkills(payloadRoot, installedManifest?.skills);
153
+ skills = await selectSkills(payloadRoot, existing.manifest?.skills);
209
154
  else
210
155
  skills = await resolveSkillSelection(payloadRoot, "standard");
211
- const integrationSettings = {};
212
- const integrationProfiles = {};
213
- for (const integrationId of tools) {
214
- const adapter = getIntegration(integrationId);
215
- const capability = adapter.configuration;
216
- if (!capability)
217
- continue;
218
- const record = installedManifest?.integrations?.[integrationId];
219
- let selection;
220
- if (integrationId === "codex") {
221
- selection = await resolveCodexRuntime(options, record?.configuration?.settings ?? record?.runtime, record?.configuration?.profile, interactive, action);
222
- }
223
- else {
224
- const currentSettings = capability.normalize(record?.configuration?.settings ?? capability.defaultSettings());
225
- if (interactive && (action === "fresh" || action === "modify") && capability.configureInteractive) {
226
- selection = await configureIntegration(integrationId, currentSettings, {
227
- reason: action === "fresh" ? "fresh" : "modify",
228
- availableRevision: capability.revision,
229
- pendingChanges: capability.changes.filter(change => change.revision > (record?.configuration?.appliedRevision ?? 0)),
230
- currentProfile: record?.configuration?.profile ?? null
231
- });
232
- }
233
- else {
234
- selection = {
235
- settings: currentSettings,
236
- profile: record?.configuration?.profile ?? { id: "custom", revision: capability.revision }
237
- };
238
- }
239
- }
240
- if (selection.cancelled) {
241
- if (interactive)
242
- p.outro("Installation cancelled.");
243
- return;
244
- }
245
- integrationSettings[integrationId] = selection.settings;
246
- integrationProfiles[integrationId] = selection.profile;
247
- }
248
- const pendingConfigurationUpdates = action === "quick-update" && installedManifest ? detectConfigurationUpdates(installedManifest) : [];
249
156
  let conflictPolicy = options.conflictPolicy ?? (options.forceManaged ? "replace" : "fail");
250
157
  const makeContext = () => ({
251
158
  packageVersion: "", payloadRoot, requestedDirectory: requested, projectRoot,
252
159
  mode: interactive ? "interactive" : "headless", selectedIntegrations: tools, selectedSkills: skills,
253
- integrationSettings,
254
- integrationProfiles,
255
- acknowledgeConfigurationUpdates: interactive && action === "quick-update" ? pendingConfigurationUpdates.map(update => update.integrationId) : [],
256
160
  action, dryRun: Boolean(options.dryRun), forceManaged: Boolean(options.forceManaged), conflictPolicy
257
161
  });
258
162
  const version = await packageVersion();
@@ -263,7 +167,7 @@ export async function runInstall(options = {}) {
263
167
  ctx.packageVersion = version;
264
168
  let built;
265
169
  try {
266
- built = await buildInstallPlan(ctx, installedManifest);
170
+ built = await buildInstallPlan(ctx, existing.manifest);
267
171
  }
268
172
  catch (error) {
269
173
  if (!(error instanceof ManagedConflictError) || !interactive || options.conflictPolicy)
@@ -273,7 +177,7 @@ export async function runInstall(options = {}) {
273
177
  throw error;
274
178
  ctx = makeContext();
275
179
  ctx.packageVersion = version;
276
- built = await buildInstallPlan(ctx, installedManifest);
180
+ built = await buildInstallPlan(ctx, existing.manifest);
277
181
  }
278
182
  await preflightPlan(built.plan);
279
183
  if (options.dryRun) {
@@ -297,30 +201,13 @@ export async function runInstall(options = {}) {
297
201
  manifestContent: serializeManifest(built.manifest),
298
202
  beforeManifest: async () => verifyInstalledState(projectRoot, tools, skills)
299
203
  });
300
- spinner?.stop("Changes applied and verified");
301
- const result = { ok: true, projectRoot, version, tools, skills, changed, configurationUpdates: pendingConfigurationUpdates };
204
+ spinner?.stop("Installation verified");
302
205
  if (options.json)
303
- console.log(JSON.stringify(result, null, 2));
304
- else if (interactive) {
305
- showSuccess({ projectRoot, selected: tools, version, action, changed }, !(action === "quick-update" && pendingConfigurationUpdates.length));
306
- if (action === "quick-update" && pendingConfigurationUpdates.length) {
307
- const configureNow = await promptConfigurationUpdates(pendingConfigurationUpdates);
308
- for (const integrationId of configureNow) {
309
- try {
310
- await configureProjectIntegration({ projectRoot, integrationId, reason: "update", interactive: true, conflictPolicy, showIntro: false });
311
- }
312
- catch (error) {
313
- p.note(`The framework update is complete, but configuration was not applied: ${error.message}`, `${getIntegration(integrationId).displayName} configuration`);
314
- }
315
- }
316
- p.outro("Verified and ready.");
317
- }
318
- }
319
- else {
320
- console.log(formatSuccess({ projectRoot, selected: tools, version, action, changed }));
321
- if (pendingConfigurationUpdates.length)
322
- console.log("\n" + formatConfigurationUpdates(pendingConfigurationUpdates));
323
- }
324
- return result;
206
+ console.log(JSON.stringify({ ok: true, projectRoot, version, tools, skills, changed }, null, 2));
207
+ else if (interactive)
208
+ showSuccess(projectRoot, tools);
209
+ else
210
+ console.log(`YAAW-SE ${version} installed in ${projectRoot}.`);
211
+ return { ok: true, projectRoot, version, tools, skills, changed };
325
212
  }
326
213
  //# sourceMappingURL=install.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,MAAM,EAAS,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACxG,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAgBlD,SAAS,UAAU,CAAC,GAAY;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAkB,CAAC,CAAC,CAAC;IAC/E,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAoB,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,IAAI,CAAC;QAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AACjF,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,SAAmB;IACrD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,8CAA8C;QACvD,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B,EAAE;YACrD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,8BAA8B,EAAE;YAC3D,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,kCAAkC,EAAE;YACtE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE;SACzC;KACF,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACtC,OAAO,MAAwB,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAO,GAA0B,EAAE;IAClE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,cAAc,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACjH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;IACjC,IAAI,WAAW;QAAE,CAAC,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAErF,MAAM,SAAS,GAAG,WAAW;QAC3B,CAAC,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,WAAW,CAAC,CAAC;IAE/D,IAAI,MAAM,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,wJAAwJ,CAAC,CAAC;IAC5K,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAC,cAAc,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,CAAC,CAAC,CAAC;IACvF,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAiB,CAAC,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,gBAAgB,CAAC,CAAC,CAAC;IACpG,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,MAAqB,CAAC;IAC1B,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;SACvC,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACnC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,MAAM,oBAAoB,EAAE,CAAC;YAC9C,IAAI,QAAQ,KAAK,QAAQ;gBAAE,OAAO;YAClC,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;;YAAM,MAAM,GAAG,cAAc,CAAC;IACjC,CAAC;;QAAM,MAAM,GAAG,OAAO,CAAC;IAExB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,gEAAgE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,+IAA+I,CAAC,CAAC;IAC9P,CAAC;IAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,IAAI,cAAc,GAAmB,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3G,MAAM,oBAAoB,GAAG,KAAK,IAA6B,EAAE,CAAC,CAAC;YACjE,cAAc,EAAE,MAAM,cAAc,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW;YAC/F,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,oBAAoB,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE;YAC5F,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;YACpF,cAAc;SACf,CAAC,CAAC;QACH,IAAI,GAAG,GAAG,MAAM,oBAAoB,EAAE,CAAC;QACvC,IAAI,cAAc,CAAC;QACnB,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAoB,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,cAAc;gBAAE,MAAM,KAAK,CAAC;YACpG,cAAc,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,cAAc,KAAK,MAAM;gBAAE,MAAM,KAAK,CAAC;YAC3C,GAAG,GAAG,MAAM,oBAAoB,EAAE,CAAC;YACnC,cAAc,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;QAChC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,IAAI,EAAM,EAAC,EAAE,CAAA,CAAC,EAAC,IAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC,EAAE,CAAC;YACvL,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,WAAW,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO;QACtD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,WAAW;YAAE,CAAC,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAClG,OAAO;IACT,CAAC;IAED,IAAI,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrF,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAoB,CAAC;IACzE,CAAC;IACD,IAAI,WAAW,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC/D,KAAK,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAqB,CAAC,CAAC;IACzI,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,MAAgB,CAAC;IACrB,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;SACjF,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;SACvG,IAAI,WAAW;QAAE,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;;QACrF,MAAM,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAEnE,IAAI,cAAc,GAAmB,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3G,MAAM,WAAW,GAAG,GAAmB,EAAE,CAAC,CAAC;QACzC,cAAc,EAAE,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW;QAC3E,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM;QACnG,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,cAAc;KACrG,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;IACvC,IAAI,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;QACnJ,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,QAAQ,CAAC,WAAW,OAAO,OAAO,GAAG,CAAC,CAAC;IACtG,CAAC;IACD,IAAI,GAAG,GAAG,WAAW,EAAE,CAAC;IACxB,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC;IAE7B,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAoB,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,cAAc;YAAE,MAAM,KAAK,CAAC;QACpG,cAAc,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,cAAc,KAAK,MAAM;YAAE,MAAM,KAAK,CAAC;QAC3C,GAAG,GAAG,WAAW,EAAE,CAAC;QACpB,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC;QAC7B,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG;YACb,MAAM;YACN,WAAW;YACX,KAAK;YACL,MAAM;YACN,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAM,EAAC,EAAE,CAAA,CAAC,EAAE,IAAI,EAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;SACpJ,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,WAAW,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO;IAC5D,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,OAAO,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE;QAC5C,YAAY;QACZ,eAAe,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAS,CAAC;QACnD,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,oBAAoB,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC;KACtE,CAAC,CAAC;IACV,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,EAAE,EAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC;SACpG,IAAI,WAAW;QAAE,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;;QACjD,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,iBAAiB,WAAW,GAAG,CAAC,CAAC;IACpE,OAAO,EAAE,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACnE,CAAC"}