/solcom-lfg realisiert die autonome Pipeline als in-session Skill-Orchestrator
Kontext
Der User will einen einzigen autonomen Befehl ab dem Punkt, an dem ein refined PRD
existiert: decompose → build → dogfood → review → fix → CI → MR-ready → learn.
Grilling und PRD-Schreiben bleiben menschlich; der finale Merge ebenfalls
(siehe Konsequenzen). Anlass: der lfg-Skill aus
EveryInc/compound-engineering-plugin.
Verifizierter Befund: scripts/workflows/adscaile.mjs
(aus ADR-0048) ist KEIN lauffähiges Runtime — es nutzt undefinierte freie Globals
(args/agent/phase/log/Workflow)
ohne Import, es gibt kein Workflow-Tool und keinen Runner im Repo; die
API-Form ist der Drittanbieter-Dialekt @ai-hero/sandcastle, nicht
Claude-Code-nativ. ADR-0048 deklarierte adScaile zum Nachfolger von
scripts/ralph.sh, aber diese Supersession wurde nie realisiert
(Nachfolger ohne Runtime).
scripts/ralph.sh (ADR-0037) ist der real lauffähige Bash-Mass-Loop
über ready-for-agent-Stories (detached, Cron-fähig). Reale
In-Session-Arbeit lief über das Implement-Triple (implement →
solcom-review → auto-review-fix), getrieben via
/goal + Persistent Monitor.
Das Original-lfg ist selbst kein Bash-Runner, sondern eine SKILL.md,
die Claude in-session liest und Sub-Skills sequenziell mit STOP-GATEs aufruft.
Entscheidung
/solcom-lfg wird als dünner, in-session Skill-Orchestrator gebaut
(.claude/skills/solcom-lfg/SKILL.md), strukturiert wie das
Original-lfg: gated sequenzielle Skill-Invocation, re-implementiert
nichts.
Kette: solcom-to-issues (Decompose) →
implement (Build + Azure-DevOps-PR) →
solcom-dogfood (Frontend-User-Journey-QA via agent-browser) →
solcom-review --persist →
auto-review-fix ohne --merge (Fix + CI, PR bleibt review-ready offen; nutzt intern fix-ci) →
Learn (Auto-Memory / docs/wiki/-Vorschlag) →
<promise>DONE</promise>.
Autonom ohne Zwischen-Gate während der Pipeline (User-Entscheidung 2026-05-29); das menschliche Review fand upstream im Grilling/PRD statt. Der finale Merge bleibt aber menschlich — die Pipeline endet am review-ready MR, die KI merged nie selbst (Korrektur 2026-05-29, siehe Konsequenzen).
Model-Policy: Sonnet ist Hauptschläger (Bau-/Review-/Merge-Phasen
erben das aus den Sub-Skills), Opus steht nur als Buddy daneben — Trade-off-Vorab-Brief
in implement plus ambiger-Finding-Consult
Agent(model:"opus") in der Review-Phase.
Designed für /goal als persistenten Driver; die
Persistent-Monitor-Mechanik kommt aus den Sub-Skills, /solcom-lfg
setzt keinen eigenen zweiten Monitor.
Verworfene Alternativen
(a) lfg.sh auf dem ralph.sh-Bash-Plumbing
Verworfen: die ralph.sh-Choreographie ist ADR-0037
(plan → contract → contract-eval → implement → review → merge), genau
das Design, das adScaile ablösen wollte; und die in-session-Skills existieren bereits
und sind erprobt, also kein neues Bash-Runtime nötig. scripts/ralph.sh
bleibt für den detached Mass-Loop (AFK, Cron) gültig.
(b) Agent-SDK-Runner (query())
Verworfen: braucht ANTHROPIC_API_KEY plus npm-Infra (beides nicht
vorhanden) plus API-Billing; das in-session-Subscription-Modell ist kostenfrei.
(c) adscaile.mjs lauffähig machen
Verworfen: @ai-hero/sandcastle-Dialekt, kein CC-natives Runtime; bleibt
als Design-Spec / Referenz (docs/agents/adscaile.html).
Konsequenzen
-
KI merged nicht — Pipeline endet am MR (Korrektur 2026-05-29):
Die ursprüngliche „Fix + CI + Merge"-Formulierung dieses ADR ist überstimmt.
/solcom-lfgbringt den PR nur bis review-ready (CI grün, alle Findings adressiert); der Merge ist eine menschliche Entscheidung.auto-review-fixbekommt dafür Default-no-merge plus opt-in--merge(das/solcom-lfgnie setzt). Rationale: kein KI-Code geht ohne menschlichen Merge-Blick nachdevelopauf einem Shared-Repo mit Go-Live-Deadline. Memoryfeedback_ki_merged_nicht_bis_mr. -
Amendet ADR-0048: die dort deklarierte Supersession von
ralph.shdurch adScaile wird im Geist realisiert — aber als in-session Skill-Orchestrator, NICHT als JS-Workflow-Runtime.adscaile.mjs,docs/agents/adscaile.htmlundscripts/prompts/bleiben Referenz-Spec. -
Zwei autonome Pfade koexistieren, klar getrennt:
/solcom-lfg= in-session, Single-PRD, ein Befehl (dieser ADR);scripts/ralph.sh= detached Bash-Mass-Loop über vieleready-for-agent-Stories (ADR-0037, weiterhin gültig). -
Frontend-Achse abgedeckt: Dogfood-Phase via
solcom-dogfood(User-Journey-Matrix, fährtagent-browserintern), Findings durabel im PR-Body (analog zum lfg-Pattern „residual handoff to PR body"). -
Learn-Phase als ce-compound-Analog: Session-Learnings landen in
der Auto-Memory; bei ≥3 Strang-Verweisen folgt ein
docs/wiki/-Promote-Vorschlag. -
Kein
customer-lens-reviewer-Gate: dies ist eine Workflow-/Tooling-Entscheidung, keine Komponenten-Topologie (Figma/SDC/Theme), für die diese Lens gedacht ist. - Offene Design-Frage (spätere Iteration): das genaue Opus-Buddy-Routing (wie der Sonnet-Reviewer ambige Findings strukturiert flaggt); v1 macht das ad-hoc im Review-Step.