valent-pipeline 0.19.48 → 0.19.49

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valent-pipeline",
3
- "version": "0.19.48",
3
+ "version": "0.19.49",
4
4
  "description": "v3 multi-agent AI pipeline for software development lifecycle",
5
5
  "type": "module",
6
6
  "bin": {
@@ -582,7 +582,14 @@ export function storyStatus({ root, story, targetBranch = '', prefix = 'story/'
582
582
  const branch = storyBranchName(prefix, story);
583
583
  const exists = branchExists(root, branch);
584
584
  const record = readFlowRecord(root, story);
585
- const target = targetBranch || record?.target || currentBranch(root);
585
+ // A `--from-story` item (an inline bug fix) ships `--into` its SOURCE story branch (recorded as
586
+ // basedOnStory), NOT the sprint target — so "did it land" is ancestry against basedOnStory. The sprint
587
+ // `--target` that the post-ship verify passes globally (gitFlags `--target`) is the wrong base for such
588
+ // an item: it reads a bug correctly merged into its source — but whose source hasn't reached the sprint
589
+ // target yet — as merged:false → a FALSE git-ship-failed that stranded the parent's revalidation
590
+ // (M-60, 2.17-BUG-002). basedOnStory is therefore AUTHORITATIVE when present (it overrides even an
591
+ // explicit --target); an ordinary story (basedOnStory null) still honors --target then the record.
592
+ const target = record?.basedOnStory || targetBranch || record?.target || currentBranch(root);
586
593
  // A missing branch is UNKNOWN (merged:null), never a verdict: the flow retains branches on
587
594
  // both ship and reject, so absence means the flow never ran here (or someone pruned by hand) —
588
595
  // the caller must treat the state as unverified rather than as landed.