diff --git a/CHANGELOG.md b/CHANGELOG.md index 62265cb..9a5306a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Full release notes with details on each version: [GitHub Releases](https://githu ## Unreleased +- Fix: the work-memory loop no longer depends on the git hook. The skill now tells the agent to run `graphify reflect` itself at the start of graph work (it is cheap, deterministic, and a no-op when no outcomes have been saved), then read `LESSONS.md`. Previously a skill-only install (without `graphify hook install`) would keep recording outcomes via `save-result` but never regenerate `LESSONS.md`, so the lessons never surfaced. The post-commit hook is now an optimization for between-session freshness rather than a requirement. + ## 0.8.47 (2026-06-24) - Feat: the work-memory loop is now zero-config for agents (#1441). The skill's query reference instructs the agent to read `graphify-out/reflections/LESSONS.md` at the start of graph work (start from preferred sources, skip known dead ends) and to record an `--outcome useful|dead_end|corrected` on `save-result`; the git post-commit/post-checkout hooks now auto-run `reflect` after each rebuild — best-effort and only when saved outcomes exist — so `LESSONS.md` stays current without a manual `graphify reflect`. diff --git a/graphify/skills/agents/references/query.md b/graphify/skills/agents/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/agents/references/query.md +++ b/graphify/skills/agents/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/graphify/skills/amp/references/query.md b/graphify/skills/amp/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/amp/references/query.md +++ b/graphify/skills/amp/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/graphify/skills/claude/references/query.md b/graphify/skills/claude/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/claude/references/query.md +++ b/graphify/skills/claude/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/graphify/skills/claw/references/query.md b/graphify/skills/claw/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/claw/references/query.md +++ b/graphify/skills/claw/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/graphify/skills/codex/references/query.md b/graphify/skills/codex/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/codex/references/query.md +++ b/graphify/skills/codex/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/graphify/skills/copilot/references/query.md b/graphify/skills/copilot/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/copilot/references/query.md +++ b/graphify/skills/copilot/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/graphify/skills/droid/references/query.md b/graphify/skills/droid/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/droid/references/query.md +++ b/graphify/skills/droid/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/graphify/skills/kilo/references/query.md b/graphify/skills/kilo/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/kilo/references/query.md +++ b/graphify/skills/kilo/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/graphify/skills/kiro/references/query.md b/graphify/skills/kiro/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/kiro/references/query.md +++ b/graphify/skills/kiro/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/graphify/skills/opencode/references/query.md b/graphify/skills/opencode/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/opencode/references/query.md +++ b/graphify/skills/opencode/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/graphify/skills/pi/references/query.md b/graphify/skills/pi/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/pi/references/query.md +++ b/graphify/skills/pi/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/graphify/skills/trae/references/query.md b/graphify/skills/trae/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/trae/references/query.md +++ b/graphify/skills/trae/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/graphify/skills/vscode/references/query.md b/graphify/skills/vscode/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/vscode/references/query.md +++ b/graphify/skills/vscode/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/graphify/skills/windows/references/query.md b/graphify/skills/windows/references/query.md index 47e17b0..71dfedd 100644 --- a/graphify/skills/windows/references/query.md +++ b/graphify/skills/windows/references/query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__agents__references__query.md b/tools/skillgen/expected/graphify__skills__agents__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__agents__references__query.md +++ b/tools/skillgen/expected/graphify__skills__agents__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__amp__references__query.md b/tools/skillgen/expected/graphify__skills__amp__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__amp__references__query.md +++ b/tools/skillgen/expected/graphify__skills__amp__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__claude__references__query.md b/tools/skillgen/expected/graphify__skills__claude__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__claude__references__query.md +++ b/tools/skillgen/expected/graphify__skills__claude__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__claw__references__query.md b/tools/skillgen/expected/graphify__skills__claw__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__claw__references__query.md +++ b/tools/skillgen/expected/graphify__skills__claw__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__codex__references__query.md b/tools/skillgen/expected/graphify__skills__codex__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__codex__references__query.md +++ b/tools/skillgen/expected/graphify__skills__codex__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__copilot__references__query.md b/tools/skillgen/expected/graphify__skills__copilot__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__copilot__references__query.md +++ b/tools/skillgen/expected/graphify__skills__copilot__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__droid__references__query.md b/tools/skillgen/expected/graphify__skills__droid__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__droid__references__query.md +++ b/tools/skillgen/expected/graphify__skills__droid__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__kilo__references__query.md b/tools/skillgen/expected/graphify__skills__kilo__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__kilo__references__query.md +++ b/tools/skillgen/expected/graphify__skills__kilo__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__kiro__references__query.md b/tools/skillgen/expected/graphify__skills__kiro__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__kiro__references__query.md +++ b/tools/skillgen/expected/graphify__skills__kiro__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__opencode__references__query.md b/tools/skillgen/expected/graphify__skills__opencode__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__opencode__references__query.md +++ b/tools/skillgen/expected/graphify__skills__opencode__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__pi__references__query.md b/tools/skillgen/expected/graphify__skills__pi__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__pi__references__query.md +++ b/tools/skillgen/expected/graphify__skills__pi__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__trae__references__query.md b/tools/skillgen/expected/graphify__skills__trae__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__trae__references__query.md +++ b/tools/skillgen/expected/graphify__skills__trae__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__vscode__references__query.md b/tools/skillgen/expected/graphify__skills__vscode__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__vscode__references__query.md +++ b/tools/skillgen/expected/graphify__skills__vscode__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/expected/graphify__skills__windows__references__query.md b/tools/skillgen/expected/graphify__skills__windows__references__query.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/expected/graphify__skills__windows__references__query.md +++ b/tools/skillgen/expected/graphify__skills__windows__references__query.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. --- diff --git a/tools/skillgen/fragments/references/query/default.md b/tools/skillgen/fragments/references/query/default.md index 47e17b0..71dfedd 100644 --- a/tools/skillgen/fragments/references/query/default.md +++ b/tools/skillgen/fragments/references/query/default.md @@ -179,7 +179,7 @@ Replace `ORIGINAL_QUESTION` with the user's verbatim question, `ANSWER` with you - `dead_end` — the question/path led nowhere; don't re-derive it next time. - `corrected` — the saved answer was wrong; `--correction` records what was right. -At the **start** of graph work, if `graphify-out/reflections/LESSONS.md` exists, read it first: it lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. That file is regenerated automatically by the git post-commit hook after each rebuild (or run `graphify reflect` to refresh it on demand). +At the **start** of graph work, refresh and read the lessons: run `graphify reflect` (cheap, deterministic, no LLM, and a no-op when no outcomes have been saved yet), then read `graphify-out/reflections/LESSONS.md`. It lists **preferred sources** (start there), **known dead ends** (skip them), and prior **corrections**. Running `reflect` yourself means the lessons stay current even without the git hook installed; if the post-commit hook *is* installed, it also refreshes the file automatically after each rebuild. ---