Manage ownership semantics

Manage ownership semantics in C++ — with the four heights of help laid out: do it now, make it easier for the next person to accept, work out the right move when you are stuck, and learn the pattern so it stops coming back.

4prompt heights
Open it in the interactive atlas →

The four heights

The same task, four distances: today's deadline, the next reviewer, the stuck moment, the pattern.

Execute — do the immediate task

+
A subsystem currently shares ownership of large configuration objects by copying them everywhere;…
A subsystem currently shares ownership of large configuration objects by copying them everywhere; this causes memory spikes and update inconsistencies. Rework ownership semantics: make the config immutable and share it by shared ownership, or convert to move-only with unique ownership and explicit hand-offs during reload. Implement one approach and update call sites so ownership rules are explicit and safe for concurrent readers.

Improve — make it easier to accept

+
Before I change how we own and pass configuration objects, make the change easy to review:…
Before I change how we own and pass configuration objects, make the change easy to review: summarize the chosen ownership model at the top of the PR, show example call sites before and after, call out concurrency implications for readers during reload, and list migration steps for code that currently copies configs. Highlight performance and thread-safety trade-offs to expect in testing.

Decide — diagnose the stuck moment

+
On config reload the system either duplicates huge objects or some threads read a partially-updated…

Reloading config causes inconsistent reads or memory spikes.

On config reload the system either duplicates huge objects or some threads read a partially-updated config. I’m not sure whether to use shared immutable configs or move-only ownership with a hand-off. Diagnose the likely thread-safety and performance trade-offs and recommend the next move: implement immutable shared_ptr-style snapshots for cheap reads, or move to unique ownership with a synchronized swap. Explain one concrete change I can make first to stop races with minimal code churn.

Become — change the pattern

+
Across services we habitually copy large configuration and state objects, which inflates memory use…

We keep passing large objects by copy and losing performance and consistency.

Across services we habitually copy large configuration and state objects, which inflates memory use and causes stale or inconsistent reads during reloads. Where are we losing time and credibility, and what habit should change? Recommend a default ownership policy: prefer immutable, shared snapshots for read-heavy data and move-only updates for writers; require a one-line ownership comment on types larger than 1KB. Provide a short checklist for refactoring hotspots.

Next to this one

Other programming language work people do in C++.

Every task here came from the work, not from a feature list — which is why the prompts name what you want done and never the button that does it. The tool changes; the work does not.
Copyright © LLOS.ai · 2026 — original pedagogy, voice, and design — all rights reserved.

The rest of the map

Same library, five ways in.