sase-github 0.2.13__tar.gz → 0.2.14__tar.gz
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.
- sase_github-0.2.14/.release-please-manifest.json +3 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/CHANGELOG.md +7 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/PKG-INFO +1 -1
- {sase_github-0.2.13 → sase_github-0.2.14}/pyproject.toml +1 -1
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/workspace_plugin.py +9 -4
- {sase_github-0.2.13 → sase_github-0.2.14}/tests/test_workspace_plugin.py +20 -0
- sase_github-0.2.13/.release-please-manifest.json +0 -3
- {sase_github-0.2.13 → sase_github-0.2.14}/.github/workflows/ci.yml +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/.github/workflows/pr-title.yml +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/.github/workflows/publish.yml +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/.sase_beads/beads.db +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/.sase_beads/config.json +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/.sase_beads/issues.jsonl +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/CLAUDE.md +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/Justfile +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/LICENSE +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/README.md +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/docs/architecture.md +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/docs/configuration.md +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/docs/xprompts.md +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/release-please-config.json +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/sase/sase.yml +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/__init__.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/config.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/default_config.yml +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/errors.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/plugin.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/scripts/__init__.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/scripts/gh_release.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/scripts/gh_setup.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/scripts/new_pr_desc_get_context.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/task_types.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/xprompts/gh.yml +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/xprompts/new_pr_desc.yml +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/xprompts/pr_diff.yml +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/xprompts/prdd.yml +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/tests/__init__.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/tests/test_ci_install_contract.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/tests/test_config.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/tests/test_gh_workspace_claims.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/tests/test_github_issues.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/tests/test_github_plugin.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/tests/test_github_pull_requests.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/tests/test_new_pr_desc_get_context.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/tests/test_submit_with_recorded_pr.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/tests/test_task_types.py +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/tools/require_tool_run +0 -0
- {sase_github-0.2.13 → sase_github-0.2.14}/uv.lock +0 -0
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.2.14](https://github.com/sase-org/sase-github/compare/v0.2.13...v0.2.14) (2026-09-22)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **projects:** allocate canonical names case-insensitively ([fd5b7bd](https://github.com/sase-org/sase-github/commit/fd5b7bde2ac2e0785640df172e7e321275df406b))
|
|
9
|
+
|
|
3
10
|
## [0.2.13](https://github.com/sase-org/sase-github/compare/v0.2.12...v0.2.13) (2026-09-22)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -1505,12 +1505,17 @@ def _canonical_project_name_base(user: str, project: str) -> str:
|
|
|
1505
1505
|
|
|
1506
1506
|
|
|
1507
1507
|
def _project_refs(records: Sequence[ProjectRecordWire]) -> set[str]:
|
|
1508
|
+
"""Return folded project refs occupying the canonical-name namespace.
|
|
1509
|
+
|
|
1510
|
+
Refs compare case-insensitively, so a canonical name is never allocated
|
|
1511
|
+
as a case-variant duplicate of an existing key, name, or alias.
|
|
1512
|
+
"""
|
|
1508
1513
|
occupied: set[str] = set()
|
|
1509
1514
|
for record in records:
|
|
1510
|
-
occupied.add(record.project_name)
|
|
1515
|
+
occupied.add(record.project_name.casefold())
|
|
1511
1516
|
if display_name := getattr(record, "display_name", None):
|
|
1512
|
-
occupied.add(display_name)
|
|
1513
|
-
occupied.update(record.aliases)
|
|
1517
|
+
occupied.add(display_name.casefold())
|
|
1518
|
+
occupied.update(alias.casefold() for alias in record.aliases)
|
|
1514
1519
|
return occupied
|
|
1515
1520
|
|
|
1516
1521
|
|
|
@@ -1524,7 +1529,7 @@ def _allocate_canonical_project_name(
|
|
|
1524
1529
|
|
|
1525
1530
|
candidate = base
|
|
1526
1531
|
suffix = 2
|
|
1527
|
-
while candidate in occupied:
|
|
1532
|
+
while candidate.casefold() in occupied:
|
|
1528
1533
|
candidate = f"{base}-{suffix}"
|
|
1529
1534
|
suffix += 1
|
|
1530
1535
|
return candidate
|
|
@@ -1830,6 +1830,26 @@ class TestResolveGhRef:
|
|
|
1830
1830
|
encoding="utf-8"
|
|
1831
1831
|
)
|
|
1832
1832
|
|
|
1833
|
+
@patch(
|
|
1834
|
+
"sase_github.workspace_plugin.get_default_branch", return_value="origin/main"
|
|
1835
|
+
)
|
|
1836
|
+
def test_repo_path_suffixes_case_variant_canonical_project_name(
|
|
1837
|
+
self, mock_branch: MagicMock
|
|
1838
|
+
) -> None:
|
|
1839
|
+
with tempfile.TemporaryDirectory() as d:
|
|
1840
|
+
home = Path(d)
|
|
1841
|
+
_github_workspace(home, "alice", "foo")
|
|
1842
|
+
_write_project(
|
|
1843
|
+
home,
|
|
1844
|
+
"GH_ALICE__FOO",
|
|
1845
|
+
"WORKSPACE_DIR: /some/other/path/\nNAME: other\n",
|
|
1846
|
+
)
|
|
1847
|
+
path_patch, env_patch = _home_patches(home)
|
|
1848
|
+
with path_patch, env_patch:
|
|
1849
|
+
result = resolve_gh_ref("alice/foo")
|
|
1850
|
+
|
|
1851
|
+
assert result.project_name == "gh_alice__foo-2"
|
|
1852
|
+
|
|
1833
1853
|
@patch(
|
|
1834
1854
|
"sase_github.workspace_plugin.get_default_branch", return_value="origin/main"
|
|
1835
1855
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sase_github-0.2.13 → sase_github-0.2.14}/src/sase_github/scripts/new_pr_desc_get_context.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|