Instruction file imported from mrhz1973/cursor-coordinate-converter (
.cursor/rules/30-output-workflow.mdc). Copyright stays with the author.
Output workflow
Casa canonica del metodo: docs/OPERATING_MEMORY.md §4 — indice regole (A/B/C/D/D1/D2/D2bis/E/F/G/H/I + DELTA/CURSOR-PROMPT-DELTA + CBG/CONTEXT-BUDGET-GUARD+CONNECTOR-SCHEMA-GUARD+CONNECTOR-DISCOVERY-HARD-GUARD+TOOL-PAYLOAD-GUARD + agg + mini-regole L10N-FREEZE / QA-HUMAN-NO-OPSEC). Registry discovery (omitted/plain/thin) = solo README AI-BOOT. LIVE STATE = docs/FRONTIER.md. Template QA: docs/QA-CHECKLIST.md.
Questa rule contiene solo l'esecuzione lato Cursor (non il metodo orchestratore).
Ricezione prompt — TASK DELTA (default)
Default corrente: i prompt operativi GPT → Cursor sono TASK DELTA (METHOD-CURSOR-PROMPT-DELTA).
- L'assenza del boilerplate standard (session guard, git, remote PASS, deploy, ABQA generica, autosync, F3,
/tmp, RIEPILOGO, coda finito) non rende il prompt incompleto. - Cursor applica automaticamente il metodo stabile da OM §4 + questa rule (incluso profilo
CLOSURE: STANDARD_RUNTIME_BUNDLEquando dichiarato o implicito per bundle runtime standard). - Cursor non inventa scope/acceptance task-specific mancanti.
- Se manca un'informazione realmente decisionale (scope, acceptance, rischio, stop, FULL SHA necessari) → STOP.
- Se manca soltanto boilerplate canonico → applicare il repository method.
- Un intervento operativo resta autosufficiente in esecuzione: implementazione, verifiche standard, memoria orchestratore e RIEPILOGO nello stesso pass; nessun pass separato di sola verifica salvo output mancante/contraddittorio, test fallito, rischio concreto, richiesta esplicita utente, o task dichiaratamente audit.
RIEPILOGO
A fine intervento, riepilogo numerato (1., 2., …) con, quando applicabile: autosync orchestratore (eseguito sì/no, file memoria, hash commit, esito push, conferma monolite escluso o motivo, motivi di mancato autosync); git status --short; git diff --stat; file modificati; regioni toccate; cosa fatto/rimosso; funzioni; chiavi i18n; cosa non toccato; lint/check; se l'intervento non richiedeva commit; limiti/backlog.
Il testo completo mostrato all’operatore a fine pass va persistito anche in docs/runtime/LAST_CURSOR_REPORT.md (salvo dati temporanei inutili). Mai chiedere all’operatore di copiare/incollare quel riepilogo in ChatGPT: l’operatore scrive agg. FAIL di prodotto non giustifica il paste se il report è su GitHub.
LAST_CURSOR_REPORT — contratto (esecuzione)
Dopo ogni pass concluso e pushato, sovrascrivere docs/runtime/LAST_CURSOR_REPORT.md (file esistente; non crearne un secondo). FRONTIER resta l’unica LIVE STATE; il report è EVIDENCE/HANDOFF e non prevale su FRONTIER.
A. Header sintetico: BLOCK, GATE, NEXT, runtime LIVE, candidate FULL SHA / build / blob / deployed state, result Cursor, working tree.
B. RIEPILOGO COMPLETO (non abbreviato): autosync; git status; diff stat; file modificati; regioni; cosa fatto; funzioni; i18n; non toccato; lint/selftest/ABQA se applicabile; commit runtime/docs; evidence; limiti/backlog; STATO FRESCO DA CURSOR.
C. OUTPUT GIT (verificabile prima del commit container): git log --oneline -5; git rev-parse HEAD; git rev-parse origin/main; git branch --show-current; git ls-remote origin refs/heads/main.
Distinguere sempre:
RUNTIME_CANDIDATE_SHA(monolite / candidate vivo, se applicabile)REMOTE_HEAD_AT_EVIDENCE_TIME(HEAD remoto al momento della stesura, prima del commit report)- docs/report HEAD =
PENDING_SELF_REFERENCE/EXTERNAL_ONLY
Non tentare di far coincidere in modo autoreferenziale il contenuto del file con il commit che lo contiene. Disciplina F3 invariata: real_task_commit = commit task; current_report_container = PENDING_SELF_REFERENCE; fatti del proprio autosync = EXTERNAL_ONLY; nessun terzo commit.
STATO FRESCO DA CURSOR
Dopo push o chiusura blocco, in coda al RIEPILOGO, riportare (prima git fetch origin):
STATO FRESCO DA CURSOR
origin/main HEAD:
working tree:
ultimo blocco PASS:
prossimo candidato:
note operative:
File copiabile /tmp
Oltre al riepilogo in chat, creare /tmp/NN-goi-gis-riepilogo.md (piani: /tmp/NN-goi-gis-plan.md) — primo NN a due cifre libero. Contenuto identico al messaggio finale. Se la creazione fallisce, segnalarlo e riportare comunque il riepilogo completo in chat.
Plan mode — piano importante senza scrittura file
Se un piano importante viene prodotto senza scrivere file sotto docs/orchestrator/**, la risposta Plan termina con la sezione obbligatoria PROMPT DI SALVATAGGIO PIANO — DA USARE IN AGENT MODE: prompt pronto da incollare che salva il piano in docs/orchestrator/inbox/YYYY-MM-DD_HHMM_plan_<slug>.md, aggiorna latest.md (sintesi + puntatore, mai il piano intero), commit/push selettivi della sola memoria orchestratore (+ .cursor/rules/** se toccate), senza monolite, senza docs/checkpoint.md/session-*.md/roadmap.md, senza finito.
Autosync orchestratore (esecuzione)
Metodo e motivazioni: OM §4. Sequenza operativa a fine intervento (salvo eccezione esplicita utente «non aggiornare orchestratore» / «solo locale, non pubblicare memoria», da citare nel RIEPILOGO):
- Aggiornare
docs/orchestrator/latest.md(sintesi breve; mai log esteso). - Creare/aggiornare un file
docs/orchestrator/inbox/YYYY-MM-DD_HHMM_<slug>.mdper l'intervento (non un file per micro-fix). Per task reale GIS-only e per pass docs/method con autosync: sovrascriveredocs/runtime/LAST_CURSOR_REPORT.mdcol contratto A/B/C sopra (disciplina F3:real_task_commit= commit task; container correntePENDING_SELF_REFERENCE; fatti del proprio autosync =EXTERNAL_ONLY, omessi o sentinella terminale; nessun terzo commit; published = immutable). - Commit/push selettivi di sola memoria orchestratore (
docs/orchestrator/**) +.cursor/rules/**pertinenti se toccate. Maicoordinate_converter Claude.htmlnell'autosync salvo richiesta esplicita; se modificato ma fuori commit, descriverlo nell'inbox. docs/checkpoint.mdedocs/session-geolocalizzazione-e-mappa.md: legacy, non toccare nell'autosync.docs/roadmap.mdfuori dall'autosync salvo richiesta esplicita.
Alias aggio / «aggiornati»: in Cursor = pubblica memoria GIS; in ChatGPT = legge da GitHub (mai automatico). Sul repo GIS aggio = aggio gis; control-plane = aggio control. Alias agg (≠ aggio): in ChatGPT = reacquire/continue da origin/main dopo pass Cursor — semantica completa in OM §4 / §6.
Session guard / PASS tecnico remoto
Come da OM §4 e README AI-BOOT: prima di patch non read-only verificare repo root, branch (main), git status --short (fermarsi e riportare se incoerente — la decisione spetta all'operatore). Dopo push: output verbatim (git log --oneline -5, git status --short, git rev-parse HEAD, git rev-parse origin/main, git branch --show-current, git show --stat HEAD, git ls-remote origin main); autorità finale = git ls-remote; tracking locale valido solo se combacia; RAW secondario. PASS remoto richiede HEAD = origin/main = ls-remote, branch main, status pulito, output verbatim.