aiox-core 5.0.7 → 5.0.8

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 (191) hide show
  1. package/.aiox-core/cli/commands/pro/buyer.js +379 -0
  2. package/.aiox-core/cli/commands/pro/index.js +191 -52
  3. package/.aiox-core/cli/commands/validate/index.js +2 -0
  4. package/.aiox-core/core/code-intel/helpers/dev-helper.js +1 -1
  5. package/.aiox-core/core/code-intel/helpers/devops-helper.js +0 -1
  6. package/.aiox-core/core/code-intel/helpers/planning-helper.js +1 -1
  7. package/.aiox-core/core/code-intel/helpers/qa-helper.js +2 -2
  8. package/.aiox-core/core/config/schemas/framework-config.schema.json +1 -0
  9. package/.aiox-core/core/config/template-overrides.js +1 -1
  10. package/.aiox-core/core/doctor/checks/ide-sync.js +81 -25
  11. package/.aiox-core/core/doctor/checks/rules-files.js +0 -1
  12. package/.aiox-core/core/doctor/checks/skills-count.js +83 -15
  13. package/.aiox-core/core/graph-dashboard/cli.js +1 -2
  14. package/.aiox-core/core/graph-dashboard/data-sources/code-intel-source.js +1 -1
  15. package/.aiox-core/core/ids/layer-classifier.js +1 -1
  16. package/.aiox-core/core/pro/pro-updater.js +578 -0
  17. package/.aiox-core/core/synapse/context/context-tracker.js +107 -9
  18. package/.aiox-core/core/synapse/layers/layer-processor.js +1 -1
  19. package/.aiox-core/core-config.yaml +15 -1
  20. package/.aiox-core/data/capability-detection.js +15 -15
  21. package/.aiox-core/data/entity-registry.yaml +18 -2
  22. package/.aiox-core/data/registry-update-log.jsonl +5 -0
  23. package/.aiox-core/data/tok3-token-comparison.js +0 -4
  24. package/.aiox-core/data/tool-search-validation.js +1 -1
  25. package/.aiox-core/development/agents/aiox-master.md +44 -6
  26. package/.aiox-core/development/agents/data-engineer.md +4 -4
  27. package/.aiox-core/development/agents/devops.md +52 -2
  28. package/.aiox-core/development/agents/po.md +1 -1
  29. package/.aiox-core/development/agents/qa.md +5 -11
  30. package/.aiox-core/development/agents/sm.md +3 -3
  31. package/.aiox-core/development/agents/ux-design-expert.md +1 -1
  32. package/.aiox-core/development/scripts/unified-activation-pipeline.js +29 -3
  33. package/.aiox-core/development/tasks/dev-develop-story.md +46 -7
  34. package/.aiox-core/development/tasks/devops-pro-access-grant.md +93 -0
  35. package/.aiox-core/development/tasks/devops-pro-activate.md +42 -0
  36. package/.aiox-core/development/tasks/devops-pro-check-access.md +34 -0
  37. package/.aiox-core/development/tasks/devops-pro-request-reset.md +34 -0
  38. package/.aiox-core/development/tasks/devops-pro-resend-verification.md +32 -0
  39. package/.aiox-core/development/tasks/devops-pro-reset-password.md +36 -0
  40. package/.aiox-core/development/tasks/devops-pro-validate-login.md +36 -0
  41. package/.aiox-core/development/tasks/devops-pro-verify-status.md +33 -0
  42. package/.aiox-core/development/tasks/qa-gate.md +54 -4
  43. package/.aiox-core/development/tasks/validate-next-story.md +39 -2
  44. package/.aiox-core/framework-config.yaml +1 -0
  45. package/.aiox-core/infrastructure/scripts/codex-skills-sync/README.md +69 -0
  46. package/.aiox-core/infrastructure/scripts/codex-skills-sync/bootstrap.js +727 -0
  47. package/.aiox-core/infrastructure/scripts/codex-skills-sync/index.js +10 -0
  48. package/.aiox-core/infrastructure/scripts/codex-skills-sync/validate.js +65 -4
  49. package/.aiox-core/infrastructure/scripts/generate-settings-json.js +29 -4
  50. package/.aiox-core/infrastructure/scripts/ide-sync/agent-parser.js +4 -0
  51. package/.aiox-core/infrastructure/scripts/ide-sync/index.js +67 -7
  52. package/.aiox-core/infrastructure/scripts/ide-sync/transformers/claude-code.js +145 -3
  53. package/.aiox-core/infrastructure/scripts/repair-agent-references.js +263 -0
  54. package/.aiox-core/infrastructure/scripts/validate-claude-integration.js +60 -8
  55. package/.aiox-core/infrastructure/scripts/validate-paths.js +13 -0
  56. package/.aiox-core/install-manifest.yaml +134 -82
  57. package/.aiox-core/utils/filters/index.js +2 -1
  58. package/.claude/commands/AIOX/agents/aiox-master.md +21 -0
  59. package/.claude/commands/AIOX/agents/analyst.md +21 -0
  60. package/.claude/commands/AIOX/agents/architect.md +21 -0
  61. package/.claude/commands/AIOX/agents/data-engineer.md +21 -0
  62. package/.claude/commands/AIOX/agents/dev.md +21 -0
  63. package/.claude/commands/AIOX/agents/devops.md +21 -0
  64. package/.claude/commands/AIOX/agents/pm.md +21 -0
  65. package/.claude/commands/AIOX/agents/po.md +21 -0
  66. package/.claude/commands/AIOX/agents/qa.md +21 -0
  67. package/.claude/commands/AIOX/agents/sm.md +21 -0
  68. package/.claude/commands/AIOX/agents/squad-creator.md +21 -0
  69. package/.claude/commands/AIOX/agents/ux-design-expert.md +21 -0
  70. package/.claude/commands/AIOX/scripts/agent-config-loader.js +624 -0
  71. package/.claude/commands/AIOX/scripts/generate-greeting.js +160 -0
  72. package/.claude/commands/AIOX/scripts/greeting-builder.js +866 -0
  73. package/.claude/commands/AIOX/scripts/session-context-loader.js +286 -0
  74. package/.claude/commands/AIOX/stories/story-6.1.4.md +1404 -0
  75. package/.claude/commands/cohort-squad/agents/cohort-manager.md +156 -0
  76. package/.claude/commands/design-system/agents/brad-frost.md +1097 -0
  77. package/.claude/commands/design-system/agents/dan-mall.md +857 -0
  78. package/.claude/commands/design-system/agents/dave-malouf.md +2272 -0
  79. package/.claude/commands/design-system/agents/design-chief.md +102 -0
  80. package/.claude/commands/design-system/agents/nano-banana-generator.md +162 -0
  81. package/.claude/commands/greet.md +101 -0
  82. package/.claude/commands/synapse/manager.md +75 -0
  83. package/.claude/commands/synapse/tasks/add-rule.md +94 -0
  84. package/.claude/commands/synapse/tasks/create-command.md +109 -0
  85. package/.claude/commands/synapse/tasks/create-domain.md +127 -0
  86. package/.claude/commands/synapse/tasks/diagnose-synapse.md +245 -0
  87. package/.claude/commands/synapse/tasks/edit-rule.md +109 -0
  88. package/.claude/commands/synapse/tasks/suggest-domain.md +116 -0
  89. package/.claude/commands/synapse/tasks/toggle-domain.md +83 -0
  90. package/.claude/commands/synapse/templates/domain-template +8 -0
  91. package/.claude/commands/synapse/templates/manifest-entry-template +4 -0
  92. package/.claude/commands/synapse/utils/manifest-parser-reference.md +134 -0
  93. package/.claude/hooks/precompact-session-digest.cjs +2 -2
  94. package/.claude/skills/AIOX/agents/aiox-master/SKILL.md +511 -0
  95. package/.claude/skills/AIOX/agents/analyst/SKILL.md +281 -0
  96. package/.claude/skills/AIOX/agents/architect/SKILL.md +482 -0
  97. package/.claude/skills/AIOX/agents/data-engineer/SKILL.md +503 -0
  98. package/.claude/skills/AIOX/agents/dev/SKILL.md +568 -0
  99. package/.claude/skills/AIOX/agents/devops/SKILL.md +597 -0
  100. package/.claude/skills/AIOX/agents/pm/SKILL.md +385 -0
  101. package/.claude/skills/AIOX/agents/po/SKILL.md +343 -0
  102. package/.claude/skills/AIOX/agents/qa/SKILL.md +451 -0
  103. package/.claude/skills/AIOX/agents/sm/SKILL.md +295 -0
  104. package/.claude/skills/AIOX/agents/squad-creator/SKILL.md +352 -0
  105. package/.claude/skills/AIOX/agents/ux-design-expert/SKILL.md +503 -0
  106. package/.claude/skills/architect-first/SKILL.md +275 -0
  107. package/.claude/skills/architect-first/assets/architecture-template.md +505 -0
  108. package/.claude/skills/architect-first/assets/config-template.yaml +351 -0
  109. package/.claude/skills/architect-first/references/architecture-checklist.md +216 -0
  110. package/.claude/skills/architect-first/references/pre-implementation-checklist.md +119 -0
  111. package/.claude/skills/architect-first/references/stop-rules-guide.md +291 -0
  112. package/.claude/skills/architect-first/references/testing-strategy-guide.md +477 -0
  113. package/.claude/skills/architect-first/scripts/architecture_validator.py +490 -0
  114. package/.claude/skills/architect-first/scripts/check_coupling.py +306 -0
  115. package/.claude/skills/architect-first/scripts/validate_risk_mitigation.py +382 -0
  116. package/.claude/skills/checklist-runner/SKILL.md +113 -0
  117. package/.claude/skills/clone-mind.md +329 -0
  118. package/.claude/skills/coderabbit-review/SKILL.md +106 -0
  119. package/.claude/skills/course-generation-workflow.md +76 -0
  120. package/.claude/skills/enhance-workflow.md +466 -0
  121. package/.claude/skills/mcp-builder/LICENSE.txt +202 -0
  122. package/.claude/skills/mcp-builder/SKILL.md +328 -0
  123. package/.claude/skills/mcp-builder/reference/evaluation.md +602 -0
  124. package/.claude/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
  125. package/.claude/skills/mcp-builder/reference/node_mcp_server.md +916 -0
  126. package/.claude/skills/mcp-builder/reference/python_mcp_server.md +752 -0
  127. package/.claude/skills/mcp-builder/scripts/connections.py +151 -0
  128. package/.claude/skills/mcp-builder/scripts/evaluation.py +373 -0
  129. package/.claude/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  130. package/.claude/skills/mcp-builder/scripts/requirements.txt +2 -0
  131. package/.claude/skills/ralph.md +181 -0
  132. package/.claude/skills/skill-creator/LICENSE.txt +202 -0
  133. package/.claude/skills/skill-creator/SKILL.md +209 -0
  134. package/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
  135. package/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
  136. package/.claude/skills/skill-creator/scripts/quick_validate.py +65 -0
  137. package/.claude/skills/squad.md +301 -0
  138. package/.claude/skills/synapse/SKILL.md +132 -0
  139. package/.claude/skills/synapse/assets/README.md +50 -0
  140. package/.claude/skills/synapse/references/brackets.md +100 -0
  141. package/.claude/skills/synapse/references/commands.md +118 -0
  142. package/.claude/skills/synapse/references/domains.md +126 -0
  143. package/.claude/skills/synapse/references/layers.md +186 -0
  144. package/.claude/skills/synapse/references/manifest.md +142 -0
  145. package/.claude/skills/tech-search/SKILL.md +431 -0
  146. package/.claude/skills/tech-search/prompts/page-extract.md +133 -0
  147. package/README.en.md +2 -2
  148. package/README.md +8 -2
  149. package/bin/aiox.js +55 -4
  150. package/bin/utils/framework-guard.js +4 -2
  151. package/bin/utils/pro-detector.js +119 -28
  152. package/bin/utils/validate-publish.js +6 -6
  153. package/docs/aiox-agent-flows/devops-system.md +18 -0
  154. package/docs/aiox-workflows/README.md +1 -0
  155. package/docs/aiox-workflows/pro-access-grant-workflow.md +218 -0
  156. package/docs/guides/pro/access-grant-ops-playbook.md +370 -0
  157. package/docs/guides/pro/install-gate-setup.md +12 -6
  158. package/docs/guides/pro/squad-creator-handoff-pro-access-ops.md +134 -0
  159. package/docs/guides/supabase-ops-handoff.md +768 -0
  160. package/package.json +12 -1
  161. package/packages/aiox-pro-cli/bin/aiox-pro.js +33 -12
  162. package/packages/installer/src/config/configure-environment.js +118 -50
  163. package/packages/installer/src/installer/aiox-core-installer.js +124 -27
  164. package/packages/installer/src/installer/brownfield-upgrader.js +66 -9
  165. package/packages/installer/src/installer/dependency-installer.js +4 -0
  166. package/packages/installer/src/pro/pro-scaffolder.js +5 -5
  167. package/packages/installer/src/updater/index.js +151 -10
  168. package/packages/installer/src/wizard/ide-config-generator.js +73 -7
  169. package/packages/installer/src/wizard/index.js +119 -31
  170. package/packages/installer/src/wizard/pro-setup.js +118 -47
  171. package/packages/installer/src/wizard/validation/validators/dependency-validator.js +32 -25
  172. package/packages/installer/src/wizard/validation/validators/file-structure-validator.js +26 -0
  173. package/packages/installer/tests/unit/artifact-copy-pipeline/artifact-copy-pipeline.test.js +84 -1
  174. package/packages/installer/tests/unit/claude-md-template-v5/claude-md-template-v5.test.js +1 -1
  175. package/packages/installer/tests/unit/doctor/doctor-checks.test.js +85 -19
  176. package/packages/installer/tests/unit/entity-registry-bootstrap.test.js +4 -4
  177. package/packages/installer/tests/unit/generate-settings-json/generate-settings-json.test.js +5 -5
  178. package/packages/installer/tests/unit/ide-sync-integration/ide-sync-integration.test.js +4 -4
  179. package/packages/installer/tests/unit/merger/yaml-merger.test.js +11 -11
  180. package/pro/README.md +12 -1
  181. package/pro/license/index.js +3 -11
  182. package/pro/license/license-api.js +25 -0
  183. package/pro/license/license-cache.js +135 -31
  184. package/pro/license/license-crypto.js +59 -3
  185. package/pro/package.json +5 -4
  186. package/pro/squads/README.md +16 -16
  187. package/pro/squads/index.js +1 -1
  188. package/scripts/e2e/installed-skills-smoke.js +264 -0
  189. package/scripts/package-synapse.js +3 -3
  190. package/scripts/validate-package-completeness.js +8 -11
  191. package/.aiox-core/lib/build.json +0 -1
@@ -120,7 +120,7 @@ persona:
120
120
 
121
121
  quality_gates:
122
122
  mandatory_checks:
123
- - coderabbit --prompt-only --base main (must have 0 CRITICAL issues)
123
+ - coderabbit --prompt-only --base ${DEFAULT_BRANCH:-main} (must have 0 CRITICAL issues)
124
124
  - npm run lint (must PASS)
125
125
  - npm test (must PASS)
126
126
  - npm run typecheck (must PASS)
@@ -175,6 +175,38 @@ commands:
175
175
  visibility: [full, quick, key]
176
176
  args: '{issue_number}'
177
177
  description: 'Investigate and resolve a GitHub issue end-to-end'
178
+ - name: pro-access-grant
179
+ visibility: [full, quick, key]
180
+ args: '{email} {password} [--reset-password] [--skip-guided-validation]'
181
+ description: 'Grant or restore AIOX Pro access with API validation and optional guided installer validation'
182
+ - name: pro-check-access
183
+ visibility: [full, quick, key]
184
+ args: '{email}'
185
+ description: 'Check AIOX Pro buyer entitlement and account existence via check-email'
186
+ - name: pro-request-reset
187
+ visibility: [full, quick, key]
188
+ args: '{email}'
189
+ description: 'Trigger the password reset email flow for an AIOX Pro account'
190
+ - name: pro-resend-verification
191
+ visibility: [full, quick, key]
192
+ args: '{email}'
193
+ description: 'Resend the AIOX Pro email verification link'
194
+ - name: pro-reset-password
195
+ visibility: [full, quick, key]
196
+ args: '{email} {new_password}'
197
+ description: 'Reset an AIOX Pro password administratively and validate login'
198
+ - name: pro-validate-login
199
+ visibility: [full, quick, key]
200
+ args: '{email} {password}'
201
+ description: 'Validate AIOX Pro login and return auth health signals'
202
+ - name: pro-verify-status
203
+ visibility: [full, quick, key]
204
+ args: '{access_token}'
205
+ description: 'Check AIOX Pro email verification status for an access token'
206
+ - name: pro-activate
207
+ visibility: [full, quick, key]
208
+ args: '{access_token} [machine_id] [version]'
209
+ description: 'Call activate-pro directly to validate or restore AIOX Pro activation'
178
210
  - name: init-project-status
179
211
  visibility: [full]
180
212
  description: 'Initialize dynamic project status tracking (Story 6.1.2.4)'
@@ -272,6 +304,14 @@ dependencies:
272
304
  # GitHub Issues Management
273
305
  - triage-github-issues.md
274
306
  - resolve-github-issue.md
307
+ - devops-pro-access-grant.md
308
+ - devops-pro-check-access.md
309
+ - devops-pro-request-reset.md
310
+ - devops-pro-resend-verification.md
311
+ - devops-pro-reset-password.md
312
+ - devops-pro-validate-login.md
313
+ - devops-pro-verify-status.md
314
+ - devops-pro-activate.md
275
315
  # Worktree Management (Story 1.3-1.4)
276
316
  - create-worktree.md
277
317
  - list-worktrees.md
@@ -324,7 +364,7 @@ dependencies:
324
364
  LOW: Optional improvements, note in comments
325
365
  commands:
326
366
  pre_push_uncommitted: "wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t uncommitted'"
327
- pre_pr_against_main: "wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only --base main'"
367
+ pre_pr_against_main: "wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only --base ${DEFAULT_BRANCH:-main}'"
328
368
  pre_commit_committed: "wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t committed'"
329
369
  execution_guidelines: |
330
370
  CRITICAL: CodeRabbit CLI is installed in WSL, not Windows.
@@ -461,6 +501,14 @@ autoClaude:
461
501
 
462
502
  - `*triage-issues` - Analyze and prioritize open issues
463
503
  - `*resolve-issue {number}` - Investigate and resolve an issue end-to-end
504
+ - `*pro-access-grant {email} {password}` - Grant or restore AIOX Pro access
505
+ - `*pro-check-access {email}` - Check buyer + account state
506
+ - `*pro-request-reset {email}` - Send reset email
507
+ - `*pro-resend-verification {email}` - Resend verification email
508
+ - `*pro-reset-password {email} {new_password}` - Reset password administratively
509
+ - `*pro-validate-login {email} {password}` - Validate login and token issue
510
+ - `*pro-verify-status {access_token}` - Check verification status
511
+ - `*pro-activate {access_token}` - Validate or restore activation
464
512
 
465
513
  **Quality & Push:**
466
514
 
@@ -506,6 +554,8 @@ Type `*help` to see all commands.
506
554
  - Release management and versioning
507
555
  - Repository cleanup
508
556
  - Environment health diagnostics (`*health-check`)
557
+ - AIOX Pro access grant and recovery (`*pro-access-grant`)
558
+ - AIOX Pro point actions (`*pro-check-access`, `*pro-request-reset`, `*pro-resend-verification`, `*pro-reset-password`, `*pro-validate-login`, `*pro-verify-status`, `*pro-activate`)
509
559
 
510
560
  ### Prerequisites
511
561
 
@@ -269,7 +269,7 @@ Type `*help` to see all commands.
269
269
 
270
270
  ## Handoff Protocol
271
271
 
272
- > Reference: [Command Authority Matrix](../../docs/architecture/command-authority-matrix.md)
272
+ > Reference: [Command Authority Matrix](/docs/architecture/command-authority-matrix.md)
273
273
 
274
274
  **Commands I delegate:**
275
275
 
@@ -259,12 +259,6 @@ dependencies:
259
259
  severity_filter:
260
260
  - CRITICAL
261
261
  - HIGH
262
- behavior:
263
- CRITICAL: auto_fix # Auto-fix (3 attempts max)
264
- HIGH: auto_fix # Auto-fix (3 attempts max)
265
- MEDIUM: document_as_debt # Create tech debt issue
266
- LOW: ignore # Note in review, no action
267
-
268
262
  severity_handling:
269
263
  CRITICAL: Block story completion, must fix immediately
270
264
  HIGH: Report in QA gate, recommend fix before merge
@@ -278,7 +272,7 @@ dependencies:
278
272
  max_iterations = 3
279
273
 
280
274
  WHILE iteration < max_iterations:
281
- 1. Run: wsl bash -c 'cd /mnt/c/.../aiox-core && ~/.local/bin/coderabbit --prompt-only -t committed --base main'
275
+ 1. Run: wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t committed --base ${DEFAULT_BRANCH:-main}'
282
276
  2. Parse output for all severity levels
283
277
 
284
278
  critical_issues = filter(output, severity == "CRITICAL")
@@ -292,8 +286,8 @@ dependencies:
292
286
  - BREAK (ready to approve)
293
287
 
294
288
  IF CRITICAL or HIGH issues found:
295
- - Attempt auto-fix for each CRITICAL issue
296
- - Attempt auto-fix for each HIGH issue
289
+ - Request a fix for each CRITICAL issue
290
+ - Request a fix for each HIGH issue
297
291
  - iteration++
298
292
  - CONTINUE loop
299
293
 
@@ -305,7 +299,7 @@ dependencies:
305
299
 
306
300
  commands:
307
301
  qa_pre_review_uncommitted: "wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t uncommitted'"
308
- qa_story_review_committed: "wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t committed --base main'"
302
+ qa_story_review_committed: "wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t committed --base ${DEFAULT_BRANCH:-main}'"
309
303
  execution_guidelines: |
310
304
  CRITICAL: CodeRabbit CLI is installed in WSL, not Windows.
311
305
 
@@ -316,7 +310,7 @@ dependencies:
316
310
 
317
311
  **Timeout:** 30 minutes (1800000ms) - Full review may take longer
318
312
 
319
- **Self-Healing:** Max 3 iterations for CRITICAL and HIGH issues
313
+ **Self-Healing:** Max 3 advisory request iterations for CRITICAL and HIGH issues
320
314
 
321
315
  **Error Handling:**
322
316
  - If "coderabbit: command not found" → verify wsl_config.installation_path
@@ -224,14 +224,14 @@ Type `*help` to see all commands.
224
224
 
225
225
  ## Handoff Protocol
226
226
 
227
- > Reference: [Command Authority Matrix](../../docs/architecture/command-authority-matrix.md)
227
+ > Reference: [Command Authority Matrix](/docs/architecture/command-authority-matrix.md)
228
228
 
229
229
  **Commands I delegate:**
230
230
 
231
231
  | Request | Delegate To | Command |
232
232
  |---------|-------------|---------|
233
- | Push to remote | @devops | `*push` |
234
- | Create PR | @devops | `*create-pr` |
233
+ | Push to remote | @github-devops | `*push` |
234
+ | Create PR | @github-devops | `*create-pr` |
235
235
  | Course correction | @aiox-master | `*correct-course` |
236
236
 
237
237
  **Commands I receive from:**
@@ -294,7 +294,7 @@ workflow:
294
294
  output: 'tokens.yaml, design system structure, migration plan'
295
295
 
296
296
  phase_4_build:
297
- commands: ['*build {atom}', '*compose {molecule}', '*extend {variant}']
297
+ commands: ['*build {component}', '*compose {molecule}', '*extend {component}']
298
298
  output: 'Production-ready components (TypeScript, tests, docs)'
299
299
 
300
300
  phase_5_quality:
@@ -209,7 +209,7 @@ class UnifiedActivationPipeline {
209
209
  const metrics = { loaders: {} };
210
210
 
211
211
  // --- Tier 1: Critical (AgentConfig) ---
212
- const tier1Budget = LOADER_TIERS.critical.timeout;
212
+ const tier1Budget = this._resolveLoaderTimeout('critical', LOADER_TIERS.critical.timeout);
213
213
  const agentComplete = await this._profileLoader('agentConfig', metrics, tier1Budget, () => {
214
214
  const loader = new AgentConfigLoader(agentId);
215
215
  return loader.loadComplete(coreConfig);
@@ -231,7 +231,7 @@ class UnifiedActivationPipeline {
231
231
  }
232
232
 
233
233
  // --- Tier 2: High (PermissionMode + GitConfig) — parallel ---
234
- const tier2Budget = LOADER_TIERS.high.timeout;
234
+ const tier2Budget = this._resolveLoaderTimeout('high', LOADER_TIERS.high.timeout);
235
235
  const elapsedAfterT1 = Date.now() - pipelineStart;
236
236
  const tier2Remaining = Math.max(tier2Budget - elapsedAfterT1, 20);
237
237
 
@@ -277,7 +277,7 @@ class UnifiedActivationPipeline {
277
277
  }
278
278
 
279
279
  // --- Tier 3: Best-effort (SessionContext + ProjectStatus) — parallel ---
280
- const tier3Budget = LOADER_TIERS.bestEffort.timeout;
280
+ const tier3Budget = this._resolveLoaderTimeout('bestEffort', LOADER_TIERS.bestEffort.timeout);
281
281
  const elapsedAfterT2 = Date.now() - pipelineStart;
282
282
  const tier3Remaining = Math.max(tier3Budget - elapsedAfterT2, 20);
283
283
 
@@ -467,6 +467,32 @@ class UnifiedActivationPipeline {
467
467
  return DEFAULT_PIPELINE_TIMEOUT_MS;
468
468
  }
469
469
 
470
+ /**
471
+ * Resolve per-tier loader timeout.
472
+ *
473
+ * Intended mainly for constrained CI/test environments where cold filesystem
474
+ * reads can exceed the production performance budget without indicating a
475
+ * functional activation failure.
476
+ *
477
+ * @private
478
+ * @param {'critical'|'high'|'bestEffort'} tierName
479
+ * @param {number} defaultTimeout
480
+ * @returns {number}
481
+ */
482
+ _resolveLoaderTimeout(tierName, defaultTimeout) {
483
+ const envKey = `AIOX_LOADER_TIMEOUT_${tierName.replace(/([A-Z])/g, '_$1').toUpperCase()}`;
484
+ const envTimeout = process.env[envKey];
485
+
486
+ if (envTimeout) {
487
+ const parsed = parseInt(envTimeout, 10);
488
+ if (!isNaN(parsed) && parsed > 0) {
489
+ return parsed;
490
+ }
491
+ }
492
+
493
+ return defaultTimeout;
494
+ }
495
+
470
496
  /**
471
497
  * Build agent definition from loaded config data.
472
498
  * @private
@@ -370,7 +370,7 @@ const {
370
370
  - All tasks complete
371
371
  - All tests pass
372
372
  - Execute story-dod-checklist
373
- - Set status: "Ready for Review"
373
+ - Set status: "InReview" (see Status Transitions section)
374
374
  - **Generate decision log**:
375
375
  ```javascript
376
376
  const logPath = await completeDecisionLogging(storyId, 'completed');
@@ -416,7 +416,7 @@ const {
416
416
  - All tests pass
417
417
  - Execute story-dod-checklist
418
418
  - Present completion summary to user
419
- - Set status: "Ready for Review"
419
+ - Set status: "InReview" (see Status Transitions section)
420
420
 
421
421
  **User Prompts**: 5-10 (balanced for control and speed)
422
422
 
@@ -467,7 +467,7 @@ const {
467
467
  - All tests pass
468
468
  - Execute story-dod-checklist
469
469
  - Present execution summary vs. plan
470
- - Set status: "Ready for Review"
470
+ - Set status: "InReview" (see Status Transitions section)
471
471
 
472
472
  **User Prompts**: All upfront (questionnaire phase), then 0 during execution
473
473
 
@@ -501,7 +501,7 @@ const {
501
501
  - Completion Notes List
502
502
  - File List
503
503
  - Change Log (add entry on completion)
504
- - Status (set to "Ready for Review" when complete)
504
+ - Status (set to "InReview" when complete — see Status Transitions section)
505
505
 
506
506
  **DO NOT modify**: Story, Acceptance Criteria, Dev Notes, Testing sections
507
507
 
@@ -514,7 +514,7 @@ const {
514
514
  - Missing configuration
515
515
  - Failing regression tests
516
516
 
517
- ### Ready for Review Criteria (All Modes)
517
+ ### InReview Criteria (All Modes)
518
518
 
519
519
  - Code matches all requirements
520
520
  - All validations pass
@@ -530,7 +530,7 @@ const {
530
530
  5. File List is complete
531
531
  6. **Execute CodeRabbit Self-Healing Loop** (see below)
532
532
  7. Execute `.aiox-core/product/checklists/story-dod-checklist.md`
533
- 8. Set story status: "Ready for Review"
533
+ 8. Set story status: "InReview" (see Status Transitions section)
534
534
  9. HALT (do not proceed further)
535
535
 
536
536
  ---
@@ -915,10 +915,49 @@ Found 5 technical decisions needed.
915
915
  - **Educational Value**: Interactive mode explanations help developers learn framework patterns
916
916
  - **Scope Drift Prevention**: Pre-flight mode eliminates mid-development ambiguity
917
917
 
918
+ ## Status Transitions (MANDATORY — All Modes)
919
+
920
+ **Reference:** `.claude/rules/story-lifecycle.md` — @dev owns Ready → InProgress and InProgress → InReview transitions.
921
+
922
+ **These steps MUST be executed at the specified points, regardless of execution mode.**
923
+
924
+ **Change Log format:** Use `{date: YYYY-MM-DD}` and `{version: MAJOR.MINOR.PATCH}`. Version MUST follow semantic bump rules: major for breaking changes, minor for features, patch for fixes/process updates. HALT if either value cannot be resolved deterministically.
925
+
926
+ ### On Development Start (before first task):
927
+
928
+ 0. **Pre-check (blocking):**
929
+ - If current Status is `**InProgress**`, skip to first uncompleted task (resume scenario — no status change needed).
930
+ - If current Status is not `**Ready**` and not `**InProgress**`, HALT and log: "Cannot start development: expected Ready or InProgress, found {current status}."
931
+ - If Change Log section is missing, HALT and request user to restore template structure.
932
+ 1. **Update story Status field:** change `**Ready**` to `**InProgress**` (skip if already InProgress)
933
+ 2. **Add Change Log entry:**
934
+ ```text
935
+ | {date: YYYY-MM-DD} | {version: MAJOR.MINOR.PATCH} | Development started ({mode} mode) — Status: Ready → InProgress | @dev |
936
+ ```
937
+ 3. **Log:** "🚀 Story status updated: Ready → InProgress"
938
+
939
+ ### On Development Complete (after DOD checklist, before HALT):
940
+
941
+ 0. **Pre-check (blocking):**
942
+ - If current Status is not `**InProgress**`, HALT and log: "Cannot mark for review: expected InProgress, found {current status}."
943
+ - If Change Log section is missing, HALT and request user to restore template structure.
944
+ 1. **Update story Status field:** change `**InProgress**` to `**InReview**`
945
+ 2. **Add Change Log entry:**
946
+ ```text
947
+ | {date: YYYY-MM-DD} | {version: MAJOR.MINOR.PATCH} | Development complete — Status: InProgress → InReview | @dev |
948
+ ```
949
+ 3. **Log:** "✅ Story status updated: InProgress → InReview"
950
+
951
+ ### Rationale
952
+
953
+ Status transitions defined in `story-lifecycle.md` are advisory (contextual rules). These steps make them imperative (procedural), ensuring agents always execute the transitions as part of the workflow rather than relying on contextual rule awareness.
954
+
955
+ ---
956
+
918
957
  ## Handoff
919
958
  next_agent: @qa
920
959
  next_command: *review {story-id}
921
- condition: Story status is Ready for Review
960
+ condition: Story status is InReview (updated in Status Transitions above)
922
961
  alternatives:
923
962
  - agent: @qa, command: *gate {story-id}, condition: Quick gate decision needed
924
963
  - agent: @dev, command: *apply-qa-fixes, condition: Self-identified issues during dev
@@ -0,0 +1,93 @@
1
+ # Task: DevOps Pro Access Grant
2
+
3
+ > **Version:** 1.0.0
4
+ > **Created:** 2026-04-20
5
+ > **Type:** SUPPORT-OPS
6
+ > **Agent:** `@devops`
7
+
8
+ ## Purpose
9
+
10
+ Grant, restore, or validate AIOX Pro access for a customer using the live license server, Supabase Auth, and guided installer validation.
11
+
12
+ ## Inputs
13
+
14
+ Required:
15
+
16
+ - `target_email`
17
+ - `target_password`
18
+
19
+ Optional:
20
+
21
+ - `reset_password` (`true|false`, default: `false`)
22
+ - `run_guided_validation` (`true|false`, default: `true` after code changes, `false` for pure entitlement-only support)
23
+ - `source` (default: `manual_support`)
24
+
25
+ ## Source Of Truth
26
+
27
+ - `docs/guides/pro/access-grant-ops-playbook.md`
28
+ - `docs/aiox-workflows/pro-access-grant-workflow.md`
29
+
30
+ ## Execution Order
31
+
32
+ 1. Run `POST /api/v1/auth/check-email` for `target_email`.
33
+ 2. If buyer is missing, upsert `public.buyers` with `source=manual_support` and `is_active=true`.
34
+ 3. If account is missing, create or update the Supabase Auth user with `target_password` and confirmed email.
35
+ 4. If buyer validation is unstable or stale, upsert `public.buyer_validations` with `is_valid=true` for the target `user_id`.
36
+ 5. Validate `login`.
37
+ 6. Validate `verify-status`.
38
+ 7. Validate `activate-pro`.
39
+ 8. If `run_guided_validation=true`, validate:
40
+ - source checkout installer path
41
+ - packaged tarball installer path
42
+ 9. Attach evidence and close the support request.
43
+
44
+ ## Mandatory Checks
45
+
46
+ - `check-email` must end with `isBuyer=true` and `hasAccount=true`
47
+ - `login` must return `accessToken`
48
+ - `verify-status` must return `emailVerified=true`
49
+ - `activate-pro` must return success
50
+
51
+ ## Guided Validation Checklist
52
+
53
+ - installer path from source checkout passes
54
+ - installer path from packed `.tgz` passes
55
+ - final report says all checks passed
56
+ - generated project contains `.claude/skills`
57
+ - generated project contains `.claude/commands`
58
+ - generated project contains `.codex/skills`
59
+
60
+ ## Failure Branches
61
+
62
+ ### Buyer missing after grant
63
+
64
+ - confirm lowercase email in `public.buyers`
65
+ - confirm `is_active=true`
66
+ - seed `public.buyer_validations`
67
+
68
+ ### `activate-pro` returns invalid input for token
69
+
70
+ - caller is outdated
71
+ - resend using `{ accessToken }` in JSON body
72
+
73
+ ### Email not verified
74
+
75
+ - confirm the Auth user email manually
76
+ - rerun `verify-status`
77
+
78
+ ### Installer validation misses Claude or Codex assets
79
+
80
+ - rebuild using the updated package
81
+ - rerun source and tarball validation
82
+
83
+ ## Evidence Pack
84
+
85
+ Capture:
86
+
87
+ - `check-email` response
88
+ - `login` status
89
+ - `verify-status` response
90
+ - `activate-pro` status
91
+ - guided install result
92
+
93
+ Do not store full `accessToken` or full `licenseKey` in tickets, handoffs, or chat.
@@ -0,0 +1,42 @@
1
+ # Task: DevOps Pro Activate
2
+
3
+ > **Version:** 1.0.0
4
+ > **Created:** 2026-04-20
5
+ > **Type:** SUPPORT-OPS
6
+ > **Agent:** `@devops`
7
+
8
+ ## Purpose
9
+
10
+ Call the live `activate-pro` endpoint directly to validate or restore AIOX Pro activation for a session.
11
+
12
+ ## Inputs
13
+
14
+ - `access_token`
15
+ - `machine_id` (optional, default: `ops-validation-machine`)
16
+ - `version` (optional, default: current installer version)
17
+
18
+ ## Endpoint
19
+
20
+ - `POST https://aiox-license-server.vercel.app/api/v1/auth/activate-pro`
21
+
22
+ ## Execution
23
+
24
+ 1. Build the request body with:
25
+ - `accessToken`
26
+ - `machineId`
27
+ - `version`
28
+ - `aioxCoreVersion`
29
+ 2. Call `activate-pro`.
30
+ 3. Report:
31
+ - HTTP status
32
+ - `activated`
33
+ - whether activation was new or restored
34
+ 4. Never paste the full `licenseKey` into logs or tickets.
35
+
36
+ ## Pass Criteria
37
+
38
+ - `201` on first activation or `200` on idempotent restore
39
+
40
+ ## Source Of Truth
41
+
42
+ - `docs/guides/pro/access-grant-ops-playbook.md`
@@ -0,0 +1,34 @@
1
+ # Task: DevOps Pro Check Access
2
+
3
+ > **Version:** 1.0.0
4
+ > **Created:** 2026-04-20
5
+ > **Type:** SUPPORT-OPS
6
+ > **Agent:** `@devops`
7
+
8
+ ## Purpose
9
+
10
+ Check whether an email already has AIOX Pro buyer entitlement and whether an auth account exists.
11
+
12
+ ## Input
13
+
14
+ - `target_email`
15
+
16
+ ## Endpoint
17
+
18
+ - `POST https://aiox-license-server.vercel.app/api/v1/auth/check-email`
19
+
20
+ ## Execution
21
+
22
+ 1. Call `check-email` with the target email.
23
+ 2. Report `isBuyer`, `hasAccount`, and normalized `email`.
24
+ 3. If `isBuyer=false`, recommend `*pro-access-grant`.
25
+ 4. If `isBuyer=true` and `hasAccount=false`, recommend account creation or `*pro-access-grant`.
26
+
27
+ ## Pass Criteria
28
+
29
+ - request returns `200`
30
+ - response clearly identifies buyer/account state
31
+
32
+ ## Source Of Truth
33
+
34
+ - `docs/guides/pro/access-grant-ops-playbook.md`
@@ -0,0 +1,34 @@
1
+ # Task: DevOps Pro Request Reset
2
+
3
+ > **Version:** 1.0.0
4
+ > **Created:** 2026-04-20
5
+ > **Type:** SUPPORT-OPS
6
+ > **Agent:** `@devops`
7
+
8
+ ## Purpose
9
+
10
+ Trigger the user-facing password reset email flow for an AIOX Pro account.
11
+
12
+ ## Input
13
+
14
+ - `target_email`
15
+
16
+ ## Endpoint
17
+
18
+ - `POST https://aiox-license-server.vercel.app/api/v1/auth/request-reset`
19
+
20
+ ## Execution
21
+
22
+ 1. Call `request-reset` with the target email.
23
+ 2. Report the HTTP status.
24
+ 3. Treat the generic success message as expected anti-enumeration behavior.
25
+ 4. If the endpoint returns `429`, report the rate limit window.
26
+
27
+ ## Pass Criteria
28
+
29
+ - request returns `200` with the generic message
30
+ - or a clear `429` with retry guidance
31
+
32
+ ## Source Of Truth
33
+
34
+ - `docs/guides/pro/access-grant-ops-playbook.md`
@@ -0,0 +1,32 @@
1
+ # Task: DevOps Pro Resend Verification
2
+
3
+ > **Version:** 1.0.0
4
+ > **Created:** 2026-04-20
5
+ > **Type:** SUPPORT-OPS
6
+ > **Agent:** `@devops`
7
+
8
+ ## Purpose
9
+
10
+ Resend the email verification link for an AIOX Pro user account.
11
+
12
+ ## Input
13
+
14
+ - `target_email`
15
+
16
+ ## Endpoint
17
+
18
+ - `POST https://aiox-license-server.vercel.app/api/v1/auth/resend-verification`
19
+
20
+ ## Execution
21
+
22
+ 1. Call `resend-verification` with the target email.
23
+ 2. Report status and generic delivery message.
24
+ 3. If `429`, report resend rate limit and retry guidance.
25
+
26
+ ## Pass Criteria
27
+
28
+ - endpoint returns success-style response without leaking account existence
29
+
30
+ ## Source Of Truth
31
+
32
+ - `docs/guides/pro/access-grant-ops-playbook.md`
@@ -0,0 +1,36 @@
1
+ # Task: DevOps Pro Reset Password
2
+
3
+ > **Version:** 1.0.0
4
+ > **Created:** 2026-04-20
5
+ > **Type:** SUPPORT-OPS
6
+ > **Agent:** `@devops`
7
+
8
+ ## Purpose
9
+
10
+ Reset an AIOX Pro password administratively, then validate login with the new password.
11
+
12
+ ## Inputs
13
+
14
+ - `target_email`
15
+ - `new_password`
16
+
17
+ ## Execution
18
+
19
+ 1. Ensure the auth user exists for the target email.
20
+ 2. Update the password in Supabase Auth.
21
+ 3. Ensure the email remains confirmed.
22
+ 4. Validate the new password with `login`.
23
+
24
+ ## Pass Criteria
25
+
26
+ - auth user password updated successfully
27
+ - `POST /api/v1/auth/login` returns `200` and `accessToken`
28
+
29
+ ## Recommended Follow-Up
30
+
31
+ - if the request was really a recovery flow for the user, also offer `*pro-request-reset {email}`
32
+
33
+ ## Source Of Truth
34
+
35
+ - `docs/guides/pro/access-grant-ops-playbook.md`
36
+ - `.aiox-core/development/tasks/devops-pro-access-grant.md`
@@ -0,0 +1,36 @@
1
+ # Task: DevOps Pro Validate Login
2
+
3
+ > **Version:** 1.0.0
4
+ > **Created:** 2026-04-20
5
+ > **Type:** SUPPORT-OPS
6
+ > **Agent:** `@devops`
7
+
8
+ ## Purpose
9
+
10
+ Validate whether AIOX Pro login works for a given email and password pair.
11
+
12
+ ## Inputs
13
+
14
+ - `target_email`
15
+ - `target_password`
16
+
17
+ ## Endpoint
18
+
19
+ - `POST https://aiox-license-server.vercel.app/api/v1/auth/login`
20
+
21
+ ## Execution
22
+
23
+ 1. Call `login` with the provided credentials.
24
+ 2. Report:
25
+ - HTTP status
26
+ - whether `accessToken` was issued
27
+ - whether `emailVerified=true`
28
+ 3. Do not expose the raw access token in logs or handoffs.
29
+
30
+ ## Pass Criteria
31
+
32
+ - `200` response with `accessToken`
33
+
34
+ ## Source Of Truth
35
+
36
+ - `docs/guides/pro/access-grant-ops-playbook.md`