Skip to content

fix(migrate): analyze current cron job format - #1049

Merged
shiyiyue1102 merged 2 commits into
agentscope-ai:mainfrom
RerankerGuo:fix/migration-cron-analysis
Jul 17, 2026
Merged

fix(migrate): analyze current cron job format#1049
shiyiyue1102 merged 2 commits into
agentscope-ai:mainfrom
RerankerGuo:fix/migration-cron-analysis

Conversation

@RerankerGuo

@RerankerGuo RerankerGuo commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • read current OpenClaw cron files from their jobs array
  • retain support for legacy top-level job arrays
  • emit genuinely empty dependency categories as [], not [""]
  • add end-to-end analysis regressions for both cron formats and an empty environment

Problem

generate-zip.sh already documents the current cron schema as {"version":1,"jobs":[...]}, but analyze.sh still evaluates .[].payload... as if the root were a job array. jq errors are intentionally suppressed by the heuristic scanner, so current-format cron commands silently disappear from tool-analysis.json and their required binaries are omitted from migration planning.

The JSON serialization also pipes empty Bash arrays through printf, which emits one blank line and turns every empty dependency category into [""]. That pollutes the analysis report and downstream migration manifest with a fake package/binary entry.

Testing

  • the regression reports cron_payload_commands: 0 and misses the cron-only binary on current main
  • an empty baseline analysis produces [""] for apt, pip, npm, and unknown binaries; the fixed output uses []
  • bash migrate/skill/tests/test-analyze-cron.sh
  • shellcheck -S warning migrate/skill/tests/test-analyze-cron.sh
  • bash -n migrate/skill/scripts/analyze.sh migrate/skill/tests/test-analyze-cron.sh
  • git diff --check

The test verifies current object-wrapped jobs, legacy top-level arrays, and an environment with no detected dependencies. This is separate from #1048, which only corrects the final generated import command.

@shiyiyue1102 shiyiyue1102 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. The analyzer now supports both the current object-wrapped cron format and the legacy top-level array, and empty dependency categories serialize as real empty arrays. The change is scoped, includes focused regression coverage, and the required check is green.

@shiyiyue1102
shiyiyue1102 merged commit 31d8999 into agentscope-ai:main Jul 17, 2026
1 check passed
nattiini45 added a commit to nattiini45/AgentTeams that referenced this pull request Jul 23, 2026
* fix: align AgentTeams runtime naming defaults (agentscope-ai#1041)

* fix: prepare beta release workflow (agentscope-ai#1054)

* fix: harden beta release gates (agentscope-ai#1056)

* fix(cli): reject unsafe plugin archive links (agentscope-ai#1043)

* fix(scripts): redact complete Matrix events (agentscope-ai#1047)

* fix(migrate): analyze current cron job format (agentscope-ai#1049)

* fix(migrate): print runnable ZIP import command (agentscope-ai#1048)

* fix(replay): capture immediate manager replies (agentscope-ai#1045)

* fix(hack): persist containerized skopeo auth (agentscope-ai#1050)

* chore: archive changelog for v1.2.0-beta.1 (agentscope-ai#1058)

Co-authored-by: shiyiyue1102 <[email protected]>

* fix(copaw): route Team Leader assignments to Team Room (agentscope-ai#1060)

* fix(install): user can specify which docker.sock to mount when run install script (agentscope-ai#553)

* docs: clarify Element homeserver port (agentscope-ai#978)

Co-authored-by: Ziyang Guo <[email protected]>

* docs: clarify Higress AI route matching (agentscope-ai#980)

Co-authored-by: Ziyang Guo <[email protected]>

* docs: clarify OpenAI-compatible provider setup (agentscope-ai#1013)

* refactor: complete AgentTeams runtime rename (agentscope-ai#1063)

* refactor: complete the AgentTeams hard-cut rename (agentscope-ai#1065)

* docs: add v1.2.0-beta.1 release news (agentscope-ai#1066)

* feat(sync): restore fork-only product trees on agentteams paths

Replay dashboard Helm templates under helm/agentteams, dashboard values and
helpers, qwenpaw worker image defaults, and path-adapted remediation-gates
(agentteams-controller / helm/agentteams). Root dashboard/, shared/python/,
openwiki/, and Gastown skills already survived the merge baseline.

Co-authored-by: Cursor <[email protected]>

* feat(controller): port fork Project CRD, health, APIs, and status CLI

Replay fork-only agentteams-controller features onto the upstream rename
baseline: Project CRD/reconciler/Helm, health monitor, message and
manager-tasks APIs, worker health probes, managerstate CLI, enhanced agt
status overview, SoloOperator/QwenPaw/docker resource wiring, and related
tests.

Co-authored-by: Cursor <[email protected]>

* feat(runtimes): restore quiet-rooms and Higress extra-provider prefix strip

Keep upstream CoPaw Team Leader DM-to-Team-Room routing while replaying
fork AGENTTEAMS_QUIET_ROOMS bridge/channel wiring. Restore OPT-IN
AGENTTEAMS_EXTRA_LLM_PROVIDERS setup with modelMapping prefix strip in
setup-higress.sh (route names agentteams-*-route).

Co-authored-by: Cursor <[email protected]>

* docs(sync): truth-up migration doc, merge changelog, agt naming sweep

Rewrite upstream-integration-migration.md for rename acceptance + fork
overlay DoD (drop dual-CRD/HICLAW_* claims). Merge changelog entries from
both sides. Point pre-commit and openwiki paths at agentteams-controller /
helm/agentteams. Align agent-facing CLI examples to agt.

Co-authored-by: Cursor <[email protected]>

* fix(qwenpaw): resolve Windows file:// agent package refs

urlparse puts file://C:\path entirely in netloc with an empty path; Path('') became cwd and silently copied the repo instead of the package archive.

Co-authored-by: Cursor <[email protected]>

* fix(ci): purge brand leftovers and restore fork runtime bridge/sync

Clear remaining retired-brand strings/paths so helm-lint rename gate passes, restore CoPaw fork bridge/worker APIs and Hermes thin sync semantics, and harden installer prompt helpers with printf -v.

Co-authored-by: Cursor <[email protected]>

* fix(copaw): restore Matrix channel APIs and thin sync wrapper

Bring back fork Matrix channel behavior needed by worker tests, switch sync back to the agentteams_sync wrapper, and share filesync helpers via _toolhelpers.

Co-authored-by: Cursor <[email protected]>

* fix(sync): restore agentteams- bucket prefix stripping for team storage

The rename pass incorrectly shortened the hiclaw- bucket prefix check to agt-, breaking team path derivation for agentteams-* buckets.

Co-authored-by: Cursor <[email protected]>

* fix(security): remediate Kilo review findings on sync/upstream-main

Harden appservice token compare, proxy body limits, lifecycle error logging,
Helm image/RBAC/CRD alignment, OpenHuman TOML escaping, and storage alias safety.

Co-authored-by: Cursor <[email protected]>

* fix(helm): avoid retired brand in storage.bucket comment

Rename gate rejects hiclaw tokens even in comments; keep migration note brand-free.

Co-authored-by: Cursor <[email protected]>

---------

Co-authored-by: shiyiyue1102 <[email protected]>
Co-authored-by: Ziyang Guo <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: shiyiyue1102 <[email protected]>
Co-authored-by: Daniel Qian <[email protected]>
Co-authored-by: Ziyang Guo <[email protected]>
Co-authored-by: Cursor <[email protected]>
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.

2 participants