@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 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, DECISION_CONFIG_PATH, loadDecisionConfig, } from "./decision.js";
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: `The ${workflowStage} artifact changed after review; its approval is stale. Rerun the quality gate and request approval again.`,
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. Create .aiw/${DECISION_CONFIG_PATH} to enable it.`,
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. Create .aiw/${"semantic.yml"} to enable it.`,
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)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multileaf/ai-workflow",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Portable spec-driven development workflow for AI coding agents",
5
5
  "license": "MIT",
6
6
  "repository": {