myte 0.0.8 → 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 +96 -14
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -10,8 +10,13 @@ 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`
14
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`
15
20
  - then run `npx myte query "What changed in logging?" --with-diff`
16
21
  - then run `npx myte update-team "Backend deploy completed; QAQC rerun queued."`
17
22
  - then run `npx myte update-owner --subject "QAQC progress" --body-file ./updates/owner.md`
@@ -20,16 +25,26 @@ Use one of these flows:
20
25
  - Global install:
21
26
  - `npm i -g myte`
22
27
  - then run `myte bootstrap`
28
+ - then run `myte run-qaqc --mission-ids M001 --wait --sync`
23
29
  - then run `myte sync-qaqc`
24
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`
25
35
  - then run `myte query "What changed in logging?" --with-diff`
26
36
  - then run `myte update-team "Backend deploy completed; QAQC rerun queued."`
27
37
  - then run `myte update-owner --subject "QAQC progress" --body-file ./updates/owner.md`
28
38
  - then run `myte update-client --subject "Weekly client update" --body-file ./updates/week-12.md`
29
39
  - No install:
30
40
  - `npx myte@latest bootstrap`
41
+ - `npx myte@latest run-qaqc --mission-ids M001 --wait --sync`
31
42
  - `npx myte@latest sync-qaqc`
32
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`
33
48
  - `npx myte@latest query "What changed in logging?" --with-diff`
34
49
  - `npx myte@latest update-team "Backend deploy completed; QAQC rerun queued."`
35
50
  - `npx myte@latest update-owner --subject "QAQC progress" --body-file ./updates/owner.md`
@@ -81,7 +96,9 @@ What it does:
81
96
  - validates the current wrapper workspace against the configured repo names
82
97
  - writes local files under `MyteCommandCenter/data`
83
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`
84
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
85
102
 
86
103
  Files written:
87
104
  - `MyteCommandCenter/data/project.yml`
@@ -89,13 +106,33 @@ Files written:
89
106
  - `MyteCommandCenter/data/epics/*.yml`
90
107
  - `MyteCommandCenter/data/stories/*.yml`
91
108
  - `MyteCommandCenter/data/missions/*.yml`
92
- - `MyteCommandCenter/data/bootstrap-manifest.json`
93
109
 
94
110
  Useful forms:
95
111
  - `npx myte bootstrap --json`
96
112
  - `npx myte bootstrap --dry-run --json`
97
113
  - `npx myte bootstrap --output-dir ./MyteCommandCenter`
98
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
+
99
136
  ## Sync active mission QAQC context
100
137
 
101
138
  Run this from the wrapper root that contains the project's repo folders:
@@ -107,17 +144,15 @@ Run this from the wrapper root that contains the project's repo folders:
107
144
  What it does:
108
145
  - fetches a project-scoped QAQC sync snapshot from the API using your project key
109
146
  - works even if `bootstrap` has not been run yet
110
- - creates `MyteCommandCenter/data/qaqc` automatically if it does not exist
147
+ - creates `MyteCommandCenter/data/qaqc.yml` automatically if it does not exist
111
148
  - syncs only active `Todo` and `In Progress` missions
112
149
  - writes a public QAQC summary per mission, not raw `qa_qc_results` or raw batch docs
113
- - 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`
114
152
 
115
153
  Files written:
116
154
  - `MyteCommandCenter/data/project.yml`
117
- - `MyteCommandCenter/data/missions/<mission_id>.yml` for active missions
118
- - `MyteCommandCenter/data/qaqc/active-missions/<mission_id>.yml`
119
- - `MyteCommandCenter/data/qaqc/manifest.json`
120
- - `MyteCommandCenter/data/qaqc/latest-batch.json`
155
+ - `MyteCommandCenter/data/qaqc.yml`
121
156
 
122
157
  Useful forms:
123
158
  - `npx myte sync-qaqc --json`
@@ -135,21 +170,59 @@ Run this from the wrapper root that contains the project's repo folders:
135
170
  What it does:
136
171
  - fetches a project-scoped feedback snapshot from the API using your project key
137
172
  - defaults to open `Pending` feedback
138
- - writes feedback cards under `MyteCommandCenter/data/feedback/items`
139
- - writes readable PRD markdown copies under `MyteCommandCenter/data/feedback/prds` when available
140
- - fully replaces the feedback-owned sync folders so stale feedback does not accumulate locally
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`
141
177
 
142
178
  Files written:
143
179
  - `MyteCommandCenter/data/project.yml`
144
- - `MyteCommandCenter/data/feedback/manifest.json`
145
- - `MyteCommandCenter/data/feedback/items/<feedback_id>.yml`
146
- - `MyteCommandCenter/data/feedback/prds/<feedback_id>.md` when PRD text exists
180
+ - `MyteCommandCenter/data/feedback.yml`
147
181
 
148
182
  Useful forms:
149
183
  - `npx myte feedback-sync --json`
150
184
  - `npx myte feedback-sync --dry-run --json`
151
185
  - `npx myte feedback-sync --status Pending --source User`
152
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
+
153
226
  ## Query with deterministic diff context
154
227
 
155
228
  Example:
@@ -182,7 +255,9 @@ Examples:
182
255
 
183
256
  - File path:
184
257
  - `npx myte create-prd ./drafts/auth-prd.md`
258
+ - `npx myte create-prd ./drafts/auth-prd.md ./drafts/billing-prd.md`
185
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`
186
261
  - or `npx myte@latest create-prd ./drafts/auth-prd.md`
187
262
  - From stdin on macOS/Linux:
188
263
  - `cat ./drafts/auth-prd.md | npx myte create-prd --stdin`
@@ -216,14 +291,17 @@ Raw markdown also works:
216
291
 
217
292
  Deterministic field mapping:
218
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.
219
295
  - `title` maps to the feedback title.
220
296
  - `description` maps to the feedback description/card summary. Legacy `feedback_text` is still accepted for older payloads.
221
- - 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.
222
299
  - The backend uses that stored PRD markdown/text to generate the downloadable PRD DOCX.
223
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`.
224
301
 
225
302
  To inspect the exact payload before sending it:
226
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`
227
305
  - `npx myte create-prd ./drafts/auth-prd.md --description "Short card summary" --print-context`
228
306
 
229
307
  ## Team updates
@@ -296,6 +374,10 @@ Notes:
296
374
  - `npx myte bootstrap`
297
375
  - `npx myte sync-qaqc`
298
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`
299
381
  - `npx myte config --json`
300
382
  - `npx myte query "Summarize the current branch changes" --with-diff`
301
383
  - `npx myte create-prd ./drafts/auth-prd.md`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myte",
3
- "version": "0.0.8",
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.8"
19
+ "@mytegroupinc/myte-core": "0.0.9"
20
20
  }
21
21
  }