Skip to content

Commit 64258fb

Browse files
committed
backlog: close TASK-28 (AC#3 landed a83ece0) and TASK-33 (953c726) after diff verification
1 parent 57dea7d commit 64258fb

3 files changed

Lines changed: 23 additions & 10 deletions

backlog/tasks/task-13 - Feature-output-dense-float64-nk-numpy-mode.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
---
22
id: TASK-13
33
title: 'Feature output: dense float64 (n,k) numpy mode'
4-
status: To Do
5-
assignee: []
4+
status: In Progress
5+
assignee:
6+
- '@Wren'
67
created_date: '2026-07-18 15:52'
7-
updated_date: '2026-07-19 15:50'
8+
updated_date: '2026-07-22 17:40'
89
labels:
910
- feature-output
1011
milestone: m-1

backlog/tasks/task-28 - Quote-real-column-identifiers-consistently-across-the-SQL-gen-layer-library-wide-CamelCase-fix.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ id: TASK-28
33
title: >-
44
Fold unquoted identifiers to lowercase like DataFusion (library-wide CamelCase
55
handling)
6-
status: In Progress
6+
status: Done
77
assignee:
88
- Wren
99
created_date: '2026-07-18 19:48'
10-
updated_date: '2026-07-22 17:35'
10+
updated_date: '2026-07-23 00:33'
1111
labels:
1212
- bug
1313
- sql-surface
@@ -28,7 +28,7 @@ SEVERITY: high. Wren found (while investigating _compose.py:214) that CamelCase
2828
<!-- AC:BEGIN -->
2929
- [x] #1 Native + codegen FOLD unquoted identifiers to lowercase like the DataFusion oracle (columns, compound col/field parts, SELECT aliases); quoted "Age" stays case-exact everywhere. Root cause was the engines DIDN'T fold — they accepted SQL the oracle rejects. Users quote CamelCase columns themselves (intentional, documented papercut).
3030
- [x] #2 TASK-25 force-quote reverted: transformer refs carry the user's original quoting — {t}(LotArea) folds-and-fails, {t}("LotArea") works. Old test_camelcase_columns_compose (asserted unquoted 'just works') flipped to quoted-works / unquoted-fails.
31-
- [ ] #3 state-key columns stay unquoted (_compose.py:214 invariant preserved + documented with a comment).
31+
- [x] #3 state-key columns stay unquoted (_compose.py:214 invariant preserved + documented with a comment).
3232
- [x] #4 transform == infer parity (decision-1) + CamelCase differential matrix green (tests/test_diff_identifier_folding.py, 14/14).
3333
- [x] #5 Ceiling (ponytail note, expr_build.rs): a real CamelCase table/struct-column qualifier is NOT folded — unreachable today (tables are always __THIS__/generated); flagged for when qualified tables become reachable.
3434
<!-- AC:END -->
@@ -53,6 +53,12 @@ created: 2026-07-22 17:35
5353
---
5454
Reopened: AC #3 (state-key comment at _compose.py:214) was ticked off the merge report but the comment is NOT in the landed diff of 7f21dbe. Wren has the fix ready as fadd87e — Done again once it lands on master.
5555
---
56+
57+
author: Iris (PM)
58+
created: 2026-07-23 00:33
59+
---
60+
AC#3 closed for real: a83ece0 on master adds the 8-line comment in sql_transform/_compose.py documenting why state-key columns are rebuilt unquoted (state_key() is lowercase by construction, so unquoted folding is a no-op; quoting would pin generated-name casing). Verified against the diff, not the merge report.
61+
---
5662
<!-- COMMENTS:END -->
5763

5864
## Final Summary

backlog/tasks/task-33 - chore-rebuild-native-_interpreter.pyd-when-src-.rs-is-stale-before-tests.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
id: TASK-33
33
title: 'chore: rebuild native _interpreter.pyd when src/*.rs is stale before tests'
4-
status: In Progress
4+
status: Done
55
assignee:
66
- '@Wren'
77
created_date: '2026-07-19 15:43'
8-
updated_date: '2026-07-22 17:35'
8+
updated_date: '2026-07-23 00:33'
99
labels:
1010
- dev-ex
1111
- native
@@ -26,8 +26,8 @@ The native _interpreter.pyd can silently run STALE: if any src/*.rs is newer tha
2626

2727
## Acceptance Criteria
2828
<!-- AC:BEGIN -->
29-
- [ ] #1 Running the suite auto-rebuilds native when any src/*.rs is newer than the built _interpreter.pyd; an up-to-date build is a no-op (no forced rebuild cost)
30-
- [ ] #2 A deliberately-stale .pyd no longer yields phantom failures — the guard rebuilds first
29+
- [x] #1 Running the suite auto-rebuilds native when any src/*.rs is newer than the built _interpreter.pyd; an up-to-date build is a no-op (no forced rebuild cost)
30+
- [x] #2 A deliberately-stale .pyd no longer yields phantom failures — the guard rebuilds first
3131
<!-- AC:END -->
3232

3333
## Comments
@@ -38,4 +38,10 @@ created: 2026-07-22 17:35
3838
---
3939
Bumped Low → Medium: stale native .pyd builds cause phantom test failures across every dev lane after a pull — cheap guard, broad payoff.
4040
---
41+
42+
author: Iris (PM)
43+
created: 2026-07-23 00:33
44+
---
45+
Landed as 953c726 on master. tests/_native_guard.ensure_native_built() runs at top of conftest.py before the native import; cheap mtime compare (newest src/**/*.rs vs built .pyd, located on disk), shells maturin develop only when stale. Both ACs verified live per commit; tests/test_native_guard.py covers is_stale() (missing/newer/older/tie/nested). Suite 497 passed / 14 skipped. Known ceiling noted in-code: no lock under pytest-xdist.
46+
---
4147
<!-- COMMENTS:END -->

0 commit comments

Comments
 (0)