@beastmode-develeap/beastmode 0.1.246 → 0.1.247

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__ = "20260514-103241-7d6137c";</script>
18
+ <script>window.__BUILD_STAMP__ = "20260514-104557-2efe699";</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">
@@ -4777,22 +4777,35 @@ function swimlaneColor(colorKey) {
4777
4777
  }
4778
4778
  window.swimlaneColor = swimlaneColor;
4779
4779
 
4780
+ const _FIXTURE_NAME_RE = /^\[FIXTURE\]|^\[BM-VERIFY\]|^test[-_\s]|^S\d+[\s_-]|\bfixture\b|^smoke[-_\s]test\b|test[-_\s]item/i;
4781
+ function _isFixtureItem(item) {
4782
+ if (!item) return false;
4783
+ if (item.task_type === 'test_fixture') return true;
4784
+ const extra = item.extra || {};
4785
+ if (extra && extra._bm_fixture) return true;
4786
+ if (_FIXTURE_NAME_RE.test(item.name || '')) return true;
4787
+ return false;
4788
+ }
4789
+ window._isFixtureItem = _isFixtureItem;
4790
+
4780
4791
  function computePipelineStats(items) {
4781
4792
  const config = window.PIPELINE_CONFIG || {};
4782
4793
  const swimlanes = config.swimlanes || [];
4783
4794
  const typeStages = config.type_stages || {};
4784
4795
 
4785
- const totalItems = items.length;
4786
- const doneItems = items.filter(i => i.status === 'Done').length;
4787
- const stuckItems = items.filter(i => i.status === 'Stuck').length;
4788
- const activeItems = items.filter(i =>
4796
+ const realItems = items.filter(i => !_isFixtureItem(i));
4797
+
4798
+ const totalItems = realItems.length;
4799
+ const doneItems = realItems.filter(i => i.status === 'Done').length;
4800
+ const stuckItems = realItems.filter(i => i.status === 'Stuck').length;
4801
+ const activeItems = realItems.filter(i =>
4789
4802
  i.status && i.status !== 'New' && i.status !== 'Done' && i.status !== 'Stuck' && i.status !== ''
4790
4803
  ).length;
4791
4804
  const globalProgress = totalItems > 0 ? doneItems / totalItems : 0;
4792
4805
 
4793
4806
  const swimlaneStats = swimlanes.map(lane => {
4794
4807
  const taskTypes = lane.taskTypes || lane.task_types || [];
4795
- const laneItems = items.filter(i => taskTypes.includes(i.task_type || 'code'));
4808
+ const laneItems = realItems.filter(i => taskTypes.includes(i.task_type || 'code'));
4796
4809
  const total = laneItems.length;
4797
4810
  const done = laneItems.filter(i => i.status === 'Done').length;
4798
4811
  const stuck = laneItems.filter(i => i.status === 'Stuck').length;
@@ -7206,10 +7219,11 @@ function BoardPage({ selectedProject }) {
7206
7219
  `;
7207
7220
  }
7208
7221
 
7209
- const totalItems = swimlaneFilteredItems.length;
7210
- const activeItems = swimlaneFilteredItems.filter(i => i.status !== 'Done').length;
7211
- const doneItems = swimlaneFilteredItems.filter(i => i.status === 'Done').length;
7212
- const stuckItems = swimlaneFilteredItems.filter(i => i.status === 'Stuck').length;
7222
+ const realFilteredItems = swimlaneFilteredItems.filter(i => !_isFixtureItem(i));
7223
+ const totalItems = realFilteredItems.length;
7224
+ const activeItems = realFilteredItems.filter(i => i.status !== 'Done').length;
7225
+ const doneItems = realFilteredItems.filter(i => i.status === 'Done').length;
7226
+ const stuckItems = realFilteredItems.filter(i => i.status === 'Stuck').length;
7213
7227
  const progressPct = totalItems > 0 ? Math.round((doneItems / totalItems) * 100) : 0;
7214
7228
  const isFiltered = searchTerm.length >= 2 || activeFilterCount > 0;
7215
7229
 
@@ -1 +1 @@
1
- 7d6137c1ec2a4cae70c081689966638e519ff2e4
1
+ 2efe699f470b333750fc7e22e76e91d7581761c1
@@ -1 +1 @@
1
- 20260514-103241-7d6137c
1
+ 20260514-104557-2efe699
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beastmode-develeap/beastmode",
3
- "version": "0.1.246",
3
+ "version": "0.1.247",
4
4
  "description": "BeastMode Dark Factory — turn intent into verified software",
5
5
  "type": "module",
6
6
  "bin": {