Skip to content

chore: merge dev to main - security fixes and improvements (#149) #459

chore: merge dev to main - security fixes and improvements (#149)

chore: merge dev to main - security fixes and improvements (#149) #459

Triggered via push January 27, 2026 21:20
Status Success
Total duration 14m 2s
Artifacts 2
Tests (Python 3.12)
8m 42s
Tests (Python 3.12)
Compatibility (Python 3.11)
2m 16s
Compatibility (Python 3.11)
Type Checking (basedpyright)
1m 13s
Type Checking (basedpyright)
Linting (ruff, pylint)
3m 55s
Linting (ruff, pylint)
Quality Gates (Advisory)
8s
Quality Gates (Advisory)
Contract-First CI
53s
Contract-First CI
CLI Command Validation
1m 1s
CLI Command Validation
Package Validation (uvx/pip)
27s
Package Validation (uvx/pip)
Publish to PyPI
27s
Publish to PyPI
Create GitHub Release
0s
Create GitHub Release
Fit to window
Zoom out
Zoom in

Annotations

20 warnings
Type Checking (basedpyright): src/specfact_cli/adapters/ado.py#L657
Type of "get" is partially unknown   Type of "get" is "Overload[(key: Unknown, default: None = None, /) -> (Unknown | None), (key: Unknown, default: Unknown, /) -> Unknown, (key: Unknown, default: _T@get, /) -> (Unknown | _T@get)]" (reportUnknownMemberType)
Type Checking (basedpyright): src/specfact_cli/adapters/ado.py#L654
Type of "update" is partially unknown   Type of "update" is "Overload[(m: SupportsKeysAndGetItem[Unknown, Unknown], /) -> None, (m: SupportsKeysAndGetItem[str, Unknown], /, **kwargs: Unknown) -> None, (m: Iterable[tuple[Unknown, Unknown]], /) -> None, (m: Iterable[tuple[str, Unknown]], /, **kwargs: Unknown) -> None, (**kwargs: Unknown) -> None]" (reportUnknownMemberType)
Type Checking (basedpyright): src/specfact_cli/adapters/ado.py#L653
Type of "get" is partially unknown   Type of "get" is "Overload[(key: Unknown, default: None = None, /) -> (Unknown | None), (key: Unknown, default: Unknown, /) -> Unknown, (key: Unknown, default: _T@get, /) -> (Unknown | _T@get)]" (reportUnknownMemberType)
Type Checking (basedpyright): src/specfact_cli/adapters/ado.py#L648
Type of "get" is partially unknown   Type of "get" is "Overload[(key: str, default: None = None, /) -> (Unknown | None), (key: str, default: Unknown, /) -> Unknown, (key: str, default: _T@get, /) -> (Unknown | _T@get)]" (reportUnknownMemberType)
Type Checking (basedpyright): src/specfact_cli/adapters/ado.py#L532
Type of "is_dir" is unknown (reportUnknownMemberType)
Type Checking (basedpyright): src/specfact_cli/adapters/ado.py#L531
Type of "exists" is unknown (reportUnknownMemberType)
Type Checking (basedpyright): src/specfact_cli/adapters/ado.py#L514
Type of "is_dir" is unknown (reportUnknownMemberType)
Type Checking (basedpyright): src/specfact_cli/adapters/ado.py#L513
Type of "exists" is unknown (reportUnknownMemberType)
Type Checking (basedpyright): src/specfact_cli/adapters/ado.py#L490
Type of "get" is partially unknown   Type of "get" is "Overload[(key: Unknown, default: None = None, /) -> (Unknown | None), (key: Unknown, default: Unknown, /) -> Unknown, (key: Unknown, default: _T@get, /) -> (Unknown | _T@get)]" (reportUnknownMemberType)
Type Checking (basedpyright): src/specfact_cli/adapters/ado.py#L490
Type of "get" is partially unknown   Type of "get" is "Overload[(key: Unknown, default: None = None, /) -> (Unknown | None), (key: Unknown, default: Unknown, /) -> Unknown, (key: Unknown, default: _T@get, /) -> (Unknown | _T@get)]" (reportUnknownMemberType)
Linting (ruff, pylint): src/specfact_cli/adapters/ado.py#L657
Type of "get" is partially unknown   Type of "get" is "Overload[(key: Unknown, default: None = None, /) -> (Unknown | None), (key: Unknown, default: Unknown, /) -> Unknown, (key: Unknown, default: _T@get, /) -> (Unknown | _T@get)]" (reportUnknownMemberType)
Linting (ruff, pylint): src/specfact_cli/adapters/ado.py#L654
Type of "update" is partially unknown   Type of "update" is "Overload[(m: SupportsKeysAndGetItem[Unknown, Unknown], /) -> None, (m: SupportsKeysAndGetItem[str, Unknown], /, **kwargs: Unknown) -> None, (m: Iterable[tuple[Unknown, Unknown]], /) -> None, (m: Iterable[tuple[str, Unknown]], /, **kwargs: Unknown) -> None, (**kwargs: Unknown) -> None]" (reportUnknownMemberType)
Linting (ruff, pylint): src/specfact_cli/adapters/ado.py#L653
Type of "get" is partially unknown   Type of "get" is "Overload[(key: Unknown, default: None = None, /) -> (Unknown | None), (key: Unknown, default: Unknown, /) -> Unknown, (key: Unknown, default: _T@get, /) -> (Unknown | _T@get)]" (reportUnknownMemberType)
Linting (ruff, pylint): src/specfact_cli/adapters/ado.py#L648
Type of "get" is partially unknown   Type of "get" is "Overload[(key: str, default: None = None, /) -> (Unknown | None), (key: str, default: Unknown, /) -> Unknown, (key: str, default: _T@get, /) -> (Unknown | _T@get)]" (reportUnknownMemberType)
Linting (ruff, pylint): src/specfact_cli/adapters/ado.py#L532
Type of "is_dir" is unknown (reportUnknownMemberType)
Linting (ruff, pylint): src/specfact_cli/adapters/ado.py#L531
Type of "exists" is unknown (reportUnknownMemberType)
Linting (ruff, pylint): src/specfact_cli/adapters/ado.py#L514
Type of "is_dir" is unknown (reportUnknownMemberType)
Linting (ruff, pylint): src/specfact_cli/adapters/ado.py#L513
Type of "exists" is unknown (reportUnknownMemberType)
Linting (ruff, pylint): src/specfact_cli/adapters/ado.py#L490
Type of "get" is partially unknown   Type of "get" is "Overload[(key: Unknown, default: None = None, /) -> (Unknown | None), (key: Unknown, default: Unknown, /) -> Unknown, (key: Unknown, default: _T@get, /) -> (Unknown | _T@get)]" (reportUnknownMemberType)
Linting (ruff, pylint): src/specfact_cli/adapters/ado.py#L490
Type of "get" is partially unknown   Type of "get" is "Overload[(key: Unknown, default: None = None, /) -> (Unknown | None), (key: Unknown, default: Unknown, /) -> Unknown, (key: Unknown, default: _T@get, /) -> (Unknown | _T@get)]" (reportUnknownMemberType)

Artifacts

Produced during runtime
Name Size Digest
coverage-reports
132 KB
sha256:b6243161ab117734d6178a2b2939d5a1ed0ba0bbc450c7638a8a87d4ac62c207
python-package
1.48 MB
sha256:c2085d8a79a8408d9c046d03c6a3278e2d99f54d12eb392e661a91a6a6144117