-
Notifications
You must be signed in to change notification settings - Fork 15
Matas/fix/fix actions #43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
MT-superdev
wants to merge
16
commits into
warestack:main
Choose a base branch
from
MT-superdev:matas/fix/fix-actions
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
4bfd1c6
Matas: Minor overall refactor and fixed bugs
MT-superdev 407e34e
fix: Resolve all pytest failures (imports, api, mocks, async_client)
MT-superdev 6ae016c
fix: add respx to dev dependencies for CI compatibility
MT-superdev cfaae12
triggering ci cd
MT-superdev 527d626
chore: update uv.lock with respx dependency
MT-superdev 2c92405
chore: triggering docs workflow
MT-superdev 58931d7
fix: add docs dependencies for mkdocs build in CI
MT-superdev 8a647ca
chore: triggering docs workflow
MT-superdev f088920
fix: restrict docs deployment to upstream repo only
MT-superdev a28fedb
chore: triggering docs workflow
MT-superdev e851eb6
feat: Enhance Repository Analysis Agent with AI Immune System features
MT-superdev 02276f3
fix: updated uv.lock file
MT-superdev 963abb2
feat: Enhance repository analysis with new hygiene metrics and API re…
MT-superdev a9f74b4
refactor: Remove giturlparse dependency and update event handler regi…
MT-superdev 6a426e2
refactor: immune system metrics, require_linked_issue validator, API …
dkargatzis 154b56d
Merge branch 'matas/fix/fix-actions' of https://github.com/MT-superde…
MT-superdev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| # Run all pre-commit hooks on all files | ||
| pre-commit run --all-files | ||
|
|
||
| # Run ruff linter and formatter directly (if needed) | ||
| ruff check src/ | ||
| ruff format src/ | ||
|
|
||
| # Run mypy for type checking | ||
| mypy src/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,91 +1,3 @@ | ||
| [tool.ruff] | ||
| # Target Python version | ||
| target-version = "py312" | ||
| # Line length - restored from old config | ||
| line-length = 120 | ||
| # Indent width | ||
| indent-width = 4 | ||
|
|
||
| # Exclude common directories - restored from old config | ||
| exclude = [ | ||
| ".bzr", | ||
| ".direnv", | ||
| ".eggs", | ||
| ".git", | ||
| ".git-rewrite", | ||
| ".hg", | ||
| ".ipynb_checkpoints", | ||
| ".mypy_cache", | ||
| ".nox", | ||
| ".pants.d", | ||
| ".pyenv", | ||
| ".pytest_cache", | ||
| ".pytype", | ||
| ".ruff_cache", | ||
| ".svn", | ||
| ".tox", | ||
| ".venv", | ||
| ".vscode", | ||
| "__pypackages__", | ||
| "_build", | ||
| "buck-out", | ||
| "build", | ||
| "dist", | ||
| "node_modules", | ||
| "site-packages", | ||
| "venv", | ||
| ] | ||
|
|
||
| [tool.ruff.lint] | ||
| # Select a comprehensive set of rules | ||
| # Based on recommended practices from Ruff documentation | ||
| select = [ | ||
| "E", # pycodestyle errors | ||
| "F", # pyflakes | ||
| "I", # isort | ||
| "B", # flake8-bugbear | ||
| "C4", # flake8-comprehensions | ||
| "UP", # pyupgrade | ||
| ] | ||
|
|
||
| # Common ignores for web development | ||
| ignore = [ | ||
| "E501", # line too long (handled by formatter) | ||
| "B008", # do not perform function calls in argument defaults (common in FastAPI) | ||
| ] | ||
|
|
||
| # Allow fixing all enabled rules | ||
| fixable = ["ALL"] | ||
|
|
||
| # Allow unused variables when underscore-prefixed - restored from old config | ||
| dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" | ||
|
|
||
| [tool.ruff.format] | ||
| # Modern formatting options | ||
| quote-style = "double" | ||
| indent-style = "space" | ||
| # Format docstring code blocks | ||
| docstring-code-format = true | ||
| # Restored from old config | ||
| skip-magic-trailing-comma = false | ||
| line-ending = "auto" | ||
|
|
||
| [tool.ruff.lint.isort] | ||
| # Enhanced isort configuration | ||
| known-first-party = ["src"] | ||
| # Make sure we correctly order the import sections | ||
| section-order = [ | ||
| "future", | ||
| "standard-library", | ||
| "third-party", | ||
| "first-party", | ||
| "local-folder", | ||
| ] | ||
| # Add a trailing comma to imports split across multiple lines | ||
| split-on-trailing-comma = true | ||
| # Combine import statements for the same module | ||
| combine-as-imports = true | ||
|
|
||
| [project] | ||
| name = "watchflow" | ||
| version = "0.1.0" | ||
|
|
@@ -96,17 +8,6 @@ license = {text = "Apache Software License 2.0"} | |
| authors = [ | ||
| {name = "Dimitris Kargatzis", email = "[email protected]"}, | ||
| ] | ||
| keywords = ["github", "governance", "ai", "protection", "rules", "enforcement", "collaboration"] | ||
| classifiers = [ | ||
| "Development Status :: 4 - Beta", | ||
| "Intended Audience :: Developers", | ||
| "License :: OSI Approved :: MIT License", | ||
| "Programming Language :: Python :: 3", | ||
| "Programming Language :: Python :: 3.12", | ||
| "Topic :: Software Development :: Libraries :: Python Modules", | ||
| "Topic :: Software Development :: Quality Assurance", | ||
| ] | ||
|
|
||
| dependencies = [ | ||
| "fastapi[standard]>=0.104.0", | ||
| "uvicorn[standard]>=0.24.0", | ||
|
|
@@ -124,127 +25,95 @@ dependencies = [ | |
| "boto3>=1.40.43", | ||
| "anthropic[vertex]>=0.69.0", | ||
| "langchain-google-vertexai>=2.1.2", | ||
| "giturlparse>=0.1.0", | ||
| "structlog>=24.1.0", | ||
| "gql[all]>=3.4.0", | ||
| ] | ||
|
|
||
| [project.optional-dependencies] | ||
| dev = [ | ||
| "pytest>=7.4.0", | ||
| "pytest-asyncio>=0.21.0", | ||
| "pytest-cov>=4.1.0", | ||
| "black>=23.0.0", | ||
| "isort>=5.12.0", | ||
| "flake8>=6.0.0", | ||
| "respx>=0.20.0", | ||
| "mypy>=1.7.0", | ||
| "pre-commit>=3.5.0", | ||
| "ruff>=0.1.0", # Replaces black, isort, flake8 | ||
| ] | ||
|
|
||
| docs = [ | ||
| "mkdocs>=1.5.0", | ||
| "mkdocs-material>=9.5.0", | ||
| "mkdocs-git-revision-date-localized-plugin>=1.2.0", | ||
| "mkdocs-minify-plugin>=0.7.0", | ||
| "pymdown-extensions>=10.0", | ||
| "mkdocs-minify-plugin>=0.8.0", | ||
| ] | ||
|
|
||
| [project.urls] | ||
| Homepage = "https://github.com/warestack/watchflow" | ||
| Documentation = "https://docs.watchflow.dev" | ||
| Repository = "https://github.com/warestack/watchflow" | ||
| Issues = "https://github.com/warestack/watchflow/issues" | ||
|
|
||
| [project.scripts] | ||
| watchflow = "src.main:app" | ||
|
|
||
| [tool.black] | ||
| line-length = 88 | ||
| target-version = ['py312'] | ||
| include = '\.pyi?$' | ||
| extend-exclude = ''' | ||
| /( | ||
| # directories | ||
| \.eggs | ||
| | \.git | ||
| | \.hg | ||
| | \.mypy_cache | ||
| | \.tox | ||
| | \.venv | ||
| | build | ||
| | dist | ||
| )/ | ||
| ''' | ||
| # --- RUFF CONFIGURATION (The Enforcer) --- | ||
| [tool.ruff] | ||
| target-version = "py312" | ||
| line-length = 120 | ||
| indent-width = 4 | ||
| exclude = [ | ||
| ".git", ".mypy_cache", ".pytest_cache", ".ruff_cache", ".venv", "venv", "__pypackages__", | ||
| ] | ||
|
|
||
| [tool.ruff.lint] | ||
| # E/F: Core Python errors | ||
| # I: Import sorting (isort replacement) | ||
| # B: Bugbear (catches common bugs) | ||
| # UP: Pyupgrade (modernizes syntax) | ||
| # C4: Comprehensions | ||
| # SIM: Simplify (suggests pythonic refactors) | ||
| # TCH: Type Checking (enforces specific typing blocks) | ||
| select = ["E", "F", "I", "B", "UP", "C4", "SIM", "TCH"] | ||
| ignore = [ | ||
| "E501", # Line too long (handled by formatter) | ||
| "B008", # Do not perform function calls in argument defaults (FastAPI Dependency Pattern) | ||
| ] | ||
| fixable = ["ALL"] | ||
|
|
||
| [tool.ruff.format] | ||
| quote-style = "double" | ||
| indent-style = "space" | ||
| skip-magic-trailing-comma = false | ||
| line-ending = "auto" | ||
| docstring-code-format = true | ||
|
|
||
| [tool.isort] | ||
| profile = "black" | ||
| multi_line_output = 3 | ||
| line_length = 88 | ||
| known_first_party = ["src"] | ||
| [tool.ruff.lint.isort] | ||
| known-first-party = ["src"] | ||
| combine-as-imports = true | ||
|
|
||
| # --- MYPY CONFIGURATION (The Type Cop) --- | ||
| [tool.mypy] | ||
| python_version = "3.12" | ||
| warn_return_any = true | ||
| warn_unused_configs = true | ||
| disallow_untyped_defs = true | ||
| disallow_incomplete_defs = true | ||
| disallow_untyped_defs = true # No dynamic functions allowed | ||
| disallow_incomplete_defs = true # Must type all args | ||
| check_untyped_defs = true | ||
| disallow_untyped_decorators = true | ||
| disallow_untyped_decorators = false # Allow untyped decorators (needed for FastAPI/LangChain) | ||
| no_implicit_optional = true | ||
| warn_redundant_casts = true | ||
| warn_unused_ignores = true | ||
| warn_no_return = true | ||
| warn_unreachable = true | ||
| strict_equality = true | ||
|
|
||
| # --- PYTEST CONFIGURATION --- | ||
| [tool.pytest.ini_options] | ||
| testpaths = ["tests"] | ||
| python_files = ["test_*.py", "*_test.py"] | ||
| python_classes = ["Test*"] | ||
| python_functions = ["test_*"] | ||
| addopts = [ | ||
| "--strict-markers", | ||
| "--strict-config", | ||
| "--cov=src", | ||
| "--cov-report=term-missing", | ||
| "--cov-report=html", | ||
| "--cov-report=xml", | ||
| ] | ||
| asyncio_mode = "auto" | ||
|
|
||
|
|
||
| [tool.coverage.run] | ||
| source = ["src"] | ||
| omit = [ | ||
| "*/tests/*", | ||
| "*/test_*", | ||
| "*/__pycache__/*", | ||
| "*/migrations/*", | ||
| ] | ||
|
|
||
| [tool.coverage.report] | ||
| exclude_lines = [ | ||
| "pragma: no cover", | ||
| "def __repr__", | ||
| "if self.debug:", | ||
| "if settings.DEBUG", | ||
| "raise AssertionError", | ||
| "raise NotImplementedError", | ||
| "if 0:", | ||
| "if __name__ == .__main__.:", | ||
| "class .*\\bProtocol\\):", | ||
| "@(abc\\.)?abstractmethod", | ||
| ] | ||
|
|
||
| [tool.uv] | ||
| dev-dependencies = [ | ||
| "pytest>=7.4.0", | ||
| "pytest-asyncio>=0.21.0", | ||
| "pytest-cov>=4.1.0", | ||
| "black>=23.0.0", | ||
| "isort>=5.12.0", | ||
| "flake8>=6.0.0", | ||
| "mypy>=1.7.0", | ||
| "pre-commit>=3.5.0", | ||
| "mkdocs-material>=9.5.0", | ||
| "mkdocs-git-revision-date-localized-plugin>=1.2.0", | ||
| "mkdocs-minify-plugin>=0.7.0", | ||
| "pymdown-extensions>=10.0", | ||
| "ruff>=0.1.0", | ||
| ] | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
latest version of ruff linter 2025 2026💡 Result:
As of January 24, 2026:
0.14.14, released January 22, 2026. [1]0.14.13, uploaded January 15, 2026. [2]Sources: [1] [2]
Update Ruff to a current version—v0.3.0 is outdated.
The pinned version
v0.3.0is approximately two years old (from early 2024). The current latest version isv0.14.14(released January 22, 2026). This appears to be a downgrade or typo. Update to at leastv0.14.13orv0.14.14to benefit from bug fixes, security updates, and improvements across 11+ minor versions.🤖 Prompt for AI Agents