Repository navigation
Conversation
Bounded TTL cache for the web DNS/NFM query layers, trace instance observations in the graph, and read-only tool-contract and prompt rules for the network, cost, CloudWatch, Flow Monitor and Tempo agent tools. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bounded scoped discovery, evidence admission index, workload identities, measured EC2 memory metrics, scoped member clients and report budget for the diagnosis worker, plus redaction updates, the RDS read-replica source column in the inventory sync and default-off worker IAM/env flags (diagnosis_evidence_loop_enabled, diagnosis_network_evidence_enabled). Nothing in the report path consumes these modules yet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Read-only Resolver DNS and Network Flow Monitor observation collectors and supporting-evidence collection for the default-off diagnosis evidence loop. Presentation and pillar-prompt integration tests land with the pillar agents. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Six Well-Architected pillar specialists with a bounded cross-pillar review over the admitted evidence index, deterministic report presentation, report/handler wiring behind diagnosis_evidence_loop_enabled, plus the discovery reference, evaluation guide, worker docs and CHANGELOG. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…diagnosis-agents-20261106
…ost skips DNS binding no longer raises on inventory resources without facts, and supporting collection records supporting_host_unknown when the host account identity is absent or mismatched instead of skipping silently. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rd broken connections - Pillar and review calls send the exact JSON schema as a trusted output contract and retry once with a corrective message on invalid output. - The evidence loop reports progress per pillar and per pass, so the reaper heartbeat advances during analysis. - Report completion and failure writes use a fresh connection after discovery closes a desynced one. - Review issues accept summary IDs and uppercase identifiers; pillars not rerun after follow-up revalidation get recomputed coverage; pass-1 downgrades stay out of the rejected history. - A non Bedrock Claude 5.5 diagnosis model degrades the loop once with analysis:unsupported_model and no model call; documented in the model provider runbook and diagnosis discovery reference. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ery-observations-20261106
…diagnosis-agents-20261106
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e-core-20261106 # Conflicts: # agent/lambda/aws_finops_mcp.py # agent/lambda/test_aws_finops_mcp.py # web/app/api/dns-logs/analytics/route.test.ts # web/app/api/dns-logs/analytics/route.ts # web/app/api/nfm/query/route.test.ts # web/app/api/nfm/query/route.ts # web/lib/CLAUDE.md # web/lib/bounded-cache.test.ts # web/lib/bounded-cache.ts # web/lib/dns-logs.ts # web/lib/nfm.ts
…f source gaps - zero inventory rows are recorded as inventory_empty_not_confirmed instead of verified emptiness - proxy discovery records its call cap/deadline as incomplete only, stops the shared budget across regions, maps provider errors to a gap and projection defects to degraded - follow_up refuses live reads once the evidence loop flag is off; both scopes require an applied DIAGNOSIS_HOST_ACCOUNT_ID - correct the unrouted-module docstring and document the flags, IAM grants and gap vocabulary in the workers reference Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…61106' into feat/discovery-observations-20261106
…ies after them The stage deadline is recorded as incomplete only and ends collection instead of becoming dns_logs_unavailable/nfm_unavailable; provider errors stay gaps and projection defects become degraded. Started queries are still cancelled after the stage deadline while the job budget allows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…1106' into feat/pillar-diagnosis-agents-20261106
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…del context - an empty ReplicaLag series on a known replica is coverage loss, not an unpublished metric, so replica evidence cannot qualify as complete - redact_context masks resolver query names and hostname-shaped trace/X-Ray node names, and any AWS service DNS name inside source strings - the clock-sharing test compares the native and CWAgent query windows Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…61106' into feat/discovery-observations-20261106
…1106' into feat/pillar-diagnosis-agents-20261106
…to each row - instance-to-DB pair validation compares trace, pair and inventory hosts through one exactEndpoint-equivalent normalization (trim, lowercase, no root dot) - stored-graph evidence rows reference coverage.graph.<class> instead of embedding the class source list, so busy graphs no longer exhaust the context byte cap Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…61106' into feat/discovery-observations-20261106
…1106' into feat/pillar-diagnosis-agents-20261106
…review holdback and host masking - ci_runtime_policy accepts diagnosis_member_role_arns only in the exact member AssumeRole statement and worker task env value that the variable configures - the final-review holdback reserves the heaviest review allocation, including Opus thinking headroom, regardless of the specialist's model - model context masks any whole dotted hostname (two labels or more) in values and mapping keys, keeping code-owned type/version vocabularies Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…61106' into feat/discovery-observations-20261106
…1106' into feat/pillar-diagnosis-agents-20261106
… exact - the dev plan guard exemption also pins the policy role, the full ExternalId and RequestedRegion condition and the worker task family, and accepts a task definition without the member env entry - diagnosis_member_role_arns must be distinct and requires the evidence loop - db_instance_identifier and endpoint_address stay exact for CloudWatch dimensions and pair joins; _text redacts before truncating - host trace nodes without an account (or 'self') bind under host scope, and edges whose endpoints cannot be bound are disclosed as unresolved_graph_edge Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…61106' into feat/discovery-observations-20261106
…1106' into feat/pillar-diagnosis-agents-20261106
🤖 AI Code Review (two independent reviewers)Reviewer responses: batch 1/7: codex/ALL claude/ALL; batch 2/7: codex/ALL claude/ALL; batch 3/7: codex/ALL claude/ALL; batch 4/7: codex/ALL claude/ALL; batch 5/7: codex/ALL claude/ALL; batch 6/7: codex/ALL claude/ALL; batch 7/7: codex/ALL claude/ALL Status: BLOCKED — CRITICAL/MAJOR issues must be resolved before merge Reviewed in 7 complete batches split at file boundaries; every batch must pass. Batch 1/7 — FAILAll key claims are now verified against BASE. Synthesizing the chair review. Chair Review — PR #245 "evidence-backed six-pillar diagnosis" (batch 1/7)SummaryThis batch adds the default-off diagnosis evidence-loop gates (two new Terraform flags, two ARN allowlists, two worker-task IAM policies), the CI plan-scanner exemption for the member-role ARNs, a thread-safe report budget ledger, handler wiring for budget/broken-connection handling, and redaction hardening. The ADR-005 frozen-mutation boundary holds — every new IAM action is a read or a bounded analysis-query verb, both panels agree, and I verified no mutation verb in the diff. The gate fails on one confirmed cross-model correctness MAJOR in L2 — Code correctnessMAJOR (both panels agreed; CONFIRMED against the diff) — MINOR (one model flagged; verified) — MINOR (one model flagged; verified ordering) — MINOR (one model flagged; partially verified) — MINOR (one model flagged; logic verified) — three tftest runs ( MINOR — Cross-batch dependencies (non-security, named): L3 — Security / AWS mutation safetyNo CRITICAL — the ADR-005 frozen boundary holds (both panels agreed; chair verified). New grants attach only to MINOR (one model flagged MAJOR; chair downgraded — the union is pre-existing BASE code, out of diff scope for the gate) — the new allowlist + ExternalId condition is not effective at the IAM layer whenever Note carried to L5 as MAJOR — the mandatory MINOR (one model each; agreed non-blocking) —
L4 — Observability / data-integration correctnessNo blocking finding (both panels agreed). The L5 — Docs / ADR consistencyMAJOR (one model flagged; chair verified — file changed in no batch) — MAJOR (one model flagged; chair verified) — MINOR (verified) — MINOR (unverified cross-batch) — the CHANGELOG sentence about DNS/NFM web caches and the offline synthetic benchmark describes code already in BASE ( Suggestions
VerdictOne confirmed cross-model L2 MAJOR ( IMAGE_COVERAGE: NOT_REQUIRED Batch 2/7 — PASSAll load-bearing panel claims are now verified against BASE. Synthesizing the chair review. Chair Review — PR #245, batch 2/7 (
|
Add scoped discovery and evidence admission, bounded DNS/network observation collectors, measured EC2 memory coverage, and an evidence-backed diagnosis loop across all six Well-Architected pillars. Validate model-selected findings through code-owned admission, bounded verification and explicit coverage gaps. Integrate the loop into worker reports and document evidence strength, account boundaries and model requirements.
The evidence and network gates default to off. Member reads require account registration and an exact role allowlist; this remains analysis-only under ADR-005.
Target
devso the existing automatic AI Code Review and required CI can evaluate the complete integration scope. The unmerged discovery foundation is also being reviewed in #246; its prerequisites and review findings must be resolved before integration. #244 was merged into the foundation branch; #242 is already merged intodev.Validation:
git diff --checkpassed for the current completedevcomparison at source HEAD3b6aa45c003e8a69c50428f5c73c2a8002c57044.02e141e41b6426247843c52c087ade7fded12a5e, not the updated integration scope.devscope. Integration remains pending their current-HEAD results; live AWS/model/runtime release checks have not been performed in this review-trigger operation.