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
@@ -0,0 +1,370 @@
1
+ # Playbook: AIOX Pro Access Grant Ops
2
+
3
+ **Status:** Validated on 2026-04-20
4
+ **Primary operator:** `@devops`
5
+ **Source story:** `PRO-11.1`
6
+
7
+ ---
8
+
9
+ ## Objective
10
+
11
+ Grant or restore AIOX Pro access for a user without rediscovering the backend flow each time.
12
+
13
+ This playbook is based on the live contract validated against:
14
+
15
+ - License server: `https://aiox-license-server.vercel.app`
16
+ - Vercel project: `aiox-license-server`
17
+ - Vercel project id: `prj_URy89BjALJ8vMKcYQHJa1N2GLXle`
18
+ - Vercel team id: `team_KZMs9FZJuVgsxQFZZp8I1p9t`
19
+ - Supabase project ref: `evvvnarpwcdybxdvcwjh`
20
+
21
+ ---
22
+
23
+ ## System Of Record
24
+
25
+ ### Backend tables and auth surfaces
26
+
27
+ - `public.buyers`
28
+ - Entitlement oracle for buyer status.
29
+ - Required by `validate_buyer` and by `POST /api/v1/auth/check-email`.
30
+ - `public.buyer_validations`
31
+ - Local 24h cache and support fallback.
32
+ - Can be used as a positive local override when the upstream buyer RPC is unavailable.
33
+ - `auth.users`
34
+ - Account existence oracle.
35
+ - `licenses`
36
+ - Active Pro license storage.
37
+ - `POST /api/v1/auth/activate-pro` creates a license when missing and is idempotent when one already exists.
38
+
39
+ ### Live auth endpoints
40
+
41
+ - `POST /api/v1/auth/check-email`
42
+ - Request: `{ "email": "user@example.com" }`
43
+ - Response: `{ isBuyer, hasAccount, email }`
44
+ - `POST /api/v1/auth/login`
45
+ - Request: `{ "email": "...", "password": "..." }`
46
+ - Response includes `accessToken`
47
+ - `POST /api/v1/auth/verify-status`
48
+ - Request: `{ "accessToken": "..." }`
49
+ - Response: `{ email, emailVerified }`
50
+ - `POST /api/v1/auth/activate-pro`
51
+ - Request: `{ "accessToken": "...", "machineId": "...", "version": "...", "aioxCoreVersion": "..." }`
52
+ - Response on first activation: `201` with `licenseKey`
53
+ - Response on reinstall: `200` with existing `licenseKey`
54
+
55
+ ---
56
+
57
+ ## Decision Tree
58
+
59
+ ### Case A: `isBuyer=false` and `hasAccount=false`
60
+
61
+ You must grant entitlement first, then create the account.
62
+
63
+ 1. Upsert a positive row in `public.buyers`.
64
+ 2. Create or confirm the auth user with the requested password.
65
+ 3. Confirm the email.
66
+ 4. Optionally seed `public.buyer_validations` if you want a local support override immediately available.
67
+ 5. Validate with `check-email`, `login`, `verify-status`, and `activate-pro`.
68
+
69
+ ### Case B: `isBuyer=true` and `hasAccount=false`
70
+
71
+ The entitlement already exists. Only create the auth user, confirm email, and validate.
72
+
73
+ ### Case C: `isBuyer=true` and `hasAccount=true`
74
+
75
+ The user already exists. Only reset password if requested, confirm email status if needed, then validate `login` and `activate-pro`.
76
+
77
+ ### Case D: `check-email` fails with buyer service unavailable
78
+
79
+ Treat this as an upstream buyer validation issue.
80
+
81
+ 1. Confirm `public.buyers` contains an active row for the email.
82
+ 2. Seed `public.buyer_validations` with `is_valid=true` for the target user.
83
+ 3. Retry `check-email` and `activate-pro`.
84
+
85
+ ---
86
+
87
+ ## Step-By-Step Operator Runbook
88
+
89
+ ## Dedicated DevOps Aliases
90
+
91
+ For repeat operations, prefer these `@devops` commands:
92
+
93
+ - `@devops *pro-access-grant EMAIL SENHA`
94
+ - `@devops *pro-check-access EMAIL`
95
+ - `@devops *pro-request-reset EMAIL`
96
+ - `@devops *pro-resend-verification EMAIL`
97
+ - `@devops *pro-reset-password EMAIL NOVA_SENHA`
98
+ - `@devops *pro-validate-login EMAIL SENHA`
99
+ - `@devops *pro-verify-status ACCESS_TOKEN`
100
+ - `@devops *pro-activate ACCESS_TOKEN [MACHINE_ID] [VERSION]`
101
+
102
+ ### 1. Preflight
103
+
104
+ Run:
105
+
106
+ ```bash
107
+ curl -sS https://aiox-license-server.vercel.app/api/v1/auth/check-email \
108
+ -H 'content-type: application/json' \
109
+ -d '{"email":"TARGET_EMAIL"}'
110
+ ```
111
+
112
+ Expected outputs:
113
+
114
+ - `isBuyer=true` means entitlement exists.
115
+ - `hasAccount=true` means `auth.users` already contains the email.
116
+
117
+ ### 2. Grant buyer entitlement in Supabase
118
+
119
+ Use the Supabase SQL editor for project `evvvnarpwcdybxdvcwjh` and run:
120
+
121
+ ```sql
122
+ insert into public.buyers (email, source, is_active, metadata)
123
+ values (
124
+ lower(trim('TARGET_EMAIL')),
125
+ 'manual_support',
126
+ true,
127
+ jsonb_build_object(
128
+ 'granted_by', 'devops',
129
+ 'reason', 'manual_aiox_pro_access_grant',
130
+ 'granted_at', now()
131
+ )
132
+ )
133
+ on conflict (email)
134
+ do update set
135
+ source = excluded.source,
136
+ is_active = true,
137
+ metadata = coalesce(public.buyers.metadata, '{}'::jsonb) || excluded.metadata;
138
+ ```
139
+
140
+ Rules:
141
+
142
+ - Always normalize to lowercase email.
143
+ - Always set `is_active = true`.
144
+ - Use `source='manual_support'` for manual support grants.
145
+
146
+ ### 3. Create or update the auth user
147
+
148
+ Preferred path: Supabase Auth dashboard for the same project.
149
+
150
+ Required values:
151
+
152
+ - Email: requested customer email
153
+ - Password: requested or support-default password
154
+ - Email confirmed: `true`
155
+
156
+ If the user already exists:
157
+
158
+ - update the password if support explicitly asked for a reset
159
+ - ensure the email is confirmed
160
+
161
+ If you need an API path instead of the dashboard, use the same admin capability the server uses (`supabaseAdmin.auth.admin.createUser`).
162
+
163
+ ### 4. Seed the local buyer validation fallback
164
+
165
+ Do this when:
166
+
167
+ - buyer RPC is unstable
168
+ - you want support override resilience
169
+ - `check-email` still returns buyer false right after the grant
170
+
171
+ First fetch the auth user id for the email, then run:
172
+
173
+ ```sql
174
+ insert into public.buyer_validations (user_id, email, is_valid, validated_at, expires_at)
175
+ values (
176
+ 'TARGET_USER_ID',
177
+ lower(trim('TARGET_EMAIL')),
178
+ true,
179
+ now(),
180
+ now() + interval '24 hours'
181
+ )
182
+ on conflict (user_id)
183
+ do update set
184
+ email = excluded.email,
185
+ is_valid = true,
186
+ validated_at = now(),
187
+ expires_at = now() + interval '24 hours';
188
+ ```
189
+
190
+ ### 5. Validate the API flow directly
191
+
192
+ Run in order.
193
+
194
+ #### 5.1 `check-email`
195
+
196
+ ```bash
197
+ curl -sS https://aiox-license-server.vercel.app/api/v1/auth/check-email \
198
+ -H 'content-type: application/json' \
199
+ -d '{"email":"TARGET_EMAIL"}'
200
+ ```
201
+
202
+ Expected:
203
+
204
+ - `isBuyer=true`
205
+ - `hasAccount=true`
206
+
207
+ #### 5.2 `login`
208
+
209
+ ```bash
210
+ curl -sS https://aiox-license-server.vercel.app/api/v1/auth/login \
211
+ -H 'content-type: application/json' \
212
+ -d '{"email":"TARGET_EMAIL","password":"TARGET_PASSWORD"}'
213
+ ```
214
+
215
+ Expected:
216
+
217
+ - `200`
218
+ - response contains `accessToken`
219
+
220
+ #### 5.3 `verify-status`
221
+
222
+ ```bash
223
+ curl -sS https://aiox-license-server.vercel.app/api/v1/auth/verify-status \
224
+ -H 'content-type: application/json' \
225
+ -d '{"accessToken":"ACCESS_TOKEN"}'
226
+ ```
227
+
228
+ Expected:
229
+
230
+ - `emailVerified=true`
231
+
232
+ #### 5.4 `activate-pro`
233
+
234
+ ```bash
235
+ curl -sS https://aiox-license-server.vercel.app/api/v1/auth/activate-pro \
236
+ -H 'content-type: application/json' \
237
+ -d '{
238
+ "accessToken":"ACCESS_TOKEN",
239
+ "machineId":"ops-validation-machine",
240
+ "version":"5.0.3",
241
+ "aioxCoreVersion":"5.0.3"
242
+ }'
243
+ ```
244
+
245
+ Expected:
246
+
247
+ - first activation: `201` with `licenseKey`
248
+ - reinstall or already-provisioned user: `200` with message similar to `License restored`
249
+
250
+ ### 6. Validate the guided installer as the user
251
+
252
+ This story validated both paths below with:
253
+
254
+ - email: `costa.wanderl@gmail.com`
255
+ - password: `AioxPro2026!`
256
+ - result: success in source install and packaged install
257
+
258
+ #### 6.1 Source checkout path
259
+
260
+ ```bash
261
+ node bin/aiox.js install
262
+ ```
263
+
264
+ Wizard choices used in validation:
265
+
266
+ 1. `Portugues`
267
+ 2. `Modo Avancado`
268
+ 3. `Greenfield`
269
+ 4. IDEs: `Claude Code` and `Codex CLI`
270
+ 5. tech preset: `nextjs-react`
271
+ 6. edition: `Pro`
272
+ 7. activation method: `Login ou criar conta`
273
+ 8. user email and password
274
+
275
+ Expected success signals:
276
+
277
+ - `Conteudo Pro instalado`
278
+ - final verification report shows `Overall Status: All checks passed`
279
+ - generated project contains:
280
+ - `.claude/skills`
281
+ - `.claude/commands`
282
+ - `.codex/skills`
283
+
284
+ #### 6.2 Packaged tarball path
285
+
286
+ Pack first:
287
+
288
+ ```bash
289
+ npm pack
290
+ ```
291
+
292
+ Then validate from a clean target directory:
293
+
294
+ ```bash
295
+ npm exec --yes --package=/absolute/path/to/aiox-core-<version>.tgz aiox-core -- install
296
+ ```
297
+
298
+ Use the same wizard answers and expect the same success signals.
299
+
300
+ ---
301
+
302
+ ## Validated Results From 2026-04-20
303
+
304
+ ### Direct API smoke test
305
+
306
+ Validated against production for `costa.wanderl@gmail.com`:
307
+
308
+ - `check-email`: `isBuyer=true`, `hasAccount=true`
309
+ - `login`: `200`, `accessToken` present, `emailVerified=true`
310
+ - `verify-status`: `200`, `emailVerified=true`
311
+ - `activate-pro`: `200`, `activated=true`, existing license restored
312
+
313
+ ### Guided installation validation
314
+
315
+ Validated successfully:
316
+
317
+ - source checkout install
318
+ - packaged tarball install
319
+
320
+ The final installer verification passed in both cases and the generated projects contained the expected Claude and Codex assets.
321
+
322
+ ---
323
+
324
+ ## Troubleshooting
325
+
326
+ ### `activate-pro` returns `400 Invalid input: expected string, received undefined`
327
+
328
+ Cause:
329
+
330
+ - outdated client contract
331
+
332
+ Fix:
333
+
334
+ - caller must send `{ accessToken }` in the JSON body
335
+ - newer installer build already does this
336
+
337
+ ### `check-email` returns `isBuyer=false` right after granting the user
338
+
339
+ Check:
340
+
341
+ - `public.buyers` row exists and `is_active=true`
342
+ - email normalized to lowercase
343
+ - if buyer RPC is degraded, seed `public.buyer_validations`
344
+
345
+ ### `login` works but `verify-status` says not verified
346
+
347
+ Fix:
348
+
349
+ - confirm the user email in Supabase Auth
350
+
351
+ ### Installer completes but `.codex/skills` or `.claude/skills` are missing
352
+
353
+ This story fixed the packaging and generation path. Rebuild with the updated installer package and rerun.
354
+
355
+ ### Installer emits false dependency warnings in a normal user project
356
+
357
+ This story fixed the dependency validator to avoid flagging installer-internal packages in user projects. Rebuild with the updated package and rerun.
358
+
359
+ ---
360
+
361
+ ## Evidence To Attach In Support Closure
362
+
363
+ - `check-email` response
364
+ - `login` response status only
365
+ - `verify-status` response
366
+ - `activate-pro` response status only
367
+ - source guided install result
368
+ - tarball guided install result
369
+
370
+ Do not paste the full `accessToken` or the full `licenseKey` into tickets or chat.
@@ -19,14 +19,14 @@ Comprar Licenca → Instalar → Ativar → Usar Features Pro
19
19
  | Pacote | Tipo | Proposito |
20
20
  |--------|------|-----------|
21
21
  | `aiox-pro` | CLI (1.8 KB) | Comandos de instalacao e gerenciamento |
22
- | `@aiox-fullstack/pro` | Core (10 MB) | Features premium (squads, memory, metrics, integrations) |
22
+ | `@aiox-fullstack/pro` | Core (10 MB) | Nome canônico do pacote premium (com fallback legado durante a transição) |
23
23
 
24
24
  ---
25
25
 
26
26
  ## Instalacao Rapida
27
27
 
28
28
  ```bash
29
- # Instalar AIOX Pro (instala @aiox-fullstack/pro automaticamente)
29
+ # Instalar AIOX Pro (instala o pacote Pro compatível automaticamente)
30
30
  npx aiox-pro install
31
31
 
32
32
  # Ativar sua licenca
@@ -51,12 +51,18 @@ npx aiox-pro status
51
51
  npx aiox-pro install
52
52
  ```
53
53
 
54
- Isso executa `npm install @aiox-fullstack/pro` no seu projeto.
54
+ Isso instala o pacote Pro compatível no seu projeto, priorizando o nome canônico e caindo para o legado quando necessário.
55
55
 
56
- **Alternativa** (instalacao manual):
56
+ **Alternativa** (instalação manual):
57
57
 
58
58
  ```bash
59
- npm install @aiox-fullstack/pro
59
+ npm install @aiox-fullstack/pro@latest
60
+ ```
61
+
62
+ Depois da instalação manual, rode o bootstrap do conteúdo Pro no projeto:
63
+
64
+ ```bash
65
+ npx aiox-pro install
60
66
  ```
61
67
 
62
68
  ### Passo 2: Ativar Licenca
@@ -88,7 +94,7 @@ npx aiox-pro features
88
94
 
89
95
  | Comando | Descricao |
90
96
  |---------|-----------|
91
- | `npx aiox-pro install` | Instala `@aiox-fullstack/pro` no projeto |
97
+ | `npx aiox-pro install` | Instala o pacote AIOX Pro compatível no projeto |
92
98
  | `npx aiox-pro activate --key KEY` | Ativa uma chave de licenca |
93
99
  | `npx aiox-pro status` | Mostra status da licenca atual |
94
100
  | `npx aiox-pro features` | Lista todas as features pro e disponibilidade |
@@ -0,0 +1,134 @@
1
+ # Handoff: Squad Creator -> DevOps Pro Access Ops
2
+
3
+ **Status:** Ready to operationalize
4
+ **Validated on:** 2026-04-20
5
+ **Target squad/task owner:** `@squad-creator` creating reusable surfaces for `@devops`
6
+
7
+ ---
8
+
9
+ ## Objective
10
+
11
+ Convert the validated AIOX Pro access grant procedure into a reusable task/workflow pair so DevOps can execute it repeatedly without rediscovering:
12
+
13
+ - which system is authoritative
14
+ - which tables matter
15
+ - which API contract is current
16
+ - which validations are mandatory
17
+
18
+ ---
19
+
20
+ ## What Is Already Validated
21
+
22
+ The following is not speculative. It was validated end-to-end on 2026-04-20:
23
+
24
+ - live license server contract uses `accessToken` in `verify-status` and `activate-pro`
25
+ - `activate-pro` returns `licenseKey`
26
+ - buyer entitlement comes from `public.buyers`
27
+ - local support fallback can be seeded through `public.buyer_validations`
28
+ - `activate-pro` is idempotent and restores existing licenses
29
+ - guided installer passed in:
30
+ - source checkout flow
31
+ - packaged tarball flow
32
+
33
+ Validated customer used in this run:
34
+
35
+ - email: `costa.wanderl@gmail.com`
36
+ - password used for validation: `AioxPro2026!`
37
+
38
+ ---
39
+
40
+ ## Artifacts To Use As Inputs
41
+
42
+ Squad creator should treat these files as the authoritative seed set:
43
+
44
+ 1. `docs/guides/pro/access-grant-ops-playbook.md`
45
+ 2. `docs/aiox-workflows/pro-access-grant-workflow.md`
46
+ 3. `.aiox-core/development/tasks/devops-pro-access-grant.md`
47
+ 4. `docs/stories/PRO-11.1-auth-contract-hardening-and-pro-access-ops.md`
48
+
49
+ ---
50
+
51
+ ## Required Deliverables
52
+
53
+ Squad creator must create or register:
54
+
55
+ 1. A reusable DevOps task for Pro access grants.
56
+ 2. Dedicated point-action aliases for common support operations.
57
+ 3. A reusable workflow that chains:
58
+ - preflight
59
+ - entitlement grant
60
+ - account setup
61
+ - API validation
62
+ - guided install validation
63
+ 4. Clear input schema:
64
+ - `target_email`
65
+ - `target_password`
66
+ - `reset_password`
67
+ - `run_guided_validation`
68
+ 5. A closeout/evidence template that never leaks full token or full license key.
69
+
70
+ Minimum alias set now expected:
71
+
72
+ - `*pro-access-grant`
73
+ - `*pro-check-access`
74
+ - `*pro-request-reset`
75
+ - `*pro-resend-verification`
76
+ - `*pro-reset-password`
77
+ - `*pro-validate-login`
78
+ - `*pro-verify-status`
79
+ - `*pro-activate`
80
+
81
+ ---
82
+
83
+ ## Non-Negotiable Rules
84
+
85
+ Do not let the generated task/workflow drift from these rules:
86
+
87
+ - `public.buyers` is the buyer entitlement oracle.
88
+ - `check-email` and `login` are the preflight validation pair.
89
+ - `verify-status` and `activate-pro` must send `accessToken` in the JSON body.
90
+ - `activate-pro` may return success for an already-activated user; that is correct behavior.
91
+ - Guided validation must assert Claude and Codex assets exist in the installed project.
92
+ - No rediscovery instructions. The output must assume fixed backend context and operator access.
93
+
94
+ ---
95
+
96
+ ## Suggested Registration Shape
97
+
98
+ ### Task name
99
+
100
+ - `devops-pro-access-grant`
101
+
102
+ ### Workflow name
103
+
104
+ - `pro-access-grant-workflow`
105
+
106
+ ### Primary agent
107
+
108
+ - `@devops`
109
+
110
+ ### Secondary references
111
+
112
+ - `@qa` only for validating future regressions in installer behavior
113
+ - `@squad-creator` only for packaging and publishing the reusable assets
114
+
115
+ ---
116
+
117
+ ## Done Criteria
118
+
119
+ The squad creator work is done only when:
120
+
121
+ - the task exists in the canonical task surface
122
+ - the workflow exists in the canonical workflow surface
123
+ - both point back to the validated playbook
124
+ - both preserve the exact decision tree and validation order
125
+ - a DevOps operator can run the process without asking where buyer data, auth state, or activation checks live
126
+
127
+ ---
128
+
129
+ ## Implementation Notes For Squad Creator
130
+
131
+ - Prefer copying the validated sequence directly instead of rewriting from scratch.
132
+ - Keep the workflow operational, not pedagogical.
133
+ - Keep the task biased toward action and evidence collection.
134
+ - If you add examples, use masked values for tokens and license keys.