Subchapter 67.1
references/action-safety.mdMarkdown7 KBView on GitHub
Every Neptune Analytics graph created by this skill MUST carry these tags:
created_by=neptune-skillgeneration_model=<model-id> (e.g., claude-sonnet-4-5)Always issue tags in TWO steps. Inline --tags on create-graph is unreliable through some MCP serialization paths — do NOT rely on it as the sole tagging mechanism.
Default to --deletion-protection. Use --no-deletion-protection ONLY for
ephemeral/CI graphs that an automated harness must tear down.
aws neptune-graph create-graph \
--graph-name <name> \
--provisioned-memory 128 \
--deletion-protection \
--tags created_by=neptune-skill,generation_model=<model-id> \
--region us-east-1The CreateGraph response includes the graph ARN. Pass it to tag-resource.
A graph still in CREATING may reject the call, so use a SHORT bounded retry
(a few attempts, a few seconds apart) rather than polling for AVAILABLE —
long AVAILABLE-polling times out the MCP connection and some harness tasks
explicitly forbid it.
aws neptune-graph tag-resource \
--resource-arn <graph-arn-from-create-response> \
--tags created_by=neptune-skill,generation_model=<model-id> \
--region us-east-1This second call is what the validator’s list_tags_for_resource check relies on. The eval framework will fail any test that omits it. Apply this two-step pattern to every Neptune Analytics creation call — create-graph, create-graph-using-import-task, create-graph-snapshot, private endpoints.
Neptune Database uses a DIFFERENT tagging API — do not use neptune-graph tag-resource against a Database ARN:
# Neptune Analytics resources
aws neptune-graph tag-resource --resource-arn <graph-arn> --tags created_by=neptune-skill,generation_model=<model-id>
# Neptune Database resources (create-db-cluster, create-db-instance)
aws neptune add-tags-to-resource --resource-name <cluster-or-instance-arn> \
--tags Key=created_by,Value=neptune-skill Key=generation_model,Value=<model-id>Safety semantics for destructive and high-impact Neptune operations. Every action that can cause data loss, downtime, or irreversible changes must follow these safeguards.
| Risk Level | Definition | Required Safeguards |
|---|---|---|
| High | Data loss or significant downtime likely. Irreversible. | Explicit user confirmation. Snapshot/export. Impact explanation. |
| Medium | Possible disruption or partial impact. May be reversible. | User confirmation. Recommend snapshot. Explain impact. |
| Low | Minimal risk. Fully reversible or non-destructive. | Inform the user. Proceed with standard confirmation. |
The agent does NOT execute anything in this section. SKILL.md lists these operations under “Do NOT execute” — the agent refuses, explains why, and redirects to the user’s change-control process or the AWS Console. The commands below document what the USER runs themselves, and the safeguards the agent should walk them through first.
Reversibility: Irreversible. All data permanently deleted unless final snapshot taken.
Required safeguards:
# Step 1: Create final snapshot
aws neptune create-db-cluster-snapshot \
--db-cluster-identifier my-cluster \
--db-cluster-snapshot-identifier my-cluster-final-$(date +%Y%m%d) \
--tags Key=created_by,Value=neptune-skill Key=generation_model,Value=<model-id>
# Step 2: Wait for snapshot to complete
aws neptune wait db-cluster-snapshot-available \
--db-cluster-snapshot-identifier my-cluster-final-<date>
# Step 3: Delete only after snapshot is available
aws neptune delete-db-cluster \
--db-cluster-identifier my-cluster \
--skip-final-snapshot # Only if snapshot already taken aboveReversibility: Irreversible. All in-memory data lost immediately.
Required safeguards:
aws neptune-graph delete-graph --graph-identifier g-xxxxxxxxxxReversibility: Irreversible. All graph data permanently deleted.
Required safeguards:
Reversibility: Varies. Instance class changes are reversible; major engine upgrades are not.
Required safeguards:
Reversibility: Reversible, but may disconnect active clients.
Required safeguards:
Reversibility: Reversible.
Required safeguards:
Reversibility: Reversible (scale back up).
Required safeguards:
The agent MUST NEVER execute these, in any context or automation. This list is the superset of SKILL.md’s “Do NOT execute” section — the two must stay in sync.
Mirrors SKILL.md’s refuse list:
delete-db-cluster, delete-db-instance, delete-graphreset-graphfailover-db-clustermodify-db-cluster --engine-version across majorsreboot-db-instance, reboot-db-clustercancel-import-task, cancel-export-taskAdditionally never auto-execute:
g.V().drop() or g.E().drop() (full data wipe)