Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apple/_version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.10.14"
__version__ = "0.10.15"
2 changes: 1 addition & 1 deletion fixtures/benchmarks/large_0100_config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall_a": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/benchmarks/large_0500_config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall_a": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/benchmarks/large_1000_config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall_a": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/benchmarks/large_5000_config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall_a": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/benchmarks/medium_0100_config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall_a": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/benchmarks/medium_0500_config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall_a": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/benchmarks/medium_1000_config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall_a": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"_PINEAPPLE_CREATE_TIME": "2026-05-28T11:31:47Z",
"pipeline_config": {
"operators": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"_PINEAPPLE_CREATE_TIME": "2026-05-28T11:31:47Z",
"pipeline_config": {
"operators": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"_PINEAPPLE_CREATE_TIME": "2026-05-28T11:31:47Z",
"pipeline_config": {
"operators": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/benchmarks/realistic_for_you_config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"_PINEAPPLE_CREATE_TIME": "2026-05-28T11:31:47Z",
"pipeline_config": {
"operators": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/benchmarks/realistic_for_you_latency_config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"_PINEAPPLE_CREATE_TIME": "2026-05-28T11:31:47Z",
"pipeline_config": {
"operators": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/benchmarks/small_010_config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/benchmarks/small_050_config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/benchmarks/small_100_config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall": {
Expand Down
85 changes: 85 additions & 0 deletions fixtures/operators/transform_by_lua_edge_cases.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"operator": "transform_by_lua",
"_comment": "Numeric-string cases (#175) here pin VALUE-level parity only: the Go/Java operator-fixture comparators stringify non-float values, so a pure type drift ('42' string vs 42 number) is invisible to them. Type identity is pinned by TransformByLuaTypeIdentityTest (assertInstanceOf) and by fixtures/pipelines/lua_string_number_identity.json via cross-validate's type-preserving JSON comparison.",
"cases": [
{
"name": "float precision: 0.1 + 0.2",
Expand Down Expand Up @@ -85,6 +86,90 @@
"items": [{"y": 42}]
}
},
{
"name": "numeric string stays a string: 19-digit ID above 2^53 (issue #175)",
"params": {
"lua_script": "function big_id()\n return \"1777288596209286259\"\nend",
"function_for_item": "big_id",
"function_for_common": ""
},
"metadata": {
"common_input": [],
"common_output": [],
"item_input": ["x"],
"item_output": ["y"]
},
"input": {
"common": {},
"items": [{"x": 1}]
},
"expected": {
"items": [{"y": "1777288596209286259"}]
}
},
{
"name": "numeric string stays a string: 2^53+1 boundary (issue #175)",
"params": {
"lua_script": "function boundary_id()\n return \"9007199254740993\"\nend",
"function_for_item": "boundary_id",
"function_for_common": ""
},
"metadata": {
"common_input": [],
"common_output": [],
"item_input": ["x"],
"item_output": ["y"]
},
"input": {
"common": {},
"items": [{"x": 1}]
},
"expected": {
"items": [{"y": "9007199254740993"}]
}
},
{
"name": "numeric string stays a string: leading zeros preserved (issue #175)",
"params": {
"lua_script": "function padded_id()\n return \"007\"\nend",
"function_for_item": "padded_id",
"function_for_common": ""
},
"metadata": {
"common_input": [],
"common_output": [],
"item_input": ["x"],
"item_output": ["y"]
},
"input": {
"common": {},
"items": [{"x": 1}]
},
"expected": {
"items": [{"y": "007"}]
}
},
{
"name": "table of numeric strings survives byte-exact (issue #175)",
"params": {
"lua_script": "function id_table()\n return {\"1777288596209286259\", \"9007199254740993\", \"007\"}\nend",
"function_for_item": "id_table",
"function_for_common": ""
},
"metadata": {
"common_input": [],
"common_output": [],
"item_input": ["x"],
"item_output": ["y"]
},
"input": {
"common": {},
"items": [{"x": 1}]
},
"expected": {
"items": [{"y": ["1777288596209286259", "9007199254740993", "007"]}]
}
},
{
"name": "number to string via concatenation",
"params": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/pipelines/barrier_transform_reorder.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "barrier semantics (transform before reorder)",
"config": {
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"normalize_score": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/pipelines/bench_cpu_work_parity.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "transform_bench_cpu byte-identical work output across runtimes (M12)",
"config": {
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"bench": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/pipelines/control_op_nil_field_no_crash.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "control operator nil field does not crash — branch skipped",
"config": {
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"ctrl_if": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/pipelines/data_parallel.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "data_parallel transform (sharded item execution)",
"config": {
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"copy_tag": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/pipelines/data_parallel_lua.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "data_parallel Lua transform (verify shard-independent computation)",
"config": {
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall_items": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/pipelines/deeply_nested_subflow.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "deeply nested SubFlow (depth-3 expansion)",
"config": {
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"copy_tag": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/pipelines/field_mode_nullable_vs_defaulted.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "three field modes — strict vs nullable vs defaulted",
"config": {
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"write_nil": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/pipelines/field_mode_strict_nil_error.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "strict field mode — nil triggers error",
"config": {
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"write_nil": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/pipelines/filter_removes_all.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "filter_condition removes all items — empty result",
"config": {
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"remove_banned": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "implicit row-set: filter → common-only → item-field transform",
"config": {
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall_items": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "implicit row-set: filter then common-only transform (no dependency needed)",
"config": {
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall_items": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/pipelines/implicit_row_set_filter_then_item.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "implicit row-set: filter then item-field transform (no field overlap)",
"config": {
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall_items": {
Expand Down
2 changes: 1 addition & 1 deletion fixtures/pipelines/lua_e2e_conditional_sort.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Lua E2E: recall → discount → stats → conditional sort",
"config": {
"_PINEAPPLE_VERSION": "0.10.14",
"_PINEAPPLE_VERSION": "0.10.15",
"pipeline_config": {
"operators": {
"recall_items": {
Expand Down
Loading