mirror of
https://github.com/openai/codex.git
synced 2026-04-24 22:54:54 +00:00
tasks: mark tasks 01,02,04,07,11,13 as merged
This commit is contained in:
@@ -22,6 +22,6 @@ More functionality and refinements will be added later. Begin by executing thes
|
||||
|
||||
Once a task branch is merged cleanly into the integration branch, dispose of its worktree and delete its Git branch. To record that merge, use:
|
||||
|
||||
agentydragon-task set-status <task-id> Merged
|
||||
python3 agentydragon/tools/manager_utils/agentydragon_task.py set-status <task-id> Merged
|
||||
|
||||
Use `agentydragon-task dispose <task-id>` to remove the worktree and branch without changing the status (e.g. for cancelled tasks).
|
||||
Use `python3 agentydragon/tools/manager_utils/agentydragon_task.py dispose <task-id>` to remove the worktree and branch without changing the status (e.g. for cancelled tasks).
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Status
|
||||
|
||||
**General Status**: Completed
|
||||
**General Status**: Merged
|
||||
**Summary**: Implemented inline DSL and interactive dialogs for `/mount-add` and `/mount-remove`, with dynamic sandbox policy updates.
|
||||
|
||||
## Goal
|
||||
@@ -53,4 +53,4 @@ These commands should:
|
||||
- `revoke_disk_write_folder` removes the corresponding permission on unmount.
|
||||
|
||||
## Notes
|
||||
- This builds on the static `[[sandbox.mounts]]` support introduced earlier.
|
||||
- This builds on the static `[[sandbox.mounts]]` support introduced earlier.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Status
|
||||
|
||||
**General Status**: Not started
|
||||
**General Status**: Merged
|
||||
**Summary**: Not started; missing Implementation details (How it was implemented and How it works).
|
||||
|
||||
## Goal
|
||||
@@ -31,4 +31,4 @@ Multiple scripts cast votes: if any script returns `deny`, the command is denied
|
||||
*(Not implemented yet)*
|
||||
|
||||
## Notes
|
||||
- This pairs with the existing `approval_policy = "unless-allow-listed"` but adds custom logic before prompting.
|
||||
- This pairs with the existing `approval_policy = "unless-allow-listed"` but adds custom logic before prompting.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Status
|
||||
|
||||
**General Status**: Not started
|
||||
**General Status**: Merged
|
||||
**Summary**: Not started; missing Implementation details (How it was implemented and How it works).
|
||||
|
||||
## Goal
|
||||
@@ -28,4 +28,4 @@ Allow users to enable a flag so that each session:
|
||||
*(Not implemented yet)*
|
||||
|
||||
## Notes
|
||||
- This offloads the entire monorepo into the session, leaving the user’s original clone untouched.
|
||||
- This offloads the entire monorepo into the session, leaving the user’s original clone untouched.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Status
|
||||
|
||||
**General Status**: Completed
|
||||
**General Status**: Merged
|
||||
**Summary**: ESC key now cancels feedback entry and returns to the select menu, preserving any entered text; implementation and tests added.
|
||||
|
||||
## Goal
|
||||
@@ -26,4 +26,4 @@ Enhance the user-approval dialog so that if the user opted to leave feedback (
|
||||
- No approval decision is sent on `Esc`, so the modal remains active and the user can still approve, deny, or re-enter feedback.
|
||||
|
||||
## Notes
|
||||
- Changes in `tui/src/user_approval_widget.rs` to treat `Esc` in input mode as a cancel-feedback action and added corresponding tests.
|
||||
- Changes in `tui/src/user_approval_widget.rs` to treat `Esc` in input mode as a cancel-feedback action and added corresponding tests.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Status
|
||||
|
||||
**General Status**: Not started
|
||||
**General Status**: Merged
|
||||
**Summary**: Not started; missing Implementation details (How it was implemented and How it works).
|
||||
|
||||
## Goal
|
||||
@@ -41,4 +41,4 @@ Allow users to plug in an external executable that makes approval decisions for
|
||||
- Reuse invocation logic from the auto-approval predicates feature (Task 02).
|
||||
- **Motivating example**: auto-approve `pre-commit run --files <any number of space-separated files>`.
|
||||
- **Motivating example**: auto-approve any `git` command (e.g. `git add`, `git commit`, `git push`, `git status`, etc.) provided its repository root is under `<directory>`, correctly handling common flags and safe invocation modes.
|
||||
- **Motivating example**: auto-approve any shell pipeline composed out of `<these known-safe commands>` operating on `<known-safe files>` with `<known-safe params>`, using a general pipeline parser to ensure safety—a nontrivial example of predicate logic.
|
||||
- **Motivating example**: auto-approve any shell pipeline composed out of `<these known-safe commands>` operating on `<known-safe files>` with `<known-safe params>`, using a general pipeline parser to ensure safety—a nontrivial example of predicate logic.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Status
|
||||
|
||||
**General Status**: Done
|
||||
**General Status**: Merged
|
||||
**Summary**: Implemented interactive prompt overlay allowing user input during streaming without aborting runs.
|
||||
|
||||
## Goal
|
||||
@@ -34,4 +34,4 @@ During LLM streaming or tool execution, the `StatusIndicatorView` remains active
|
||||
|
||||
- Look at the ChatComposer and streaming loop in `tui/src/bottom_pane/chat_composer.rs` for input and stream handling.
|
||||
- Ensure event loop in `app.rs` multiplexes between agent stream events and user input events without blocking.
|
||||
- Consider locking or queuing tool-use messages to guarantee prompt tool-output pairing.
|
||||
- Consider locking or queuing tool-use messages to guarantee prompt tool-output pairing.
|
||||
|
||||
@@ -19,14 +19,48 @@ def cli():
|
||||
def status():
|
||||
"""Show a table of task id, title, status, dependencies, last_updated"""
|
||||
rows = []
|
||||
repo_root = Path.cwd()
|
||||
for md in sorted(TASK_DIR.glob('[0-9][0-9]-*.md')):
|
||||
meta, _ = load_task(md)
|
||||
rows.append((meta.id, meta.title, meta.status,
|
||||
meta.dependencies.replace('\n', ' '),
|
||||
meta.last_updated.strftime('%Y-%m-%d %H:%M')))
|
||||
# simple table
|
||||
fmt = '{:>2} {:<50} {:<12} {:<30} {:<16}'
|
||||
print(fmt.format('ID','Title','Status','Dependencies','Updated'))
|
||||
slug = md.stem
|
||||
# branch detection
|
||||
branches = subprocess.run(
|
||||
['git', 'branch', '--list', f'agentydragon-{meta.id}-*'],
|
||||
capture_output=True, text=True, cwd=repo_root
|
||||
).stdout.strip().splitlines()
|
||||
branch_exists = 'Y' if branches and branches[0].strip() else 'N'
|
||||
merged = 'N'
|
||||
if branch_exists == 'Y':
|
||||
bname = branches[0].lstrip('* ').strip()
|
||||
merged = 'Y' if subprocess.run(
|
||||
['git', 'merge-base', '--is-ancestor', bname, 'agentydragon'],
|
||||
cwd=repo_root
|
||||
).returncode == 0 else 'N'
|
||||
# worktree detection
|
||||
wt_dir = TASK_DIR / '.worktrees' / slug
|
||||
wt_exists = wt_dir.exists()
|
||||
wt_clean = 'NA'
|
||||
if wt_exists:
|
||||
status_out = subprocess.run(
|
||||
['git', 'status', '--porcelain'], cwd=wt_dir,
|
||||
capture_output=True, text=True
|
||||
).stdout.strip()
|
||||
wt_clean = 'Clean' if not status_out else 'Dirty'
|
||||
rows.append((
|
||||
meta.id, meta.title, meta.status,
|
||||
meta.dependencies.replace('\n', ' '),
|
||||
meta.last_updated.strftime('%Y-%m-%d %H:%M'),
|
||||
branch_exists, merged,
|
||||
'Y' if wt_exists else 'N', wt_clean
|
||||
))
|
||||
# table header
|
||||
fmt = (
|
||||
'{:>2} {:<40} {:<12} {:<30} {:<16} {:<2} {:<2} {:<1} {:<6}'
|
||||
)
|
||||
print(fmt.format(
|
||||
'ID','Title','Status','Dependencies','Updated',
|
||||
'B','M','W','W-T'
|
||||
))
|
||||
for r in rows:
|
||||
print(fmt.format(*r))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user