Commit Graph
4 Commits
Author SHA1 Message Date
janvanwanandClaude Opus 5 6d6aa8bdb0 refactor(playbooks): drop the standalone Ponyman playbook
package / wheel (push) Canceled after 0s
Now that Ponyman is folded into main's instructions it is always in the
active system prompt, so the order-9 copy was duplicate text. Several of
its tags (minimal, lazy, shortest) do occur in ordinary development chat,
so _route_playbooks would periodically inject a second copy of guidance
already present verbatim.

Checked before removing: nothing in the codebase referenced the id or the
title. The only other "Ponyman" hit is .github/agents/ponytail-caveman.agent.md,
an unrelated Claude Code agent definition, not a playbook-store record.

Diffed the two texts first. One sentence existed only in the standalone -
"Lazy means efficient, never careless" - and is now on main's PONYMAN MODE
header. The other two gaps were phrasing: the standalone's "stay in this
mode until the user says normal mode" is covered by main's stronger version,
which relaxes only brevity and voice and keeps RULE 1 and RULE 2 in force.

This matches the reference setup, where Ponyman lives in main and no
standalone playbook exists.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 20:06:05 -05:00
janvanwanandClaude Opus 5 12af13b019 fix(playbooks): wire Ponyman into main so it actually applies
package / wheel (push) Canceled after 0s
Ponyman shipped as a standalone reference playbook at order 9, which meant
it almost never ran. _route_playbooks() in synapse/main.py matches a
reference playbook only when one of its tags appears as a literal token in
the user's message, and returns [] otherwise. Its tags are ponyman,
caveman, ponytail, lazy, terse, brevity, minimal, yagni, shortest — words
nobody types when they ask a normal question. So a fresh install advertised
Ponyman mode and then answered in default voice.

Ponyman is a standing instruction, not a topic, so it belongs in the active
system prompt rather than in the routed pool. It is now folded into main's
instructions, and main's goal states the mode is on by default. Both halves
matter: playbook_manager prepends goal to instructions for the active
playbook.

Carries the full text — RULE 1 (destructive commands are always spelled out
in full sentences) and RULE 2 (answer the ask, don't build past it), the
voice and BUILD ladder, the NEVER CUT list, and the "normal mode" escape
that relaxes brevity while leaving both rules in force.

The standalone Ponyman playbook is left in place for now; nothing in the
code references it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 20:04:44 -05:00
janvanwanandClaude Opus 5 a06366001b fix(playbooks): bring the shipped set up to date with v1.2.0
package / wheel (push) Canceled after 0s
The distributed playbooks had drifted well behind the code they run on:

- `main` and `NexusOS Developer` declared no `tools:` at all, so a fresh
  install advertised zero tool schemas to Ollama. The tool-calling loop,
  the per-playbook allowlist and the action-tool consent gate all shipped
  in v1.2.0 with nothing wired to use them. `main` now gets read_file,
  list_files and remember; `NexusOS Developer` gets the read/search set.
- `NexusOS Developer` still described the memory extractor as a separate
  FastAPI service on port 8001 backed by `synapse/memory/service.py`.
  That module is gone; curation runs in-process via curator.py/extractor.py.
  It also pointed at `synapse/playbooks/` for playbook data (that is the
  store code; the data lives in `data/playbooks/`), described a two-layer
  system prompt that is now six layers, and documented a model-selection
  heuristic that no longer exists.
- `Ponyman` had a stray third-person "he" left over from the owner scrub.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 19:50:12 -05:00
Jon Wingender 714b9fc890 Initial commit: NexusOS - local AI assistant platform 2026-07-21 22:48:38 -05:00