Repository navigation
feat(chat): route by named AWS resource before keywords - #261
Conversation
2540155 to
6746865
Compare
A prompt that names a resource ID or ARN routes to the section that owns it, unless an IAM principal, a strong security word or another area's subject is also named, or the keywords span several areas. IDs are blanked and ARNs reduced to their service name before keyword matching. Split out of the section-handoff change so it can be evaluated on its own. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6746865 to
60aa7f6
Compare
🤖 AI Code Review (two independent reviewers)Reviewer responses: codex/ALL claude/ALL Status: PASSED — No blocking issues found Verification is complete — both spot checks confirm the panels' claims (custom-agent/product-help precedence sits above the computed gateway in Chair Review — PR #261: feat(chat): route by named AWS resource before keywordsSummaryThis PR adds a deterministic resource-first routing stage ( Issues per lensL2 — Code correctnessNo CRITICAL/MAJOR. Codex found no defects; claude flagged five MINORs, which I verified against the resulting code (BASE
L3 — Security / AWS mutation safetyNo findings — both models agree. The diff is a pure L4 — Observability / data-integration correctnessNo Steampipe query, CIS check or diagnosis logic is modified (both models agree). One MINOR:
L5 — Docs / ADR consistencyNo CRITICAL/MAJOR. CHANGELOG convention is followed correctly: the existing "AI chat grounding" bullet is amended in place, in both English and Korean 1:1, with no PR/round numbers — matching the repo rule exactly.
Panel agreement note: both models independently cleared L2/L3/L4 of gate-level issues; every adopted finding was verified against the diff and the BASE sources rather than taken on agreement alone. Suggestions
VerdictNo CRITICAL or MAJOR findings from either panel survived or were raised by chair verification; all adopted issues are MINOR polish/doc items. The image manifest lists no images, no deletions and no unavailable/omitted entries, and both panel cells declared coverage not required. IMAGE_COVERAGE: NOT_REQUIRED Triggered by commit |
Summary
Follow-up to #260 (merged). Split out of #260 because it changes the route of every chat request.
eni-,sg-,vpc-,vgw-,i-, …) or ARN (iam,eks/ecs,rds,elasticloadbalancing/cloudfront,cloudformation) routes to the owning section after a pin (methodresource).stripResources), sosg-…is never read as thesgkeyword whilearn:aws:dynamodb:…still matches the data rule.securityonly through generic words (보안, public, 노출) — plus the object's own policy words for a network resource. Otherwise keywords, the hybrid classifier and ADR-003 fan-out decide as before.Known limits: when several resources are named, the first-named one decides; the routing heuristics took several review rounds on #260 and should be judged against a set of real prompts rather than more patching.
Test plan
cd web && npm test: 381 files / 5886 tests passed;npx tsc --noEmit -p .exit 0🤖 Generated with Claude Code