myte 0.0.7 → 0.0.9

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 (2) hide show
  1. package/README.md +145 -8
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -10,23 +10,44 @@ Use one of these flows:
10
10
  - `npm install myte`
11
11
  - then run `npx myte config --json`
12
12
  - then run `npx myte bootstrap`
13
+ - then run `npx myte run-qaqc --mission-ids M001 --wait --sync`
13
14
  - then run `npx myte sync-qaqc`
15
+ - then run `npx myte feedback-sync`
16
+ - then run `npx myte suggestions sync`
17
+ - then run `npx myte suggestions create`
18
+ - then run `npx myte suggestions revise`
19
+ - then run `npx myte suggestions review`
14
20
  - then run `npx myte query "What changed in logging?" --with-diff`
15
21
  - then run `npx myte update-team "Backend deploy completed; QAQC rerun queued."`
22
+ - then run `npx myte update-owner --subject "QAQC progress" --body-file ./updates/owner.md`
16
23
  - then run `npx myte update-client --subject "Weekly client update" --body-file ./updates/week-12.md`
17
24
  - or `npm exec myte -- query "What changed in logging?" --with-diff`
18
25
  - Global install:
19
26
  - `npm i -g myte`
20
27
  - then run `myte bootstrap`
28
+ - then run `myte run-qaqc --mission-ids M001 --wait --sync`
21
29
  - then run `myte sync-qaqc`
30
+ - then run `myte feedback-sync`
31
+ - then run `myte suggestions sync`
32
+ - then run `myte suggestions create`
33
+ - then run `myte suggestions revise`
34
+ - then run `myte suggestions review`
22
35
  - then run `myte query "What changed in logging?" --with-diff`
23
36
  - then run `myte update-team "Backend deploy completed; QAQC rerun queued."`
37
+ - then run `myte update-owner --subject "QAQC progress" --body-file ./updates/owner.md`
24
38
  - then run `myte update-client --subject "Weekly client update" --body-file ./updates/week-12.md`
25
39
  - No install:
26
40
  - `npx myte@latest bootstrap`
41
+ - `npx myte@latest run-qaqc --mission-ids M001 --wait --sync`
27
42
  - `npx myte@latest sync-qaqc`
43
+ - `npx myte@latest feedback-sync`
44
+ - `npx myte@latest suggestions sync`
45
+ - `npx myte@latest suggestions create`
46
+ - `npx myte@latest suggestions revise`
47
+ - `npx myte@latest suggestions review`
28
48
  - `npx myte@latest query "What changed in logging?" --with-diff`
29
49
  - `npx myte@latest update-team "Backend deploy completed; QAQC rerun queued."`
50
+ - `npx myte@latest update-owner --subject "QAQC progress" --body-file ./updates/owner.md`
30
51
  - `npx myte@latest update-client --subject "Weekly client update" --body-file ./updates/week-12.md`
31
52
 
32
53
  `npm install myte` by itself does not put `myte` on your shell PATH. Use `npx myte` or `npm exec myte -- ...` unless you installed globally.
@@ -75,7 +96,9 @@ What it does:
75
96
  - validates the current wrapper workspace against the configured repo names
76
97
  - writes local files under `MyteCommandCenter/data`
77
98
  - writes a normalized public Command Center schema, not raw backend mission/proposal documents
99
+ - mission cards now include richer execution context like `complexity`, `estimated_hours`, `due_date`, `subtasks`, `technical_requirements`, `resources_needed`, `labels`, and normalized `test_cases`
78
100
  - excludes internal fields like `_id`, `org_id`, `project_id`, `created_by`, `assigned_to`, and raw `qa_qc_results`
101
+ - if the workspace still has old Command Center artifacts, rerunning current commands prunes legacy outputs like `bootstrap-manifest.json`, `data/qaqc/`, and `data/feedback/` automatically as the new files are written
79
102
 
80
103
  Files written:
81
104
  - `MyteCommandCenter/data/project.yml`
@@ -83,13 +106,33 @@ Files written:
83
106
  - `MyteCommandCenter/data/epics/*.yml`
84
107
  - `MyteCommandCenter/data/stories/*.yml`
85
108
  - `MyteCommandCenter/data/missions/*.yml`
86
- - `MyteCommandCenter/data/bootstrap-manifest.json`
87
109
 
88
110
  Useful forms:
89
111
  - `npx myte bootstrap --json`
90
112
  - `npx myte bootstrap --dry-run --json`
91
113
  - `npx myte bootstrap --output-dir ./MyteCommandCenter`
92
114
 
115
+ ## Queue mission QAQC and refresh local QAQC context
116
+
117
+ Run this from any workspace with a valid project key:
118
+
119
+ - `npx myte run-qaqc --mission-ids M001,M002 --wait --sync`
120
+ - or `npm exec myte -- run-qaqc --mission-ids M001,M002 --wait --sync`
121
+ - or `myte run-qaqc --mission-ids M001,M002 --wait --sync`
122
+
123
+ What it does:
124
+ - queues QAQC for up to 10 explicit mission ids through the project-key API surface
125
+ - returns a `batch_id` immediately
126
+ - uses `--wait` to poll the batch until it reaches a terminal state
127
+ - uses `--sync` to refresh `MyteCommandCenter/data/qaqc.yml` after a completed batch
128
+ - runs through the dedicated `project_api_qaqc` queue inside the existing Celery service, with a global budget of `20` dispatch starts/minute and `20` live jobs
129
+ - a saturated `run-qaqc --wait` batch can take roughly `5-10` minutes before sync has final data to pull
130
+
131
+ Useful forms:
132
+ - `npx myte run-qaqc --mission-ids M001`
133
+ - `npx myte run-qaqc --mission-ids M001,M002 --wait`
134
+ - `npx myte run-qaqc --mission-ids M001,M002 --wait --sync --json`
135
+
93
136
  ## Sync active mission QAQC context
94
137
 
95
138
  Run this from the wrapper root that contains the project's repo folders:
@@ -101,23 +144,85 @@ Run this from the wrapper root that contains the project's repo folders:
101
144
  What it does:
102
145
  - fetches a project-scoped QAQC sync snapshot from the API using your project key
103
146
  - works even if `bootstrap` has not been run yet
104
- - creates `MyteCommandCenter/data/qaqc` automatically if it does not exist
147
+ - creates `MyteCommandCenter/data/qaqc.yml` automatically if it does not exist
105
148
  - syncs only active `Todo` and `In Progress` missions
106
149
  - writes a public QAQC summary per mission, not raw `qa_qc_results` or raw batch docs
107
- - removes previously QAQC-managed mission files from `MyteCommandCenter/data/missions` when they are no longer active
150
+ - keeps active mission QAQC state in one deterministic file that grows and shrinks with the current working set
151
+ - fully rewrites `MyteCommandCenter/data/qaqc.yml` on every sync and does not delete `MyteCommandCenter/data/missions/*.yml`
108
152
 
109
153
  Files written:
110
154
  - `MyteCommandCenter/data/project.yml`
111
- - `MyteCommandCenter/data/missions/<mission_id>.yml` for active missions
112
- - `MyteCommandCenter/data/qaqc/active-missions/<mission_id>.yml`
113
- - `MyteCommandCenter/data/qaqc/manifest.json`
114
- - `MyteCommandCenter/data/qaqc/latest-batch.json`
155
+ - `MyteCommandCenter/data/qaqc.yml`
115
156
 
116
157
  Useful forms:
117
158
  - `npx myte sync-qaqc --json`
118
159
  - `npx myte sync-qaqc --dry-run --json`
119
160
  - `npx myte sync-qaqc --output-dir ./MyteCommandCenter`
120
161
 
162
+ ## Sync open feedback and PRD context
163
+
164
+ Run this from the wrapper root that contains the project's repo folders:
165
+
166
+ - `npx myte feedback-sync`
167
+ - or `npm exec myte -- feedback-sync`
168
+ - or `myte feedback-sync`
169
+
170
+ What it does:
171
+ - fetches a project-scoped feedback snapshot from the API using your project key
172
+ - defaults to open `Pending` feedback
173
+ - writes one deterministic feedback snapshot under `MyteCommandCenter/data/feedback.yml`
174
+ - includes readable PRD markdown inline when available
175
+ - fully replaces the aggregated feedback sync file so stale feedback does not accumulate locally
176
+ - does not delete `MyteCommandCenter/data/missions/*.yml`
177
+
178
+ Files written:
179
+ - `MyteCommandCenter/data/project.yml`
180
+ - `MyteCommandCenter/data/feedback.yml`
181
+
182
+ Useful forms:
183
+ - `npx myte feedback-sync --json`
184
+ - `npx myte feedback-sync --dry-run --json`
185
+ - `npx myte feedback-sync --status Pending --source User`
186
+
187
+ ## Sync and iterate on mission suggestions
188
+
189
+ - `npx myte suggestions sync`
190
+ - or `npm exec myte -- suggestions sync`
191
+ - or `myte suggestions sync`
192
+
193
+ What it does:
194
+ - fetches the project suggestion workflow snapshot with the project API key
195
+ - writes one deterministic workflow file at `MyteCommandCenter/data/mission-ops.yml`
196
+ - keeps active first-come-first-serve queue state in `queue`
197
+ - keeps full lineage for active and terminal items in `threads[]`
198
+ - `suggestions sync` should be the first step before ideating locally so new submissions start from the latest aggregated thread state
199
+ - preserves top-level `workspace.<actor_scope>` blocks and per-thread `workspace.<actor_scope>` drafts across sync so coding agents can keep local drafts in one file
200
+ - synced `threads[]` include aggregate diffs, conflict summaries, and archived decision lineage so local agents do not need to reconstruct review state
201
+
202
+ Create/revise/review:
203
+ - `npx myte suggestions create --file ./changes/create.yml`
204
+ - `npx myte suggestions revise --file ./changes/revise.yml`
205
+ - `npx myte suggestions review --file ./changes/review.yml`
206
+
207
+ Local single-file mode:
208
+ - `suggestions create` can read local `workspace.<actor_scope>.draft_submissions[]` from `mission-ops.yml`
209
+ - `suggestions revise` can read local per-thread `workspace.<actor_scope>` draft blocks when `draft_status` is `submit`, `ready`, or `pending_submit`
210
+ - `suggestions review` is owner-only and can read local per-thread owner review blocks using `review_action`, `review_note`, `final_change_set`, and `review_revision`
211
+ - `suggestions review` requires an explicit `review_action` of `request_changes`, `approve`, or `reject`
212
+ - there is no persisted save-draft review action
213
+ - suggestion notifications deep-link into the project Reviews workspace for the affected thread
214
+ - create/revise/review resync `mission-ops.yml` by default unless `--no-sync` is passed
215
+ - create/revise/review auto-send idempotency and client-session metadata so retries stay deterministic without manual headers
216
+ - `--print-context` prints the JSON payload that would be submitted for create/revise/review
217
+ - after successful review approvals, the CLI rewrites the affected `MyteCommandCenter/data/missions/*.yml` cards automatically
218
+
219
+ Useful forms:
220
+ - `npx myte suggestions sync --json`
221
+ - `npx myte suggestions create --file ./changes/create.yml --json`
222
+ - `npx myte suggestions create`
223
+ - `npx myte suggestions revise`
224
+ - `npx myte suggestions review`
225
+
121
226
  ## Query with deterministic diff context
122
227
 
123
228
  Example:
@@ -150,7 +255,9 @@ Examples:
150
255
 
151
256
  - File path:
152
257
  - `npx myte create-prd ./drafts/auth-prd.md`
258
+ - `npx myte create-prd ./drafts/auth-prd.md ./drafts/billing-prd.md`
153
259
  - or `npm exec myte -- create-prd ./drafts/auth-prd.md`
260
+ - or `npm exec myte -- create-prd ./drafts/auth-prd.md ./drafts/billing-prd.md`
154
261
  - or `npx myte@latest create-prd ./drafts/auth-prd.md`
155
262
  - From stdin on macOS/Linux:
156
263
  - `cat ./drafts/auth-prd.md | npx myte create-prd --stdin`
@@ -184,14 +291,17 @@ Raw markdown also works:
184
291
 
185
292
  Deterministic field mapping:
186
293
  - Required: a valid project API key, the PRD markdown body, and a title.
294
+ - One command can upload one file or many files. Single uploads hit `/project-assistant/create-prd`; multi-file uploads automatically use the batch upload path.
187
295
  - `title` maps to the feedback title.
188
296
  - `description` maps to the feedback description/card summary. Legacy `feedback_text` is still accepted for older payloads.
189
- - The markdown body after the metadata block, or the full raw markdown file when no metadata block is used, is stored verbatim as PRD content.
297
+ - The context blob that becomes the stored PRD document is the full `prd_markdown`, or the markdown body after the `myte-kanban` metadata block when using `ticket_markdown`.
298
+ - That PRD markdown blob is stored verbatim as PRD content.
190
299
  - The backend uses that stored PRD markdown/text to generate the downloadable PRD DOCX.
191
300
  - Additional structured fields should go in the `myte-kanban` JSON block. Supported keys include `priority`, `status`, `tags`, `assigned_user_email`, `assigned_user_id`, `due_date`, `repo_name`, `repo_id`, `preview_url`, and `source`.
192
301
 
193
302
  To inspect the exact payload before sending it:
194
303
  - `npx myte create-prd ./drafts/auth-prd.md --print-context`
304
+ - `npx myte create-prd ./drafts/auth-prd.md ./drafts/billing-prd.md --print-context`
195
305
  - `npx myte create-prd ./drafts/auth-prd.md --description "Short card summary" --print-context`
196
306
 
197
307
  ## Team updates
@@ -214,6 +324,27 @@ Useful forms:
214
324
  - `npx myte update-team "Backend deploy completed." --print-context`
215
325
  - `npx myte update-team "Backend deploy completed." --json`
216
326
 
327
+ ## Owner updates
328
+
329
+ Use `update-owner` to send a direct project-owner email through the project-key Project Assistant surface.
330
+
331
+ Examples:
332
+
333
+ - `npx myte update-owner --subject "QAQC progress" --body-file ./updates/owner.md`
334
+ - `npx myte update-owner --subject "Board cleanup needed" --body-markdown "## Status\n- Phase 2 review pending"`
335
+ - `Get-Content -Raw .\updates\owner.md | npx myte update-owner --stdin --subject "Owner update"`
336
+
337
+ What it sends:
338
+
339
+ - `POST /api/project-assistant/update-owner`
340
+ - payload: `{ "subject": "...", "body_markdown": "..." }`
341
+
342
+ Notes:
343
+
344
+ - the owner recipient is resolved from the authenticated project
345
+ - the CLI cannot set an arbitrary recipient address
346
+ - the backend sends the email through Myte SMTP and stores a durable send record
347
+
217
348
  ## Client update drafts
218
349
 
219
350
  Use `update-client` to draft a branded client update email for owner review.
@@ -242,8 +373,14 @@ Notes:
242
373
  - `npm install myte`
243
374
  - `npx myte bootstrap`
244
375
  - `npx myte sync-qaqc`
376
+ - `npx myte feedback-sync`
377
+ - `npx myte suggestions sync`
378
+ - `npx myte suggestions create --file ./changes/create.yml`
379
+ - `npx myte suggestions revise`
380
+ - `npx myte suggestions review`
245
381
  - `npx myte config --json`
246
382
  - `npx myte query "Summarize the current branch changes" --with-diff`
247
383
  - `npx myte create-prd ./drafts/auth-prd.md`
248
384
  - `npx myte update-team "Backend deploy completed; QAQC rerun queued."`
385
+ - `npx myte update-owner --subject "QAQC progress" --body-file ./updates/owner.md`
249
386
  - `npx myte update-client --subject "Weekly client update" --body-file ./updates/week-12.md`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myte",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "description": "Myte developer CLI (Project Assistant + deterministic diffs).",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
@@ -16,6 +16,6 @@
16
16
  "node": ">=18"
17
17
  },
18
18
  "dependencies": {
19
- "@mytegroupinc/myte-core": "0.0.7"
19
+ "@mytegroupinc/myte-core": "0.0.9"
20
20
  }
21
21
  }