Skip to content

docs(parity): consolidate parity.md — DynamoDB deep dive + full popular-service audit#2380

Merged
agbishop merged 7 commits into
mainfrom
claude/localstack-ddb-parity-vu9vj0
Jun 29, 2026
Merged

docs(parity): consolidate parity.md — DynamoDB deep dive + full popular-service audit#2380
agbishop merged 7 commits into
mainfrom
claude/localstack-ddb-parity-vu9vj0

Conversation

@agbishop

@agbishop agbishop commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

Consolidates the three parity docs into a single parity.md and re-audits the DynamoDB family plus the popular and tier-2 LocalStack-core services (~50 services) against four axes — AWS-emulation parity, performance, resource leaks, and console coverage. Every remaining bullet is a concrete, code-cited (file:line) gap; each service has a compact _Recently closed_ line preserving history.

This PR changes documentation only (parity.md, plus deletion of the two stale PARITY*.md docs).

Findings were produced by reading current Go sources and the Svelte console directly (one verification agent per service area), seeded with the prior full-fleet audit so this pass reports current state (fixed vs. still-present), not stale claims.

Coverage

  • DynamoDB family (deep dive): dynamodb, dynamodbstreams, dax.
  • Popular tier: s3, lambda, ec2, ecr, ecs, sqs, sns, eventbridge, kinesis, firehose, iam, sts, kms, secretsmanager, stepfunctions, apigateway (v1/v2), ssm, cloudformation, cloudwatch, cloudwatchlogs, route53, elasticache, opensearch.
  • Extended tier: ses, sesv2, cognitoidp, cognitoidentity, rds, rdsdata, redshift, redshiftdata, neptune, docdb, timestreamwrite, timestreamquery, glue, athena, emr, lakeformation, sagemaker, sagemakerruntime, appsync, cloudfront, acm, route53resolver, cloudtrail, config, organizations, ram, resourcegroupstaggingapi, resourcegroups, cloudcontrol, batch, eks, elasticbeanstalk, efs, transfer, backup, mq, apigatewaymanagementapi, scheduler, pipes, kafka, servicediscovery, swf, xray, codebuild, codecommit, codepipeline, codedeploy. (qldb noted as an intentional removal.)

Highest-leverage remaining themes

  • Synchronous lifecycles — most clusters/jobs/deployments jump straight to a terminal state with no CREATING/IN_PROGRESS/PENDING transition (eks, emr, batch, elasticache, opensearch, neptune, docdb, kafka, codedeploy, codepipeline, servicediscovery), so SDK waiters never observe intermediate states.
  • Query/exec engines return synthetic or empty results — athena non-SELECT, timestreamquery, redshiftdata, cloudtrail Lake, config evaluation, appsync nested selection sets.
  • Async failure paths drop instead of routing — lambda (DLQ/destinations), sns (HTTP retry), firehose (transform/delivery failures lose records).
  • Non-opaque pagination tokens across several services (raw index/ARN); *NotFoundException mapped to HTTP 400 across the code* suite and some data services.
  • A handful of real leaks — glue reconciler goroutine (Close never called), codedeploy has no janitor, iam policyVersionCounters, stepfunctions mapRuns, sns delivery slices, ecs Reconciler.sems, xray insight maps.
  • Console trails backend on advanced ops in many services (transactions/restore, RunTask/ExecuteCommand, kafka has no route, etc.).

Testing

Docs-only change — no code paths touched.

🤖 Generated with Claude Code

claude added 2 commits June 29, 2026 03:37
Consolidate the three parity docs into a single parity.md. Re-audit the
DynamoDB family (dynamodb, dynamodbstreams, dax) against AWS-emulation
parity, performance, resource leaks, and console coverage; record only the
remaining code-cited gaps plus a "recently closed" history section.

Remove the stale PARITY.md and PARITY_SWEEP.md so parity.md is the single
source of truth.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P6g2HLj2ythLnH2rPxqEhZ
Extend the single parity.md beyond the DynamoDB family with a code-cited
remaining-gaps audit of the most-used LocalStack-core services: S3, Lambda,
SQS, SNS, IAM, STS, KMS, Secrets Manager, SSM, CloudFormation, CloudWatch,
CloudWatch Logs, EventBridge, Kinesis, Firehose, API Gateway v1/v2, EC2,
ECR, ECS, Route 53, Step Functions, ElastiCache, and OpenSearch.

Each service verified against current code (fixed vs still-present) across
parity, performance, resource leaks, and console coverage, with a compact
recently-closed line recording landed fixes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P6g2HLj2ythLnH2rPxqEhZ
@agbishop agbishop changed the title docs(parity): rewrite parity.md as focused DynamoDB deep-dive docs(parity): consolidate parity.md — DynamoDB + popular-services deep dive Jun 29, 2026
Extend the audit to the tier-2 LocalStack-core services: SES/SESv2, Cognito
(idp + identity), RDS/RDS-Data, Redshift/Redshift-Data, Neptune, DocDB,
Timestream (write + query), Glue, Athena, EMR, Lake Formation, SageMaker
(+ runtime), AppSync, CloudFront, ACM, Route 53 Resolver, CloudTrail, Config,
Organizations, RAM, Resource Groups (+ tagging API), Cloud Control, Batch,
EKS, Elastic Beanstalk, EFS, Transfer, Backup, MQ, API Gateway Management,
EventBridge Scheduler, Pipes, MSK/Kafka, Cloud Map, SWF, X-Ray, and the
CodeBuild/CodeCommit/CodePipeline/CodeDeploy suite.

Each verified against current code across parity, performance, resource
leaks, and console coverage, with recently-closed lines recording fixes.
QLDB documented as an intentional removal (AWS end-of-support).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P6g2HLj2ythLnH2rPxqEhZ
@agbishop agbishop changed the title docs(parity): consolidate parity.md — DynamoDB + popular-services deep dive docs(parity): consolidate parity.md — DynamoDB deep dive + full popular-service audit Jun 29, 2026
@agbishop

agbishop commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator Author

📊 Code Coverage Report

Metric Value Status
Total Coverage 0.0%
82.5%
New Code Coverage N/A (0/0 stmts)

Tip

This project maintains a minimum coverage threshold of 85%. Maintain or improve coverage on new code to ensure long-term stability.


Last updated: Mon, 29 Jun 2026 14:00:16 GMT

claude added 4 commits June 29, 2026 12:40
Replace the compact S3 entry with a DynamoDB-style deep dive across the
data-plane wire protocol, bucket subresources, performance, leaks, and UI.
Headline parity gaps: access control (bucket policy/ACL/PAB/ownership) and
default bucket encryption are stored but never enforced on the data plane;
no SigV4 header-auth verification and no aws-chunked/streaming body decode;
single-range GET only; response-content-* override params ignored; Object
Lock GOVERNANCE bypass and bucket default-retention unimplemented.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P6g2HLj2ythLnH2rPxqEhZ
Replace the compact popular-tier entries (lambda, ec2, ecr, ecs, sqs, sns,
eventbridge, kinesis, firehose, iam, sts, kms, secretsmanager, stepfunctions,
apigateway v1/v2, ssm, cloudformation, cloudwatch, cloudwatchlogs, route53,
elasticache, opensearch) with exhaustive per-operation deep dives verified
against current code — matching the depth of the DynamoDB and S3 sections.

Surfaces concrete remaining gaps toward 100% parity: Lambda ESM FilterCriteria
and Kafka/MSK/DocDB/MQ sources never poll, Function URL AuthType unenforced;
EC2 Restore never rebuilds secondary indexes; IAM policy simulator silently
mis-evaluates Date*/Numeric*/set condition operators; STS AssumeRole succeeds
for non-existent roles and web-identity JWTs unvalidated; CloudFormation drift
compares template-vs-template not live state and change sets omit Remove;
ECS tasks never self-stop on container exit; ECR lifecycle policies never
expire images; CloudWatch GetMetricData unpaginated and extended stats dropped;
Logs Insights engine and filter patterns minimal; API Gateway has no usage-plan
quota/throttle enforcement; elasticache/opensearch lifecycles resolve instantly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P6g2HLj2ythLnH2rPxqEhZ
Add a "Cross-service integration" section verifying the audited services
interoperate end-to-end the way AWS does — tracing each producer → transport
→ consumer path in code (S3/SNS events, EventBridge/Pipes/Scheduler targets,
stream consumers, API Gateway/Step Functions integrations, CloudFormation
provisioning, governance/observability, and systemic region/ARN/auth).

Key finding: cross-service calls are wired via explicit Set*Invoker/
Set*Integration adapters in cli.go, and many hookups are missing — so the
integration code exists but the dependency is nil and the call silently
no-ops. Broken paths include SNS->Lambda/Firehose, EventBridge->Kinesis/
Firehose/StepFunctions/ECS/Logs/API-destination, Scheduler->EventBus/Kinesis/
ECS, Pipes non-SQS sources+targets, Lambda ESM for Kafka/MSK/DocDB/MQ, ESM
FilterCriteria, Lambda async DLQ/destinations, API Gateway AWS service
integrations, Step Functions->ECS/Glue/EventBridge, CloudTrail/Config capture,
Backup recovery points, Cognito->Lambda triggers, RAM sharing, Cloud Control
(disjoint state), and KMS use by S3/DynamoDB/Secrets Manager. CloudFormation
correctly provisions ~60 real resource types in the shared backends.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P6g2HLj2ythLnH2rPxqEhZ
Distill the popular-tier deep dives and the cross-service audit into an
ordered, actionable checklist to reach 100% parity: P0 cheap cli.go
cross-service wiring hookups (highest leverage), P1 cross-service behavior,
P2 per-service correctness must-fixes, P3 lifecycle realism, P4 console
coverage. Remains documentation-only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P6g2HLj2ythLnH2rPxqEhZ
@agbishop agbishop marked this pull request as ready for review June 29, 2026 16:53
@agbishop agbishop merged commit 868c8ab into main Jun 29, 2026
25 checks passed
@agbishop agbishop deleted the claude/localstack-ddb-parity-vu9vj0 branch June 29, 2026 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants