fix(orchestrator): sequentialize code-analyzer→architect dispatch per Issue #3 #8

Merged
MillasAgent merged 2 commits from fix/parallel-subagent-dispatch into main 2026-09-04 11:31:05 +00:00
Owner

Resumen

Fix de Forgejo Issue #3: el orchestrator dispatchaba code-analyzer y architect en paralelo (mismo turn, mismo Task) en 4 flows (/feature, /bugfix, /code-review, /deep-analyze), violando el contrato declarado en agents/architect.md:31 ("An optional prior report from code-analyzer.").

Aplica la Opción C del issue verbatim:

  1. Opción B → nueva regla universal #5 en §Universal rules (con MUST en mayúsculas preservado)
  2. Opción A → prefijo literal en el paso del architect de los 4 flows nombrados

Cambios (5 ficheros)

Fichero Cambio
workspace/opencode/agents/orchestrator.md regla #5 + 4 steps rehechos (5 edits)
AGENTS.md (línea 14) Version: 0.3.00.3.1
workspace/opencode/install.sh (línea 28) OPENMILLAS_VERSION="0.3.0""0.3.1"
workspace/opencode/openmillas (línea 30) OPENMILLAS_VERSION="0.3.0""0.3.1"
CHANGELOG.md entrada en [Unreleased] §Fixed cerrando este issue

Diff stats del fix principal

 AGENTS.md                                 |  2 +-
 CHANGELOG.md                              |  1 +
 workspace/opencode/agents/orchestrator.md | 9 +++++----
 workspace/opencode/install.sh             |  2 +-
 workspace/opencode/openmillas             |  2 +-
 5 files changed, 9 insertions(+), 7 deletions(-)

(El segundo commit de esta rama — 33da295 — es docs(agents): reference L-036 for PR/issue handling, meta-regla operativa que aplica L-036 al propio fix de este PR.)

Spec

Diseño documentado en .internal/specs/fix-parallel-subagent-dispatch.md (gitignored). 5 ediciones exactas, 0 ambigüedades. El spec declara explícitamente el out-of-scope (/init, command/*.md, tests de regresión) para evitar scope creep.

Validación

  • bash workspace/opencode/deploy.sh --check — verde
  • bash workspace/opencode/tests/test_install.sh — 26/26 pass
  • bash workspace/opencode/tests/test_internal.sh — 8 asserts pass
  • security-auditor — GREEN (sin findings)
  • arch-quality-reviewer — GREEN (sin findings)

Aplicación de L-036 (memory)

Este fix es el primer caso de uso explícito del meta-aprendizaje L-036 (issue handling discipline; capturado en wiki/memory/learnings/2026-09-04-issue-handling-discipline.md).

Pasos seguidos al pie de la letra:

  1. Issue leída completa (no sólo el título)
  2. agents/orchestrator.md y agents/architect.md revisados contra las afirmaciones del issue — todas confirmadas verbatim
  3. Discrepancias acotadas (scope del issue = 4 flows; /init y command/*.md se difieren explícitamente como follow-up en el spec)
  4. Spec redactada y aprovada antes de implementar
  5. Implementación verbatim + 3 suites de tests + doble revisión ciega paralela

Out of scope (deliberado, documentado en el spec)

  • /init — mismo anti-pattern, no en este issue
  • command/{feature,bugfix,code-review,deep-analyze}.md — espeja el bug, no en este issue
  • Tests de regression para dispatch order — no en el issue
  • CHANGELOG move [Unreleased] → [0.3.1] — acción de release time

Closes #3

## Resumen Fix de Forgejo Issue #3: el orchestrator dispatchaba `code-analyzer` y `architect` en paralelo (mismo turn, mismo Task) en 4 flows (`/feature`, `/bugfix`, `/code-review`, `/deep-analyze`), violando el contrato declarado en `agents/architect.md:31` ("An optional prior report from `code-analyzer`."). Aplica la **Opción C del issue verbatim**: 1. **Opción B** → nueva regla universal #5 en §Universal rules (con `MUST` en mayúsculas preservado) 2. **Opción A** → prefijo literal en el paso del architect de los 4 flows nombrados ### Cambios (5 ficheros) | Fichero | Cambio | |---|---| | `workspace/opencode/agents/orchestrator.md` | regla #5 + 4 steps rehechos (5 edits) | | `AGENTS.md` (línea 14) | `Version: 0.3.0` → `0.3.1` | | `workspace/opencode/install.sh` (línea 28) | `OPENMILLAS_VERSION="0.3.0"` → `"0.3.1"` | | `workspace/opencode/openmillas` (línea 30) | `OPENMILLAS_VERSION="0.3.0"` → `"0.3.1"` | | `CHANGELOG.md` | entrada en `[Unreleased] §Fixed` cerrando este issue | ### Diff stats del fix principal ``` AGENTS.md | 2 +- CHANGELOG.md | 1 + workspace/opencode/agents/orchestrator.md | 9 +++++---- workspace/opencode/install.sh | 2 +- workspace/opencode/openmillas | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) ``` (El segundo commit de esta rama — `33da295` — es `docs(agents): reference L-036 for PR/issue handling`, meta-regla operativa que aplica L-036 al propio fix de este PR.) ### Spec Diseño documentado en `.internal/specs/fix-parallel-subagent-dispatch.md` (gitignored). 5 ediciones exactas, 0 ambigüedades. El spec declara explícitamente el out-of-scope (`/init`, `command/*.md`, tests de regresión) para evitar scope creep. ### Validación - ✅ `bash workspace/opencode/deploy.sh --check` — verde - ✅ `bash workspace/opencode/tests/test_install.sh` — 26/26 pass - ✅ `bash workspace/opencode/tests/test_internal.sh` — 8 asserts pass - ✅ `security-auditor` — GREEN (sin findings) - ✅ `arch-quality-reviewer` — GREEN (sin findings) ### Aplicación de L-036 (memory) Este fix es el **primer caso de uso explícito** del meta-aprendizaje `L-036` (*issue handling discipline*; capturado en `wiki/memory/learnings/2026-09-04-issue-handling-discipline.md`). Pasos seguidos al pie de la letra: 1. Issue leída completa (no sólo el título) 2. `agents/orchestrator.md` y `agents/architect.md` revisados contra las afirmaciones del issue — todas confirmadas verbatim 3. Discrepancias acotadas (scope del issue = 4 flows; `/init` y `command/*.md` se difieren explícitamente como follow-up en el spec) 4. Spec redactada y aprovada antes de implementar 5. Implementación verbatim + 3 suites de tests + doble revisión ciega paralela ### Out of scope (deliberado, documentado en el spec) - `/init` — mismo anti-pattern, **no en este issue** - `command/{feature,bugfix,code-review,deep-analyze}.md` — espeja el bug, **no en este issue** - Tests de regression para dispatch order — **no en el issue** - CHANGELOG move [Unreleased] → [0.3.1] — acción de release time --- Closes #3
Adds §5.8 (convention: consult L-036 before any PR/issue handling)
and §9 checklist item. Discipline captured in session
2026-09-04T1304-issue-handling and codified as wiki L-036
(issue-handling-discipline).
Implements Option C from Forgejo Issue #3 verbatim:
  - Adds a new universal rule at orchestrator.md:39 with the exact
    Option B wording (MUST uppercase preserved).
  - Rewrites the architect step in /feature, /bugfix, /code-review,
    /deep-analyze with the Option A prefix.

Spec: .internal/specs/fix-parallel-subagent-dispatch.md
Verified by deploy.sh --check, test_install.sh (26/26),
test_internal.sh. Security-auditor GREEN. Arch-quality-reviewer GREEN.
Closes Forgejo Issue #3.

Bumps OPENMILLAS_VERSION to 0.3.1 (install.sh:28, openmillas:30,
AGENTS.md §1) and adds CHANGELOG §Fixed entry.

Note: 0.3.0 was not formally tagged; 0.3.1 supersedes it as the
next release. §Unreleased will be split to §[0.3.1] at release time.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MillasDev/memory!8
No description provided.