Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Harden taskflow: persistence, consistent error handling, and input validation

Open
#4 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
python

Research direction

Start with docs/architecture.md, README.md, and the existing TaskStore, API, CLI, and happy-path tests to map the current boundaries. Decide the persistence approach and one error contract before implementation. Done means restart-safe tasks, validated titles and ids, consistent behavior across store/API/CLI, expanded tests, and updated documentation.

Written by the indexing model from the issue text.

Description

taskflow currently works in-memory only and behaves inconsistently at its boundaries. docs/architecture.md documents the known gaps. We want to close them properly rather than patching symptoms.

Goals

  1. Persistence — TaskStore is memory-only, so every restart loses all tasks. Add a durable backing store behind the existing TaskStore interface so the API and CLI are unaffected.
  2. Consistent error semantics — get raises TaskNotFound but delete silently succeeds on a missing id, and complete does not catch TaskNotFound at all, so it surfaces an unhandled exception through the API. Pick one contract and apply it uniformly across store, API, and CLI.
  3. Input validation — there is no validation on task titles or ids. Empty titles are accepted and arbitrary id strings are trusted on lookup.
  4. Test coverage — the current tests cover the happy paths only. The gaps above are untested.
  5. Docs — README.md and docs/architecture.md describe the current limitations and will be wrong once the above lands.

Constraints

  • Keep the public TaskStore API stable where practical; call out any unavoidable break.
  • The CLI must keep working end to end.

Please plan this properly before any implementation.

Dominant language
Python
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from bradygaster/squad-e4-validation

All issues in bradygaster/squad-e4-validation

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.