Files
Atomizer/docs/hq/04-DECISION-LOG.md
Antoine cf82de4f06 docs: add HQ multi-agent framework documentation from PKM
- Project plan, agent roster, architecture, roadmap
- Decision log, full system plan, Discord setup/migration guides
- System implementation status (as-built)
- Cluster pivot history
- Orchestration engine plan (Phases 1-4)
- Webster and Auditor reviews
2026-02-15 21:44:07 +00:00

11 KiB

📋 Decision Log — Atomizer Overhaul: Framework Agentic


DEC-A001: Use Clawdbot Multi-Agent (Not Custom Framework)

Date: 2026-02-07
Status: 🟡 Proposed (awaiting Antoine's review)
Proposed by: Mario

Options Considered:

Option Pros Cons
A) Clawdbot Multi-Agent Already running, Slack native, proven patterns, per-agent isolation Tied to Clawdbot's architecture, some multi-agent features still maturing
B) Agent Zero Designed for multi-agent Less mature, no Slack native support, would need integration
C) CrewAI Purpose-built for agent teams Limited isolation, less flexible memory, Slack needs adapters
D) Custom Framework Full control Massive build effort, reinventing wheels

Recommendation: Option A — Clawdbot Multi-Agent
Rationale: We already have a running Clawdbot instance with Slack integration. Multi-agent routing is a built-in feature. The infrastructure exists; we just need to configure it. Building from scratch would take months and delay the actual value.


DEC-A002: Phased Rollout (Not Big Bang)

Date: 2026-02-07
Status: 🟡 Proposed
Proposed by: Mario

Decision: Start with 3 agents (Phase 0), scale to 12 over 10 weeks.
Rationale: Risk of over-engineering. Multi-agent coordination has emergent complexity — better to discover issues with 3 agents than debug 12 simultaneously.


DEC-A003: Manager as Communication Bottleneck

Date: 2026-02-07
Status: 🟡 Proposed
Proposed by: Mario

Decision: Only the Manager initiates cross-agent work in project channels. Other agents respond when @-mentioned, but don't independently reach out to each other.
Rationale: Prevents "agent storm" where agents endlessly ping each other. Manager maintains control and traceability. This can be relaxed later if agents prove reliable.


DEC-A004: Single Gateway, Multiple Agents

Date: 2026-02-07
Status: 🟡 Proposed
Proposed by: Mario

Decision: Run all agents on one Clawdbot gateway process.
Rationale: Simpler to manage, enables sessions_send between agents, single config. Can split later if resources demand it.


DEC-A005: Model Tiering Strategy

Date: 2026-02-07
Status: Superseded by DEC-A008
Proposed by: Mario

Original Decision (superseded): Tiered model approach with older models.
Replaced by: DEC-A008 — use latest models (Sonnet 5, GPT-5.3-Codex, Gemini 3.0).

Rationale still valid: Cost optimization via tiering. Not every role needs Opus 4.6. Match model capability to role complexity.


DEC-A006: Dedicated Slack Workspace

Date: 2026-02-07
Status: Accepted (Antoine's request)
Proposed by: Antoine

Decision: Create a dedicated Slack workspace for Atomizer Engineering — separate from Antoine's personal workspace.
Rationale: This is a product. Antoine will make videos, demos. Needs to look professional and clean. No personal channels mixed in. Each agent gets proper identity with avatar + name.


DEC-A007: Study Builder Agent (Separate from Optimizer)

Date: 2026-02-07
Status: Accepted
Proposed by: Antoine + Mario

Decision: Add a Study Builder agent that writes the actual Python code (run_optimization.py), separate from the Optimizer who designs the strategy.
Rationale: Optimizer designs, Study Builder implements. Clean separation. Study Builder can use a coding-specialized model (GPT-5.3-Codex). Code must run on Windows with NX.


DEC-A008: Use Latest Models (Sonnet 5, Codex 5.3, Gemini 3.0)

Date: 2026-02-07
Status: Accepted
Proposed by: Antoine

Decision: Use cutting-edge models: Opus 4.6 for reasoning, Sonnet 5 (when released) for technical work, GPT-5.3-Codex for code generation, Gemini 3.0 for research.
Rationale: This is a showcase product. Use the best available. Architecture is model-agnostic — swap models via config.


DEC-A009: Autonomous with Approval Gates

Date: 2026-02-07
Status: Accepted
Proposed by: Antoine

Decision: Agents are maximally autonomous for routine work but require Antoine's approval for: new tools/features, divergent approaches, client deliverables, scope changes, framework modifications.
Rationale: Balance between efficiency and control. Antoine doesn't want to micromanage but needs to steer. Secretary learns what to escalate over time.


DEC-A010: Framework Steward = Manager Sub-Role

Date: 2026-02-07
Status: Accepted
Proposed by: Mario

Decision: The Manager agent also serves as Framework Steward — ensuring the Atomizer framework evolves properly, learnings are captured, and protocols improve over time. Not a separate agent.
Rationale: Avoids agent bloat. Manager already has the visibility across all projects. Framework evolution is a management responsibility.


DEC-A011: Windows Execution — Syncthing + Manual Script Launch

Date: 2026-02-08
Status: Accepted
Proposed by: Mario | Decided by: Antoine

Decision: Syncthing delivers job files to Windows. Antoine runs run_optimization.py manually to kick off the full iteration loop. The script handles all iterations autonomously (NX solve → extract → evaluate → next trial). No SSH/API needed for Phase 1.
Rationale: Matches existing Atomizer workflow. Simple, reliable. Can upgrade to remote exec later if manual trigger becomes a bottleneck.


DEC-A012: Separate Clawdbot Gateway (Docker)

Date: 2026-02-08
Status: Accepted
Proposed by: Mario | Decided by: Antoine

Decision: Atomizer gets a separate Clawdbot gateway running in Docker on the T420. Mario's personal Clawdbot stays native (systemd). Eventually, Atomizer moves to a dedicated machine.
Rationale: Complete isolation — independent config, Slack workspace, restarts. Mario's personal assistant is unaffected. T420 is the incubator, not the final home.
Note: Docker is not yet installed on T420 — needs to be set up before Phase 0.


DEC-A013: Single Bot with Per-Agent Identity

Date: 2026-02-08
Status: Accepted
Proposed by: Mario | Decided by: Antoine

Decision: Single Clawdbot Slack bot app managing all agents. Each agent has its own name, emoji, and personality via Clawdbot's identity system. The UX should feel like interacting with individual people — organic, @-mentionable — even though one process orchestrates everything behind the scenes.
Rationale: Don't over-complicate the plumbing. One "god" process, but the Slack experience feels like a real team. Implementation simplicity with great UX.


DEC-A014: KB Agent — Semi-Auto Ingestion + Inherited CAD Documenter Skill

Date: 2026-02-08
Status: Accepted
Proposed by: Mario + Antoine

Decision: Semi-automatic — KB Agent flags new CAD Documenter output, Antoine approves before ingestion. The skill architecture uses inheritance:

  • Base layer: General Atomaste CAD Documenter skill (lives in Mario's workspace) — whisper transcription, frame extraction, engineering KB
  • Atomizer layer: KB Agent over-specializes with Atomizer-specific behaviors — auto-tagging part numbers, linking to optimization studies, extracting FEA parameters, feeding into LAC system

The general skill remains a broad Atomaste tool; Atomizer's version adds domain-specific intelligence on top.
Rationale: CAD Documenter is too valuable to lock inside Atomizer. Keep the general tool for all Atomaste work; let Atomizer extend it.


DEC-A015: Agent Self-Maintenance (Mario Bootstraps, Agents Own)

Date: 2026-02-08
Status: Accepted
Proposed by: Mario + Antoine

Decision: Mario (Clawdbot main) handles initial bootstrap only — gateway config, Slack bindings, workspace scaffolding, shared skills, connection points (Syncthing job queue). After bootstrap, agents are fully self-maintaining:

  • Agents evolve their own SOUL.md, AGENTS.md, TOOLS.md, MEMORY.md
  • Agents manage their own cron jobs, heartbeats, workspace organization
  • Agents install tools, update skills, self-improve from mistakes
  • Agents update their own protocols as they learn

Mario's ongoing role: Peer/advisor, not infrastructure owner. Only retains oversight on shared system resources (T420 disk, ports, CPU) since both Clawdbot instances share hardware.

Analogy: Mario is the contractor who builds the house. Once the agents move in, they maintain it, decorate it, expand it. They get the keys and run their own shop.
Rationale: Autonomy is the whole point. If Mario does all infrastructure work, agents are puppets, not autonomous entities. The Atomizer Clawdbot should be as self-directed as Mario's own instance.


DEC-A016: Delegation via Skill Script (Not SOUL.md Instructions)

Date: 2026-02-14
Status: Accepted
Proposed by: Mario + Antoine
Context: Gemini Review 2 recommended a TypeScript skill; Mario initially proposed raw curl in SOUL.md; Antoine pushed back.

Decision: Build a bash wrapper script (delegate.sh) as a shared skill. Manager and Tech Lead get the skill; other agents cannot delegate (must request via Manager/Tech Lead).

Alternatives rejected:

  • Raw curl in SOUL.md — fragile, agents hallucinate ports/headers, no error handling
  • TypeScript skill (Gemini's proposal) — overcomplicated for our stack, we don't need npm modules for a curl wrapper
  • No delegation — the entire cluster is useless without inter-agent communication

Rationale: A bash script gives consistency (hardcoded port map, auth), error handling (checks if target is running), and simplicity (no build step, no dependencies). Agents just call delegate.sh <agent> "<task>".


DEC-A017: Manager as PROJECT_STATUS.md Gatekeeper (Not Secretary)

Date: 2026-02-14
Status: Accepted
Proposed by: Mario + Antoine
Context: Gemini Review 2 proposed Secretary as gatekeeper. Antoine and Mario discussed.

Decision: Manager is the sole writer of PROJECT_STATUS.md. All other agents append status updates to project_log.md (append-only). Manager periodically synthesizes the log into the status file.

Why not Secretary: Secretary runs Haiku (cheapest model) — lacks the technical understanding to properly summarize status. Manager already has the big picture and receives all reports.

Why not "no gatekeeper": While we don't have concurrency issues yet, establishing the pattern early prevents problems when traffic increases. Single writer = no merge conflicts.


Pending Decisions

No pending decisions at this time.


Created: 2026-02-07 by Mario