@owlmeans/planning 0.1.18-rc.15 → 0.1.18-rc.17
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/README.md +1 -1
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/planning/SKILL.md +20 -2
- package/package.json +1 -1
package/README.md
CHANGED
package/agent-meta/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"package": "@owlmeans/planning",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-10-
|
|
4
|
+
"version": "0.1.18-rc.17",
|
|
5
|
+
"generatedAt": "2026-10-04T01:01:54.402Z",
|
|
6
6
|
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
@@ -8,7 +8,7 @@ user-invocable: false
|
|
|
8
8
|
# @owlmeans/planning
|
|
9
9
|
|
|
10
10
|
**Layer:** Cross-cutting domain
|
|
11
|
-
**Install:** `"@owlmeans/planning": "^0.1.18-rc.
|
|
11
|
+
**Install:** `"@owlmeans/planning": "^0.1.18-rc.17"` in `dependencies` (`ajv` and `ajv-formats` are peers)
|
|
12
12
|
|
|
13
13
|
The contracts of project planning: record shapes, schemas, refusals, the protocol tree, the pure
|
|
14
14
|
fold and the models. No database, no fastify, no React. The executor, the plugin registry, the
|
|
@@ -268,6 +268,24 @@ A client calls `encodeWorkcardQuery(query)` before `call({ query })`; a handler
|
|
|
268
268
|
- `actor` in an execute body is ignored on the wire: the server fills it from the request.
|
|
269
269
|
- Responses carry no runtime schema (typed only), so a serializer never strips `fields`.
|
|
270
270
|
|
|
271
|
+
## Mounting in a target
|
|
272
|
+
|
|
273
|
+
A generated target serves this tree as it is — no hand-written card, transition, schema or document
|
|
274
|
+
routes; domain rules are `before` plugins. This section is the hub; each package skill has its half.
|
|
275
|
+
|
|
276
|
+
- **common** declares the one tree the api and the web share: `makePlanningProtocols({ base: {
|
|
277
|
+
alias: 'api:planning' }, guards: DEFAULT_GUARD, definitions: true })`, in its own module beside
|
|
278
|
+
the `PLANNING` plugin (`sources/common/src/planning.ts`).
|
|
279
|
+
- **api** — `server-planning` → Mounting in a target (stock handlers, no commit socket, the
|
|
280
|
+
resolver answering `writes`). **web** — `client-planning` → Mounting in a target. **store** —
|
|
281
|
+
`planning-postgres`.
|
|
282
|
+
- **Kit literals**: card types and flows are LITERAL objects in `PLANNING.schemas.flows` / `.types`,
|
|
283
|
+
above the `// owlmeans: add planning flows|types above this line` sentinels — a spread or an
|
|
284
|
+
imported constant hides them from the library's registration checks. Card types and flows carry
|
|
285
|
+
`overridable: true` with open `fields` (`additionalProperties: true`); the container project type
|
|
286
|
+
(always sealed) carries `scopedCardTypes: true`, so the app's people override and extend them as
|
|
287
|
+
data through `schema.define`.
|
|
288
|
+
|
|
271
289
|
## Models
|
|
272
290
|
|
|
273
291
|
`makeWorkcardModel(record, facade)` (and `makeProjectModel`, `makeSpecificationModel`, `modelOf`
|
|
@@ -304,7 +322,7 @@ the marker survives a hop where the class is unknown, so match on it there:
|
|
|
304
322
|
| `WorkcardConflict` | `workcard-conflict:` — stale `expectSeq` | 409 |
|
|
305
323
|
| `SchemaConflict` / `SchemaInUse` | `schema-conflict:` (lost version CAS) / `schema-in-use:` (retiring a flow a live type runs) | 409 |
|
|
306
324
|
| `SchemaSealed` / `SchemaInvalid` | `schema-sealed:` / `schema-invalid:` | 422 |
|
|
307
|
-
| `PlanningForbidden` | `forbidden:<grant>:<target>` — the request's access lacks a grant | 403 |
|
|
325
|
+
| `PlanningForbidden` | `forbidden:<grant>:<target>` — the request's access lacks a grant; `forbidden:writes:<id>` — the card or project is outside its `writes` | 403 |
|
|
308
326
|
| `CommitTimeout` / `CommitFailed` | `commit-timeout:` (still pending, nothing undone) / `commit-failed:` | 500 |
|
|
309
327
|
| `PlanningScopeMismatch` / `PlanningUnsupported` | `scope-mismatch:` / `unsupported:` | 404 / 500 |
|
|
310
328
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/planning",
|
|
3
|
-
"version": "0.1.18-rc.
|
|
3
|
+
"version": "0.1.18-rc.17",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Runtime-free project-planning contracts — the workcard super type, projects, specifications, typed relationships, status flows with three intrinsic states, the transition event and its pure fold, the schema registry, the models and the protocol tree.",
|
|
6
6
|
"type": "module",
|