[AAASM-2714] π§ (python-sdk): Harmonize FFI infra β native/ dir + committed Cargo.lock#84
Conversation
β¦thon Harmonizes Python SDK native binding layout with node-sdk and go-sdk, which both house their FFI crate under native/. Drops the redundant rust/ workspace wrapper; the crate is standalone (no workspace inheritance), matching native/aa-ffi-node. Refs AAASM-2716.
Tracks the FFI crate's lockfile for reproducible native builds, matching node-sdk/native/aa-ffi-node/Cargo.lock. Replaces the rust/Cargo.lock gitignore entry (path no longer exists) and narrows the target/ ignore to native/**/target/. Refs AAASM-2716.
Updates [tool.maturin].manifest-path after the crate move. Refs AAASM-2716.
Updates the native-core-build path trigger (rust/** β native/**) and maturin manifest-path, and moves the cargo dependabot directory to /native/aa-ffi-python after the crate move. Refs AAASM-2716.
Repoints the maturin manifest-path in the native-core integration test and the build-hint docstrings in agent_assembly/types.py to native/aa-ffi-python after the crate move. Refs AAASM-2716.
Repoints README, CONTRIBUTING, and architecture/compatibility/ troubleshooting docs (including the GitHub blob link) at the new native/aa-ffi-python location. Historical verification reports are left as point-in-time records. Refs AAASM-2716.
Records the FFI-infra harmonization checks: crate moved to native/, Cargo.lock committed, cargo check --locked + maturin + pytest all green. Closes AAASM-2717.
Codecov Reportβ All modified and coverable lines are covered by tests. π’ Thoughts on this report? Let us know! |
|
Review β Claude CodeCI: β
All green incl. Scope vs AAASM-2714 (harmonize FFI infra to match node-sdk β
Local: Verdict: β Ready for approval + merge. Note: AAASM-2721 (python-sdk org-casing) is intentionally sequenced to begin after this merges, to avoid a same-repo conflict. |



Description
Harmonizes the Python SDK's native FFI packaging with
node-sdkandgo-sdk. Two infra-only changes β no behavior, API, or build semantics changed:rust/aa-ffi-python/βnative/aa-ffi-python/, mirroringnode-sdk/native/aa-ffi-nodeandgo-sdk/native/aa-ffi-go. The redundant single-memberrust/Cargo.tomlworkspace wrapper was dropped; the crate is now standalone (all dep versions explicit, no workspace inheritance), exactly likeaa-ffi-node.Cargo.lock(previously gitignored) for reproducible native builds, matchingnode-sdk/native/aa-ffi-node/Cargo.lock. The.gitignorenow scopes tonative/**/target/.All path references were repointed:
pyproject.toml([tool.maturin].manifest-path),native-core-build.yml(path trigger + manifest-path),dependabot.yml(cargodirectory), the maturin integration test,agent_assembly/types.pybuild-hint docstrings, and the docs (README, CONTRIBUTING, architecture/compatibility/troubleshooting, incl. the GitHub blob link). Historicalverification-reports/*.mdare left as point-in-time records.Deliberately NOT changed (per ticket scope):
pyo3 0.28+extension-module, the 3-crate git-SHA pin (aa-core/aa-proto/aa-sdk-client@9cf8a033β¦),crate-type = ["cdylib"], and org URL casing (separate ticket).Type of Change
Breaking Changes
Related Issues
Closes AAASM-2714.
Testing
test_native_core_maturin.pymanifest-path)Verified on macOS arm64 / CPython 3.13:
git grep 'rust/aa-ffi-python'β no matches outside historical reports;rust/dir removed;Cargo.locktracked.cargo check --locked(native/aa-ffi-python) β resolves from committed lock, compiles.uv sync+maturin develop --manifest-path native/aa-ffi-python/Cargo.tomlβ built/installedagent_assembly._core.uv run pytest test/ -qβ 423 passed, 7 skipped.AAASM_RUN_MATURIN_TESTS=1 pytest test_native_core_maturin.pyβ 1 passed (drives a real maturin build via the new path).See
verification-reports/AAASM-2714.md.Checklist