@elevasis/sdk 1.32.0 → 1.33.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 +435 -220
- package/package.json +3 -3
- package/reference/claude-config/Overview.md +123 -0
- package/reference/claude-config/registries/skill-coverage.json +19 -0
- package/reference/claude-config/skills/client/SKILL.md +201 -0
- package/reference/claude-config/skills/elevasis/SKILL.md +244 -235
- package/reference/claude-config/skills/om/SKILL.md +56 -5
- package/reference/claude-config/skills/om/operations/features.md +12 -5
- package/reference/claude-config/skills/om/operations/scaffold.md +10 -0
- package/reference/claude-config/skills/setup/SKILL.md +9 -0
- package/reference/claude-config/sync-notes/2026-06-02-knowledge-nested-group-routing.md +27 -0
- package/reference/claude-config/sync-notes/2026-06-02-nest-projects-under-platform.md +45 -0
- package/reference/claude-config/sync-notes/2026-06-03-skill-autogen-and-client-skill.md +34 -0
- package/reference/rules/agent-start-here.md +8 -2
- package/reference/rules/organization-os.md +11 -7
- package/reference/rules/package-taxonomy.md +4 -0
- package/reference/scaffold/recipes/customize-knowledge-browser.md +23 -26
- package/reference/scaffold/reference/feature-registry.md +1 -1
- package/reference/scaffold/ui/composition-extensibility.mdx +1 -1
- package/reference/sdk/cli-management.mdx +2 -2
- package/reference/sdk/framework/agent.mdx +1 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Nest `projects` under `platform` (fleet-wide OM reparent)
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
The shared `@elevasis/ui` `deliveryManifest` now emits `systemId: 'platform.projects'` (it consumes the republished `@elevasis/core` constant `PROJECTS_SYSTEM_ID`, which flipped from `'projects'` to `'platform.projects'`). Any tenant Organization Model that still declares a **root-level** `projects` system will fail `validateManifests` on boot once it installs the new `@elevasis/ui`, because the delivery manifest references a `systemId` that does not exist in the tenant OM.
|
|
6
|
+
|
|
7
|
+
This is a fleet-wide convention change: `projects` is now a child of `platform` (canonical id `platform.projects`) everywhere — Elevasis, the template, and every derived tenant.
|
|
8
|
+
|
|
9
|
+
## Applies to
|
|
10
|
+
|
|
11
|
+
- Every tenant whose `core/config/organization-model/` declares a root `projects` system (work-item / checkpoint shape) and a root `platform` system to nest it under.
|
|
12
|
+
- Confirmed in this train: `ZentaraHQ`, `nirvana-marketing`. Run the verification below in any other derived project before installing the new `@elevasis/ui`.
|
|
13
|
+
|
|
14
|
+
## Required actions
|
|
15
|
+
|
|
16
|
+
Apply these in your own `core/config/organization-model/` (this is project-owned OM content — `/external sync` does NOT overwrite it; reparent it yourself via `/om`):
|
|
17
|
+
|
|
18
|
+
1. **Reparent the system.** In `systems.ts`, move the `projects` system block under the existing `platform` system. Set `id: 'platform.projects'` and add `parentSystemId: 'platform'`. Leave the object key, route `path`, and icon as-is.
|
|
19
|
+
2. **Rewrite ontology IDs.** Change every `projects:*` ontology id to `platform.projects:*` (objects, links, actions, catalogs, events, surfaces) — including all cross-references (`ownerSystemId`, `objectType`, `catalogType`, `from`/`to`).
|
|
20
|
+
3. **Navigation.** In `navigation.ts`, update any `targets: { systems: ['projects'] }` to `['platform.projects']`.
|
|
21
|
+
4. **Profile / roles.** In `profile.ts` (or `roles.ts`), update `deliveryFeatureId` / role `responsibleFor` references from `projects` to `platform.projects`.
|
|
22
|
+
5. **Tests.** Update `core/config/organization-model.test.ts`, `organization-model.contract.test.ts`, and `ui/src/routes/__tests__/__root.test.tsx` assertions that reference the `projects` system id, parent, or ontology ids.
|
|
23
|
+
6. **Install + reparent together.** Bump `@elevasis/core` and `@elevasis/ui` (see the dependency baseline written by `/external sync`), reparent the OM in the **same** change, then `pnpm -C core test` and `pnpm -C ui check-types` before booting the app. Do not install the new `@elevasis/ui` while the OM still has root `projects`.
|
|
24
|
+
|
|
25
|
+
Route file paths (`ui/src/routes/projects*.tsx`) stay at `/projects`; only OM ids and nav/profile targets change.
|
|
26
|
+
|
|
27
|
+
## Verification
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# 1. Find any remaining root projects references
|
|
31
|
+
grep -rn "'projects'\|projects:" core/config/organization-model ui/src/routes
|
|
32
|
+
|
|
33
|
+
# 2. Template-family coherence
|
|
34
|
+
pnpm -C core test
|
|
35
|
+
pnpm -C ui check-types
|
|
36
|
+
pnpm -C ui test:contracts
|
|
37
|
+
|
|
38
|
+
# 3. Boot must not throw validateManifests (deliveryManifest systemId must resolve)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
`platform.projects` must resolve as a child System of `platform`, and the delivery surface must render under it.
|
|
42
|
+
|
|
43
|
+
## Not handled by /git-sync
|
|
44
|
+
|
|
45
|
+
`/git-sync` and `/external sync` will deliver the new `@elevasis/core` + `@elevasis/ui` dependency baselines and this note, but they will **not** edit your `core/config/organization-model/` — tenant OM content is project-owned (`sync-preservation`). The reparent in steps 1-5 is manual per tenant. Installing the new `@elevasis/ui` without doing the reparent first will crash the app on boot.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Skill autogen and `/client` skill
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
This train adds the template `/client` skill, a generated `.claude/Overview.md` skill and bundled-rules inventory, `skill-coverage.json`, and capability-query guidance that points agents to `elevasis-sdk cli` as the live command surface.
|
|
6
|
+
|
|
7
|
+
It also ships new `@elevasis/sdk` CLI support for `skill:scaffold` and `skill:check-coverage`, and extends `elevasis-sdk check` so future CLI domains cannot land without either skill ownership or an explicit waiver.
|
|
8
|
+
|
|
9
|
+
## Applies to
|
|
10
|
+
|
|
11
|
+
- Every template-derived project that carries `.claude/` skills from `external/_template`.
|
|
12
|
+
- Projects that use `elevasis-sdk check` as their local validation gate.
|
|
13
|
+
- Operators using Claude Code skills to discover or manage clients through the existing `client:*` CLI domain.
|
|
14
|
+
|
|
15
|
+
## Required actions
|
|
16
|
+
|
|
17
|
+
1. Run the prepared external sync so `.claude/skills/client/`, `.claude/Overview.md`, `.claude/registries/skill-coverage.json`, and the updated setup/elevasis skill guidance are copied from the template.
|
|
18
|
+
2. Install the new `@elevasis/sdk` baseline in `operations/package.json` after the SDK publish stage.
|
|
19
|
+
3. Run `pnpm -C operations exec elevasis-sdk check` in each project to verify skill coverage against the live CLI catalog.
|
|
20
|
+
4. Use `elevasis-sdk cli` when answering "what can I do?" or auditing available CLI domains; do not rely on stale prose inventories.
|
|
21
|
+
|
|
22
|
+
## Verification
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pnpm -C operations exec elevasis-sdk cli client
|
|
26
|
+
pnpm -C operations exec elevasis-sdk check
|
|
27
|
+
pnpm -C operations exec elevasis-sdk skill:check-coverage
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The project should contain `.claude/skills/client/SKILL.md`, `.claude/Overview.md`, and `.claude/registries/skill-coverage.json` after sync.
|
|
31
|
+
|
|
32
|
+
## Not handled by /git-sync
|
|
33
|
+
|
|
34
|
+
`/git-sync` does not infer skill coverage or regenerate local command inventories. It can deliver the synced files, but maintainers still need to install the new SDK baseline and run the verification commands above. Project-owned `CLAUDE.md` content remains verify-only; the authoritative generated inventory is `.claude/Overview.md`.
|
|
@@ -65,7 +65,6 @@ Once project continuity is resolved (or confirmed irrelevant), the template is n
|
|
|
65
65
|
- `operations/` -- Elevasis SDK resources deployed to the platform
|
|
66
66
|
- `core/` -- runtime-agnostic shared contracts and organization model adaptation
|
|
67
67
|
- `.claude/` -- local agent rules, skills, and hooks
|
|
68
|
-
- `client-workspace/` -- optional separate knowledge workspace for richer team knowledge management
|
|
69
68
|
- `node_modules/@elevasis/sdk/reference/scaffold/` -- SDK reference scaffold: canonical recipes, UI patterns, gating model, contracts, and glossary. Entry point: `index.mdx`.
|
|
70
69
|
|
|
71
70
|
## Discovery Order
|
|
@@ -157,7 +156,7 @@ Load first:
|
|
|
157
156
|
- `node_modules/@elevasis/sdk/reference/scaffold/index.mdx` (scaffold index -- contracts, gating patterns, glossary)
|
|
158
157
|
- `core/config/README.md`
|
|
159
158
|
- `node_modules/@elevasis/sdk/reference/scaffold/reference/contracts.md`
|
|
160
|
-
- typed feature/surface constants from `@elevasis/core/organization-model` -- `
|
|
159
|
+
- typed feature/surface constants from `@elevasis/core/organization-model` -- `SALES_FEATURE_ID`, `PROSPECTING_FEATURE_ID`, `PROJECTS_FEATURE_ID`, `OPERATIONS_FEATURE_ID`, `MONITORING_FEATURE_ID`, `SETTINGS_FEATURE_ID`, `SEO_FEATURE_ID`, `SALES_PIPELINE_SURFACE_ID`, `PROSPECTING_LISTS_SURFACE_ID`, `PROJECTS_INDEX_SURFACE_ID`, `OPERATIONS_COMMAND_VIEW_SURFACE_ID`. Use these typed constants instead of magic strings when overriding feature/surface IDs.
|
|
161
160
|
- `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-crm.md` -- CRM is an Organization OS + UI + hooks + workflow-adapter surface; read this before extending CRM structure.
|
|
162
161
|
- `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-lead-gen.md` -- lead gen is an Organization OS + UI + hooks + workflow-adapter surface; read this before extending lead-gen lists, members, artifacts, or state transitions.
|
|
163
162
|
- `node_modules/@elevasis/sdk/reference/scaffold/recipes/customize-crm-actions.md` -- CRM action buttons are not `sales.actions` org-model config in v1; use the recipe's provider/custom-button path.
|
|
@@ -269,6 +268,13 @@ If a hand-authored doc conflicts with source or published package docs, trust so
|
|
|
269
268
|
- Do not trust stable docs blindly when `.claude/rules/active-change-index.md` flags related in-progress architecture work.
|
|
270
269
|
- Do not write `resume_context` into task-doc frontmatter. DB is canonical; write via `project:task:save` or the inline editor in Command Center.
|
|
271
270
|
|
|
271
|
+
## Capability Surface
|
|
272
|
+
|
|
273
|
+
When a user asks what skills or commands are available, do NOT answer from recollection.
|
|
274
|
+
|
|
275
|
+
- **Skill inventory:** Read `.claude/Overview.md` — it is the authoritative list of skills available in this project.
|
|
276
|
+
- **Live CLI capability:** Run `pnpm elevasis-sdk cli` — it outputs every command and domain currently registered in the SDK, grouped by domain.
|
|
277
|
+
|
|
272
278
|
## Operations-Only Projects
|
|
273
279
|
|
|
274
280
|
Some projects derived from this template are operations-only. They have `operations/` (or a top-level `src/`) but NO `ui/`, NO `core/config/organization-model.ts`, and NO frontend. Finding none of these is not missing scaffolding -- it is by design.
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Organization OS orientation -- the semantic contract layer relating Systems, Actions, ontology, resources, policies, roles, goals, and knowledge; consumed via published @elevasis/core / @elevasis/sdk
|
|
3
|
+
---
|
|
1
4
|
<!-- @generated by packages/sdk/scripts/copy-reference-docs.mjs -- DO NOT EDIT -->
|
|
2
5
|
<!-- Regenerate: pnpm scaffold:sync -->
|
|
3
6
|
|
|
7
|
+
|
|
4
8
|
# Organization OS
|
|
5
9
|
|
|
6
10
|
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.
|
|
@@ -38,11 +42,11 @@ Do not confuse `System.apiInterface` with ontology `interface` records. Ontology
|
|
|
38
42
|
|
|
39
43
|
Some legacy UI feature constants and consumer-facing route keys are intentionally unchanged for compatibility:
|
|
40
44
|
|
|
41
|
-
| Old field | New field | Legacy key (unchanged) |
|
|
42
|
-
| ---------- | ------------- | ---------------------- |
|
|
43
|
-
| `crm` | `sales` | `'crm'` | `
|
|
44
|
-
| `leadGen` | `prospecting` | `'lead-gen'` | `
|
|
45
|
-
| `delivery` | `projects` | `'projects'` | `PROJECTS_FEATURE_ID`
|
|
45
|
+
| Old field | New field | Legacy key (unchanged) | Published constant |
|
|
46
|
+
| ---------- | ------------- | ---------------------- | ------------------------ |
|
|
47
|
+
| `crm` | `sales` | `'crm'` | `SALES_FEATURE_ID` |
|
|
48
|
+
| `leadGen` | `prospecting` | `'lead-gen'` | `PROSPECTING_FEATURE_ID` |
|
|
49
|
+
| `delivery` | `projects` | `'projects'` | `PROJECTS_FEATURE_ID` |
|
|
46
50
|
|
|
47
51
|
## Reference Documentation
|
|
48
52
|
|
|
@@ -79,8 +83,8 @@ All paths under `node_modules/@elevasis/sdk/reference/scaffold/`:
|
|
|
79
83
|
## Published Subpaths and Constants
|
|
80
84
|
|
|
81
85
|
- `@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.
|
|
82
|
-
-
|
|
83
|
-
- Headline surface IDs: `
|
|
86
|
+
- Feature IDs: `SALES_FEATURE_ID`, `PROSPECTING_FEATURE_ID`, `PROJECTS_FEATURE_ID`, `OPERATIONS_FEATURE_ID`, `MONITORING_FEATURE_ID`, `SETTINGS_FEATURE_ID`, `SEO_FEATURE_ID`
|
|
87
|
+
- Headline surface IDs: `SALES_PIPELINE_SURFACE_ID`, `PROSPECTING_LISTS_SURFACE_ID`, `PROJECTS_INDEX_SURFACE_ID`, `OPERATIONS_COMMAND_VIEW_SURFACE_ID`
|
|
84
88
|
- Reality domain types: `OrganizationModelIdentity`, `OrganizationModelCustomers`, `OrganizationModelCustomerSegment`, `OrganizationModelOfferings`, `OrganizationModelProduct`, `OrganizationModelRoles`, `OrganizationModelRole`, `OrganizationModelGoals`, `OrganizationModelObjective`, `OrganizationModelKeyResult`
|
|
85
89
|
- TechStack: `TechStackEntrySchema`, `OrganizationModelTechStackEntry`
|
|
86
90
|
- Use constants instead of magic strings when overriding the org model.
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Package taxonomy (consumer view) -- external projects consume the published @elevasis/* surface only; workspace-internal @repo/elevasis-* packages are not installable here
|
|
3
|
+
---
|
|
1
4
|
<!-- @generated by packages/sdk/scripts/copy-reference-docs.mjs -- DO NOT EDIT -->
|
|
2
5
|
<!-- Regenerate: pnpm scaffold:sync -->
|
|
3
6
|
|
|
7
|
+
|
|
4
8
|
# Package Taxonomy (Consumer View)
|
|
5
9
|
|
|
6
10
|
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`.
|
|
@@ -321,44 +321,42 @@ The sidebar (managed by the manifest) continues to operate normally. Tree clicks
|
|
|
321
321
|
|
|
322
322
|
**Own everything:** Skip `knowledgeManifest` and build your own route tree as described in the Replace section above. Call `@elevasis/core/knowledge` directly for data and supply your own dispatcher.
|
|
323
323
|
|
|
324
|
-
### Overriding Per-Kind Views
|
|
324
|
+
### Overriding Per-Kind Views
|
|
325
325
|
|
|
326
|
-
If you want the default dispatcher behavior for most kinds but need a custom layout for one kind,
|
|
326
|
+
If you want the default dispatcher behavior for most kinds but need a custom layout for one kind, wrap the exported `DescribeNodeView` and intercept the specific kind before falling back to the platform dispatcher:
|
|
327
327
|
|
|
328
328
|
```tsx
|
|
329
|
-
import {
|
|
330
|
-
|
|
331
|
-
SystemDescribeView,
|
|
332
|
-
} from '@elevasis/ui/knowledge'
|
|
329
|
+
import { DescribeNodeView, SystemDescribeView } from '@elevasis/ui/knowledge'
|
|
330
|
+
import type { DescribeNodeViewProps } from '@elevasis/ui/knowledge'
|
|
333
331
|
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
<MyFeatureDetailView node={node} graph={graph} onNavigateToNode={onNavigateToNode} />
|
|
339
|
-
),
|
|
340
|
-
// 'knowledge', 'resource', 'organization', and the default fallback
|
|
341
|
-
// are handled by the platform unless you override them here.
|
|
342
|
-
})
|
|
343
|
-
```
|
|
332
|
+
function MyDescribeNodeView(props: DescribeNodeViewProps) {
|
|
333
|
+
if (props.node.kind === 'system') {
|
|
334
|
+
return <MyFeatureDetailView node={props.node} graph={props.graph} onNavigateToNode={props.onNavigateToNode} />
|
|
335
|
+
}
|
|
344
336
|
|
|
345
|
-
|
|
337
|
+
return <DescribeNodeView {...props} />
|
|
338
|
+
}
|
|
339
|
+
```
|
|
346
340
|
|
|
347
|
-
|
|
341
|
+
`MyDescribeNodeView` has the same props interface as `DescribeNodeView` (`node`, `graph`, `onNavigateToNode`, plus optional context props). You can drop it anywhere the default dispatcher is used.
|
|
348
342
|
|
|
349
|
-
|
|
343
|
+
The platform kind-specific components (`KnowledgeNodeView`, `SystemDescribeView`, etc.) are exported from `@elevasis/ui/knowledge` so you can compose them inside your wrapper rather than replacing them from scratch:
|
|
350
344
|
|
|
351
345
|
```tsx
|
|
352
|
-
|
|
353
|
-
|
|
346
|
+
function MyDescribeNodeView(props: DescribeNodeViewProps) {
|
|
347
|
+
if (props.node.kind === 'system') {
|
|
348
|
+
return (
|
|
354
349
|
<>
|
|
355
350
|
{/* Platform view for the standard fields */}
|
|
356
|
-
|
|
351
|
+
<SystemDescribeView {...props} />
|
|
357
352
|
{/* Project-specific extension panel below */}
|
|
358
|
-
|
|
353
|
+
<MySystemAuditPanel systemId={props.node.id} />
|
|
359
354
|
</>
|
|
360
|
-
|
|
361
|
-
}
|
|
355
|
+
)
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
return <DescribeNodeView {...props} />
|
|
359
|
+
}
|
|
362
360
|
```
|
|
363
361
|
|
|
364
362
|
### Phase 1.5 Exports Reference
|
|
@@ -368,7 +366,6 @@ The following exports are added in Phase 1.5 on top of the exports table above:
|
|
|
368
366
|
| Export | Package | Purpose |
|
|
369
367
|
| ------------------------------ | ------------------------ | ---------------------------------------------------------------------------- |
|
|
370
368
|
| `DescribeNodeView` | `@elevasis/ui/knowledge` | Default graph-node dispatcher; routes by `node.kind` |
|
|
371
|
-
| `createDescribeNodeDispatcher` | `@elevasis/ui/knowledge` | Factory for per-kind overrides; returns a `DescribeNodeView`-shape component |
|
|
372
369
|
| `SystemDescribeView` | `@elevasis/ui/knowledge` | Minimal System node view: path, icon, lifecycle, hierarchy, edges |
|
|
373
370
|
| `ResourceDescribeView` | `@elevasis/ui/knowledge` | Minimal resource node view: resourceType, description, edges |
|
|
374
371
|
| `OrganizationDescribeView` | `@elevasis/ui/knowledge` | Minimal organization node view: label, edges |
|
|
@@ -15,7 +15,7 @@ description: Auto-generated catalog of registered system manifests. Do not edit
|
|
|
15
15
|
| System Key | System ID | Nav Label | Domains | Routes |
|
|
16
16
|
| --- | --- | --- | --- | --- |
|
|
17
17
|
| `crm` | `sales.crm` | — | — | — |
|
|
18
|
-
| `delivery` | `projects` | — | — | — |
|
|
18
|
+
| `delivery` | `platform.projects` | — | — | — |
|
|
19
19
|
| `knowledge` | `—` | — | — | — |
|
|
20
20
|
| `lead-gen` | `sales.lead-gen` | — | — | — |
|
|
21
21
|
| `monitoring` | `—` | — | — | — |
|
|
@@ -226,7 +226,7 @@ See [recipes/customize-knowledge-browser.md](../recipes/customize-knowledge-brow
|
|
|
226
226
|
Phase 1.5 adds two further extension surfaces documented in the same recipe file under the "Phase 1.5" section:
|
|
227
227
|
|
|
228
228
|
- **Extending the SegmentedControl** -- supply a `segments` prop to `KnowledgeSidebarMiddle` to add custom mount-axis tabs beyond the default five (By Feature, By Kind, By Owner, Governs, Governed By).
|
|
229
|
-
- **Replacing `DescribeNodeView`** -- override the `/knowledge/:nodeId` route component to swap the entire main-pane dispatcher, or
|
|
229
|
+
- **Replacing `DescribeNodeView`** -- override the `/knowledge/:nodeId` route component to swap the entire main-pane dispatcher, or wrap `DescribeNodeView` from `@elevasis/ui/knowledge` to intercept specific node-kind views while falling back to the platform defaults for the rest.
|
|
230
230
|
|
|
231
231
|
## What Not to Do
|
|
232
232
|
|
|
@@ -14,8 +14,8 @@ This page covers the domain management commands for `elevasis-sdk`. For core SDK
|
|
|
14
14
|
This CLI family is SDK-first, but it is not semantically standalone. It operates on the same Organization OS contract that the shared delivery UI uses:
|
|
15
15
|
|
|
16
16
|
- UI manifest key: `delivery`
|
|
17
|
-
- Organization model
|
|
18
|
-
- Default surface: `projects.index`
|
|
17
|
+
- Organization model System ID: `PROJECTS_SYSTEM_ID` (`platform.projects`)
|
|
18
|
+
- Default surface: `PROJECTS_INDEX_SURFACE_ID` (`platform.projects.index`)
|
|
19
19
|
- Semantic domain fields: `organizationModel.delivery`
|
|
20
20
|
- Core entity/capability IDs: `delivery.project`, `delivery.milestone`, `delivery.task`, `delivery.projects.view`
|
|
21
21
|
|
|
@@ -78,7 +78,7 @@ The following skills ship with every Elevasis SDK project and are committed to v
|
|
|
78
78
|
|
|
79
79
|
**`/project`** -- Project-management routing for milestones, tasks, notes, and status. It should call the canonical `elevasis-sdk project:*` CLI surface rather than inventing a parallel workflow.
|
|
80
80
|
|
|
81
|
-
That routing is interface-first, not a separate semantic model. `/project` should treat the SDK CLI as the operational entrypoint for the Organization OS delivery/projects contract: `deliveryManifest` in the shared UI, `
|
|
81
|
+
That routing is interface-first, not a separate semantic model. `/project` should treat the SDK CLI as the operational entrypoint for the Organization OS delivery/projects contract: `deliveryManifest` in the shared UI, `PROJECTS_SYSTEM_ID` (`platform.projects`) in the organization model, and `organizationModel.delivery` for project/milestone/task status semantics.
|
|
82
82
|
|
|
83
83
|
When these command families overlap conceptually, use this boundary:
|
|
84
84
|
|