personal memory agent

docs(generate): settle two contradictions the third review found in the contract itself master

The contract said both 'each hint is meaningful to one lane and ignored by the others' and 'never accepted and dropped.' Those cannot both hold. Refusing is also wrong: a caller cannot see which lane it resolved to, by design, so a talent that sets an admission hint on every local retry would start being refused whenever the journal resolves to cloud. A generated response now reports hints_applied -- nothing is silently ignored because the answer carries what happened, and nothing is refused for asking. One lane already accepts both admission hints and discards them; this makes that visible. And session shutdown had one signal for two events. A killed caller's write end closes exactly as a deliberate close does, so a child seeing bare EOF must guess between finish the work and your owner is dead. A terminal record before close means drain; bare EOF means abort. A process group does not die with its leader, a parent-death signal is Linux-only and this tree builds for Apple, and a reaper is the same problem one level up -- one JSON line settles it portably.


+41 -9
1 changed file