C:C09
Chapter 9: System Understanding, Context and Persistent Memory
A guide to the published second edition, with literal citations separated from wider editorial reading suggestions.
Chapter guide
Treats context and persistent memory as claims with provenance, ownership and expiry. It develops software-specific knowledge records and invalidation rules, then uses a handoff and an explicitly limited retrieval comparison to test what a successor can reconstruct.
Sintesi in italiano
Tratta context e memoria persistente come affermazioni con provenienza, responsabilità e validità. Sviluppa registrazioni della conoscenza software e regole di invalidazione, usando un passaggio di consegne e un confronto di recupero esplicitamente limitato per verificare ciò che un successore può ricostruire.
Learning goals
- distinguish retrieved context from trusted system knowledge
- design versioned memory with explicit invalidation rules
- test a handoff by asking a new maintainer to reconstruct an operational decision from stored evidence
Obiettivi in italiano
Obiettivi di apprendimento
- distinguere il context recuperato dalle conoscenze affidabili sul sistema
- progettare una memoria versionata con regole esplicite di invalidation
- verificare un handoff chiedendo a un nuovo maintainer di ricostruire una decisione operativa a partire dalle evidenze conservate
Chapter outline
- 9.1 Why comprehension dominates brownfield work
- 9.2 Mental models, rationale and cognitive load
- 9.3 Authorship, ownership and stewardship
- 9.4 Context assembly for an agent
- 9.5 Different forms of persistent memory
- 9.6 Memory consistency, decay and invalidation
- 9.7 A typed graph for software-specific knowledge
- 9.8 Turnover, succession and long-term maintenance
- 9.9 A verified memory handoff
- 9.9.1 A scripted evidence-retrieval comparison, not a comprehension experiment
- 9.10 Worked engineering example: a memory fact needs a validity condition
- 9.11 Practice exercise: build a memory that can be invalidated
Struttura del capitolo
- 9.1 Perché la comprensione del sistema è centrale nel lavoro brownfield
- 9.2 Modelli mentali, rationale e carico cognitivo
- 9.3 Authorship, ownership e stewardship
- 9.4 Comporre il context di un agent
- 9.5 Le diverse forme di memoria persistente
- 9.6 Coerenza, decadimento e invalidation della memoria
- 9.7 Un grafo tipizzato per la conoscenza del software
- 9.8 Turnover, successione e manutenzione di lungo periodo
- 9.9 Un handoff della memoria sottoposto a verifica
- 9.9.1 Un confronto di retrieval delle evidenze eseguito via script, non un esperimento sulla comprensione
- 9.10 Esempio svolto: un fatto di memoria richiede una condizione di validità
- 9.11 Esercizio pratico: costruire una memoria che possa essere invalidata
Cited in the published chapter
17 linked atlas references from literal citations in the English and Italian editions. General bibliography membership and identifier-index entries are counted separately.
SE@PoliMi bibliography 12
- W155 — ChatGPT: Friend or Foe When Comprehending and Changing Unfamiliar Code
Anderson · 2026 - W157 — ClawVM: Harness-Managed Virtual Memory for Stateful Tool-Using LLM Agents
Rafique · 2026 - W158 — Should I Give Up Now? Investigating LLM Pitfalls in Software Engineering
Tie · 2026 - W159 — Memory Management and Contextual Consistency for Long-Running Low-Code Agents
Xu · 2026 - W160 — AriGraph: Learning Knowledge Graph World Models with Episodic Memory for LLM Agents
Anokhin · 2025 - W168 — Do you remember this source code?
Krüger · 2018 - W170 — Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Xia · 2018 - W173 — Quantifying and Mitigating Turnover-Induced Knowledge Loss: Case Studies of Chrome and a Project at Avaya
Rigby · 2016 - W182 — Don't Touch My Code! Examining the Effects of Ownership on Software Quality
Bird · 2011 - W185 — Succession: Measuring Transfer of Code and Developer Productivity
Mockus · 2009 - W186 — Maintaining Mental Models: A Study of Developer Work Habits
LaToza · 2006 - W189 — The Substrate Collapse: AI Code Generation Invalidates Authorship-Based Knowledge Metrics
Wheeler · 2026
Addy Osmani 4
- O002 — Brownfield Agentic Engineering
Addy Osmani · 2026-09-14 - O004 — Audit your Agent files
Addy Osmani · 2026-08-27 - O013 — Long-running Agents
Addy Osmani · 2026-04-30 - O031 — Context Engineering: Bringing Engineering Discipline to Prompts
Addy Osmani · 2025-07-13
Martin Fowler’s website 1
- F025 — Context Engineering for Coding Agents
Birgitta Böckeler · 2026-02-05
Trace literal citations to chapter sections
Locations come from the supplied English and Italian source files. Chapter text and figure captions are identified separately; identifier-index references and general bibliography membership are not treated as chapter citations.
- F025 · Context Engineering for Coding Agents
- EN · Why comprehension dominates brownfield work
EN/chapters/chapter09.tex:25 - ITA · Perché la comprensione del sistema è centrale nel lavoro brownfield
ITA/chapters/chapter09.tex:25
- EN · Why comprehension dominates brownfield work
- O002 · Brownfield Agentic Engineering
- EN · Why comprehension dominates brownfield work
EN/chapters/chapter09.tex:39 - ITA · Perché la comprensione del sistema è centrale nel lavoro brownfield
ITA/chapters/chapter09.tex:39
- EN · Why comprehension dominates brownfield work
- O004 · Audit your Agent files
- EN · Memory consistency, decay and invalidation
EN/chapters/chapter09.tex:118 - ITA · Coerenza, decadimento e invalidation della memoria
ITA/chapters/chapter09.tex:118
- EN · Memory consistency, decay and invalidation
- O013 · Long-running Agents
- EN · Memory consistency, decay and invalidation
EN/chapters/chapter09.tex:118 - ITA · Coerenza, decadimento e invalidation della memoria
ITA/chapters/chapter09.tex:118
- EN · Memory consistency, decay and invalidation
- O031 · Context Engineering: Bringing Engineering Discipline to Prompts
- EN · Memory consistency, decay and invalidation
EN/chapters/chapter09.tex:118 - ITA · Coerenza, decadimento e invalidation della memoria
ITA/chapters/chapter09.tex:118
- EN · Memory consistency, decay and invalidation
- W155 · ChatGPT: Friend or Foe When Comprehending and Changing Unfamiliar Code
- EN · Context assembly for an agent
EN/chapters/chapter09.tex:75 - ITA · Comporre il context di un agent
ITA/chapters/chapter09.tex:75
- EN · Context assembly for an agent
- W157 · ClawVM: Harness-Managed Virtual Memory for Stateful Tool-Using LLM Agents
- EN · Different forms of persistent memory
EN/chapters/chapter09.tex:94 - EN · Memory consistency, decay and invalidation
EN/chapters/chapter09.tex:108 - ITA · Le diverse forme di memoria persistente
ITA/chapters/chapter09.tex:94 - ITA · Coerenza, decadimento e invalidation della memoria
ITA/chapters/chapter09.tex:108
- EN · Different forms of persistent memory
- W158 · Should I Give Up Now? Investigating LLM Pitfalls in Software Engineering
- EN · Context assembly for an agent
EN/chapters/chapter09.tex:75 - ITA · Comporre il context di un agent
ITA/chapters/chapter09.tex:75
- EN · Context assembly for an agent
- W159 · Memory Management and Contextual Consistency for Long-Running Low-Code Agents
- EN · Different forms of persistent memory
EN/chapters/chapter09.tex:94 - ITA · Le diverse forme di memoria persistente
ITA/chapters/chapter09.tex:94
- EN · Different forms of persistent memory
- W160 · AriGraph: Learning Knowledge Graph World Models with Episodic Memory for LLM Agents
- EN · Different forms of persistent memory
EN/chapters/chapter09.tex:94 - EN · A typed graph for software-specific knowledge
EN/chapters/chapter09.tex:142 - ITA · Le diverse forme di memoria persistente
ITA/chapters/chapter09.tex:94 - ITA · Un grafo tipizzato per la conoscenza del software
ITA/chapters/chapter09.tex:142
- EN · Different forms of persistent memory
- W168 · Do you remember this source code?
- EN · Memory consistency, decay and invalidation
EN/chapters/chapter09.tex:108 - ITA · Coerenza, decadimento e invalidation della memoria
ITA/chapters/chapter09.tex:108
- EN · Memory consistency, decay and invalidation
- W170 · Measuring Program Comprehension: A Large-Scale Field Study with Professionals
- EN · Why comprehension dominates brownfield work
EN/chapters/chapter09.tex:29 - ITA · Perché la comprensione del sistema è centrale nel lavoro brownfield
ITA/chapters/chapter09.tex:29
- EN · Why comprehension dominates brownfield work
- W173 · Quantifying and Mitigating Turnover-Induced Knowledge Loss: Case Studies of Chrome and a Project at Avaya
- EN · Turnover, succession and long-term maintenance
EN/chapters/chapter09.tex:154 - ITA · Turnover, successione e manutenzione di lungo periodo
ITA/chapters/chapter09.tex:154
- EN · Turnover, succession and long-term maintenance
- W182 · Don't Touch My Code! Examining the Effects of Ownership on Software Quality
- EN · Authorship, ownership and stewardship
EN/chapters/chapter09.tex:67 - ITA · Authorship, ownership e stewardship
ITA/chapters/chapter09.tex:67
- EN · Authorship, ownership and stewardship
- W185 · Succession: Measuring Transfer of Code and Developer Productivity
- EN · Turnover, succession and long-term maintenance
EN/chapters/chapter09.tex:154 - ITA · Turnover, successione e manutenzione di lungo periodo
ITA/chapters/chapter09.tex:154
- EN · Turnover, succession and long-term maintenance
- W186 · Maintaining Mental Models: A Study of Developer Work Habits
- EN · Mental models, rationale and cognitive load
EN/chapters/chapter09.tex:59 - ITA · Modelli mentali, rationale e carico cognitivo
ITA/chapters/chapter09.tex:59
- EN · Mental models, rationale and cognitive load
- W189 · The Substrate Collapse: AI Code Generation Invalidates Authorship-Based Knowledge Metrics
- EN · Authorship, ownership and stewardship
EN/chapters/chapter09.tex:67 - ITA · Authorship, ownership e stewardship
ITA/chapters/chapter09.tex:67
- EN · Authorship, ownership and stewardship
Editorial reading mappings
Broader topical suggestions can overlap the cited sources. A mapping does not add a citation to the published edition or establish that a practice is effective.
SE@PoliMi bibliography 51
- W014 — Adoption and Impact of Command-Line AI Coding Agents: A Study of Microsoft's Early 2026 Rollout of Claude Code and GitHub Copilot CLI
Murphy-Hill · 2026 - W039 — Human-Written vs. AI-Generated Code: A Large-Scale Study of Defects, Vulnerabilities, and Complexity
Cotroneo · 2025 - W051 — From Conversation to Contribution: Characterizing Coding Agent in Open-Source Software
Fang · 2026 - W058 — Decoupling Code Complexity from Newcomer Participation: A Causal Study of AI Coding Agent Adoption in OSS
Xu · 2026 - W086 — Quality Evaluation of Modern Code Reviews Through Intelligent Biometric Program Comprehension
Hijazi · 2023 - W090 — Decoding the Representation of Code in the Brain: An fMRI Study of Code Review and Expertise
Floyd · 2017 - W101 — Articulate but Wrong: Self-Review Failures in LLM-Based Code Modernization
Purnachandra Reddy · 2026 - W114 — Correlates of programmer efficacy and their link to experience: a combined EEG and eye-tracking study
Peitek · 2022 - W115 — Novice Software Developers, All Over Again
Begel · 2008 - W127 — Remote Work Leaves Younger Workers Sidelined
Emanuel · 2026 - W132 — New Jobs in 140 Years of Data: Why the AI Displacement Fear Is Overstated — and What to Worry About Instead
Skoglund · 2026 - W136 — Still Waters, Rapid Currents: Early Labor Market Transformation under Generative AI
Humlum · 2025 - W146 — McKinsey Technology Trends Outlook 2026
Chui · 2026 - W152 — Agentic Software Engineering: Foundational Pillars and a Research Roadmap
Hassan · 2026 - W154 — Comprehension Debt in GenAI-Assisted Software Engineering Projects
Ahmad · 2026 - W155 — ChatGPT: Friend or Foe When Comprehending and Changing Unfamiliar Code
Anderson · 2026 - W156 — LACY: Simulating Expert Mentoring for Software Onboarding with Code Tours
Kara · 2026 - W157 — ClawVM: Harness-Managed Virtual Memory for Stateful Tool-Using LLM Agents
Rafique · 2026 - W158 — Should I Give Up Now? Investigating LLM Pitfalls in Software Engineering
Tie · 2026 - W159 — Memory Management and Contextual Consistency for Long-Running Low-Code Agents
Xu · 2026 - W160 — AriGraph: Learning Knowledge Graph World Models with Episodic Memory for LLM Agents
Anokhin · 2025 - W161 — Examining ownership models in software teams: A systematic literature review and a replication study
Koana · 2024 - W162 — 40 Years of Designing Code Comprehension Experiments: A Systematic Mapping Study
Wyrich · 2024 - W163 — A Case Study of Onboarding in Software Teams: Tasks and Strategies
Ju · 2021 - W164 — Program Comprehension and Code Complexity Metrics: An fMRI Study
Peitek · 2021 - W165 — Please Turn Your Cameras On: Remote Onboarding of Software Developers during a Pandemic
Rodeghero · 2021 - W166 — Comprehension of computer code relies primarily on domain-general executive brain regions
Ivanova · 2020 - W167 — A Look into Programmers' Heads
Peitek · 2020 - W168 — Do you remember this source code?
Krüger · 2018 - W169 — Simultaneous Measurement of Program Comprehension with fMRI and Eye Tracking: A Case Study
Peitek · 2018 - W170 — Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Xia · 2018 - W171 — Revisiting Turnover-Induced Knowledge Loss in Software Projects
Nassif · 2017 - W172 — Measuring neural efficiency of program comprehension
Siegmund · 2017 - W173 — Quantifying and Mitigating Turnover-Induced Knowledge Loss: Case Studies of Chrome and a Project at Avaya
Rigby · 2016 - W174 — Impact of Developer Turnover on Quality in Open-Source Software
Foucault · 2015 - W175 — Code Ownership and Software Quality: A Replication Study
Greiler · 2015 - W176 — I Know What You Did Last Summer — An Investigation of How Developers Spend Their Time
Minelli · 2015 - W177 — Stuck and Frustrated or in Flow and Happy: Sensing Developers' Emotions and Progress
Müller · 2015 - W178 — Ramp-Up Journey of New Hires: Tug of War of Aids and Impediments
Rastogi · 2015 - W179 — A systematic literature review on the usage of eye-tracking in software engineering
Sharafi · 2015 - W180 — Using psycho-physiological measures to assess task difficulty in software development
Fritz · 2014 - W181 — Understanding understanding source code with functional magnetic resonance imaging
Siegmund · 2014 - W182 — Don't Touch My Code! Examining the Effects of Ownership on Software Quality
Bird · 2011 - W183 — Moving into a New Software Project Landscape
Dagenais · 2010 - W184 — Developer Fluency: Achieving True Mastery in Software Projects
Zhou · 2010 - W185 — Succession: Measuring Transfer of Code and Developer Productivity
Mockus · 2009 - W186 — Maintaining Mental Models: A Study of Developer Work Habits
LaToza · 2006 - W187 — Globalization by Chunking: A Quantitative Approach
Mockus · 2001 - W188 — The Ramp-Up Problem in Software Projects: A Case Study of How Software Immigrants Naturalize
Sim · 1998 - W189 — The Substrate Collapse: AI Code Generation Invalidates Authorship-Based Knowledge Metrics
Wheeler · 2026 - W190 — How do Humans and LLMs Process Confusing Code?
Abdelsalam · 2025
Addy Osmani 4
- O002 — Brownfield Agentic Engineering
Addy Osmani · 2026-09-14 - O004 — Audit your Agent files
Addy Osmani · 2026-08-27 - O013 — Long-running Agents
Addy Osmani · 2026-04-30 - O031 — Context Engineering: Bringing Engineering Discipline to Prompts
Addy Osmani · 2025-07-13
The Pragmatic Engineer 8
- P018 — Are LLMs making StackOverflow irrelevant?
Gergely Orosz · 2025-01-21 - P040 — Stack overflow is almost dead
Gergely Orosz · 2025-05-15 - P044 — Real-world engineering challenges: building Cursor
Gergely Orosz · 2025-06-10 - P060 — Inside Google's Engineering Culture: Part 1
Gergely Orosz; Elin Nilsson · 2025-09-09 - P063 — Inside Google’s Engineering Culture: the Tech Stack (Part 2)
Gergely Orosz; Elin Nilsson · 2025-09-30 - P081 — Design Systems for Software Engineers
Gergely Orosz; Michael Abernethy · 2026-01-13 - P090 — How Uber uses AI for development: inside look
Gergely Orosz · 2026-03-10 - P115 — Why Ramp built its own in-house coding agent, Inspect
Gergely Orosz; Jessica Salmon; Ivan Klaric · 2026-08-25
Martin Fowler’s website 15
- F001 — The toolchain
Birgitta Böckeler · 2023-07-26 - F004 — In-line assistance - how can it get in the way?
Birgitta Böckeler · 2023-08-03 - F009 — Onboarding to a 'legacy' codebase with the help of AI
Birgitta Böckeler · 2024-08-15 - F010 — Building an AI agent application to migrate a tech stack
Birgitta Böckeler · 2024-08-20 - F012 — What role does LLM reasoning play for software tasks?
Birgitta Böckeler · 2025-02-18 - F017 — Building Custom Tooling with LLMs
Unmesh Joshi · 2025-05-14 - F018 — Autonomous coding agents: A Codex example
Birgitta Böckeler · 2025-06-04 - F022 — Anchoring AI to a reference application
Birgitta Böckeler · 2025-09-25 - F023 — Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl
Birgitta Böckeler · 2025-10-15 - F025 — Context Engineering for Coding Agents
Birgitta Böckeler · 2026-02-05 - F028 — Viability of local models for coding
Birgitta Böckeler · 2026-07-07 - F029 — Experiences with local models for coding
Birgitta Böckeler · 2026-07-08 - F032 — An Accidental Blackboard
Giles Edwards-Alexander · 2026-09-02 - F034 — Practitioner Voice
Jim Highsmith · 2026-08-19 - F035 — When Software Meets Hardware
Kuldeep Singh · 2026-10-15
Earlier Non-Deterministic books 25
- B014 — PART II: Quality Assurance
Enrico Papalini · - B019 — Tools \& Practices
Enrico Papalini · - B022 — Static Context Engineering: Teaching AI About Your Project
Enrico Papalini · - B023 — Dynamic Context Engineering: Real-Time Information
Enrico Papalini · - B024 — Context Flow Control: Managing Complex Sessions
Enrico Papalini · - B026 — Development Practices Enhanced by AI
Enrico Papalini · - B034 — Implementation Guide and Solutions
Enrico Papalini · - B042 — Advanced Patterns
Enrico Papalini · - B044 — Templates
Enrico Papalini · - B051 — Anatomy of an AI SDD Framework
Enrico Papalini · - B061 — Automation and Extensibility: CLI, Modules, and MCP
Enrico Papalini · - B068 — Template Reference
Enrico Papalini · - B075 — ralph-copilot
Enrico Papalini · - B078 — GSD-2
Enrico Papalini · - B080 — Agent Skills
Enrico Papalini · - B086 — The Philosophy of Deterministic Failure
Enrico Papalini · - B088 — The Ralph Loop Pattern
Enrico Papalini · - B090 — Memory and Context Engineering
Enrico Papalini · - B092 — Advanced Prompting for Autonomous Systems
Enrico Papalini · - B094 — Scheduling and Overnight Execution
Enrico Papalini · - B104 — Non-Deterministic Loop Engineering: A Critical Assessment
Enrico Papalini · - B105 — The Organization Becomes a Loop
Enrico Papalini · - B107 — The Ralph Loop: Persistent Progress Through Fresh Context
Enrico Papalini · - B108 — Building a Full Local AI Loop
Enrico Papalini · - B111 — Glossary
Enrico Papalini ·
Software Engineering Practices 13
- PAT:006 — Context Window Anxiety Management
- PAT:007 — Compounding Engineering
- PAT:008 — Agent-Powered Codebase Q&A and Onboarding
- PAT:016 — Structured Drift Detection
- PAT:020 — File-System as State Machine
- PAT:028 — Skills and Context Engineering: Remove Intent Debt
- PAT:029 — Memory and Retrieval: Read What the Model Could Not Know
- PAT:038 — Duplicate detection
- PAT:041 — Changelog drafter
- PAT:047 — Context Engineering
- PAT:053 — Legacy Code Navigation
- PAT:062 — Research Artifact Preservation
- PAT:072 — Handoff Chain