Skip to content

test(parity): add pinned Python manifest checks - #51

Closed
rayrayraykk wants to merge 1 commit into
agentscope-ai:mainfrom
rayrayraykk:review/parity-manifest
Closed

rayrayraykk wants to merge 1 commit into
agentscope-ai:mainfrom
rayrayraykk:review/parity-manifest

Conversation

@rayrayraykk

@rayrayraykk rayrayraykk commented Sep 2, 2026 •

Copy link
Copy Markdown
Member

Linked Issues

Description

Background and purpose

The incremental parity rollout needs a reproducible inventory before runtime PRs begin. This independent Phase 0 PR pins the Python source baseline and makes later module coverage auditable.

Changes

  • Pin AgentScope Python commit de163b34b909edaba3c174190ad7e1a355e7849f.
  • Add deterministic source, contract-data, and test inventory generation.
  • Add input-order-independent aggregate SHA-256 digests.
  • Validate manifest structure, file counts, duplicate paths, statuses, and the checked-out Python commit.
  • Add focused tests for the manifest library.
  • Add an isolated CI job that checks out Python and verifies the committed manifest.
  • Document regeneration and verification in parity/README.md.

Scope

This PR contains no runtime TypeScript changes, public APIs, provider/Agent/Service/Desktop implementations, or final Python main delta.

Review guide

  1. Review the five handwritten files under scripts/parity/ and their tests.
  2. Review parity/README.md for workflow and invariants.
  3. Do not review the generated JSON line by line; reproduce it with parity:generate and verify it with parity:check.
  4. Review the isolated parity-manifest CI job last.

The generated manifest accounts for most of this PR's line count.

Verification

With the pinned Python repository checked out next to this repository:

npx --yes pnpm@9.15.9 install --frozen-lockfile
npx --yes pnpm@9.15.9 format
npx --yes pnpm@9.15.9 run test:parity
node scripts/parity/check-manifest.mjs --python-root ../agentscope-python

Local verification passed:

  • 5 parity-tooling tests.
  • Pinned-checkout manifest verification.
  • Inventory of 429 Python source files, 104 contract-data files, and 160 Python test files.
  • Frozen-lockfile installation.
  • Formatting with no diff.

GitHub Actions passed on Ubuntu, macOS, and Windows, including the dedicated parity-manifest job.

Dependency

Checklist

  • This PR is linked to a related issue (see above)
  • Code has been formatted with pnpm format
  • Related documentation has been updated (parity/README.md)
  • All tests are passing (pnpm test and the focused commands above)
  • Code is ready for review

@rayrayraykk

Copy link
Copy Markdown
Member Author

Closing this internal parity-infrastructure PR. Generated inventories and migration tooling will stay out of upstream feature submissions.

@rayrayraykk rayrayraykk closed this Sep 3, 2026
@rayrayraykk
rayrayraykk deleted the review/parity-manifest branch September 3, 2026 03:04
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