aws / aws/amazon-q-developer-cli

AI agent skips requirements/test cases and writes code without approval — causes cascading failures

Open
#3,900 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
2k
Forks
439
PR merge metrics
No merged PRs in 30d

Description

# GitHub Issue: AI Agent Repeatedly Violates Requirements-First Process

## Title
AI agent skips requirements/test cases and writes code without approval — causes cascading failures

## Labels
`process`, `incident`, `ai-tooling`

## Description

The AI coding agent (Kiro) repeatedly violates the established workflow:

1. Requirements document
2. Test cases
3. User approval
4. Implementation

Instead it jumps directly to code, introduces bugs, then spends hours debugging issues that would have been caught by step 1.

## Examples from Aug 14–20

| Date | Violation | Impact |
|------|-----------|--------|
| Aug 14 | NAT instance terraform — no requirements, used `yum` on AL2023 | 3+ hours debugging, instance never worked |
| Aug 14 | Scanner `scan.sh` — wrong git auth format, used `/tmp` | All clones failed, multiple rebuild cycles |
| Aug 15 | VPC endpoints — deployed SSM only, missed ECR/S3/DynamoDB | Scanner couldn't pull image |
| Aug 20 | Missing security group on ECS task | Task stuck in PENDING, another hour wasted |
| Aug 20 | Asked user "do you want requirements?" instead of defaulting to them | User had to correct again |
| Multiple | Gave raw copy-paste commands instead of scripts | Not repeatable, not logged, not auditable |

## Root Cause

Agent prioritizes speed over correctness. It tries to "complete fast" by skipping process steps, which paradoxically makes everything take 5–10x longer due to cascading failures.

## Expected Behavior

1. **Never write ANY code without requirements + test cases + approval** — infra, application, scripts, Dockerfiles, all of it
2. **Never give raw commands** — always a script with logging, SSO check, error handling
3. **Research before implementing** — check docs, package managers, auth formats BEFORE writing code
4. **Default to requirements** — don't ask "should I write requirements?" — just do it
5. **Validate assumptions** — if code depends on an external system, verify it works on that system BEFORE writing

## Acceptance Criteria

- [ ] Zero process violations in next session
- [ ] Every infrastructure change has requirements → tests → approval → implementation
- [ ] Every action delivered as a script, never raw commands
- [ ] Research/verification done BEFORE code, not after failure

## Cost

Conservative estimate: 6+ hours of user time wasted across Aug 14–20 debugging issues that should never have existed.

Contributor guide

Open the contributing guide

Research direction

No repository file, test, or agent entry point is identified; start by locating the workflow that handles planning and approval, then inspect the Terraform work and scan.sh examples named in the issue. Done means the listed acceptance criteria are met: requirements and tests precede approval and implementation, actions are delivered as scripts, and external assumptions are verified first.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, shell, terraform
Domain
cli, devops, tooling
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.