-
Notifications
You must be signed in to change notification settings - Fork 0
Requirements
- Prompt: A message to the agent originating from the user.
- Tasklet: A set of plan and build user prompts, together with the non-thinking replies from the LLM, that collectively result in a code change.
- User Checkpoint: A hidden commit saving the state of the codebase immediately before OpenCode changes, to enable accurate diffing of OpenCode changes.
Issue(s): #1
Captured data per prompt:
- User message
- Model response
- Model follow-up questions (if present)
Tags applied to each prompt:
prompt_idsession_id-
type:"plan"|"build" timestamp
Issue(s): #2
A tasklet:
- Begins with a Plan or Build prompt
- May contain multiple Plan prompts
- Ends with a Build prompt (code changes)
The system shall:
- Assign a shared
idto all prompts within the tasklet - Preserve prompt order within the session
Issue(s): #3
- Using events, detect when the agent has finished editing code
- For each set of changes, create a "user checkpoint" commit and an OpenCode commit
- The plugin commits shall not interfere with the user's workflow
- When the user creates a commit, if it contains any OpenCode changes, track the tasklets to the commit
If OpenCode modifies code that was previously generated and traced in a different session, both tasklets shall be traced.
Issue(s): #6 (Changed by #6 to use Git Blame Button instead)
- For each traced line range, render a gutter marker (similar to the Git diff gutter)
- Show the list of tasklets associated with that line range
- Each tasklet includes its prompts in order
Issue(s): #7
- In the expanded tasklet view, provide a count indicator (e.g. "3 tasklets")
Each prompt must show:
- User input
- Model response
- Model follow-up questions
- Type:
"plan"|"build" - Timestamp
Reason: Since aggregating tasklets by session does not guarantee contextual consistency, this requirement was dropped.
Users shall be able to:
- Switch between sessions
- View prompt history per session
Issue(s): #10
If a before-commit reference exists, the user shall be able to:
- View the previous version of the code
- Compare the previous version with the current version
- Prompt annotations shall not be visible by default
- Users shall be able to explicitly request the display of annotations for a given line range or session
- Developers who do not wish to engage with prompt metadata are not distracted, while those who want transparency can access it when needed
Reason: The project design in itself discounts this requirement.
- Prompt information shall be presented exclusively through gutter markers, side panels, or hover overlays
- Prompt information shall not be injected into the source code as comments or annotations
- The source file must remain unmodified by the extension's display layer
Reason: Time constraints, and redundant feature due to being able to copy-paste prompts from the tasklet menu
- For each AI-generated code change, the originating prompt shall be copyable
- Developers shall be able to re-run, refine, or resubmit a prompt without reconstructing it manually
Reason: Out of Scope due to time constraints.
- For each tasklet, the system shall produce a condensed summary of the prompts used during generation
- The summary shall emphasise the developer's intent, key decisions made, and the reasoning behind them
- The summary shall serve as a human-readable record of why the code was written the way it was, complementing low-level code comments that describe what the code does