Bug: task edit --namespace "" coerces to '.hs' instead of clearing namespace

t-590·WorkTask·
·
·
Created1 week ago·Updated1 week ago

Dependencies

Description

Edit

Attempting to clear a task namespace with 'task edit <id> --namespace --json' sets taskNamespace to '.hs' instead of empty/null. Repro on t-587.3: namespace Omni/Ide.hs -> edit --namespace '' -> taskNamespace became '.hs'. Expected behavior is clear namespace (empty/null) or explicit validation error.

Timeline (16)

🔄[human]Open → InProgress1 week ago
💬[human]1 week ago

Implemented fix in commit cad32d1d: task edit now treats empty --namespace as explicit clear (null) instead of coercing to .hs; non-empty namespace behavior unchanged. Repro verified with temp task: namespace set -> edit --namespace '' -> namespace becomes null.

🔄[human]InProgress → Review1 week ago
🔄[system]Review → ReviewInProgress1 week ago
💬[human]1 week ago

Review complete. The fix correctly uses the Maybe (Maybe Text) pattern to distinguish 'flag not provided' (Nothing → keep existing) from 'flag provided as empty' (Just Nothing → clear namespace) from 'flag provided with value' (Just (Just nsPath) → set). The old code passed empty string to Namespace.fromHaskellModule which produced '.hs'. The fix checks for empty/whitespace-only input before calling fromHaskellModule. Help text updated. Minimal, focused change. Build tool unavailable in sandbox but type analysis confirms correctness.

🔄[human]ReviewInProgress → Approved1 week ago
💬[human]1 week ago

Automation (review) run review-t-590-20260211-215845 cost_cents=0 cumulative_cost_cents=0.

🔄[system]Approved → Integrating1 week ago
💬[human]1 week ago

Integrated into live as commit a4d7cffe84aa43c5e9dea37d4e5c1e8c741d4cea. Build verification skipped (tools unavailable in integration workspace).

🔄[human]Integrating → Done1 week ago
💬[human]1 week ago

Automation (integrator) run integrator-t-590-20260211-220709 cost_cents=0 cumulative_cost_cents=0.