Skip to content

chore(deps): update uv.lock#28

Merged
EspenAlbert merged 1 commit into
mainfrom
deps/uv-lock-update
Apr 7, 2026
Merged

chore(deps): update uv.lock#28
EspenAlbert merged 1 commit into
mainfrom
deps/uv-lock-update

Conversation

@EspenAlbert

Copy link
Copy Markdown
Owner

Automated dependency update.

Command Output

Processing pkg-ext...
Cloning https://github.com/EspenAlbert/pkg-ext to /tmp/path-sync-deps/pkg-ext
Fetching origin
Checking out main
Creating fresh branch: deps/uv-lock-update
Running: uv -n lock --upgrade
[uv] Using CPython 3.14.0
[uv] Resolved 67 packages in 1.41s
[uv] Updated ask-shell v0.4.0 -> v0.5.3
[uv] Updated charset-normalizer v3.4.4 -> v3.4.7
[uv] Updated click v8.3.1 -> v8.3.2
[uv] Updated coverage v7.13.4 -> v7.13.5
[uv] Updated mkdocs-get-deps v0.2.0 -> v0.2.2
[uv] Updated mkdocs-material v9.7.3 -> v9.7.6
[uv] Updated model-lib v0.102.2 -> v0.103.0
[uv] Updated pkg-ext v0.4.4 -> v0.4.5
[uv] Updated platformdirs v4.9.2 -> v4.9.4
[uv] Updated pygments v2.19.2 -> v2.20.0
[uv] Updated pymdown-extensions v10.21 -> v10.21.2
[uv] Updated pytest-cov v7.0.0 -> v7.1.0
[uv] Updated python-dotenv v1.2.1 -> v1.2.2
[uv] Updated requests v2.32.5 -> v2.33.1
[uv] Updated ruff v0.15.2 -> v0.15.9
[uv] Updated smmap v5.0.2 -> v5.0.3
[uv] Updated vulture v2.14 -> v2.16
[uv] Updated zero-3rdparty v0.104.4 -> v0.104.5
Committed: chore(deps): update uv.lock
Running: uv sync
[uv] warning: `VIRTUAL_ENV=/Users/espen.albert/agentws/py-src/.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead
[uv] Using CPython 3.14.0
[uv] Creating virtual environment at: .venv
[uv] Resolved 67 packages in 1ms
[uv]    Building pkg-ext @ file:///private/tmp/path-sync-deps/pkg-ext
[uv]       Built pkg-ext @ file:///private/tmp/path-sync-deps/pkg-ext
[uv] Prepared 1 package in 361ms
[uv] Installed 43 packages in 267ms
[uv]  + annotated-doc==0.0.4
[uv]  + annotated-types==0.7.0
[uv]  + ask-shell==0.5.3
[uv]  + click==8.3.2
[uv]  + coverage==7.13.5
[uv]  + gitdb==4.0.12
[uv]  + gitpython==3.1.46
[uv]  + iniconfig==2.3.0
[uv]  + markdown-it-py==4.0.0
[uv]  + mdurl==0.1.2
[uv]  + model-lib==0.103.0
[uv]  + nodeenv==1.10.0
[uv]  + packaging==26.0
[uv]  + pkg-ext==0.4.5 (from file:///private/tmp/path-sync-deps/pkg-ext)
[uv]  + platformdirs==4.9.4
[uv]  + pluggy==1.6.0
[uv]  + prompt-toolkit==3.0.52
[uv]  + pydantic==2.12.5
[uv]  + pydantic-core==2.41.5
[uv]  + pydantic-settings==2.13.1
[uv]  + pygments==2.20.0
[uv]  + pyright==1.1.408
[uv]  + pytest==9.0.2
[uv]  + pytest-asyncio==1.3.0
[uv]  + pytest-cov==7.1.0
[uv]  + pytest-datadir==1.8.0
[uv]  + pytest-model-lib==0.2.0
[uv]  + pytest-regressions==2.10.0
[uv]  + python-dotenv==1.2.2
[uv]  + pyyaml==6.0.3
[uv]  + questionary==2.1.1
[uv]  + rich==14.3.3
[uv]  + ruff==0.15.9
[uv]  + shellingham==1.5.4
[uv]  + smmap==5.0.3
[uv]  + tomli-w==1.1.0
[uv]  + tomlkit==0.14.0
[uv]  + typer==0.24.1
[uv]  + typing-extensions==4.15.0
[uv]  + typing-inspection==0.4.2
[uv]  + vulture==2.16
[uv]  + wcwidth==0.6.0
[uv]  + zero-3rdparty==0.104.5
Running: just fmt
[just] 119 files left unchanged
[just] uv run ruff format .
[just] warning: `VIRTUAL_ENV=/Users/espen.albert/agentws/py-src/.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead
Running: just test
[just] ============================= test session starts ==============================
[just] platform darwin -- Python 3.14.0, pytest-9.0.2, pluggy-1.6.0 -- /private/tmp/path-sync-deps/pkg-ext/.venv/bin/python
[just] cachedir: .pytest_cache
[just] rootdir: /private/tmp/path-sync-deps/pkg-ext
[just] configfile: pyproject.toml
[just] plugins: cov-7.1.0, regressions-2.10.0, datadir-1.8.0, asyncio-1.3.0, model-lib-0.2.0
[just] asyncio: mode=Mode.AUTO, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
[just] collecting ... collected 302 items
[just] 
[just] pkg_ext/_internal/api_diff_test.py::test_normalize_type_none_input PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_normalize_type_union_ordering PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_normalize_type_union_bracket_syntax PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_normalize_type_union_bracket_nested_in_callable PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_normalize_type_nested_pipe_not_corrupted PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_normalize_type_qualified_names PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_types_equal PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_types_equal_union_vs_pipe PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_types_equal_union_with_qualified_names PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_types_equal_class_tag_vs_name PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_normalize_type_strips_class_tags PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_params_removed PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_params_required_added PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_params_optional_added PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_params_type_changed PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_params_default_removed PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_params_default_added PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_params_default_changed PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_params_factory_defaults_no_false_positive PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_params_skips_self PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_params_union_type_normalization PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_fields_removed PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_fields_required_added PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_fields_optional_added PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_fields_skips_computed PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_diff_result_to_breaking_change_action 
[just] 
[just] -------------------------------- live log call ---------------------------------
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ '/opt/homebrew/bin/gh api user --jq .login' completed in 0.72s 
[just] PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_diff_result_to_additional_change_action PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_api_dumps_none_baseline_returns_empty PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_format_diff_results_empty PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_format_diff_results_grouped PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_fields_populates_field_name PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_diff_result_to_action_includes_field_name PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_bases_mro_aware[base_in_mro] PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_bases_mro_aware[base_removed] PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_bases_mro_aware[base_added] PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_bases_mro_aware[no_change] PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_reconcile_preserves_timestamp_and_removes_stale PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_params_sets_field_name_on_all_diffs PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_reconcile_multi_param_stability PASSED
[just] pkg_ext/_internal/api_diff_test.py::test_compare_api_dumps_detects_param_change PASSED
[just] pkg_ext/_internal/api_dumper_test.py::test_is_auto_generated_dataclass_doc PASSED
[just] pkg_ext/_internal/api_dumper_test.py::test_get_class_docstring PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_archive_old_actions_no_cleanup_when_below_trigger PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_archive_old_actions_cleanup_when_above_trigger 
[just] -------------------------------- live log call ---------------------------------
[just] WARNING  pkg_ext._internal.changelog.actions:actions.py:410 Will archive 4 changelog entries
[just] INFO     pkg_ext._internal.changelog.actions:actions.py:416 moving /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_archive_old_actions_clean0/changelog/001.yaml to /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_archive_old_actions_clean0/changelog/000/001.yaml
[just] INFO     pkg_ext._internal.changelog.actions:actions.py:416 moving /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_archive_old_actions_clean0/changelog/002.yaml to /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_archive_old_actions_clean0/changelog/000/002.yaml
[just] INFO     pkg_ext._internal.changelog.actions:actions.py:416 moving /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_archive_old_actions_clean0/changelog/003.yaml to /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_archive_old_actions_clean0/changelog/000/003.yaml
[just] INFO     pkg_ext._internal.changelog.actions:actions.py:416 moving /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_archive_old_actions_clean0/changelog/004.yaml to /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_archive_old_actions_clean0/changelog/000/004.yaml
[just] PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_stability_actions_return_patch_bump[ExperimentalAction] PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_stability_actions_return_patch_bump[GAAction] PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_stability_actions_return_patch_bump[DeprecatedAction] PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_stability_symbol_requires_group PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_stability_arg_requires_parent PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_stability_arg_parent_format PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_stability_action_yaml_roundtrip PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_breaking_change_action_new_fields PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_breaking_change_action_backward_compatible PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_additional_change_action_new_fields PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_max_bump_type_action PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_max_bump_type_action_yaml_roundtrip PASSED
[just] pkg_ext/_internal/changelog/actions_test.py::test_auto_generated_field_serializes_correctly PASSED
[just] pkg_ext/_internal/changelog/change_base_test.py::test_find_foreign_changelog_files PASSED
[just] pkg_ext/_internal/changelog/change_base_test.py::test_find_foreign_changelog_files_all_match PASSED
[just] pkg_ext/_internal/changelog/change_base_test.py::test_consolidate_changelog_files 
[just] -------------------------------- live log call ---------------------------------
[just] INFO     pkg_ext._internal.changelog.change_base:change_base.py:48 Deleted 015.yaml
[just] PASSED
[just] pkg_ext/_internal/changelog/change_base_test.py::test_consolidate_preserves_existing_target 
[just] -------------------------------- live log call ---------------------------------
[just] INFO     pkg_ext._internal.changelog.change_base:change_base.py:48 Deleted 015.yaml
[just] PASSED
[just] pkg_ext/_internal/changelog/change_base_test.py::test_find_changelog_files_in_diff PASSED
[just] pkg_ext/_internal/changelog/change_base_test.py::test_find_changelog_files_in_diff_empty PASSED
[just] pkg_ext/_internal/changelog/change_base_test.py::test_validate_no_foreign_changelog PASSED
[just] pkg_ext/_internal/changelog/rebase_test.py::test_find_stale_shas PASSED
[just] pkg_ext/_internal/changelog/rebase_test.py::test_find_stale_shas_none_stale PASSED
[just] pkg_ext/_internal/changelog/rebase_test.py::test_match_by_message_exact PASSED
[just] pkg_ext/_internal/changelog/rebase_test.py::test_match_by_message_no_match PASSED
[just] pkg_ext/_internal/changelog/rebase_test.py::test_match_by_message_prefers_closest_ts PASSED
[just] pkg_ext/_internal/changelog/rebase_test.py::test_build_sha_remap PASSED
[just] pkg_ext/_internal/changelog/rebase_test.py::test_apply_remap_to_actions PASSED
[just] pkg_ext/_internal/changelog/rebase_test.py::test_apply_remap_to_actions_skips_non_fix PASSED
[just] pkg_ext/_internal/changelog/rebase_test.py::test_remove_actions_by_sha PASSED
[just] pkg_ext/_internal/changelog/rebase_test.py::test_remove_actions_by_sha_keeps_non_fix PASSED
[just] pkg_ext/_internal/changelog/rebase_test.py::test_prompt_unmatched_fix_pick PASSED
[just] pkg_ext/_internal/changelog/rebase_test.py::test_prompt_unmatched_fix_remove PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_fix_action_ignored_returns_empty PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_fix_action_uses_changelog_message_when_set PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_make_public_action PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_delete_action PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_rename_action PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_breaking_change_action PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_additional_change_action PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_stability_actions_group_target[ExperimentalAction-Experimental] PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_stability_actions_group_target[GAAction-GA] PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_stability_actions_symbol_target[ExperimentalAction-Experimental] PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_stability_actions_symbol_target[GAAction-GA] PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_deprecated_with_replacement PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_deprecated_without_replacement PASSED
[just] pkg_ext/_internal/changelog/write_changelog_md_test.py::test_chore_action PASSED
[just] pkg_ext/_internal/changelog_test.py::test_dump_changelog_actions PASSED
[just] pkg_ext/_internal/changelog_test.py::test_read_changelog PASSED
[just] pkg_ext/_internal/cli/stability_test.py::test_parse_group_target PASSED
[just] pkg_ext/_internal/cli/stability_test.py::test_parse_symbol_target PASSED
[just] pkg_ext/_internal/cli/stability_test.py::test_parse_arg_target PASSED
[just] pkg_ext/_internal/cli/stability_test.py::test_parse_invalid_target PASSED
[just] pkg_ext/_internal/cli/stability_test.py::test_stability_state_tracking PASSED
[just] pkg_ext/_internal/cli/workflows_test.py::test_make_public_adds_to_owned_refs PASSED
[just] pkg_ext/_internal/cli/workflows_test.py::test_keep_private_removes_from_owned_refs PASSED
[just] pkg_ext/_internal/cli/workflows_test.py::test_delete_removes_from_owned_refs PASSED
[just] pkg_ext/_internal/cli/workflows_test.py::test_keep_private_then_make_public_stays_public PASSED
[just] pkg_ext/_internal/cli/workflows_test.py::test_make_public_then_keep_private_removes PASSED
[just] pkg_ext/_internal/cli_test.py::test_normal_help_command_is_ok 
[just] -------------------------------- live log call ---------------------------------
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:29 cli command output=                                                                                                                                                                                                                      
[just]  Usage: pkg-ext [OPTIONS] COMMAND [ARGS]...                                                                                                                                                                           
[just]                                                                                                                                                                                                                       
[just]  Generate public API for a package and more!                                                                                                                                                                          
[just]                                                                                                                                                                                                                       
[just] ╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
[just] │ --path,--pkg-path     -p      TEXT  Path to the package directory (auto-detected if not provided)                                                                                                                  │
[just] │ --repo-root                   PATH  Repository root directory (auto-detected from .git if not provided)                                                                                                            │
[just] │ --is-bot                            For CI to avoid any prompt hanging or accidental defaults [env var: PKG_EXT_IS_BOT]                                                                                            │
[just] │ --skip-open                         Skip opening files in editor [env var: PKG_EXT_SKIP_OPEN]                                                                                                                      │
[just] │ --tag-prefix                  TEXT  {tag_prefix}{version} used in the git tag [env var: PKG_EXT_TAG_PREFIX]                                                                                                        │
[just] │ --install-completion                Install completion for the current shell.                                                                                                                                      │
[just] │ --show-completion                   Show completion for the current shell, to copy it or customize the installation.                                                                                               │
[just] │ --help                              Show this message and exit.                                                                                                                                                    │
[just] ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
[just] ╭─ Commands ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
[just] │ post-merge                                                                                                                                                                                                         │
[just] │ pre-change          Handle new symbols, update changelog, optionally sync files and docs.                                                                                                                          │
[just] │ pre-commit          Update changelog and regenerate docs (bot mode, writes to -dev files).                                                                                                                         │
[just] │ change-base         Consolidate changelog files from closed PRs after re-targeting a stacked PR.                                                                                                                   │
[just] │ chore               Create a ChoreAction for internal changes that warrant a release.                                                                                                                              │
[just] │ promote             Promote symbols to public API (private or undecided).                                                                                                                                          │
[just] │ exp                 Mark target as experimental.                                                                                                                                                                   │
[just] │ ga                  Graduate target to GA (general availability).                                                                                                                                                  │
[just] │ dep                 Mark target as deprecated.                                                                                                                                                                     │
[just] │ docs                Generate documentation from public API.                                                                                                                                                        │
[just] │ dump-api            Dump public API to YAML for diffing and breaking change detection.                                                                                                                             │
[just] │ diff-api            Show API changes between baseline and dev dump.                                                                                                                                                │
[just] │ release-notes                                                                                                                                                                                                      │
[just] │ gen-example-prompt  Build an AI prompt for missing example docs and copy to clipboard.                                                                                                                             │
[just] │ check-examples      Verify all symbols in examples_include have corresponding .md files.                                                                                                                           │
[just] ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
[just] 
[just] 
[just] PASSED
[just] pkg_ext/_internal/cli_test.py::test_01_initial 
[just] -------------------------------- live log call ---------------------------------
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:89 running command: --skip-open --repo-root /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial --pkg-path my_pkg pre-change --git-since no_git_changes
[just] ERROR    ask_shell._internal.rich_progress:rich_progress.py:60 ❌ '/opt/homebrew/bin/gh pr view --json baseRefName,url,baseRefOid' completed in 0.07s 
[just] WARNING  pkg_ext._internal.git_usage.state:state.py:275 not a git repo @ /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial: InvalidGitRepositoryError('/private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial')
[just] INFO     pkg_ext._internal.reference_handling.removed:removed.py:48 No removed references found in the package
[just] INFO     pkg_ext._internal.reference_handling.added:added.py:49 auto exposing arg my_arg on func expose_with_arg
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:64 Progress: New References expose/hide decisions - 100%
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ New References expose/hide decisions completed in 0.04s
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:29 cli command output=
[just] 
[just] 
[just] 
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:94 running command: --skip-open --repo-root /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial --pkg-path my_pkg pre-commit --git-since no_git_changes --skip-docs --skip-dirty-check
[just] WARNING  pkg_ext._internal.git_usage.state:state.py:275 not a git repo @ /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial: InvalidGitRepositoryError('/private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial')
[just] INFO     pkg_ext._internal.reference_handling.removed:removed.py:48 No removed references found in the package
[just] INFO     pkg_ext._internal.reference_handling.added:added.py:191 No new references found in the package
[just] INFO     pkg_ext._internal.cli.workflows:workflows.py:251 API dump written to /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial/my_pkg.api-dev.yaml
[just] INFO     pkg_ext._internal.cli.workflows:workflows.py:260 No API baseline found, skipping diff (first release)
[just] INFO     pkg_ext._internal.cli.workflow_cmds:workflow_cmds.py:199 Skipped docs regeneration
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:29 cli command output=
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:89 running command: --is-bot --skip-open --repo-root /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial --pkg-path my_pkg pre-change --git-since no_git_changes
[just] WARNING  pkg_ext._internal.git_usage.state:state.py:275 not a git repo @ /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial: InvalidGitRepositoryError('/private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial')
[just] INFO     pkg_ext._internal.reference_handling.removed:removed.py:48 No removed references found in the package
[just] INFO     pkg_ext._internal.reference_handling.added:added.py:191 No new references found in the package
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:29 cli command output=
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:94 running command: --is-bot --skip-open --repo-root /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial --pkg-path my_pkg pre-commit --git-since no_git_changes --skip-docs --skip-dirty-check
[just] WARNING  pkg_ext._internal.git_usage.state:state.py:275 not a git repo @ /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial: InvalidGitRepositoryError('/private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial')
[just] INFO     pkg_ext._internal.reference_handling.removed:removed.py:48 No removed references found in the package
[just] INFO     pkg_ext._internal.reference_handling.added:added.py:191 No new references found in the package
[just] INFO     pkg_ext._internal.cli.workflows:workflows.py:251 API dump written to /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_01_initial0/01_initial/my_pkg.api-dev.yaml
[just] INFO     pkg_ext._internal.cli.workflows:workflows.py:260 No API baseline found, skipping diff (first release)
[just] INFO     pkg_ext._internal.cli.workflow_cmds:workflow_cmds.py:199 Skipped docs regeneration
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:29 cli command output=
[just] PASSED
[just] pkg_ext/_internal/cli_test.py::test_02_dep_order 
[just] -------------------------------- live log call ---------------------------------
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:89 running command: --skip-open --repo-root /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_02_dep_order0/02_dep_order --pkg-path my_pkg pre-change --git-since no_git_changes
[just] ERROR    ask_shell._internal.rich_progress:rich_progress.py:60 ❌ '/opt/homebrew/bin/gh pr view --json baseRefName,url,baseRefOid' completed in 0.08s 
[just] WARNING  pkg_ext._internal.git_usage.state:state.py:275 not a git repo @ /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_02_dep_order0/02_dep_order: InvalidGitRepositoryError('/private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_02_dep_order0/02_dep_order')
[just] INFO     pkg_ext._internal.reference_handling.removed:removed.py:48 No removed references found in the package
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:64 Progress: New References expose/hide decisions - 100%
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ New References expose/hide decisions completed in 0.05s
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:29 cli command output=
[just] 
[just] 
[just] 
[just] 
[just] 
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:94 running command: --skip-open --repo-root /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_02_dep_order0/02_dep_order --pkg-path my_pkg pre-commit --git-since no_git_changes --skip-docs --skip-dirty-check
[just] WARNING  pkg_ext._internal.git_usage.state:state.py:275 not a git repo @ /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_02_dep_order0/02_dep_order: InvalidGitRepositoryError('/private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_02_dep_order0/02_dep_order')
[just] INFO     pkg_ext._internal.reference_handling.removed:removed.py:48 No removed references found in the package
[just] INFO     pkg_ext._internal.reference_handling.added:added.py:191 No new references found in the package
[just] INFO     pkg_ext._internal.cli.workflows:workflows.py:251 API dump written to /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_02_dep_order0/02_dep_order/my_pkg.api-dev.yaml
[just] INFO     pkg_ext._internal.cli.workflows:workflows.py:260 No API baseline found, skipping diff (first release)
[just] INFO     pkg_ext._internal.cli.workflow_cmds:workflow_cmds.py:199 Skipped docs regeneration
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:29 cli command output=
[just] PASSED
[just] pkg_ext/_internal/cli_test.py::test_03_nested 
[just] -------------------------------- live log call ---------------------------------
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:89 running command: --skip-open --repo-root /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_03_nested0/03_nested --pkg-path my_pkg pre-change --git-since no_git_changes
[just] ERROR    ask_shell._internal.rich_progress:rich_progress.py:60 ❌ '/opt/homebrew/bin/gh pr view --json baseRefName,url,baseRefOid' completed in 0.06s 
[just] WARNING  pkg_ext._internal.git_usage.state:state.py:275 not a git repo @ /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_03_nested0/03_nested: InvalidGitRepositoryError('/private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_03_nested0/03_nested')
[just] INFO     pkg_ext._internal.reference_handling.removed:removed.py:48 No removed references found in the package
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:64 Progress: New References expose/hide decisions - 100%
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ New References expose/hide decisions completed in 0.03s
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:29 cli command output=
[just] 
[just] 
[just] 
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:94 running command: --skip-open --repo-root /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_03_nested0/03_nested --pkg-path my_pkg pre-commit --git-since no_git_changes --skip-docs --skip-dirty-check
[just] WARNING  pkg_ext._internal.git_usage.state:state.py:275 not a git repo @ /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_03_nested0/03_nested: InvalidGitRepositoryError('/private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_03_nested0/03_nested')
[just] INFO     pkg_ext._internal.reference_handling.removed:removed.py:48 No removed references found in the package
[just] INFO     pkg_ext._internal.reference_handling.added:added.py:191 No new references found in the package
[just] INFO     pkg_ext._internal.cli.workflows:workflows.py:251 API dump written to /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_03_nested0/03_nested/my_pkg.api-dev.yaml
[just] INFO     pkg_ext._internal.cli.workflows:workflows.py:260 No API baseline found, skipping diff (first release)
[just] INFO     pkg_ext._internal.cli.workflow_cmds:workflow_cmds.py:199 Skipped docs regeneration
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:29 cli command output=
[just] PASSED
[just] pkg_ext/_internal/cli_test.py::test_04_git_fix 
[just] -------------------------------- live log call ---------------------------------
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:89 running command: --skip-open --repo-root /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_04_git_fix0/04_git_fix --pkg-path my_pkg pre-change --git-since no_git_changes
[just] ERROR    ask_shell._internal.rich_progress:rich_progress.py:60 ❌ '/opt/homebrew/bin/gh pr view --json baseRefName,url,baseRefOid' completed in 0.06s 
[just] WARNING  pkg_ext._internal.git_usage.state:state.py:275 not a git repo @ /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_04_git_fix0/04_git_fix: InvalidGitRepositoryError('/private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_04_git_fix0/04_git_fix')
[just] INFO     pkg_ext._internal.reference_handling.removed:removed.py:48 No removed references found in the package
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:64 Progress: New References expose/hide decisions - 100%
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ New References expose/hide decisions completed in 0.02s
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:29 cli command output=
[just] 
[just] 
[just] 
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:94 running command: --skip-open --repo-root /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_04_git_fix0/04_git_fix --pkg-path my_pkg pre-commit --git-since no_git_changes --skip-docs --skip-dirty-check
[just] WARNING  pkg_ext._internal.git_usage.state:state.py:275 not a git repo @ /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_04_git_fix0/04_git_fix: InvalidGitRepositoryError('/private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_04_git_fix0/04_git_fix')
[just] INFO     pkg_ext._internal.reference_handling.removed:removed.py:48 No removed references found in the package
[just] INFO     pkg_ext._internal.reference_handling.added:added.py:191 No new references found in the package
[just] INFO     pkg_ext._internal.cli.workflows:workflows.py:251 API dump written to /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_04_git_fix0/04_git_fix/my_pkg.api-dev.yaml
[just] INFO     pkg_ext._internal.cli.workflows:workflows.py:260 No API baseline found, skipping diff (first release)
[just] INFO     pkg_ext._internal.cli.workflow_cmds:workflow_cmds.py:199 Skipped docs regeneration
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:29 cli command output=
[just] 
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ '/opt/homebrew/bin/git init' completed in 0.05s 
[just] 
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ '/opt/homebrew/bin/git add .' completed in 0.04s 
[just] 
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ '/opt/homebrew/bin/git commit --author="github-actions[bot] <github-actions[bot]@users.noreply.github.com>" -m "initial commit" --no-verify' completed in 0.12s 
[just] 
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ '/opt/homebrew/bin/git tag -a "0.0.1" -m "0.0.1"' completed in 0.04s 
[just] 
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ '/opt/homebrew/bin/git add .' completed in 0.04s 
[just] 
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ '/opt/homebrew/bin/git commit --author="github-actions[bot] <github-actions[bot]@users.noreply.github.com>" -m "fix: adds chosen file" --no-verify' completed in 0.12s 
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:89 running command: --tag-prefix v --skip-open --repo-root /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_04_git_fix0/04_git_fix --pkg-path my_pkg pre-change --git-since last_git_tag
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ '/opt/homebrew/bin/git describe --tags --abbrev=0' completed in 0.04s 
[just] WARNING  pkg_ext._internal.git_usage.state:state.py:288 RemoteURLNotFound('Could not find remote URL for git repo @ /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_04_git_fix0/04_git_fix: no remotes')
[just] INFO     pkg_ext._internal.reference_handling.removed:removed.py:48 No removed references found in the package
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:64 Progress: New References expose/hide decisions - 100%
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ New References expose/hide decisions completed in 0.02s
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:29 cli command output=
[just] 
[just] 
[just] my_pkg/chosen.py                                                                                                                                                                                                      
[just] 
[just]  • def chosen():                                                                                                                                                                                                      
[just]  •                                                                                                                                                                                                                    
[just]     return "chosen"                                                                                                                                                                                                   
[just]                                                                                                                                                                                                                       
[just] 
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:94 running command: --tag-prefix v --skip-open --repo-root /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_04_git_fix0/04_git_fix --pkg-path my_pkg pre-commit --git-since last_git_tag --skip-docs --skip-dirty-check
[just] INFO     ask_shell._internal.rich_progress:rich_progress.py:60 ✅ '/opt/homebrew/bin/git describe --tags --abbrev=0' completed in 0.04s 
[just] WARNING  pkg_ext._internal.git_usage.state:state.py:288 RemoteURLNotFound('Could not find remote URL for git repo @ /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_04_git_fix0/04_git_fix: no remotes')
[just] INFO     pkg_ext._internal.reference_handling.removed:removed.py:48 No removed references found in the package
[just] INFO     pkg_ext._internal.reference_handling.added:added.py:191 No new references found in the package
[just] INFO     pkg_ext._internal.cli.workflows:workflows.py:251 API dump written to /private/var/folders/vz/xd9kxc6j17z3ys_mg65s9k0m0000gp/T/pytest-of-espen.albert/pytest-19/test_04_git_fix0/04_git_fix/my_pkg.api-dev.yaml
[just] INFO     pkg_ext._internal.cli.workflows:workflows.py:260 No API baseline found, skipping diff (first release)
[just] INFO     pkg_ext._internal.cli.workflow_cmds:workflow_cmds.py:199 Skipped docs regeneration
[just] INFO     pkg_ext._internal.cli_test:cli_test.py:29 cli command output=
[just] 
[just] PASSED
[just] pkg_ext/_internal/clipboard_test.py::test_add_to_clipboard_with_pbcopy 
[just] -------------------------------- live log call ---------------------------------
[just] INFO     pkg_ext._internal.clipboard:clipboard.py:11 Copied to clipboard
[just] PASSED
[just] pkg_ext/_internal/clipboard_test.py::test_add_to_clipboard_no_pbcopy 
[just] -------------------------------- live log call ---------------------------------
[just] WARNING  pkg_ext._internal.clipboard:clipboard.py:13 pbcopy not found on $PATH
[just] INFO     pkg_ext._internal.clipboard:clipboard.py:14 Please copy the content manually
[just] PASSED
[just] pkg_ext/_internal/config_test.py::test_load_project_config PASSED
[just] pkg_ext/_internal/config_test.py::test_load_project_config_with_groups PASSED
[just] pkg_ext/_internal/config_test.py::test_group_config_defaults PASSED
[just] pkg_ext/_internal/config_test.py::test_valid_dependencies PASSED
[just] pkg_ext/_internal/config_test.py::test_invalid_dependency_raises PASSED
[just] pkg_ext/_internal/config_test.py::test_circular_dependency_raises PASSED
[just] pkg_ext/_internal/config_test.py::test_validate_group_dependencies_against_runtime PASSED
[just] pkg_ext/_internal/config_test.py::test_merge_config_and_write PASSED
[just] pkg_ext/_internal/examples_test.py::test_parse_description_comment PASSED
[just] pkg_ext/_internal/examples_test.py::test_parse_description_comment_fallback PASSED
[just] pkg_ext/_internal/examples_test.py::test_parse_description_comment_no_description_key PASSED
[just] pkg_ext/_internal/examples_test.py::test_build_example_prompt_with_missing_symbols PASSED
[just] pkg_ext/_internal/examples_test.py::test_build_example_prompt_skips_existing PASSED
[just] pkg_ext/_internal/examples_test.py::test_check_examples_exist_missing PASSED
[just] pkg_ext/_internal/examples_test.py::test_check_examples_exist_all_present PASSED
[just] pkg_ext/_internal/examples_test.py::test_build_example_prompt_filter_group PASSED
[just] pkg_ext/_internal/examples_test.py::test_build_example_prompt_filter_group_not_found PASSED
[just] pkg_ext/_internal/examples_test.py::test_build_example_prompt_with_related_types PASSED
[just] pkg_ext/_internal/examples_test.py::test_build_example_prompt_with_test_file PASSED
[just] pkg_ext/_internal/examples_test.py::test_build_example_prompt_class_dump PASSED
[just] pkg_ext/_internal/file_parser_test.py::test_parse_symbols PASSED
[just] pkg_ext/_internal/file_parser_test.py::test_parse_models_module PASSED
[just] pkg_ext/_internal/file_parser_test.py::test_create_refs PASSED
[just] pkg_ext/_internal/file_parser_test.py::test_parse_symbols_run_env PASSED
[just] pkg_ext/_internal/file_parser_test.py::test_typevars_captured_as_type_aliases PASSED
[just] pkg_ext/_internal/file_parser_test.py::test_type_alias_annotation_captured PASSED
[just] pkg_ext/_internal/gen_pyproject_toml_test.py::test_update_pyproject_toml PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_copy_readme_as_index PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_copy_readme_fallback PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_transform_repo_root_links_converts_root_files PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_transform_repo_root_links_handles_dot_slash PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_transform_repo_root_links_preserves_absolute_urls PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_transform_repo_root_links_preserves_path_with_directory PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_transform_repo_root_links_preserves_unknown_files PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_generate_mkdocs_nav PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_generate_mkdocs_nav_with_complex_symbols PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_extract_complex_symbols PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_write_mkdocs_yml_creates_new PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_write_mkdocs_yml_honors_skip_sections PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_write_docs_files_idempotent PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_generate_mkdocs_nav_with_examples PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_generate_mkdocs_nav_flat_group_becomes_nested_with_examples PASSED
[just] pkg_ext/_internal/generation/docs_mkdocs_test.py::test_render_nav_yaml_with_examples PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_format_signature_function PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_format_signature_class_with_fields PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_format_signature_exception PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_format_signature_type_alias PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_format_signature_global_var PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_format_docstring PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_render_env_var_table PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_should_show_field_table PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_render_field_table PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_render_stability_badge PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_calculate_source_link PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_render_changes_section PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_render_inline_symbol PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_render_inline_symbol_shows_since_badge PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_format_signature_cli_command PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_render_cli_params_table PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_render_cli_params_table_with_envvar PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_render_cli_params_table_with_choices PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_render_inline_symbol_with_field_table PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_render_inline_symbol_with_cli_params PASSED
[just] pkg_ext/_internal/generation/docs_render_test.py::test_render_inline_symbol_with_example_link PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_group_dir_name_root PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_group_dir_name_regular PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_has_env_vars PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_symbol_context_complexity PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_build_symbol_context_only_make_public_not_complex PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_build_symbol_context_fix_action_is_complex PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_build_symbol_context_primary_not_complex PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_symbol_context_primary_overrides_complex PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_render_group_index_has_valid_sections PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_render_group_index_includes_docstring PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_render_group_index_includes_signatures PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_generate_docs_creates_index_and_complex_pages PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_render_group_index_with_primary_symbol PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_generate_docs_primary_symbol_no_separate_file PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_render_group_index_with_examples PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_render_group_index_no_examples PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_generate_docs_with_inline_example_links PASSED
[just] pkg_ext/_internal/generation/docs_test.py::test_generate_docs_own_page_symbol_with_example PASSED
[just] pkg_ext/_internal/generation/docs_version_test.py::test_find_release_version_found PASSED
[just] pkg_ext/_internal/generation/docs_version_test.py::test_find_release_version_not_found PASSED
[just] pkg_ext/_internal/generation/docs_version_test.py::test_get_symbol_since_version_with_release PASSED
[just] pkg_ext/_internal/generation/docs_version_test.py::test_get_symbol_since_version_unreleased PASSED
[just] pkg_ext/_internal/generation/docs_version_test.py::test_get_field_since_version_from_action PASSED
[just] pkg_ext/_internal/generation/docs_version_test.py::test_get_field_since_version_falls_back_to_symbol PASSED
[just] pkg_ext/_internal/generation/docs_version_test.py::test_build_symbol_changes_unreleased PASSED
[just] pkg_ext/_internal/generation/docs_version_test.py::test_build_symbol_changes_with_releases PASSED
[just] pkg_ext/_internal/generation/docs_version_test.py::test_build_symbol_changes_deprecated_action PASSED
[just] pkg_ext/_internal/generation/docs_version_test.py::test_build_symbol_changes_rename_action PASSED
[just] pkg_ext/_internal/generation/docs_version_test.py::test_get_symbol_stability_defaults_to_ga PASSED
[just] pkg_ext/_internal/generation/docs_version_test.py::test_get_symbol_stability_from_actions PASSED
[just] pkg_ext/_internal/git_state_test.py::test_solve_since_sha SKIPPED (needs
[just] os.environ[MANUAL])
[just] pkg_ext/_internal/git_state_test.py::test_pr_number_from_url PASSED
[just] pkg_ext/_internal/git_state_test.py::test_find_git_changes SKIPPED
[just] pkg_ext/_internal/git_state_test.py::test_pr_number_from_message[Merge pull request #26 from EspenAlbert/branch-26] PASSED
[just] pkg_ext/_internal/git_state_test.py::test_pr_number_from_message[feat: Replace Example[T] generation (#19)-19] PASSED
[just] pkg_ext/_internal/git_state_test.py::test_pr_number_from_message[fix(cli): handle edge case (#7)-7] PASSED
[just] pkg_ext/_internal/git_state_test.py::test_pr_number_from_message[chore: some random commit-None] PASSED
[just] pkg_ext/_internal/git_state_test.py::test_last_merge_pr PASSED
[just] pkg_ext/_internal/git_state_test.py::test_read_remote_url PASSED
[just] pkg_ext/_internal/models_test.py::test_public_groups_dumping_after_new_ref_symbol PASSED
[just] pkg_ext/_internal/models_test.py::test_public_groups_add_to_existing_group PASSED
[just] pkg_ext/_internal/models_test.py::test_tool_state_update_state PASSED
[just] pkg_ext/_internal/models_test.py::test_reconcile_moved_refs_no_changes PASSED
[just] pkg_ext/_internal/models_test.py::test_reconcile_moved_refs_updates_moved_symbol 
[just] -------------------------------- live log call ---------------------------------
[just] WARNING  pkg_ext._internal.models.groups:groups.py:166 Symbol moved: _internal.old_module.MyClass -> _internal.new_module.MyClass (group: my_group)
[just] PASSED
[just] pkg_ext/_internal/models_test.py::test_reconcile_moved_refs_keeps_deleted_symbol PASSED
[just] pkg_ext/_internal/models_test.py::test_reconcile_moved_refs_multiple_groups 
[just] -------------------------------- live log call ---------------------------------
[just] WARNING  pkg_ext._internal.models.groups:groups.py:166 Symbol moved: _internal.old.Func1 -> _internal.new.Func1 (group: group1)
[just] WARNING  pkg_ext._internal.models.groups:groups.py:166 Symbol moved: _internal.old.Func2 -> _internal.new.Func2 (group: group2)
[just] PASSED
[just] pkg_ext/_internal/models_test.py::test_reconcile_disambiguates_via_owned_modules 
[just] -------------------------------- live log call ---------------------------------
[just] WARNING  pkg_ext._internal.models.groups:groups.py:173 Symbol moved: _internal.old.Parser -> _internal.models.Parser (group: my_group)
[just] PASSED
[just] pkg_ext/_internal/models_test.py::test_reconcile_disambiguates_via_other_groups 
[just] -------------------------------- live log call ---------------------------------
[just] WARNING  pkg_ext._internal.models.groups:groups.py:173 Symbol moved: _internal.old.Parser -> _internal.models.Parser (group: group1)
[just] PASSED
[just] pkg_ext/_internal/models_test.py::test_reconcile_logs_when_ambiguous 
[just] -------------------------------- live log call ---------------------------------
[just] WARNING  pkg_ext._internal.models.groups:groups.py:200 Cannot resolve 'Parser' in group 'my_group': 2 candidates, 2 after exclusion
[just] PASSED
[just] pkg_ext/_internal/promote_test.py::test_promote_command_registered PASSED
[just] pkg_ext/_internal/promote_test.py::test_filter_functions PASSED
[just] pkg_ext/_internal/promote_test.py::test_match_symbol_in_code PASSED
[just] pkg_ext/_internal/promote_test.py::test_filter_with_none_private_action PASSED
[just] pkg_ext/_internal/ref_added_test.py::test_todo PASSED
[just] pkg_ext/_internal/settings_test.py::test_dev_suffix PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_parse_signature_covers_all_param_kinds PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_parse_pydantic_model_fields PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_parse_pydantic_none_default PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_parse_dataclass_fields PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_parse_mro_bases PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_is_cli_command PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_extract_cli_params PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_extract_cli_params_default_factory_and_none_defaults PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_stable_repr_normalizes_memory_addresses PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_stable_repr_preserves_normal_values PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_stable_repr_handles_custom_sentinel_class PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_strip_memory_addresses_handles_embedded_patterns PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_strip_memory_addresses_handles_multiple_patterns PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_stable_repr_strips_embedded_memory_addresses PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_annotation_str_callable_with_union_params PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_annotation_str_callable_with_pipe_union_params PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_annotation_str_callable_union_and_pipe_produce_same_output PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_path_repr_for_docs PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_path_repr_for_docs_falls_back_to_repo_root PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_stable_repr_path_without_ctx PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_stable_repr_path_with_ctx PASSED
[just] pkg_ext/_internal/signature_parser_test.py::test_extract_cli_params_with_doc_repr_ctx PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_read_version_default PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_read_version_default_from_toml PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_bump_major[BreakingChangeAction] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_bump_major[MakePublicAction] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_bump_major[FixAction] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_bump_major[KeepPrivateAction] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_prerelease_bump_type[1.0.0b7] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_prerelease_bump_type[1.0.0a3] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_prerelease_bump_type[1.0.0rc2] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_prerelease_bump_type[1.0.0] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_prerelease_bump_type[2.3.4] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_bump_version_keep_prerelease[1.0.0b7->1.0.0b8_0] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_bump_version_keep_prerelease[1.0.0b7->1.0.0b8_1] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_bump_version_keep_prerelease[2.0.0a5->2.0.0a6] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_bump_version_keep_prerelease[1.0.0rc1->1.0.0rc2] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_bump_version_keep_prerelease[1.0.0->1.1.0] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_cap_bump_type[major->minor=>minor] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_cap_bump_type[major->patch=>patch] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_cap_bump_type[minor->patch=>patch] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_cap_bump_type[minor->minor=>minor] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_cap_bump_type[patch->major=>patch] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_cap_bump_type[patch->minor=>patch] PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_cap_bump_type_non_standard_bump_passes_through PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_bump_version_with_max_bump_action PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_bump_version_max_bump_respects_lower_calculated PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_bump_version_with_settings_max_bump PASSED
[just] pkg_ext/_internal/version_bump_test.py::test_bump_version_action_overrides_settings PASSED
[just] pkg_ext/_internal/warnings_gen_test.py::test_needs_warnings_module_false_when_all_ga PASSED
[just] pkg_ext/_internal/warnings_gen_test.py::test_needs_warnings_module_true_when_experimental PASSED
[just] pkg_ext/_internal/warnings_gen_test.py::test_needs_warnings_module_true_when_deprecated PASSED
[just] pkg_ext/_internal/warnings_gen_test.py::test_generate_warnings_content_format PASSED
[just] pkg_ext/_internal/warnings_test.py::test_warning_hierarchy PASSED
[just] pkg_ext/_internal/warnings_test.py::test_warn_experimental PASSED
[just] pkg_ext/_internal/warnings_test.py::test_warn_deprecated_with_replacement PASSED
[just] pkg_ext/_internal/warnings_test.py::test_warn_deprecated_without_replacement PASSED
[just] pkg_ext/_internal/warnings_test.py::test_suppress_by_base_class PASSED
[just] pkg_ext/_internal/warnings_test.py::test_suppress_specific_class_only PASSED
[just] pkg_ext/_internal/warnings_test.py::test_experimental_decorator_on_function PASSED
[just] pkg_ext/_internal/warnings_test.py::test_experimental_decorator_on_class PASSED
[just] pkg_ext/_internal/warnings_test.py::test_experimental_preserves_function_metadata PASSED
[just] pkg_ext/_internal/warnings_test.py::test_deprecated_reexport PASSED
[just] pkg_ext/_internal/warnings_test.py::test_experimental_args_warns_when_passed PASSED
[just] pkg_ext/_internal/warnings_test.py::test_experimental_args_no_warning_when_not_passed PASSED
[just] pkg_ext/_internal/warnings_test.py::test_experimental_args_multiple PASSED
[just] pkg_ext/_internal/warnings_test.py::test_deprecated_args_simple PASSED
[just] pkg_ext/_internal/warnings_test.py::test_deprecated_args_rename_mapping PASSED
[just] pkg_ext/_internal/warnings_test.py::test_deprecated_arg_with_reason PASSED
[just] pkg_ext/_internal/warnings_test.py::test_deprecated_arg_with_new_name_and_reason PASSED
[just] pkg_ext/_internal/warnings_test.py::test_args_decorators_preserve_metadata PASSED
[just] pkg_ext/_internal/warnings_test.py::test_stacked_deprecated_arg_decorators PASSED
[just] pkg_ext/_internal/warnings_test.py::test_validation_rejects_invalid_arg_names PASSED
[just] pkg_ext/_internal/warnings_test.py::test_validation_rejects_invalid_new_name PASSED
[just] 
[just] ======================== 300 passed, 2 skipped in 4.60s ========================
[just] uv run pytest
[just] warning: `VIRTUAL_ENV=/Users/espen.albert/agentws/py-src/.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead
[just] /private/tmp/path-sync-deps/pkg-ext/.venv/lib/python3.14/site-packages/model_lib/pydantic_utils.py:7: UserWarning: Core Pydantic V1 functionality isn't compatible with Python 3.14 or greater.
[just]   from pydantic.v1.datetime_parse import parse_datetime
Running: just pkg-pre-change --full
[just] [10:03:07] INFO     ✅ '/opt/homebrew/bin/gh api user --jq .login' completed in 0.49s                                                                                                              rich_progress.py:60
[just] [10:03:09] INFO     ✅ '/opt/homebrew/bin/gh pr view --json baseRefName,url,baseRefOid' completed in 1.13s                                                                                         rich_progress.py:60
[just]            INFO     No removed references found in the package                                                                                                                                           removed.py:48
[just]            INFO     ✅ New References expose/hide decisions completed in 0.00s                                                                                                                     rich_progress.py:60
[just] pkg_ext/_internal/api_diff.py                                                                                                                                                                                         
[just] 
[just] ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[just] 
[just] +++                                                                                                                                                                                                                   
[just] 
[just] @@ -89,14 +89,68 @@                                                                                                                                                                                                   
[just] 
[just] 
[just] _QUALIFIED_NAME_RE = re.compile(r"(?<![.\w])(\w+.)+(\w+)") +_UNION_BRACKET_RE = re.compile(r"\bUnion[") +_CLASS_TAG_RE = re.compile(r"<class '(?P[^']+)'>") + + +def _split_top_level(s: str, sep: str) -> list[str]: 
[just] 
[just]  • """Split on sep only when not nested inside brackets."""                                                                                                                                                           
[just]  • parts: list[str] = []                   

... (truncated, output too long for PR body)

@EspenAlbert EspenAlbert enabled auto-merge April 7, 2026 09:03
@EspenAlbert EspenAlbert merged commit 4f63042 into main Apr 7, 2026
16 checks passed
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.52%. Comparing base (5e444d4) to head (5060e51).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #28   +/-   ##
=======================================
  Coverage   80.52%   80.52%           
=======================================
  Files          80       80           
  Lines        5072     5072           
=======================================
  Hits         4084     4084           
  Misses        988      988           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

2 participants