[AUTO-ARCH] Architecture Review (Cycle 8) #6268

Closed
opened 2026-04-09 19:41:18 +00:00 by HAL9000 · 0 comments
Owner

Architecture Supervisor Status — 2026-04-09 19:41

Agent: architect
Instance: architect-1
Cycle: 8
Status: active

Summary

Continuous architecture monitoring active. Monitoring milestones v3.2.0 through v3.7.0 for spec coverage gaps, implementer ambiguities, and human requests.

Work Completed This Cycle (Cycle 8)

New Issues Assessed (since Cycle 7)

Issue Title Assessment
#6260 agents plan artifacts JSON output missing spec-required command envelope Implementation gap — spec §15754-15779 clearly documents the full JSON schema with command envelope, artifacts[], summary{}, by_plan{}; no spec change needed
#6259 ValidationPipeline not wired into PlanLifecycleService Implementation gap — spec §Validation Abstraction documents validation gating; no spec change needed
#6258 Advisory locking (LockService) not integrated into PlanLifecycleService Implementation gap — spec §Plan Lifecycle documents phase transition locking; no spec change needed
#6257 agents plan diff JSON/YAML output missing spec-required command envelope Implementation gap — spec §15427-15474 clearly documents the full JSON schema; no spec change needed
#6256 agents plan rollback JSON output uses wrong field names Implementation gap — spec §16137-16169 clearly documents the correct field names (plan, checkpoint, files_reverted, label, etc.); no spec change needed
#6254 merge_invariants() implements 3-tier precedence, missing ACTION scope Implementation gap — spec §92 and §19081-19092 clearly document 4-tier chain plan > action > project > global; no spec change needed
#6253 agents invariant add CLI missing --non-overridable flag Implementation gap — spec documents non_overridable field for global invariants; no spec change needed

New Spec Proposals Assessed

  • PR #6250 (docs: document git worktree sandbox, ACMS context hydrator, and update changelog) — Documentation PR from docs-writer agent; does NOT have "Needs Feedback" label. This is a documentation update, not a spec change. No architectural review needed.

Architectural Clarifications Posted

None this cycle — all new issues are implementation gaps with clear spec backing.

All Open Spec PRs (Awaiting Human Approval)

PR Title Status
#4583 Correct SandboxStrategy protocol name, write() return type Open, Needs Feedback
#4805 Add Milestone Plan section to specification Open, Needs Feedback
#4932 Add Milestone Plan section for v3.2.0 through v3.7.0 Open, Needs Feedback
#4979 Clarify TUI session export formats and persona schema fields Open, Needs Feedback
#5035 Architecture corrections cycle 1 — invariant precedence, TUI shell safety, sandbox protocol Open, Needs Feedback
#5133 Architecture corrections cycle 2 — plan revert/resume, correction_attempts DDL Open, Needs Feedback
#5163 Align checkpoint trigger names and config key path Open, Needs Feedback
#5217 Align ARCE acronym, max-rounds default, TUI preset key binding Open, Needs Feedback
#5325 Add Groq, Cohere, Together, Mistral, Ollama provider documentation Open, Needs Feedback
#5393 Clarify agents validation attach synopsis (superseded by #6211) Open, Needs Feedback
#5403 Extend agents diagnostics example to show all 9 supported providers Open, Needs Feedback
#5488 Align subgraph node field from actor_path to actor_ref Open, Needs Feedback
#5595 Clarify agents plan correct accepts plan ID or decision ID Open, Needs Feedback
#5655 Add agents plan revert and agents plan resume commands Open, Needs Feedback
#5658 Align custom resource type YAML format with schema definition Open, Needs Feedback
#5877 Update Azure OpenAI API version default to 2024-05-01-preview Open, Needs Feedback
#5905 Fix invariant precedence chain reference Open, Needs Feedback
#5914 Align AIProviderInterface with implementation Open, Needs Feedback
#5966 Architecture corrections cycle 3 — sandbox state persistence, LangGraph TypedDict Open, Needs Feedback
#6004 Document ReconciliationBlockedError (original — keep this one) Open, Needs Feedback
#6007 Document ReconciliationBlockedError (duplicate — human should close) Open, Needs Feedback
#6180 Document context_tier_hydrator module in ACMS architecture section Open, Needs Feedback

Note: PRs #6208, #6209, #6210, #6211 from Cycle 7 are no longer visible in the open PRs list — they may have been merged or closed. Verifying next cycle.

⚠️ Action Required: 22+ spec PRs are awaiting human approval. PRs #6004 and #6007 are duplicates — one should be closed. PR #5393 is superseded by #6211.

Milestone Spec Coverage Assessment

Milestone Open Issues Closed Issues Spec Coverage
v3.2.0 278 248 Covered (decisions, invariants, corrections)
v3.3.0 108 108 Covered
v3.4.0 102 132 Covered (ACMS, context tiers, hydrator)
v3.5.0 844 196 Covered (autonomy hardening, A2A facade, guards) — 844 open issues are implementation gaps
v3.6.0 231 150 Covered (advanced concepts, container execution, plugins)
v3.7.0 513 422 Covered (TUI, ADR-044/045/046)

Key Architectural Concerns (Active)

  1. 22+ spec PRs awaiting human approval — Implementers working from current master; pending PRs contain important corrections
  2. Invariant 4-tier precedence inconsistency (#6254) — merge_invariants() uses 3-tier; InvariantReconciliationActor correctly uses 4-tier; spec is correct; implementation must be fixed
  3. Plan command output schemas (#6256, #6257, #6260) — Multiple plan commands produce wrong JSON schemas; spec is correct; implementation must be fixed
  4. ValidationPipeline disconnected (#6259) — Fully implemented but not wired into lifecycle; spec is correct
  5. LockService disconnected (#6258) — Fully implemented but not wired into lifecycle; spec is correct
  6. Duplicate ReconciliationBlockedError PRs (#6004, #6007) — Human should close one
  7. Spec restructure — 47k line spec is 15× over threshold; deferred pending human decision

Architectural Guidance for Implementers

Invariant 4-Tier Precedence Fix (Issue #6254)

The spec (§92) is clear: plan > action > project > global. The fix:

# CORRECT (per spec §92):
def merge_invariants(
    plan_invariants: list[Invariant],
    action_invariants: list[Invariant],   # Add this parameter
    project_invariants: list[Invariant],
    global_invariants: list[Invariant],
) -> list[Invariant]:
    seen: set[str] = set()
    result: list[Invariant] = []
    for inv_list in (plan_invariants, action_invariants, project_invariants, global_invariants):
        for inv in inv_list:
            if inv.name not in seen:
                seen.add(inv.name)
                result.append(inv)
    # non_overridable global invariants always win
    for inv in global_invariants:
        if inv.non_overridable and inv not in result:
            result.append(inv)
    return result

Plan Command JSON Output Fix Pattern

All plan commands must use the standard command envelope:

{
  "command": "<command name>",
  "status": "ok",
  "exit_code": 0,
  "data": { ... },
  "timing": { "started": "...", "duration_ms": N },
  "messages": ["..."]
}

See spec §15427 (plan diff), §15754 (plan artifacts), §16137 (plan rollback) for exact schemas.

Next Actions

  • Continue monitoring for new spec proposals and ambiguities
  • Check for new UAT issues indicating spec gaps
  • Monitor for human requests mentioning @architect
  • Verify status of PRs #6208, #6209, #6210, #6211 (no longer in open PR list)
  • Next tracking update in ~10 cycles

Automated by CleverAgents Bot
Supervisor: Architecture | Agent: architect | Instance: architect-1

# Architecture Supervisor Status — 2026-04-09 19:41 **Agent**: architect **Instance**: architect-1 **Cycle**: 8 **Status**: active ## Summary Continuous architecture monitoring active. Monitoring milestones v3.2.0 through v3.7.0 for spec coverage gaps, implementer ambiguities, and human requests. ## Work Completed This Cycle (Cycle 8) ### New Issues Assessed (since Cycle 7) | Issue | Title | Assessment | |-------|-------|------------| | #6260 | `agents plan artifacts` JSON output missing spec-required command envelope | **Implementation gap** — spec §15754-15779 clearly documents the full JSON schema with command envelope, `artifacts[]`, `summary{}`, `by_plan{}`; no spec change needed | | #6259 | ValidationPipeline not wired into PlanLifecycleService | **Implementation gap** — spec §Validation Abstraction documents validation gating; no spec change needed | | #6258 | Advisory locking (LockService) not integrated into PlanLifecycleService | **Implementation gap** — spec §Plan Lifecycle documents phase transition locking; no spec change needed | | #6257 | `agents plan diff` JSON/YAML output missing spec-required command envelope | **Implementation gap** — spec §15427-15474 clearly documents the full JSON schema; no spec change needed | | #6256 | `agents plan rollback` JSON output uses wrong field names | **Implementation gap** — spec §16137-16169 clearly documents the correct field names (`plan`, `checkpoint`, `files_reverted`, `label`, etc.); no spec change needed | | #6254 | `merge_invariants()` implements 3-tier precedence, missing ACTION scope | **Implementation gap** — spec §92 and §19081-19092 clearly document 4-tier chain `plan > action > project > global`; no spec change needed | | #6253 | `agents invariant add` CLI missing `--non-overridable` flag | **Implementation gap** — spec documents `non_overridable` field for global invariants; no spec change needed | ### New Spec Proposals Assessed - **PR #6250** (`docs: document git worktree sandbox, ACMS context hydrator, and update changelog`) — Documentation PR from docs-writer agent; does NOT have "Needs Feedback" label. This is a documentation update, not a spec change. No architectural review needed. ### Architectural Clarifications Posted None this cycle — all new issues are implementation gaps with clear spec backing. ## All Open Spec PRs (Awaiting Human Approval) | PR | Title | Status | |----|-------|--------| | #4583 | Correct SandboxStrategy protocol name, write() return type | Open, Needs Feedback | | #4805 | Add Milestone Plan section to specification | Open, Needs Feedback | | #4932 | Add Milestone Plan section for v3.2.0 through v3.7.0 | Open, Needs Feedback | | #4979 | Clarify TUI session export formats and persona schema fields | Open, Needs Feedback | | #5035 | Architecture corrections cycle 1 — invariant precedence, TUI shell safety, sandbox protocol | Open, Needs Feedback | | #5133 | Architecture corrections cycle 2 — plan revert/resume, correction_attempts DDL | Open, Needs Feedback | | #5163 | Align checkpoint trigger names and config key path | Open, Needs Feedback | | #5217 | Align ARCE acronym, max-rounds default, TUI preset key binding | Open, Needs Feedback | | #5325 | Add Groq, Cohere, Together, Mistral, Ollama provider documentation | Open, Needs Feedback | | #5393 | Clarify agents validation attach synopsis (**superseded by #6211**) | Open, Needs Feedback | | #5403 | Extend agents diagnostics example to show all 9 supported providers | Open, Needs Feedback | | #5488 | Align subgraph node field from actor_path to actor_ref | Open, Needs Feedback | | #5595 | Clarify agents plan correct accepts plan ID or decision ID | Open, Needs Feedback | | #5655 | Add agents plan revert and agents plan resume commands | Open, Needs Feedback | | #5658 | Align custom resource type YAML format with schema definition | Open, Needs Feedback | | #5877 | Update Azure OpenAI API version default to 2024-05-01-preview | Open, Needs Feedback | | #5905 | Fix invariant precedence chain reference | Open, Needs Feedback | | #5914 | Align AIProviderInterface with implementation | Open, Needs Feedback | | #5966 | Architecture corrections cycle 3 — sandbox state persistence, LangGraph TypedDict | Open, Needs Feedback | | #6004 | Document ReconciliationBlockedError (**original** — keep this one) | Open, Needs Feedback | | #6007 | Document ReconciliationBlockedError (**duplicate** — human should close) | Open, Needs Feedback | | #6180 | Document context_tier_hydrator module in ACMS architecture section | Open, Needs Feedback | **Note**: PRs #6208, #6209, #6210, #6211 from Cycle 7 are no longer visible in the open PRs list — they may have been merged or closed. Verifying next cycle. **⚠️ Action Required**: 22+ spec PRs are awaiting human approval. PRs #6004 and #6007 are duplicates — one should be closed. PR #5393 is superseded by #6211. ## Milestone Spec Coverage Assessment | Milestone | Open Issues | Closed Issues | Spec Coverage | |-----------|-------------|---------------|---------------| | v3.2.0 | 278 | 248 | ✅ Covered (decisions, invariants, corrections) | | v3.3.0 | 108 | 108 | ✅ Covered | | v3.4.0 | 102 | 132 | ✅ Covered (ACMS, context tiers, hydrator) | | v3.5.0 | 844 | 196 | ✅ Covered (autonomy hardening, A2A facade, guards) — 844 open issues are implementation gaps | | v3.6.0 | 231 | 150 | ✅ Covered (advanced concepts, container execution, plugins) | | v3.7.0 | 513 | 422 | ✅ Covered (TUI, ADR-044/045/046) | ## Key Architectural Concerns (Active) 1. **22+ spec PRs awaiting human approval** — Implementers working from current master; pending PRs contain important corrections 2. **Invariant 4-tier precedence inconsistency** (#6254) — `merge_invariants()` uses 3-tier; `InvariantReconciliationActor` correctly uses 4-tier; spec is correct; implementation must be fixed 3. **Plan command output schemas** (#6256, #6257, #6260) — Multiple plan commands produce wrong JSON schemas; spec is correct; implementation must be fixed 4. **ValidationPipeline disconnected** (#6259) — Fully implemented but not wired into lifecycle; spec is correct 5. **LockService disconnected** (#6258) — Fully implemented but not wired into lifecycle; spec is correct 6. **Duplicate ReconciliationBlockedError PRs** (#6004, #6007) — Human should close one 7. **Spec restructure** — 47k line spec is 15× over threshold; deferred pending human decision ## Architectural Guidance for Implementers ### Invariant 4-Tier Precedence Fix (Issue #6254) The spec (§92) is clear: `plan > action > project > global`. The fix: ```python # CORRECT (per spec §92): def merge_invariants( plan_invariants: list[Invariant], action_invariants: list[Invariant], # Add this parameter project_invariants: list[Invariant], global_invariants: list[Invariant], ) -> list[Invariant]: seen: set[str] = set() result: list[Invariant] = [] for inv_list in (plan_invariants, action_invariants, project_invariants, global_invariants): for inv in inv_list: if inv.name not in seen: seen.add(inv.name) result.append(inv) # non_overridable global invariants always win for inv in global_invariants: if inv.non_overridable and inv not in result: result.append(inv) return result ``` ### Plan Command JSON Output Fix Pattern All plan commands must use the standard command envelope: ```json { "command": "<command name>", "status": "ok", "exit_code": 0, "data": { ... }, "timing": { "started": "...", "duration_ms": N }, "messages": ["..."] } ``` See spec §15427 (plan diff), §15754 (plan artifacts), §16137 (plan rollback) for exact schemas. ## Next Actions - Continue monitoring for new spec proposals and ambiguities - Check for new UAT issues indicating spec gaps - Monitor for human requests mentioning @architect - Verify status of PRs #6208, #6209, #6210, #6211 (no longer in open PR list) - Next tracking update in ~10 cycles --- **Automated by CleverAgents Bot** Supervisor: Architecture | Agent: architect | Instance: architect-1
Sign in to join this conversation.
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
cleveragents/cleveragents-core#6268
No description provided.