@elevasis/sdk 1.20.2 → 1.22.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.
Files changed (164) hide show
  1. package/dist/cli.cjs +4220 -1583
  2. package/dist/index.d.ts +1035 -481
  3. package/dist/index.js +7381 -4187
  4. package/dist/node/index.d.ts +1 -3
  5. package/dist/node/index.js +40 -49
  6. package/dist/test-utils/index.d.ts +699 -123
  7. package/dist/test-utils/index.js +3826 -630
  8. package/dist/worker/index.js +3616 -442
  9. package/package.json +3 -3
  10. package/reference/_navigation.md +9 -7
  11. package/reference/_reference-manifest.json +1 -1
  12. package/reference/claude-config/hooks/post-edit-validate.mjs +98 -98
  13. package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +188 -188
  14. package/reference/claude-config/hooks/tool-failure-recovery.mjs +73 -73
  15. package/reference/claude-config/registries/graph-skills.json +4 -4
  16. package/reference/claude-config/registries/knowledge-flags.json +0 -2
  17. package/reference/claude-config/rules/active-change-index.md +80 -80
  18. package/reference/claude-config/rules/agent-start-here.md +277 -273
  19. package/reference/claude-config/rules/deployment.md +57 -57
  20. package/reference/claude-config/rules/error-handling.md +56 -56
  21. package/reference/claude-config/rules/execution.md +40 -40
  22. package/reference/claude-config/rules/frontend.md +4 -4
  23. package/reference/claude-config/rules/observability.md +31 -31
  24. package/reference/claude-config/rules/operations.md +29 -17
  25. package/reference/claude-config/rules/organization-model.md +108 -40
  26. package/reference/claude-config/rules/organization-os.md +115 -113
  27. package/reference/claude-config/rules/package-taxonomy.md +33 -33
  28. package/reference/claude-config/rules/platform.md +42 -42
  29. package/reference/claude-config/rules/shared-types.md +49 -46
  30. package/reference/claude-config/rules/task-tracking.md +47 -47
  31. package/reference/claude-config/rules/ui.md +200 -200
  32. package/reference/claude-config/rules/vibe.md +235 -231
  33. package/reference/claude-config/scripts/statusline-command.js +18 -18
  34. package/reference/claude-config/settings.json +34 -34
  35. package/reference/claude-config/skills/deploy/{SKILL.md → skill.md} +156 -156
  36. package/reference/claude-config/skills/dsp/SKILL.md +66 -66
  37. package/reference/claude-config/skills/elevasis/SKILL.md +235 -235
  38. package/reference/claude-config/skills/explore/SKILL.md +6 -6
  39. package/reference/claude-config/skills/git-sync/SKILL.md +126 -126
  40. package/reference/claude-config/skills/knowledge/SKILL.md +330 -271
  41. package/reference/claude-config/skills/knowledge/operations/codify-level-a.md +100 -100
  42. package/reference/claude-config/skills/knowledge/operations/codify-level-b.md +159 -158
  43. package/reference/claude-config/skills/knowledge/operations/customers.md +109 -109
  44. package/reference/claude-config/skills/knowledge/operations/features.md +76 -113
  45. package/reference/claude-config/skills/knowledge/operations/goals.md +118 -118
  46. package/reference/claude-config/skills/knowledge/operations/identity.md +93 -93
  47. package/reference/claude-config/skills/knowledge/operations/labels.md +94 -89
  48. package/reference/claude-config/skills/knowledge/operations/offerings.md +109 -109
  49. package/reference/claude-config/skills/knowledge/operations/roles.md +99 -99
  50. package/reference/claude-config/skills/knowledge/operations/techStack.md +30 -30
  51. package/reference/claude-config/skills/project/SKILL.md +1088 -1088
  52. package/reference/claude-config/skills/run-ui/SKILL.md +73 -73
  53. package/reference/claude-config/skills/save/SKILL.md +3 -3
  54. package/reference/claude-config/skills/setup/SKILL.md +275 -275
  55. package/reference/claude-config/skills/status/SKILL.md +59 -59
  56. package/reference/claude-config/skills/submit-request/SKILL.md +180 -180
  57. package/reference/claude-config/skills/sync/SKILL.md +47 -47
  58. package/reference/claude-config/skills/tutorial/SKILL.md +259 -259
  59. package/reference/claude-config/skills/tutorial/progress-template.md +74 -74
  60. package/reference/claude-config/skills/tutorial/technical.md +1303 -1306
  61. package/reference/claude-config/skills/tutorial/vibe-coder.md +890 -890
  62. package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +27 -27
  63. package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +30 -30
  64. package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +73 -73
  65. package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +86 -86
  66. package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +55 -55
  67. package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +97 -97
  68. package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +112 -112
  69. package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +93 -93
  70. package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +58 -58
  71. package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +56 -56
  72. package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +71 -71
  73. package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +83 -83
  74. package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +59 -59
  75. package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +42 -42
  76. package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +60 -60
  77. package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +37 -37
  78. package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +34 -34
  79. package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +38 -38
  80. package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +32 -32
  81. package/reference/claude-config/sync-notes/2026-05-09-command-system.md +33 -33
  82. package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +69 -69
  83. package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +30 -0
  84. package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +42 -0
  85. package/reference/claude-config/sync-notes/README.md +43 -43
  86. package/reference/cli.mdx +808 -668
  87. package/reference/concepts.mdx +146 -146
  88. package/reference/deployment/api.mdx +297 -297
  89. package/reference/deployment/command-center.mdx +209 -209
  90. package/reference/deployment/index.mdx +195 -195
  91. package/reference/deployment/provided-features.mdx +107 -93
  92. package/reference/deployment/ui-execution.mdx +250 -250
  93. package/reference/examples/organization-model.ts +147 -84
  94. package/reference/framework/agent.mdx +156 -156
  95. package/reference/framework/index.mdx +195 -195
  96. package/reference/framework/interaction-guidance.mdx +182 -182
  97. package/reference/framework/memory.mdx +326 -326
  98. package/reference/framework/project-structure.mdx +282 -282
  99. package/reference/framework/tutorial-system.mdx +135 -135
  100. package/reference/getting-started.mdx +142 -142
  101. package/reference/index.mdx +106 -106
  102. package/reference/packages/core/src/README.md +14 -14
  103. package/reference/packages/core/src/business/README.md +2 -2
  104. package/reference/packages/core/src/knowledge/README.md +33 -32
  105. package/reference/packages/core/src/organization-model/README.md +149 -109
  106. package/reference/packages/core/src/test-utils/README.md +37 -37
  107. package/reference/packages/ui/src/api/README.md +18 -18
  108. package/reference/packages/ui/src/app/README.md +24 -24
  109. package/reference/packages/ui/src/auth/README.md +18 -18
  110. package/reference/packages/ui/src/components/README.md +24 -24
  111. package/reference/packages/ui/src/execution/README.md +16 -16
  112. package/reference/packages/ui/src/features/README.md +28 -28
  113. package/reference/packages/ui/src/graph/README.md +16 -16
  114. package/reference/packages/ui/src/hooks/README.md +23 -23
  115. package/reference/packages/ui/src/initialization/README.md +19 -19
  116. package/reference/packages/ui/src/knowledge/README.md +31 -31
  117. package/reference/packages/ui/src/organization/README.md +18 -18
  118. package/reference/packages/ui/src/profile/README.md +19 -19
  119. package/reference/packages/ui/src/provider/README.md +32 -32
  120. package/reference/packages/ui/src/router/README.md +18 -18
  121. package/reference/packages/ui/src/sse/README.md +13 -13
  122. package/reference/packages/ui/src/test-utils/README.md +7 -7
  123. package/reference/packages/ui/src/theme/README.md +23 -23
  124. package/reference/packages/ui/src/theme/presets/README.md +19 -19
  125. package/reference/packages/ui/src/types/README.md +16 -16
  126. package/reference/packages/ui/src/utils/README.md +18 -18
  127. package/reference/packages/ui/src/zustand/README.md +18 -18
  128. package/reference/platform-tools/adapters-integration.mdx +301 -301
  129. package/reference/platform-tools/adapters-platform.mdx +553 -553
  130. package/reference/platform-tools/index.mdx +217 -217
  131. package/reference/platform-tools/type-safety.mdx +82 -82
  132. package/reference/resources/index.mdx +349 -349
  133. package/reference/resources/patterns.mdx +449 -449
  134. package/reference/resources/types.mdx +116 -116
  135. package/reference/roadmap.mdx +165 -165
  136. package/reference/runtime.mdx +173 -173
  137. package/reference/scaffold/core/organization-graph.mdx +110 -89
  138. package/reference/scaffold/core/organization-model.mdx +226 -171
  139. package/reference/scaffold/index.mdx +67 -67
  140. package/reference/scaffold/operations/propagation-pipeline.md +77 -77
  141. package/reference/scaffold/operations/scaffold-maintenance.md +10 -10
  142. package/reference/scaffold/operations/workflow-recipes.md +138 -138
  143. package/reference/scaffold/recipes/add-a-feature.md +310 -88
  144. package/reference/scaffold/recipes/add-a-resource.md +137 -117
  145. package/reference/scaffold/recipes/customize-crm-actions.md +439 -439
  146. package/reference/scaffold/recipes/customize-knowledge-browser.md +384 -0
  147. package/reference/scaffold/recipes/customize-organization-model.md +281 -118
  148. package/reference/scaffold/recipes/extend-a-base-entity.md +8 -8
  149. package/reference/scaffold/recipes/extend-crm.md +40 -39
  150. package/reference/scaffold/recipes/extend-lead-gen.md +400 -401
  151. package/reference/scaffold/recipes/gate-by-feature-or-admin.md +118 -114
  152. package/reference/scaffold/recipes/index.md +47 -46
  153. package/reference/scaffold/recipes/query-the-knowledge-graph.md +227 -0
  154. package/reference/scaffold/reference/contracts.md +2389 -2121
  155. package/reference/scaffold/reference/feature-registry.md +9 -20
  156. package/reference/scaffold/reference/glossary.md +76 -76
  157. package/reference/scaffold/ui/composition-extensibility.mdx +233 -233
  158. package/reference/scaffold/ui/customization.md +243 -243
  159. package/reference/scaffold/ui/feature-flags-and-gating.md +46 -46
  160. package/reference/scaffold/ui/feature-shell.mdx +72 -72
  161. package/reference/scaffold/ui/recipes.md +221 -213
  162. package/reference/spine/spine-primer.md +96 -96
  163. package/reference/templates/index.mdx +47 -47
  164. package/reference/troubleshooting.mdx +223 -223
@@ -1,113 +1,115 @@
1
- # Organization OS
2
-
3
- Organization OS is the semantic contract layer defining how organizations, features, domains, surfaces, entities, capabilities, and resources relate. This project consumes Organization OS through the SDK and foundations config.
4
-
5
- ## Key Files in This Project
6
-
7
- - `core/config/organization-model.ts` -- project-specific org model definition, Systems, and Resources descriptor catalog (`organizationModel.resources.entries`)
8
- - `core/config/extensions/` -- project-owned entity extension schemas
9
- - `core/types/entities.ts` -- typed entity contracts (Project, Deal, etc.). Extends `BaseProject`, `BaseDeal` from `@elevasis/core/entities` with project-specific metadata. Read this when authoring workflows that operate on these entities.
10
- - `ui/src/routes/__root.tsx` -- wires `ElevasisFeaturesProvider` with `canonicalOrganizationModel`
11
- - `ui/src/app-config.ts` -- references the org model
12
- - `operations/src/index.ts` -- `DeploymentSpec` registry for workflows and agents
13
-
14
- ## Domain Overview
15
-
16
- As of the 2026-05 resource-governance expansion, `OrganizationModel` includes platform configuration, organizational reality, and governance domains:
17
-
18
- **Platform configuration:** `features`, `branding`, `navigation`, `sales` (formerly `crm`), `prospecting` (formerly `leadGen`), `projects` (formerly `delivery`)
19
-
20
- **Organizational reality:** `identity`, `customers`, `offerings`, `roles`, `goals`
21
-
22
- **Governance:** `systems`, `resources`
23
-
24
- **Vibe layer:** `statuses`, `operations`
25
-
26
- Resource identity is authored once in `resources.entries`. Operations imports those descriptors and derives runtime `resourceId` / `type` while assembling the `DeploymentSpec`.
27
-
28
- ### Domain Rename Note
29
-
30
- Three field names changed in the 2026-04-20 expansion. Feature ID constants and consumer-facing feature IDs are unchanged:
31
-
32
- | Old field | New field | Feature ID (unchanged) | Constant (unchanged) |
33
- | ---------- | ------------- | ---------------------- | --------------------- |
34
- | `crm` | `sales` | `'crm'` | `CRM_FEATURE_ID` |
35
- | `leadGen` | `prospecting` | `'lead-gen'` | `LEAD_GEN_FEATURE_ID` |
36
- | `delivery` | `projects` | `'projects'` | `PROJECTS_FEATURE_ID` |
37
-
38
- ## Reference Documentation
39
-
40
- Full Organization OS documentation ships with the SDK and is available locally after `pnpm install`:
41
-
42
- ### Scaffold Reference (via SDK)
43
-
44
- All paths under `node_modules/@elevasis/sdk/reference/scaffold/`:
45
-
46
- - `node_modules/@elevasis/sdk/reference/scaffold/index.mdx` -- scaffold root and navigation
47
- - `node_modules/@elevasis/sdk/reference/scaffold/core/organization-model.mdx` -- semantic contract, all 14 domains, adapter authoring, validation gate, `/knowledge` entry point
48
- - `node_modules/@elevasis/sdk/reference/scaffold/core/organization-graph.mdx` -- graph derivation, node/edge taxonomy, lenses
49
- - `node_modules/@elevasis/sdk/reference/scaffold/ui/feature-shell.mdx` -- FeatureModule manifest, provider runtime
50
- - `node_modules/@elevasis/sdk/reference/scaffold/ui/composition-extensibility.mdx` -- layout primitives, router abstraction
51
- - `node_modules/@elevasis/sdk/reference/scaffold/ui/recipes.md` -- copy-paste UI recipes for pages, nav items, components
52
- - `node_modules/@elevasis/sdk/reference/scaffold/ui/feature-flags-and-gating.md` -- three-concept gating model
53
- - `node_modules/@elevasis/sdk/reference/scaffold/ui/customization.md` -- sidebar composition via manifest overrides
54
- - `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-feature.md` -- end-to-end from org model key through manifest, routes, gating
55
- - `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-resource.md` -- author and deploy a workflow or agent
56
- - `node_modules/@elevasis/sdk/reference/scaffold/recipes/gate-by-feature-or-admin.md` -- decision table for access control patterns
57
- - `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-lead-gen.md` -- build or extend lead-gen pages, sidebars, hooks, list/member state, artifacts, workflow adapters, and prospecting semantics
58
- - `node_modules/@elevasis/sdk/reference/scaffold/operations/workflow-recipes.md` -- workflow anatomy, adapter patterns, trigger patterns
59
- - `node_modules/@elevasis/sdk/reference/scaffold/operations/propagation-pipeline.md` -- how sync and verification work across projects
60
- - `node_modules/@elevasis/sdk/reference/scaffold/operations/scaffold-maintenance.md` -- content placement and auto-generation pipeline
61
- - `node_modules/@elevasis/sdk/reference/scaffold/reference/glossary.md` -- Organization OS term definitions
62
- - `node_modules/@elevasis/sdk/reference/scaffold/reference/contracts.md` -- auto-generated TypeScript contract shapes
63
- - `node_modules/@elevasis/sdk/reference/scaffold/reference/feature-registry.md` -- auto-generated feature manifest catalog
64
-
65
- ### Local Project Docs
66
-
67
- - `.claude/rules/agent-start-here.md` -- canonical first-read for agents (includes task-class routing)
68
-
69
- ## Published Subpaths and Constants
70
-
71
- - `@elevasis/core/organization-model` -- the curated organization-model barrel. Exports `defineOrganizationModel`, `resolveOrganizationModel`, `OrganizationModelSchema`, `DEFAULT_ORGANIZATION_MODEL`, organization-model types, and typed feature/surface constants.
72
- - Feature IDs: `CRM_FEATURE_ID`, `LEAD_GEN_FEATURE_ID`, `PROJECTS_FEATURE_ID`, `OPERATIONS_FEATURE_ID`, `MONITORING_FEATURE_ID`, `SETTINGS_FEATURE_ID`, `SEO_FEATURE_ID`
73
- - Headline surface IDs: `CRM_PIPELINE_SURFACE_ID`, `LEAD_GEN_LISTS_SURFACE_ID`, `PROJECTS_INDEX_SURFACE_ID`, `OPERATIONS_ORGANIZATION_GRAPH_SURFACE_ID`
74
- - Reality domain types: `OrganizationModelIdentity`, `OrganizationModelCustomers`, `OrganizationModelCustomerSegment`, `OrganizationModelOfferings`, `OrganizationModelProduct`, `OrganizationModelRoles`, `OrganizationModelRole`, `OrganizationModelGoals`, `OrganizationModelObjective`, `OrganizationModelKeyResult`
75
- - Vibe domain types: `OrganizationModelStatuses`, `OrganizationModelOperations`
76
- - TechStack: `TechStackEntrySchema`, `OrganizationModelTechStackEntry`
77
- - Use constants instead of magic strings when overriding the org model.
78
- - `@elevasis/core/entities` -- entity contracts barrel. Exports `BaseProject`, `BaseProjectSchema`, `BaseProjectInput` and the equivalents for `Milestone`, `Task`, `Deal`, `Company`, `Contact`. Each base interface is generic over a `\<TMeta>` extension slot. Extend these in `core/types/entities.ts` to add project-specific fields.
79
-
80
- ## When Working with Organization OS
81
-
82
- - **Changing org model (structural reality):** Use `/knowledge` as the entry point. Direct edits to `core/config/organization-model.ts` are discouraged -- `/knowledge` runs the read -> propose -> confirm -> write -> validate ceremony. Run `/knowledge` for the full layered flow or `/knowledge \<domain>` for a targeted domain.
83
- - **Building or extending CRM:** Start with `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-crm.md`. CRM spans Organization OS sales semantics, shared UI primitives, deal hooks, workflow adapters, and generated contracts.
84
- - **Building or extending lead gen:** Start with `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-lead-gen.md`. Lead gen spans Organization OS prospecting semantics, shared UI primitives, list/member hooks, artifact hooks, workflow adapters, and generated contracts.
85
- - **Customizing CRM deal actions:** Follow `node_modules/@elevasis/sdk/reference/scaffold/recipes/customize-crm-actions.md`. Do not add `sales.actions` to the org model; the v1 server-side override surface is intentionally deferred.
86
- - **Adding a feature:** Follow `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-feature.md`. For toggling an existing feature, use `/knowledge features`.
87
- - **Adding a resource:** Follow `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-resource.md`.
88
- - **Extending entities:** Start with `core/types/entities.ts` for the demo extension pattern. Base shapes come from `@elevasis/core/entities`.
89
- - **Authoring a workflow that takes a Project/Deal/etc.:** Reference entity types from `core/types/entities.ts` in the input schema -- do not redeclare them.
90
- - **Understanding contracts:** Check `node_modules/@elevasis/sdk/reference/scaffold/reference/contracts.md` for current type shapes.
91
- - **Debugging sync issues:** Check `node_modules/@elevasis/sdk/reference/scaffold/operations/propagation-pipeline.md` for the verification pipeline.
92
-
93
- ## `/knowledge` -- Org Model QA Entry Point
94
-
95
- `/knowledge` is the recurring, safe-to-re-run org model editor for this project. It is a skill (not a command) at `.claude/skills/knowledge/SKILL.md`.
96
-
97
- **Usage:**
98
-
99
- - `/knowledge` -- layered flow: identity → customers → offerings → roles → goals → techStack
100
- - `/knowledge identity` -- legal identity, mission/vision, industry, geography, timezone
101
- - `/knowledge customers` -- customer segments with jobs-to-be-done, pains, gains, firmographics
102
- - `/knowledge offerings` -- products and services with pricing model and segment references
103
- - `/knowledge roles` -- role chart with responsibilities, reporting lines, and holders
104
- - `/knowledge goals` -- organizational goals with period and measurable outcomes
105
- - `/knowledge techStack` -- external-SaaS and integration context; resource identity still belongs in OM Resources descriptors
106
- - `/knowledge features` -- enable, disable, or add features
107
- - `/knowledge labels` -- edit display labels on enum entries (statuses, stages)
108
-
109
- Every write is gated: `resolveOrganizationModel()` must succeed (Zod cross-refs pass) and `pnpm -C operations check-types` must pass. On failure the change is rolled back.
110
-
111
- **Distinction from `/setup`:** `/setup` is first-time bootstrap only. After bootstrap it delegates here. `/knowledge` is idempotent and safe to re-run at any time.
112
-
113
- The ambient vibe layer (`.claude/rules/vibe.md`) automatically detects Codify intent in plain language and delegates to `/knowledge`. Power users can invoke `/knowledge` directly to bypass the ambient layer entirely.
1
+ # Organization OS
2
+
3
+ Organization OS is the semantic contract layer defining how organizations, Systems, Actions, ontology, resources, policies, roles, goals, knowledge, and runtime surfaces relate. This project consumes Organization OS through published `@elevasis/core` / `@elevasis/sdk` configuration and does not maintain the monorepo schema.
4
+
5
+ This rule is an orientation and reference map. Concrete edit rules for `core/config/organization-model.ts`, `systemPath`, resources, ontology, knowledge, and validation live in `.claude/rules/organization-model.md`.
6
+
7
+ ## Key Files in This Project
8
+
9
+ - `core/config/organization-model.ts` -- project-specific org model definition, Systems, system-local ontology/config, Knowledge, and Resources descriptor catalog (`organizationModel.resources`)
10
+ - `core/config/extensions/` -- project-owned entity extension schemas
11
+ - `core/types/entities.ts` -- typed entity contracts (Project, Deal, etc.). Extends `BaseProject`, `BaseDeal` from `@elevasis/core/entities` with project-specific metadata. Read this when authoring workflows that operate on these entities.
12
+ - `ui/src/routes/__root.tsx` -- wires `ElevasisSystemsProvider` with `canonicalOrganizationModel`
13
+ - `ui/src/app-config.ts` -- references the org model
14
+ - `operations/src/index.ts` -- `DeploymentSpec` registry for workflows and agents
15
+
16
+ ## Domain Overview
17
+
18
+ As of the 2026-05 resource-governance expansion, `OrganizationModel` includes platform configuration, organizational reality, governance, and knowledge domains:
19
+
20
+ **Platform configuration:** `systems`, `branding`, `navigation`
21
+
22
+ **Organizational reality:** `identity`, `customers`, `offerings`, `roles`, `goals`
23
+
24
+ **Governance:** `resources`, `policies`, and resource-to-System relationships
25
+
26
+ **Ontology, config, and knowledge:** `System.ontology` owns durable semantic contracts such as object types, action types, catalog types, link types, event types, and surfaces. `System.config` owns system-local JSON settings and defaults. `knowledge` is a flat id-keyed map of playbooks, strategies, and references that explain or govern systems and ontology records.
27
+
28
+ Resource identity is authored once in the id-keyed `resources` map. Each resource attaches to a System via `systemPath` and can declare ontology relationships through `resource.ontology`. Operations imports those descriptors and derives runtime `resourceId` / `type` while assembling the `DeploymentSpec`.
29
+
30
+ ### Domain Rename Note
31
+
32
+ Some legacy UI feature constants and consumer-facing route keys are intentionally unchanged for compatibility:
33
+
34
+ | Old field | New field | Legacy key (unchanged) | UI constant (unchanged) |
35
+ | ---------- | ------------- | ---------------------- | --------------------- |
36
+ | `crm` | `sales` | `'crm'` | `CRM_FEATURE_ID` |
37
+ | `leadGen` | `prospecting` | `'lead-gen'` | `LEAD_GEN_FEATURE_ID` |
38
+ | `delivery` | `projects` | `'projects'` | `PROJECTS_FEATURE_ID` |
39
+
40
+ ## Reference Documentation
41
+
42
+ Full Organization OS documentation ships with the SDK and is available locally after `pnpm install`:
43
+
44
+ ### Scaffold Reference (via SDK)
45
+
46
+ All paths under `node_modules/@elevasis/sdk/reference/scaffold/`:
47
+
48
+ - `node_modules/@elevasis/sdk/reference/scaffold/index.mdx` -- scaffold root and navigation
49
+ - `node_modules/@elevasis/sdk/reference/scaffold/core/organization-model.mdx` -- semantic contract, domains, adapter authoring, validation gate, `/knowledge` entry point
50
+ - `node_modules/@elevasis/sdk/reference/scaffold/core/organization-graph.mdx` -- graph derivation, node/edge taxonomy, lenses
51
+ - `node_modules/@elevasis/sdk/reference/scaffold/ui/feature-shell.mdx` -- SystemModule manifest, provider runtime
52
+ - `node_modules/@elevasis/sdk/reference/scaffold/ui/composition-extensibility.mdx` -- layout primitives, router abstraction
53
+ - `node_modules/@elevasis/sdk/reference/scaffold/ui/recipes.md` -- copy-paste UI recipes for pages, nav items, components
54
+ - `node_modules/@elevasis/sdk/reference/scaffold/ui/feature-flags-and-gating.md` -- three-concept gating model
55
+ - `node_modules/@elevasis/sdk/reference/scaffold/ui/customization.md` -- sidebar composition via manifest overrides
56
+ - `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-feature.md` -- end-to-end OM-backed System recipe through manifest, routes, and gating
57
+ - `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-resource.md` -- author and deploy a workflow or agent
58
+ - `node_modules/@elevasis/sdk/reference/scaffold/recipes/gate-by-feature-or-admin.md` -- decision table for access control patterns
59
+ - `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-lead-gen.md` -- build or extend lead-gen pages, sidebars, hooks, list/member state, artifacts, workflow adapters, and prospecting semantics
60
+ - `node_modules/@elevasis/sdk/reference/scaffold/operations/workflow-recipes.md` -- workflow anatomy, adapter patterns, trigger patterns
61
+ - `node_modules/@elevasis/sdk/reference/scaffold/operations/propagation-pipeline.md` -- how sync and verification work across projects
62
+ - `node_modules/@elevasis/sdk/reference/scaffold/operations/scaffold-maintenance.md` -- content placement and auto-generation pipeline
63
+ - `node_modules/@elevasis/sdk/reference/scaffold/reference/glossary.md` -- Organization OS term definitions
64
+ - `node_modules/@elevasis/sdk/reference/scaffold/reference/contracts.md` -- auto-generated TypeScript contract shapes
65
+ - `node_modules/@elevasis/sdk/reference/scaffold/reference/feature-registry.md` -- auto-generated feature manifest catalog
66
+
67
+ ### Local Project Docs
68
+
69
+ - `.claude/rules/agent-start-here.md` -- canonical first-read for agents (includes task-class routing)
70
+
71
+ ## Published Subpaths and Constants
72
+
73
+ - `@elevasis/core/organization-model` -- the curated organization-model barrel. Exports `defineOrganizationModel`, `resolveOrganizationModel`, `OrganizationModelSchema`, `DEFAULT_ORGANIZATION_MODEL`, organization-model types, and typed System/Action plus legacy UI feature/surface constants.
74
+ - Legacy UI feature IDs: `CRM_FEATURE_ID`, `LEAD_GEN_FEATURE_ID`, `PROJECTS_FEATURE_ID`, `OPERATIONS_FEATURE_ID`, `MONITORING_FEATURE_ID`, `SETTINGS_FEATURE_ID`, `SEO_FEATURE_ID`
75
+ - Headline surface IDs: `CRM_PIPELINE_SURFACE_ID`, `LEAD_GEN_LISTS_SURFACE_ID`, `PROJECTS_INDEX_SURFACE_ID`, `OPERATIONS_ORGANIZATION_GRAPH_SURFACE_ID`
76
+ - Reality domain types: `OrganizationModelIdentity`, `OrganizationModelCustomers`, `OrganizationModelCustomerSegment`, `OrganizationModelOfferings`, `OrganizationModelProduct`, `OrganizationModelRoles`, `OrganizationModelRole`, `OrganizationModelGoals`, `OrganizationModelObjective`, `OrganizationModelKeyResult`
77
+ - TechStack: `TechStackEntrySchema`, `OrganizationModelTechStackEntry`
78
+ - Use constants instead of magic strings when overriding the org model.
79
+ - `@elevasis/core/entities` -- entity contracts barrel. Exports `BaseProject`, `BaseProjectSchema`, `BaseProjectInput` and the equivalents for `Milestone`, `Task`, `Deal`, `Company`, `Contact`. Each base interface is generic over a `\<TMeta>` extension slot. Extend these in `core/types/entities.ts` to add project-specific fields.
80
+
81
+ ## When Working with Organization OS
82
+
83
+ - **Changing org model (structural reality):** Use `/knowledge` as the entry point. Direct edits to `core/config/organization-model.ts` are discouraged -- `/knowledge` runs the read -> propose -> confirm -> write -> validate ceremony. Run `/knowledge` for the full layered flow or `/knowledge \<domain>` for a targeted domain. See `.claude/rules/organization-model.md` for the concrete authoring boundary.
84
+ - **Building or extending CRM:** Start with `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-crm.md`. CRM spans Organization OS sales semantics, shared UI primitives, deal hooks, workflow adapters, and generated contracts.
85
+ - **Building or extending lead gen:** Start with `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-lead-gen.md`. Lead gen spans Organization OS prospecting semantics, shared UI primitives, list/member hooks, artifact hooks, workflow adapters, and generated contracts.
86
+ - **Customizing CRM deal actions:** Follow `node_modules/@elevasis/sdk/reference/scaffold/recipes/customize-crm-actions.md`. Do not add `sales.actions` to the org model; the v1 server-side override surface is intentionally deferred.
87
+ - **Adding or toggling a System:** Follow the current scaffold recipes when they mention UI features, but translate Organization OS changes to Systems, navigation surfaces, and Actions. Use `/knowledge systems` for availability/routing changes.
88
+ - **Adding a resource:** Follow `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-resource.md`.
89
+ - **Extending entities:** Start with `core/types/entities.ts` for the demo extension pattern. Base shapes come from `@elevasis/core/entities`.
90
+ - **Authoring a workflow that takes a Project/Deal/etc.:** Reference entity types from `core/types/entities.ts` in the input schema -- do not redeclare them.
91
+ - **Adding system-local ontology/config:** Put durable business schema in `System.ontology`, local defaults/settings in `System.config`, executable implementations in `resources`, and explanatory or governing material in `knowledge`.
92
+ - **Understanding contracts:** Check `node_modules/@elevasis/sdk/reference/scaffold/reference/contracts.md` for current type shapes.
93
+ - **Debugging sync issues:** Check `node_modules/@elevasis/sdk/reference/scaffold/operations/propagation-pipeline.md` for the verification pipeline.
94
+
95
+ ## `/knowledge` -- Org Model QA Entry Point
96
+
97
+ `/knowledge` is the recurring, safe-to-re-run org model editor for this project. It is a skill (not a command) at `.claude/skills/knowledge/SKILL.md`.
98
+
99
+ **Usage:**
100
+
101
+ - `/knowledge` -- layered flow: identity customers offerings → roles → goals → techStack
102
+ - `/knowledge identity` -- legal identity, mission/vision, industry, geography, timezone
103
+ - `/knowledge customers` -- customer segments with jobs-to-be-done, pains, gains, firmographics
104
+ - `/knowledge offerings` -- products and services with pricing model and segment references
105
+ - `/knowledge roles` -- role chart with responsibilities, reporting lines, and holders
106
+ - `/knowledge goals` -- organizational goals with period and measurable outcomes
107
+ - `/knowledge techStack` -- external-SaaS and integration context; resource identity still belongs in OM Resources descriptors
108
+ - `/knowledge systems` -- enable, disable, or add Systems; route invokable behavior through Actions
109
+ - `/knowledge labels` -- edit display labels on enum entries (statuses, stages)
110
+
111
+ Every write is gated: `resolveOrganizationModel()` must succeed (Zod cross-refs pass) and `pnpm -C operations check-types` must pass. On failure the change is rolled back.
112
+
113
+ **Distinction from `/setup`:** `/setup` is first-time bootstrap only. After bootstrap it delegates here. `/knowledge` is idempotent and safe to re-run at any time.
114
+
115
+ The ambient vibe layer (`.claude/rules/vibe.md`) automatically detects Codify intent in plain language and delegates to `/knowledge`. Power users can invoke `/knowledge` directly to bypass the ambient layer entirely.
@@ -1,33 +1,33 @@
1
- # Package Taxonomy (Consumer View)
2
-
3
- External projects consume the **published `@elevasis/*` surface only**. The Elevasis monorepo also has workspace-internal `@repo/elevasis-*` packages — those are NOT installable here and should never appear in your imports or `package.json`.
4
-
5
- ## What You Can Import
6
-
7
- | Package | Subpaths | Where it lives in `node_modules` |
8
- | ---------------- | -------------------------------------------- | -------------------------------- |
9
- | `@elevasis/sdk` | default, `/worker`, `/node`, `/test-utils` | `node_modules/@elevasis/sdk/` |
10
- | `@elevasis/ui` | default, `/auth`, `/initialization`, etc. | `node_modules/@elevasis/ui/` |
11
- | `@elevasis/core` | `/organization-model`, `/entities`, `/utils` | `node_modules/@elevasis/core/` |
12
-
13
- ## What You Will See in Monorepo Docs (and should NOT import)
14
-
15
- Monorepo source and docs reference `@repo/elevasis-core` and `@repo/elevasis-operations`. These are workspace-internal packages used by Elevasis as a tenant of its own platform. They are `private: true` and never published. If you see them mentioned:
16
-
17
- - Do NOT add them to this project's `package.json`
18
- - Do NOT try to import from them — they are not in your `node_modules`
19
- - They are not a substitute for `@elevasis/core` even though the name overlaps
20
-
21
- ## Confused About Where Something Lives?
22
-
23
- Check the import path:
24
-
25
- - `@elevasis/...` → published, consumable here
26
- - `@repo/...` → monorepo-internal, not consumable
27
-
28
- This project's own org-model and workflows live in `core/config/organization-model.ts` and `operations/src/**` — those are project-owned, not part of either family above.
29
-
30
- ## References
31
-
32
- - `node_modules/@elevasis/sdk/reference/scaffold/index.mdx` — full SDK scaffold reference
33
- - Monorepo source rule: `.claude/rules/package-taxonomy.md` in the elevasis-monorepo (when working across both)
1
+ # Package Taxonomy (Consumer View)
2
+
3
+ External projects consume the **published `@elevasis/*` surface only**. The Elevasis monorepo also has workspace-internal `@repo/elevasis-*` packages — those are NOT installable here and should never appear in your imports or `package.json`.
4
+
5
+ ## What You Can Import
6
+
7
+ | Package | Subpaths | Where it lives in `node_modules` |
8
+ | ---------------- | -------------------------------------------- | -------------------------------- |
9
+ | `@elevasis/sdk` | default, `/worker`, `/node`, `/test-utils` | `node_modules/@elevasis/sdk/` |
10
+ | `@elevasis/ui` | default, `/auth`, `/initialization`, etc. | `node_modules/@elevasis/ui/` |
11
+ | `@elevasis/core` | `/organization-model`, `/entities`, `/utils` | `node_modules/@elevasis/core/` |
12
+
13
+ ## What You Will See in Monorepo Docs (and should NOT import)
14
+
15
+ Monorepo source and docs reference `@repo/elevasis-core` and `@repo/elevasis-operations`. These are workspace-internal packages used by Elevasis as a tenant of its own platform. They are `private: true` and never published. If you see them mentioned:
16
+
17
+ - Do NOT add them to this project's `package.json`
18
+ - Do NOT try to import from them — they are not in your `node_modules`
19
+ - They are not a substitute for `@elevasis/core` even though the name overlaps
20
+
21
+ ## Confused About Where Something Lives?
22
+
23
+ Check the import path:
24
+
25
+ - `@elevasis/...` → published, consumable here
26
+ - `@repo/...` → monorepo-internal, not consumable
27
+
28
+ This project's own org-model and workflows live in `core/config/organization-model.ts` and `operations/src/**` — those are project-owned, not part of either family above.
29
+
30
+ ## References
31
+
32
+ - `node_modules/@elevasis/sdk/reference/scaffold/index.mdx` — full SDK scaffold reference
33
+ - Monorepo source rule: `.claude/rules/package-taxonomy.md` in the elevasis-monorepo (when working across both)
@@ -1,42 +1,42 @@
1
- ---
2
- description: Platform conventions -- SDK workflows, agents, deployment, resource registry
3
- paths:
4
- - operations/**
5
- ---
6
-
7
- # Platform (Elevasis SDK)
8
-
9
- ## Safety Invariants
10
-
11
- - Every workflow implements `WorkflowDefinition` from `@elevasis/sdk` with: `config`, `contract` (Zod schemas), `steps` map, and `entryPoint`
12
- - Input/output schemas MUST come from `@shared/types` -- never define inline Zod schemas in workflow files
13
- - `operations/src/index.ts` default-exports a `DeploymentSpec` with `workflows` and `agents` arrays -- every resource must be registered here
14
- - Always run `check` before `deploy`
15
-
16
- ## Imports
17
-
18
- - `@elevasis/sdk` for types (`WorkflowDefinition`, `DeploymentSpec`)
19
- - `@elevasis/sdk/worker` for runtime utilities (`platform`, adapters: `llm`, `storage`, `scheduler`, `notifications`, `acqDb`, `list`)
20
- - `@shared/*` resolves to `../shared/*` for shared type imports
21
- - Never import from `ui/src/` -- separate runtimes
22
-
23
- ## Key Rules
24
-
25
- - Use typed adapters over raw `platform.call()` whenever a typed adapter exists
26
- - `version` in resource config is semver -- bump on contract changes
27
- - `status` is `'dev'` or `'prod'` -- new resources start as `'dev'`
28
-
29
- ## CLI Commands
30
-
31
- | Command | Purpose |
32
- | ------------------------------------ | ----------------------------- |
33
- | `pnpm -C operations run check` | Validate resource definitions |
34
- | `pnpm -C operations run deploy` | Deploy to dev |
35
- | `pnpm -C operations run deploy:prod` | Deploy to production |
36
-
37
- ## Detailed Reference
38
-
39
- - `node_modules/@elevasis/sdk/reference/scaffold/operations/workflow-recipes.md` -- workflow anatomy, adapter patterns, trigger patterns
40
- - `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-resource.md` -- end-to-end resource authoring guide
41
- - `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-lead-gen.md` -- lead-gen UI, hooks, list/member state, artifacts, and workflow adapter extension guide
42
- - SDK reference docs: `operations/node_modules/@elevasis/sdk/reference/` (concepts, framework, platform-tools, runtime, CLI)
1
+ ---
2
+ description: Platform conventions -- SDK workflows, agents, deployment, resource registry
3
+ paths:
4
+ - operations/**
5
+ ---
6
+
7
+ # Platform (Elevasis SDK)
8
+
9
+ ## Safety Invariants
10
+
11
+ - Every workflow implements `WorkflowDefinition` from `@elevasis/sdk` with: `config`, `contract` (Zod schemas), `steps` map, and `entryPoint`
12
+ - Input/output schemas MUST come from `@core/types` or browser-safe sibling schema files -- never define reusable workflow contracts inline in Node-only workflow files
13
+ - `operations/src/index.ts` default-exports a `DeploymentSpec` with `workflows` and `agents` arrays -- every resource must be registered here
14
+ - Always run `check` before `deploy`
15
+
16
+ ## Imports
17
+
18
+ - `@elevasis/sdk` for types (`WorkflowDefinition`, `DeploymentSpec`)
19
+ - `@elevasis/sdk/worker` for runtime utilities (`platform`, adapters: `llm`, `storage`, `scheduler`, `notifications`, `acqDb`, `list`)
20
+ - `@core/*` resolves to `../core/*` for shared type and org-model imports
21
+ - Never import from `ui/src/` -- separate runtimes
22
+
23
+ ## Key Rules
24
+
25
+ - Use typed adapters over raw `platform.call()` whenever a typed adapter exists
26
+ - `version` in resource config is semver -- bump on contract changes
27
+ - `status` is `'dev'` or `'prod'` -- new resources start as `'dev'`
28
+
29
+ ## CLI Commands
30
+
31
+ | Command | Purpose |
32
+ | ------------------------------------ | ----------------------------- |
33
+ | `pnpm -C operations run check` | Validate resource definitions |
34
+ | `pnpm -C operations run deploy` | Deploy to dev |
35
+ | `pnpm -C operations run deploy:prod` | Deploy to production |
36
+
37
+ ## Detailed Reference
38
+
39
+ - `node_modules/@elevasis/sdk/reference/scaffold/operations/workflow-recipes.md` -- workflow anatomy, adapter patterns, trigger patterns
40
+ - `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-resource.md` -- end-to-end resource authoring guide
41
+ - `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-lead-gen.md` -- lead-gen UI, hooks, list/member state, artifacts, and workflow adapter extension guide
42
+ - SDK reference docs: `operations/node_modules/@elevasis/sdk/reference/` (concepts, framework, platform-tools, runtime, CLI)
@@ -1,46 +1,49 @@
1
- ---
2
- description: Shared type boundary -- what belongs in core/types, import rules, schema conventions
3
- paths:
4
- - core/types/**
5
- ---
6
-
7
- # Shared Types
8
-
9
- `shared/` is the type boundary between the frontend (`src/`) and platform (`operations/`). Both runtimes import from here but never from each other.
10
-
11
- ## What Belongs Here
12
-
13
- - Zod schemas for workflow input/output contracts
14
- - TypeScript types inferred from those schemas (`z.infer<typeof schema>`)
15
- - Domain types referenced by both runtimes (status enums, entity shapes)
16
- - Shared constants
17
-
18
- ## What Does NOT Belong Here
19
-
20
- - React components, hooks, or anything importing `react`
21
- - SDK runtime code or anything importing `@elevasis/sdk/worker`
22
- - Browser APIs or Node-specific APIs
23
- - Implementation logic -- types and constants only
24
-
25
- ## Schema Convention
26
-
27
- Define Zod schemas first, then infer the type:
28
-
29
- ```typescript
30
- export const fooInputSchema = z.object({ ... })
31
- export type FooInput = z.infer<typeof fooInputSchema>
32
- ```
33
-
34
- Name schemas `<name>InputSchema` / `<name>OutputSchema`. Name types `<Name>Input` / `<Name>Output`.
35
-
36
- ## File Organization
37
-
38
- Types live in `shared/types/`. The directory structure:
39
-
40
- - `shared/types/index.ts` -- Main entry point, re-exports from domain files
41
- - As the project grows: split into domain files within the directory (e.g., `shared/types/billing.ts`, `shared/types/auth.ts`)
42
- - Re-export new domain files from `shared/types/index.ts`
43
-
44
- ## Path Alias
45
-
46
- Both tsconfigs resolve `@shared/*` to `shared/*`. Always use `@shared/types` (not relative paths) when importing from `src/` or `operations/src/`.
1
+ ---
2
+ description: Core type boundary -- what belongs in core/types, import rules, schema conventions
3
+ paths:
4
+ - core/types/**
5
+ ---
6
+
7
+ # Core Types
8
+
9
+ `core/types/` is the browser-safe type boundary between the frontend (`ui/`) and platform runtime (`operations/`). Both runtimes import from here but never from each other.
10
+
11
+ Keep this as a standalone rule because it autoloads only for `core/types/**` edits. Operations workflow rules can reference this boundary, but shared browser-safe contract guidance belongs here.
12
+
13
+ ## What Belongs Here
14
+
15
+ - Zod schemas for workflow input/output contracts
16
+ - TypeScript types inferred from those schemas (`z.infer<typeof schema>`)
17
+ - Domain types referenced by both runtimes (status enums, entity shapes)
18
+ - Shared constants
19
+
20
+ ## What Does NOT Belong Here
21
+
22
+ - React components, hooks, or anything importing `react`
23
+ - SDK runtime code or anything importing `@elevasis/sdk/worker`
24
+ - Browser APIs or Node-specific APIs
25
+ - Implementation logic -- types and constants only
26
+
27
+ ## Schema Convention
28
+
29
+ Define Zod schemas first, then infer the type:
30
+
31
+ ```typescript
32
+ export const fooInputSchema = z.object({ ... })
33
+ export type FooInput = z.infer<typeof fooInputSchema>
34
+ ```
35
+
36
+ Name schemas `<name>InputSchema` / `<name>OutputSchema`. Name types `<Name>Input` / `<Name>Output`.
37
+
38
+ ## File Organization
39
+
40
+ Types live in `core/types/`. The directory structure:
41
+
42
+ - `core/types/index.ts` -- Main entry point, re-exports from domain files
43
+ - `core/types/entities.ts` -- Entity contracts extending published base entities
44
+ - As the project grows: split into domain files within the directory (e.g., `core/types/billing.ts`, `core/types/auth.ts`)
45
+ - Re-export new domain files from `core/types/index.ts`
46
+
47
+ ## Path Alias
48
+
49
+ Project tsconfigs resolve `@core/*` to `core/*`. Always use `@core/types` or `@core/types/entities` (not relative paths) when importing shared contracts from `ui/` or `operations/src/`.
@@ -1,47 +1,47 @@
1
- ---
2
- description: In-progress task conventions -- doc format, status values, auto-save behavior
3
- ---
4
-
5
- # Task Tracking
6
-
7
- ## Status Values
8
-
9
- Exactly three values for frontmatter `status`: `planned`, `in-progress`, `complete`.
10
-
11
- ## Doc Format
12
-
13
- - Frontmatter: `title`, `description`, `status` only -- nothing else belongs in task-doc frontmatter; `resume_context` is DB-canonical on `prj_tasks`
14
- - Sections: Objective, Plan, Progress, Resume Context
15
- - Progress subsections use markers: `### Step N: Title -- PENDING`, `-- IN PROGRESS`, `-- COMPLETE`
16
-
17
- ## Auto-Update Behavior
18
-
19
- - When working on a tracked task, update the Progress section when a plan step transitions:
20
- - PENDING -> IN PROGRESS (starting work on a step)
21
- - IN PROGRESS -> COMPLETE (finishing a step)
22
- - Do NOT update on every action -- only on step transitions
23
-
24
- ## Auto-Save Behavior
25
-
26
- The agent auto-saves progress (no user action needed) when:
27
-
28
- - The conversation context is getting heavy (many tool calls, large file reads)
29
- - The user appears to be wrapping up (thanks, goodbye, switching topics)
30
- - Significant progress has been made (2+ steps completed without saving)
31
- - Before a context reset
32
-
33
- Auto-save updates the task doc's Progress and Resume Context sections silently, then briefly confirms. The canonical persistence path is `pnpm elevasis-sdk project:task:save` -- the CLI writes through to `prj_tasks.resume_context` (JSONB) so another agent can resume without re-deriving intent.
34
-
35
- ## Completion Suggestions
36
-
37
- When all plan steps are marked COMPLETE, **suggest** completing the task -- never auto-invoke. Ask: "All steps for '{task}' look done. Want me to finalize it?"
38
-
39
- ## Where Tasks Live
40
-
41
- Project tasks for this template live in the `prj_tasks` Supabase table, not in repo-local files. Operate on them via the SDK CLI:
42
-
43
- - `pnpm elevasis-sdk project:work` -- entrypoint for task work (resume / new intent detection)
44
- - `pnpm elevasis-sdk project:list` -- portfolio / task listing
45
- - `pnpm elevasis-sdk project:task:save` -- persist progress + `resume_context` to the DB
46
-
47
- The monorepo-side `/work` slash command still exists for monorepo task docs under `apps/docs/content/docs/in-progress/**`; that flow is unchanged. What went away is the external template's own `/work` skill and its `docs/in-progress/` directory -- external projects now route through the DB-backed `project:*` surface above.
1
+ ---
2
+ description: In-progress task conventions -- doc format, status values, auto-save behavior
3
+ ---
4
+
5
+ # Task Tracking
6
+
7
+ ## Status Values
8
+
9
+ Exactly three values for frontmatter `status`: `planned`, `in-progress`, `complete`.
10
+
11
+ ## Doc Format
12
+
13
+ - Frontmatter: `title`, `description`, `status` only -- nothing else belongs in task-doc frontmatter; `resume_context` is DB-canonical on `prj_tasks`
14
+ - Sections: Objective, Plan, Progress, Resume Context
15
+ - Progress subsections use markers: `### Step N: Title -- PENDING`, `-- IN PROGRESS`, `-- COMPLETE`
16
+
17
+ ## Auto-Update Behavior
18
+
19
+ - When working on a tracked task, update the Progress section when a plan step transitions:
20
+ - PENDING -> IN PROGRESS (starting work on a step)
21
+ - IN PROGRESS -> COMPLETE (finishing a step)
22
+ - Do NOT update on every action -- only on step transitions
23
+
24
+ ## Auto-Save Behavior
25
+
26
+ The agent auto-saves progress (no user action needed) when:
27
+
28
+ - The conversation context is getting heavy (many tool calls, large file reads)
29
+ - The user appears to be wrapping up (thanks, goodbye, switching topics)
30
+ - Significant progress has been made (2+ steps completed without saving)
31
+ - Before a context reset
32
+
33
+ Auto-save updates the task doc's Progress and Resume Context sections silently, then briefly confirms. The canonical persistence path is `pnpm elevasis-sdk project:task:save` -- the CLI writes through to `prj_tasks.resume_context` (JSONB) so another agent can resume without re-deriving intent.
34
+
35
+ ## Completion Suggestions
36
+
37
+ When all plan steps are marked COMPLETE, **suggest** completing the task -- never auto-invoke. Ask: "All steps for '{task}' look done. Want me to finalize it?"
38
+
39
+ ## Where Tasks Live
40
+
41
+ Project tasks for this template live in the `prj_tasks` Supabase table, not in repo-local files. Operate on them via the SDK CLI:
42
+
43
+ - `pnpm elevasis-sdk project:work` -- entrypoint for task work (resume / new intent detection)
44
+ - `pnpm elevasis-sdk project:list` -- portfolio / task listing
45
+ - `pnpm elevasis-sdk project:task:save` -- persist progress + `resume_context` to the DB
46
+
47
+ The monorepo-side `/work` slash command still exists for monorepo task docs under `apps/docs/content/docs/in-progress/**`; that flow is unchanged. What went away is the external template's own `/work` skill and its `docs/in-progress/` directory -- external projects now route through the DB-backed `project:*` surface above.