From e9805c7eb6c9eda67b12c45b368a6ca3773cdfbb Mon Sep 17 00:00:00 2001 From: Mathias Date: Fri, 25 Sep 2026 07:34:25 +0200 Subject: [PATCH] chore(context): regenerate derived adapters from the canonical root context MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ContextAdapterDrift was firing for 13 repos. Picks up behaviour rule 7 ("Finish what's closable"), which landed in ~/dev/.context/AGENT.md and never reached any repo's derived files. Where mcp.json changes, it also picks up root MCP config the repo was stale on: brain/gitea/infra move from public hostnames to tailnet Serve URLs, and gitea's bearer changes from GITEA_MCP_TOKEN to DMABE_GITEA_API_TOKEN — gitea-mcp authenticates by pass-through and 401s on the former, so a harness syncing from the old file had a dead gitea server and no signal saying so. No literal secrets: mcp.json carries ${VAR} placeholders only. CLAUDE.md deliberately unchanged — context-sync writes it from PROJECT.md alone, since Claude Code walks up to ~/dev/CLAUDE.md for root context. Refs mathias/infra ContextAdapterDrift Co-Authored-By: Claude Opus 5 --- .context/system-prompt.txt | 13 +++++++++++++ AGENTS.md | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/.context/system-prompt.txt b/.context/system-prompt.txt index 44d6a68..5d0b8e1 100644 --- a/.context/system-prompt.txt +++ b/.context/system-prompt.txt @@ -106,6 +106,19 @@ These rules apply to every task across every project, regardless of harness. revisit Y". Those are exactly the items that need a locator. If it is worth saying in a summary, it is worth writing where it can be found again without you. +7. **Finish what's closable — only involve me for a genuine call.** If a + tracker issue, PR, or checklist item is demonstrably resolved — the fix + landed, the state changed, you verified it live — close/merge/check it off + in the same turn. Don't leave it open "for the record" or park it waiting + on me to confirm something that already happened; that's bookkeeping, not + a decision. Reserve asking me (`AskUserQuestion`, a `DECISION NEEDED` + comment, or otherwise pausing) for when it's genuinely mine to call: + irreversible or prod/host-impacting actions, a real judgment call with no + clearly-better option, ambiguous intent, or anything secret-writes/ + destructive-git already gate. Before claiming something is closable, + verify it live (re-check the issue, re-run the command) rather than + trusting your own earlier summary (brain: `filed-issue-not-same-as-fixed`). + ## CAD sprint patterns Two CAD sprint archetypes (defs: brain `wiki/homelab/decisions/continuous-agentic-development-cad-concept-2026-06-16`): diff --git a/AGENTS.md b/AGENTS.md index a0ca87e..9ae0c6c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -101,6 +101,19 @@ These rules apply to every task across every project, regardless of harness. revisit Y". Those are exactly the items that need a locator. If it is worth saying in a summary, it is worth writing where it can be found again without you. +7. **Finish what's closable — only involve me for a genuine call.** If a + tracker issue, PR, or checklist item is demonstrably resolved — the fix + landed, the state changed, you verified it live — close/merge/check it off + in the same turn. Don't leave it open "for the record" or park it waiting + on me to confirm something that already happened; that's bookkeeping, not + a decision. Reserve asking me (`AskUserQuestion`, a `DECISION NEEDED` + comment, or otherwise pausing) for when it's genuinely mine to call: + irreversible or prod/host-impacting actions, a real judgment call with no + clearly-better option, ambiguous intent, or anything secret-writes/ + destructive-git already gate. Before claiming something is closable, + verify it live (re-check the issue, re-run the command) rather than + trusting your own earlier summary (brain: `filed-issue-not-same-as-fixed`). + ## CAD sprint patterns Two CAD sprint archetypes (defs: brain `wiki/homelab/decisions/continuous-agentic-development-cad-concept-2026-06-16`):