…e null (#823)
LLP 0032 #capture compresses the absent-column contract into 'padding
absent physical columns to null'. True of the scanColumn column-stream
path (withSchemaColumns rewrites undefined holes to null, pinned at
test/core/ai-gateway-dataset.test.js:323); false of the row path, which
post-LLP-0241 pads with a cell resolving to undefined. 0032 is Active,
so the correction is a new extending doc plus a forward-ref on 0032's
header, and the null/undefined split itself stays an open question
(LLP 0241's explicit non-decision, issue #823 item 5).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Closes deferred item 1 of #823:
llp/0032-github-llm-graph-bridge.decision.md:104-106says the gateway data source exposes its declared schema columns "(padding absent physical columns to null)". Verified against the tree, that is one pad value where the code has two:null.withSchemaColumnsinhypaware-core/plugins-workspace/ai-gateway/src/dataset.jsrewritesundefinedchunk holes tonullin itsscanColumnwrapper, pinned bytest/core/ai-gateway-dataset.test.js:323("absent column streams null, not undefined").undefined. Post LLP 0241 §alignment,absentCellinsrc/core/query/union-source.jspads a declared-but-absent column with a cell resolving toundefined, and theresolvedmap is left alone. Pinned bytest/core/star-expansion-drifted-union.test.jsandtest/core/union-source.test.js.LLP 0032 is
Status: Active, so per repo convention this is not an in-place rewrite. The PR:llp/0261-absent-column-pad-value-per-path.decision.md) recording what 0032's sentence compresses, what each path does with code and test evidence, and that thenull/undefinedsplit remains an open question (LLP 0241's explicit non-decision; Follow-up: deferred review findings from PR #821 #823 item 5). It deliberately settles nothing about the split.**Extended-by:** LLP 0261 (...)forward-ref to 0032's metadata header, an explicitly permitted mechanical edit; nothing else in 0032 changes.Number 0261 was verified unclaimed across every remote branch; 0260 is deliberately left free for the unresolved LLP 0245 duplicate claim between #815 and #818.
Why the other four deferred items of #823 are not closable here
#740correction-note hedge): the hedged wording ("when it was written") exists only on PR Union absent-column tests pin the pre-LLP-0241 contract, so master is red (#820) #821's unmerged branch;master's 0015 still carries the original flat note, so there is nothing reachable frommasterto tighten.fix/issue-778needs a post-0241 rebase read): advisory to whoever lands PR Pin the icebird absent-column contract at the SQL surface (#778) #787/Follow-up: document the icebird-backed absent-column contract deferred from PR #740 #778, not a change to this tree.null/undefinedsplit betweenscanColumnand the row path): an open design question LLP 0241 explicitly declined to settle; settling it needs its own deliberate LLP. LLP 0261 names it as open and settles nothing.Verification
origin/master(4adfdb7): 4253 pass / 4 fail / 1 skipped; the 4 failures are the expected master is red: four union-source absent-column tests fail, blocking every open PR #820 union-source absent-column tests (fix held on PR Union absent-column tests pin the pre-LLP-0241 contract, so master is red (#820) #821).npm run typecheck: clean.test/core/llp-ref-hygiene.test.js: 11/11 pass.0032#capture,0241#alignment, 0241's non-decision heading,0015Multi-partition union).Do not merge item 5 semantics from this doc into code; it is doc-only with no runtime effect.
🤖 Generated with Claude Code
Fixes #823