fix(databases-on-aws): correct DSQL type guidance, add cluster-lifecycle troubleshooting#155
Conversation
6671e09 to
715fa78
Compare
Multi-agent audit of PR #155Spawned 20+ independent review agents across two orchestrations: (1) a 13-agent fleet covering code review, simplification, comments, test coverage, silent failures, type design, security, regex correctness, cross-refs, drift, docs fact-check, authoring-style audit, and an independent second-opinion code-reviewer; (2) the All findings at ≥60 confidence were reviewed; legitimate ones below were applied to the commit. Findings below 60 or ruled false-positives after verification are listed for transparency. Legitimate findings applied
False positives / low-confidence findings (verified and dismissed)
Agent fleet results
Live-cluster verification (us-west-2, cluster
|
Round 2 audit summarySecond-round independent audit against HEAD Legitimate findings applied in round 2
False positives / lower-confidence findings (verified and dismissed)
Live-cluster verification this round
Round 2 regrade (existing transcripts, new grader)
Force-pushed as commit |
33cae90 to
17cfc72
Compare
47f8e41 to
3c7a7f2
Compare
a2c1221 to
6c43cfd
Compare
…cle troubleshooting Update DSQL skill to reflect current DSQL type support: JSON is a supported column type (1 MiB, auto-compressed), while JSONB, arrays, and INET remain runtime-only. Replace the narrow quick-reference type list with a pointer to the canonical AWS docs and an awsknowledge verify-query row, so the skill does not drift as DSQL's type surface evolves. Add troubleshooting entries for the INACTIVE-cluster wake error and the FailedPrecondition returned when backing up an IDLE/INACTIVE cluster, with a pointer to the cluster-lifecycle documentation. Extend the Tier 2 functional eval suite with four new evals covering the updated behaviors — JSON column storage, array-column rejection, the INACTIVE-cluster wake flow, and FailedPrecondition backup-on-idle — plus grader clauses they need and an --eval-ids flag on the runner for targeted subset runs. Verified against live cluster: JSON accepted as column type; JSONB and TEXT[] rejected with "datatype not supported"; ::jsonb cast + ->> / @> operators work as expected. node-postgres auto-serializes JS objects for both JSON and TEXT columns. All four new evals pass 11/11 expectations when run against the updated skill. Co-Authored-By: anwesham-lab <64298192+anwesham-lab@users.noreply.github.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Rounds 3-9 condensed audit summarySeven audit rounds after R1/R2. Each round ran the same fleet shape:
Total: 24+ agents per round.
Per-round diff of what actually changed, with emphasis on markdown/content edits. Intermediate findings that were later rewritten or obsoleted are folded into their final resolution. Round 3 — broad regex fleet + first code-review skill orchestration (Sonnet + Haiku)Markdown edits applied:
Runner edits: 6 regex issues converged across 5 agents — affirmative Dismissed: Round 4 — regression from R3's over-correction (Sonnet + Haiku)Markdown edits applied:
Runner edits: Grader-density cleanup, dead regex branches removed; 5 superpowers findings all rated "suggestion" with verdict "MERGE". Dismissed: Minor stylistic comment on DDL-restriction overstatement. Round 5 — silent-pass regression + live user regression (Sonnet + Haiku)Markdown edits applied:
Runner edits (material):
Dismissed: Round 6 — pivot from regex to LLM-as-judge (first all-Opus round)Convergence observation: Both Decision: Migrate evals 6-9 from regex to LLM-as-judge. Runner edits (material):
Markdown edits applied:
Cumulative scorer (full-history re-audit of all 19 findings from R1-R5): only 1 finding at ≥80 still open — Round 7 — judge-path hardening + README sync (all Opus)Runner edits:
Markdown edits: README eval-counts sync completed. Verdict: Round 8 — balanced-brace parser + judge/subject model split (all Opus)Runner edits:
Verdict: Round 9 — converged (all Opus)Markdown edits applied:
All 14 other R9 categories clean:
Recurring dismissals (across multiple rounds)
Convergence path
Final HEAD: |
|
can you please bump the version of the plugin in relevant sections ? Thanks ! |
Ships the DSQL skill updates from this branch: corrected type guidance (JSON supported, JSONB/arrays/INET runtime-only), cluster-lifecycle troubleshooting (INACTIVE wake, FailedPrecondition on IDLE/INACTIVE backup), and the expanded Tier 2 eval suite (evals 6-9) with LLM-judge grading and the --eval-ids/--judge-model runner flags. Co-Authored-By: anwesham-lab <64298192+anwesham-lab@users.noreply.github.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Bumped
Minor bump rather than patch since this ships new user-visible guidance (cluster-lifecycle troubleshooting, new type guidance for JSON/JSONB/arrays) and eval suite expansion, not just bug fixes. HEAD: |
@krokoko done |
Summary
databases-on-awsskill:JSONis a supported column type (1 MiB, auto-compressed);JSONB, arrays, andINETremain runtime-only. Quick-reference type lists are replaced with pointers to the canonical AWS supported data types doc plus anawsknowledgeverify row, so the skill does not drift as DSQL's type surface evolves.troubleshooting.mdunder a new Cluster Lifecycle section: theFATAL: unable to accept connection, waking up clustererror emitted when connecting to anINACTIVEcluster, and theFailedPreconditionreturned when backing up anIDLE/INACTIVEcluster. Links to the cluster lifecycle docs.JSON.stringify(...)wrapping indata-operations.mdexamples now thatmetadatais aJSONcolumn.--eval-idsto the runner so subsets can be run without executing the full suite.Test plan
us-west-2:CREATE TABLE ... (payload JSON)→ accepted;information_schemareportsdata_type = jsonCREATE TABLE ... (payload JSONB)→ rejected withERROR: datatype jsonb not supportedCREATE TABLE ... (tags TEXT[])→ rejected withERROR: datatype text[] not supportedpayload::jsonb->>'key',payload::jsonb @> '{...}'::jsonb,string_to_array(...)all succeedINACTIVEcluster returns the documented FATAL error on first connection and reachesACTIVEafter polling;IDLEcluster wakes transparentlyrun_functional_evals.py --eval-ids 6,7,8: 10 / 10 expectations pass (eval 6: JSON column storage 3/3; eval 7: array storage guidance 3/3; eval 8: INACTIVE-cluster wake flow 4/4)mise run buildpasses locally (lint, format, security scans green)Generated with Claude Code
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.