From cf2dfd39e4f888e39ac7d9877214d44f24ebe16f Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 18 Oct 2026 04:35:38 +0000 Subject: [PATCH 1/2] =?UTF-8?q?context-forge=200.10.0:=20How=20to=20Act=20?= =?UTF-8?q?#1=20=E2=80=94=20list=20unilateral=20assumptions=20before=20act?= =?UTF-8?q?ing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Extend behavior #1 ("Don't assume — ask") of the generated behavioral contract: before acting, the agent always lists every assumption it is making on its own (scope, interpretation, defaults, choices between options) with its basis, or says "none", so the user can correct one before work builds on it. Keeps the four-behavior shape (CF-N2) and the sentinel markers, so re-runs replace the block in place. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01NWknUUR4cHtnnYiUq41wiy --- plugins/context-forge/.claude-plugin/plugin.json | 2 +- plugins/context-forge/.codex-plugin/plugin.json | 2 +- plugins/context-forge/.cursor-plugin/plugin.json | 2 +- plugins/context-forge/skills/context-constitution/SKILL.md | 2 +- .../context-constitution/templates/behavioral-contract.md | 6 ++++-- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/plugins/context-forge/.claude-plugin/plugin.json b/plugins/context-forge/.claude-plugin/plugin.json index f47a492..36cc3fe 100644 --- a/plugins/context-forge/.claude-plugin/plugin.json +++ b/plugins/context-forge/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "context-forge", "displayName": "Context Forge", - "version": "0.9.0", + "version": "0.10.0", "description": "A context-engineering toolkit for AI coding agents. context-constitution reverse-engineers a repo's non-obvious tribal knowledge into an evidence-cited context-constitution.md plus a behavioral contract in CLAUDE.md; context-scrubber audits the repo's context files and reports every line that fails the litmus test — stale citations, restated facts, cross-file duplication, contradicted-by-code, should-be-just-in-time, brittle/over-specified, bloat — plus two file-level advisories, a context-budget rot check and a silent-skill (weak trigger surface) audit, with an optional gated trim. Adds the high-signal context, removes the low-signal; invents nothing, every rule and verdict is grounded.", "author": { "name": "David Castillo", diff --git a/plugins/context-forge/.codex-plugin/plugin.json b/plugins/context-forge/.codex-plugin/plugin.json index c350075..28880e1 100644 --- a/plugins/context-forge/.codex-plugin/plugin.json +++ b/plugins/context-forge/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "context-forge", - "version": "0.9.0", + "version": "0.10.0", "description": "A context-engineering toolkit for AI coding agents. context-constitution reverse-engineers a repo's non-obvious tribal knowledge into an evidence-cited context-constitution.md plus a behavioral contract in CLAUDE.md; context-scrubber audits the repo's context files and reports every line that fails the litmus test — stale citations, restated facts, cross-file duplication, contradicted-by-code, should-be-just-in-time, brittle/over-specified, bloat — plus two file-level advisories, a context-budget rot check and a silent-skill (weak trigger surface) audit, with an optional gated trim. Adds the high-signal context, removes the low-signal; invents nothing, every rule and verdict is grounded.", "author": { "name": "David Castillo", diff --git a/plugins/context-forge/.cursor-plugin/plugin.json b/plugins/context-forge/.cursor-plugin/plugin.json index f47a492..36cc3fe 100644 --- a/plugins/context-forge/.cursor-plugin/plugin.json +++ b/plugins/context-forge/.cursor-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "context-forge", "displayName": "Context Forge", - "version": "0.9.0", + "version": "0.10.0", "description": "A context-engineering toolkit for AI coding agents. context-constitution reverse-engineers a repo's non-obvious tribal knowledge into an evidence-cited context-constitution.md plus a behavioral contract in CLAUDE.md; context-scrubber audits the repo's context files and reports every line that fails the litmus test — stale citations, restated facts, cross-file duplication, contradicted-by-code, should-be-just-in-time, brittle/over-specified, bloat — plus two file-level advisories, a context-budget rot check and a silent-skill (weak trigger surface) audit, with an optional gated trim. Adds the high-signal context, removes the low-signal; invents nothing, every rule and verdict is grounded.", "author": { "name": "David Castillo", diff --git a/plugins/context-forge/skills/context-constitution/SKILL.md b/plugins/context-forge/skills/context-constitution/SKILL.md index c43fcfb..8def030 100644 --- a/plugins/context-forge/skills/context-constitution/SKILL.md +++ b/plugins/context-forge/skills/context-constitution/SKILL.md @@ -15,7 +15,7 @@ rework — into durable, complementary artifacts (two core; a third when defects Norms), each grounded in real evidence (multi-site citations, an authoritative site, or a commit); and - a **behavioral contract** prepended to the **root `CLAUDE.md`**: four repo-agnostic behaviors - (ask before assuming · minimum viable · surgical diffs · verify against a stated finish line) that + (ask before assuming, listing assumptions up front · minimum viable · surgical diffs · verify against a stated finish line) that shape *how* an agent works. It goes in the root only — it's generic and `CLAUDE.md` loads from the root down, so one copy is always in context; an identical copy per module is the duplication this tool fights (**CF-N11**); and diff --git a/plugins/context-forge/skills/context-constitution/templates/behavioral-contract.md b/plugins/context-forge/skills/context-constitution/templates/behavioral-contract.md index 19a031b..caa0ac5 100644 --- a/plugins/context-forge/skills/context-constitution/templates/behavioral-contract.md +++ b/plugins/context-forge/skills/context-constitution/templates/behavioral-contract.md @@ -15,8 +15,10 @@ Read this first — it governs *how* you work here; everything below is the *wha These four behaviors are the operating defaults; the rest of this file (and the constitution) is context you load per task. -1. **Don't assume — ask, and surface tradeoffs.** On ambiguity, a missing detail, or a design fork, - stop and raise it; never paper over it with a silent guess. +1. **Don't assume — ask, and surface tradeoffs.** Before acting, always list every assumption you + are making on your own — scope, interpretation, defaults, a choice between options — each with + its basis, or say "none", so the user can correct one before work builds on it. On ambiguity, a + missing detail, or a design fork, stop and raise it; never paper over it with a silent guess. 2. **Write the minimum that solves the stated problem.** Nothing speculative — no abstraction, option, or "while I'm here" scaffolding the task didn't ask for. Would a senior engineer call it overbuilt for what was requested? Then simplify. From 8095bce23076cc6246853e8d4f760c1153fbd060 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 18 Oct 2026 04:44:07 +0000 Subject: [PATCH 2/2] =?UTF-8?q?context-forge:=20How=20to=20Act=20=E2=80=94?= =?UTF-8?q?=20red-flag=20clauses=20and=20no-exceptions=20closer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Harden the behavioral contract against rationalization: each of the four behaviors gains an inline *Red flag:* quoting the phrase that precedes its violation, #4 now requires the check's output from this session before claiming done, and a closing line removes the small/obvious-task exemption and letter-vs-intent loophole. Four-behavior shape (CF-N2) and sentinels unchanged. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01NWknUUR4cHtnnYiUq41wiy --- .../templates/behavioral-contract.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/plugins/context-forge/skills/context-constitution/templates/behavioral-contract.md b/plugins/context-forge/skills/context-constitution/templates/behavioral-contract.md index caa0ac5..78659d9 100644 --- a/plugins/context-forge/skills/context-constitution/templates/behavioral-contract.md +++ b/plugins/context-forge/skills/context-constitution/templates/behavioral-contract.md @@ -17,15 +17,17 @@ context you load per task. 1. **Don't assume — ask, and surface tradeoffs.** Before acting, always list every assumption you are making on your own — scope, interpretation, defaults, a choice between options — each with - its basis, or say "none", so the user can correct one before work builds on it. On ambiguity, a - missing detail, or a design fork, stop and raise it; never paper over it with a silent guess. + its basis, or say "none". On ambiguity, a missing detail, or a design fork, stop and raise it. + *Red flag:* "it's obvious" / "too small to ask" — that *is* the assumption; list it. 2. **Write the minimum that solves the stated problem.** Nothing speculative — no abstraction, - option, or "while I'm here" scaffolding the task didn't ask for. Would a senior engineer call it - overbuilt for what was requested? Then simplify. -3. **Touch only what the task requires.** Keep diffs surgical and auditable; clean up orphans *you* - introduced, but don't reformat or "improve" code nobody asked you to touch. -4. **Define success up front, then loop until verified.** State the pass condition before you start, - then run to it — write the check, run it, fix, re-run — and don't declare victory mid-loop. + option, or "while I'm here" scaffolding. *Red flag:* "might need it later", "for flexibility". +3. **Touch only what the task requires.** Surgical, auditable diffs; clean up only orphans *you* + introduced. *Red flag:* "cleaner if I also…" — propose it, don't do it. +4. **Define success up front, then loop until verified.** State the pass condition before you + start; claim done only with the check's output from this session in hand. + *Red flag:* "should work", "looks right", "probably passes". + +No exceptions for small or obvious tasks — honoring the letter while dodging the intent is a violation. > Litmus test for any future line in this file: *does it shape how the agent thinks (a behavior), or > restate a fact the agent can read from the code?* If it's a fact already in the repo, leave it out.