Skip to content

feat(aws-transform): add --mode aws-managed and --resume-incomplete - #251

Merged
laithalsaadoon merged 1 commit into
awslabs:mainfrom
ntarakad-aws:feat/aws-transform-skill-1.6.0
Aug 12, 2026
Merged

laithalsaadoon merged 1 commit into
awslabs:mainfrom
ntarakad-aws:feat/aws-transform-skill-1.6.0

Conversation

@ntarakad-aws

@ntarakad-aws ntarakad-aws commented Aug 7, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Document --mode aws-managed for schedule create and remote analysis
  • Add aws-managed execution reference
  • Rename --resume to --resume-incomplete in batch execution
  • Bump version to 1.6.0

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.

@ntarakad-aws
ntarakad-aws force-pushed the feat/aws-transform-skill-1.6.0 branch from 258475f to 1d2e4c9 Compare August 7, 2026 15:23
jdonboch
jdonboch previously approved these changes Aug 7, 2026

@laithalsaadoon laithalsaadoon left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed the full diff plus the surrounding reference files on the branch. This holds together well:

  • Version bump is consistent across all three manifests (marketplace.json, .claude-plugin/plugin.json, .codex-plugin/plugin.json).
  • Every relative link in the touched files resolves, including the new continuous-modernization-aws-managed-execution.md, and the #1b-create-an-aws-managed-schedule---mode-aws-managed anchor matches GitHub's slug for that heading.
  • The --resume → --resume-incomplete rename is complete — no stale --resume remains on the remote analysis surface (the remaining atx --resume hits are the unrelated conversation-resume command).
  • The aws-managed story is consistent across SKILL.md, analysis, guide, schedule, batch, and the routing file — the "Batch/Fargate is NOT the no-infrastructure option" correction is applied everywhere it previously implied otherwise, and the guide's routing table / step flow / summaries all agree that aws-managed skips Step 3.
  • The new reference file's frontmatter (remote-aws-managed) matches the remote-ec2/remote-batch naming convention, and its rejected-flags/error tables agree with the schedule doc's.

Two non-blocking items inline: one question about the removed --expression/--timezone escape hatch (want to confirm the CLI actually dropped it in 1.6.0, since the skill goes to great lengths to never deny a shipped capability), and one markdown-rendering nit introduced in the error table.

One pre-existing observation, no action needed in this PR: the remote/schedule surfaces use rapid-techdebt-analysis while the local analysis run/list docs use tech-debt-quick; that naming split predates this change but might deserve a note somewhere if both are canonical on their respective surfaces.

@ntarakad-aws

Copy link
Copy Markdown
Contributor Author

Thanks for flagging the rapid-techdebt-analysis vs tech-debt-quick naming inconsistency — you're right that it's inconsistent across the surfaces. Since it predates this PR, I'll raise a follow-up CR with our team to align the naming. No action in this PR.

- Document --mode aws-managed for schedule create and remote analysis
- Add aws-managed execution reference
- Rename --resume to --resume-incomplete in batch execution
- Bump version to 1.6.0

By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your choice.
@ntarakad-aws
ntarakad-aws marked this pull request as ready for review August 12, 2026 17:44
@ntarakad-aws
ntarakad-aws requested review from a team as code owners August 12, 2026 17:44

@laithalsaadoon laithalsaadoon left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@laithalsaadoon
laithalsaadoon added this pull request to the merge queue Aug 12, 2026
Merged via the queue into awslabs:main with commit 9545072 Aug 12, 2026
24 checks passed
badmin-aws added a commit to badmin-aws/agent-plugins that referenced this pull request Aug 14, 2026
…eport

Removes the --command/-cmd option. This is a functional removal of a documented,
user-facing capability rather than a dead-code cleanup: when passed, the flag
worked end to end. generate_collector_script interpolated each value into the
generated bash collector script, and each command's output was written to
command_{NN}_<sanitized_name>.txt inside ${OUTPUT_DIR}, tarballed, and uploaded
to S3 alongside the built-in diagnostics.

No caller in this repo passed the option, but the intended invocation path was
agent-mediated rather than hardcoded: SKILL.md step 1 instructed the agent to
collect "Additional commands to run on nodes" from the user, SKILL.md advertised
--command in the --help list, and references/collection-details.md documented
the resulting command_NN_*.txt artifact. Agent-visible behavior therefore
changes here, and anyone who previously supplied commands through that prompt
will no longer see those files in the bundle.

The diagnostics the skill actually relies on are built into the generated script
- sinfo, nvidia-smi, nvidia-bug-report.sh, df, dmesg, systemd unit status, Slurm
config and logs, the EKS log collector - which covers the cases the removed
--help examples illustrated (df -h, free -h).

Removing it also drops an unquoted interpolation: the deleted line built the
executed command as f"{cmd} > ..." with no quoting, while shlex.quote was applied
only to the adjacent echo display line. That script is uploaded to S3 and
executed on every targeted node. That is inherent to an arbitrary-command
feature rather than a defect in it, but deleting the feature does reduce attack
surface, and is preferable to bolting validation onto a capability with no
callers.

- remove --command/-cmd, the per-command interpolation loop, and its
  output-filename sanitization
- remove the commands parameter from generate_collector_script,
  execute_collection_on_node, execute_with_retry, and collect_reports. Two were
  genuinely unused: execute_collection_on_node accepted it and never read it (it
  builds its SSM invocation from script_s3_uri), and execute_with_retry only
  threaded it through. generate_collector_script and collect_reports did use it.
- remove the option from SKILL.md (both the step-1 input list and the --help
  line) and the command_NN_*.txt section from references/collection-details.md
- bump sagemaker-ai plugin 1.2.1 -> 1.3.0 in all three manifests, matching the
  minor taken by awslabs#251 for a comparable user-facing CLI change

Generated collector scripts are byte-identical for both cluster types (Slurm 117
lines, EKS 133 lines): every built-in diagnostic, the tarball step, and the S3
upload are unchanged. Verified live against a single-node Slurm HyperPod cluster
end to end, producing a 66-entry bundle of real diagnostics.

Known gap: hyperpod-ssm covers ad-hoc command execution but is not a complete
substitute, since it returns stdout to the caller one node at a time with no
tar/S3 bundling. Capturing extra output inside the support bundle has no direct
replacement.
agarwal-govind pushed a commit to agarwal-govind/agent-plugins that referenced this pull request Aug 18, 2026
…eport (awslabs#253)

Removes the --command/-cmd option. This is a functional removal of a documented,
user-facing capability rather than a dead-code cleanup: when passed, the flag
worked end to end. generate_collector_script interpolated each value into the
generated bash collector script, and each command's output was written to
command_{NN}_<sanitized_name>.txt inside ${OUTPUT_DIR}, tarballed, and uploaded
to S3 alongside the built-in diagnostics.

No caller in this repo passed the option, but the intended invocation path was
agent-mediated rather than hardcoded: SKILL.md step 1 instructed the agent to
collect "Additional commands to run on nodes" from the user, SKILL.md advertised
--command in the --help list, and references/collection-details.md documented
the resulting command_NN_*.txt artifact. Agent-visible behavior therefore
changes here, and anyone who previously supplied commands through that prompt
will no longer see those files in the bundle.

The diagnostics the skill actually relies on are built into the generated script
- sinfo, nvidia-smi, nvidia-bug-report.sh, df, dmesg, systemd unit status, Slurm
config and logs, the EKS log collector - which covers the cases the removed
--help examples illustrated (df -h, free -h).

Removing it also drops an unquoted interpolation: the deleted line built the
executed command as f"{cmd} > ..." with no quoting, while shlex.quote was applied
only to the adjacent echo display line. That script is uploaded to S3 and
executed on every targeted node. That is inherent to an arbitrary-command
feature rather than a defect in it, but deleting the feature does reduce attack
surface, and is preferable to bolting validation onto a capability with no
callers.

- remove --command/-cmd, the per-command interpolation loop, and its
  output-filename sanitization
- remove the commands parameter from generate_collector_script,
  execute_collection_on_node, execute_with_retry, and collect_reports. Two were
  genuinely unused: execute_collection_on_node accepted it and never read it (it
  builds its SSM invocation from script_s3_uri), and execute_with_retry only
  threaded it through. generate_collector_script and collect_reports did use it.
- remove the option from SKILL.md (both the step-1 input list and the --help
  line) and the command_NN_*.txt section from references/collection-details.md
- bump sagemaker-ai plugin 1.2.1 -> 1.3.0 in all three manifests, matching the
  minor taken by awslabs#251 for a comparable user-facing CLI change

Generated collector scripts are byte-identical for both cluster types (Slurm 117
lines, EKS 133 lines): every built-in diagnostic, the tarball step, and the S3
upload are unchanged. Verified live against a single-node Slurm HyperPod cluster
end to end, producing a 66-entry bundle of real diagnostics.

Known gap: hyperpod-ssm covers ad-hoc command execution but is not a complete
substitute, since it returns stdout to the caller one node at a time with no
tar/S3 bundling. Capturing extra output inside the support bundle has no direct
replacement.
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.

4 participants