@ted-galago/wave-cli 0.1.16 → 0.1.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 CHANGED
@@ -128,8 +128,10 @@ wave osmd agent status "projects/Wave Tools" notes.md
128
128
  wave osmd agent read "projects/Wave Tools" notes.md
129
129
  wave osmd agent create "projects/Wave Tools" notes.md --content "Working notes"
130
130
  wave osmd wiki read index.md
131
+ wave osmd wiki read log.md
131
132
  wave osmd wiki create index.md --content "# Agent Wiki"
132
133
  wave osmd wiki update "Agent Wiki/index.md" --file ./agent-wiki-index.md
134
+ wave osmd wiki append-log --content "Observed durable event"
133
135
  wave find "Ted"
134
136
  wave open "Ted Martinez"
135
137
  wave ls --path "directory/Members/Ted Martinez"
@@ -299,7 +301,7 @@ Backend error codes are surfaced explicitly from GraphQL `errors[].extensions.co
299
301
 
300
302
  ## OSMD Agent Markdown
301
303
 
302
- The `osmd` command group is the write-capable agent interface for the merged OSMD + agent overlay model. Canonical OSMD files are read-only. Agents must write either `.agent` overlay files attached to a canonical OSMD parent, or top-level Agent Wiki files.
304
+ The `osmd` command group is the write-capable agent interface for canonical OSMD, `.agent` overlays, and Agent Wiki files. Canonical OSMD files are read-only. Agents must write either entity-specific `.agent` overlay memory attached to a canonical OSMD parent, or broad Agent Wiki knowledge.
303
305
 
304
306
  Commands:
305
307
 
@@ -307,16 +309,17 @@ Commands:
307
309
  - `wave osmd read <path> [--parent-ref <canonicalPath>]`
308
310
  - `wave osmd children [path] [--parent-ref <canonicalPath>] [--source canonical_osmd|agent_overlay|agent_wiki]`
309
311
  - `wave osmd status <path> [--parent-ref <canonicalPath>]`
310
- - `wave osmd agent status <parent-ref> <notes.md|log.md>`
312
+ - `wave osmd agent status <parent-ref> notes.md`
311
313
  - `wave osmd agent init <parent-ref>`
312
- - `wave osmd agent read <parent-ref> <notes.md|log.md>`
313
- - `wave osmd agent create <parent-ref> <notes.md|log.md> (--content <markdown> | --file <path> | stdin)`
314
- - `wave osmd agent update <parent-ref> <notes.md|log.md> (--content <markdown> | --file <path> | stdin)`
314
+ - `wave osmd agent read <parent-ref> notes.md`
315
+ - `wave osmd agent create <parent-ref> notes.md (--content <markdown> | --file <path> | stdin)`
316
+ - `wave osmd agent update <parent-ref> notes.md (--content <markdown> | --file <path> | stdin)`
315
317
  - `wave osmd wiki status <path>`
316
318
  - `wave osmd wiki read <path>`
317
319
  - `wave osmd wiki children [path]`
318
320
  - `wave osmd wiki create <path> (--content <markdown> | --file <path> | stdin)`
319
321
  - `wave osmd wiki update <path> (--content <markdown> | --file <path> | stdin)`
322
+ - `wave osmd wiki append-log [log.md] (--content <markdown> | --file <path> | stdin)`
320
323
 
321
324
  GraphQL mapping:
322
325
 
@@ -326,20 +329,28 @@ GraphQL mapping:
326
329
  - `osmd agent init` -> `initAgentMarkdown`
327
330
  - `osmd agent create` / `osmd wiki create` -> `createAgentMarkdownFile`
328
331
  - `osmd agent update` / `osmd wiki update` -> `updateAgentMarkdownFile`
332
+ - `osmd wiki append-log` -> `recordAgentMarkdownLog`
329
333
 
330
334
  Path and permission rules:
331
335
 
332
336
  - Canonical OSMD reads use backend `path` values from tree/status/file responses.
333
337
  - Canonical OSMD writes are blocked before mutation when status reports `source: "canonical_osmd"` or `access: "read_only"`.
334
338
  - `.agent` commands require a canonical `parent-ref`; the CLI passes it as `parentRef` and never derives storage paths.
335
- - `.agent` first slice supports only `notes.md` (`read_write`) and `log.md` (`append_only`).
339
+ - `.agent` first slice supports only `notes.md`.
336
340
  - `osmd agent init <parent-ref>` is idempotent for default `.agent` files.
337
- - Agent Wiki command paths may be `index.md`, `log.md`, or `Agent Wiki/index.md`; the CLI normalizes these to backend paths under `Agent Wiki`.
338
- - Agent Wiki first-slice agents should use `index.md` and `log.md`.
341
+ - Agent Wiki index paths may be `index.md` or `Agent Wiki/index.md`; the CLI normalizes these to `Agent Wiki/index.md`.
342
+ - Agent Wiki log paths may be `log.md` or `Agent Wiki/log.md`; the CLI normalizes these to `Agent Wiki/log.md`.
343
+ - Agent Wiki first-slice agents should use `index.md` for broad writable wiki memory and `log.md` for append-only event memory.
344
+ - Agent Wiki `create` and `update` support only `index.md`; `log.md` cannot be overwritten.
345
+ - Agent Wiki `append-log` supports only `log.md` and calls status first before appending.
346
+ - The CLI uses backend GraphQL metadata directly and does not derive S3 paths, SHA paths, or backend storage conventions.
347
+ - Atlas should inspect `path`, `source`, `access`, `owner`, `parentRef`, `exists`, `canCreate`, `canUpdate`, `canAppend`, `suggestedAction`, and `errorCode`.
339
348
  - Reads never create files.
340
- - Create/update flows call status first and inspect `exists`, `canCreate`, `canUpdate`, `canAppend`, `suggestedAction`, and `errorCode`.
349
+ - Create/update/append-log flows call status first and inspect `exists`, `canCreate`, `canUpdate`, `canAppend`, `suggestedAction`, and `errorCode`.
341
350
  - `create` fails when `exists` is true.
342
351
  - `update` fails when `exists` is false.
352
+ - `append-log` fails unless status reports `exists: true`, `access: "append_only"`, and `canAppend: true`.
353
+ - Missing `Agent Wiki/index.md` is create-ready when status returns `exists: false`, `canCreate: true`, `canUpdate: false`, and `suggestedAction: "create"`.
343
354
 
344
355
  OSMD command envelopes keep the global CLI envelope and put the file metadata directly in `data`:
345
356
 
@@ -354,6 +365,9 @@ OSMD command envelopes keep the global CLI envelope and put the file metadata di
354
365
  "access": "read_write",
355
366
  "owner": "atlas",
356
367
  "exists": true,
368
+ "canCreate": false,
369
+ "canUpdate": true,
370
+ "canAppend": false,
357
371
  "parentRef": "projects/Wave Tools",
358
372
  "content": "..."
359
373
  },
@@ -367,19 +381,24 @@ On write preflight errors, `data` contains the status metadata and `error.sugges
367
381
  ```json
368
382
  {
369
383
  "ok": false,
370
- "command": "osmd.agent.update",
384
+ "command": "osmd.wiki.update",
371
385
  "status": 404,
372
386
  "data": {
373
- "path": "projects/Wave Tools/.agent/notes.md",
387
+ "path": "Agent Wiki/index.md",
388
+ "source": "agent_wiki",
389
+ "access": "read_write",
390
+ "owner": "atlas",
374
391
  "exists": false,
375
392
  "canCreate": true,
376
393
  "canUpdate": false,
377
394
  "canAppend": false,
378
- "suggestedAction": "create"
395
+ "parentRef": null,
396
+ "suggestedAction": "create",
397
+ "errorCode": null
379
398
  },
380
399
  "error": {
381
400
  "code": "agent_file_not_found",
382
- "message": "Agent markdown file does not exist: projects/Wave Tools/.agent/notes.md",
401
+ "message": "Agent markdown file does not exist: Agent Wiki/index.md",
383
402
  "suggestedAction": "create",
384
403
  "details": {}
385
404
  },