From 8857866ba5e6972af1fd5d9a72417c83a7bee793 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 10 Jul 2026 13:28:43 +0000 Subject: [PATCH] Release 1.4.2: remove CODE_OF_CONDUCT.md and docs/PORTABILITY-PROPOSAL.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A skills library doesn't need a code of conduct file, and the portability draft was research exhaust rather than product — it lives on in git history. README FAQ updated to cover portability without the doc; no pack changes beyond the VERSION stamp. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_018jhc6bbZ4tFqcowVKarvSe --- .claude/fable/VERSION | 2 +- CHANGELOG.md | 7 ++ CODE_OF_CONDUCT.md | 68 --------------- README.md | 2 +- docs/PORTABILITY-PROPOSAL.md | 158 ----------------------------------- 5 files changed, 9 insertions(+), 228 deletions(-) delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 docs/PORTABILITY-PROPOSAL.md diff --git a/.claude/fable/VERSION b/.claude/fable/VERSION index 347f583..9df886c 100644 --- a/.claude/fable/VERSION +++ b/.claude/fable/VERSION @@ -1 +1 @@ -1.4.1 +1.4.2 diff --git a/CHANGELOG.md b/CHANGELOG.md index d34e3ab..4ba2ecc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ If a release ever removes a shipped file, the entry lists the stale path so `--update` users can delete it manually. +## 1.4.2 — 2026-07-10 + +Repo slimming; no pack changes beyond the `VERSION` stamp. + +- `CODE_OF_CONDUCT.md` removed — a skills library doesn't need one; standard open-source courtesy applies and anything off can go to Hello@creativesky.ai. +- `docs/PORTABILITY-PROPOSAL.md` removed — the draft analysis was research exhaust, not product; it lives on in git history, and the README FAQ now covers portability in two sentences. + ## 1.4.1 — 2026-07-10 Release publishing is now automated; this is the first published GitHub Release. No pack changes beyond the `VERSION` stamp — if you're arriving fresh, the 1.4.0 entry below is what's actually new (MIT licensing, community docs, the rebuilt README, hardened installers and CI). diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index e0b84d3..0000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,68 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, caste, color, religion, or sexual -identity and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the overall - community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or advances - of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email address, - without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -**Hello@creativesky.ai**. All complaints will be reviewed and investigated -promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.1, available at -[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. - -[homepage]: https://www.contributor-covenant.org -[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html diff --git a/README.md b/README.md index 10e1814..f9f2761 100644 --- a/README.md +++ b/README.md @@ -233,7 +233,7 @@ Orchestration multiplies agents, and the pack is honest about it: `/fable-review
Does it work outside Claude Code? -The doctrine, agents, and skills port reasonably (they're markdown); the workflow scripts are Claude-Code-specific (the Workflow tool's JS sandbox). Every skill ships an Agent-tool fallback that emulates its stages. A draft analysis of Cursor/local-model portability lives in [docs/PORTABILITY-PROPOSAL.md](docs/PORTABILITY-PROPOSAL.md). +The doctrine, agents, and skills port reasonably (they're markdown); the workflow scripts are Claude-Code-specific (the Workflow tool's JS sandbox). Every skill ships an Agent-tool fallback that emulates its stages, and on hosts that read `.claude/` directories (Cursor and friends) that fallback becomes the primary path. First-class support for other harnesses is open for discussion in the issues.
diff --git a/docs/PORTABILITY-PROPOSAL.md b/docs/PORTABILITY-PROPOSAL.md deleted file mode 100644 index e01289d..0000000 --- a/docs/PORTABILITY-PROPOSAL.md +++ /dev/null @@ -1,158 +0,0 @@ -# Proposal: Running Fable Mode Outside Claude Code (Cursor, Local DGX Spark, Grok Heavy) - -> **STATUS: DRAFT — RESEARCH NOT YET VERIFIED.** This is an exploratory roadmap, not a commitment. -> Web research was conducted in July 2026 and some of it rests on low-quality secondary sources; -> **facts flagged with ⚠ below are the least certain and need primary-source re-verification before -> anyone acts on them.** Nothing here has been implemented. Corrections and firsthand reports are -> welcome as issues or PRs. - -## Question this answers - -Can the Fable Mode pack run outside Claude Code — specifically in **Cursor**, on a **local NVIDIA DGX -Spark** with open-weight models, or against **Grok Heavy** — and how would we facilitate that? - ---- - -## The core reframe - -Fable Mode is four layers (see [CLAUDE.md](../CLAUDE.md) "Architecture: four layers wired by name"). They -port with very different ease: - -| Layer | Portability | Why | -|---|---|---| -| Skills (`.claude/skills/*/SKILL.md`) | **High** | Anthropic's Agent Skills spec is now widely adopted (Cursor, others). | -| Agents (`.claude/agents/fable-*.md`) | **High** | `name`/`description`/`model` frontmatter + delegation-by-description is a common shape; `AGENTS.md` is a Linux-Foundation standard. | -| Doctrine (`.claude/fable/FABLE.md` via `@`-import) | **Medium** | The text ports; the `@path` import mechanism and `CLAUDE.md` discovery are Claude-Code-specific. | -| Workflows (`.claude/workflows/*.js`) | **Low / none** | The Workflow-tool JS sandbox (`agent()`/`parallel()`/`pipeline()`, deterministic loops, vote tallies, announced caps) exists only in Claude Code. | - -**Strategic consequence:** the pack's portable value is the **doctrine + the seven role-agents**, not the -JS scripts. Every SKILL.md already ships an "if the Workflow tool is unavailable, emulate the stages with -parallel Agent-tool calls" fallback — on any non-Claude-Code host, that fallback *becomes* the primary -implementation. The universal substrate is **`AGENTS.md` (doctrine) + subagents**. - ---- - -## Scenario 1 — Cursor (best supported) - -Cursor natively discovers Claude Code's directories, so most of the pack works in place. - -- **Agents** — Cursor scans `.claude/agents/` directly (subagent system, delegation by `description`). - `model: inherit` maps 1:1. **Lost:** the `tools:` allowlist field has no Cursor equivalent; nearest is - `readonly: true`, which fits the read-only roles (scout, finder, skeptic, judge, critic). -- **Skills** — `.claude/skills/` is a discovered path; `/skill-name` invocation works. -- **Doctrine** — the Cursor **IDE agent does not read `CLAUDE.md`** and does not follow the - `@.claude/fable/FABLE.md` import (only the Cursor CLI reads `CLAUDE.md`, and import-following is - undocumented). **Fix:** inline FABLE.md into `.cursor/rules/fable-doctrine.mdc` with `alwaysApply: true`, - or into a root `AGENTS.md`. -- **Workflows** — no equivalent; becomes prose in the skills driving Cursor's real parallel subagents - (worktree isolation via `/worktree`, `/best-of-n`). -- **Bonus:** Cursor **hooks** (`.cursor/hooks.json`, `stop`/`subagentStop` with `followup_message` + - `loop_limit`) could machine-enforce "done means verified" — stronger than the prose-only enforcement the - pack has today. - -**Verdict:** ~80% ports with a doctrine re-home. One installer branch (`--target cursor`) that inlines -FABLE.md into an `.mdc`/`AGENTS.md` and adjusts the idempotence check gets there. - -⚠ **To re-verify:** the four `.mdc` activation modes and exact frontmatter fields; that `.claude/agents/` -and `.claude/skills/` are still auto-discovered; whether `tools:` is truly ignored; current Cursor version -and feature names (`/multitask`, `/worktree`, `/best-of-n`, `/in-cloud` — version numbers came from -low-quality secondary sources and were **not** all confirmed against the official changelog). - ---- - -## Scenario 2 — DGX Spark, fully local - -DGX Spark = GB10 Grace Blackwell, 128 GB unified memory. Two viable paths. - -**Path A — Keep Claude Code, point it at a local model (recommended).** -Claude Code speaks Anthropic's Messages API; local servers (Ollama, vLLM, llama.cpp) speak OpenAI's -format, so a translation proxy is required: **claude-code-router** (simplest) or **LiteLLM** (team/audit). -Set `ANTHROPIC_BASE_URL` to the proxy + a dummy `ANTHROPIC_AUTH_TOKEN`. **Win:** the Workflow tool, -subagents, and skills all keep working — only the reasoning model changes. **Caveat:** multi-agent fan-out -and structured-output schemas depend on tool-calling fidelity, which open-weight models do less reliably -than Claude. **Supply-chain hygiene:** whichever proxy you choose, install a pinned, checksummed release -from the official source and review its changelog/advisories before giving it credentials — proxies sit -on the path that carries your API keys. - -**Path B — Use a local-native harness.** OpenCode (75+ endpoints incl. local Ollama / OpenAI-compatible, -reads `AGENTS.md`) or Goose (Block; subagents, recipes, MCP; reads `AGENTS.md`). Run the portable core -(AGENTS.md doctrine + seven agents) with no proxy. Lose the JS workflow determinism. - -**Hardware fit.** DGX Spark runs vLLM natively (NVIDIA ships a vLLM playbook). Model candidates in 128 GB: -`gpt-oss-120b` (MXFP4, ~66 GB), Qwen3-Coder MoE variants, GLM-Air-class MoE — NVFP4 MoE with ~10–15B active -params is the tuned sweet spot. ⚠ **Throughput reality:** single-box DGX Spark is tens of tok/s for large -models (gpt-oss-20b reported ~58 tok/s), not the hundreds cloud inference gives. Wide fan-out (5-vote -verification, exhaust loops) is slow locally → **turn the scale dial down**: smaller finder pools, -single-vote verification by default locally. - -**Recommendation:** Claude Code + claude-code-router + vLLM serving `gpt-oss-120b` or a Qwen3-Coder MoE. -Keeps 100% of the pack; tune fleet sizes for local throughput. Fall back to OpenCode-native if local -tool-calling is too flaky for the Workflow tool's structured output. - -⚠ **To re-verify:** current NVIDIA-recommended serving stack for GB10; which open-weight models genuinely -handle agentic tool-calling well at this size; real tok/s under multi-agent load; whether Claude Code's -Workflow tool actually produces valid structured output against a given local model (needs an empirical -test, not just docs). - ---- - -## Scenario 3 — Grok Heavy - -⚠ **Key finding, needs primary re-verification:** xAI's current API docs appear to list a -`grok-4.20-...-multi-agent` chat model alongside the flagship `grok-4.3` (1M context), at the same pricing -as regular chat models — meaning the parallel-agent "Heavy" behavior may now be **API-reachable**, not -consumer-only as it was at launch (SuperGrok Heavy, $300/mo, grok.com). Exact model IDs churn and -secondary coverage is unreliable; trust only `docs.x.ai` at call time. - -**How to drive it.** -- xAI API is **OpenAI-compatible** at `https://api.x.ai/v1`. Anthropic-SDK compatibility was offered once - but appears **deprecated** now (consistent with the reported Anthropic–xAI access dispute) — do **not** - point `ANTHROPIC_BASE_URL` straight at `api.x.ai`. -- To run Claude Code + the full pack against Grok, use **claude-code-router / LiteLLM** (Messages→OpenAI - translation), same as the local path. -- **Design decision:** if you use xAI's own `multi-agent` model, you get xAI's internal fan-out *plus* the - pack's orchestration — redundant. For an honest test of *your* doctrine, point the pack at the - single-agent flagship (`grok-4.3`) and let Fable Mode supply the multi-agent structure. **Framing: the - pack is a portable "Heavy tier" for any model.** -- Zero-proxy alternative: Grok is selectable directly inside Cursor, so Scenario 1 + Grok works without a - proxy. - -⚠ **To re-verify:** exact live model IDs; whether a `multi-agent` model is really API-exposed; current -Anthropic-compat status; whether xAI ships its own coding CLI worth targeting. - ---- - -## How to facilitate (proposed pack additions — none implemented yet) - -Through-line: **`AGENTS.md` + the seven agents is the universal substrate; the JS workflows are the -Claude-Code-only luxury.** - -1. **Generate an `AGENTS.md` mirror of FABLE.md.** Highest-leverage single addition — makes the doctrine - readable by Cursor, Codex, OpenCode, Goose, Aider, Gemini CLI in one file. -2. **Add installer target modes.** `--target cursor` inlines FABLE.md into - `.cursor/rules/fable-doctrine.mdc` (`alwaysApply: true`) instead of the `@`-import, and updates the - idempotence grep. `--target agents-md` writes/appends doctrine to `AGENTS.md`. -3. **Promote each skill's Agent-tool fallback to a first-class orchestration playbook** — on non-Claude-Code - hosts it *is* the implementation. Verify each fable-* skill's fallback fully specifies the fan-out. -4. **Ship `BACKENDS.md`** — proxy recipes (claude-code-router / LiteLLM env vars) for local vLLM/Ollama on - DGX Spark and for xAI Grok; the LiteLLM version-pin warning; DGX throughput → scale-dial guidance. -5. **Document what's lost per target** in README — deterministic loop-until-dry / vote-counting / announced - caps exist only under the Workflow tool; elsewhere they are LLM-followed prose (verify more, trust less). - -Validation for any of these: existing `tools/check-workflows.cjs` (for naming/wiring) plus an installer -smoke-test (idempotent, skips existing files, no duplicate import line) per [CLAUDE.md](../CLAUDE.md) -"Validation commands". - ---- - -## Open review questions - -1. **Re-verify every ⚠ fact against primary docs** (cursor.com/docs, docs.x.ai, NVIDIA DGX Spark docs) — - version numbers and model IDs here came partly from unreliable sources. -2. **Pressure-test the "workflows don't port" claim** — is there a lighter-weight portable orchestration - representation (e.g., a declarative phase spec both the Workflow tool and a prose-driven host can read) - that would preserve more than raw prose? -3. **Decide the priority order** — Cursor is lowest-effort/highest-return; is that the right first pilot? -4. **Empirical gap:** none of the local/Grok tool-calling-fidelity claims are tested. A real - Workflow-tool-against-local-model smoke test would de-risk the DGX recommendation more than any doc. -5. **Scope check:** should this become real installer work, or stay a reference doc?