Establishes the Karpathy LLM Wiki foundation: top-level wiki/ +
wiki/raw/ directories with README anchors, .gitignore exemption
for the snapshot README, and the complete 7-section schema rule
at context/rules/wiki.md (boundary table, entry schema, slug
derivation, cross-link convention, confidence lifecycle, canonical
frontmatter extraction command, body-merge strategy for updates).
The schema rule auto-loads via context/rules/*.md and is the
canonical reference for US-002 (/wiki-ingest), US-003 (/wiki-query),
and US-004 (/wiki-lint). All three skills MUST use the locked
extraction command from § 6 to avoid silent divergence.
Refs #350. Wave 1 of /delegate execution.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Add `client-` prefix to sandbox-processes.md naming table for
external-surface clients bridging an in-sandbox agent.
- Tighten the `agent-` example off interactive CLIs; document that
claude/codex/opencode are foreground tools, not tmux sessions.
- entrypoint.sh: restore client-slack on container start when
SLACK_APP_TOKEN + SLACK_BOT_TOKEN are present and `pi` is installed.
- Propagate rename through wizard code, READMEs, and docs.
- Fold in half-finished harness-pi rename from #302.
Closes#344
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Removes nine documentation pages whose content no longer matches the
harness (`docs/onboarding.md`, `docs/sandbox-lifecycle.md`,
`docs/connecting.md`, `docs/operations/{provision,destroy,repair}.md`,
`docs/architecture/{overview,container-runtime,crons-and-heartbeats}.md`)
plus the now-orphaned `context/rules/repo-layout-source.md` rule that
pinned the architecture page as the canonical repo-tree source. The
docs site is left with `intro`, `quickstart`, `installation`, and the
`guide` / `agents` / `integrations` sections as the smaller accurate
foundation; per-directory `README.md` files plus the brief
`## Project Structure` block in `AGENTS.md` cover layout.
Closes#279
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Second-round council (5 critics × distinct lenses: faithfulness,
codebase-fit, practical-usability, safety, editor) surfaced findings
the original 3-critic pass missed. Applying.
HIGH-severity fixes:
- Faithfulness disclaimer: RAO is an RL training paper; its
quantitative gains (depth-12 generalization, 2.5x wall-clock,
context-overflow handling) require a trained policy this harness
does not have. The rule now opens with this disclaimer and
explicitly notes Max depth / Step budget are prompt-level
conventions, not runtime caps.
- launch_subagent vs Agent tool: paper's async REPL primitive runs
asyncio coroutines with shared state. Harness Agent tool is
stateless and synchronous. Rule now distinguishes them in
§ Multi-Level Delegation Protocol.
- Enforcement gate added: .claude/skills/delegate/SKILL.md Step 5
gains sub-step a.1 — before spawning a worker authorized to
recurse, confirm Max depth / Max children per level / Step budget
are ALL present. Missing → flat execution only.
- .claude/protected-paths.txt: new rule registered as load-bearing
(now cross-referenced from advisor-model.md and delegate SKILL).
MEDIUM-severity fixes:
- Branching-factor cap added: Max children per level: 5 (hard cap)
alongside Max depth, closing the depth-4 * parallel-spawn fanout
risk.
- Internal duplication cut: dropped "Recursion as Context
Expansion" section (already covered by When-to-Use triggers
+ Recursing-for-reasoning anti-pattern); dropped tautological
Step 4 in protocol; dropped duplicated "no raw content in Goal"
rule; dropped Orchestrator Boundary second paragraph;
dropped See Also entry for repo-layout-source.md (no referent
in this file).
- Ambiguous "Step 5" cross-ref tightened to
"§ 5 Execute waves sub-step (a)".
- "context capacity" trigger reframed to "child's briefing would
exceed one sub-agent's effective context window" — concrete
enough to act on.
- New anti-pattern: "Synthesis pass-through" — mid-tree node
forwards children's outputs verbatim, adds zero value.
- New anti-pattern: "Sideways scope escalation" — child rewriting
a sibling's briefing to lift depth/scope.
Net file size: 121 -> 114 lines. New content (disclaimers,
branching cap, new anti-patterns) more than offset by cuts of
duplicated and tautological text. CHANGELOG entry updated to
reflect the disclaimers and the new enforcement gate.
Closes#269 (continuing).
Adds context/rules/recursive-delegation.md — a new project rule encoding
the inference-time design principles from Recursive Agent Optimization
(arXiv 2605.06639, Gandhi et al., May 2026) that are genuinely novel
relative to existing harness conventions:
- bounding compute (Max depth, Step budget fields in briefings)
- context-as-parameter via an optional Context block
- structured-return schemas declared in Acceptance criteria
- multi-level (recursive) delegation protocol
- recursion-as-context-expansion framing
- orchestrator-vs-sandbox boundary (orchestrator-side trees default
to Max depth: 1; multi-level reserved for rule/docs/skill work,
not in-sandbox application code)
Cross-references existing rules instead of duplicating them. Principles
already covered elsewhere (fresh context per child, parallel-when-
independent, quality-over-quantity, don't-delegate-trivial) intentionally
omitted — see PR body for the council's overlap audit.
Patches:
- context/rules/advisor-model.md: new "Multi-level (recursive)" row in
Pipeline Variants table pointing at the new rule.
- .claude/skills/delegate/SKILL.md: distinct-scope rule + authorization
gate so workers stay flat unless Max depth / Step budget fields are
present in their task description.
CHANGELOG: entry under [Unreleased] / Added, per context/rules/git.md.
Closes#269
Two-tier markdown memory adapted from https://docs.openclaw.ai/concepts/memory:
long-term `memory/MEMORY.md` + daily logs at `memory/YYYY-MM-DD/log.md`.
Formalize the Memory Improvement Protocol as a canonical rule, fix path
drift across skills (workspace/memory/ -> memory/, file form -> subdir
form), and wire the read side via the AGENTS.md/CLAUDE.md session-start list.
New:
- context/rules/memory.md - canonical Memory Improvement Protocol (lifted
+ generalized from delegate/SKILL.md so any skill can reference it)
- memory/README.md - directory README per context/rules/directory-readme.md
- memory/MEMORY.md - long-term lessons stub (append-only)
- memory/x-campaign.md - relocated from memory/2026-05-04/ via git mv
(it's a tracked persistent note, not a daily log)
Edits:
- AGENTS.md - session-start list extended with MEMORY.md, today's log,
and pointer to the new rule
- .gitignore - ignore memory/[0-9]*/ daily logs; top-level memory files
remain tracked
- docs/architecture/container-runtime.md - memory/ entry in the canonical
Repo Layout tree
- .claude/skills/{delegate,harness-audit,skill-lint,strategic-proposal}
/SKILL.md - replace inlined Memory Protocol with cross-ref to the new
canonical rule; fix workspace/memory/ -> memory/; fix
memory/YYYY-MM-DD.md (file form) -> memory/YYYY-MM-DD/log.md (subdir
form) to match what the heartbeat cron and 5 existing daily dirs
already use
- CHANGELOG.md - Unreleased entry
Plan: .claude/plans/study-https-docs-openclaw-ai-concepts-m-cozy-babbage.md
Closes#259
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
git mv .claude/rules context/rules. Re-symlink .claude/rules → ../context/rules
so Claude Code's auto-loader keeps working unchanged. Remove .codex/rules and
.pi/rules symlinks — neither CLI has a rules-loading feature, so they were
inert decoration. Add context/README.md and context/rules/README.md per
directory-readme.md. Update canonical layout tree at
docs/architecture/container-runtime.md and high-visibility teaching references
(AGENTS.md, CLAUDE.md, .claude/agents/rule-builder.md). ~50 other scattered
references kept as-is — the .claude/rules symlink resolves them.
Closes#257
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replaces the NO-RUN guidance in /ci-status with a concrete enumeration
of this repo's path-filtered workflows so future infrastructure-only
PRs (devcontainer/scripts/install/) get accurate "no CI on push, that's
expected" reporting instead of being told to check a non-existent
ci.yml.
Closes#253
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add tracked README to apps/, crons/, scripts/, tasks/, .worktrees/
documenting each directory's intent, subfolders, and lifecycle.
Codify the pattern as .claude/rules/directory-readme.md so future
directories follow it.
.gitignore now exempts only .worktrees/README.md (replacing the
unused .gitkeep exemption); .claude/rules/git.md § Worktrees
points to the new README and documents the
.worktrees/project/<project-name>/<repo>/ slot for independent
project clones (own .git, not harness branches);
docs/architecture/container-runtime.md moves .worktrees/ into
the canonical tree.
context/IDENTITY.md gains three lessons from this session:
README-over-.gitkeep for tracked-empty dirs, "treat X same as Y"
interpretation discipline, and semantic-subfolder enumeration in
directory READMEs.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- crons/heartbeat.md: add step 2.5 (read ## Active items, validate via
permitted checks), extend Reporting block with WATCHING/RESOLVED
surfacing and a mandatory closing-step liveness append, append new
## Active items section with format, entry/exit policy, and an
enumerated permitted-checks list (gh pr view, gh issue view, gh run
list, gh release list, date-based reminders).
- crons/cleanup-tasks.md: add step 4 (mandatory liveness append).
- .gitignore: generalize crons/cron-runtime.log -> crons/*.log so the
new crons/cron.log is also covered.
- context/USER.md: add 3-sentence "Tracking deferred follow-ups"
section after Authorization patterns; pointer-only, no example
tables (round-3 critic D guidance on register match).
- CHANGELOG.md entry under [Unreleased] § Added.
Per plan v5 at .claude/plans/polished-spinning-dijkstra.md. Cron is
read-only on the watchlist; sessions add and remove lines. Closes#224.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Implements the gist v0.6 spec's session-loaded identity layer
(https://gist.github.com/ryaneggz/8f6811efa144ac94d3cdc383846134d8
§"context/"), adapted for single-user harness scope. The v0.7
convergence (PR #212, US-013) correctly removed workspace identity
files (pack territory) but never created the canonical orchestrator
context/ folder.
Four files at repo root:
- context/SOUL.md (voice and disposition, ~30 lines)
- context/IDENTITY.md (operating principles + append-only lessons
learned, ~60 lines)
- context/TOOLS.md (environment inventory, ~40 lines)
- context/USER.md (working-relationship patterns, living document,
~45 lines)
Plus:
- AGENTS.md gains a "Session start" section instructing the
orchestrator to read context/*.md at session start
- .claude/protected-paths.txt extended with the four context/ entries
so future cleanup passes don't delete them
The IDENTITY.md lessons-learned section captures the meta-principles
this session produced — revealed preference > stated preference,
critic-gate before destructive actions, short feedback loops over
speculative infrastructure — that would otherwise vanish when the
conversation ends.
USER.md is the most session-bridging file: encodes communication
style, decision style, authorization patterns, and cleanup
expectations inferred from this session's interaction. Marked as a
living document that the agent proposes updates to after sessions
that produce new patterns.
Closes#220.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>