Skip to content

Make project replacement idempotent#902

Merged
codeforester merged 1 commit into
masterfrom
bug/901-20260620-replace-project-idempotent
Jun 20, 2026
Merged

Make project replacement idempotent#902
codeforester merged 1 commit into
masterfrom
bug/901-20260620-replace-project-idempotent

Conversation

@codeforester

Copy link
Copy Markdown
Collaborator

Summary

  • Treat --replace-project on an already-standard GitHub Project as a non-fatal INFO no-op instead of an error.
  • Continue the normal Project configure path afterward so link/backfill/default repair remains idempotent.
  • Update Base docs and .ai-context/ to clarify that already-standard Projects are left intact.

Issue

Fixes #901

Validation

  • PYTHONPATH=lib/python:cli/python /Users/rameshhp/.base.d/base/.venv/bin/python -m pytest cli/python/base_github_projects/tests/test_project_configure_replacement.py - 5 passed
  • PYTHONPATH=lib/python:cli/python /Users/rameshhp/.base.d/base/.venv/bin/python -m pytest cli/python/base_github_projects/tests - 30 passed
  • BASE_BASH_LIBS_DIR=/Users/rameshhp/work/base-bash-libs/lib/bash bats cli/bash/commands/basectl/tests/gh.bats - 33 passed
  • git diff --check
  • env -u BASE_HOME BASE_BASH_LIBS_DIR=/Users/rameshhp/work/base-bash-libs/lib/bash ./bin/base-test - 503 passed, 1 skipped; 430 BATS passed

Demo Impact

None.

Notes

The updated replacement regression test failed before the implementation with ProjectError: Project 'base-demo' already has standard Base views; refusing to replace it.

Checklist

  • Branch name follows <category>/<issue>-<YYYYMMDD>-<slug>.
  • PR is scoped to one issue, unless a documented multi-issue exception applies.
  • PR body explains what changed and how it was validated.
  • Validation commands were run from the current checkout or worktree, or unavailable checks are explained.
  • Relevant BATS and Python tests pass.
  • Bug fixes include regression proof or a documented reproduction when practical.
  • Documentation is updated when behavior or user-facing commands change.
  • AI context is updated in .ai-context/, or the PR body explains why it is not applicable.
  • PR includes Fixes #<issue> or Closes #<issue> when it should close the issue.
  • Demo Impact is meaningful for needs-demo work, or explicitly says None.

@codeforester codeforester requested a review from a team as a code owner June 20, 2026 17:16
@codeforester codeforester merged commit cc525c1 into master Jun 20, 2026
18 checks passed
@codeforester codeforester deleted the bug/901-20260620-replace-project-idempotent branch June 20, 2026 17:18
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.

Make --replace-project idempotent for already-standard Projects

1 participant