check-ssm-zone validator: path conformance + key-zone drift (supersedes #95) #179
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/agentic-os#179
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Sibling of coilyco-bridge/agentic-os-kai#403 (SSM zone migration). Validator half. Supersedes the lost #95 deliverable (closed
check-ssm-path— no surviving implementation on disk after the org migration).Goal
A validator that guarantees every SSM param maps to exactly one sensitivity zone, both by path shape and by the actual KMS key wrapping it.
Schema:
/coilysiren/<repo>/<zone>/<tail>repo— lowercase slug[a-z0-9-]+zone—public | private | admin(selects the KMS key; the IAM/crypto gate)tail— freeform leafTwo-layer check
zone ∈ {public,private,admin}. (This is the original #95 ask, with the tier vocab redefined from{admin,write,read}to{public,private,admin}— read/write is now an IAM-action grant on the principal, not a path segment.)KeyId(free fromdescribe-parameters) resolves to the alias its zone segment demands. Catches the real failure mode: a/…/public/…param wrapped byaws/ssmor the admin key. On day one almost everything fails layer 2 — every non-admin param is currently on the defaultalias/aws/ssm. Clearing layer 2 IS the migration's definition-of-done.Shape
agentic-os-kai/scripts/ssm-drift.py, which already enumerates live params. AddKeyIdto itsdescribe-parameters --query.check-ssm-zoneinagentic-os, registered inpyproject.toml, pytest-covered (collect all violations, don't fail-fast).aws_ssm_parameternames).Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag:
burndown-2026-06.