@beastmode-develeap/beastmode 0.1.137 → 0.1.139

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.
@@ -15,7 +15,7 @@
15
15
  }
16
16
  </script>
17
17
  <!--BOARD_DATA-->
18
- <script>window.__BUILD_STAMP__ = "20260420-121215-ccc17e9";</script>
18
+ <script>window.__BUILD_STAMP__ = "20260424-113634-42099f0";</script>
19
19
  <link rel="preconnect" href="https://fonts.googleapis.com">
20
20
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
21
21
  <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
@@ -3858,20 +3858,14 @@ function computePipelineStats(items) {
3858
3858
  };
3859
3859
  });
3860
3860
 
3861
- const allActiveCounts = [];
3862
- swimlaneStats.forEach(lane => {
3863
- Object.entries(lane.stageCounts).forEach(([stage, count]) => {
3864
- if (stage !== 'New' && stage !== 'Done' && count > 0) allActiveCounts.push(count);
3865
- });
3866
- });
3867
- const avgCount = allActiveCounts.length > 0
3868
- ? allActiveCounts.reduce((a, b) => a + b, 0) / allActiveCounts.length : 0;
3869
-
3870
3861
  const bottlenecks = [];
3871
3862
  swimlaneStats.forEach(lane => {
3863
+ const nonDoneStages = Object.keys(lane.stageCounts).filter(s => s !== 'Done');
3864
+ const totalNonDone = nonDoneStages.reduce((sum, s) => sum + lane.stageCounts[s], 0);
3865
+ const perStageAvg = nonDoneStages.length > 0 ? totalNonDone / nonDoneStages.length : 0;
3872
3866
  Object.entries(lane.stageCounts).forEach(([stage, count]) => {
3873
3867
  if (stage === 'New' || stage === 'Done') return;
3874
- if (count > 0 && count >= avgCount * 2) {
3868
+ if (count > perStageAvg * 2) {
3875
3869
  bottlenecks.push({
3876
3870
  swimlane: lane.key, swimlaneLabel: lane.label,
3877
3871
  stage, count, thresholdExceeded: true,
@@ -5018,6 +5012,7 @@ function ViewToggle({ viewMode, onToggle }) {
5018
5012
  `;
5019
5013
  }
5020
5014
 
5015
+
5021
5016
  // ── Board Page ──
5022
5017
 
5023
5018
  function BoardPage({ selectedProject }) {
@@ -5421,6 +5416,7 @@ function BoardPage({ selectedProject }) {
5421
5416
  return () => cancelAnimationFrame(raf);
5422
5417
  }, [items, loading]);
5423
5418
 
5419
+
5424
5420
  const toggleSwimlane = (key) => {
5425
5421
  setActiveSwimlanesSet(prev => {
5426
5422
  const next = new Set(prev);
@@ -1 +1 @@
1
- ccc17e94f8dfd285cf0cb1a3a657a66f1c3795db
1
+ 42099f01a12888a36936a8b23a590c4d26476cff
@@ -1 +1 @@
1
- 20260420-121215-ccc17e9
1
+ 20260424-113634-42099f0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beastmode-develeap/beastmode",
3
- "version": "0.1.137",
3
+ "version": "0.1.139",
4
4
  "description": "BeastMode Dark Factory — turn intent into verified software",
5
5
  "type": "module",
6
6
  "bin": {