orchestrix-yuri 4.7.5 → 4.7.6

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.
@@ -705,17 +705,26 @@ class PhaseOrchestrator {
705
705
 
706
706
  if (output && output !== 'NO_STORIES_DIR') {
707
707
  for (const line of output.split('\n')) {
708
- const [key, countStr] = line.split(':');
709
- const count = parseInt(countStr, 10) || 0;
710
- if (key === 'Epics') {
711
- result.totalEpics = count;
708
+ if (!line.includes(':')) continue;
709
+ const colonIdx = line.indexOf(':');
710
+ const key = line.slice(0, colonIdx);
711
+ const value = line.slice(colonIdx + 1);
712
+
713
+ if (key === 'Total') {
714
+ result.totalStories = parseInt(value, 10) || 0;
715
+ } else if (key === 'Epics') {
716
+ result.totalEpics = parseInt(value, 10) || 0;
712
717
  } else if (key === 'CurrentEpic') {
713
- result.currentEpic = count;
714
- } else if (key && count > 0) {
715
- result.byStatus[key] = count;
716
- result.totalStories += count;
717
- if (key === 'Done') result.doneStories += count;
718
+ result.currentEpic = parseInt(value, 10) || 0;
719
+ } else if (key === 'CurrentStory') {
720
+ if (!result.currentStory) result.currentStory = value;
721
+ } else if (key.startsWith('Status')) {
722
+ // Per-file status: StatusDone:1.1-name count as 'Done'
723
+ const statusName = key.slice(6); // strip 'Status' prefix
724
+ result.byStatus[statusName] = (result.byStatus[statusName] || 0) + 1;
725
+ if (statusName === 'Done') result.doneStories++;
718
726
  }
727
+ // 'Created' is metadata — skip (Total is the authoritative count)
719
728
  }
720
729
  }
721
730
  } catch { /* fallback to phase3.yaml */ }
@@ -798,7 +807,8 @@ class PhaseOrchestrator {
798
807
  if (statusEntries.length > 0) {
799
808
  const statusIcons = {
800
809
  Done: '✅', InProgress: '🔄', Review: '👀', Blocked: '🚫',
801
- Approved: '', AwaitingArchReview: '🏛️', RequiresRevision: '🔧', Escalated: '⚠️',
810
+ Approved: '📋', Draft: '📝', NoStatus: '',
811
+ AwaitingArchReview: '🏛️', RequiresRevision: '🔧', Escalated: '⚠️',
802
812
  };
803
813
  for (const [status, count] of statusEntries) {
804
814
  lines.push(`${statusIcons[status] || '·'} ${status}: ${count}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orchestrix-yuri",
3
- "version": "4.7.5",
3
+ "version": "4.7.6",
4
4
  "description": "Yuri — Meta-Orchestrator for Orchestrix. Drive your entire project lifecycle with natural language.",
5
5
  "main": "lib/installer.js",
6
6
  "bin": {