@elevasis/sdk 1.44.3 → 1.45.0
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.
- package/dist/cli.cjs +991 -650
- package/dist/index.d.ts +1045 -509
- package/dist/index.js +738 -688
- package/dist/node/index.d.ts +105 -97
- package/dist/test-utils/index.d.ts +42 -28
- package/dist/test-utils/index.js +514 -783
- package/dist/worker/index.d.ts +12112 -0
- package/dist/worker/index.js +121 -182
- package/package.json +6 -9
- package/reference/_navigation.md +151 -21
- package/reference/_reference-manifest.json +186 -4
- package/reference/claude-config.md +8 -0
- package/reference/core/index.mdx +3 -3
- package/reference/examples/organization-model.ts +117 -111
- package/reference/index.mdx +4 -4
- package/reference/rules/active-change-index.md +40 -54
- package/reference/rules/agent-runtime.md +81 -0
- package/reference/rules/agent-start-here.md +71 -163
- package/reference/rules/deployment.md +33 -10
- package/reference/rules/error-handling.md +26 -0
- package/reference/rules/execution.md +13 -0
- package/reference/rules/frontend.md +10 -3
- package/reference/rules/observability.md +9 -1
- package/reference/rules/operations.md +26 -17
- package/reference/rules/organization-model.md +74 -88
- package/reference/rules/organization-os.md +71 -88
- package/reference/rules/package-taxonomy.md +11 -2
- package/reference/rules/platform.md +13 -7
- package/reference/rules/shared-types.md +15 -0
- package/reference/rules/task-tracking.md +30 -5
- package/reference/rules/ui.md +145 -3
- package/reference/rules/vibe-intents.md +271 -0
- package/reference/rules/vibe.md +17 -243
- package/reference/scaffold/core/organization-graph.mdx +111 -97
- package/reference/scaffold/core/organization-model.mdx +234 -214
- package/reference/scaffold/operations/propagation-pipeline.md +1 -1
- package/reference/scaffold/operations/scaffold-maintenance.md +19 -18
- package/reference/scaffold/operations/workflow-recipes.md +71 -19
- package/reference/scaffold/recipes/add-a-feature.md +156 -146
- package/reference/scaffold/recipes/add-a-resource.md +123 -117
- package/reference/scaffold/recipes/customize-crm-actions.md +25 -10
- package/reference/scaffold/recipes/customize-knowledge-browser.md +52 -117
- package/reference/scaffold/recipes/customize-organization-model.md +161 -149
- package/reference/scaffold/recipes/extend-a-base-entity.md +156 -140
- package/reference/scaffold/recipes/extend-crm.md +16 -11
- package/reference/scaffold/recipes/extend-lead-gen.md +25 -7
- package/reference/scaffold/recipes/gate-by-feature-or-admin.md +160 -118
- package/reference/scaffold/recipes/index.md +2 -2
- package/reference/scaffold/recipes/query-the-knowledge-graph.md +23 -23
- package/reference/scaffold/reference/contracts.md +12 -1
- package/reference/scaffold/reference/glossary.md +3 -3
- package/reference/scaffold/reference/system-interface-capabilities.md +5 -4
- package/reference/scaffold/ui/composition-extensibility.mdx +271 -232
- package/reference/scaffold/ui/feature-flags-and-gating.md +14 -6
- package/reference/scaffold/ui/feature-shell.mdx +279 -62
- package/reference/scaffold/ui/recipes.md +229 -197
- package/reference/sdk/cli-management.mdx +77 -29
- package/reference/sdk/concepts.mdx +2 -0
- package/reference/sdk/define-builders.mdx +76 -0
- package/reference/sdk/deployment/command-center.mdx +6 -2
- package/reference/sdk/deployment/execution-reference.mdx +64 -186
- package/reference/sdk/deployment/index.mdx +2 -0
- package/reference/sdk/exports.mdx +4 -4
- package/reference/sdk/framework/agent.mdx +49 -119
- package/reference/sdk/framework/index.mdx +46 -65
- package/reference/sdk/framework/project-structure.mdx +150 -205
- package/reference/sdk/framework/tutorial-system.mdx +2 -2
- package/reference/sdk/human-in-the-loop.mdx +152 -0
- package/reference/sdk/index.mdx +6 -7
- package/reference/sdk/platform-tools/index.mdx +12 -0
- package/reference/sdk/platform-tools/type-safety.mdx +4 -0
- package/reference/sdk/project-deployment-spec.mdx +131 -0
- package/reference/sdk/resources/index.mdx +21 -7
- package/reference/sdk/resources/patterns.mdx +54 -24
- package/reference/sdk/resources/types.mdx +7 -4
- package/reference/sdk/templates/data-enrichment.mdx +7 -3
- package/reference/sdk/templates/email-sender.mdx +139 -135
- package/reference/sdk/templates/lead-scorer.mdx +5 -1
- package/reference/sdk/templates/pdf-generator.mdx +155 -151
- package/reference/sdk/templates/recurring-job.mdx +195 -189
- package/reference/sdk/templates/text-classifier.mdx +4 -0
- package/reference/sdk/templates/web-scraper.mdx +139 -135
- package/reference/spine/spine-primer.md +135 -96
- package/reference/ui/index.mdx +14 -7
- package/dist/types/worker/adapters/anymailfinder.d.ts +0 -14
- package/dist/types/worker/adapters/apify.d.ts +0 -14
- package/dist/types/worker/adapters/approval.d.ts +0 -23
- package/dist/types/worker/adapters/attio.d.ts +0 -22
- package/dist/types/worker/adapters/clickup.d.ts +0 -22
- package/dist/types/worker/adapters/create-adapter.d.ts +0 -41
- package/dist/types/worker/adapters/crm.d.ts +0 -20
- package/dist/types/worker/adapters/dropbox.d.ts +0 -14
- package/dist/types/worker/adapters/email.d.ts +0 -25
- package/dist/types/worker/adapters/execution.d.ts +0 -22
- package/dist/types/worker/adapters/gmail.d.ts +0 -14
- package/dist/types/worker/adapters/google-sheets.d.ts +0 -14
- package/dist/types/worker/adapters/index.d.ts +0 -33
- package/dist/types/worker/adapters/instantly.d.ts +0 -14
- package/dist/types/worker/adapters/lead.d.ts +0 -28
- package/dist/types/worker/adapters/list.d.ts +0 -9
- package/dist/types/worker/adapters/llm.d.ts +0 -45
- package/dist/types/worker/adapters/millionverifier.d.ts +0 -14
- package/dist/types/worker/adapters/notification.d.ts +0 -28
- package/dist/types/worker/adapters/pdf.d.ts +0 -22
- package/dist/types/worker/adapters/projects.d.ts +0 -20
- package/dist/types/worker/adapters/resend.d.ts +0 -14
- package/dist/types/worker/adapters/scheduler.d.ts +0 -25
- package/dist/types/worker/adapters/signature-api.d.ts +0 -14
- package/dist/types/worker/adapters/storage.d.ts +0 -33
- package/dist/types/worker/adapters/stripe.d.ts +0 -14
- package/dist/types/worker/adapters/tomba.d.ts +0 -14
- package/dist/types/worker/index.d.ts +0 -60
- package/dist/types/worker/platform.d.ts +0 -90
- package/dist/types/worker/utils.d.ts +0 -9
- package/reference/claude-config/Overview.md +0 -230
- package/reference/claude-config/hooks/post-edit-validate.mjs +0 -98
- package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +0 -187
- package/reference/claude-config/hooks/tool-failure-recovery.mjs +0 -73
- package/reference/claude-config/registries/graph-skills.json +0 -4
- package/reference/claude-config/registries/knowledge-flags.json +0 -154
- package/reference/claude-config/registries/skill-coverage.json +0 -20
- package/reference/claude-config/rules/active-change-index.md +0 -22
- package/reference/claude-config/rules/agent-start-here.md +0 -22
- package/reference/claude-config/rules/deployment.md +0 -22
- package/reference/claude-config/rules/error-handling.md +0 -22
- package/reference/claude-config/rules/execution.md +0 -22
- package/reference/claude-config/rules/frontend.md +0 -22
- package/reference/claude-config/rules/observability.md +0 -22
- package/reference/claude-config/rules/operations.md +0 -22
- package/reference/claude-config/rules/organization-model.md +0 -22
- package/reference/claude-config/rules/organization-os.md +0 -22
- package/reference/claude-config/rules/package-taxonomy.md +0 -22
- package/reference/claude-config/rules/platform.md +0 -22
- package/reference/claude-config/rules/shared-types.md +0 -22
- package/reference/claude-config/rules/task-tracking.md +0 -22
- package/reference/claude-config/rules/topbar-actions.md +0 -70
- package/reference/claude-config/rules/ui.md +0 -22
- package/reference/claude-config/rules/vibe.md +0 -22
- package/reference/claude-config/scripts/statusline-command.js +0 -18
- package/reference/claude-config/settings.json +0 -30
- package/reference/claude-config/skills/client/SKILL.md +0 -201
- package/reference/claude-config/skills/deploy/SKILL.md +0 -159
- package/reference/claude-config/skills/dsp/SKILL.md +0 -66
- package/reference/claude-config/skills/elevasis/SKILL.md +0 -251
- package/reference/claude-config/skills/explore/SKILL.md +0 -78
- package/reference/claude-config/skills/git-sync/SKILL.md +0 -166
- package/reference/claude-config/skills/om/SKILL.md +0 -475
- package/reference/claude-config/skills/om/operations/build.md +0 -237
- package/reference/claude-config/skills/om/operations/codify-level-a.md +0 -109
- package/reference/claude-config/skills/om/operations/codify-level-b.md +0 -159
- package/reference/claude-config/skills/om/operations/customers.md +0 -114
- package/reference/claude-config/skills/om/operations/features.md +0 -88
- package/reference/claude-config/skills/om/operations/goals.md +0 -123
- package/reference/claude-config/skills/om/operations/identity.md +0 -97
- package/reference/claude-config/skills/om/operations/labels.md +0 -110
- package/reference/claude-config/skills/om/operations/offerings.md +0 -114
- package/reference/claude-config/skills/om/operations/roles.md +0 -104
- package/reference/claude-config/skills/om/operations/scaffold.md +0 -163
- package/reference/claude-config/skills/om/operations/techStack.md +0 -38
- package/reference/claude-config/skills/project/SKILL.md +0 -1114
- package/reference/claude-config/skills/run-ui/SKILL.md +0 -73
- package/reference/claude-config/skills/save/SKILL.md +0 -183
- package/reference/claude-config/skills/setup/SKILL.md +0 -290
- package/reference/claude-config/skills/status/SKILL.md +0 -59
- package/reference/claude-config/skills/submit-request/SKILL.md +0 -180
- package/reference/claude-config/skills/sync/SKILL.md +0 -47
- package/reference/claude-config/skills/tutorial/SKILL.md +0 -259
- package/reference/claude-config/skills/tutorial/progress-template.md +0 -74
- package/reference/claude-config/skills/tutorial/technical.md +0 -1303
- package/reference/claude-config/skills/tutorial/vibe-coder.md +0 -890
- package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +0 -27
- package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +0 -30
- package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +0 -73
- package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +0 -86
- package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +0 -55
- package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +0 -97
- package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +0 -112
- package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +0 -93
- package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +0 -58
- package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +0 -56
- package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +0 -71
- package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +0 -83
- package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +0 -59
- package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +0 -42
- package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +0 -60
- package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +0 -37
- package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +0 -34
- package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +0 -38
- package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +0 -32
- package/reference/claude-config/sync-notes/2026-05-09-command-system.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +0 -69
- package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +0 -30
- package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +0 -45
- package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +0 -52
- package/reference/claude-config/sync-notes/2026-05-17-sdk-boundary-consolidation.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-20-om-define-helpers.md +0 -32
- package/reference/claude-config/sync-notes/2026-05-22-access-model-and-right-panel.md +0 -43
- package/reference/claude-config/sync-notes/2026-05-22-lead-gen-tenant-config.md +0 -40
- package/reference/claude-config/sync-notes/2026-05-22-org-model-multi-file-split.md +0 -61
- package/reference/claude-config/sync-notes/2026-05-23-branding-names-to-identity.md +0 -49
- package/reference/claude-config/sync-notes/2026-05-23-lead-gen-manage-access.md +0 -31
- package/reference/claude-config/sync-notes/2026-05-23-om-deployment-drift-detection.md +0 -42
- package/reference/claude-config/sync-notes/2026-05-23-om-full-model-deploy-contract.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-23-ui-sdk-package-fixes.md +0 -37
- package/reference/claude-config/sync-notes/2026-05-24-platform-invite-router-core-baseline.md +0 -28
- package/reference/claude-config/sync-notes/2026-05-24-system-interface-readiness.md +0 -43
- package/reference/claude-config/sync-notes/2026-05-25-invitation-login-loader.md +0 -26
- package/reference/claude-config/sync-notes/2026-05-25-om-topbar-requests.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-25-system-interface-profile-registry-and-substrate.md +0 -35
- package/reference/claude-config/sync-notes/2026-05-25-tenant-om-scaffold-cli.md +0 -49
- package/reference/claude-config/sync-notes/2026-05-25-vibe-operate-intent.md +0 -47
- package/reference/claude-config/sync-notes/2026-05-28-om-snapshot-sdk-workflow-config.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-30-client-source-and-om-profiles.md +0 -39
- package/reference/claude-config/sync-notes/2026-06-02-knowledge-nested-group-routing.md +0 -27
- package/reference/claude-config/sync-notes/2026-06-02-nest-projects-under-platform.md +0 -45
- package/reference/claude-config/sync-notes/2026-06-03-skill-autogen-and-client-skill.md +0 -34
- package/reference/claude-config/sync-notes/2026-06-04-scaffold-registry-lane-severity.md +0 -34
- package/reference/claude-config/sync-notes/2026-06-05-appearance-app-mode-decouple.md +0 -29
- package/reference/claude-config/sync-notes/2026-06-05-ontology-endpoint-rename-and-knowledge-browser-ui.md +0 -86
- package/reference/claude-config/sync-notes/2026-06-06-om-build-systems-scaffold.md +0 -47
- package/reference/claude-config/sync-notes/2026-06-06-om-item-copy-references.md +0 -50
- package/reference/claude-config/sync-notes/2026-06-08-knowledge-base-page-not-found-fix.md +0 -76
- package/reference/claude-config/sync-notes/2026-06-09-agent-sessions-public-agent-chat-route.md +0 -75
- package/reference/claude-config/sync-notes/2026-06-09-sdk-cli-load-org-model-resolution.md +0 -42
- package/reference/claude-config/sync-notes/2026-06-12-agent-grants-visualizer-operations.md +0 -30
- package/reference/claude-config/sync-notes/2026-06-14-session-ux-and-project-cli-json.md +0 -33
- package/reference/claude-config/sync-notes/2026-06-14-shared-session-conversation-view.md +0 -26
- package/reference/claude-config/sync-notes/2026-06-15-session-chat-zero-wiring.md +0 -46
- package/reference/claude-config/sync-notes/2026-06-17-agent-session-ux-features.md +0 -34
- package/reference/claude-config/sync-notes/2026-06-25-shared-page-scroll-contract-guard.md +0 -52
- package/reference/claude-config/sync-notes/2026-06-26-leadgen-overview-om-telemetry.md +0 -47
- package/reference/claude-config/sync-notes/2026-07-21-agent-scaffold-hardening.md +0 -75
- package/reference/claude-config/sync-notes/2026-07-23-agent-session-memory.md +0 -49
- package/reference/claude-config/sync-notes/2026-07-23-workos-org-marker.md +0 -50
- package/reference/claude-config/sync-notes/2026-07-24-claude-5-models-and-session-surface-fixes.md +0 -116
- package/reference/claude-config/sync-notes/2026-07-27-agent-strict-output-and-turn-drift.md +0 -73
- package/reference/claude-config/sync-notes/2026-07-28-agent-reply-is-its-own-field.md +0 -84
- package/reference/claude-config/sync-notes/2026-07-30-login-screen-and-member-provisioning-state.md +0 -114
- package/reference/claude-config/sync-notes/2026-08-02-auth-guard-defaults-and-truncation-fix.md +0 -122
- package/reference/claude-config/sync-notes/2026-08-03-agent-prose-escape-normalization.md +0 -88
- package/reference/claude-config/sync-notes/2026-08-03-cli-gateway-errors-and-request-timeout.md +0 -120
- package/reference/claude-config/sync-notes/README.md +0 -43
- package/reference/sdk/framework/interaction-guidance.mdx +0 -182
- package/reference/sdk/framework/memory.mdx +0 -326
- package/reference/sdk/framework/resource-documentation.mdx +0 -90
- package/reference/sdk/roadmap.mdx +0 -164
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: submit-request
|
|
3
|
-
description: Submit a structured request report to the Elevasis platform via CLI — enforces pre-analysis before posting
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Submit Request
|
|
7
|
-
|
|
8
|
-
Submit a structured request report to the Elevasis platform. The agent performs a six-phase analysis before posting so that every submitted request includes meaningful context, not just a one-liner.
|
|
9
|
-
|
|
10
|
-
**Usage:** `/submit-request [optional description]`
|
|
11
|
-
|
|
12
|
-
If a description is provided, it is the primary signal for Phase 1. Otherwise the agent analyzes recent conversation context plus any active error context.
|
|
13
|
-
|
|
14
|
-
## Env Requirements
|
|
15
|
-
|
|
16
|
-
`ELEVASIS_PLATFORM_KEY` must be present in the project's root `.env` (the same key used by all other `elevasis-sdk` commands — no additional setup needed if deploy is already working).
|
|
17
|
-
|
|
18
|
-
The organization and API base URL are resolved automatically by the CLI. No `ELEVASIS_API_KEY` or `ELEVASIS_API_URL` needed.
|
|
19
|
-
|
|
20
|
-
## Pre-Analysis Phases
|
|
21
|
-
|
|
22
|
-
Complete all six phases before assembling the report or asking for confirmation. Do not skip phases — they ensure the submitted record is actionable.
|
|
23
|
-
|
|
24
|
-
### Phase 1: Collect Context
|
|
25
|
-
|
|
26
|
-
Gather available context:
|
|
27
|
-
|
|
28
|
-
- If the user provided a description with the command, treat it as the primary signal.
|
|
29
|
-
- Otherwise review the last ~20 conversation messages for error output, failed commands, unexpected behavior, and any `explain_page` / active error context.
|
|
30
|
-
- Ask one targeted follow-up question if a key detail is ambiguous. Do not fire multiple questions at once.
|
|
31
|
-
|
|
32
|
-
### Phase 2: Identify Source
|
|
33
|
-
|
|
34
|
-
Pinpoint where the request originates:
|
|
35
|
-
|
|
36
|
-
- File paths (if a code or config file is involved)
|
|
37
|
-
- Workflow or agent resource IDs (if a platform execution failed)
|
|
38
|
-
- Execution IDs (if available in logs or prior output)
|
|
39
|
-
- Route or page path (if a UI issue)
|
|
40
|
-
|
|
41
|
-
Record these for the `evidence` and `affected_page` fields.
|
|
42
|
-
|
|
43
|
-
### Phase 3: Gather Errors
|
|
44
|
-
|
|
45
|
-
Extract concrete error signals (if applicable):
|
|
46
|
-
|
|
47
|
-
- Full error messages and stack traces (truncated to the relevant portion)
|
|
48
|
-
- HTTP status codes and response bodies
|
|
49
|
-
- Log lines with timestamps if available
|
|
50
|
-
- Screenshots or screenshot file references if the user provided them
|
|
51
|
-
|
|
52
|
-
These go into the `evidence` object. For feature requests or questions, this phase may produce an empty `evidence` object — that is expected.
|
|
53
|
-
|
|
54
|
-
### Phase 4: Select Type and Classify Severity and Category
|
|
55
|
-
|
|
56
|
-
Select exactly one value for **type first**, then **severity**, then **category**:
|
|
57
|
-
|
|
58
|
-
**Type:**
|
|
59
|
-
|
|
60
|
-
| Value | When to use |
|
|
61
|
-
| ---------- | -------------------------------------------------- |
|
|
62
|
-
| `bug` | Something is broken or behaving incorrectly |
|
|
63
|
-
| `feature` | A new capability or enhancement request |
|
|
64
|
-
| `question` | Asking for clarification, guidance, or explanation |
|
|
65
|
-
| `other` | Doesn't fit the above |
|
|
66
|
-
|
|
67
|
-
**Severity:**
|
|
68
|
-
|
|
69
|
-
| Value | When to use |
|
|
70
|
-
| ---------- | ------------------------------------------------------------------- |
|
|
71
|
-
| `critical` | Data loss, security breach, complete feature outage, blocked deploy |
|
|
72
|
-
| `warning` | Degraded behavior, partial failure, noticeable but recoverable |
|
|
73
|
-
| `info` | Minor UX glitch, cosmetic bug, improvement suggestion |
|
|
74
|
-
|
|
75
|
-
**Category:**
|
|
76
|
-
|
|
77
|
-
| Value | When to use |
|
|
78
|
-
| --------------------- | ------------------------------------------------------ |
|
|
79
|
-
| `ui_bug` | Frontend rendering or interaction problem |
|
|
80
|
-
| `data_inconsistency` | DB records, API responses, or UI state don't match |
|
|
81
|
-
| `performance` | Slow load, timeout, high resource usage |
|
|
82
|
-
| `error_pattern` | Recurring or systematic error across executions |
|
|
83
|
-
| `configuration` | Misconfigured resource, credential, env var, or policy |
|
|
84
|
-
| `feature_request` | New feature or enhancement being requested |
|
|
85
|
-
| `api_design` | Feedback on API contract, naming, or behavior |
|
|
86
|
-
| `documentation` | Missing, incorrect, or unclear documentation |
|
|
87
|
-
| `integration_request` | Request for a new integration or adapter |
|
|
88
|
-
| `other` | Doesn't fit above |
|
|
89
|
-
|
|
90
|
-
### Phase 5: Build Structured Report
|
|
91
|
-
|
|
92
|
-
Assemble the report body from phases 1–4:
|
|
93
|
-
|
|
94
|
-
```json
|
|
95
|
-
{
|
|
96
|
-
"title": "One-line summary — specific, not vague",
|
|
97
|
-
"description": "What happened. What was expected. Steps to reproduce if applicable.",
|
|
98
|
-
"type": "<bug|feature|question|other>",
|
|
99
|
-
"severity": "<critical|warning|info>",
|
|
100
|
-
"category": "<category value>",
|
|
101
|
-
"affected_page": "<route or page path, omit if not a UI issue>",
|
|
102
|
-
"evidence": {
|
|
103
|
-
"errors": ["<error message or stack trace excerpt>"],
|
|
104
|
-
"log_snippets": ["<relevant log lines>"],
|
|
105
|
-
"screenshot_refs": ["<file path if user provided a screenshot>"]
|
|
106
|
-
},
|
|
107
|
-
"context": {
|
|
108
|
-
"source_files": ["<file paths>"],
|
|
109
|
-
"resource_ids": ["<workflow or agent IDs>"],
|
|
110
|
-
"execution_ids": ["<execution IDs>"],
|
|
111
|
-
"summary": "<one-paragraph agent analysis summary>"
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
Omit any field that has nothing meaningful to record. `project_id` and `task_id` are optional UUID fields — include them only if the request is clearly scoped to a specific project or task visible in context.
|
|
117
|
-
|
|
118
|
-
Do NOT include `source` or `organization_id` — the server sets both automatically.
|
|
119
|
-
|
|
120
|
-
### Phase 6: Confirm with User
|
|
121
|
-
|
|
122
|
-
Unless the command was invoked with `--auto`, present the assembled report to the user before submitting:
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
Request Report (ready to submit)
|
|
126
|
-
================================
|
|
127
|
-
Title: <title>
|
|
128
|
-
Type: <type>
|
|
129
|
-
Severity: <severity>
|
|
130
|
-
Category: <category>
|
|
131
|
-
Page: <affected_page or "—">
|
|
132
|
-
|
|
133
|
-
Description:
|
|
134
|
-
<description>
|
|
135
|
-
|
|
136
|
-
Evidence:
|
|
137
|
-
<summarized evidence>
|
|
138
|
-
|
|
139
|
-
Context:
|
|
140
|
-
<summarized context>
|
|
141
|
-
|
|
142
|
-
Submit? (yes / edit / cancel)
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
If the user says "edit", accept corrections and re-display the updated report before proceeding.
|
|
146
|
-
If the user says "cancel", abort and confirm: "Submission cancelled."
|
|
147
|
-
Auto-submit (`--auto`) skips this confirmation entirely — use only when the caller is a trusted agent pipeline.
|
|
148
|
-
|
|
149
|
-
## Submit
|
|
150
|
-
|
|
151
|
-
Once confirmed (or `--auto`), write the assembled JSON body to a temp file under the project-root `tmp/` directory, then submit via the SDK CLI:
|
|
152
|
-
|
|
153
|
-
```bash
|
|
154
|
-
# Write the report body to tmp/request-report.json from the project root
|
|
155
|
-
# The template keeps tmp/ gitignored for transient CLI payloads
|
|
156
|
-
|
|
157
|
-
pnpm elevasis-sdk request:submit -f tmp/request-report.json --cleanup-input --pretty
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
`--cleanup-input` removes the temp file automatically after a successful submission. If the command fails, leave the file in `tmp/` for inspection.
|
|
161
|
-
|
|
162
|
-
## Report Back
|
|
163
|
-
|
|
164
|
-
On success, the CLI prints the request ID. Surface it to the user:
|
|
165
|
-
|
|
166
|
-
```
|
|
167
|
-
Submitted — id: <uuid>
|
|
168
|
-
Track it in Command Center > Requests.
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
## Troubleshooting
|
|
172
|
-
|
|
173
|
-
| Error | Cause | Fix |
|
|
174
|
-
| ------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
|
175
|
-
| `ELEVASIS_PLATFORM_KEY` missing | Key not set in root `.env` | Add `ELEVASIS_PLATFORM_KEY=sk_...` to `.env`. Provision from Command Center > Settings > API Keys. |
|
|
176
|
-
| `401 Unauthorized` | Key is malformed or revoked | Verify the key starts with `sk_` and is 67 chars. Re-provision if needed. |
|
|
177
|
-
| `403 Forbidden` | Key's org lacks access to request reporting | Contact the platform operator to verify the key's org permissions. |
|
|
178
|
-
| `Invalid request body` | Report failed CLI-side Zod validation before the request was sent | Read the field errors printed by the CLI. Common causes: missing `title`/`description`/`type`, invalid enum. |
|
|
179
|
-
| `400 Bad Request` | Body passed CLI validation but failed server-side validation | Read the response body for the specific field error. |
|
|
180
|
-
| Connection refused | API server unreachable | Default target is `https://api.elevasis.io` — check network. For local dev, set `ELEVASIS_API_URL` in `.env`. |
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sync
|
|
3
|
-
description: Fresh reinstall and cache reset after local dependency or cache drift
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Sync
|
|
7
|
-
|
|
8
|
-
Fresh reinstall and cache reset for local dependency or cache drift.
|
|
9
|
-
|
|
10
|
-
**Usage:** `/sync`
|
|
11
|
-
|
|
12
|
-
Use this when: packages feel stale, Vite cache is serving old code, or `pnpm install` didn't fully clean up after a package version bump.
|
|
13
|
-
|
|
14
|
-
For pulling template updates, surfacing new `.claude/sync-notes/` guidance, and running the baseline post-pull verification flow, use `/git-sync` instead.
|
|
15
|
-
|
|
16
|
-
## Process
|
|
17
|
-
|
|
18
|
-
### Step 1: Wipe
|
|
19
|
-
|
|
20
|
-
Remove all `node_modules` and build caches across the workspace in parallel:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
rm -rf node_modules
|
|
24
|
-
rm -rf ui/node_modules
|
|
25
|
-
rm -rf ui/node_modules/.vite
|
|
26
|
-
rm -rf operations/node_modules
|
|
27
|
-
rm -rf core/node_modules
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Step 2: Reinstall
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
pnpm install
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Report success or any errors.
|
|
37
|
-
|
|
38
|
-
### Step 3: Report
|
|
39
|
-
|
|
40
|
-
```text
|
|
41
|
-
Sync Complete
|
|
42
|
-
=============
|
|
43
|
-
Wiped: node_modules (root, ui, operations, core) + Vite cache
|
|
44
|
-
Install: success
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
If `pnpm install` fails, report the error and stop - do not attempt to start the dev server.
|
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tutorial
|
|
3
|
-
description: |
|
|
4
|
-
Persona-aware onboarding tutorial that forks into a vibe-coder track (zero technical
|
|
5
|
-
vocabulary, agent does all the work) or a technical track (full SDK depth, code-first).
|
|
6
|
-
On first invocation, asks one gate question to determine the user's track and persists the
|
|
7
|
-
choice to .claude/memory/profile.md. Subsequent invocations skip the question and display
|
|
8
|
-
the track menu with current progress markers. Supports /tutorial switch (flip track) and
|
|
9
|
-
/tutorial status (display-only).
|
|
10
|
-
argument-hint: "[switch | status]"
|
|
11
|
-
context: fork
|
|
12
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# Tutorial
|
|
16
|
-
|
|
17
|
-
Persona-aware onboarding. Forks at first invocation into a **vibe-coder track** (non-technical,
|
|
18
|
-
agent handles everything silently) or a **technical track** (developer-focused, full SDK depth).
|
|
19
|
-
|
|
20
|
-
**Usage:** `/tutorial` | `/tutorial switch` | `/tutorial status`
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Architecture Note
|
|
25
|
-
|
|
26
|
-
`profile.md` is read at session start alongside `.claude/rules/agent-start-here.md`. The rules
|
|
27
|
-
layer uses the track choice to adjust tone, vocabulary, and tool-call visibility project-wide.
|
|
28
|
-
This router does not enforce that tone -- it only writes profile.md and loads the right track
|
|
29
|
-
file. The project-wide tone effect is handled by the rules layer reading profile.md on each
|
|
30
|
-
session start.
|
|
31
|
-
|
|
32
|
-
Track separation is explicit:
|
|
33
|
-
|
|
34
|
-
- The vibe-coder track teaches the underlying coordination idea through business language only:
|
|
35
|
-
business profile, saved progress, automations, dashboard, and reports. Do not name the technical
|
|
36
|
-
pattern in vibe-coder menus, lessons, prompts, or progress labels.
|
|
37
|
-
- The technical track may name OM spine vocabulary and can point developers at
|
|
38
|
-
`operations/node_modules/@elevasis/sdk/reference/spine/spine-primer.md` when lessons discuss shared stage,
|
|
39
|
-
status, or catalog vocabularies.
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## Step 1: Parse the Argument
|
|
44
|
-
|
|
45
|
-
Check whether the invocation included an argument:
|
|
46
|
-
|
|
47
|
-
- `/tutorial switch` -- go to [Switch Track](#switch-track)
|
|
48
|
-
- `/tutorial status` -- go to [Status Display](#status-display) (no prompt afterward)
|
|
49
|
-
- `/tutorial` (no argument) -- continue to Step 2
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
## Step 2: Check for Existing Profile
|
|
54
|
-
|
|
55
|
-
Read `.claude/memory/profile.md`.
|
|
56
|
-
|
|
57
|
-
- **File does not exist (first invocation):** go to [First Invocation](#first-invocation)
|
|
58
|
-
- **File exists:** go to [Returning Invocation](#returning-invocation)
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## First Invocation
|
|
63
|
-
|
|
64
|
-
### Ask the Gate Question
|
|
65
|
-
|
|
66
|
-
Print verbatim:
|
|
67
|
-
|
|
68
|
-
> "Are you here to **build automations by describing what you want** (and I handle the technical
|
|
69
|
-
> side), or are you a **developer** who'll edit code directly?"
|
|
70
|
-
|
|
71
|
-
Wait for the user's answer. Accept natural-language replies -- map to one of two tracks:
|
|
72
|
-
|
|
73
|
-
| User says (examples) | Track |
|
|
74
|
-
| ---------------------------------------------------------------- | ------------ |
|
|
75
|
-
| "describe what I want", "non-technical", "you handle it", "vibe" | `vibe-coder` |
|
|
76
|
-
| "developer", "edit code", "technical", "build myself", "code" | `technical` |
|
|
77
|
-
|
|
78
|
-
If the answer is ambiguous, ask once: "Just to confirm -- do you want me to handle the technical
|
|
79
|
-
side, or will you be editing code directly?"
|
|
80
|
-
|
|
81
|
-
### Persist the Profile
|
|
82
|
-
|
|
83
|
-
Write `.claude/memory/profile.md` using the template below. Select the tone-implications block
|
|
84
|
-
that matches the chosen track.
|
|
85
|
-
|
|
86
|
-
**For vibe-coder track:**
|
|
87
|
-
|
|
88
|
-
```markdown
|
|
89
|
-
# Project Profile
|
|
90
|
-
|
|
91
|
-
**Track:** vibe-coder
|
|
92
|
-
**Selected at:** YYYY-MM-DD
|
|
93
|
-
**Switch tracks:** Run `/tutorial switch` to change.
|
|
94
|
-
|
|
95
|
-
## Tone Implications
|
|
96
|
-
|
|
97
|
-
In this project, always:
|
|
98
|
-
- Say "automation" instead of workflow / agent / resource
|
|
99
|
-
- Say "the information your automation needs" instead of schema / Zod / type
|
|
100
|
-
- Say "make it live" or "publish" instead of deploy
|
|
101
|
-
- Say "your business profile" instead of organization model / config
|
|
102
|
-
- Say "account connection" instead of credential
|
|
103
|
-
- Say "your dashboard" or "your map" instead of Operations / Command Center / Command View
|
|
104
|
-
- Say "your approval queue" instead of HITL / approval gate
|
|
105
|
-
- Never mention repo / monorepo / git
|
|
106
|
-
- Never mention TypeScript / pnpm / CLI
|
|
107
|
-
- Say "the tool the automation uses" instead of adapter / platform tool
|
|
108
|
-
- Say "updating your profile together" instead of /om ceremony
|
|
109
|
-
- Run slash commands silently on the user's behalf -- never expose command names or code
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
**For technical track:**
|
|
113
|
-
|
|
114
|
-
```markdown
|
|
115
|
-
# Project Profile
|
|
116
|
-
|
|
117
|
-
**Track:** technical
|
|
118
|
-
**Selected at:** YYYY-MM-DD
|
|
119
|
-
**Switch tracks:** Run `/tutorial switch` to change.
|
|
120
|
-
|
|
121
|
-
## Tone Implications
|
|
122
|
-
|
|
123
|
-
Code-first communication. Use current command names, SDK terminology, and OM spine vocabulary
|
|
124
|
-
without hand-holding. No vocabulary substitutions. Slash commands may be surfaced directly. Full
|
|
125
|
-
technical depth.
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### Initialize Progress File
|
|
129
|
-
|
|
130
|
-
Read `.claude/memory/tutorial-progress.md`.
|
|
131
|
-
|
|
132
|
-
- If the file does not exist, read `.claude/skills/tutorial/progress-template.md` and write its
|
|
133
|
-
contents verbatim to `.claude/memory/tutorial-progress.md`. If `progress-template.md` is also
|
|
134
|
-
missing (sibling agent has not yet created it), write a minimal stub:
|
|
135
|
-
|
|
136
|
-
```markdown
|
|
137
|
-
# Tutorial Progress
|
|
138
|
-
|
|
139
|
-
**Vibe-coder track**
|
|
140
|
-
|
|
141
|
-
- [ ] 1 Welcome
|
|
142
|
-
- [ ] 2 How to talk to me
|
|
143
|
-
- [ ] 3 Your business profile
|
|
144
|
-
- [ ] 4 Your first automation
|
|
145
|
-
- [ ] 5 Your dashboard
|
|
146
|
-
- [ ] 6 Your approval queue
|
|
147
|
-
- [ ] 7 Changing things later
|
|
148
|
-
- [ ] 8 When things go wrong
|
|
149
|
-
|
|
150
|
-
**Technical track**
|
|
151
|
-
|
|
152
|
-
- [ ] 1 What is this workspace
|
|
153
|
-
- [ ] 2 The skill layer
|
|
154
|
-
- [ ] 3 The vibe layer
|
|
155
|
-
- [ ] 4 Echo workflow tour
|
|
156
|
-
- [ ] 5 Custom workflow with schemas
|
|
157
|
-
- [ ] 6 Platform tools and credentials
|
|
158
|
-
- [ ] 7 Multi-step and conditionals
|
|
159
|
-
- [ ] 8 Going to production
|
|
160
|
-
- [ ] 9 /om ceremony
|
|
161
|
-
- [ ] 10 Features and labels
|
|
162
|
-
- [ ] 11 Entity extensions
|
|
163
|
-
- [ ] 12 HITL
|
|
164
|
-
- [ ] 13 Schedules
|
|
165
|
-
- [ ] 14 Notifications + integrations
|
|
166
|
-
- [ ] 15 Error handling
|
|
167
|
-
- [ ] 16 LLM and agents
|
|
168
|
-
- [ ] 17 Composition
|
|
169
|
-
- [ ] 18 Rules, memory, scaffold registry, OM spine
|
|
170
|
-
- [ ] 19 Template lifecycle and /git-sync
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
- If the file already exists, leave it unchanged.
|
|
174
|
-
|
|
175
|
-
### Load Track and Show Menu
|
|
176
|
-
|
|
177
|
-
Read the matching track file:
|
|
178
|
-
|
|
179
|
-
- `vibe-coder` track: `.claude/skills/tutorial/vibe-coder.md`
|
|
180
|
-
- `technical` track: `.claude/skills/tutorial/technical.md`
|
|
181
|
-
|
|
182
|
-
Read `.claude/memory/tutorial-progress.md` and apply progress markers to the menu (see
|
|
183
|
-
[Progress Markers](#progress-markers)). Display the menu. Prompt: "Pick a number to start."
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
## Returning Invocation
|
|
188
|
-
|
|
189
|
-
Read `.claude/memory/profile.md` and extract the **Track** field.
|
|
190
|
-
|
|
191
|
-
Read `.claude/memory/tutorial-progress.md`.
|
|
192
|
-
|
|
193
|
-
Load the matching track file:
|
|
194
|
-
|
|
195
|
-
- `vibe-coder` track: `.claude/skills/tutorial/vibe-coder.md`
|
|
196
|
-
- `technical` track: `.claude/skills/tutorial/technical.md`
|
|
197
|
-
|
|
198
|
-
Apply progress markers to the menu (see [Progress Markers](#progress-markers)). Display the
|
|
199
|
-
menu. Prompt: "Pick a number to continue, or type a number to jump to any lesson."
|
|
200
|
-
|
|
201
|
-
Wait for the user to pick a number, then follow that lesson's instructions from the track file.
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
## Progress Markers
|
|
206
|
-
|
|
207
|
-
When rendering any menu, annotate each item using the markers from `tutorial-progress.md`:
|
|
208
|
-
|
|
209
|
-
| Marker in progress file | Menu display |
|
|
210
|
-
| ----------------------- | ------------ |
|
|
211
|
-
| `[ ]` | `[ ]` |
|
|
212
|
-
| `[>]` | `[>]` |
|
|
213
|
-
| `[x] YYYY-MM-DD` | `[x]` |
|
|
214
|
-
|
|
215
|
-
Read the progress file, match items by lesson number and track section, and substitute the
|
|
216
|
-
marker inline. Items with no matching entry display `[ ]`.
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
## Switch Track
|
|
221
|
-
|
|
222
|
-
Print:
|
|
223
|
-
|
|
224
|
-
> "You're currently on the **{current-track}** track. Switching will show you the
|
|
225
|
-
> **{other-track}** menu. Your progress for each track is saved separately and will not be lost.
|
|
226
|
-
> Switch?"
|
|
227
|
-
|
|
228
|
-
Wait for confirmation. On yes:
|
|
229
|
-
|
|
230
|
-
1. Read `.claude/memory/profile.md`.
|
|
231
|
-
2. Update the **Track** field to the other track name.
|
|
232
|
-
3. Update the **Selected at** date to today.
|
|
233
|
-
4. Replace the Tone Implications block with the block for the new track (see [First Invocation](#first-invocation) for both blocks).
|
|
234
|
-
5. Write the updated profile.md.
|
|
235
|
-
6. Load the new track file and display the menu with current progress markers.
|
|
236
|
-
7. Prompt: "Pick a number to start, or press Enter to begin at lesson 1."
|
|
237
|
-
|
|
238
|
-
On no: print "No change made." and stop.
|
|
239
|
-
|
|
240
|
-
Do not modify `tutorial-progress.md` -- it tracks per-track progress independently.
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
## Status Display
|
|
245
|
-
|
|
246
|
-
Same as [Returning Invocation](#returning-invocation) but do not show a number-prompt afterward.
|
|
247
|
-
If no profile exists yet, print:
|
|
248
|
-
|
|
249
|
-
> "No track selected yet. Run `/tutorial` to get started."
|
|
250
|
-
|
|
251
|
-
---
|
|
252
|
-
|
|
253
|
-
## Error States
|
|
254
|
-
|
|
255
|
-
- **Track file missing** (`vibe-coder.md` or `technical.md` not found): print "Track content
|
|
256
|
-
file is not yet available. It may still be generating -- try again in a moment." Do not
|
|
257
|
-
attempt to generate the content; it belongs to the sibling track files.
|
|
258
|
-
- **progress-template.md missing**: write the minimal stub documented in [First Invocation](#first-invocation). Do not fail.
|
|
259
|
-
- **profile.md malformed**: treat as missing and run the gate question again.
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
# Tutorial Progress
|
|
2
|
-
|
|
3
|
-
This file lives at `.claude/memory/tutorial-progress.md` once `/tutorial` runs for the first time.
|
|
4
|
-
It tracks per-track progress separately so users can switch tracks without losing state.
|
|
5
|
-
|
|
6
|
-
**Started:** {YYYY-MM-DD}
|
|
7
|
-
**Last session:** {YYYY-MM-DD}
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Vibe-Coder Track
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
Your Tutorial
|
|
15
|
-
==============
|
|
16
|
-
1 Welcome -- what this place does for you [ ]
|
|
17
|
-
2 How to talk to me [ ]
|
|
18
|
-
3 Your business profile [ ]
|
|
19
|
-
4 Your first automation [ ]
|
|
20
|
-
5 Your dashboard -- where everything lives [ ]
|
|
21
|
-
6 Your approval queue -- signing off on things [ ]
|
|
22
|
-
7 Changing things later [ ]
|
|
23
|
-
8 When things go wrong [ ]
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Technical Track
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
SECTION A -- The workspace (3 items)
|
|
32
|
-
1 What is this workspace [ ]
|
|
33
|
-
2 The skill layer -- slash commands you'll use [ ]
|
|
34
|
-
3 The vibe layer -- ambient intent classification [ ]
|
|
35
|
-
|
|
36
|
-
SECTION B -- Build your first thing (5 items)
|
|
37
|
-
4 Echo workflow tour [ ]
|
|
38
|
-
5 Custom workflow with schemas [ ]
|
|
39
|
-
6 Platform tools and credentials [ ]
|
|
40
|
-
7 Multi-step and conditionals [ ]
|
|
41
|
-
8 Going to production [ ]
|
|
42
|
-
|
|
43
|
-
SECTION C -- The Organization Model (3 items)
|
|
44
|
-
9 /om ceremony -- identity, customers, [ ]
|
|
45
|
-
offerings via the layered flow
|
|
46
|
-
10 Features and labels [ ]
|
|
47
|
-
11 Entity extensions -- BaseProject, BaseDeal [ ]
|
|
48
|
-
|
|
49
|
-
SECTION D -- Modules (load on demand) (6 items)
|
|
50
|
-
12 HITL [ ]
|
|
51
|
-
13 Schedules [ ]
|
|
52
|
-
14 Notifications + integrations [ ]
|
|
53
|
-
15 Error handling [ ]
|
|
54
|
-
16 LLM and agents [ ]
|
|
55
|
-
17 Composition (execution.trigger) [ ]
|
|
56
|
-
|
|
57
|
-
SECTION E -- Power user (2 items)
|
|
58
|
-
18 Rules, memory, scaffold registry [ ]
|
|
59
|
-
19 Template lifecycle and /git-sync [ ]
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## Completed Lessons
|
|
65
|
-
|
|
66
|
-
| Track | Item | Title | Completed | Duration |
|
|
67
|
-
| ---------- | ---- | ----- | --------- | -------- |
|
|
68
|
-
| _none yet_ | | | | |
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## Capability Observations
|
|
73
|
-
|
|
74
|
-
(The teaching agent jots brief notes here, e.g. "user navigated Command Center confidently" or "user wanted code shown in lesson 4 -- flagged as candidate for /tutorial switch")
|