[
  {
    "id": "NDSE:01",
    "volume": "V01",
    "b_id": "B013",
    "alias_storico": "Pattern 1",
    "titolo": "Spec-First Generation",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex",
    "line_start": 14,
    "line_end": 164,
    "sha256": "d18e91e3e4da41faaeb2ab3780e8680a9360f3b04dc48cfdf64dd2c706d89219",
    "family": "F04",
    "target_ticket": "C04.1",
    "target_section": "§§4.1–4.3",
    "target_chapter": 4,
    "disposition": "RICOMPORRE",
    "required_revision": "Intenzione autorizzata e scenari prima del candidato; specifica e piano rimangono diversi.",
    "proposed_concept": "Intenzione prima dell’implementazione",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B013 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:14",
    "concept_id": "PAT:043",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:14-164",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 4, C04.1. Intenzione autorizzata e scenari prima del candidato; specifica e piano rimangono diversi.",
    "placement_verified": false
  },
  {
    "id": "NDSE:02",
    "volume": "V01",
    "b_id": "B013",
    "alias_storico": "Pattern 2",
    "titolo": "Test-Driven AI Development",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex",
    "line_start": 165,
    "line_end": 316,
    "sha256": "d18e91e3e4da41faaeb2ab3780e8680a9360f3b04dc48cfdf64dd2c706d89219",
    "family": "F07",
    "target_ticket": "C07.1",
    "target_section": "§§7.1–7.3",
    "target_chapter": 7,
    "disposition": "PRECISARE",
    "required_revision": "Test-first richiede attesi con origine indipendente; il verde è locale all’oracolo.",
    "proposed_concept": "Test-first con oracolo indipendente",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B013 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:165",
    "concept_id": "PAT:044",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:165-316",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 7, C07.1. Test-first richiede attesi con origine indipendente; il verde è locale all’oracolo.",
    "placement_verified": false
  },
  {
    "id": "NDSE:03",
    "volume": "V01",
    "b_id": "B013",
    "alias_storico": "Pattern 3",
    "titolo": "Exploratory Vibe Coding",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex",
    "line_start": 317,
    "line_end": 474,
    "sha256": "d18e91e3e4da41faaeb2ab3780e8680a9360f3b04dc48cfdf64dd2c706d89219",
    "family": "F01",
    "target_ticket": "C01.2",
    "target_section": "§§1.4–1.6",
    "target_chapter": 1,
    "disposition": "CONSERVARE",
    "required_revision": "Esplorazione reversibile separata dall’adozione del risultato.",
    "proposed_concept": "Esplorazione entro un confine",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B013 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:317",
    "concept_id": "PAT:045",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:317-474",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 1, C01.2. Esplorazione reversibile separata dall’adozione del risultato.",
    "placement_verified": false
  },
  {
    "id": "NDSE:04",
    "volume": "V01",
    "b_id": "B013",
    "alias_storico": "Pattern 4",
    "titolo": "Small Verifiable Chunks",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex",
    "line_start": 475,
    "line_end": 623,
    "sha256": "d18e91e3e4da41faaeb2ab3780e8680a9360f3b04dc48cfdf64dd2c706d89219",
    "family": "F03",
    "target_ticket": "C03.2",
    "target_section": "§§3.5–3.6",
    "target_chapter": 3,
    "disposition": "RICOMPORRE",
    "required_revision": "Piccolo significa semanticamente verificabile; raccordo D1 senza confondere chunk e ciclo.",
    "proposed_concept": "Incremento verificabile",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B013 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:475",
    "concept_id": "PAT:046",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:475-623",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 3, C03.2. Piccolo significa semanticamente verificabile; raccordo D1 senza confondere chunk e ciclo.",
    "placement_verified": false
  },
  {
    "id": "NDSE:05",
    "volume": "V01",
    "b_id": "B013",
    "alias_storico": "Pattern 5",
    "titolo": "Context Engineering",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex",
    "line_start": 624,
    "line_end": 846,
    "sha256": "d18e91e3e4da41faaeb2ab3780e8680a9360f3b04dc48cfdf64dd2c706d89219",
    "family": "F09",
    "target_ticket": "C09.1",
    "target_section": "§§9.1–9.4",
    "target_chapter": 9,
    "disposition": "RICOMPORRE",
    "required_revision": "Istruzioni, retrieval, stato ed evidenza autorizzata non sono intercambiabili.",
    "proposed_concept": "Contesto governato",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B013 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:624",
    "concept_id": "PAT:047",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:624-846",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 9, C09.1. Istruzioni, retrieval, stato ed evidenza autorizzata non sono intercambiabili.",
    "placement_verified": false
  },
  {
    "id": "NDSE:06",
    "volume": "V01",
    "b_id": "B013",
    "alias_storico": "Pattern 6",
    "titolo": "The Explainability Test",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex",
    "line_start": 847,
    "line_end": 1031,
    "sha256": "d18e91e3e4da41faaeb2ab3780e8680a9360f3b04dc48cfdf64dd2c706d89219",
    "family": "F10",
    "target_ticket": "C10.2",
    "target_section": "§§10.5–10.7",
    "target_chapter": 10,
    "disposition": "PRECISARE",
    "required_revision": "Spiegazione come compito di comprensione; non prova sufficiente di correttezza.",
    "proposed_concept": "Verifica della comprensione",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B013 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:847",
    "concept_id": "PAT:048",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:847-1031",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 10, C10.2. Spiegazione come compito di comprensione; non prova sufficiente di correttezza.",
    "placement_verified": false
  },
  {
    "id": "NDSE:07",
    "volume": "V01",
    "b_id": "B013",
    "alias_storico": "Pattern 7",
    "titolo": "Runtime-in-the-Loop",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex",
    "line_start": 1032,
    "line_end": 1199,
    "sha256": "d18e91e3e4da41faaeb2ab3780e8680a9360f3b04dc48cfdf64dd2c706d89219",
    "family": "F05",
    "target_ticket": "C05.2",
    "target_section": "§§5.5–5.6; §5.9",
    "target_chapter": 5,
    "disposition": "AMPLIARE",
    "required_revision": "Collegare osservazione runtime ad atteso e decisione; non attribuire misure non eseguite.",
    "proposed_concept": "Feedback dal comportamento osservato",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B013 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:1032",
    "concept_id": "PAT:049",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:1032-1199",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 5, C05.2. Collegare osservazione runtime ad atteso e decisione; non attribuire misure non eseguite.",
    "placement_verified": false
  },
  {
    "id": "NDSE:08",
    "volume": "V01",
    "b_id": "B013",
    "alias_storico": "Pattern 8",
    "titolo": "Learning Loop Preservation",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex",
    "line_start": 1200,
    "line_end": 1462,
    "sha256": "d18e91e3e4da41faaeb2ab3780e8680a9360f3b04dc48cfdf64dd2c706d89219",
    "family": "F10",
    "target_ticket": "C10.2",
    "target_section": "§§10.5–10.7",
    "target_chapter": 10,
    "disposition": "CONSERVARE",
    "required_revision": "Conservare esercizio cognitivo e valutare trasferimento; niente effetti garantiti.",
    "proposed_concept": "Preservazione dell’apprendimento",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B013 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:1200",
    "concept_id": "PAT:050",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part1.tex:1200-1462",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 10, C10.2. Conservare esercizio cognitivo e valutare trasferimento; niente effetti garantiti.",
    "placement_verified": false
  },
  {
    "id": "NDSE:09",
    "volume": "V01",
    "b_id": "B014",
    "alias_storico": "Pattern 9",
    "titolo": "Security-First Development",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part2.tex",
    "line_start": 14,
    "line_end": 428,
    "sha256": "ddaab92e52b76bea22a86d4c6fad3960863640c1ad8eca08d599e9aeb4ff6843",
    "family": "F06",
    "target_ticket": "C06.1",
    "target_section": "§§6.1–6.4",
    "target_chapter": 6,
    "disposition": "RICOMPORRE",
    "required_revision": "Distinguere prodotto e catena di sviluppo; raccordo al Security Pipeline.",
    "proposed_concept": "Sicurezza nel ciclo",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B014 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part2.tex:14",
    "concept_id": "PAT:051",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part2.tex:14-428",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 6, C06.1. Distinguere prodotto e catena di sviluppo; raccordo al Security Pipeline.",
    "placement_verified": false
  },
  {
    "id": "NDSE:10",
    "volume": "V01",
    "b_id": "B014",
    "alias_storico": "Pattern 10",
    "titolo": "Review Gauntlet",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part2.tex",
    "line_start": 429,
    "line_end": 766,
    "sha256": "ddaab92e52b76bea22a86d4c6fad3960863640c1ad8eca08d599e9aeb4ff6843",
    "family": "F08",
    "target_ticket": "C08.2",
    "target_section": "§§8.7–8.9",
    "target_chapter": 8,
    "disposition": "PRECISARE",
    "required_revision": "Review selettiva per rischio e capacità; evitare un rito identico per tutte le patch.",
    "proposed_concept": "Review proporzionata",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B014 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part2.tex:429",
    "concept_id": "PAT:052",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part2.tex:429-766",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 8, C08.2. Review selettiva per rischio e capacità; evitare un rito identico per tutte le patch.",
    "placement_verified": false
  },
  {
    "id": "NDSE:11",
    "volume": "V01",
    "b_id": "B014",
    "alias_storico": "Pattern 11",
    "titolo": "Legacy Code Navigation",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part2.tex",
    "line_start": 767,
    "line_end": 1077,
    "sha256": "ddaab92e52b76bea22a86d4c6fad3960863640c1ad8eca08d599e9aeb4ff6843",
    "family": "F09",
    "target_ticket": "C09.1",
    "target_section": "§§9.1–9.4",
    "target_chapter": 9,
    "disposition": "CONSERVARE",
    "required_revision": "Navigazione del legacy distingue comportamento rilevato e intenzione approvata.",
    "proposed_concept": "Comprendere prima di modificare",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B014 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part2.tex:767",
    "concept_id": "PAT:053",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part2.tex:767-1077",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 9, C09.1. Navigazione del legacy distingue comportamento rilevato e intenzione approvata.",
    "placement_verified": false
  },
  {
    "id": "NDSE:12",
    "volume": "V01",
    "b_id": "B015",
    "alias_storico": "Pattern 12",
    "titolo": "Migration as Learning",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part3.tex",
    "line_start": 14,
    "line_end": 385,
    "sha256": "76e3939a42d722b1d5a0de3290dd0625337e5a3ffc5fe0e27374334e5ecbc7eb",
    "family": "F05",
    "target_ticket": "C05.2",
    "target_section": "§§5.5–5.6; §5.9",
    "target_chapter": 5,
    "disposition": "PRECISARE",
    "required_revision": "Migrazione verificata e apprendimento del maintainer sono due risultati distinti.",
    "proposed_concept": "Migrazione con preservazione semantica",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B015 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part3.tex:14",
    "concept_id": "PAT:054",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part3.tex:14-385",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 5, C05.2. Migrazione verificata e apprendimento del maintainer sono due risultati distinti.",
    "placement_verified": false
  },
  {
    "id": "NDSE:13",
    "volume": "V01",
    "b_id": "B015",
    "alias_storico": "Pattern 13",
    "titolo": "Trio Programming",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part3.tex",
    "line_start": 386,
    "line_end": 660,
    "sha256": "76e3939a42d722b1d5a0de3290dd0625337e5a3ffc5fe0e27374334e5ecbc7eb",
    "family": "F10",
    "target_ticket": "C10.2",
    "target_section": "§§10.5–10.7",
    "target_chapter": 10,
    "disposition": "CONSERVARE",
    "required_revision": "Strutturare senior, junior e assistenza senza postulare beneficio didattico.",
    "proposed_concept": "Mentoring con assistenza AI",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B015 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part3.tex:386",
    "concept_id": "PAT:055",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part3.tex:386-660",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 10, C10.2. Strutturare senior, junior e assistenza senza postulare beneficio didattico.",
    "placement_verified": false
  },
  {
    "id": "NDSE:14",
    "volume": "V01",
    "b_id": "B015",
    "alias_storico": "Pattern 14",
    "titolo": "Parallel Work Orchestration",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part3.tex",
    "line_start": 661,
    "line_end": 953,
    "sha256": "76e3939a42d722b1d5a0de3290dd0625337e5a3ffc5fe0e27374334e5ecbc7eb",
    "family": "F11",
    "target_ticket": "C11.2",
    "target_section": "§§11.1; 11.5",
    "target_chapter": 11,
    "disposition": "RICOMPORRE",
    "required_revision": "Limiti di WIP, ownership e costo di integrazione; non moltiplicare agenti per default.",
    "proposed_concept": "Parallelismo governato",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B015 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part3.tex:661",
    "concept_id": "PAT:056",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part3.tex:661-953",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 11, C11.2. Limiti di WIP, ownership e costo di integrazione; non moltiplicare agenti per default.",
    "placement_verified": false
  },
  {
    "id": "NDSE:15",
    "volume": "V01",
    "b_id": "B016",
    "alias_storico": "Pattern 15",
    "titolo": "Structured Enablement Program",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part4.tex",
    "line_start": 14,
    "line_end": 351,
    "sha256": "9d668054284384874a1722dd095b05a02c83d3e3b643c76dc189fa31da25ff1a",
    "family": "F11",
    "target_ticket": "C11.3",
    "target_section": "§§11.6–11.9",
    "target_chapter": 11,
    "disposition": "PRECISARE",
    "required_revision": "Adozione per evidenze e competenze, non numero di corsi o calendario universale.",
    "proposed_concept": "Enablement verificabile",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B016 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part4.tex:14",
    "concept_id": "PAT:057",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part4.tex:14-351",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 11, C11.3. Adozione per evidenze e competenze, non numero di corsi o calendario universale.",
    "placement_verified": false
  },
  {
    "id": "NDSE:16",
    "volume": "V01",
    "b_id": "B016",
    "alias_storico": "Pattern 16",
    "titolo": "Acceptable Use Policy",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part4.tex",
    "line_start": 352,
    "line_end": 585,
    "sha256": "9d668054284384874a1722dd095b05a02c83d3e3b643c76dc189fa31da25ff1a",
    "family": "F06",
    "target_ticket": "C06.3",
    "target_section": "§§6.8–6.9",
    "target_chapter": 6,
    "disposition": "RICOMPORRE",
    "required_revision": "Policy, enforcement e autorità distinti; regole aggiornabili con responsabilità.",
    "proposed_concept": "Uso accettabile e controlli",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B016 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part4.tex:352",
    "concept_id": "PAT:058",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part4.tex:352-585",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 6, C06.3. Policy, enforcement e autorità distinti; regole aggiornabili con responsabilità.",
    "placement_verified": false
  },
  {
    "id": "NDSE:17",
    "volume": "V01",
    "b_id": "B016",
    "alias_storico": "Pattern 17",
    "titolo": "Measurement & Learning",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part4.tex",
    "line_start": 586,
    "line_end": 917,
    "sha256": "9d668054284384874a1722dd095b05a02c83d3e3b643c76dc189fa31da25ff1a",
    "family": "F02",
    "target_ticket": "C02.1",
    "target_section": "§§2.5–2.7",
    "target_chapter": 2,
    "disposition": "RICOMPORRE",
    "required_revision": "Unico registro eventi e denominatori end-to-end, inclusi fallimenti.",
    "proposed_concept": "Misura per apprendere e decidere",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B016 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part4.tex:586",
    "concept_id": "PAT:059",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part4.tex:586-917",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 2, C02.1. Unico registro eventi e denominatori end-to-end, inclusi fallimenti.",
    "placement_verified": false
  },
  {
    "id": "NDSE:18",
    "volume": "V01",
    "b_id": "B016",
    "alias_storico": "Pattern 18",
    "titolo": "Cost Management",
    "tipo": "PATTERN",
    "source_path": "AI_SW_ENG/chapters_verbose/chapter07/chapter07_part4.tex",
    "line_start": 918,
    "line_end": 1203,
    "sha256": "9d668054284384874a1722dd095b05a02c83d3e3b643c76dc189fa31da25ff1a",
    "family": "F12",
    "target_ticket": "C12.1",
    "target_section": "§§12.1–12.2",
    "target_chapter": 12,
    "disposition": "AMPLIARE",
    "required_revision": "Integrare setup, review, rework, tempo e infrastruttura per esito accettato.",
    "proposed_concept": "Economia integrale",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B016 — AI_SW_ENG/chapters_verbose/chapter07/chapter07_part4.tex:918",
    "concept_id": "PAT:060",
    "original_locator": "series/original/ND/AI_SW_ENG/chapters_verbose/chapter07/chapter07_part4.tex:918-1203",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 12, C12.1. Integrare setup, review, rework, tempo e infrastruttura per esito accettato.",
    "placement_verified": false
  },
  {
    "id": "SDD1:19",
    "volume": "V02",
    "b_id": "B042",
    "alias_storico": "Pattern 19",
    "titolo": "Constitution-Driven Development",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG/chapters/chapter05_patterns.tex",
    "line_start": 110,
    "line_end": 236,
    "sha256": "a5d81ef982282d03e93f32f344890d01e05eb138a89c84e7d4fda6818e602e0d",
    "family": "F04",
    "target_ticket": "C04.1",
    "target_section": "§§4.1–4.3",
    "target_chapter": 4,
    "disposition": "RICONCILIARE",
    "required_revision": "Stesso nucleo di A1; versionare regole e processo di modifica senza usare immutable in assoluto.",
    "proposed_concept": "Costituzione versionata",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B042 — AI_SDD_ENG/chapters/chapter05_patterns.tex:110",
    "concept_id": "PAT:066",
    "original_locator": "series/original/ND/AI_SDD_ENG/chapters/chapter05_patterns.tex:110-236",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 4, C04.1. Stesso nucleo di A1; versionare regole e processo di modifica senza usare immutable in assoluto.",
    "placement_verified": false
  },
  {
    "id": "SDD1:20",
    "volume": "V02",
    "b_id": "B042",
    "alias_storico": "Pattern 20",
    "titolo": "Clarification-First Planning",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG/chapters/chapter05_patterns.tex",
    "line_start": 237,
    "line_end": 393,
    "sha256": "a5d81ef982282d03e93f32f344890d01e05eb138a89c84e7d4fda6818e602e0d",
    "family": "F04",
    "target_ticket": "C04.1",
    "target_section": "§§4.1–4.3",
    "target_chapter": 4,
    "disposition": "RICONCILIARE",
    "required_revision": "Stessa linea di A2; distinguere domanda bloccante da incertezza tollerata.",
    "proposed_concept": "Chiarire prima delle decisioni dipendenti",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B042 — AI_SDD_ENG/chapters/chapter05_patterns.tex:237",
    "concept_id": "PAT:067",
    "original_locator": "series/original/ND/AI_SDD_ENG/chapters/chapter05_patterns.tex:237-393",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 4, C04.1. Stessa linea di A2; distinguere domanda bloccante da incertezza tollerata.",
    "placement_verified": false
  },
  {
    "id": "SDD1:21",
    "volume": "V02",
    "b_id": "B042",
    "alias_storico": "Pattern 21",
    "titolo": "Consistency Analysis Gate",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG/chapters/chapter05_patterns.tex",
    "line_start": 394,
    "line_end": 523,
    "sha256": "a5d81ef982282d03e93f32f344890d01e05eb138a89c84e7d4fda6818e602e0d",
    "family": "F04",
    "target_ticket": "C04.2",
    "target_section": "§§4.3–4.5",
    "target_chapter": 4,
    "disposition": "CONSERVARE",
    "required_revision": "Il controllo di coerenza è un predicato del gate, non equivale a C1 o a completezza.",
    "proposed_concept": "Coerenza fra artefatti",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B042 — AI_SDD_ENG/chapters/chapter05_patterns.tex:394",
    "concept_id": "PAT:061",
    "original_locator": "series/original/ND/AI_SDD_ENG/chapters/chapter05_patterns.tex:394-523",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 4, C04.2. Il controllo di coerenza è un predicato del gate, non equivale a C1 o a completezza.",
    "placement_verified": false
  },
  {
    "id": "SDD1:22",
    "volume": "V02",
    "b_id": "B042",
    "alias_storico": "Pattern 22",
    "titolo": "Research Artifact Preservation",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG/chapters/chapter05_patterns.tex",
    "line_start": 524,
    "line_end": 667,
    "sha256": "a5d81ef982282d03e93f32f344890d01e05eb138a89c84e7d4fda6818e602e0d",
    "family": "F09",
    "target_ticket": "C09.2",
    "target_section": "§§9.5–9.6",
    "target_chapter": 9,
    "disposition": "CONSERVARE",
    "required_revision": "Conservare fonti e ragioni oltre il passaggio di consegne; complementare a B1.",
    "proposed_concept": "Ricerca e rationale persistenti",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B042 — AI_SDD_ENG/chapters/chapter05_patterns.tex:524",
    "concept_id": "PAT:062",
    "original_locator": "series/original/ND/AI_SDD_ENG/chapters/chapter05_patterns.tex:524-667",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 9, C09.2. Conservare fonti e ragioni oltre il passaggio di consegne; complementare a B1.",
    "placement_verified": false
  },
  {
    "id": "SDD1:23",
    "volume": "V02",
    "b_id": "B042",
    "alias_storico": "Pattern 23",
    "titolo": "Parallel Implementation Exploration",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG/chapters/chapter05_patterns.tex",
    "line_start": 668,
    "line_end": 797,
    "sha256": "a5d81ef982282d03e93f32f344890d01e05eb138a89c84e7d4fda6818e602e0d",
    "family": "F05",
    "target_ticket": "C05.1",
    "target_section": "§§5.4–5.5",
    "target_chapter": 5,
    "disposition": "CONSERVARE",
    "required_revision": "Alternative implementative isolabili; non fondere con dibattito fra modelli B4.",
    "proposed_concept": "Esplorazione di implementazioni alternative",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B042 — AI_SDD_ENG/chapters/chapter05_patterns.tex:668",
    "concept_id": "PAT:063",
    "original_locator": "series/original/ND/AI_SDD_ENG/chapters/chapter05_patterns.tex:668-797",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 5, C05.1. Alternative implementative isolabili; non fondere con dibattito fra modelli B4.",
    "placement_verified": false
  },
  {
    "id": "SDD1:24",
    "volume": "V02",
    "b_id": "B042",
    "alias_storico": "Pattern 24",
    "titolo": "Specification Scale Management",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG/chapters/chapter05_patterns.tex",
    "line_start": 798,
    "line_end": 925,
    "sha256": "a5d81ef982282d03e93f32f344890d01e05eb138a89c84e7d4fda6818e602e0d",
    "family": "F04",
    "target_ticket": "C04.3",
    "target_section": "§§4.6–4.8",
    "target_chapter": 4,
    "disposition": "CONSERVARE",
    "required_revision": "Specifiche a scala governabile con dipendenze e fonte unica; non solo documenti più corti.",
    "proposed_concept": "Scala e decomposizione dei contratti",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B042 — AI_SDD_ENG/chapters/chapter05_patterns.tex:798",
    "concept_id": "PAT:064",
    "original_locator": "series/original/ND/AI_SDD_ENG/chapters/chapter05_patterns.tex:798-925",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 4, C04.3. Specifiche a scala governabile con dipendenze e fonte unica; non solo documenti più corti.",
    "placement_verified": false
  },
  {
    "id": "SDD1:25",
    "volume": "V02",
    "b_id": "B042",
    "alias_storico": "Pattern 25",
    "titolo": "Model Switching for Regeneration",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG/chapters/chapter05_patterns.tex",
    "line_start": 926,
    "line_end": 1107,
    "sha256": "a5d81ef982282d03e93f32f344890d01e05eb138a89c84e7d4fda6818e602e0d",
    "family": "F03",
    "target_ticket": "C03.4",
    "target_section": "Laboratorio; §§3.9–3.11; A.3",
    "target_chapter": 3,
    "disposition": "PRECISARE",
    "required_revision": "Cambio modello dopo diagnosi a vincoli invariati; non strategia garantita di recupero.",
    "proposed_concept": "Cambio controllato dell’esecutore",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B042 — AI_SDD_ENG/chapters/chapter05_patterns.tex:926",
    "concept_id": "PAT:065",
    "original_locator": "series/original/ND/AI_SDD_ENG/chapters/chapter05_patterns.tex:926-1107",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 3, C03.4. Cambio modello dopo diagnosi a vincoli invariati; non strategia garantita di recupero.",
    "placement_verified": false
  },
  {
    "id": "SDD2:A1",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern A1",
    "titolo": "Constitution-Driven Development",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 55,
    "line_end": 90,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F04",
    "target_ticket": "C04.1",
    "target_section": "§§4.1–4.3",
    "target_chapter": 4,
    "disposition": "RICONCILIARE",
    "required_revision": "Raccordo a SDD1:19 mantenendo storia e autorevolezza per revisione.",
    "proposed_concept": "Costituzione versionata",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:55",
    "concept_id": "PAT:066",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:55-90",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 4, C04.1. Raccordo a SDD1:19 mantenendo storia e autorevolezza per revisione.",
    "placement_verified": false
  },
  {
    "id": "SDD2:A2",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern A2",
    "titolo": "Clarify Before Plan",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 91,
    "line_end": 124,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F04",
    "target_ticket": "C04.1",
    "target_section": "§§4.1–4.3",
    "target_chapter": 4,
    "disposition": "RICONCILIARE",
    "required_revision": "Raccordo a SDD1:20; niente promessa zero ambiguità o risparmio fisso in minuti.",
    "proposed_concept": "Chiarire prima delle decisioni dipendenti",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:91",
    "concept_id": "PAT:067",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:91-124",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 4, C04.1. Raccordo a SDD1:20; niente promessa zero ambiguità o risparmio fisso in minuti.",
    "placement_verified": false
  },
  {
    "id": "SDD2:A3",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern A3",
    "titolo": "Progressive Specification",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 125,
    "line_end": 159,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F04",
    "target_ticket": "C04.1",
    "target_section": "§§4.1–4.3",
    "target_chapter": 4,
    "disposition": "PRECISARE",
    "required_revision": "Progressione per parti autorizzate, non ripetizione finché lo score sale.",
    "proposed_concept": "Specifica progressiva per incrementi",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:125",
    "concept_id": "PAT:068",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:125-159",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 4, C04.1. Progressione per parti autorizzate, non ripetizione finché lo score sale.",
    "placement_verified": false
  },
  {
    "id": "SDD2:A4",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern A4",
    "titolo": "Red-Team Specification",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 160,
    "line_end": 191,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F04",
    "target_ticket": "C04.2",
    "target_section": "§§4.3–4.5",
    "target_chapter": 4,
    "disposition": "CONSERVARE",
    "required_revision": "Cercare controesempi della specifica; distinto da verifica dell’implementazione C5.",
    "proposed_concept": "Critica della specifica",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:160",
    "concept_id": "PAT:069",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:160-191",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 4, C04.2. Cercare controesempi della specifica; distinto da verifica dell’implementazione C5.",
    "placement_verified": false
  },
  {
    "id": "SDD2:A5",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern A5",
    "titolo": "Gap-Closure Analysis",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 192,
    "line_end": 226,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F04",
    "target_ticket": "C04.2",
    "target_section": "§§4.3–4.5",
    "target_chapter": 4,
    "disposition": "PRECISARE",
    "required_revision": "Gap e orfani sono candidati da esaminare; legacy non fonte normativa di default.",
    "proposed_concept": "Tracciabilità e chiusura dei gap",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:192",
    "concept_id": "PAT:070",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:192-226",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 4, C04.2. Gap e orfani sono candidati da esaminare; legacy non fonte normativa di default.",
    "placement_verified": false
  },
  {
    "id": "SDD2:A6",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern A6",
    "titolo": "Ambiguity Scoring",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 227,
    "line_end": 266,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F04",
    "target_ticket": "C04.2",
    "target_section": "§§4.3–4.5",
    "target_chapter": 4,
    "disposition": "RIVEDERE_CRITICAMENTE",
    "required_revision": "Rubrica diagnostica; una lacuna critica non è compensata da una media; soglia non validata.",
    "proposed_concept": "Diagnosi dell’ambiguità",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:227",
    "concept_id": "PAT:071",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:227-266",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 4, C04.2. Rubrica diagnostica; una lacuna critica non è compensata da una media; soglia non validata.",
    "placement_verified": false
  },
  {
    "id": "SDD2:B1",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern B1",
    "titolo": "Handoff Chain",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 267,
    "line_end": 298,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F09",
    "target_ticket": "C09.2",
    "target_section": "§§9.5–9.6",
    "target_chapter": 9,
    "disposition": "RICOMPORRE",
    "required_revision": "Input/output, versione, dubbi e autorità per ciascun handoff; file presenti non bastano.",
    "proposed_concept": "Handoff verificabile",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:267",
    "concept_id": "PAT:072",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:267-298",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 9, C09.2. Input/output, versione, dubbi e autorità per ciascun handoff; file presenti non bastano.",
    "placement_verified": false
  },
  {
    "id": "SDD2:B2",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern B2",
    "titolo": "Multi-Mode Agent",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 299,
    "line_end": 330,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F03",
    "target_ticket": "C03.1",
    "target_section": "§§3.1–3.3",
    "target_chapter": 3,
    "disposition": "PRECISARE",
    "required_revision": "Modalità funzionali e permessi; non maturità certificata o responsabilità autonome.",
    "proposed_concept": "Separazione delle modalità",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:299",
    "concept_id": "PAT:073",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:299-330",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 3, C03.1. Modalità funzionali e permessi; non maturità certificata o responsabilità autonome.",
    "placement_verified": false
  },
  {
    "id": "SDD2:B3",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern B3",
    "titolo": "Anti-Sycophancy Enforcement",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 331,
    "line_end": 362,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F08",
    "target_ticket": "C08.1",
    "target_section": "§§8.4–8.6",
    "target_chapter": 8,
    "disposition": "RIVEDERE_CRITICAMENTE",
    "required_revision": "Critica supportata da riscontri; chiedere dissenso non cambia training o incentivi reali.",
    "proposed_concept": "Critica non compiacente",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:331",
    "concept_id": "PAT:074",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:331-362",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 8, C08.1. Critica supportata da riscontri; chiedere dissenso non cambia training o incentivi reali.",
    "placement_verified": false
  },
  {
    "id": "SDD2:B4",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern B4",
    "titolo": "Convergence Review",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 363,
    "line_end": 399,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F08",
    "target_ticket": "C08.1",
    "target_section": "§§8.4–8.6",
    "target_chapter": 8,
    "disposition": "RIVEDERE_CRITICAMENTE",
    "required_revision": "Conservare ragioni e obiezioni; accordo di due modelli non è calibrazione o prova.",
    "proposed_concept": "Confronto documentato delle alternative",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:363",
    "concept_id": "PAT:075",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:363-399",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 8, C08.1. Conservare ragioni e obiezioni; accordo di due modelli non è calibrazione o prova.",
    "placement_verified": false
  },
  {
    "id": "SDD2:C1",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern C1",
    "titolo": "Gate-Enforced Progression",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 400,
    "line_end": 432,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F04",
    "target_ticket": "C04.3",
    "target_section": "§§4.6–4.8",
    "target_chapter": 4,
    "disposition": "PRECISARE",
    "required_revision": "Predicati e autorità distinti, gate riapribili e adattatori derivati; non rito waterfall.",
    "proposed_concept": "Progressione controllata",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:400",
    "concept_id": "PAT:076",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:400-432",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 4, C04.3. Predicati e autorità distinti, gate riapribili e adattatori derivati; non rito waterfall.",
    "placement_verified": false
  },
  {
    "id": "SDD2:C2",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern C2",
    "titolo": "Security Pipeline",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 433,
    "line_end": 468,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F06",
    "target_ticket": "C06.1",
    "target_section": "§§6.1–6.4",
    "target_chapter": 6,
    "disposition": "RICOMPORRE",
    "required_revision": "Security pipeline come composizione di controlli, non garanzia di sicurezza.",
    "proposed_concept": "Sicurezza nel ciclo",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:433",
    "concept_id": "PAT:077",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:433-468",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 6, C06.1. Security pipeline come composizione di controlli, non garanzia di sicurezza.",
    "placement_verified": false
  },
  {
    "id": "SDD2:C3",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern C3",
    "titolo": "Prompt Injection Scanning",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 469,
    "line_end": 501,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F06",
    "target_ticket": "C06.2",
    "target_section": "§§6.5–6.7",
    "target_chapter": 6,
    "disposition": "RIVEDERE_CRITICAMENTE",
    "required_revision": "Scansione è segnale; permessi e confini fuori dal modello gestiscono gli effetti.",
    "proposed_concept": "Rilevazione di input ostili",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:469",
    "concept_id": "PAT:078",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:469-501",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 6, C06.2. Scansione è segnale; permessi e confini fuori dal modello gestiscono gli effetti.",
    "placement_verified": false
  },
  {
    "id": "SDD2:C4",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern C4",
    "titolo": "Supply-Chain Risk Audit",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 502,
    "line_end": 535,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F06",
    "target_ticket": "C06.2",
    "target_section": "§§6.5–6.7",
    "target_chapter": 6,
    "disposition": "PRECISARE",
    "required_revision": "Identità, provenienza, permessi e aggiornamenti; niente elenco fisso di tool sicuri.",
    "proposed_concept": "Controllo della supply chain",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:502",
    "concept_id": "PAT:079",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:502-535",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 6, C06.2. Identità, provenienza, permessi e aggiornamenti; niente elenco fisso di tool sicuri.",
    "placement_verified": false
  },
  {
    "id": "SDD2:C5",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern C5",
    "titolo": "Adversarial Agent Pattern",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 536,
    "line_end": 572,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F07",
    "target_ticket": "C07.2",
    "target_section": "§§7.7–7.8",
    "target_chapter": 7,
    "disposition": "RIVEDERE_CRITICAMENTE",
    "required_revision": "Separare critica, input indipendenti, read-only e autorità; proteggere l’oracolo anche dal maker.",
    "proposed_concept": "Verifica avversariale con autorità delimitata",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:536",
    "concept_id": "PAT:080",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:536-572",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 7, C07.2. Separare critica, input indipendenti, read-only e autorità; proteggere l’oracolo anche dal maker.",
    "placement_verified": false
  },
  {
    "id": "SDD2:D1",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern D1",
    "titolo": "One-Item-Per-Cycle",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 573,
    "line_end": 606,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F03",
    "target_ticket": "C03.2",
    "target_section": "§§3.5–3.6",
    "target_chapter": 3,
    "disposition": "RICOMPORRE",
    "required_revision": "Specializzazione temporale dei piccoli incrementi NDSE:04; non equivalenza automatica.",
    "proposed_concept": "Un incremento coerente per ciclo",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:573",
    "concept_id": "PAT:081",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:573-606",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 3, C03.2. Specializzazione temporale dei piccoli incrementi NDSE:04; non equivalenza automatica.",
    "placement_verified": false
  },
  {
    "id": "SDD2:D2",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern D2",
    "titolo": "Evidence-Pack Provenance",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 607,
    "line_end": 642,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F07",
    "target_ticket": "C07.3",
    "target_section": "§§7.4–7.6; §7.9",
    "target_chapter": 7,
    "disposition": "PRECISARE",
    "required_revision": "Bundle legato a codice, policy, oracle e ambiente; hash diverso da identità o verità.",
    "proposed_concept": "Provenienza delle prove",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:607",
    "concept_id": "PAT:082",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:607-642",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 7, C07.3. Bundle legato a codice, policy, oracle e ambiente; hash diverso da identità o verità.",
    "placement_verified": false
  },
  {
    "id": "SDD2:D3",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern D3",
    "titolo": "Budget-Gated Autonomy",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 643,
    "line_end": 676,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F03",
    "target_ticket": "C03.3",
    "target_section": "§§3.7–3.8",
    "target_chapter": 3,
    "disposition": "RICOMPORRE",
    "required_revision": "Budget preventivo conservativo di azioni, costo e tempo; storico attraverso i riavvii.",
    "proposed_concept": "Autonomia entro un budget",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:643",
    "concept_id": "PAT:083",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:643-676",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 3, C03.3. Budget preventivo conservativo di azioni, costo e tempo; storico attraverso i riavvii.",
    "placement_verified": false
  },
  {
    "id": "SDD2:D4",
    "volume": "V03",
    "b_id": "B063",
    "alias_storico": "Pattern D4",
    "titolo": "Escalation Protocol",
    "tipo": "PATTERN",
    "source_path": "AI_SDD_ENG_V2/chapters/chapter15_patterns.tex",
    "line_start": 677,
    "line_end": 778,
    "sha256": "4830546709bc5f2eb4641c47add3bb9992eb9089497514ac25f321b33f5f92aa",
    "family": "F11",
    "target_ticket": "C11.3",
    "target_section": "§§11.6–11.9",
    "target_chapter": 11,
    "disposition": "RICOMPORRE",
    "required_revision": "Esito nominato, autorità, motivo e decisione; budget non abilita accettazione.",
    "proposed_concept": "Escalation responsabile",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B063 — AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:677",
    "concept_id": "PAT:084",
    "original_locator": "series/original/ND/AI_SDD_ENG_V2/chapters/chapter15_patterns.tex:677-778",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 11, C11.3. Esito nominato, autorità, motivo e decisione; budget non abilita accettazione.",
    "placement_verified": false
  },
  {
    "id": "AGENT:01",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Plan-Then-Execute",
    "titolo": "Plan-Then-Execute",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 60,
    "line_end": 67,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F03",
    "target_ticket": "C03.1",
    "target_section": "§§3.1–3.3",
    "target_chapter": 3,
    "disposition": "RICOMPORRE",
    "required_revision": "Piano sostituibile, intenzione modificabile solo con delta autorizzato.",
    "proposed_concept": "Pianificare e poi eseguire",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:60",
    "concept_id": "PAT:001",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:60-67",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 3, C03.1. Piano sostituibile, intenzione modificabile solo con delta autorizzato.",
    "placement_verified": false
  },
  {
    "id": "AGENT:02",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Swarm Migration (Map-Reduce for Agents)",
    "titolo": "Swarm Migration (Map-Reduce for Agents)",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 68,
    "line_end": 97,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F05",
    "target_ticket": "C05.2",
    "target_section": "§§5.5–5.6; §5.9",
    "target_chapter": 5,
    "disposition": "COMPANION",
    "required_revision": "Esplorazione opzionale per migrazioni indipendenti; eliminare speedup generici non verificati.",
    "proposed_concept": "Migrazione parallela",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:68",
    "concept_id": "PAT:002",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:68-97",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 5, C05.2. Esplorazione opzionale per migrazioni indipendenti; eliminare speedup generici non verificati.",
    "placement_verified": false
  },
  {
    "id": "AGENT:03",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Background Agent CI",
    "titolo": "Background Agent CI",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 98,
    "line_end": 136,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F11",
    "target_ticket": "C11.2",
    "target_section": "§§11.1; 11.5",
    "target_chapter": 11,
    "disposition": "COMPANION",
    "required_revision": "CI e background come varianti; CI non equivale a produzione e green non significa release.",
    "proposed_concept": "Lavoro asincrono con CI",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:98",
    "concept_id": "PAT:003",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:98-136",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 11, C11.2. CI e background come varianti; CI non equivale a produzione e green non significa release.",
    "placement_verified": false
  },
  {
    "id": "AGENT:04",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Initializer-Maintainer Dual Agent Architecture",
    "titolo": "Initializer-Maintainer Dual Agent Architecture",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 137,
    "line_end": 144,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F03",
    "target_ticket": "C03.1",
    "target_section": "§§3.1–3.3",
    "target_chapter": 3,
    "disposition": "RINVIO_BREVE",
    "required_revision": "Due configurazioni illustrate, non due agenti obbligatori o permessi ampi per default.",
    "proposed_concept": "Inizializzazione e manutenzione distinte",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:137",
    "concept_id": "PAT:004",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:137-144",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 3, C03.1. Due configurazioni illustrate, non due agenti obbligatori o permessi ampi per default.",
    "placement_verified": false
  },
  {
    "id": "AGENT:05",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Feature List as Immutable Contract",
    "titolo": "Feature List as Immutable Contract",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 145,
    "line_end": 180,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F04",
    "target_ticket": "C04.3",
    "target_section": "§§4.6–4.8",
    "target_chapter": 4,
    "disposition": "RIVEDERE_CRITICAMENTE",
    "required_revision": "Contratto immutabile per revisione; campo passes del maker non attesta accettazione.",
    "proposed_concept": "Contratto versionato e progressi separati",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:145",
    "concept_id": "PAT:005",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:145-180",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 4, C04.3. Contratto immutabile per revisione; campo passes del maker non attesta accettazione.",
    "placement_verified": false
  },
  {
    "id": "AGENT:06",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Context Window Anxiety Management",
    "titolo": "Context Window Anxiety Management",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 181,
    "line_end": 188,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F09",
    "target_ticket": "C09.2",
    "target_section": "§§9.5–9.6",
    "target_chapter": 9,
    "disposition": "PRECISARE",
    "required_revision": "Niente antropomorfismo diagnostico; compaction misurabile e stato persistente.",
    "proposed_concept": "Gestione della finestra di contesto",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:181",
    "concept_id": "PAT:006",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:181-188",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 9, C09.2. Niente antropomorfismo diagnostico; compaction misurabile e stato persistente.",
    "placement_verified": false
  },
  {
    "id": "AGENT:07",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Compounding Engineering",
    "titolo": "Compounding Engineering",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 189,
    "line_end": 196,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F09",
    "target_ticket": "C09.2",
    "target_section": "§§9.5–9.6",
    "target_chapter": 9,
    "disposition": "PRECISARE",
    "required_revision": "Lezioni candidate con provenienza; riuso di memoria non training né miglioramento garantito.",
    "proposed_concept": "Conservazione selettiva delle lezioni",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:189",
    "concept_id": "PAT:007",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:189-196",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 9, C09.2. Lezioni candidate con provenienza; riuso di memoria non training né miglioramento garantito.",
    "placement_verified": false
  },
  {
    "id": "AGENT:08",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Agent-Powered Codebase Q\\&A and Onboarding",
    "titolo": "Agent-Powered Codebase Q&A and Onboarding",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 197,
    "line_end": 211,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F09",
    "target_ticket": "C09.4",
    "target_section": "§§9.9–9.11; A.9",
    "target_chapter": 9,
    "disposition": "RICOMPORRE",
    "required_revision": "Risposte rintracciabili, task di comprensione distinti da retrieval.",
    "proposed_concept": "Q&A e handoff sul codebase",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:197",
    "concept_id": "PAT:008",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:197-211",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 9, C09.4. Risposte rintracciabili, task di comprensione distinti da retrieval.",
    "placement_verified": false
  },
  {
    "id": "AGENT:09",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "CI-as-Backpressure",
    "titolo": "CI-as-Backpressure",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 212,
    "line_end": 219,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F11",
    "target_ticket": "C08.3",
    "target_section": "§§8.1–8.3; richiamo §11.1",
    "target_chapter": 8,
    "disposition": "RICOMPORRE",
    "required_revision": "Un fallimento CI blocca un ramo entro scope e policy; non autorizza riparazioni estranee.",
    "proposed_concept": "Backpressure verificabile",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:212",
    "concept_id": "PAT:009",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:212-219",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 8, C08.3. Un fallimento CI blocca un ramo entro scope e policy; non autorizza riparazioni estranee.",
    "placement_verified": false
  },
  {
    "id": "AGENT:10",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Inference-Healed Code Review",
    "titolo": "Inference-Healed Code Review",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 220,
    "line_end": 227,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F08",
    "target_ticket": "C07.2",
    "target_section": "§§7.7–7.8",
    "target_chapter": 7,
    "disposition": "PRECISARE",
    "required_revision": "Riparare da feedback concreto; non fiducia cieca nel reviewer AI.",
    "proposed_concept": "Riparazione guidata dalla review",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:220",
    "concept_id": "PAT:010",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:220-227",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 7, C07.2. Riparare da feedback concreto; non fiducia cieca nel reviewer AI.",
    "placement_verified": false
  },
  {
    "id": "AGENT:11",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Reward Shaping for Tool Use",
    "titolo": "Reward Shaping for Tool Use",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 228,
    "line_end": 255,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F03",
    "target_ticket": "C03.1",
    "target_section": "§§3.1–3.3",
    "target_chapter": 3,
    "disposition": "FUORI_CORPO",
    "required_revision": "Distinguere reward training e feedback di esecuzione; nessun programma di training nel manuale.",
    "proposed_concept": "Reward shaping (rinvio specialistico)",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:228",
    "concept_id": "PAT:011",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:228-255",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 3, C03.1. Distinguere reward training e feedback di esecuzione; nessun programma di training nel manuale.",
    "placement_verified": false
  },
  {
    "id": "AGENT:12",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "AI-Accelerated Learning and Skill Development",
    "titolo": "AI-Accelerated Learning and Skill Development",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 256,
    "line_end": 263,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F10",
    "target_ticket": "C10.2",
    "target_section": "§§10.5–10.7",
    "target_chapter": 10,
    "disposition": "RICOMPORRE",
    "required_revision": "Meccanismi di mentoring, non guadagni generalizzati di apprendimento.",
    "proposed_concept": "Apprendimento assistito",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:256",
    "concept_id": "PAT:012",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:256-263",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 10, C10.2. Meccanismi di mentoring, non guadagni generalizzati di apprendimento.",
    "placement_verified": false
  },
  {
    "id": "AGENT:13",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Agent Reinforcement Fine-Tuning",
    "titolo": "Agent Reinforcement Fine-Tuning",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 264,
    "line_end": 280,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F03",
    "target_ticket": "T07",
    "target_section": "Appendice C nuova",
    "target_chapter": 0,
    "disposition": "FUORI_CORPO",
    "required_revision": "RFT è fuori perimetro esecutivo; nota sui limiti del modello senza istruzioni provider.",
    "proposed_concept": "Fine-tuning agentico (rinvio)",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:264",
    "concept_id": "PAT:013",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:264-280",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 0, T07. RFT è fuori perimetro esecutivo; nota sui limiti del modello senza istruzioni provider.",
    "placement_verified": false
  },
  {
    "id": "AGENT:14",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Deterministic Failure Harness",
    "titolo": "Deterministic Failure Harness",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 281,
    "line_end": 288,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F07",
    "target_ticket": "C07.1",
    "target_section": "§§7.1–7.3",
    "target_chapter": 7,
    "disposition": "RIVEDERE_CRITICAMENTE",
    "required_revision": "Ripetibilità condizionata a ambiente/oracolo; non completezza né cattura garantita dei difetti.",
    "proposed_concept": "Harness di verifica riproducibile",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:281",
    "concept_id": "PAT:014",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:281-288",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 7, C07.1. Ripetibilità condizionata a ambiente/oracolo; non completezza né cattura garantita dei difetti.",
    "placement_verified": false
  },
  {
    "id": "AGENT:15",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Regression Safety Net",
    "titolo": "Regression Safety Net",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 289,
    "line_end": 296,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F07",
    "target_ticket": "C07.3",
    "target_section": "§§7.4–7.6; §7.9",
    "target_chapter": 7,
    "disposition": "PRECISARE",
    "required_revision": "Regressioni obbligatorie e impatto; i fallimenti preesistenti si classificano senza espandere scope da soli.",
    "proposed_concept": "Rete di regressione",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:289",
    "concept_id": "PAT:015",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:289-296",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 7, C07.3. Regressioni obbligatorie e impatto; i fallimenti preesistenti si classificano senza espandere scope da soli.",
    "placement_verified": false
  },
  {
    "id": "AGENT:16",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Structured Drift Detection",
    "titolo": "Structured Drift Detection",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 297,
    "line_end": 309,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F09",
    "target_ticket": "C09.3",
    "target_section": "§§9.6–9.8",
    "target_chapter": 9,
    "disposition": "RICOMPORRE",
    "required_revision": "Drift con versione e owner; regole obsolete conservate come storia, non come correnti.",
    "proposed_concept": "Rilevazione del drift",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:297",
    "concept_id": "PAT:016",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:297-309",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 9, C09.3. Drift con versione e owner; regole obsolete conservate come storia, non come correnti.",
    "placement_verified": false
  },
  {
    "id": "AGENT:17",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Blast Radius Containment",
    "titolo": "Blast Radius Containment",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 310,
    "line_end": 317,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F06",
    "target_ticket": "C06.3",
    "target_section": "§§6.8–6.9",
    "target_chapter": 6,
    "disposition": "RICOMPORRE",
    "required_revision": "Limitare scritture, effetti e durata fuori dal modello; no sicurezza assoluta.",
    "proposed_concept": "Contenimento degli effetti",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:310",
    "concept_id": "PAT:017",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:310-317",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 6, C06.3. Limitare scritture, effetti e durata fuori dal modello; no sicurezza assoluta.",
    "placement_verified": false
  },
  {
    "id": "AGENT:18",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "PII and Secret Scrubbing",
    "titolo": "PII and Secret Scrubbing",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 318,
    "line_end": 330,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F06",
    "target_ticket": "C06.2",
    "target_section": "§§6.5–6.7",
    "target_chapter": 6,
    "disposition": "PRECISARE",
    "required_revision": "Scrubbing parziale non autorizza condivisione; log e retention rispettano i confini.",
    "proposed_concept": "Protezione di segreti e dati personali",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:318",
    "concept_id": "PAT:018",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:318-330",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 6, C06.2. Scrubbing parziale non autorizza condivisione; log e retention rispettano i confini.",
    "placement_verified": false
  },
  {
    "id": "AGENT:19",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Subagent Spawning and Fan-Out",
    "titolo": "Subagent Spawning and Fan-Out",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 331,
    "line_end": 338,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F11",
    "target_ticket": "C11.2",
    "target_section": "§§11.1; 11.5",
    "target_chapter": 11,
    "disposition": "RICOMPORRE",
    "required_revision": "Fan-out condizionato a dipendenze e capacità, non numero fisso di worker.",
    "proposed_concept": "Parallelismo governato",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:331",
    "concept_id": "PAT:019",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:331-338",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 11, C11.2. Fan-out condizionato a dipendenze e capacità, non numero fisso di worker.",
    "placement_verified": false
  },
  {
    "id": "AGENT:20",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "File-System as State Machine",
    "titolo": "File-System as State Machine",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 339,
    "line_end": 364,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F09",
    "target_ticket": "C09.2",
    "target_section": "§§9.5–9.6",
    "target_chapter": 9,
    "disposition": "PRECISARE",
    "required_revision": "Stato persistente con scritture controllate; file system da solo non offre atomicità o autenticità.",
    "proposed_concept": "Stato esterno governato",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:339",
    "concept_id": "PAT:020",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:339-364",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 9, C09.2. Stato persistente con scritture controllate; file system da solo non offre atomicità o autenticità.",
    "placement_verified": false
  },
  {
    "id": "AGENT:21",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Tool Call Budget",
    "titolo": "Tool Call Budget",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 365,
    "line_end": 377,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F03",
    "target_ticket": "C03.3",
    "target_section": "§§3.7–3.8",
    "target_chapter": 3,
    "disposition": "RICOMPORRE",
    "required_revision": "Limite delle chiamate è una dimensione del budget D3, non sinonimo di costo massimo.",
    "proposed_concept": "Autonomia entro un budget",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:365",
    "concept_id": "PAT:021",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:365-377",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 3, C03.3. Limite delle chiamate è una dimensione del budget D3, non sinonimo di costo massimo.",
    "placement_verified": false
  },
  {
    "id": "AGENT:22",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Trust Calibration",
    "titolo": "Trust Calibration",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 378,
    "line_end": 385,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F08",
    "target_ticket": "C08.2",
    "target_section": "§§8.7–8.9",
    "target_chapter": 8,
    "disposition": "PRECISARE",
    "required_revision": "Calibrazione richiede confronto fra fiducia e prestazione; nome del pattern non basta.",
    "proposed_concept": "Fiducia proporzionata alle prove",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:378",
    "concept_id": "PAT:022",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:378-385",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 8, C08.2. Calibrazione richiede confronto fra fiducia e prestazione; nome del pattern non basta.",
    "placement_verified": false
  },
  {
    "id": "AGENT:23",
    "volume": "V04",
    "b_id": "B093",
    "alias_storico": "Human-in-the-Loop Escalation",
    "titolo": "Human-in-the-Loop Escalation",
    "tipo": "PATTERN_NON_NUMERATO",
    "source_path": "ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex",
    "line_start": 386,
    "line_end": 400,
    "sha256": "3c88f9e5d7b0288e46de69503668ac80ecb7778165d80bf74eab10da30c4e2ba",
    "family": "F11",
    "target_ticket": "C11.3",
    "target_section": "§§11.6–11.9",
    "target_chapter": 11,
    "disposition": "RICONCILIARE",
    "required_revision": "Raccordo D4; persona, motivo, autorità e possibilità di non procedere.",
    "proposed_concept": "Escalation responsabile",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B093 — ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:386",
    "concept_id": "PAT:084",
    "original_locator": "series/original/ND/ai-auto_eng/AI_AUTO_ENG/chapters/chapter09_patterns.tex:386-400",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 11, C11.3. Raccordo D4; persona, motivo, autorità e possibilità di non procedere.",
    "placement_verified": false
  },
  {
    "id": "LOOP:R1",
    "volume": "V05",
    "b_id": "B107",
    "alias_storico": "I",
    "titolo": "The External Bash Loop",
    "tipo": "VARIANTE_IMPLEMENTATIVA",
    "source_path": "NDLE/new_chapters/chapter04_ralph_loop.tex",
    "line_start": 397,
    "line_end": 397,
    "sha256": "aa58f0631ba2700b7664babd919b1e842cf17557b9d86fd374bab6fac5fc0636",
    "family": "F03",
    "target_ticket": "C03.2",
    "target_section": "§§3.5–3.6",
    "target_chapter": 3,
    "disposition": "COMPANION",
    "required_revision": "Variante Bash esterna, con budget persistente e stato esplicito; nessun codice production-ready copiato.",
    "proposed_concept": "Esecuzione esterna del ciclo",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B107 — NDLE/new_chapters/chapter04_ralph_loop.tex:397",
    "concept_id": "PAT:023",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter04_ralph_loop.tex:397-397",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 3, C03.2. Variante Bash esterna, con budget persistente e stato esplicito; nessun codice production-ready copiato.",
    "placement_verified": false
  },
  {
    "id": "LOOP:R2",
    "volume": "V05",
    "b_id": "B107",
    "alias_storico": "II",
    "titolo": "The Stop-Hook Loop",
    "tipo": "VARIANTE_IMPLEMENTATIVA",
    "source_path": "NDLE/new_chapters/chapter04_ralph_loop.tex",
    "line_start": 545,
    "line_end": 545,
    "sha256": "aa58f0631ba2700b7664babd919b1e842cf17557b9d86fd374bab6fac5fc0636",
    "family": "F03",
    "target_ticket": "C03.2",
    "target_section": "§§3.5–3.6",
    "target_chapter": 3,
    "disposition": "COMPANION",
    "required_revision": "Variante stop hook; rientro non autorizza perdita dei budget o modifica dell’oracolo.",
    "proposed_concept": "Esecuzione a stop hook",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B107 — NDLE/new_chapters/chapter04_ralph_loop.tex:545",
    "concept_id": "PAT:024",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter04_ralph_loop.tex:545-545",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 3, C03.2. Variante stop hook; rientro non autorizza perdita dei budget o modifica dell’oracolo.",
    "placement_verified": false
  },
  {
    "id": "LOOP:R3",
    "volume": "V05",
    "b_id": "B107",
    "alias_storico": "III",
    "titolo": "The Editor-Native Manual Loop",
    "tipo": "VARIANTE_IMPLEMENTATIVA",
    "source_path": "NDLE/new_chapters/chapter04_ralph_loop.tex",
    "line_start": 566,
    "line_end": 566,
    "sha256": "aa58f0631ba2700b7664babd919b1e842cf17557b9d86fd374bab6fac5fc0636",
    "family": "F03",
    "target_ticket": "C03.1",
    "target_section": "§§3.1–3.3",
    "target_chapter": 3,
    "disposition": "RINVIO_BREVE",
    "required_revision": "La sessione guidata manualmente è alternativa legittima, non livello inferiore obbligatorio.",
    "proposed_concept": "Ciclo assistito nell’editor",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B107 — NDLE/new_chapters/chapter04_ralph_loop.tex:566",
    "concept_id": "PAT:025",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter04_ralph_loop.tex:566-566",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 3, C03.1. La sessione guidata manualmente è alternativa legittima, non livello inferiore obbligatorio.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T01",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Run Until Done: Retry Against Reality",
    "titolo": "Run Until Done: Retry Against Reality",
    "tipo": "TECNICA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 200,
    "line_end": 200,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F03",
    "target_ticket": "C03.2",
    "target_section": "§§3.5–3.6",
    "target_chapter": 3,
    "disposition": "RICOMPORRE",
    "required_revision": "Retry solo contro diagnosi verificabile con stop; non convergenza garantita.",
    "proposed_concept": "Riparazione limitata con feedback",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:200",
    "concept_id": "PAT:026",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:200-200",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 3, C03.2. Retry solo contro diagnosi verificabile con stop; non convergenza garantita.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T02",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Maker--Checker: Separate Production from Acceptance",
    "titolo": "Maker–Checker: Separate Production from Acceptance",
    "tipo": "TECNICA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 273,
    "line_end": 273,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F07",
    "target_ticket": "C07.2",
    "target_section": "§§7.7–7.8",
    "target_chapter": 7,
    "disposition": "RICOMPORRE",
    "required_revision": "Confrontare con C5; separazione dei ruoli non rende automaticamente indipendenti gli errori.",
    "proposed_concept": "Maker–checker",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:273",
    "concept_id": "PAT:027",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:273-273",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 7, C07.2. Confrontare con C5; separazione dei ruoli non rende automaticamente indipendenti gli errori.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T03",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Skills and Context Engineering: Remove Intent Debt",
    "titolo": "Skills and Context Engineering: Remove Intent Debt",
    "tipo": "TECNICA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 363,
    "line_end": 363,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F09",
    "target_ticket": "C09.1",
    "target_section": "§§9.1–9.4",
    "target_chapter": 9,
    "disposition": "RICOMPORRE",
    "required_revision": "Skill versionata con owner e permessi separati; il contesto non elimina ogni intent debt.",
    "proposed_concept": "Contesto e procedure versionate",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:363",
    "concept_id": "PAT:028",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:363-363",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 9, C09.1. Skill versionata con owner e permessi separati; il contesto non elimina ogni intent debt.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T04",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Memory and Retrieval: Read What the Model Could Not Know",
    "titolo": "Memory and Retrieval: Read What the Model Could Not Know",
    "tipo": "TECNICA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 395,
    "line_end": 395,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F09",
    "target_ticket": "C09.3",
    "target_section": "§§9.6–9.8",
    "target_chapter": 9,
    "disposition": "RICOMPORRE",
    "required_revision": "Retrieval con astensione, fonte e validità; memoria non conoscenza approvata per definizione.",
    "proposed_concept": "Memoria con provenienza",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:395",
    "concept_id": "PAT:029",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:395-395",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 9, C09.3. Retrieval con astensione, fonte e validità; memoria non conoscenza approvata per definizione.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T05",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Connectors and Tools: Move Exact Work Outside the Weights",
    "titolo": "Connectors and Tools: Move Exact Work Outside the Weights",
    "tipo": "TECNICA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 454,
    "line_end": 454,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F06",
    "target_ticket": "C06.2",
    "target_section": "§§6.5–6.7",
    "target_chapter": 6,
    "disposition": "RICOMPORRE",
    "required_revision": "Exact executor con interfacce e permessi; calcolo esatto non autorizza effetti esterni.",
    "proposed_concept": "Tool a contratto",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:454",
    "concept_id": "PAT:030",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:454-454",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 6, C06.2. Exact executor con interfacce e permessi; calcolo esatto non autorizza effetti esterni.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T06",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Worktrees: Isolate the Write Domains",
    "titolo": "Worktrees: Isolate the Write Domains",
    "tipo": "TECNICA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 511,
    "line_end": 511,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F11",
    "target_ticket": "C11.2",
    "target_section": "§§11.1; 11.5",
    "target_chapter": 11,
    "disposition": "RICOMPORRE",
    "required_revision": "Isola scritture ma non impedisce duplicazione logica dei task.",
    "proposed_concept": "Isolamento dei workspace",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:511",
    "concept_id": "PAT:031",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:511-511",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 11, C11.2. Isola scritture ma non impedisce duplicazione logica dei task.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T07",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Multi-Loop Coordination: One Owner per Target",
    "titolo": "Multi-Loop Coordination: One Owner per Target",
    "tipo": "TECNICA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 559,
    "line_end": 559,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F11",
    "target_ticket": "C11.2",
    "target_section": "§§11.1; 11.5",
    "target_chapter": 11,
    "disposition": "RICOMPORRE",
    "required_revision": "Ownership del target sopra il livello file e gestione dei lease.",
    "proposed_concept": "Coordinamento dei target",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:559",
    "concept_id": "PAT:032",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:559-559",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 11, C11.2. Ownership del target sopra il livello file e gestione dei lease.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T08",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Budget and Observability: Price the Next Attempt",
    "titolo": "Budget and Observability: Price the Next Attempt",
    "tipo": "TECNICA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 632,
    "line_end": 632,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F12",
    "target_ticket": "C12.1",
    "target_section": "§§12.1–12.2",
    "target_chapter": 12,
    "disposition": "RICOMPORRE",
    "required_revision": "Costo del passo e totale, setup e tentativi respinti; nessun rendimento trasferito dai benchmark.",
    "proposed_concept": "Economia integrale",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:632",
    "concept_id": "PAT:033",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:632-632",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 12, C12.1. Costo del passo e totale, setup e tentativi respinti; nessun rendimento trasferito dai benchmark.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T09",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Safety and Guardrails: Verification Is Not Authorization",
    "titolo": "Safety and Guardrails: Verification Is Not Authorization",
    "tipo": "TECNICA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 692,
    "line_end": 692,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F06",
    "target_ticket": "C06.3",
    "target_section": "§§6.8–6.9",
    "target_chapter": 6,
    "disposition": "PRECISARE",
    "required_revision": "Verifica, policy e autorizzazione rimangono decisioni distinte.",
    "proposed_concept": "Controlli e autorità",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:692",
    "concept_id": "PAT:034",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:692-692",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 6, C06.3. Verifica, policy e autorizzazione rimangono decisioni distinte.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T10",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Daily Triage: rank the rare urgent item",
    "titolo": "Daily Triage: rank the rare urgent item",
    "tipo": "PATTERN_PRODUTTIVO",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 809,
    "line_end": 809,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F11",
    "target_ticket": "C08.3",
    "target_section": "§§8.1–8.3; richiamo §11.1",
    "target_chapter": 8,
    "disposition": "COMPANION",
    "required_revision": "Esempio opzionale di triage; priorità proposta, non cambiamento autorizzato.",
    "proposed_concept": "Triage del lavoro",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:809",
    "concept_id": "PAT:035",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:809-809",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 8, C08.3. Esempio opzionale di triage; priorità proposta, non cambiamento autorizzato.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T11",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "CI Sweeper: classify before fixing",
    "titolo": "CI Sweeper: classify before fixing",
    "tipo": "PATTERN_PRODUTTIVO",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 842,
    "line_end": 842,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F05",
    "target_ticket": "C05.3",
    "target_section": "§§5.6–5.8",
    "target_chapter": 5,
    "disposition": "COMPANION",
    "required_revision": "Classificare build rossa prima di riparare; no garanzia che un classificatore riconosca flakiness.",
    "proposed_concept": "Diagnosi prima della riparazione CI",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:842",
    "concept_id": "PAT:036",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:842-842",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 5, C05.3. Classificare build rossa prima di riparare; no garanzia che un classificatore riconosca flakiness.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T12",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Dependency Sweeper: route by risk",
    "titolo": "Dependency Sweeper: route by risk",
    "tipo": "PATTERN_PRODUTTIVO",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 870,
    "line_end": 870,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F06",
    "target_ticket": "C06.2",
    "target_section": "§§6.5–6.7",
    "target_chapter": 6,
    "disposition": "COMPANION",
    "required_revision": "Routing degli update per rischio; green CI non autorizza dipendenza o merge.",
    "proposed_concept": "Gestione delle dipendenze",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:870",
    "concept_id": "PAT:037",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:870-870",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 6, C06.2. Routing degli update per rischio; green CI non autorizza dipendenza o merge.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T13",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Duplicate detection",
    "titolo": "Duplicate detection",
    "tipo": "TECNICA_IN_TABELLA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 124,
    "line_end": 124,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F09",
    "target_ticket": "C09.3",
    "target_section": "§§9.6–9.8",
    "target_chapter": 9,
    "disposition": "COMPANION",
    "required_revision": "Deduplica proposta da retrieval da confermare semanticamente; conservare record storici.",
    "proposed_concept": "Deduplicazione con conferma",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:124",
    "concept_id": "PAT:038",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:124-124",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 9, C09.3. Deduplica proposta da retrieval da confermare semanticamente; conservare record storici.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T14",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "PR babysitter",
    "titolo": "PR babysitter",
    "tipo": "TECNICA_IN_TABELLA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 126,
    "line_end": 126,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F08",
    "target_ticket": "C08.2",
    "target_section": "§§8.7–8.9",
    "target_chapter": 8,
    "disposition": "COMPANION",
    "required_revision": "Stato PR basato su evidenza della revisione corretta; false-ready come outcome distinto.",
    "proposed_concept": "Gestione dello stato di review",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:126",
    "concept_id": "PAT:039",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:126-126",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 8, C08.2. Stato PR basato su evidenza della revisione corretta; false-ready come outcome distinto.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T15",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Post-merge cleanup",
    "titolo": "Post-merge cleanup",
    "tipo": "TECNICA_IN_TABELLA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 128,
    "line_end": 128,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F05",
    "target_ticket": "C05.3",
    "target_section": "§§5.6–5.8",
    "target_chapter": 5,
    "disposition": "RINVIO_BREVE",
    "required_revision": "Fonte di proposte di manutenzione, non autorizzazione automatica a riscrivere.",
    "proposed_concept": "Manutenzione successiva al merge",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:128",
    "concept_id": "PAT:040",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:128-128",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 5, C05.3. Fonte di proposte di manutenzione, non autorizzazione automatica a riscrivere.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T16",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Changelog drafter",
    "titolo": "Changelog drafter",
    "tipo": "TECNICA_IN_TABELLA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 129,
    "line_end": 129,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F09",
    "target_ticket": "C09.2",
    "target_section": "§§9.5–9.6",
    "target_chapter": 9,
    "disposition": "COMPANION",
    "required_revision": "Bozza con fonti e revisione; release notes non prova di completamento.",
    "proposed_concept": "Documentazione derivata",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:129",
    "concept_id": "PAT:041",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:129-129",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 9, C09.2. Bozza con fonti e revisione; release notes non prova di completamento.",
    "placement_verified": false
  },
  {
    "id": "LOOP:T17",
    "volume": "V05",
    "b_id": "B109",
    "alias_storico": "Capstone orchestra",
    "titolo": "Capstone orchestra",
    "tipo": "TECNICA_IN_TABELLA",
    "source_path": "NDLE/new_chapters/chapter06_choosing_the_right_loop.tex",
    "line_start": 130,
    "line_end": 130,
    "sha256": "a061daf1e97a16c322a46cf9724dd0d92531718b57a038decdf521c6103f68b9",
    "family": "F12",
    "target_ticket": "C12.2",
    "target_section": "§§12.3–12.4",
    "target_chapter": 12,
    "disposition": "RINVIO_BREVE",
    "required_revision": "Composizione utile soltanto se giustifica costo marginale; dati del corso da verificare prima del riuso.",
    "proposed_concept": "Composizione condizionata dei loop",
    "review": "DA_APPROVARE",
    "status": "RECONCILED_FOR_IMPLEMENTATION",
    "source_locator": "B109 — NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:130",
    "concept_id": "PAT:042",
    "original_locator": "series/original/ND/NDLE/new_chapters/chapter06_choosing_the_right_loop.tex:130-130",
    "evidence_status": "AUTHOR_PRACTICE_NOT_EMPIRICAL_EVIDENCE",
    "rationale": "Canonical home: chapter 12, C12.2. Composizione utile soltanto se giustifica costo marginale; dati del corso da verificare prima del riuso.",
    "placement_verified": false
  }
]