AI-Augmented SDLC
Four AI tools built for a small team running a large fleet - one kept, one shelved on evidence, one designed and not yet run live, one shipped into its own case study - with humans keeping every approval gate.
- Role
- Sole author
- Period
- 2026 - present
- Ownership
- Sole author
- Stack
- AWS Bedrock (Claude) · GitHub · Jira · Claude Code plugins · Python · S3/JSONL
Problem
Five engineers, one fleet: triage, code review, and backlog grooming eat the week if you let them. The interesting question wasn't whether AI could draft a fix - it was how to wire it in so speed goes up while accountability stays exactly where it was.
Approach
Every pipeline is built around human gates. Agents propose; people approve. State lives in labels on the ticket and PR, so any step is inspectable and reversible, and nothing merges without a named human owning the decision. The same rule applies to the tools themselves: each one is measured, and one that does not earn its keep is shelved rather than invested in further.
Architecture
Kept - review: a Claude-based PR reviewer runs in CI on the core API and backend repositories, ahead of the human pass. It was pulled from the five portal pipelines when it crashed on their builds; keeping it only where it worked was the decision.
Shelved - auto-remediation: an AWS Bedrock service (Claude via bedrock-runtime) built to triage production alerts, correlate them with recent changes, and open fix PRs. Never wired to a live alarm, it had zero invocations in the 30 days measured and 12 of its 13 remediation runs had failed; it was shelved in August 2026 on that evidence.
Designed - delivery: an agentic pipeline from the ticket queue to GitHub - plan, branch, implement in an isolated worktree, open a draft PR - with three human approval gates between intent and merge. Dry-run on one ticket, not yet run live.
Shipped - knowledge: the Bedrock knowledge-base agent over Oracle CCS documentation and data, curated-first with a flagged SQL fallback; it has its own case study.
When it went wrong
In August 2026 I found that three of the tooling's public Lambda Function URLs - the auto-fix, the ECS rollback, and the Bitbucket bridge - fell back to a bearer token hardcoded in the source and never overridden live, so the URL plus a value anyone with repository access could read was enough to invoke them.
The fix was the boring one: per-function secrets, the fallback removed, credentials rotated, the change written up. It is the reason the auto-fix's shelving a few days later was an easy call - a tool that is not earning its keep should not also be an attack surface.
Outcome
- The reviewer runs on every core API and backend pull request ahead of the human pass; the knowledge-base agent answers Oracle CCS questions from curated documentation and data.
- The auto-fix was shelved on measured evidence rather than kept alive because it was clever - the decision to stop is the result.
- Every merge still has a named human approver; the state machine makes each step auditable.