@multileaf/ai-workflow 0.4.0 → 0.4.1
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/CHANGELOG.md +7 -0
- package/dist/workflow.js +7 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,13 @@ All notable changes to this project are documented in this file. The format foll
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.4.1] - 2026-10-08
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Approving an SDD stage that never passed its quality gate now reports an actionable `Run aiw gate <stage> before approving` error instead of a misleading stale-approval message.
|
|
12
|
+
- `aiw semantic status` and `aiw decision status` now point to the `.aiw/settings.yml` sections instead of the legacy standalone files.
|
|
13
|
+
|
|
7
14
|
## [0.4.0] - 2026-10-08
|
|
8
15
|
|
|
9
16
|
### Changed
|
package/dist/workflow.js
CHANGED
|
@@ -21,7 +21,7 @@ import { parseLock, resolvePackage, serializeLock } from "./lockfile.js";
|
|
|
21
21
|
import { executeVercelSkills, installVercelSkill, nodeCommandExecutor } from "./vercel-skills.js";
|
|
22
22
|
import { scanProject } from "./scanner.js";
|
|
23
23
|
import { readFactOverrides, saveSettingOverrides, saveSettingsSection, loadSettings, } from "./settings.js";
|
|
24
|
-
import { buildEvidenceTriageRequest, createOllamaDecisionProvider, DEFAULT_DECISION_CONFIG,
|
|
24
|
+
import { buildEvidenceTriageRequest, createOllamaDecisionProvider, DEFAULT_DECISION_CONFIG, loadDecisionConfig, } from "./decision.js";
|
|
25
25
|
import { buildSemanticIndex, createOllamaEmbeddingProvider, DEFAULT_SEMANTIC_CONFIG, loadSemanticConfig, parseSemanticIndex, querySemanticIndex, SEMANTIC_INDEX_PATH, serializeSemanticIndex, } from "./semantic.js";
|
|
26
26
|
import { assertKnownPermissions, assertPermissions, assertPackagePermissions, serializePermissionReview, } from "./package-audit.js";
|
|
27
27
|
import { planPackageUpdate } from "./package-updates.js";
|
|
@@ -161,9 +161,12 @@ export async function runCommand(args, root, fs, services = {}) {
|
|
|
161
161
|
if (ledger.stages[workflowStage]?.artifactHash !== artifactHash) {
|
|
162
162
|
const invalidated = invalidateStageAndDescendants(ledger, workflowStage, new Date().toISOString());
|
|
163
163
|
fs.write(join(aiw, "approvals.yml"), serializeApprovalLedger(invalidated));
|
|
164
|
+
const existing = ledger.stages[workflowStage];
|
|
164
165
|
return {
|
|
165
166
|
exitCode: 1,
|
|
166
|
-
error:
|
|
167
|
+
error: existing
|
|
168
|
+
? `The ${workflowStage} artifact changed after review; its approval is stale. Rerun the quality gate and request approval again.`
|
|
169
|
+
: `No passing quality gate recorded for ${workflowStage}. Run aiw gate ${workflowStage} before approving.`,
|
|
167
170
|
};
|
|
168
171
|
}
|
|
169
172
|
const updated = approveStage(ledger, workflowStage, {
|
|
@@ -468,7 +471,7 @@ export async function runCommand(args, root, fs, services = {}) {
|
|
|
468
471
|
if (!config)
|
|
469
472
|
return {
|
|
470
473
|
exitCode: 0,
|
|
471
|
-
output: `Decision model is not configured.
|
|
474
|
+
output: `Decision model is not configured. Add a decision section to .aiw/settings.yml to enable it.`,
|
|
472
475
|
};
|
|
473
476
|
return {
|
|
474
477
|
exitCode: 0,
|
|
@@ -515,7 +518,7 @@ export async function runCommand(args, root, fs, services = {}) {
|
|
|
515
518
|
if (!config)
|
|
516
519
|
return {
|
|
517
520
|
exitCode: 0,
|
|
518
|
-
output: `Semantic mapping is not configured.
|
|
521
|
+
output: `Semantic mapping is not configured. Add a semantic section to .aiw/settings.yml to enable it.`,
|
|
519
522
|
};
|
|
520
523
|
const indexPath = join(aiw, SEMANTIC_INDEX_PATH);
|
|
521
524
|
const built = fs.exists(indexPath)
|