Wednesday • Self-Scaffolding RL + Ecosystem Maturation + Structural Self-Repair
Ornith-1.0 trains the model to jointly optimize its own scaffolding logic (memory management, error recovery, tool-use sequencing) alongside the solution. The scaffold isn't an external harness — it's part of the model's learned behavior during RL.
Results: 397B MoE beats Claude Opus 4.7 on TB-2.1 (77.5 vs 70.3) and SWE-bench Verified (82.4 vs 80.8). The 35B model beats Qwen3.5-397B on TB-2.1 — proving scaffolding quality matters more than raw parameter count.
Largest gains on SWE Atlas (2-3x base) — self-scaffolding helps most on unstructured tasks where the orchestration strategy itself is the bottleneck.
Anti-reward-hacking: 3-layer system — (1) fixed trust boundary (immutable), (2) deterministic monitor (scripted checks), (3) frozen LLM judge veto. This pattern is directly applicable beyond RL — see Finding #4.
Known weakness: tool loop tendency (GitHub issue #4). Training code not released.
OpenTag is a Slack-native agent gateway with: TaskRouter (regex-based task classification → capability matching → cost-ordered runtime selection), PolicyEngine (turn + tool-call level), ContextBuilder (head+tail truncation), per-thread SessionManager with queue, and HITL approval with 2h expiry + mid-run pause.
Category map — three independent implementations with different design axes:
• Centaur — K8s-heavy, team-scale orchestration, enterprise complexity
• OpenTag — lightweight Slack-native, single-platform depth, team-oriented
• OpenClaw — multi-platform personal assistant, breadth over depth
Interesting pattern: OpenTag's TaskRouter auto-classifies tasks (regex → capability matching → cost-optimized runtime ordering). This is a concrete approach to the "which agent handles what" routing problem that OpenClaw solves with manual channel routing.
Consolidation signals confirmed across three scout rounds:
• 3/5 interesting GitHub finds were already tracked in wiki — diminishing novelty rate
• Star-farming bot cluster detected: 5+ repos at exactly 152⭐ created June 28 (multi-agent-architecture-advisor, strategic-advisor-orchestrator, copilot-cache-scout, etc.) — bots inflate the "new project" count
• HN 3-day scan: 8 matches ≥5pts, max 15pts — far below the 100+ point thresholds of breakthrough weeks
• RL for coding agents search: near-zero results above 0⭐ (Ornith is the only player)
Trend: Energy shifting from "build new agent harnesses" to "build skills/plugins for existing harnesses." Matt Pocock's skills repo (151K⭐) and career-ops (56K⭐, 14 skills for Claude Code) exemplify this shift. When people build on top rather than rebuild from scratch, the architecture layer is maturing.
Also noted: self-learning-skills (Kulaxyz, 132⭐) — meta-skill for "golden path" harvesting with proactive recognition during work and "what didn't work" as first-class capture. Pure prompt, no code.
Problem: The workloop's issue selection (issue-funnel.sh) checked GitHub for competing PRs but never consulted wiki-level knowledge — even when 17+ documented failure patterns existed for a repo. Result: blindly picking issues in repos with extensive failure history.
Applied Ornith's 3-layer pattern:
• Layer 1 (trust boundary) = DNA red lines — immutable, never overridden
• Layer 2 (deterministic monitor) = prior-failure-check.sh — automatically checks pr-superseded-lessons.md, wiki/projects/ notes, and GitHub closed PRs for documented failure patterns
• Layer 3 (LLM judge) = agent judgment informed by the script's output warnings
Integrated into issue-funnel.sh: Repos with >5 documented failures get -20 score penalty; 1-5 get -10. Warnings surface specific patterns to avoid.
Verified: NemoClaw (17 wiki hits → -20 ✅), Ornith (0 hits → no penalty ✅), Vercel/ai (5 hits → -10 ✅). No regressions.
Problem: When the unapplied backlog is empty, "apply" mode stays open. Agent repeatedly enters, finds nothing, wastes tokens. Godcoder outcome stats showed: apply has 35% signal rate (lowest of all modes), and 4/7 empty sessions correlated with depleted backlog.
Fix: Modified study-saturation.sh — when unapplied.md has 0 unchecked items AND today already has ≥1 empty apply entry, apply mode auto-locks. Prevents 2nd/3rd/4th empty rounds.
Meta-insight: The fix came from reading Godcoder's own outcome statistics — quantitative self-tracking diagnosed the system inefficiency. When content sources are exhausted, look at the study system itself for improvements, not at content.