You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Two capabilities plus bundled in-flight tree changes, committed together at the user's request. Every touched plugin takes a minor (new-capability) bump: foundry 0.31.6→0.32.0, oss 0.17.8→0.18.0, develop 0.11.7→0.12.0, research 0.9.5→0.10.0.
Per-skill compaction contracts — survive auto-compaction losslessly:
- Context auto-compacts at 85% and previously preserved only modified-file paths, so a compaction landing mid-workflow (parallel fan-out, iteration loop, large gather) could drop the distilled hand-off the next phase needs. There is no skill-invokable /compact, so the design rides auto-compact: skills keep a contract file fresh at expanding-phase boundaries and the hook stages it verbatim.
- The PreCompact hook (plugins/foundry/hooks/task-log.js) now reads .claude/state/skill-contract.md and appends it verbatim under a "## Skill Compaction Contract" section of session-context.md, which CLAUDE.md re-reads after compaction and now treats as an authoritative skill hand-off. Same change also fixes a pre-existing bug where the hook's full rewrite clobbered foundry:session's "## Parked items" — those are now carried over idempotently.
- New shared convention: plugins/foundry/rules/compaction.md (the verbatim-file principle, placement, clear-on-completion) and plugins/foundry/skills/_shared/compaction-contract.md (the block template + acceptance criteria).
- Adopted in 19 phased skills, each with a custom checkpoint tuned to its flow — fan-out→consolidate (oss:review, develop:review, foundry:audit, foundry:calibrate), iteration loops (research:run/sweep/fortify/kaggle, oss:resolve), discovery→edit→review (develop:feature/fix/refactor/debug), and gather→synthesize (oss:analyse, research:topic/judge, foundry:brainstorm/investigate/distill). Each gains a "# loads:" ref, a <compaction> block, boundary contract-writes, an optional --keep "<items>" arg to pin extra preserve items per invocation, and clear-on-completion. Single-shot/mechanical skills (codemap:*, foundry:session/setup/profile, research:plan/verify/retro) are excluded.
advisorModel sync via /foundry:setup:
- /advisor writes advisorModel only to the global ~/.claude/settings.json; sync.sh never propagated it. foundry:setup gains a Step 8 that reads a project-pinned advisorModel from ./.claude/settings.json and merges it into global, so the preference now travels with the repo. Pinned in this project's .claude/settings.json ("fable").
Bundled maintenance (in-flight tree work, committed together — not individually reviewed as part of the compaction change):
- chore: pre-commit toolchain upgrade — ruff v0.11.4→v0.15.20, eslint v10.2.0→v10.6.0, check-added-large-files maxkb 125→250 — plus the resulting ruff auto-formatting/fixes across plugin bin/ and tests/ files.
- fix: hardened shared flag parsing (develop dev_parse_args.py and peers) — full flag-token match via negative lookbehind so e.g. `--planets` no longer satisfies `--plan` and a flag is not consumed as another flag's value.
- test: additional benchmark tests under benchmarks/tests/ (~380 lines).
Verification (compaction): 16 hook tests pass; all 19 skills pass marker + tag-balance + orphan-safety checks; cross-plugin propagation in sync; --keep frontmatter valid. Contract survival is deterministic once written; timing rides auto-compact (a compaction before a skill's first boundary keeps only the generic files breadcrumb — stated limitation).
---
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Copy file name to clipboardExpand all lines: .claude/README.md
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,7 +67,7 @@ claude plugin install codemap@borda-ai-rig
67
67
/foundry:setup
68
68
```
69
69
70
-
This merges `statusLine`, `permissions.allow`, and `enabledPlugins` (codex plugin) into `~/.claude/settings.json`; symlinks `rules/*.md` and `TEAM_PROTOCOL.md` into `~/.claude/`. Agents, skills, and hooks are exposed natively by the Claude Code plugin system — no symlinks needed.
70
+
This merges `statusLine`, `permissions.allow`, `enabledPlugins` (codex plugin), and `advisorModel` into `~/.claude/settings.json`; symlinks `rules/*.md` and `TEAM_PROTOCOL.md` into `~/.claude/`. Agents, skills, and hooks are exposed natively by the Claude Code plugin system — no symlinks needed.
71
71
72
72
**What is restored:**`~/.claude/rules/*.md` and `~/.claude/TEAM_PROTOCOL.md` become symlinks into the installed foundry plugin. `~/.claude/settings.json` is updated in-place. All other plugin files (agents, skills, hooks, CLAUDE.md) are served directly by the plugin system. The only local-machine files are `settings.local.json` and `settings.json` (project prefs + permissions).
73
73
@@ -92,7 +92,7 @@ plugins/foundry/ ← source of truth
# (re-run after plugin upgrade to refresh stale rule symlinks)
97
97
```
98
98
@@ -495,7 +495,6 @@ A native research harness for questions that need real sourcing rather than a si
495
495
-**Don't use it** for a single-fact lookup (a normal web search or an inline answer is faster) or for anything answerable from the codebase (use `/codemap:query-code`, grep, or a direct read).
496
496
-**Scope first** — if the question is underspecified (e.g. "what car should I buy" with no budget / use-case / region), it will ask 2-3 clarifying questions before spending the search budget. Giving those constraints up front produces a sharper report.
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -461,7 +461,7 @@ claude plugin install research@borda-ai-rig
461
461
claude plugin install codemap@borda-ai-rig
462
462
```
463
463
464
-
Re-run `/foundry:setup` only if permissionsor `enabledPlugins` changed. Re-run `/foundry:setup`if you previously used the link mode — symlinks point to the old plugin cache after an upgrade.
464
+
Re-run `/foundry:setup` only if permissions, `enabledPlugins`, or `advisorModel` changed. Re-run `/foundry:setup`if you previously used the link mode — symlinks point to the old plugin cache after an upgrade.
0 commit comments