dcdpr / dcdpr/jp

Feature: Interactive Checklists for Task Management and Workflows

Open
#303 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
16
Forks
3
Avg merge
1d 1h
Merged PRs (30d)
121

Description

This enhancement proposes the introduction of an interactive checklist feature within JP. This would allow users and the AI to create, manage, and track tasks, ensuring that multi-step processes are followed correctly. This feature could be a standalone utility or a core component of a larger "workflow" or "pipeline" engine.

Context

The core idea is to have a system for managing stateful task lists. Key features would include:

  • Task Management: Creating checklists and adding tasks to them.
  • State Tracking: Marking checklist items as completed, in-progress, or incomplete.
  • Scoping: Defining the lifecycle and visibility of a checklist (e.g., for a single turn, an entire conversation, or globally).
  • Hooks & Gates: Using the state of a checklist to control the execution of tools or other actions. For example, preventing a git commit if the "tests passed" checklist item is not marked as complete.
  • Triggers: Defining actions to be performed when a checklist or a specific item reaches a certain state (e.g., when all items are completed).

A major part of this proposal is its potential integration into a future "workflow" engine. In this scenario, checklists would act as a state-passing mechanism between different nodes in a processing pipeline.

Alternatives

A simpler, initial implementation could focus only on the core checklist functionality as a user-facing tool, without the complex workflow integration. The workflow engine could be a separate, future enhancement that builds upon the basic checklist feature.

Proposed Implementation

One possible implementation could leverage a pipeline architecture, potentially using something like VRL (Vector Remap Language) for logic and verification. Here's a conceptual flow:

  1. A pipeline is initiated, and a named checklist is created at the start.
  2. The pipeline progresses through various nodes. Some nodes are LLM-powered, tasked with completing a specific job and then marking the corresponding item in the checklist.
  3. A subsequent "verification" node could use VRL to inspect the named checklist and confirm that all items are marked as "completed".
  4. If items are incomplete, the pipeline could loop back to the LLM node, re-prompting it to complete the task. This loop could have a maximum number of retries.
  5. To ensure integrity, checklists could be designed to be immutable. Nodes could verify the state of an item (e.g., code_quality.tests_passing) and then trigger an external tool (e.g., run the test suite). If the tool fails, the node could "uncheck" the item, preventing the workflow from proceeding on a false assumption.

This is just a high-level concept, and the final design should be open to discussion and refinement. The goal is to create a flexible and powerful system for managing complex, multi-step tasks within JP.

Tasks

  • Design the data structure for checklists and their items.
  • Implement the basic API for creating and modifying checklists.
  • Define and implement the scoping rules (turn, conversation, global).
  • Brainstorm and design the hook/gate mechanism for tools.
  • Draft a more detailed proposal for the workflow engine integration.

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

No files, tests, or entry points are named. Start by reviewing the repository's CLI workflow structure and deciding whether the initial scope is a standalone checklist utility or workflow-engine integration. Done should be defined by an agreed data model, API, scoping rules, and hook or gate behavior before implementation begins.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
ai, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.