Skip to content

Dynoxide

0.9.13 8 recorded runs

95.5%
correct, across 670 of 684 operations · 14 unsupported
Tier 1 94.8%
Tier 2 94.5%
Tier 3 97.2%

Fully supports

Operation areas this target implements completely — every test passes, nothing skipped. Areas it only partly implements, or gets wrong, are in “Where it falls short” below.

  • batchGetItem tier 1
  • deleteTable tier 1
  • describeTable tier 1
  • getItem tier 1
  • listTables tier 1
  • streams tier 2
  • tags tier 2
  • ttl tier 2
  • updateTable tier 2
  • legacy-api tier 3
  • limits tier 3

Conformance over time

90% 95% 100% 100.0% 23 Mar 100.0% 24 Apr 99.0% 25 Apr 100.0% 27 Apr 100.0% 23 May 97.9% 24 May 96.2% 25 May 95.5% 26 May

Where it falls short

Operation groups with gaps in the latest run, biggest first. Unsupported means the target doesn't implement that feature at all, often by design. Open one for the exact tests, or see the conformance suite.

  • backups Tier 2 unsupported
    View these tests in the suite →
    • Continuous backups — PITR reports PITR DISABLED by default
    • Continuous backups — PITR enabling PITR transitions PointInTimeRecoveryStatus to ENABLED
    • On-demand backups — lifecycle and restore CreateBackup → DescribeBackup → ListBackups → DeleteBackup
    • On-demand backups — lifecycle and restore RestoreTableFromBackup initiates a restore into a new table
    • On-demand backups — lifecycle and restore DescribeBackup on a deleted backup throws BackupNotFoundException
  • error-messages Tier 3 5 failing
    View these tests in the suite →
    • PutItem — exact error messages redundant parentheses in ConditionExpression: full error string
    • PutItem — exact error messages contains() with duplicate path and operand: full distinct-operand error
    • Query — exact error messages redundant parentheses in KeyConditionExpression: full error string
    • Scan — exact error messages begins_with with non-string operand: full operand-type error
    • Scan — exact error messages redundant parentheses in FilterExpression: full error string
  • updateItem Tier 1 4 failing
    View these tests in the suite →
    • UpdateItem — SET evaluation semantics a second SET clause reads the pre-update value of another attribute
    • UpdateItem — SET evaluation semantics applies parenthesised arithmetic (SET c = (c - :v))
    • UpdateItem — ReturnValues granularity UPDATED_NEW on a nested SET returns only the changed fragment
    • UpdateItem — ReturnValues granularity REMOVE with UPDATED_NEW omits Attributes (nothing was set to a new value)
  • transactions Tier 2 4 failing
    View these tests in the suite →
    • TransactGetItems — ConsumedCapacity charges 2 read capacity units per item, including a missing item
    • TransactGetItems — ConsumedCapacity INDEXES breakdown includes the table read capacity units
    • TransactGetItems — projection matching nothing omits Item when the projection matches no attribute on a present item
    • TransactWriteItems — ConsumedCapacity charges 2 write capacity units per item
  • scan Tier 1 3 failing
    View these tests in the suite →
    • Scan — filter expression validation rejects begins_with with a non-string/binary operand
    • Scan — filter expression validation rejects redundant parentheses in FilterExpression
    • Scan — GSI pagination across tied sort keys walks every item once across a paged GSI scan with tied sort keys
  • updateTable Tier 1 3 failing
    View these tests in the suite →
    • UpdateTable — configuration parameters UpdateTable changes TableClass
    • UpdateTable — configuration parameters UpdateTable changes OnDemandThroughput
    • DeleteTable — deletion protection enforcement rejects DeleteTable while deletion protection is enabled
  • createTable Tier 1 2 failing
    View these tests in the suite →
    • CreateTable — configuration parameters SSESpecification with the AWS-managed key round-trips
    • CreateTable — configuration parameters OnDemandThroughput round-trips on a PAY_PER_REQUEST table
  • putItem Tier 1 2 failing
    View these tests in the suite →
    • PutItem — ConditionExpression parens rejects redundant parentheses in ConditionExpression
    • PutItem — ConditionExpression parens rejects contains() with a duplicate path and operand
  • query Tier 1 2 failing
    View these tests in the suite →
    • Query — size() string encoding counts UTF-16 code units (3), not UTF-8 bytes (6)
    • Query — KeyConditionExpression with parentheses rejects redundant parentheses in KeyConditionExpression
  • account Tier 2 unsupported
    View these tests in the suite →
    • Account reads — DescribeLimits, DescribeEndpoints DescribeLimits returns positive account and table capacity limits
    • Account reads — DescribeLimits, DescribeEndpoints DescribeEndpoints returns at least one endpoint with an address
  • contributorInsights Tier 2 unsupported
    View these tests in the suite →
    • Contributor insights — enable/describe/list reports DISABLED by default
    • Contributor insights — enable/describe/list enabling transitions the status and lists the table
  • export Tier 2 unsupported
    View these tests in the suite →
    • Export and import — S3 ExportTableToPointInTime initiates an export and reports it
    • Export and import — S3 ImportTable ingests S3 data into a new table
  • partiql Tier 2 2 failing
    View these tests in the suite →
    • ExecuteStatement — PartiQL returns a populated ConsumedCapacity block when requested
    • ExecuteStatement — PartiQL evaluates negated predicates (NOT begins_with, IS NOT MISSING)
  • resourcePolicy Tier 2 unsupported
    View these tests in the suite →
    • Resource policies — Put/Get/Delete GetResourcePolicy on a table with no policy throws PolicyNotFoundException
    • Resource policies — Put/Get/Delete Put then Get round-trips the policy, and Delete removes it
  • batchWriteItem Tier 1 1 failing
    View these tests in the suite →
    • BatchWriteItem — validation rejects a key-less item with a 400 ValidationException, not a 500
  • deleteItem Tier 1 1 failing
    View these tests in the suite →
    • DeleteItem — ConditionExpression parens rejects redundant parentheses in ConditionExpression
  • kinesis Tier 2 unsupported
    View these tests in the suite →
    • Kinesis streaming destination enables a streaming destination and reports it via Describe
  • validation-ordering Tier 3 1 failing
    View these tests in the suite →
    • Scan — validation ordering rejects a negative Segment

Run history

Run Total Movement

Suite on

Grew to 684 tests with a control-plane and table-configuration sweep: the CreateTable/UpdateTable config parameters and the secondary control-plane operations (limits, backups and PITR, exports and imports, Kinesis, resource policies, contributor insights), each characterised against real AWS and probe-skipped where a target doesn't implement it.

The published percentage changed with it. It now measures correctness over implemented operations, Pass / (Pass + Fail), so skips no longer count against the score. A skip is honest scope; a fail is a bug.

95.5% -0.7pp fell 0.7 percentage points
96.2% -1.7pp fell 1.7 percentage points

Suite on

Grew to 625 tests, up 24 on the previous run: eleven more in Tier 1 and thirteen more in Tier 3, tightening coverage of core operations and the strict edge cases.

97.9% -2.1pp fell 2.1 percentage points

Suite on

ExtendDB joined the run as a target. The suite itself held steady at 601 tests.

100.0% 0.0pp unchanged

Suite on

Grew to 601 tests, up 29, and every new test landed in Tier 3: a broader strict surface spanning validation ordering, exact error messages, service limits, and the legacy request shapes. Floci and Ministack were added to the run as targets the same day.

100.0% +1.0pp rose 1.0 percentage points
99.0% -1.0pp fell 1.0 percentage points

Suite on

Grew to 572 tests, up 46 on the first run: thirty-six more in Tier 1 and ten more in Tier 2, deepening coverage of the core and complete-feature behaviour.

100.0% 0.0pp unchanged

Suite on

The suite was established with 526 tests across the three tiers (267 Tier 1, 93 Tier 2, 166 Tier 3), run against Dynalite, DynamoDB Local, Dynoxide, and LocalStack, with live AWS DynamoDB as the baseline.

100.0% first run