8000 v0.10.0 — Claude Code + Codex + OpenCode: auto-installed tools, Opus planners, time-boxed workers, re-plan, harness stats + handoff by adeelahmad · Pull Request #3 · adeelahmad/aloop · GitHub
[go: up one dir, main page]

Skip to content

v0.10.0 — Claude Code + Codex + OpenCode: auto-installed tools, Opus planners, time-boxed workers, re-plan, harness stats + handoff - #3

Merged
adeelahmad merged 3 commits into
masterfrom
claude/agent-tools-sprint-planning-rpmkh3
Sep 23, 2026
Merged

adeelahmad merged 3 commits into
masterfrom
claude/agent-tools-sprint-planning-rpmkh3

Conversation

@adeelahmad
@adeelahmad adeelahmad commented Sep 23, 2026 •
Copy link
Copy Markdown
Owner

Summary

Tools are always found

  • A SessionStart hook (ensure-tools) builds md-db and ctx-symbols in the background, once per plugin version.
  • Every tool is callable through one dispatcher, agentic <tool>. On Claude Code and OpenCode the bare names work too.
  • The agent prompts no longer tell agents to search for tools.

Models

  • Planning agents (intake, standards, planner, archivist) default to claude-opus-5-5.
  • Workers and the orchestrator default to sonnet.
  • Codex and OpenCode have their own model settings in defaults.md.

Self-contained sprints

  • The planner prompt requires every sprint to be completable on its own.
  • gate-stage2-complete blocks references to a later sprint's stories and work deferred into a later sprint.

Per-attempt time box, enforced by hooks (bin/budget)

  • Soft limit (default 40k tokens / 10 min): a warning is injected into the worker's tool result.
  • Hard limit (default 60k tokens / 15 min): the worker gets one chance to write its report, then 3 refused calls, then the hook stops it. On Claude Code and Codex this is PostToolUse continue: false; on OpenCode it is session.abort.

Mid-sprint re-plan

  • A task stopped at its hard limit is never retried or merged.
  • The planner splits it (mode: replan, split_from:), leaving finished tasks untouched.
  • Splits are capped per task lineage.

Init confirms the setup with the human (agentic init)

  • Covers the limits, models, the .gitignore edit, whether docs/agents/ is tracked (default no), and the commit author (default the human, no Claude trailers).
  • The answers are saved in docs/agents/defaults.md.
  • gate-commit-author enforces the author choice.

One fixed layout (bin/_paths.sh / _paths.py)

  • Run data lives only under <project>/.agentic/ and is always gitignored.

Stats and handoff, written by the harness (bin/stats)

  • A token ledger is kept per session, covering the main session and every sub-agent, on every host.
  • When FINAL-GATE passes, it writes sprintN/stats.md and docs/agents/NEXT.md.
  • The totals are announced once, and after /clear the SessionStart hook reloads NEXT.md.

Codex and OpenCode support (agentic install codex|opencode [--project DIR|--global] [--uninstall])

  • The installer renders the agents, skills and init comma 8000 nd from the plugin's own sources.
  • Codex loads the .claude-plugin manifests and hooks/hooks.json natively. The hooks now understand Codex:
    • apply_patch edits
    • rollout token usage (.jsonl/.zst)
    • sub-agent rollouts found by thread id
  • OpenCode gets a generated plugin that maps its hooks onto the same scripts.
  • Worker isolation without built-in worktrees:
    • agentic task-worktree creates the worktree, and the worker's first command is agentic bind.
    • On Codex, hooks deny anything outside the worktree; on OpenCode, the plugin rewrites commands and edits into it.
    • Gates run inside the bound worktree.

Test plan

  • make ci, which covers fmt, clippy, shellcheck, the Python compile check, Rust tests, eval suites and host tests
  • claude plugin validate ./plugin --strict
  • Codex hooks emulation, 15 checks: it reads the real hooks.json with Codex's matcher and alias rules and Codex-shaped payloads. One check confirms Claude workers are not confined.
  • OpenCode plugin end to end against a mock client, 18 checks
  • Live claude -p probes: subagent payload fields and transcript path; PostToolUse continue: false stops a subagent
  • Codex and OpenCode behaviour checked against their source code (openai/codex, sst/opencode)
  • Live runs in real Codex and OpenCode sessions
  • A full sprint run with the plugin installed

🤖 Generated with Claude Code

https://claude.ai/code/session_01YRfiFoSvw3SH9hJZqPhhYK

… time box, mid-sprint re-plan

- ensure-tools SessionStart hook builds md-db + ctx-symbols into the plugin data dir
  (background, once per version); bin/md-db + bin/ctx-symbols are PATH shims. Agents
  call every tool by bare name; prompts forbid searching for them. gate-tooling
  self-heals before blocking; gates resolve real binaries via ensure-tools --resolve.
- Models: planning agents default to claude-opus-5-5; workers and the orchestrator
  skill default to sonnet; per-project override in docs/agents/agentic.conf.
- bin/budget: per-attempt token + wall-clock time box (soft 40k/10m warns in the
  worker's tool results; hard 60k/15m denies tools, releases the stop gate unverified,
  and `budget watch` reports KILLs). Configurable per project and per task.
- Orchestrator loop is dispatch -> sleep (budget watch) -> sweep (TaskStop overruns).
- Overrun tasks go to a mid-sprint re-plan (planner mode: replan, split_from lineage,
  capped by AGENTIC_MAX_REPLANS) instead of being retried.
- Sprints must be self-contained (context is cleared between sprints);
  gate-stage2-complete blocks later-sprint references and deferred work.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YRfiFoSvw3SH9hJZqPhhYK
… stats + handoff

- /agentic-agile:init shows the defaults (limits, models, .gitignore edit, docs/agents
  tracking — default no — and commit author — default the human, no Claude trailers),
  asks, then `agentic-init --apply` writes docs/agents/defaults.md, the managed
  .gitignore lines and the repo-local git author. SessionStart re-applies .gitignore.
- gate-commit-author (PreToolUse Bash) enforces the configured author and blocks
  Claude co-author/attribution trailers unless opted in.
- One fixed layout (bin/_paths.sh, _paths.py): run data only under
  <project>/.agentic/{transcripts,budget,ledger,logs,state}; capture hooks write
  nothing outside agentic-agile projects.
- bin/stats: Stop/SubagentStop rebuild a per-session token ledger from transcripts;
  gate-final's pass runs `stats sprint-close` -> sprintN/stats.md + docs/agents/NEXT.md;
  the next Stop shows totals and asks for /clear; SessionStart loads NEXT.md.
- Hard-limit kill is deterministic: PostToolUse `continue: false` from the time-box
  hook (TaskStop only as backstop). Gate verdicts logged to .agentic/logs/gates.jsonl.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YRfiFoSvw3SH9hJZqPhhYK
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

- `agentic install codex|opencode` renders the 9 role agents (Codex TOML / OpenCode
  md), skills and the init command from the plugin's own sources; Codex loads the
  .claude-plugin manifests + hooks/hooks.json natively.
- OpenCode plugin (hosts/opencode/agentic-agile.js) maps its hooks onto the same
  scripts: throw-to-deny, context in tool output, session.abort hard stop, role gate on
  the task result (re-prompts up to 3 rounds), usage log for the ledger, handoff in the
  system prompt, bin/ on PATH via shell.env.
- Worker isolation without built-in worktrees: `agentic task-worktree` + `agentic bind`;
  host-adapter confines Codex workers (deny outside the worktree), the OpenCode plugin
  rewrites into it, and SubagentStop gates run in the bound worktree.
- Codex-aware hooks: apply_patch edits, rollout token usage (.jsonl/.zst), sub-agent
  rollouts by thread id. One token reader for all hosts (_usage.py).
- `agentic` dispatcher (linked into ~/.local/bin where hosts lack plugin PATH).
- CI job `hosts`: Codex hook-runner emulation + OpenCode plugin vs a mock client.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YRfiFoSvw3SH9hJZqPhhYK
@adeelahmad adeelahmad changed the title v0.10.0 — auto-installed tools, Opus planners, time-boxed workers, mid-sprint re-plan, harness stats + handoff v0.10.0 — Claude Code + Codex + OpenCode: auto-installed tools, Opus planners, time-boxed workers, re-plan, harness stats + handoff Sep 23, 2026
@adeelahmad
adeelahmad merged commit 3af879c into master Sep 23, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0