mirror of
https://github.com/openai/codex.git
synced 2026-04-24 06:35:50 +00:00
wip
This commit is contained in:
37
agentydragon/WORKFLOW.md
Normal file
37
agentydragon/WORKFLOW.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Agent Handoff Workflow
|
||||
|
||||
This document explains the multi-agent handoff pattern used for task development and commits
|
||||
in the `agentydragon` workspace. It consolidates shared guidance so individual agent prompts
|
||||
do not need to repeat these details.
|
||||
|
||||
## 1. Developer Agent
|
||||
- **Scope**: Runs inside a sandboxed git worktree for a single task branch (`agentydragon-<ID>-<slug>`).
|
||||
- **Actions**:
|
||||
1. Update the task Markdown file’s **Status** to `Done` when implementation is complete.
|
||||
2. Implement the code changes for the task.
|
||||
3. Run `pre-commit run --files $(git diff --name-only)` to apply and stage any autofix changes.
|
||||
4. **Do not** run `git commit`.
|
||||
|
||||
## 2. Commit Agent
|
||||
- **Scope**: Runs in the sandbox (read-only `.git`) or equivalent environment.
|
||||
- **Actions**:
|
||||
1. Emit exactly one line to stdout: the commit message prefixed `agentydragon(tasks): `
|
||||
summarizing the task’s **Implementation** section.
|
||||
2. Stop immediately.
|
||||
|
||||
## 3. Orchestrator
|
||||
- **Scope**: Outside the sandbox with full Git permissions.
|
||||
- **Actions**:
|
||||
1. Stage all changes: `git add -u`.
|
||||
2. Run `pre-commit run --files $(git diff --name-only --cached)`.
|
||||
3. Read the commit message and run `git commit -m "$MSG"`.
|
||||
|
||||
## 4. Status & Launch
|
||||
- Use `agentydragon_task.py status` to view tasks (including those in `.done/`).
|
||||
- Summaries:
|
||||
- **Merged:** tasks with no branch/worktree.
|
||||
- **Ready to merge:** tasks marked Done with branch commits ahead.
|
||||
- **Unblocked:** tasks with no outstanding dependencies.
|
||||
- The script also prints a `create-task-worktree.sh --agent --tmux <IDs>` command for all unblocked tasks.
|
||||
|
||||
This guide centralizes the handoff workflow for all agents.
|
||||
@@ -1,5 +1,7 @@
|
||||
## Commit Agent Prompt
|
||||
|
||||
Refer to `agentydragon/WORKFLOW.md` for the overall Developer→Commit→Orchestrator handoff workflow.
|
||||
|
||||
You are the **Commit** Codex agent for the `codex` repository. Your job is to stage and commit the changes made by the Developer agent.
|
||||
Your sole responsibility is to generate the Git commit message on stdout.
|
||||
Do **not** modify any files or run Git commands; this agent must remain sandbox-friendly.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
## Developer Agent Prompt
|
||||
|
||||
Refer to `agentydragon/WORKFLOW.md` for the overall Developer→Commit→Orchestrator handoff workflow.
|
||||
|
||||
You are the **Developer** Codex agent for the `codex` repository. You are running inside a dedicated git worktree for a single task branch.
|
||||
Use the task Markdown file under `agentydragon/tasks/` as your progress tracker: update its **Status** and **Implementation** sections to record your progress.
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# Project Manager Agent Prompt
|
||||
|
||||
You are the **Project Manager** Codex agent for the `codex` repository. Your responsibilities include:
|
||||
You are the **Project Manager** Codex agent for the `codex` repository.
|
||||
Refer to `agentydragon/WORKFLOW.md` for the standard Developer→Commit→Orchestrator handoff workflow.
|
||||
Your responsibilities include:
|
||||
|
||||
- **Reading documentation**: Load and understand all relevant docs in this repo (especially those defining task, worktree, and branch conventions, as well as each task file and top‑level README files).
|
||||
- **Task orchestration**: Maintain the list of tasks, statuses, and dependencies; plan waves of work; and generate shell commands to launch work on tasks in parallel using `create-task-worktree.sh` with `--agent` and `--tmux`.
|
||||
|
||||
@@ -7,7 +7,8 @@ last_updated = "2025-06-25T01:40:09.600000"
|
||||
+++
|
||||
|
||||
## Summary
|
||||
Add configurable options for inter-message spacing and sender-content line breaks in chat rendering.
|
||||
Add configurable options for inter-message spacing and sender-content line breaks in chat rendering
|
||||
**in the codex-rs package** - **NOT** the codex-cli package.
|
||||
|
||||
## Goal
|
||||
Provide users with flexibility in how chat messages are visually separated and how sender labels are displayed relative to message content:
|
||||
@@ -16,22 +17,18 @@ Provide users with flexibility in how chat messages are visually separated and h
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- Introduce two new config flags under the UI section:
|
||||
- Introduce one new config flags under the UI section:
|
||||
- `message_spacing: true|false` controls inserting a blank line between messages when true.
|
||||
- `sender_break_line: true|false` controls breaking line after the sender label when true.
|
||||
- Both flags default to `false` to preserve current compact layout.
|
||||
- default to `false` to preserve current compact layout.
|
||||
- When `message_spacing` is enabled, render an empty line between each message bubble or block.
|
||||
- When `sender_break_line` is enabled, render the sender label on its own line above the message content; otherwise render `Sender: Content` on a single line.
|
||||
- Ensure both flags can be toggled independently and work together in any combination.
|
||||
- Add unit tests to verify the four layout permutations produce the correct sequence of lines.
|
||||
- Add unit tests to verify the layout produces the correct sequence of lines.
|
||||
|
||||
## Implementation
|
||||
|
||||
**How it was implemented**
|
||||
- Extend the chat UI renderer to read `message_spacing` and `sender_break_line` from config.
|
||||
- Extend the chat UI renderer to read `message_spacing` from config.
|
||||
- In the message rendering routine, after emitting each message block, conditionally insert a blank line if `message_spacing` is true.
|
||||
- When rendering a message header, split layout based on `sender_break_line`: emit sender label and content either together or in two lines.
|
||||
- Write unit tests for all combinations of `(message_spacing, sender_break_line)` covering single-line messages, multi-line content, and boundaries.
|
||||
- Write unit tests for values of `(message_spacing)` covering single-line messages, multi-line content, and boundaries.
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
+++
|
||||
id = "38"
|
||||
title = "Fix Approval Dialog Transparent Background"
|
||||
status = "Not started"
|
||||
dependencies = ""
|
||||
summary = "The approval dialog background is transparent, causing prompt text underneath to overlap and become unreadable."
|
||||
last_updated = "2025-06-25T00:00:00Z"
|
||||
+++
|
||||
|
||||
> *UI bug:* When the approval dialog appears, its background is transparent and any partially entered prompt text shows through, overlapping and confusing the dialog.
|
||||
|
||||
## Status
|
||||
|
||||
**General Status**: Not started
|
||||
**Summary**: Identify the CSS/ANSI background settings for dialogs and enforce an opaque backdrop before text rendering.
|
||||
|
||||
## Goal
|
||||
|
||||
Ensure the approval dialog is drawn with a solid background color (matching the dialog border or theming) so that any underlying text does not bleed through.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- Approval dialogs block underlying prompt text (solid background).
|
||||
- Existing unit/integration tests validate dialog visual rendering.
|
||||
|
||||
## Implementation
|
||||
|
||||
- Update dialog background color in TUI rendering code (`.tui` component).
|
||||
- Add a test to verify no transparent cells in dialog region.
|
||||
|
||||
## Notes
|
||||
|
||||
<!-- Any implementation notes -->
|
||||
35
agentydragon/tasks/39-patch-diff-left-indent-coloring-fix.md
Normal file
35
agentydragon/tasks/39-patch-diff-left-indent-coloring-fix.md
Normal file
@@ -0,0 +1,35 @@
|
||||
+++
|
||||
id = "39"
|
||||
title = "Fix Coloring of Left-Indented Patch Diffs"
|
||||
status = "Not started"
|
||||
dependencies = ""
|
||||
summary = "Patch diffs rendered with left indentation mode are not colored correctly, losing syntax highlighting."
|
||||
last_updated = "2025-06-25T00:00:00Z"
|
||||
+++
|
||||
|
||||
# Task 39: Fix Coloring of Left-Indented Patch Diffs
|
||||
|
||||
> *UI bug:* When patch diffs are rendered in left-indented mode, the ANSI color codes are misaligned, resulting in lost or incorrect coloring.
|
||||
|
||||
## Status
|
||||
|
||||
**General Status**: Not started
|
||||
**Summary**: Diagnose offset logic in diff renderer and adjust color processing to account for indentation.
|
||||
|
||||
## Goal
|
||||
|
||||
Ensure diff lines maintain proper ANSI color highlighting even when indented on the left by a fixed margin.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- Diff render tests pass for both default and indented modes.
|
||||
- Visual manual check confirms colored diff alignment.
|
||||
|
||||
## Implementation
|
||||
|
||||
- Update diff renderer to strip indentation before applying color logic, then reapply indentation.
|
||||
- Add unit tests for multiline indented diffs.
|
||||
|
||||
## Notes
|
||||
|
||||
<!-- Any implementation notes -->
|
||||
@@ -209,6 +209,12 @@ def status():
|
||||
items = ' '.join(f"{tid} ({title})" for tid, title in ready_tasks)
|
||||
print(f"\n\033[33mReady to merge:\033[0m {items}")
|
||||
|
||||
# identify unblocked tasks (no remaining dependencies)
|
||||
unblocked = [tid for tid in sorted_ids if tid not in merged_ids and not deps_map.get(tid)]
|
||||
if unblocked:
|
||||
print(f"\n\033[1mUnblocked:\033[0m {' '.join(unblocked)}")
|
||||
print(f"\033[1mLaunch unblocked in tmux:\033[0m create-task-worktree.sh --agent --tmux {' '.join(unblocked)}")
|
||||
|
||||
@cli.command()
|
||||
@click.argument('task_id')
|
||||
@click.argument('status')
|
||||
|
||||
Reference in New Issue
Block a user