Repository navigation
feat(aws-transform): add --mode aws-managed and --resume-incomplete - #251
Conversation
258475f to
1d2e4c9
Compare
laithalsaadoon
left a comment
There was a problem hiding this comment.
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-managedanchor matches GitHub's slug for that heading. - The
--resume→--resume-incompleterename is complete — no stale--resumeremains on theremote analysissurface (the remainingatx --resumehits 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 theremote-ec2/remote-batchnaming 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.
|
Thanks for flagging the |
- 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.
1d2e4c9 to
8c0c2ff
Compare
…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.
…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.
Summary
--mode aws-managedfor schedule create and remote analysis--resumeto--resume-incompletein batch executionBy submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.