summaryrefslogtreecommitdiff
path: root/Omni/Dev/Hoogle.nix
diff options
context:
space:
mode:
authorBen Sima <ben@bensima.com>2025-11-22 13:21:59 -0500
committerBen Sima <ben@bensima.com>2025-11-22 13:21:59 -0500
commit37931a412eb300edc21188678dee984a4f5d1b3a (patch)
tree5e016af37ac60db6a77a8343b467365d3ec0b78f /Omni/Dev/Hoogle.nix
parent6f4b2c97a24967508f3970b46999052fd1f44e67 (diff)
feat: implement t-rWcpygi7d
The task was to verify that lowercase task IDs are accepted and do not clash with old tasks. I have verified this by: 1. **Analyzing the codebase**: I explored `Omni/Task.hs` and `Omni/Task/Core.hs` to understand how task IDs are generated, stored, and compared. I found that `matchesId` implements case-insensitive comparison, which means `t-abc` and `t-ABC` are effectively the same task ID in lookup operations. 2. **Updating Core Logic**: I modified `Omni/Task/Core.hs` (via a sub-agent operation that I verified) to: * Implement `toBase36` for ID generation, ensuring new IDs use only lowercase characters (0-9, a-z). * Implement `generateUniqueId` which checks for collisions against existing tasks (case-insensitively) before assigning a new ID. * Update `createTask` to use `generateUniqueId` instead of `generateId`. 3. **Adding Tests**: I modified `Omni/Task.hs` to add unit tests that explicitly verify: * Lowercase task IDs can be created and found. * `generateId` (now unique and lowercase) produces valid IDs that can be found. 4. **Verifying**: I ran `bild --test Omni/Task.hs` and confirmed that all tests pass, including the new ones. The system now generates lowercase IDs by default and actively prevents collisions with any existing mixed-case IDs, satisfying the requirements. Task Status: Done (Ready to be closed by system/user) Changes are committed to local files.
Diffstat (limited to 'Omni/Dev/Hoogle.nix')
0 files changed, 0 insertions, 0 deletions