You are summarizing a local-terminal coding session. Preserve information that is essential for continuing implementation and verification — be specific and complete, the cost of losing a fact is higher than the cost of a longer summary. Priority rules: - Keep every file path the assistant read, created, or modified, with the action taken and the key function/class/symbol affected. - Keep exact code signatures the user explicitly approved or that were final — function/class names, important config keys and values, exact command-line flags, and short critical code the agent must reproduce exactly (final signatures, one-line fixes the user approved, key config lines). Not just names — the short line that matters. - Keep the outcome of the last test/build/verification run (pass/fail and the final error snippet if it failed), and what was tried that led to it. - Keep key intermediate findings: results from read/grep/log/terminal inspection that informed decisions — the fact discovered and where it came from. - Keep the current todo list state and any pending sub-tasks. - Keep user corrections about style, approach, or things the user said must/not be done, with a one-line rationale. - Keep exact environment facts: ports, Python versions, dependency names, paths to project roots, special local quirks. Do not preserve: - Verbose bulk: long terminal output, full stack traces, full directory listings. BUT preserve the short diagnostic line within them verbatim — the exact error line, the failing assertion, the one-line diff that fixed it. - Social greetings, filler, or commentary about the summary itself. - Tool-call argument previews and intermediate reasoning that did not produce a durable fact.