monoco-toolkit 0.3.0__py3-none-any.whl → 0.3.1__py3-none-any.whl

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.
@@ -66,7 +66,7 @@ class IssueValidator:
66
66
  diagnostics.extend(self._validate_references(meta, content, all_issue_ids))
67
67
 
68
68
  # 5.5 Domain Integrity
69
- diagnostics.extend(self._validate_domains(meta, content))
69
+ diagnostics.extend(self._validate_domains(meta, content, all_issue_ids))
70
70
 
71
71
  # 6. Time Consistency
72
72
  diagnostics.extend(self._validate_time_consistency(meta, content))
@@ -562,7 +562,9 @@ class IssueValidator:
562
562
 
563
563
  return diagnostics
564
564
 
565
- def _validate_domains(self, meta: IssueMetadata, content: str) -> List[Diagnostic]:
565
+ def _validate_domains(
566
+ self, meta: IssueMetadata, content: str, all_ids: Set[str] = set()
567
+ ) -> List[Diagnostic]:
566
568
  diagnostics = []
567
569
  # Check if 'domains' field exists in frontmatter text
568
570
  # We rely on text parsing because Pydantic defaults 'domains' to [] if missing.
@@ -585,15 +587,25 @@ class IssueValidator:
585
587
  has_domains_field = True
586
588
  break
587
589
 
590
+ # Governance Maturity Check
591
+ # Rule: If Epics > 8 or Issues > 50, enforce Domain usage
592
+ num_issues = len(all_ids)
593
+ num_epics = len(
594
+ [i for i in all_ids if "EPIC-" in i]
595
+ ) # Simple heuristic, ideally check type
596
+
597
+ is_mature = num_issues > 50 or num_epics > 8
598
+
588
599
  if not has_domains_field:
589
- # We report it on line 0 (start of file) or line 1
590
- diagnostics.append(
591
- self._create_diagnostic(
592
- "Structure Error: Missing 'domains' field in frontmatter.",
593
- DiagnosticSeverity.Warning,
594
- line=0,
600
+ if is_mature:
601
+ # We report it on line 0 (start of file) or line 1
602
+ diagnostics.append(
603
+ self._create_diagnostic(
604
+ "Governance Maturity: Project scale (Epics>8 or Issues>50) requires 'domains' field in frontmatter.",
605
+ DiagnosticSeverity.Warning,
606
+ line=0,
607
+ )
595
608
  )
596
- )
597
609
 
598
610
  return diagnostics
599
611
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: monoco-toolkit
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: Agent Native Toolkit for Monoco - Task Management & Kanban for AI Agents
5
5
  Project-URL: Homepage, https://monoco.io
6
6
  Project-URL: Repository, https://github.com/IndenScale/Monoco
@@ -52,7 +52,7 @@ monoco/features/issue/linter.py,sha256=DQ3UruGUUMZu63EFn71eczoFDoqj31JxHHaRR3Ej6
52
52
  monoco/features/issue/migration.py,sha256=i0xlxZjrpmuHGHOAIN4iu31EwwVIvZn7yjveS-kU22c,4896
53
53
  monoco/features/issue/models.py,sha256=7oIMxvUEfe00n7wni9bZgKU2e9404flvArixbLQ95Dg,5902
54
54
  monoco/features/issue/monitor.py,sha256=vZN0TbR3V5fHKHRGkIhimO6UwWcwYjDHQs2qzjEG174,3549
55
- monoco/features/issue/validator.py,sha256=LC0biKkCBdeUT9fsST4_25p43xCILItFSdg8wDbz5oM,24261
55
+ monoco/features/issue/validator.py,sha256=Rbn5M_RLEHVPi5n0Y19-VCWZvVlRWcCRFYRbsw-Oc-I,24732
56
56
  monoco/features/issue/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  monoco/features/issue/domain/lifecycle.py,sha256=oIuLYTVy1RRHGngAzbNU4kTWOHMBhjuw_TuYCwNqMJw,4991
58
58
  monoco/features/issue/domain/models.py,sha256=eo5Ks7VzWDQsqzuu9gcBuxIafvfqnzUDNDG9wbaghsc,5797
@@ -77,8 +77,8 @@ monoco/features/spike/resources/en/AGENTS.md,sha256=NG3CMnlDk_0J8hnRUcueAM9lgIQr
77
77
  monoco/features/spike/resources/en/SKILL.md,sha256=qKDcVh0D3pDRvfNLh1Bzo4oQU3obpl4tqdlzxeiWYMk,1911
78
78
  monoco/features/spike/resources/zh/AGENTS.md,sha256=5RHNl7fc3RdYYTFH483ojJl_arGPKkyYziOuGgFbqqg,290
79
79
  monoco/features/spike/resources/zh/SKILL.md,sha256=Q82e9lCQOAYIwBs5rGnvlVUDq7bp0pz8yvO10KTWFYQ,1710
80
- monoco_toolkit-0.3.0.dist-info/METADATA,sha256=wlJBNo4dO5EsFridU9MVpUeCxue6Bno-pbfEMWY89hc,4866
81
- monoco_toolkit-0.3.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
82
- monoco_toolkit-0.3.0.dist-info/entry_points.txt,sha256=iYj7FWYBdtClU15-Du1skqD0s6SFSIhJvxJ29VWp8ng,43
83
- monoco_toolkit-0.3.0.dist-info/licenses/LICENSE,sha256=ACAGGjV6aod4eIlVUTx1q9PZbnZGN5bBwkSs9RHj83s,1071
84
- monoco_toolkit-0.3.0.dist-info/RECORD,,
80
+ monoco_toolkit-0.3.1.dist-info/METADATA,sha256=PZkujG6T9VUfcKukCNXem8IsQlJ9NruQZW0sWQfsoWI,4866
81
+ monoco_toolkit-0.3.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
82
+ monoco_toolkit-0.3.1.dist-info/entry_points.txt,sha256=iYj7FWYBdtClU15-Du1skqD0s6SFSIhJvxJ29VWp8ng,43
83
+ monoco_toolkit-0.3.1.dist-info/licenses/LICENSE,sha256=ACAGGjV6aod4eIlVUTx1q9PZbnZGN5bBwkSs9RHj83s,1071
84
+ monoco_toolkit-0.3.1.dist-info/RECORD,,