Repository navigation
Conversation
🤖 AI Code Review (two independent reviewers)Reviewer responses: batch 1/8: codex/ALL claude/ALL; batch 2/8: codex/ALL claude/ALL; batch 3/8: codex/ALL claude/ALL; batch 4/8: codex/ALL claude/ALL; batch 5/8: codex/ALL claude/ALL; batch 6/8: codex/ALL claude/ALL; batch 7/8: codex/ALL claude/ALL; batch 8/8: codex/ALL claude/ALL Status: BLOCKED — CRITICAL/MAJOR issues must be resolved before merge Reviewed in 8 complete batches split at file boundaries; every batch must pass. Batch 1/8 — PASSBoth verification targets are resolved. The three-region assertion in the new tftest mirrors the existing line-322 pattern (mock Chair Review — PR #227, Batch 1/8: six-pillar discovery diagnosis and trace instance observations1. SummaryThis batch adds two default-off, validation-chained Terraform gates ( 2. Issues per lensL2 — Code correctness
Verified correct fixes worth recording: L3 — Security / AWS mutation safetyNo CRITICAL or MAJOR. Both panels independently concluded the ADR-005 read-only boundary holds, and the chair's verification concurs: every added action is a read or an async query-lifecycle call; both new flags default
L4 — Observability / data-integration correctnessBoth panels confirm the core grounding changes are correct: unknown metric values stay
L5 — Docs / ADR consistencyBoth panels agree the bilingual CHANGELOG amendment is 1:1 and accurately describes the default-off, manual-proposal, member-never-substitutes-host posture; ADR-005's exception list (ADR-015, ADR-023) is untouched and nothing claims a new exception.
Unverified cross-batch dependencies (non-blocking, named listed files plausibly provide them): 3. Suggestions
4. VerdictNo CRITICAL findings from either panel. The three single-model MAJOR claims were each verified by the chair against BASE and downgraded with cited evidence (precedent-consistent region convention per IMAGE_COVERAGE: NOT_REQUIRED Batch 2/8 — FAILThe base file confirms the key disputed point: Chair Review — PR #227, Batch 2/8Files in batch: 1. SummaryThis batch adds the diagnosis evidence-collection core: a thread-safe budget ledger and a bounded, code-owned discovery module reading Aurora inventory/graph/FinOps state plus read-only X-Ray/CloudWatch/Compute Optimizer APIs. The read-only (ADR-005) and cross-account scope postures are sound, but both panels independently found real correctness defects in coverage/freshness semantics, and several load-bearing guarantees (model-boundary redaction, the cited IAM Sid, the instance-observation producer) live in other batches and remain unverified cross-batch dependencies — the security/IAM ones stay blocking per the review rules. 2. Issues per lensL2 — Code correctnessMAJOR — MAJOR — MAJOR — MAJOR (unverified cross-batch) — MINOR (claude): Unverified cross-batch dependencies (non-blocking, plausibly provided by listed files): L3 — Security / AWS mutation safetyBoth panels agree: no ADR-005 violation in this batch. All AWS calls are read-only ( MAJOR (blocking per cross-batch security rule) — unredacted account-scoped identifiers in model-bound facts; the scrub lives in other batches (claude flagged; verified). MAJOR (blocking per cross-batch IAM rule) — cited IAM Sid absent from BASE (claude flagged; verified: BASE MINOR (claude): L4 — Observability / data-integration correctnessMAJOR — MAJOR — Aurora readers are misclassified as standalone by the replica-source contract (codex flagged; verified against AWS semantics). MAJOR — X-Ray identities structurally starved by the shared resource budget (claude flagged; verified structurally). With MAJOR (unverified cross-batch, non-security — not independently blocking) — the entire instance-observation path depends on Rejected — codex's MINOR: L5 — Docs / ADR consistencyNo ADR amendment implied; ADR-005 posture intact (both panels agree). MINOR (claude): 3. Suggestions
4. VerdictVerified blocking findings exist in L2 (3), L3 (2, cross-batch security/IAM — blocking by rule), and L4 (3). Image manifest lists no images and no unavailable/omitted entries. IMAGE_COVERAGE: NOT_REQUIRED Batch 3/8 — FAILAll verification done. BASE's shared redactor ( Chair Review — PR #227, batch 3/8 (diagnosis evidence/loop/memory-metrics/observations)1. SummaryThis batch adds the code-owned evidence-admission layer ( 2. Issues per lensL2 — Code correctness
L3 — Security / AWS mutation safetyBoth models agree no ADR-005 mutation violation exists in this batch — verified: every AWS verb is
L4 — Observability / data-integration correctness
L5 — Docs / ADR consistency
3. Suggestions
4. VerdictTwo MAJOR items remain in the gate, both security/redaction-class cross-batch dependencies that the batch rules forbid downgrading on "another batch probably handles it" grounds: the IPv6 redaction gap (defect confirmed against BASE's redactor; fix unverifiable here) and the unredacted IMAGE_COVERAGE: NOT_REQUIRED Batch 4/8 — FAILI've verified the panels' load-bearing claims against the BASE tree and the diff. Synthesizing the chair review now. Chair Review — PR #227, Batch 4/8 (six-pillar diagnosis: pillar agents, presentation, evidence-loop orchestration, member-scoped clients, supporting summaries, budget tests)SummaryThis batch adds the evidence-loop diagnosis path: six bounded Bedrock specialist calls plus a cross-pillar reviewer ( L2 — Code correctnessMAJOR (both models flagged; chair-confirmed in the diff) — the JSON output contract is never sent to the model. MAJOR (one model; chair-verified against BASE) — no progress heartbeat through the entire analysis phase. MAJOR (one model; chair-verified in BASE, unverified cross-batch dependency on MAJOR (one model; unverified cross-batch dependency on MINOR (verified unless noted):
Cross-batch modules this batch imports that BASE lacks — L3 — Security / AWS mutation safetyThe ADR-005 read-only guarantee holds in this batch (both models agree). Every new AWS call is a read ( MAJOR (one model flagged; stays blocking per the cross-batch rule for IAM findings) — the MINOR: the member session factory builds a client for any service/region (BASE precedent The host-scope guard in L4 — Observability / data-integration correctnessNo Steampipe/CIS code is in this batch. The missing output-schema contract (L2) is also the dominant L4 defect — specialist/reviewer results cannot be reliably admitted (both models). Beyond that, both panels found the data integrations honest, and I concur: the Cost Explorer exclusive- MINOR (one model each; verified in diff): prose withheld by L5 — Docs / ADR consistencyConsistent with the cited register: ADR-005 (reads only, default-off gate, no model execution surface), ADR-011's amended optional-ExternalId rule (correctly cited by migration ULID), and the budget unification pinned by MINOR: Suggestions
VerdictConfirmed MAJORs exist (schema contract never transmitted — both models, chair-verified; heartbeat gap; broken-connection terminal write and host-account env wiring pending cross-batch verification; IAM AssumeRole scoping unverifiable in this batch and blocking per the cross-batch security rule). The image manifest lists no images, no unavailable entries and no omissions. IMAGE_COVERAGE: NOT_REQUIRED Batch 5/8 — PASSAll verification done. Codex's L4 MAJOR is a false positive (RDS Compute Optimizer genuinely uses SummaryBatch 5 is test-only: four new offline pytest modules ( Issues per lensL2 — Code correctness
L3 — Security / AWS mutation safetyBoth models agree there is no ADR-005 boundary break: the fake AWS provider exposes only read operations, model-proposed actions (
L4 — Observability / data-integration correctness
Review text truncated to fit the comment size limit; the complete batch reports are in the workflow log ("Batch review" groups of the chair step). The verdict above covers every batch. Triggered by commit |
- Move the refresh bullet to [Unreleased] (EN/KO) and restore the released 0.10.1 Next.js 15.5.25 security-update entry. - Document that tests/run-all.sh and the agent readiness command now need agent/requirements.txt for agent/tests/test_runtime_dependencies.py (CLAUDE.md, tests/CLAUDE.md, AGENTS.md files re-synced). - Update verification/runbook prerequisites to Node 26, Terraform 1.17.1 and pg8000 1.31.6; Lambda@Edge docs now say python3.14 (all locales). Historical Terraform v1.15.7 source citations are left as citations. - terraform-test.sh reports tracked paths it skips; refresh the 1.15.7 state fixture; add Next.js 16's bfcacheId to a router test mock. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…p PR Keeps this PR's review input inside the 128 KiB admission bound. The docs-site dependency/Mermaid refresh, its Node 26 guide workflow, and the docs/architecture.md and docs/reference/* refresh move unchanged to the follow-up branch chore/docs-runtime-refresh-20261105, which merges after this PR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Re-applies the docs-site dependency/Mermaid refresh, the Node 26 guide workflow and the docs/architecture.md and docs/reference/* updates that were split out of #227 to keep its review input inside the 128 KiB bound. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Re-applies the docs-site dependency/Mermaid refresh, the Node 26 guide workflow and the docs/architecture.md and docs/reference/* updates that were split out of #227 to keep its review input inside the 128 KiB bound. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ollow-up Keeps this PR's review input inside the 128 KiB admission bound; the unchanged README.md and docs/runbooks/dev-repo-setup.md updates move to chore/docs-runtime-refresh-20261105 (#233), which merges after this PR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…227 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Add an installed-SDK contract for anthropic 2.4.0 used by the dark Anthropic loop (constructor, messages.stream parameters, lazy stream manager); verified to fail on a parameter mismatch. - Keep the guide deploy workflow on Node 26 in this PR (the current docs-site builds on Node 26 for all four locales); the docs-site dependency refresh stays in #233. - Scope the CHANGELOG bullet to this PR (no docs-site dependency claim). - Makefile prerequisite comment: Terraform >= 1.17.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ites - terraform-test.sh: restore the base copy pipeline, which fails when a tracked path is missing from the working tree, instead of skipping it. - docs/runbooks/dev-repo-setup.md: Node 26 / Terraform 1.17.1 offline prerequisites move back into this PR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Resolves the generated AGENTS.md marker conflicts by re-syncing them from the merged CLAUDE.md files, and moves the new connector-target-sync Lambda to python3.14 like every other Lambda in this refresh. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…race graph Diagnosis: redact sentence-final IPv6 and more ARN partitions; server cancels reads before the socket timeout; guard returns keep native_sources; host account never uses member scope; any graph source reason disqualifies freshness; honor INVENTORY_STALE_AFTER_MINUTES; use real inventory fact keys and capture the RDS replica source (unknown blocks sizing); evict low-priority evidence first; failed metric reads are never fresh; include X-Ray faults; stop flagging ordinary CJK words as numerals; poll queries long enough to finish; Security Hub not subscribed is steady state; ExternalId optional per ADR-011; sweep every section for mutating CLI text. Web/agent: flow-log samples disclose window/limit/truncation; bounded caches release hung loads and NFM/DNS clients time out; fractional Tempo timestamps bind and unbound claimed observations are counted as drops. Docs: Terraform 1.15.7 citations, MERGE_VERIFY_SKIP_WEB and pg8000 versions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…web typecheck Diagnosis: a broken pg8000 connection is closed and never reused, out-of-region DNS groups are skipped, sizing requires complete metrics and provider evidence, the exact CWAgent InstanceId memory series wins, each finding renders once with a bounded report and explicit truncation markers, member credentials last an hour and refresh, withheld rows keep only id/reason, single-region posture and change reads are disclosed, offline report tests are hermetic, and citation ids no longer hash the account. Infra: diagnosis evidence/network grants and env go to the Fargate report task only (the worker Lambda runs no diagnosis); the task also receives the inventory staleness setting. agent.py's cache-config note is re-verified on strands 1.63.0. Web: test files type-check again (tsc --noEmit -p . passes) and Merge Verify runs the web typecheck before vitest. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-20261104 # Conflicts: # AGENTS.md # CHANGELOG.md # docs/runbooks/AGENTS.md # scripts/AGENTS.md
…race observations Budget cut-offs (not by-design caps) mark reports partial; a malformed local title falls back safely; correlation ids are charset-bounded and redacted; inventory evidence is evicted last; specialists honor BEDROCK_REGION per call; English number words need a unit before counting as numerals and an invalid review can only withhold findings; size-bound truncation degrades the render and keeps the intended-vs-actual section; findings render in their pillar's dedicated section; instance-observation omissions are disclosed per edge (and mark that edge's diagnosis coverage incomplete) instead of degrading the whole trace graph. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The dependency/runtime refresh is split out to #240. After #240 merges, this PR will be rebased on dev so its diff is only the six-pillar discovery diagnosis and trace instance-observation work, and the review will run on that. 🤖 Generated with Claude Code |
* chore: refresh web dependencies and Node runtimes * chore: refresh Python dependencies and Lambda runtimes (#228) * chore: refresh Python dependencies and Lambda runtimes * chore: refresh Terraform CLI and provider locks (#229) * chore: refresh Terraform CLI and provider locks * chore: refresh documentation site and runtime references (#230) * fix: address review feedback (iteration 1/5) * docs: align toolchain docs and changelog with the runtime refresh - Move the refresh bullet to [Unreleased] (EN/KO) and restore the released 0.10.1 Next.js 15.5.25 security-update entry. - Document that tests/run-all.sh and the agent readiness command now need agent/requirements.txt for agent/tests/test_runtime_dependencies.py (CLAUDE.md, tests/CLAUDE.md, AGENTS.md files re-synced). - Update verification/runbook prerequisites to Node 26, Terraform 1.17.1 and pg8000 1.31.6; Lambda@Edge docs now say python3.14 (all locales). Historical Terraform v1.15.7 source citations are left as citations. - terraform-test.sh reports tracked paths it skips; refresh the 1.15.7 state fixture; add Next.js 16's bfcacheId to a router test mock. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * chore: move documentation-site and architecture refresh to a follow-up PR Keeps this PR's review input inside the 128 KiB admission bound. The docs-site dependency/Mermaid refresh, its Node 26 guide workflow, and the docs/architecture.md and docs/reference/* refresh move unchanged to the follow-up branch chore/docs-runtime-refresh-20261105, which merges after this PR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * chore: move README and dev-repo-setup toolchain updates to the docs follow-up Keeps this PR's review input inside the 128 KiB admission bound; the unchanged README.md and docs/runbooks/dev-repo-setup.md updates move to chore/docs-runtime-refresh-20261105 (#233), which merges after this PR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix: address review findings on the split runtime refresh - Add an installed-SDK contract for anthropic 2.4.0 used by the dark Anthropic loop (constructor, messages.stream parameters, lazy stream manager); verified to fail on a parameter mismatch. - Keep the guide deploy workflow on Node 26 in this PR (the current docs-site builds on Node 26 for all four locales); the docs-site dependency refresh stays in #233. - Scope the CHANGELOG bullet to this PR (no docs-site dependency claim). - Makefile prerequisite comment: Terraform >= 1.17.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix: keep terraform-test fail-hard and carry dev-repo-setup prerequisites - terraform-test.sh: restore the base copy pipeline, which fails when a tracked path is missing from the working tree, instead of skipping it. - docs/runbooks/dev-repo-setup.md: Node 26 / Terraform 1.17.1 offline prerequisites move back into this PR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: cite Lambda@Edge runtime support for the python3.14 edge function Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ci: run agent, Lambda and worker tests on Python 3.14 This refresh moves the Lambdas and containers to Python 3.14 while the existing CI ran only on 3.12. Merge Verify now ends with a Python 3.14 lane: a fresh venv with agent, test and worker requirements runs the agent suite, agent/lambda and scripts/v2/workers pytest. Locally on Python 3.14.6 the same commands pass (168 agent, 2,687 Lambda/worker tests). docs/v2-merge-verification.md lists the step; prerequisite notes are shortened. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * chore: refresh documentation site and architecture references for the runtime refresh (#233) * chore: refresh documentation site and architecture references Re-applies the docs-site dependency/Mermaid refresh, the Node 26 guide workflow and the docs/architecture.md and docs/reference/* updates that were split out of #227 to keep its review input inside the 128 KiB bound. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: carry README and dev-repo-setup toolchain updates split out of #227 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: record the documentation-site dependency refresh in the changelog bullet Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * docs: update onboarding and edge references to Terraform 1.17.1 and Node 26 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Follow-ups only target supported kinds; a late graph refresh keeps prior evidence and dedupes on capability; memory metric failures degrade one source; the report ledger reads the same budget env as report.py; collect() refuses when the evidence loop is off; trace loss counters and failure reasons disqualify the graph; sizing needs fresh inventory evidence and separates inventory from provider staleness; relationship evidence may span regions; unsafe prerequisite prose is withheld like explanations; Savings Plans coverage is monthly, period-labelled and paginated; a missing VPC never matches; web/lib/CLAUDE.md documents BoundedTtlCache. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sort posture samples A payload-capped graph source (itemCount null) no longer raises and retires all graph evidence. The trace-pair read keeps stored order with a 201st sentinel so a read-side cap marks instance_observation_cap. Security Hub posture samples sort highest severity first (unsorted fallback disclosed), matching sources.py, and a deadline running out mid-plan is recorded as not collected, not a read failure. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Flag descriptions list every granted action and the IAM tests pin statement counts and action lists; the unused logs:FilterLogEvents grant is removed. jsonschema is a declared test dependency. All collected inventory facts (incl. attachments_complete) reach the model context; redaction lives in evidence.redact_context/model_context(redacted=True). RDS read replicas need complete ReplicaLag before validating as sizing candidates. Stored inventory source qualification mirrors the web reader's inventorySourcesStale contract. DNS/NFM cache saturation or load deadline returns a retryable 503 instead of a wrong 404. AWS call sites name their granting workers.tf statement. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Specialist calls use report.py's thinking fields and Opus headroom (no output_config); a max_tokens stop is retried once then reported as output_truncated. Findings may cite one evidence row per resource; review issues and follow-ups are validated per item with identifiers exempt from the numeral check. Reference ids must be opaque citation ids at admission. The Resolver query filters by VPC, NOERROR and answers; INTER_VPC is not queried and unmatched NFM rows are disclosed. withheld() tolerates malformed ids. Zero-sample metrics are never fresh, follow-up refreshes supersede prior rows, eviction drops stale rows first, and DNS/flow correlation output is deduplicated and capped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-20261104 # Conflicts: # terraform/foundation/workers.tf
|
Split into four smaller PRs so each review covers a coherent slice (the 8-batch review kept blocking on cross-batch dependencies): #242 (trace instance observations + agent tool contracts), then discovery/evidence core, DNS/NFM + supporting sources, and the pillar agents/loop/rendering wiring — opened in order as each predecessor merges. The combined result of the four branches is identical to this PR's head 🤖 Generated with Claude Code |
The combined dependency refresh updates Node to 26.13.0, Next.js to 16.4.5, React to 19.3.1, JavaScript AWS clients to 3.1161.0, Python workload runtimes to 3.14, Terraform to 1.17.1 and the documentation toolchain to Docusaurus 3.10.2. The author merged the former Python, Terraform and documentation branches into this PR; #224 is closed and this PR now contains their combined source.
Next.js uses proxy.ts with the existing body cap and a Webpack production build that retains strict application checks. ARM64 images, runtime HOSTNAME, authentication, ownership, default-off controls and release ordering are preserved. No manual deployment or Terraform apply is performed by this review loop.
The corrective pass incorporates current dev, preserving the reviewed MDX prerequisites and the follow-redirects fix, and removes an initiative plan from a namespace reserved for private-upstream documentation. Its exact bytes remain only in ignored local audit material. The unchanged native input filter admits the complete source at 127,817 bytes without source omission; review limits and workflows are unchanged by the fix.
Fresh host verification on this combined source: locked web and scripts installs passed under Node 26; production application TypeScript and the Webpack production build passed; documentation path validation passed. An in-memory error in actual web/lib/auth.ts produced TS2322 with source bytes unchanged, confirming strict application typing. Independent full inspection of both lockfiles covered 546 package entries and 1,343 dependency/peer edges without an actionable graph defect. These local checks do not replace fresh native review or current CI.
The earlier integrated snapshot was reported to pass 5,510 web tests (279 pre-existing optional skips), 333 Node CI tests and 73 disposable PostgreSQL tests. Those historical totals have not been rerun by this host on the corrective commit and are not represented as new receipts.
Remaining platform-reference corrections and bounded graph/type evidence are being prepared as a separately reviewed documentation prerequisite so the complete native input stays within its existing limit. Merge remains blocked until current CI, complete native dual-family review and independent publication-content clearance pass.
Split for review size (2026-11-05)
To keep the review input inside the 128 KiB bound, the documentation-site dependency refresh, its Node 26 guide workflow,
README.md,docs/runbooks/dev-repo-setup.md,docs/architecture.mdanddocs/reference/*updates moved unchanged to #233, which merges after this PR. This PR keeps code, tests, CHANGELOG (refresh bullet under[Unreleased], released 0.10.1 entry restored), the runtime-dependency test prerequisites inCLAUDE.md/tests/CLAUDE.md, and the verification docs (docs/v2-merge-verification.md, runbook versions). Local check with Node 26.13.0 and Terraform 1.17.1: Merge Verify install set resolves, agent/Terraform/CI/web tests pass,next buildsucceeds, andtscreports no errors beyond base dev's.