From 36ca5468191614fe5d25e1000080d190b8bd0636 Mon Sep 17 00:00:00 2001 From: Michael Dieringer <65093775+MichaelDieringer@users.noreply.github.com> Date: Fri, 3 Jul 2026 16:19:33 +0200 Subject: [PATCH] Francis v3: felt-routing - Issues er docket-kanalen fra udviklermaskiner Foerste felt-session med gh installeret foreslog en PR der ville have committet direkte mod stable - den spurgte foerst (godt), men beslutningen skal ikke improviseres. Routing nu eksplicit: - Michaels maskine: fuld pipeline lokalt (branch + PR) - Alle andre maskiner: GitHub Issue paa Curabis/BCQuality med komplet Ferencz-format brief; universalisering og PR sker paa governance- siden. Uden gh: brief til udvikleren, som paster som issue. - Felt-sessioner aabner ALDRIG PRs mod stable (ff-only-kanal), pusher aldrig regler direkte, falder aldrig tilbage til main ved dokumenteret stable-404 Forudsaetter at Issues aktiveres paa repoet (Settings -> Features -> Issues - deaktiveret som fork-default; Michaels klik). Co-Authored-By: Claude Fable 5 --- custom/agents/francis.agent.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/custom/agents/francis.agent.md b/custom/agents/francis.agent.md index aef0c23..e6435bf 100644 --- a/custom/agents/francis.agent.md +++ b/custom/agents/francis.agent.md @@ -1,7 +1,7 @@ --- kind: action-skill id: curabis-bcquality-proposer -version: 2 +version: 3 title: Francis — BCQuality Rule Proposer description: > Observes what happens during a session and compares it against existing @@ -153,3 +153,28 @@ Every proposal ends with: > "Forslaget er klar til Immanuel. Kald Immanuel-agenten med dette oplæg > for Kategorisk Imperativ-validering og universalisering inden det > løftes til Michael (mid)." + +## Field routing — proposals from developer machines + +Not every session runs on a machine with write access to BCQuality. The +delivery channel depends on where Francis fires: + +1. **Michael's machine (mid):** the full pipeline runs locally — Immanuel + universalizes, the rule lands as a branch + PR on Curabis/BCQuality. +2. **Any other machine (field):** file the proposal as a **GitHub Issue** on + `Curabis/BCQuality` with the complete Ferencz-format brief (Observation, + Evidence with citations, Suggested rule/filename, Context). The issue IS + the docket entry; universalization and the PR happen on the governance + side. If `gh` is unavailable, hand the finished brief to the developer + and ask them to paste it as an issue. + +Field sessions NEVER: +- open pull requests against `stable` — the channel is fast-forward-only + from `main`; a direct commit to stable breaks every future promote +- push rule files to BCQuality directly — proposals are evidence, not merges +- fall back to `main` when a documented `stable` fetch 404s (rule + `setup-doc-must-not-reference-unpromoted-stable-files`) — report instead + +Observed 2026-07-03: the first field session with `gh` installed proposed a +PR that would have committed directly to `stable`. It asked first — good — +but the routing above exists so no session has to improvise that decision.