@mu-crew/mu 3.0.0 → 3.1.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.js +5 -4
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/docs/ARCHITECTURE.md +1 -1
- package/docs/USAGE_GUIDE.md +7 -6
- package/docs/VOCABULARY.md +1 -1
- package/docs/specs/2026-09-29-task-substates.md +1 -1
- package/package.json +1 -1
- package/skills/mu/SKILL.md +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -2120,11 +2120,12 @@ declare function isTaskStatus(s: string): s is TaskStatus;
|
|
|
2120
2120
|
declare const TASK_STATUS_LIST: string;
|
|
2121
2121
|
/** Legal substates per status. `substate` qualifies `status` and never
|
|
2122
2122
|
* touches edge semantics: only `status === "CLOSED"` satisfies a
|
|
2123
|
-
* `blocks` edge.
|
|
2123
|
+
* `blocks` edge. Closed: `rejected` = the proposal was declined;
|
|
2124
|
+
* `wontfix` = valid, but not worth doing. */
|
|
2124
2125
|
declare const TASK_SUBSTATES: {
|
|
2125
2126
|
readonly OPEN: readonly ["todo", "parked"];
|
|
2126
2127
|
readonly IN_PROGRESS: readonly ["active"];
|
|
2127
|
-
readonly CLOSED: readonly ["done", "wontfix", "duplicate", "superseded"];
|
|
2128
|
+
readonly CLOSED: readonly ["done", "rejected", "wontfix", "duplicate", "superseded"];
|
|
2128
2129
|
};
|
|
2129
2130
|
type TaskSubstate = (typeof TASK_SUBSTATES)[TaskStatus][number];
|
|
2130
2131
|
/** The substate a status takes when none is given. Never null: an
|
|
@@ -2139,7 +2140,7 @@ interface TaskPair {
|
|
|
2139
2140
|
/** Rows for seeding task_substates: [status, substate, isDefault]. */
|
|
2140
2141
|
declare const TASK_SUBSTATE_ROWS: ReadonlyArray<readonly [TaskStatus, TaskSubstate, 0 | 1]>;
|
|
2141
2142
|
declare function isValidPair(status: string, substate: string): boolean;
|
|
2142
|
-
/** REJECTED -> {CLOSED,
|
|
2143
|
+
/** REJECTED -> {CLOSED, rejected}; DEFERRED -> {OPEN, parked}; else null. */
|
|
2143
2144
|
declare function mapLegacyStatus(value: string): TaskPair | null;
|
|
2144
2145
|
/** Map a stored/remote pair onto a legal one. Legacy status -> mapped pair
|
|
2145
2146
|
* (ignores substate arg). Unknown status -> null. Known status with
|
|
@@ -2161,7 +2162,7 @@ interface SetStatusResult {
|
|
|
2161
2162
|
changed: boolean;
|
|
2162
2163
|
}
|
|
2163
2164
|
/** The substates a task can be closed as (`mu task close --as`). */
|
|
2164
|
-
type CloseSubstate =
|
|
2165
|
+
type CloseSubstate = (typeof TASK_SUBSTATES)["CLOSED"][number];
|
|
2165
2166
|
/**
|
|
2166
2167
|
* Optional evidence string carried on lifecycle verbs (close / open /
|
|
2167
2168
|
* claim / release). Lands in the auto-emitted `kind='event'` payload
|
package/dist/index.js
CHANGED
|
@@ -1882,7 +1882,7 @@ var TASK_STATUS_LIST = TASK_STATUSES.join(" | ");
|
|
|
1882
1882
|
var TASK_SUBSTATES = {
|
|
1883
1883
|
OPEN: ["todo", "parked"],
|
|
1884
1884
|
IN_PROGRESS: ["active"],
|
|
1885
|
-
CLOSED: ["done", "wontfix", "duplicate", "superseded"]
|
|
1885
|
+
CLOSED: ["done", "rejected", "wontfix", "duplicate", "superseded"]
|
|
1886
1886
|
};
|
|
1887
1887
|
var DEFAULT_SUBSTATE = { OPEN: "todo", IN_PROGRESS: "active", CLOSED: "done" };
|
|
1888
1888
|
var TASK_SUBSTATE_ROWS = TASK_STATUSES.flatMap(
|
|
@@ -1895,7 +1895,7 @@ function isValidPair(status, substate) {
|
|
|
1895
1895
|
return TASK_SUBSTATES[status].includes(substate);
|
|
1896
1896
|
}
|
|
1897
1897
|
var LEGACY_STATUS_PAIRS = {
|
|
1898
|
-
REJECTED: { status: "CLOSED", substate: "
|
|
1898
|
+
REJECTED: { status: "CLOSED", substate: "rejected" },
|
|
1899
1899
|
DEFERRED: { status: "OPEN", substate: "parked" }
|
|
1900
1900
|
};
|
|
1901
1901
|
function mapLegacyStatus(value) {
|