Skip to content

Fix installed migration scaffold selection for 26.10.5 - #85

Merged
ancongui merged 4 commits into
mainfrom
fix/installed-migrate-26105
Oct 18, 2026
Merged

ancongui merged 4 commits into
mainfrom
fix/installed-migrate-26105

Conversation

@ancongui

@ancongui ancongui commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Installed wheels currently resolve alembic.ini relative to site-packages, so flycanon migrate misses the reviewed scaffold in the operator's working directory. Select ./alembic.ini explicitly and reject a missing or non-file configuration before migration starts. Keep FLYCANON_DATABASE_URL, upgrade head, wheel contents, migrations, and serve behavior unchanged.

Add three regression cases for a wheel-style module location, missing configuration with a valid parent configuration, and a directory named alembic.ini. Update installation/CLI guidance, document the direct Alembic workaround for retained 26.10.4 installations, and align existing server/SDK version metadata for proposed 26.10.5. No release or tag is created by this PR.

The concurrency test module uses a temporary file-backed SQLite database so concurrent AsyncSessions receive independent connections. Two causal controls cover distinct DBAPI identities and rollback isolation. All 31 original concurrency test functions retain identical ASTs; global unit fixtures and production transaction code are unchanged. The OpenAPI snapshot changes only info.version to match the release metadata.

Validation:

  • TDD: all three new tests failed against the prior implementation, then passed; all 28 CLI tests pass.
  • Ruff lint and format: 407 files pass.
  • Python SDK: 61 tests pass with source-declared version metadata in an isolated test overlay. The retained installed SDK remains 26.10.4; this is source-suite evidence, not installed 26.10.5 artifact qualification.
  • Java SDK: offline Maven verification passes, 62 tests.
  • Concurrency fixture TDD: both causal controls failed with the original shared in-memory connection. An observer saw uncommitted data and its rollback erased another writer's insert. With independent connections, all 33 module tests pass.
  • Final full server unit suite: 1,219 passed, 5 skipped, with 31 warnings, on one run after the fixture correction. Initial evidence remains retained: 1,215 passed, 5 skipped, and failures in TestKnowledgeRetireServiceConcurrency::test_concurrent_retire_one_winner and TestKnowledgeVersionConflictServiceConcurrency::test_concurrent_update_one_typed_conflict. The update-history failure also reproduced against the unchanged installed public 26.10.4 package. This test-fixture correction does not qualify PostgreSQL transactions.
  • Configured Pyright check is unavailable locally because the retained checker lacks its bundled standard-library stubs. A diagnostic with other retained stubs is not counted as configured qualification.

Independent review preserved all 31 original concurrency-test ASTs and reran all three CLI plus 33 concurrency cases successfully. Current-head hosted CI passes all seven jobs: server units, native integration, Python SDK, Java SDK, lint, advisory type checking, and Docker build smoke. The SDK lockfile is aligned with 26.10.5; no dependency versions changed.

New installed-CLI migration observation and public release artifact/tag verification remain separate. The retained 26.10.4 knowledge environment is unchanged and uses its documented Alembic workaround.

@ancongui
ancongui marked this pull request as ready for review October 18, 2026 00:03
@ancongui
ancongui merged commit 92e4ffb into main Oct 18, 2026
7 checks passed
@ancongui
ancongui deleted the fix/installed-migrate-26105 branch October 18, 2026 00:03
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.

1 participant