Skip to content

chore(ci): pin distributed action/workflow examples to v0.2.0#28

Merged
lemduc merged 1 commit into
mainfrom
chore/pin-distributed-v0.2.0
Jul 22, 2026
Merged

chore(ci): pin distributed action/workflow examples to v0.2.0#28
lemduc merged 1 commit into
mainfrom
chore/pin-distributed-v0.2.0

Conversation

@lemduc

@lemduc lemduc commented Jul 22, 2026

Copy link
Copy Markdown
Owner

Fixes main, which has been red since the v0.2.0 release.

What happened

The release commit 8090d12 bumped pyproject.toml to 0.2.0 but left four distributed artifacts pinned to 0.1.1:

  • .github/workflows/architecture-analysis-reusable.yml (input default)
  • actions/analyze/action.yml (input default)
  • examples/workflows/arcade-agent-analysis.yml (copyable template)
  • README.md (4 snippets)

tests/test_github_action_distribution.py asserts these track the packaged version, so it has been failing on main ever since. It went unnoticed because that release's own CI run was cancelled.

Why it matters beyond CI

The README currently instructs users to pin @v0.1.1 — which predates Kotlin support (#17) and the analyze tool (#16). Anyone copying the documented CI snippet today silently gets the older analyzer.

Verification

  • pytest tests/test_github_action_distribution.py10 passed (4 were failing before)
  • The v0.2.0 git tag exists on origin (8090d12), so the @v0.2.0 action refs resolve.

Note

This commit was originally carried inside #26 so that PR's CI could go green; it is split out here so main can be fixed without waiting on the TurboMQ review. #26 has been rebased to drop it. Merging this also unblocks #19's CI, whose only failures are these same four tests.

🤖 Generated with Claude Code

The v0.2.0 release commit (8090d12) bumped pyproject.toml but left the reusable
workflow default, the composite action default, the copyable workflow template,
and the README examples pinned to 0.1.1.

tests/test_github_action_distribution.py asserts these track the packaged
version, so main has been red since that release — its own CI run was
cancelled, which hid the failure.

This is also user-facing: the README currently tells people to pin
@v0.1.1, which predates Kotlin support and the analyze tool.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Architecture Drift Report

Algorithm: PKG | Entities: 670 | Components: 7

Drift from Baseline

Metric Baseline Current Delta
Components 7 7 +0
Similarity 1.00
BalancedArchitectureScore 0.68
PrincipleAlignmentScore 0.84
RCI 0.99
TurboMQ 0.24
BasicMQ 0.24
IntraConnectivity 0.00
InterConnectivity 0.01
TwoWayPairRatio 0.00
DependencyHealth 0.99
ComponentBalance 0.23
HubBalance 0.67
BoundaryClarity 1.00
DependencyDistribution 0.57
SmellDiscipline 0.91

Changes

  • No structural changes detected

Smells (1)

  • Concern Overload: Tests

Generated by arcade-agent

@github-actions

Copy link
Copy Markdown
Contributor

🤖 Architecture Analysis Summary

Powered by arcade-agent — automatic architectural self-analysis


📈 Metric Evolution

Baseline commit: 613a1d9

Legend: 🟢 better · 🔴 worse · 🟡 low impact · ⚪ no change

Metric Baseline Current Change
BalancedArchitectureScore 0.6193 0.6193 → (no change)
📦 Components 9 9 → (no change)
🧩 Entities 115 115 → (no change)
🔗 Edges 115 115 → (no change)
🏷️ Classes 22 22 → (no change)
ƒ Functions 271 271 → (no change)
🔧 Methods 34 34 → (no change)
RCI 0.5652 0.5652 → (no change)
TurboMQ 0.2493 0.2493 → (no change)
BasicMQ 0.2493 0.2493 → (no change)
IntraConnectivity 0.0182 0.0182 → (no change)
InterConnectivity 0.0323 0.0323 → (no change)
TwoWayPairRatio 0.0000 0.0000 → (no change)
DependencyHealth 0.9822 0.9822 → (no change)
ComponentBalance 0.5304 0.5304 → (no change)
HubBalance 0.5000 0.5000 → (no change)
BoundaryClarity 0.9444 0.9444 → (no change)
DependencyDistribution 0.6263 0.6263 → (no change)
SmellDiscipline 0.9333 0.9333 → (no change)
PrincipleAlignmentScore 0.8553 0.8553 → (no change)

🏛️ Current Architecture

Metric Value
📦 Components 9
🧩 Entities 115
🔗 Edges 115
🏷️ Classes 22
ƒ Functions 271
🔧 Methods 34
Balanced Score 🟡 0.6193 (Fair)
Principle Alignment 0.8553
RCI 0.5652
TurboMQ 0.2493
BasicMQ 0.2493
IntraConnectivity 0.0182
InterConnectivity 0.0323
TwoWayPairRatio 0.0000
DependencyHealth 0.9822
ComponentBalance 0.5304
HubBalance 0.5000
BoundaryClarity 0.9444
DependencyDistribution 0.6263
SmellDiscipline 0.9333

🧭 Principle Signals

Signal Value
AcyclicDependencies 1.0000
LayeringHealth 0.9867
ResponsibilityFocus 0.9333
InterfaceSegregation 1.0000
ComponentBalance 0.5304
HubBalance 0.5000
BoundaryClarity 0.9444
DependencyDistribution 0.6263
SmellDiscipline 0.9333

🎯 Score Drivers

Biggest risks

  • HubBalance: gap=0.5000 (signal=0.5000)
  • ComponentBalance: gap=0.4696 (signal=0.5304)
  • DependencyDistribution: gap=0.3737 (signal=0.6263)

Strongest areas

  • AcyclicDependencies: gap=0.0000 (signal=1.0000)
  • InterfaceSegregation: gap=0.0000 (signal=1.0000)
  • LayeringHealth: gap=0.0133 (signal=0.9867)

🕸️ High-Level Design

graph TD
    Algorithms["Algorithms\n39 entities\n5 classes / 3 methods"]
    Budget["Budget\n3 entities\n0 classes / 0 methods"]
    Cache["Cache\n4 entities\n0 classes / 0 methods"]
    Ci["Ci\n5 entities\n0 classes / 0 methods"]
    Exporters["Exporters\n14 entities\n1 classes / 0 methods"]
    Incremental["Incremental\n2 entities\n1 classes / 2 methods"]
    Parsers["Parsers\n17 entities\n11 classes / 27 methods"]
    Serialization["Serialization\n8 entities\n0 classes / 0 methods"]
    Tools["Tools\n23 entities\n4 classes / 2 methods"]
    Cache --> Serialization
    Ci --> Algorithms
    Ci --> Exporters
    Ci --> Serialization
    Ci --> Tools
    Serialization --> Algorithms
    Serialization --> Parsers
    Tools --> Algorithms
    Tools --> Cache
    Tools --> Exporters
    Tools --> Parsers
Loading
🏗️ Components breakdown
Component Entities Classes Methods
Algorithms 39 5 3
Tools 23 4 2
Parsers 17 11 27
Exporters 14 1 0
Serialization 8 0 0
Ci 5 0 0
Cache 4 0 0
Budget 3 0 0
Incremental 2 1 2

🚨 Architectural Smells

Severity Type Affected Components
🟡 medium Concern Overload Tools

📈 Evolution vs Baseline

Baseline commit: 613a1d9

Architecture-to-Architecture (A2A) Comparison

Metric Value
A2A Similarity 1.0000
Matched Components 9
Components Added 0
Components Removed 0
Component matching details

Matched:

Baseline Current Similarity
Algorithms Algorithms 1.0000
Budget Budget 1.0000
Cache Cache 1.0000
Ci Ci 1.0000
Exporters Exporters 1.0000
Incremental Incremental 1.0000
Parsers Parsers 1.0000
Serialization Serialization 1.0000
Tools Tools 1.0000
High-level component statistics
Status Baseline Current Similarity Entities Classes Methods
matched Algorithms Algorithms 1.0000 39 → 39 (0) 5 → 5 (0) 3 → 3 (0)
matched Budget Budget 1.0000 3 → 3 (0) 0 → 0 (0) 0 → 0 (0)
matched Cache Cache 1.0000 4 → 4 (0) 0 → 0 (0) 0 → 0 (0)
matched Ci Ci 1.0000 5 → 5 (0) 0 → 0 (0) 0 → 0 (0)
matched Exporters Exporters 1.0000 14 → 14 (0) 1 → 1 (0) 0 → 0 (0)
matched Incremental Incremental 1.0000 2 → 2 (0) 1 → 1 (0) 2 → 2 (0)
matched Parsers Parsers 1.0000 17 → 17 (0) 11 → 11 (0) 27 → 27 (0)
matched Serialization Serialization 1.0000 8 → 8 (0) 0 → 0 (0) 0 → 0 (0)
matched Tools Tools 1.0000 23 → 23 (0) 4 → 4 (0) 2 → 2 (0)
Before/After Mermaid diagrams

Baseline

graph TD
    Algorithms["Algorithms\n39 entities\n5 classes / 3 methods"]
    Budget["Budget\n3 entities\n0 classes / 0 methods"]
    Cache["Cache\n4 entities\n0 classes / 0 methods"]
    Ci["Ci\n5 entities\n0 classes / 0 methods"]
    Exporters["Exporters\n14 entities\n1 classes / 0 methods"]
    Incremental["Incremental\n2 entities\n1 classes / 2 methods"]
    Parsers["Parsers\n17 entities\n11 classes / 27 methods"]
    Serialization["Serialization\n8 entities\n0 classes / 0 methods"]
    Tools["Tools\n23 entities\n4 classes / 2 methods"]
    Cache --> Serialization
    Ci --> Algorithms
    Ci --> Exporters
    Ci --> Serialization
    Ci --> Tools
    Serialization --> Algorithms
    Serialization --> Parsers
    Tools --> Algorithms
    Tools --> Cache
    Tools --> Exporters
    Tools --> Parsers
Loading

Current

graph TD
    Algorithms["Algorithms\n39 entities\n5 classes / 3 methods"]
    Budget["Budget\n3 entities\n0 classes / 0 methods"]
    Cache["Cache\n4 entities\n0 classes / 0 methods"]
    Ci["Ci\n5 entities\n0 classes / 0 methods"]
    Exporters["Exporters\n14 entities\n1 classes / 0 methods"]
    Incremental["Incremental\n2 entities\n1 classes / 2 methods"]
    Parsers["Parsers\n17 entities\n11 classes / 27 methods"]
    Serialization["Serialization\n8 entities\n0 classes / 0 methods"]
    Tools["Tools\n23 entities\n4 classes / 2 methods"]
    Cache --> Serialization
    Ci --> Algorithms
    Ci --> Exporters
    Ci --> Serialization
    Ci --> Tools
    Serialization --> Algorithms
    Serialization --> Parsers
    Tools --> Algorithms
    Tools --> Cache
    Tools --> Exporters
    Tools --> Parsers
Loading
Component dependency delta
Status Source Target
matched No dependency delta -

💡 CI/CD Insights

  • Quality Score: 🟡 Fair (BalancedArchitectureScore=0.6193)
  • Principle Alignment: 0.8553 (higher means cleaner layering, focus, and boundaries)
  • Top Risk Driver: HubBalance (signal=0.5000)
  • Trend: ➡️ Stable architectural quality
  • Architecture Stability: 🟢 High (A2A=1.0000)
  • Smells: ⚠️ 1 smell(s) — review suggested

📄 View HTML reports and artifacts


This comment is auto-generated by the self-dogfooding CI job. It updates on every push to this PR.

@lemduc
lemduc merged commit 746fc56 into main Jul 22, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant