Skip to content

feat: sync Wukong Drive, Doc, and Sheet capabilities#643

Open
LastdianXuan wants to merge 17 commits into
DingTalk-Real-AI:mainfrom
LastdianXuan:codex/sync-wukong-drive-sheet-parity
Open

feat: sync Wukong Drive, Doc, and Sheet capabilities#643
LastdianXuan wants to merge 17 commits into
DingTalk-Real-AI:mainfrom
LastdianXuan:codex/sync-wukong-drive-sheet-parity

Conversation

@LastdianXuan

@LastdianXuan LastdianXuan commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Sync the public Wukong Drive, Doc, and Sheet capabilities into Open DWS without importing the Wukong module.
  • Preserve the original 10 Drive/Sheet parity commands and add unified asynchronous task flows for Doc export/import and Sheet export.
  • Publish the command surface consistently through Cobra, Agent Schema, generated metadata, and mono/multi Skills.
  • Add structured dry-run plans and redact temporary upload/download URLs from failures and logs.

Command surface

Original parity commands:

  • drive permission transfer-owner|apply-info|apply
  • drive star add|remove|list
  • sheet formula-verify
  • sheet version save|list|revert

Asynchronous task parity:

  • drive task get --type export|import --id <TASK_ID>
  • doc export [create] --node <NODE_ID> --async
  • doc export get --task-id|--job-id <TASK_ID>
  • doc import [create] --file <PATH> --async
  • doc import get --task-id <TASK_ID>
  • sheet export [create] --node <NODE_ID> --async
  • sheet export get --task-id <TASK_ID>

The historical synchronous doc export, doc import, and sheet export forms remain available. sheet export remains the historical primary Schema path; sheet export create is an alias.

Contract and safety details

  • All async submit/query commands return one unified TaskResult with PENDING, PROCESSING, SUCCESS, FAILED, or TIMEOUT.
  • Failed task states remain machine-readable results instead of being collapsed into generic CLI errors.
  • Doc --task-id and compatibility --job-id are public, mutually exclusive, and require exactly one value.
  • Export/import dry-run returns one structured plan object and performs no MCP or transfer call.
  • Successful task results may expose resultUrl; errors, logs, and PR evidence never include full temporary signed URLs.
  • Schema compatibility exceptions are exact and fail closed for the reviewed Doc ID and Sheet composite migrations.

Validation

  • Full repository Go suite passed: go test -count=1 ./... ./internal/... ./pkg/... ./scripts/...
  • go vet ./...
  • make build
  • make policy
  • Generated drift: 22 products / 586 tools, clean
  • Skill command integrity: 951 executable command paths
  • CLI smoke: root + 37 public top-level commands
  • Selected Schema command smoke: 7 tools, 15 checks, 0 failures
  • New async CLI dry-run: 7/7 commands returned a single structured plan
  • Real self-owned Doc export: async submit reached SUCCESS; both doc export get and unified drive task get returned the same successful task result

The existing full-suite bottleneck is visible in test/scripts (about 273 seconds locally); this PR does not add that suite or change CI scheduling.

Safety

No live ownership transfer, permission application, version mutation, Doc import, or Sheet export was performed. Those paths were verified with unit, contract, Schema, policy, and no-side-effect dry-run coverage. Live verification was limited to an asynchronous export of a self-owned Doc; no file contents or signed result URL are included here.

@LastdianXuan
LastdianXuan force-pushed the codex/sync-wukong-drive-sheet-parity branch from 741b178 to feebc4b Compare July 16, 2026 07:26
@LastdianXuan
LastdianXuan force-pushed the codex/sync-wukong-drive-sheet-parity branch from feebc4b to 2f0cd4f Compare July 16, 2026 09:40
@LastdianXuan LastdianXuan changed the title feat: sync Wukong Drive and Sheet capabilities feat: sync Wukong Drive, Doc, and Sheet capabilities Jul 17, 2026
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