How-To Guide
A task-focused guide that teaches a reader to accomplish something they do not yet know how to do.
How-To Guide
Section titled “How-To Guide”A how-to guide teaches a reader to accomplish a specific task they do not yet know how to do, walking them through the steps with enough context to understand what they are doing and why. The format earns its place not just by listing actions but by building the reader’s capability: it names prerequisites, anticipates where confusion is likely, and explains the purpose behind each stage. The goal is a reader who, having followed the guide once, could reproduce the task without the guide the second time.
The how-to guide occupies a distinct position among technical documents. A reference lists commands, parameters, or APIs for lookup by a reader who already knows what they need. A tutorial introduces a technology through a worked example. A how-to guide bridges the gap: the reader knows what outcome they want but has not yet worked out how to reach it, and the guide gives them the path with just enough explanation to make the steps stick.
Good how-to guides are sequenced by reader readiness, not by system architecture. Steps appear in the order a reader needs to take them, not in the order a developer would think to explain the internals. They acknowledge that readers may stop and restart, that prerequisites are often invisible to the author but critical for the reader, and that the step most likely to produce a stuck reader is usually one the author considered obvious.
Canonical template
Section titled “Canonical template”# How to [accomplish specific task]
## Before you begin- [Prerequisite: what the reader must already have or know]- [Prerequisite: access, tool, or state required]
## Overview[1-2 sentences: what this guide covers and what the reader will be able to do when done.]
## Step 1: [Action phrase][Brief explanation of why this step is needed.][Specific, concrete instruction.][What a successful outcome looks like at this step.]
## Step 2: [Action phrase]...
## Troubleshooting[Common failure point and what to do about it.]
## Next steps[Where to go from here: related tasks, deeper reading, or what the reader just unlocked.]When to use
Section titled “When to use”Teaching a reader to complete a task they have never done before, when understanding what they are doing matters as much as getting through the steps. Onboarding new users to a tool, workflow, or process where capability-building outlasts the first session. Documenting infrequent tasks that readers will return to repeatedly until the steps are internalized. Bridging the gap between reference documentation and a reader who cannot yet use that reference independently.
When not to use
Section titled “When not to use”Situations where an experienced operator needs to execute a procedure correctly under pressure without pausing to read explanations. Reference lookup, where the reader already knows what they want and needs only the parameter, option, or command syntax. Conceptual or architectural overviews where the primary goal is understanding rather than task completion.
Pairs well with
Section titled “Pairs well with”technical-writer, friendly-mentor, instructional, encouraging, procedural
Often confused with
Section titled “Often confused with”runbook: A runbook is an operational document written to be executed, not read for understanding. Its defining design constraint is that an operator who did not build the system must be able to complete the procedure correctly by following the steps sequentially, without needing to understand why each step exists. A runbook is not a teaching document - it is a decision aid that replaces the need to reason in the moment. A how-to guide is written for a learner who is building capability; a runbook is written for an operator who is completing a known procedure under pressure. Where a how-to guide explains, a runbook executes.
- Steps named with action verbs and framed for the reader, sequenced in the order the reader takes them
- A prerequisites section that names what the reader must have or know before starting
- Brief explanations of why each step exists, embedded within or immediately before the instruction
- Second-person prose addressed directly to the reader: “you will need”, “your output should look like”, “if you see”
- A troubleshooting or recovery section addressing common failure points by name
- A closing section that points the reader to what they can do next now that they have this skill
- Steps sequenced by reader readiness, not by the organization of the underlying system
Anti-patterns
Section titled “Anti-patterns”- Omitting prerequisites and assuming the reader’s environment matches the author’s - Without stated prerequisites, a reader who fails on step one cannot tell whether the environment is wrong or the guide is broken. Unstated prerequisites are the most common reason a how-to guide works for the author and fails for everyone else.
- Writing steps as bare commands without indicating what a successful outcome looks like or why the step matters - A list of commands without context produces a reader who cannot recover when output differs from expectation. Explaining what each step does and what to expect afterward builds understanding, not just mechanical completion.
- Burying the first actionable step under a long conceptual orientation to the broader system - A how-to guide is task-oriented; long introductory explanations belong in overview or tutorial documents. A reader who came to accomplish something will abandon a guide that does not reach the first step quickly.
- Sequencing steps by system architecture or developer mental model rather than by reader readiness - Steps arranged to match system internals frequently omit the setup work that is obvious to the author but invisible to the reader. Reader-first sequencing surfaces those invisible prerequisites as named early steps.
Failure modes
Section titled “Failure modes”- Over-explains - wraps every step in so much contextual scaffolding that the reader loses the thread of what to do; the guide becomes a lesson in the system rather than a path through a task - Keep explanations proportional to the risk of confusion at that specific step. A one-sentence explanation is enough when a step is clear. The explanation serves the reader, not the depth of knowledge the author wants to display.
- Over-anticipates confusion - so many warnings, edge cases, and conditional branches that a reader on the normal path cannot find the main sequence; addressing every exception makes the common case harder to follow - Write the happy path cleanly, then consolidate exceptions in a troubleshooting section. Reserve inline warnings for genuine risks where a silent failure would mislead the reader. Conditional branches belong in separate labeled sections, not inside the numbered steps.
- Over-scaffolds the reader to the point of condescension - restates what was just established, hedges every instruction with caveats, and treats the reader as incapable of any judgment call - Assume a reader who is competent in general but has not done this specific task. Write to that intelligence, not to inexperience. Reserve warnings for genuine risks, not for things that cannot realistically go wrong.
Instruction
Section titled “Instruction”Write as a How-To Guide. Use the canonical sections: Before you begin (prerequisites), Overview,numbered Steps, Troubleshooting, and Next steps. In Before you begin: list each prerequisite thereader must have or know before starting - do not assume the reader's environment matches yours.In Overview: one to two sentences stating what the guide covers and what the reader will be ableto do when finished. In each Step: name the step with an action verb, briefly explain why thestep exists, give the specific instruction, and state what a successful outcome looks like. InTroubleshooting: name common failure points and what to do about each. In Next steps: point thereader to related tasks or deeper resources. Sequence steps by reader readiness, not by systemarchitecture. Write in the second person. Explain enough that the reader understands what theyare doing, not just what to type.Template
Section titled “Template”See the How-To Guide template.
Related
Section titled “Related”Pairs well with
Section titled “Pairs well with”Technical Writer, Friendly Mentor, Instructional, Encouraging, Procedural
Avoid with
Section titled “Avoid with”Skeptical, Confessional, Urgent
Often confused with
Section titled “Often confused with”Examples
Section titled “Examples”- Whether the team should move to async-first standups
- Designing a sustainable morning routine
- Choosing Postgres vs DynamoDB for a new service
- Telling stakeholders a committed feature is being cut this quarter
- Getting a new engineer productive in their first two weeks
- Writing to thank a mentor who shaped your career
- Reflecting on keeping a discipline of rest
- Marking a long-serving colleague's departure
- Marking the team shipping a hard, long project
- Arguing a public position on return-to-office
- Announcing a new product to an outside audience
- A personal year-end reckoning with a difficult year
How to run an async standup trial for a distributed engineering team
Section titled “How to run an async standup trial for a distributed engineering team”Before you begin
Section titled “Before you begin”- You have a Slack workspace with a channel you can create or repurpose (#team-standup is this team’s name)
- You have mapped each engineer’s local timezone and know what the current sync standup time translates to on their clock
- You have a shared docs space for the trial retro and the Thursday agenda
- You know who is currently on the meeting facilitation rotation - that person becomes the first on-call channel reader
Overview
Section titled “Overview”This guide walks you through running a 30-day async standup trial. When you finish, you will have a running async standup channel with a posted template, a functional on-call reading rotation, a weekly working session replacing the old sync slot, and a retro framework for deciding whether to make the change permanent.
Step 1: Map the timezone cost of your current standup
Section titled “Step 1: Map the timezone cost of your current standup”Before changing anything, you need to understand what problem you are solving. The sync standup imposes an unequal time burden across timezones, and that asymmetry usually stays invisible until you write it down explicitly.
List each engineer with their local timezone, then calculate what the current meeting time looks like on their clock. For this team, 9am Pacific is 9:30pm IST - a fact that shows up in attendance data as apparent disengagement rather than as a scheduling problem. The India engineers averaged 3.2 standup appearances per week while US engineers averaged 4.6. The gap is timezone cost, not commitment.
You have done this step when you can hand someone the timezone translation table and they understand immediately why the attendance numbers look the way they do.
Step 2: Set up #team-standup with the three-field template
Section titled “Step 2: Set up #team-standup with the three-field template”Create a dedicated Slack channel and pin a message at the top with the posting template:
Shipped: - <what landed since your last post>
In progress: - <what you are actively working on today>
Blocked or at risk: - <what is stuck, and who or what you need>Also pin the house rules alongside the template: post by 10am your local time, @mention the person who can unblock you if you have a blocker, and write “nothing today” rather than skipping a field. If your Slack workspace supports it, configure a /standup shortcut that pre-fills the template.
You have done this step when at least three engineers can name the three fields without looking at the pin.
Step 3: Define the on-call reading rotation
Section titled “Step 3: Define the on-call reading rotation”The async channel only functions if someone is accountable for ensuring blocked items get a response before end of business. That is the on-call reader role.
Assign it to the same engineers who currently facilitate the sync standup. Their new job: scan #team-standup between 10am and 11am Pacific each day, confirm that every @mention in a Blocked field has received a first response, and escalate anything unresolved. The role is triage, not editorial - they are not summarizing status or synthesizing updates. Budget 10 minutes per morning.
You have done this step when the first on-call engineer can explain their daily job without using the word “summarize.”
Step 4: Replace the sync meeting slot with a Thursday working session
Section titled “Step 4: Replace the sync meeting slot with a Thursday working session”Do not eliminate the meeting time without replacing the coordination and social functions it carries. The async channel handles status; the Thursday session handles everything that genuinely requires real-time exchange.
Schedule a 60-minute session on Thursday at the least-bad time across your timezone spread. For this team that is 8am Pacific / 8:30pm IST - a late evening for IST engineers, but once per week is a different burden from daily at 9:30pm. Keep a rolling agenda in a shared doc (docs/thursday-agenda.md). If the agenda is empty by Wednesday 5pm Pacific, cancel and give the time back.
You have done this step when the Thursday session fills with real discussion and the team stops calling it standup.
Step 5: Frame the trial and set the retro date
Section titled “Step 5: Frame the trial and set the retro date”A trial framing changes how engineers participate. When people know an experiment will be evaluated on explicit criteria, they engage with the process rather than waiting for it to be declared a success.
Send a team message naming the trial length (30 days), what you are specifically testing, the date of the retro, and where to drop observations mid-trial (docs/trial-retro.md). State clearly that if the retro data argues for reverting, you will revert. The trial only generates useful information if everyone believes you mean that.
You have done this step when someone asks “what happens at day 30?” and you can point them to the retro doc and the evaluation criteria without hesitating.
Step 6: Track post completion and blocker resolution week by week
Section titled “Step 6: Track post completion and blocker resolution week by week”Collect weekly numbers so the Day 30 retro has something to compare. Two signals matter: post completion rate (posts received by the 10am local cutoff divided by posts expected) and blocker resolution time (minutes from @mention to first substantive reply in the thread).
This team’s Week 2 results give you a reference point: on-time post completion at 85.5 percent (47 of 55 expected posts), median blocker resolution at 18 minutes. Those are not targets - they are what this team established. Collect your own numbers and compare them to your sync standup baseline.
You have done this step when you can walk into the Day 30 retro with two to three weeks of weekly numbers and a qualitative data point from each engineer.
Troubleshooting
Section titled “Troubleshooting”Posts are getting too long. If engineers are writing 200-word updates, the channel stops being skimmable in under 60 seconds. Share two exemplary short posts in the pinned message and reinforce the three-bullet ceiling at the Thursday session. The template fields are prompts for bullets, not headers for paragraphs.
The on-call reader is over their time budget. A 25-minute morning triage usually means blockers are surfacing earlier than the old sync model expected - which is actually the system working. Watch for another week before changing the rotation. If it persists, consider whether the on-call role needs a secondary backup rather than restructuring the whole rotation.
Engineers are running decisions in post threads. Async standup threads are for clarifications, not for the kinds of conversations that used to happen after standup. If you see a 10-message thread under a blocked item, add a house rule to the pin: threads for quick questions, everything else to a DM or Thursday agenda. Decision-weight conversations in a standup thread are a sign that the Thursday session needs a broader agenda or a lower cancellation threshold.
A timezone cluster goes quiet. Check whether the 10am local cutoff is achievable for that group. If their workday starts at or after 10am local, the cutoff is structurally impossible. Adjust the window for that cluster rather than treating low compliance as a participation problem.
Next steps
Section titled “Next steps”At Day 30, run the retro against the criteria you set in Step 5. The quantitative data from Step 6 answers whether blockers are resolving faster and whether participation is more equitable across timezones. The qualitative signal from pre-retro 1:1s answers whether engineers feel the loss of daily sync contact.
If the retro supports making the switch permanent, record the decision in an ADR (see docs/rfc-async-standups.md for this team’s original decision record). Update the #team-standup pin to remove the trial language and archive the old sync calendar invite.
If the retro argues against it, you have 30 days of data explaining exactly what failed. Use it to shape the next iteration rather than reverting to the baseline without a plan.
How to Design and Launch a Sustainable Morning Routine
Section titled “How to Design and Launch a Sustainable Morning Routine”Before you begin
Section titled “Before you begin”- Know your fixed constraints: when family obligations start (in this case, 7:30am for breakfast and school dropoff) and when your workday begins (9am). These two times define the window the routine has to fit inside.
- Decide where your phone will live during the routine before the first morning. This decision needs to be made once, not re-negotiated every day.
- Set out a paper notebook and pen the night before. Reaching for paper is easier when it is already there.
- Talk to anyone who shares your morning space. My spouse’s coffee window runs 6:45-7:15am; I deferred our usual morning conversation to after 7:15am. Small renegotiation, but it needed to happen before day one, not on day three when the friction had already built up.
Overview
Section titled “Overview”This guide walks you through designing and launching a four-step morning routine that replaces reactive phone use with a deliberate first hour. By the end you will have a sequenced protocol, a lightweight logging method, and a 30-day commitment structure you can actually hold to.
Step 1: Map your morning window
Section titled “Step 1: Map your morning window”Before you decide what goes into the routine, you need to know how much time you actually have.
Write down three times: when you want to wake, when household or family obligations begin, and when your workday starts. The routine lives in the gap between the first two. Waking at 6:15am with family time starting at 7:30am gives you 75 minutes. The four-step protocol uses about 45 of them (10 minutes for water and light, 15 for movement, 10 for planning, with the remaining 20 as buffer for getting dressed and making coffee).
You have done this step correctly when you have a real number written down, not an estimate.
Step 2: Choose a replacement, not just a removal
Section titled “Step 2: Choose a replacement, not just a removal”The most common failure in morning habit change is removing a behavior without putting something in its place. I tried to “just stop using my phone in the morning” three times in a single year. Each attempt lasted four to six days. The phone was filling a genuine need - reducing uncertainty, feeling oriented before the day started - and I had not offered myself anything else to do that.
Design a sequence that addresses the same underlying need. The sequence I settled on is:
- Water. 500ml within the first five minutes of waking. Glass set on the nightstand the night before.
- Light. 10 minutes outside or at the largest window available. No screen counts as light exposure.
- Movement. 15 minutes - walk, stretch, or a bodyweight routine. Heart rate up, but not crushing.
- Planning. 10 minutes with paper and pen. Write the top three tasks for the day. Then, and only then, the phone.
Order matters here. Water and light together function like a reset switch. Starting with movement before light never worked as well. Run this sequence for the full 30-day window before you adjust the order.
You have done this step correctly when the sequence is written down and you can say in one sentence what each step is for.
Step 3: Resolve the phone rule once
Section titled “Step 3: Resolve the phone rule once”Decide now where your phone will be during the routine. Not each morning - once, before day one.
In my case the phone lives in the kitchen, plugged in and face down, until planning is done. This removes the need to resist checking it each morning. The rule is physical, not motivational: the device is not within reach, so the decision does not arise.
If your phone is also your alarm, either use a separate alarm device or set the alarm the night before and move the phone out of reach before you go to sleep.
You have done this step correctly when you have a physical location decided, not just a vague policy.
Step 4: Commit to 30 days before adjusting
Section titled “Step 4: Commit to 30 days before adjusting”A 30-day frame outperforms a 90-day frame if you have tried to build habits before and quit partway through. I ran a 90-day version of this experiment earlier and abandoned it on day 11. Thirty days is long enough to generate real signal about what is and is not working, and short enough that the finish line is visible from the start.
Write the end date on paper and put it somewhere you will see it in the morning. Tell your accountability partner the date. Do not restructure the protocol during the 30-day window - wait. If something feels wrong, log the friction and examine it at the end.
You have done this step correctly when the end date is written down and at least one other person knows about it.
Step 5: Log each morning with one row
Section titled “Step 5: Log each morning with one row”Logging is what turns a habit into something you can learn from. The minimum viable log is one row per morning with these fields:
- date
- wake time
- completed (yes / no / partial)
- which steps were skipped, if any
- one-word mood
- notes (optional)
Fill in the row during your planning step, on the same paper page, then transcribe to a file at the end of each week. Keeping the log inside the routine means it gets done rather than becoming its own task to skip.
You have done this step correctly when the first row exists on the morning of day one.
Troubleshooting
Section titled “Troubleshooting”You are reaching for your phone before you are fully awake. This is a resolve-in-the-moment failure, and resolve does not scale. Put the phone in another room before you go to sleep. If the kitchen rule did not stick, try a drawer in a different room. The solution is always physical location, not willpower.
You are completing 3 of 4 steps and calling it good. Log partial completions as partial and note which step dropped - that data is useful. But do not renegotiate what “done” means during the 30-day window. A pattern of partial weeks tells you where the friction is. Wait for the review before changing the protocol.
Travel is breaking the routine. The protocol assumes a familiar environment. Travel is a genuine structural exception, not a willpower failure. Design a travel variant before you travel: water and planning at minimum, in a hotel room. Do not try to improvise the movement step at 6am in an unfamiliar city without a plan already in place.
One day of the week is consistently the hardest. Check the log. My Tuesdays were the worst - three of my four unexplained misses fell on Tuesdays. The cause turned out to be Monday’s leftover cognitive load carrying over. A 15-minute Sunday evening planning session reduced Tuesday failures significantly. Look for the day, then look for the upstream cause.
Next steps
Section titled “Next steps”When the 30-day window closes, review the log before you change anything. Three questions worth answering before you design month two:
- Which steps completed at the highest rate? Those are the load-bearing ones. Build the next phase around them.
- What was the single hardest thing? That is your one optimization target, not a reason for a full redesign.
- Does the 30-day frame extend into a longer commitment, or do you need another 30-day checkpoint before you trust yourself with more runway?
If you want to see the decision-making that produced this protocol, the ADR that accompanied the original launch is in the same folder as this guide. It documents the alternatives that were rejected (waking at 5:30am, using a habit-tracking app, doing nothing) and the reasoning behind the four-step sequence and phone-in-kitchen rule.
How to Choose Between Postgres and DynamoDB for a New Service
Section titled “How to Choose Between Postgres and DynamoDB for a New Service”Before you begin
Section titled “Before you begin”- You have a new service in design or early build, and it needs a persistent data store.
- You know your team’s current operational footprint: which datastores you already run in production and who is on call for them.
- You have a rough estimate of your launch-day write and read volume, even if uncertain.
- You have a technical lead and a product owner who can sign off on the decision before build work begins.
Overview
Section titled “Overview”This guide walks you through the process the Lattice Notify team used to choose between Postgres and DynamoDB for their notification service. By the end, you will have a decision recommendation backed by a documented rationale, a revisit threshold, and a clear owner - ready to lock in before sprint planning.
Step 1: Document the access pattern the new service actually needs
Section titled “Step 1: Document the access pattern the new service actually needs”Before comparing databases, be specific about what your service will ask of its data store. Vague requirements (“high write volume,” “fast reads”) let both options look equal when they are not.
Write down the three most common operations your service will run: the shape of the write (one record per event, bulk inserts, etc.), the shape of the read (point lookup by user ID, range scan by time, cross-table join), and whether those operations are ever coupled in a single request.
For the notification service, Marcus documented this during the DynamoDB spike in experiments/notify-ddb/: writes are single-row inserts keyed by user_id, reads are point lookups to deliver to a user’s inbox, and there are no ad-hoc scans at query time. DynamoDB fits this pattern well. Postgres requires a secondary index on user_id but handles it cleanly.
A successful outcome at this step is a one-paragraph statement you can read aloud in a meeting that describes the access pattern without using the word “normal.”
Step 2: Audit your team’s operational capacity
Section titled “Step 2: Audit your team’s operational capacity”Your database choice is not only a technical question - it is a staffing question. Adding a second datastore means a second runbook, a second monitoring surface, a second backup and restore story, and a second skill set every engineer on call must carry.
List what you already run in production and who owns the on-call procedures. Then calculate what adding the new option would cost: new documentation, new alerts, new training, and the cognitive overhead of debugging two systems instead of one.
The Lattice Notify team had 8 backend engineers and a 4-person on-call rotation already operating Postgres. Ana surfaced this at the Wednesday architecture meeting: the cost was not hypothetical - the team had measured it in a prior workstream. DynamoDB’s access-pattern fit was real, but the operational cost of introducing it was equally real. Ana’s point carried the meeting.
A successful outcome is a short list of the actual engineers who would carry the additional on-call burden, with an honest statement of whether that cost is absorbable at current headcount.
Step 3: Scope your growth scenario and name the uncertainty in it
Section titled “Step 3: Scope your growth scenario and name the uncertainty in it”Pick the growth scenario you are designing for and be explicit about what has to be true for it to materialize. The common failure is designing for the large scenario when only the small scenario is certain - paying the complexity cost up front for a future that may not arrive.
Write down your launch-day volume and your 12-month projection, then name the external event that drives the gap. If the gap depends on a deal, a launch, or a partnership that has not closed, say so explicitly.
The notification service launched at 500K events per day. A 10x growth scenario existed if the pending Slack-partnership deal closed. Priya confirmed at the Friday lock sync that the deal had not closed. The team accepted Postgres for the certain scenario and documented a 5M events/day revisit threshold to trigger reconsideration when the uncertain scenario arrived.
A successful outcome is two rows: “Certain scenario: [volume]” and “Uncertain scenario: [volume, depends on: named event].”
Step 4: Compare reversibility, not just fit
Section titled “Step 4: Compare reversibility, not just fit”Both options are likely recoverable. Make that explicit. Knowing the migration cost in both directions changes the decision from “which is better” to “which direction is easier to undo if we are wrong.”
Estimate the rework window if you choose option A and later need option B, and the rework window in the other direction. Include team-learning costs, not just code changes.
The Lattice Notify team put this at 3 to 6 weeks of rework in either direction. The asymmetry was small, which meant the operational cost surfaced in Step 2 could be the deciding factor rather than fear of lock-in. Neither choice was a trap.
A successful outcome is a sentence that starts: “If we choose X and are wrong, we pay approximately Y weeks of rework” for each option.
Step 5: Make the recommendation and record a revisit threshold
Section titled “Step 5: Make the recommendation and record a revisit threshold”Collect the outputs from the previous steps - access pattern, operational cost, growth certainty, reversibility - and write a single recommended option with a one-paragraph rationale. Include a specific metric at which the decision should be revisited. Not “when we get big,” but a number with an owner.
The notification service team chose Postgres, with a notifications schema in the existing primary cluster, a pg_notify-backed job queue, and a notification_jobs table for worker tracking. The revisit threshold was 5M events/day sustained, tracked on the on-call dashboard owned by Jordan. Marcus signed off on the revisit threshold language by EOD Thursday. Priya recorded the final decision before Friday’s 2pm sprint planning.
A successful outcome is an ADR (the notification service produced ADR-0023) accepted before the first sprint of build work begins.
Troubleshooting
Section titled “Troubleshooting”The team cannot agree because both options look equally good. This usually means the access-pattern analysis in Step 1 is still vague, or the growth scenario in Step 3 has not been separated from its dependencies. Return to those steps and force specificity. If genuine uncertainty remains, treat reversibility (Step 4) as the tiebreaker and choose the option the team can undo more cheaply.
One team member has strong conviction for the option you are not choosing. Do not smooth over the disagreement - document it. The ADR should record the competing view and explain why the deciding factor outweighed the fit argument. Marcus’s case for DynamoDB appears in ADR-0023 even though Postgres won. A team member who sees their position accurately recorded is more likely to commit to the chosen direction than one whose argument was dismissed.
You cannot get a decision-maker to lock the choice before build work starts. This is a scheduling problem, not a technical one. Frame the cost: every week of build before the decision locks is potential rework. Put the decision meeting on the calendar first - the Lattice Notify team scheduled the Wednesday architecture meeting and the Friday lock sync before any schema work began.
Next steps
Section titled “Next steps”- Draft the ADR and circulate it for review before sprint planning. ADR-0023 is the model for this scenario.
- Define the schema and queue for the chosen option. For the notification service, Sam owned the
notificationsschema andnotification_jobstable spec, with delivery targeted by 2026-05-20. - Add the revisit threshold metric to your monitoring dashboard. Jordan added queue depth and write rate to the on-call dashboard by 2026-05-22.
- Schedule first internal end-to-end traffic as a forcing function. The notification service targeted 2026-05-29 for first production traffic on the Postgres path.
How to Communicate a Q3 Roadmap Cut to Stakeholders
Section titled “How to Communicate a Q3 Roadmap Cut to Stakeholders”Before you begin
Section titled “Before you begin”- The cut decision is made and has internal sign-off. Do not begin external communication while leadership alignment is still in progress.
- You have confirmed the specific reason for the cut. In the Insights case: the billing-system migration overran its timeline and consumed the engineering capacity originally allocated to the dashboard.
- You have a concrete stopgap offer ready. A promise to figure something out later is not a stopgap. For Insights, this means the CSV export is scoped and scheduled before outreach begins.
- You know which stakeholders received the original Q3 commitment. For Insights: the Sales team (who positioned the dashboard as a closing point for enterprise accounts) and the four key customer accounts who were given a delivery date directly.
- You have a replacement target date to offer. A deferral without a new date is a cancellation in the customer’s mind. Confirm the Q1 2027 target with engineering before any external message goes out.
Overview
Section titled “Overview”This guide walks through the communication sequence for cutting Insights from the Q3 roadmap and notifying the stakeholders who were given the original delivery date. When you finish, you will have aligned your internal teams, delivered direct notice to each affected customer account, and set the expectations that carry through Q4 and into the Q1 re-commitment.
Step 1: Lock the facts before drafting any message
Section titled “Step 1: Lock the facts before drafting any message”You cannot communicate what you have not yet confirmed. Before writing a single sentence of external notice, verify three things: the reason (billing migration consumed the capacity), the stopgap (CSV export, releasing September 26), and the replacement commitment (full dashboard, Q1 2027, target March 13, 2027).
Successful outcome: you can answer “why did this happen,” “what do customers get now,” and “when does the real thing ship” without hedging or checking a document mid-call.
Step 2: Brief sales before the customers hear anything
Section titled “Step 2: Brief sales before the customers hear anything”Sales positioned Insights as a closing point for enterprise accounts. They will field questions from customers before you finish sending notices. Give Jordan Park and the sales team a direct heads-up - a short call or a written message with the three confirmed facts - before any written notice goes out to accounts.
This step matters because a sales rep who is blindsided by a customer question is in a worse position than one who already knows the story. The goal is not just to inform; it is to give Jordan Park what is needed to speak to the cut confidently.
Successful outcome: Jordan Park confirms they have the facts and understand the plan before the customer notices go out.
Step 3: Send written notice to the four key accounts
Section titled “Step 3: Send written notice to the four key accounts”Draft a short, direct notice. The structure that works: name what changed, explain why without over-explaining, name the stopgap and how to access it, and give the Q1 target date. Do not apologize repeatedly or bury the news under framing paragraphs.
Send the notice to each account individually. A broadcast message signals that this is routine; these accounts were given a personal commitment, and the correction should match that register.
Successful outcome: each of the four accounts has received a written notice with the reason, the CSV export details, and the Q1 target date before you move to the next step.
Step 4: Schedule calls for accounts that flagged dependency
Section titled “Step 4: Schedule calls for accounts that flagged dependency”Some accounts may have signaled a strong dependency on the Q3 date. A written notice is not enough for those accounts. Flag any such account to Jordan Park and get a call on the calendar this week. On the call, do not over-promise on Q1 scope. Confirm what the Q1 build includes (full dashboard with saved views and scheduled reports) and what the CSV export can do in the meantime.
Successful outcome: any account that flagged strong dependency has a call scheduled before the week ends.
Step 5: Update the internal status report
Section titled “Step 5: Update the internal status report”After external notices are sent, update the Insights status report to reflect the new state: Red, Q3 cut, CSV export on track for September 26, Q1 kickoff October 6. Flag the March 13, 2027 target and ask leadership to confirm whether that date is cleared for use in customer-facing communications.
Successful outcome: leadership has confirmed the March 13 date, and the status report matches the message the four accounts received.
Troubleshooting
Section titled “Troubleshooting”An account pushes back and asks whether the original Q3 date can be honored
Do not relitigate the decision or offer a partial release to preserve the relationship. The billing migration is not optional, and the two missing pieces - saved-view persistence and scheduled-report delivery - are exactly what the account was sold. Acknowledge the impact directly, confirm the CSV export as the interim path, and hold the Q1 date. If the account signals a contract or renewal risk, escalate to leadership rather than making commitments outside your authority.
Sales asks whether scope can be reduced to hit Q3
The answer is no, and you should be specific: the billing migration required the capacity, and there is no remaining Q3 window for Insights work without risking the migration. Redirect the conversation to what Q1 includes and what the CSV export delivers now. Relitigating the capacity math does not help Sales or the customer.
The CSV export misses its September 26 target
The quarter closes September 30. A slip to the week of September 30 is within the buffer - it is recoverable. The risk is the billing production release on September 19. If that release surfaces regressions, engineering will triage those before returning to the CSV build. Watch the September 19 release closely and flag a potential export delay to Jordan Park as soon as the risk is concrete, not after the slip has already landed.
Next steps
Section titled “Next steps”- After the billing migration stabilizes, begin the Q1 engineering design document for Insights. Owner: Maya Chen, start date October 6.
- Carry the four account names and their specific commitments into Q1 planning. The Q1 scope - full dashboard, saved views, scheduled reports - was set to match what was sold. Do not allow Q4 scope requests to expand Q1 without revisiting the schedule.
- When Q1 planning closes and capacity is confirmed, send each of the four accounts a follow-up note confirming the March 13 target is locked. That closes the loop the Q3 cut opened.
How to run the two-week new-engineer onboarding protocol
Section titled “How to run the two-week new-engineer onboarding protocol”Before you begin
Section titled “Before you begin”- You are the named onboarding DRI or buddy for this hire. One person owns this; split ownership does not work.
- The new engineer’s start date is confirmed and you know it at least five business days in advance.
- You have sprint authority to commit 30-40% of your week-one capacity and 15-20% of your week-two capacity to this work. If you do not, block the protocol until that is resolved.
- You have access to the access request portal, the team’s
good-first-issueticket backlog, and the#backend-serviceschat channel.
Overview
Section titled “Overview”This guide walks you through the two-week protocol for getting a new backend engineer - in this case Priya - from day-one access gaps to a merged pull request and a first production deploy. When you finish, Priya will have a working local environment, a read of the codebase, one real change shipped, and the social footing to keep going without a buddy.
Step 1: Pre-scope the first change before day one
Section titled “Step 1: Pre-scope the first change before day one”If you wait until Priya arrives to pick her first ticket, week two loses a day of setup. The team needs to decide in advance.
Browse the good-first-issue backlog and identify a ticket that touches one service and one data model, has a test that can be written in under an hour, and carries no on-call risk if something goes wrong. Note it as Priya’s week-two task and confirm with the team that it will not be picked up by someone else in the interim.
You have done this step correctly when you can name the ticket, say what it changes, and explain why it is safe for a new engineer to own.
Step 2: Open access on day one (days 1-2)
Section titled “Step 2: Open access on day one (days 1-2)”Access gaps on day one are the single most common cause of a new engineer feeling invisible before week one ends. Your job is to make sure Priya leaves day one with every credential and channel already working.
Request any of the following that are not yet provisioned through the IT portal:
- Source control org membership
- VPN credentials and SSO setup
- CI/CD pipeline access
- Observability platform (logs, traces, metrics)
- On-call rotation viewer (she does not go on-call until week five)
- Secret manager read access for staging
- Chat channels:
#backend-services,#incidents,#deployments,#team-random
Walk Priya through the bootstrap script yourself rather than handing her a doc and walking away:
git clone git@source.example.internal:backend/services.gitcd services./scripts/bootstrap.shThen run the quick-start together and confirm the smoke test passes:
make start-localmake smoke-testYou have done this step correctly when smoke-test passes and Priya can describe what each access item does. A credential she has but does not understand is a gap that surfaces later.
Step 3: Run week-one orientation (days 3-5)
Section titled “Step 3: Run week-one orientation (days 3-5)”The goal of week one is orientation, not output. Three things need to happen before Friday.
Trace the system. Sit with Priya as she reads docs/architecture-overview.md and docs/service-map.md, then open the observability platform and trace one real production request together - from the API gateway to the data store. This makes the architecture concrete rather than abstract.
Introduce the owners. Pull up docs/ownership.md and identify the three teammates whose services Priya will most likely touch. Facilitate brief one-on-ones early in the week - these matter more than any doc.
Watch a deploy. Arrange for Priya to pair with whoever is on-call for at least one daily deploy before Friday. Watching it once removes most of the mystery.
You have done this step correctly when Priya can navigate the codebase without prompting and can describe the ownership structure of the services she will touch.
Step 4: Hold the Friday week-one check-in
Section titled “Step 4: Hold the Friday week-one check-in”A structured check-in prevents small gaps from becoming blockers that you only discover on Monday of week two.
On Friday afternoon, sit with Priya for thirty minutes. Cover three questions: Is anything blocked? Can she navigate the codebase independently? Is there anything missing from the access list? Write down what she says - not your interpretation of it.
If anything is blocked, own the resolution before end of day Friday. If staging access is still pending (the infra queue can be slow), flag it explicitly: Priya needs her own staging credentials before the on-call alert drill scheduled for week two.
You have done this step correctly when you have a written note of any open items and a named next action for each one.
Step 5: Hand off the first real change (week two, day one)
Section titled “Step 5: Hand off the first real change (week two, day one)”Handing off a pre-scoped task on the first day of week two is what makes the rest of the protocol work. If the task is not ready, the week drifts.
Open the ticket you identified in Step 1 and walk Priya through it: what it changes, why the service behaves the way it does, and what a correct outcome looks like. Then hand it to her. She drives from here.
You have done this step correctly when Priya opens her branch the same day and can explain the change to a third person without your help.
Step 6: Pair on review and lead the first deploy
Section titled “Step 6: Pair on review and lead the first deploy”Priya should have a pull request open by Wednesday of week two. Your role is reviewer and pairing support - not co-author.
Review the PR with the same standards you would apply to any teammate’s change. Note what is working as well as what needs revision. When the PR is approved, Priya does the deploy. Arjun can pair as additional support if she wants it, but she owns the controls.
You have done this step correctly when the change is merged, Priya’s name is in the deployment log, and she can describe what the deploy process does.
Step 7: Run the two-week retrospective
Section titled “Step 7: Run the two-week retrospective”On Friday of week two, hold a thirty-minute retrospective with Priya. The functional close is straightforward: confirm the PR is merged, confirm access is complete, and identify any remaining gaps.
The belonging question matters more and is easier to skip. Ask it directly: does she feel she belongs on the team, or does she feel she is functioning on the team? These are different. Functional progress does not answer the belonging question.
You have done this step correctly when you have a written answer to both questions and a plan for anything still open.
Troubleshooting
Section titled “Troubleshooting”Access request stuck in the infra queue. Do not wait. Submit the request and set a calendar reminder for two business days out. If it is not resolved, escalate through the engineering manager. Staging access in particular must be live before any on-call drill.
The pre-scoped ticket was picked up or blocked before week two. Find a replacement before Monday morning of week two. Apply the same criteria: one service, one data model, safe to fail. Do not let Priya start week two without a task in hand.
Priya is not navigating the codebase independently by end of week one. Extend the orientation window by two to three days before moving to the first change. Do not push the week-two protocol forward if the week-one foundation is not solid - the first change will become a frustration rather than a success.
Sprint pressure is pulling you away. Surface this to the engineering manager immediately. The protocol requires 30-40% of your week-one capacity. If the sprint does not account for this, the onboarding fails quietly and the cost lands elsewhere.
Next steps
Section titled “Next steps”Once the two-week window closes, the formal onboarding is done but the relationship usually is not. The buddy relationship tends to become an informal mentorship channel - treat that as expected rather than scope creep.
The next formal milestone is week five, when Priya joins the on-call rotation. Before then, schedule the on-call briefing (alert routing and escalation drill) and confirm she has reviewed docs/on-call-runbook.md.
For the reasoning behind this protocol’s design choices, see the team ADR on structured guided pairing.
How to Write a Thank-You to a Mentor Who Shaped Your Career
Section titled “How to Write a Thank-You to a Mentor Who Shaped Your Career”Before you begin
Section titled “Before you begin”- You have a specific act, decision, or moment in mind - not a general sense that this person was helpful
- You can name, at least approximately, what that act cost them
- You have something to report: a place in your own work where you replicated what they showed you
If you can only say “she was always so supportive,” you are not ready to write the letter yet. Go back to the specific act first.
Overview
Section titled “Overview”This guide walks you through writing a mentor thank-you that does more than express appreciation. The goal is a letter that demonstrates, through specifics, that the mentor’s investment actually landed - that you understood what they did, recognized what it cost them, and carried it forward. The letter Sable Marchetti wrote to Dana Forsythe in June 2026 - ten years after Dana put Sable forward to lead the Alderton platform migration before she was ready - is the worked example running through this guide.
Step 1: Anchor to the one act that mattered most
Section titled “Step 1: Anchor to the one act that mattered most”Gratitude that references everything a mentor did is harder to receive than gratitude that names one thing precisely.
Identify the specific decision, moment, or pattern that changed something for you. Not “she believed in me” but “she nominated me to lead the Alderton migration in March 2016 when I told her I was not ready, and she submitted my name before I finished arguing.” The act should be specific enough that the mentor, reading it, immediately knows which moment you mean.
If you find yourself listing multiple things, that is a sign you have not yet chosen the one. Write the list privately, then pick the act that, without it, the others would not exist. That is the anchor.
A successful step one produces a one or two sentence description of the act that is specific enough to be mistaken for no one else’s story.
Step 2: Name what it cost them
Section titled “Step 2: Name what it cost them”Most people stop at what the mentor gave them. The letter becomes something different when you name what the mentor absorbed to give it.
Ask: what did they risk, carry, or go without to make this possible? For Sable, the honest answer was that Dana carried the reputational exposure for the full six months of the Alderton project. If the migration had gone badly, what the organization would have remembered was that Dana vouched for someone who was not ready. She also spent time she did not have - absorbing questions, holding space, not taking the work back when Sable offered it in a moment of genuine panic - without being able to show that cost anywhere on a delivery plan.
The mentor probably did not make this accounting visible. You are making it now. One or two sentences is enough. The goal is not to catalog every burden but to show that you looked.
Step 3: Report what you carried forward
Section titled “Step 3: Report what you carried forward”A mentor thank-you with no forward evidence is a claim. A mentor thank-you with forward evidence is a demonstration.
Find the moment in your own work where you did what they showed you. Sable found hers in February 2026: she nominated Priya Osei to lead the Cassava data-pipeline rebuild, over some internal skepticism, before Priya felt ready. In week three, when Priya was stuck on the handoff logic and the deadline was visible, Sable sat on her hands instead of taking the work back. She recognized what she was doing only when she started drafting Priya’s mid-year review.
That is the moment to report. The report should be specific about what you did differently because of them. “I pass forward what you gave me” is a sentiment. “I did not take the work back in week three because I had learned, from you, that taking it back would have been faster for me and slower for her” is evidence.
Step 4: Say the thank-you plainly
Section titled “Step 4: Say the thank-you plainly”After the specifics, the thank-you itself can be brief. You have done the work of showing what you are grateful for. The expression of it does not need to carry the whole argument.
A sentence or two, in plain language, stating what you are saying and why you are saying it now. Sable’s version: “I owe you a thank-you I should have written sooner. I am writing now because last month I finally understood what it cost you, and I did not want to let the understanding pass without saying something while I still could.”
Do not soften it into a question (“I just wanted to reach out”) or hedge it into a compliment (“you were such a great mentor”). Say what you mean.
Step 5: Send it as-is
Section titled “Step 5: Send it as-is”The most common failure mode in this kind of writing is revision to the point of never sending. The letter does not need to be perfect. It needs to arrive.
If you have worked through the previous steps - specific act, cost named, evidence given, gratitude stated - you have the letter. Read it once for errors. Then send it.
If you catch yourself revising the same paragraph for the third time, that is not editing. That is avoidance. Set a deadline of the same day and honor it.
Troubleshooting
Section titled “Troubleshooting”“Too much time has passed.” Time does not invalidate the letter; it changes the opening. Name the delay directly: “I should have written this ten years ago.” That honesty often makes the letter land harder, not softer.
“I do not know what they did specifically enough to describe it.” Write what you remember, even if the edges are approximate. “Sometime in spring 2016, you put my name forward for a project I told you I was not ready for” is specific enough. The mentor will recognize it.
“The letter feels too small for what I owe.” A specific, honest letter is not small. The scale of your gratitude is demonstrated by the precision of your attention, not by the length of your prose.
Next steps
Section titled “Next steps”Once the letter is sent, consider whether there is someone you are currently mentoring who should hear, at the right moment, that what you gave them did not originate with you. Sable plans to tell Priya, when the time is right, that the patience she applied in week three came from somewhere specific. That conversation is not required, but it closes a loop the mentor started.
How to Keep a Weekly Rest Day
Section titled “How to Keep a Weekly Rest Day”Before you begin
Section titled “Before you begin”- You have tried something like this before and it did not hold. This guide expects that and is designed for it.
- You have a default pattern of working through the weekend - not because of specific deadlines, but because checking and monitoring feel like preparedness rather than work.
- You are willing to define “off” in writing before the first attempt. An undefined rest day gets renegotiated in the moment, and the negotiation does not go in your favor.
Overview
Section titled “Overview”This guide walks you through building one full rest day per week - one in seven - and holding the practice past the first few attempts. By the end of your first several weeks, you will have a working rhythm, a named set of failure points you can manage, and early evidence that the work days after rest are clearing differently.
Step 1: Name the day and write the rule
Section titled “Step 1: Name the day and write the rule”Before you change your schedule, commit to a specific day and write down three things you will not do on it. A rest day without a written rule is not a practice - it is an intention, and intentions renegotiate themselves under pressure.
Choose one day in the coming week. Then write: no work output, no task completion, no checking of messages or notifications. The rule is not about what you must do on the day; it is about what you will not do.
You have succeeded at this step when you have a specific day named and a written rule short enough to read in ten seconds.
Step 2: Set up the night before
Section titled “Step 2: Set up the night before”The transition into rest happens the evening before, not the morning of. If you leave the decision until morning, the habit of checking will have already run. The decision has to be made while you are still in a state that can make it.
On the evening before your rest day, close the laptop deliberately. Put the phone in a different room - not on silent, not face-down, but in a room you will not walk through until morning. Do not open either until the morning is underway.
A first target is ten hours without checking - roughly Saturday evening through Sunday morning. You have succeeded when you reach the morning of the rest day without having re-opened either device.
Step 3: Get through the first anxious hour
Section titled “Step 3: Get through the first anxious hour”The first hour of a rest day does not feel like rest. A background process runs that tallies what is incoming, what is unresolved, and what you might be missing. This is not a signal that something is wrong. It is a signal that the monitoring habit is strong, and it is strong because it has run without interruption for a long time.
When the urge to check arrives, name it: “the productivity accounting habit is running.” Do not argue with it or try to suppress it. Then find something that has no output - a walk, a meal eaten away from a screen, time in a room that is not the one where you work. The first hour is the hardest. Mid-morning tends to settle.
You have succeeded at this step when you reach noon without having checked. The anxiety does not have to be gone. It just has to not have won.
Step 4: Let the rest day be incomplete
Section titled “Step 4: Let the rest day be incomplete”The impulse to make the rest day feel earned - to have a productive conversation, to finish a book, to reach some personal goal - is the same pattern the rest day is interrupting. Not everything that is not work is restful. The day does not have to justify itself.
Find something with no output and do not explain it. If you score the rest day in retrospect, you are still doing the accounting.
You have succeeded at this step if the day ended without you evaluating whether it was good enough to justify the cost.
Step 5: Track Monday, not the rest day
Section titled “Step 5: Track Monday, not the rest day”The returns of a rest day are not visible on the rest day. They tend to appear the day after, in the quality of thinking on problems that have been stuck. You cannot see this pattern from a single data point; you need weeks.
On Monday morning, before you open your task queue or check messages, write one sentence: does your thinking feel different than it does when you work through the weekend? Do not evaluate the rest day in retrospect. Evaluate Monday.
Over several weeks, you will accumulate evidence. Problems that had been stuck for days may clear on Monday without obvious explanation. That pattern is what eventually makes the practice hold on its own.
Troubleshooting
Section titled “Troubleshooting”The practice collapses after a few weeks. A deadline pulls the rest day under. You tell yourself you will restart when things settle. They do not settle. Months pass - sometimes eleven months or more. This is the most common failure mode, and it is not a willpower problem. The practice collapsed because you waited for conditions to be right before restarting. Set a specific date to restart without waiting. The conditions will not improve.
The productivity accounting habit runs all day. Even on days where you hold the phone-away window, a background process may score the rest against some standard of worthiness. Direct effort to stop this does not work - the effort is more of the same pattern. Name the habit, let it run, and gather evidence over several weeks that Monday thinking clears differently after rest. The evidence is what quiets the habit eventually, not the effort to suppress it.
Sunday evening re-entry compresses the day. When the rest window closes, returning to work too quickly can compress whatever steadiness built during the day before the next week starts. Test this mitigation: cap the Sunday evening review at thirty minutes, no replies, triage only. The goal is to protect the transition rather than snap back immediately.
The first attempts feel like failure because they feel anxious. They are supposed to feel anxious. The discomfort is the habit running against a constraint. It does not mean the practice is not working. It means the practice is new.
Next steps
Section titled “Next steps”Once you have held the practice for several weeks, you have new options available:
- Extend the phone-away window. A reasonable next target is Friday at sundown through Sunday evening rather than a ten-hour window starting Saturday evening. Longer windows build more recovery.
- Start a pre-rest log. Before the rest day begins, write down what you expect to feel and what you are afraid of missing. Compare against what actually happened. This makes the practice legible and correctable.
- Name the one check you are most likely to rationalize as necessary - the ticket tracker, the inbox, the notifications feed - and write the rule for it before you are in the moment where you need it.
- When the practice feels fragile, review what you recorded in the early weeks. The evidence that rest is working tends to be visible in retrospect. The practice looks different from week 14 than it did from week one.
How to Organize a Send-Off for a Long-Tenured Colleague
Section titled “How to Organize a Send-Off for a Long-Tenured Colleague”Before you begin
Section titled “Before you begin”- Confirm the colleague’s official last day with HR before announcing anything. Plans built on an approximate date create unnecessary confusion.
- Know whether you have budget, and how much. The answer shapes format, not ambition.
- Have a manager or team lead who has explicitly agreed to give the team time during the workday for the event.
- Identify two or three people who worked closely with the colleague and are willing to help coordinate.
Overview
Section titled “Overview”This guide walks you through planning a farewell event for a colleague whose tenure spans many years - where the send-off needs to honor both the person and the institutional knowledge they carry. By the end, you will have a structured event that feels earned, and a process for capturing at least some of what the person knows before they leave.
Step 1: Set the event date early and decide on format
Section titled “Step 1: Set the event date early and decide on format”Long-tenured colleagues have relationships distributed across sites and time zones. Remote attendees need advance notice, and the event date determines how much time you have for the knowledge-capture work in Step 3.
Confirm the official last day first. Then work backward four to six weeks and identify a date that does not crowd the colleague’s final day with logistics. When Carolyn Marsh organized Howard Thayer’s send-off at Crestfield Group, the final day was June 27, 2026, and she set the all-hands event for June 25 - two days prior - so Howard’s actual last day could be quieter. Decide at this step whether the event will be in-person, hybrid, or fully remote. For Howard’s event, 40 people attended in-person and 18 joined remotely; the session was recorded for the regional site that could not send a representative.
A successful outcome at this step: a confirmed date at least two weeks out, a format decision, a rough headcount, and a designated person managing the remote connection if the event is hybrid.
Step 2: Gather specific contributions from people the colleague touched
Section titled “Step 2: Gather specific contributions from people the colleague touched”The most meaningful send-offs reflect the colleague’s actual impact, not just their years on the calendar. Generic praise (“Howard was always so helpful”) fades. Specific observations stay with people.
Send a short prompt to colleagues across the organization - not just the immediate team. Ask for one specific moment or practice, not a general reflection. “What is something Howard changed about how you work?” returns more useful material than “Share a memory of Howard.” Give people a one-week window to respond, and collect contributions before the event so you can curate or sequence them well.
A successful outcome at this step: five to ten specific contributions covering different periods of the colleague’s tenure, from people who experienced different parts of their work.
Step 3: Run at least one knowledge-capture session before the last day
Section titled “Step 3: Run at least one knowledge-capture session before the last day”The send-off and the knowledge transfer are separate activities, but both need to happen before the final day - and the knowledge sessions need to happen first. You will not surface the gaps during the event; you need to surface them while there is still time to address them.
Schedule two focused sessions - 90 minutes each is usually sufficient - with the departing colleague and two or three people who will carry the work forward. Frame the sessions around scenarios, not documentation: “Walk us through what you would do if the primary vendor contact did not respond on a Friday night” is more useful than “What should we write down?” At Crestfield, Dana Reyes and Marcus Okonkwo ran two sessions with Howard in May and June. The sessions produced the vendor escalation paths, four utility contacts Howard had maintained personally that existed nowhere in the official system, and the informal decision sequence he used when automated alerts did not tell the full story.
A successful outcome at this step: a draft runbook or session notes that someone who was not in the room can follow. Do not mistake the notes for the knowledge itself - they are a starting point, and the first real test is an incident the new runbook has to handle without Howard available.
Step 4: Plan the event logistics and agenda
Section titled “Step 4: Plan the event logistics and agenda”The event format should fit the person. A private colleague does not want a production. A person who has spent twenty-six years building relationships wants those relationships present.
Keep the agenda simple: opening remarks, contributions from colleagues (curated or open floor), unstructured time for the departing colleague to speak if they choose to, and a close. For hybrid events, designate someone whose sole job is managing the remote feed and making sure remote attendees can contribute, not just watch. Test the setup before the day. Brief the departing colleague on the agenda in advance - confirm whether they want to speak and for how long.
A successful outcome at this step: a tested setup, a confirmed agenda the colleague has seen, and at least one named person responsible for each logistics element.
Step 5: Give the colleague the final word
Section titled “Step 5: Give the colleague the final word”The point of the event is to honor the colleague. The most important moment is when the person speaks for themselves.
Give the departing colleague unstructured time at the close if they want it. Do not script them or coach them toward particular themes. Howard spoke for four minutes at Crestfield’s send-off. He said he was proud of the team and that he did not want to be the reason anyone felt stuck. Do not fill the silence before or after. That moment belongs to them.
A successful outcome at this step: the colleague leaves the event having said what they wanted to say, on their own terms.
Troubleshooting
Section titled “Troubleshooting”“We do not have budget for anything formal.” Budget is rarely the actual constraint. A gathering of the people who matter, a few curated contributions read aloud, and fifteen minutes for the colleague to speak will outlast any catered event. Ask what you have access to before deciding what you cannot do.
“The person has asked us not to make a fuss.” Respect this. A card signed by the team, a quiet lunch with the people closest to them, and a brief acknowledgment in the next team meeting is a legitimate send-off. The goal is for the person to feel seen, not performed at.
“We ran out of time for knowledge capture.” Name the gaps explicitly rather than hoping they do not surface. At Crestfield, the tacit-knowledge risk - Howard’s judgment in ambiguous situations that the runbook could not capture - was listed as Yellow in the workforce continuity status report. Naming it is not failure; it is accuracy, and it tells the team what to watch for.
“Nobody is comfortable speaking at the event.” Ask the people who worked most closely with the colleague to anchor the contributions. If no one feels they knew the person’s work well enough to speak to it, that is a signal about how isolated the institutional knowledge had become - useful information in itself.
Next steps
Section titled “Next steps”- Announce where the knowledge-transfer outputs live so the team knows what was captured and who to contact when the runbook does not cover a situation. Marcus Okonkwo is running a gap analysis at Crestfield against the six incident types Howard handled most often.
- Plan a check-in with the people the colleague mentored, roughly six months out. The absence tends to become real six to eight weeks after the event - when the reflex to turn to the person is still present but they are no longer there. A December check-in with Priya Sandhu, Ben Holter, and the others Howard mentored gives managers a moment to surface what the team actually needs, rather than what they anticipated needing.
- If you identified knowledge gaps you could not close before the last day, carry them forward in a risk register or continuity document with a named owner and a review date. The gap does not disappear because the event is over.
How to Mark the End of a Long-Running Project Launch
Section titled “How to Mark the End of a Long-Running Project Launch”Before you begin
Section titled “Before you begin”- The project has shipped and you have at least a few days of post-launch data showing the system held. For Project Halyard, that threshold was the weekend of June 13-14, when the rebuilt checkout held through peak load without incident. Marking a milestone before you know whether the launch is stable risks recognizing something that may still need to be rolled back.
- You have a list of the specific decisions that determined whether the launch succeeded - not job titles, but names and what each person actually did. Halyard’s close-out required knowing that Dani Rowe called the March hold when the February near-miss was not fully resolved, that Marcus Teel filed the February bug on his own initiative rather than marking it low severity, and that Jordan Osei rewrote the payment callback handler rather than patching around it.
- You have access to the incident records, slip notices, and decision logs from the full project run. For a fourteen-month project, this material will not be reconstructed from memory.
Overview
Section titled “Overview”This guide covers how to close out and mark a long-running project launch in a way that recognizes the real work - not just the shipping date, but the decisions made under pressure and the work that does not appear in velocity charts. When you finish, you will have a close-out record that the team, their managers, and anyone who joins the project later can use to understand what actually happened and why the launch held.
Step 1: Pull the full timeline before memory compresses it
Section titled “Step 1: Pull the full timeline before memory compresses it”Long projects collapse in retrospect. Within a week of shipping, “we had two near-misses” will replace the actual memory of February and April. Within a month, even that detail will blur.
Gather the incident tickets, slip notices, decision logs, and post-mortems before the team disperses. For Halyard, that means the February cart-state mismatch report, the April race condition findings, and each launch-date change notice that went to stakeholders across the fourteen-month run.
A successful outcome at this step: you have a dated sequence of events with enough detail that someone who was not on the project can follow it. The Halyard ADR and final status report are examples of what this looks like in practice - they name events, dates, and the people behind them, not just the outcome.
Step 2: Name the specific decisions and the people behind them
Section titled “Step 2: Name the specific decisions and the people behind them”Generic recognition does not transfer. Recognition that names what a specific person did and why it mattered does transfer - and it transfers to the people who manage them.
Go through your timeline and identify the decisions that determined whether the launch succeeded. For Halyard, those decisions include: Dani Rowe calling the March hold when the schedule pressure was real; Marcus Teel filing the February bug when he could have moved on; Jordan Osei rewriting the callback handler when a smaller patch was available and tempting; Sam Wickfield holding the regression bar on June 9 when every hour of delay felt enormous.
Write each decision in one to two sentences: who made it, what the visible pressure was at the time, and what would have happened if they had chosen the easier path. If you cannot write it that specifically, return to your timeline records. The specificity is what makes this recognition accurate rather than ceremonial.
Step 3: Choose a format that matches the scope
Section titled “Step 3: Choose a format that matches the scope”A project that ran fourteen months and caught two near-misses before production is not a sprint retrospective. A standard retro format will not do it justice - that is why the Halyard status report explicitly flagged a separate format for the June 30 session.
Consider the following:
- If the architectural decision and its tradeoffs are the primary story, update or record an ADR. Halyard’s ADR-0017 documents the parallel-run approach, the expected costs, and the actual consequences at close-out.
- If the team needs to process what happened together over the full arc, run a retrospective with extended scope - structured around project phases rather than sprints. Block at least two hours for a fourteen-month run.
- If the primary audience is managers and stakeholders who were not running the work day to day, write a close-out record that names what the team did in terms visible to people outside the delivery work. The Halyard status report’s “Asks” section is an example.
Pick one as the primary artifact. You may produce more than one, but there should be a single document that is the authoritative record of the project’s arc. Decide before the retrospective runs, so the session output has a clear destination.
Step 4: Run the close-out session before the window closes
Section titled “Step 4: Run the close-out session before the window closes”Schedule the retrospective while the team is still intact and the launch is recent. Halyard targeted June 30 - seventeen days after the June 13 cutover. That window is approximately right for a project of this length: enough time for the dust to settle and the first peak weekend to pass, not so much time that people have mentally moved on.
Share the timeline from Step 1 with participants before the session so the time in the room focuses on meaning and synthesis rather than reconstruction. Open with what was supposed to happen, then move to what actually happened and what each divergence cost or prevented.
At the close of the session, confirm in the room who is writing the summary and when it will be circulated. An unrecorded retrospective is the same as no retrospective for anyone who joins the team later.
Step 5: Archive the record where it will be found
Section titled “Step 5: Archive the record where it will be found”The close-out documents belong in the project’s permanent archive, not in a channel that will scroll off or a status report that was current in June. For Halyard, the project archive holds the full timeline, the two near-miss post-mortems, and documentation of both slip decisions - linked from the checkout-reflow README so any new team member can find the record from the project’s entry point.
Tag or link the retrospective from the project’s main documentation index. If someone needs to understand why the checkout flow is structured the way it is eighteen months from now, they should be able to reach the ADR and the close-out record from the README in one step.
Troubleshooting
Section titled “Troubleshooting”The timeline is already compressing and you cannot reconstruct the sequence. Pull the git log, incident tickets, and stakeholder communications. The sequence lives in those records even when memory has already smoothed it. For Halyard, the phase-by-phase rollout chart in the README shows the structure at a glance; the detailed record of each phase is in the near-miss post-mortems.
The team does not see why a retrospective is necessary - the project shipped. The retrospective is not a post-mortem. It is a record of what the team learned about running a parallel-track migration, catching near-misses before production, and holding a schedule under external pressure. That learning does not transfer to the next project unless it is written down. Shipping is a reason to run the retrospective, not a reason to skip it.
Recognition is landing as generic praise and the team is not responding to it. Return to Step 2. Generic praise is not recognition. Recognition names what a specific person did and why the outcome was different because of it. If the response is flat, the recognition is probably still at the “great work” level rather than at the level of the actual decisions.
Next steps
Section titled “Next steps”- Review the outcome measurement once the data is available. For Halyard, Mia Chen’s analytics team targeted July 7 for the first post-launch cart-abandonment baseline. That number is the measurement that confirms whether the decision recorded in ADR-0017 was correct. Read it in the context of the parallel-period attribution noise the status report flagged.
- Complete the decommission on schedule. Halyard’s legacy checkout was scheduled for July 14, following the 31-day archive window. The close-out is not finished until the old system is gone and the archive window closes cleanly.
- Carry the practices forward explicitly. The parallel-run approach, the near-miss process, and the discipline of holding launch dates on engineering judgment rather than deadline pressure are reusable. Document them as named practices the team can point to on the next project, not just as things that happened on this one.
How to Argue a Public Position on Return-to-Office
Section titled “How to Argue a Public Position on Return-to-Office”Before you begin
Section titled “Before you begin”- You have a specific, named policy model to defend - not a vague “we want more in-person time” but a concrete structure (example: two fixed anchor days, Tuesday and Thursday, with the remaining three days fully flexible)
- You have read the strongest objections on both sides (office-first and remote-only) and can summarize each in one or two sentences without strawmanning either
- Decision authority is confirmed: you know which team owns the final call, so you are not arguing a position that another team can quietly override
- Your position is documented in a written brief that others can read before you speak, so the conversation can engage with the argument rather than reconstruct it from memory
Overview
Section titled “Overview”This guide walks you through building and delivering a defensible public argument for a structured hybrid work policy. When you finish, you will be able to present the anchor-day model to a leadership cohort, address the two primary objections in real time, and reduce the risk that leadership reframes your position as a compromise during communications.
Step 1: Separate your position from the binary
Section titled “Step 1: Separate your position from the binary”The first thing you need to do is untangle your policy from the false choice that dominates most return-to-office conversations.
Write one paragraph that names the two poles (full in-office, fully remote), explains why both have real costs, and states your position as a deliberate choice rather than a midpoint. The language matters: “compromise” implies that both sides gave something up. The anchor-day model has its own logic - in-person time is most valuable when it is rare, anticipated, and shared, not compulsory and continuous.
A successful outcome: you can read your paragraph aloud and a reasonable office-first leader cannot say “so you’re admitting our position is too extreme.” The policy derives its validity from its own reasoning, not from splitting the difference.
Step 2: Document the two primary objections before anyone raises them
Section titled “Step 2: Document the two primary objections before anyone raises them”The two objections you will face are predictable. Write a formal response to each before your first public presentation.
The office-first objection: two anchor days are not enough to build trust and spontaneous collaboration. Culture requires daily proximity.
Your response: spontaneous collisions require predictable overlap, not constant co-location. Without any shared schedule, unplanned conversations become coincidences you cannot build a culture on. Anchor days provide the predictability; flexible remaining days prevent the commute load that erodes engagement over time.
The remote-only objection: any mandated presence narrows the talent pool, penalizes caregivers and candidates outside commute range, and breaks commitments made during hiring.
Your response: two fixed anchor days stated clearly upfront are a smaller and more honest constraint than an unwritten five-day expectation that collapses into daily presence requirements after hire. A known obligation is evaluable. Ambiguity is not.
A successful outcome: both responses fit in one paragraph each and can be delivered without notes.
Step 3: Identify concerns that are not objections to the model
Section titled “Step 3: Identify concerns that are not objections to the model”Some feedback you receive will point to implementation gaps rather than flaws in the policy itself.
A common example: the concern that junior employees lose mentorship density when senior people are not reliably present. This concern is legitimate - but it is a question about how to run anchor days well, not a reason to abandon them.
Separate these from the core objections. Acknowledge them explicitly in your written brief and note where they will be addressed (a Manager FAQ, an onboarding protocol, a documented exception process). A logged concern with an assigned home signals that you heard it and planned for it, rather than dismissed it.
Step 4: Resolve decision authority before going public
Section titled “Step 4: Resolve decision authority before going public”The most common failure mode in organizational policy arguments is not a weak argument - it is parallel workstreams that contradict each other at announcement time.
Confirm in writing which team owns the final call before your public presentation. If Facilities and HR are running separate tracks - one premised on five-day potential attendance, one with no stated position - you need that resolved before the all-hands, not discovered during it. Raise this at your executive sponsor briefing and treat it as a blocker if it is not answered by a specific date.
A successful outcome: you receive written confirmation that identifies one team as the decision owner, and you have that confirmation in hand before drafting the all-hands communication or finalizing the Manager FAQ.
Step 5: Control the framing when leadership communicates the policy
Section titled “Step 5: Control the framing when leadership communicates the policy”When leadership picks up your position and delivers it to the organization, they will often reach for compromise language because it sounds even-handed. This framing undermines the argument even when the policy itself is adopted correctly.
Prepare a short framing note for anyone speaking on behalf of the policy. Include the language to use (“deliberate choice,” “in-person time is highest value when it is rare and shared”) and the language to avoid (“meets in the middle,” “balanced approach,” “compromise between remote and in-person camps”).
Test: if the policy is framed as a compromise, both camps will feel they lost something. If it is framed as a deliberate model with its own logic, both camps can evaluate it on its own terms - which is the only position from which you can defend it.
Troubleshooting
Section titled “Troubleshooting”You are asked “why not let each team decide for themselves?” in Q&A. This question sounds like autonomy but is usually about avoiding a central decision. Team-by-team variation means employees in adjacent teams have different obligations, which creates equity and scheduling problems at any shared moment (all-hands, cross-functional projects, onboarding). Respond: anchor days work because they are predictable across the organization. Team-by-team variation reproduces the coordination drag the policy is designed to address.
Leadership reframes the policy as a compromise during the briefing. Correct it in the room: “I want to make sure we describe this accurately in communications. The anchor-day model has its own rationale - I’d like to talk about how we frame this before it goes to the broader team.” Then share your prepared framing note.
Decision authority is still unresolved at your executive sponsor meeting. Name it as a blocker directly: “We cannot finalize the Manager FAQ or draft the all-hands communication until we know which team owns the final call. I need that confirmed today or by a specific date.” A date is a deliverable. “We’ll figure it out” is not.
Next steps
Section titled “Next steps”- Draft the Manager FAQ covering how to run effective anchor days, how to handle accommodation requests, and how to onboard new hires under the hybrid model. This is the implementation companion to the position argument and should be complete before the all-hands.
- Prepare the full leadership cohort presentation, using the position brief as the foundation and the framing note as the closing section.
- After the policy launches, schedule a one-quarter check-in to evaluate whether anchor days are holding as designed. The most likely failure mode once rollout energy fades is drift - anchor days quietly becoming optional until they are no longer anchor days. A scheduled review creates a forcing function before drift becomes the new default.
How to turn scattered customer feedback into a ranked, shareable roadmap
Section titled “How to turn scattered customer feedback into a ranked, shareable roadmap”Before you begin
Section titled “Before you begin”- Node 18 or later is installed on your machine. Run
node --versionto confirm. If you seev18.x.xor higher, you are ready. - You have npm access to install a global package.
- You have at least one feedback source ready: a CSV export from your support tracker, a spreadsheet of customer requests, a chat thread archive, or a survey export. Tidemark does not require that you clean this data before connecting it.
- You have a team that needs to agree on what to build next. If you are the only person who will ever look at the output, a spreadsheet may be faster. Tidemark is built for shared, visible prioritization.
Overview
Section titled “Overview”This guide walks you through installing Tidemark, connecting your existing feedback sources, running your first sync, and sharing a ranked roadmap view with your team. When you finish, you will have a live link showing what customers are asking for - scored by frequency and recency - that any stakeholder can read without needing their own Tidemark account.
Step 1: Install the Tidemark CLI
Section titled “Step 1: Install the Tidemark CLI”Tidemark’s CLI is the primary way to connect sources and run syncs. Installing it globally makes the tidemark command available from anywhere in your terminal.
npm install -g @tidemark/cliConfirm the install worked:
tidemark --versionYou should see a version number printed. If you see a “command not found” error instead, check that your npm global bin directory is on your PATH. Running npm bin -g shows you where that directory is.
Step 2: Run the setup wizard
Section titled “Step 2: Run the setup wizard”The setup wizard connects your first feedback source. It is interactive and takes about five minutes.
tidemark initThe wizard asks which type of source you are connecting (spreadsheet, ticket tracker, chat export, or survey output) and where to find it. You do not need to reformat the data first; Tidemark reads from your existing structure.
When the wizard finishes, it confirms how many items it detected and shows a brief preview. A successful outcome looks like this:
Connected: customer-feedback.csv (148 items detected)Ready to sync.If the item count is much lower than you expect, your source file may use a non-standard column layout. See Troubleshooting below.
Step 3: Pull and rank your feedback
Section titled “Step 3: Pull and rank your feedback”Once at least one source is connected, run a sync to pull all items and generate the ranked output.
tidemark syncTidemark reads every connected source, identifies recurring themes across items, and scores each theme by how many distinct customers raised it and how recently. The first sync may take a minute or two, depending on how many items your sources contain.
When the sync completes, you will see a summary in the terminal:
Sync complete. 12 themes identified across 148 items.Top theme: "CSV export is missing recurring items" (23 mentions, most recent: 3 days ago)Run `tidemark share` to generate a shareable link.You do not need to do anything with this output yet. The next step produces the view your team and stakeholders will actually read.
Step 4: Share the ranked roadmap
Section titled “Step 4: Share the ranked roadmap”Generating a shareable view turns your local sync results into a read-only link you can send to anyone.
tidemark shareAfter a few seconds, Tidemark prints a URL. That link shows the full ranked theme list, the item count and recency score for each theme, and - if you connected multiple sources - which sources contributed to each theme.
The view is read-only by default. Anyone with the link can read it without signing in. Copy the URL and send it to your stakeholders. The view is designed to be readable without narration, so you do not need to schedule a walkthrough before sharing.
Troubleshooting
Section titled “Troubleshooting”The wizard detects far fewer items than you expected. Your source file may use a layout Tidemark does not recognize automatically. Try copying a sample of 10 to 20 rows into a new CSV with a simple header row (one column for customer name or ID, one for feedback text, one for date), then connect that version. Once you confirm the format is recognized, connect the full file the same way.
The theme list from tidemark sync does not look right.
The most common cause is items that are internal notes or status updates rather than customer feedback. Filter those rows out of your source and run tidemark sync again. Tidemark re-reads from your source on each sync, so no prior output carries over.
The share URL returns a “not found” error.
Share links are tied to your Tidemark account. If you ran the CLI on a different machine than the one you used during tidemark init, run tidemark init again on the new machine to reconnect your account, then run tidemark share.
Next steps
Section titled “Next steps”You have connected a feedback source, run your first sync, and produced a shareable ranked roadmap. From here:
- Add more sources. Run
tidemark initagain to connect a second source (for example, a support ticket queue alongside your spreadsheet). On the next sync, Tidemark merges all sources and deduplicates themes that appear across them. - Give collaborators the ability to comment or re-rank. See Sharing and permissions for how to upgrade a share link from read-only to collaborative.
- Understand how the ranking score works. See How ranking works. The scoring model weights frequency and recency; this page explains the formula and how to interpret edge cases where two themes are close in score.
- Keep your ranked view current automatically. If your feedback sources update daily, schedule
tidemark syncas a cron job so the view stays fresh without a manual run.
If you run into a problem not covered here, visit tidemark.io for additional help resources.
How to Conduct a Year-End Reckoning with a Difficult Year
Section titled “How to Conduct a Year-End Reckoning with a Difficult Year”Before you begin
Section titled “Before you begin”- You are far enough from the worst of it that you can name what happened without being in the acute phase. December is usually far enough from March; it may not be far enough from November.
- You have a place to write without being interrupted and without an audience. A reckoning conducted for someone else’s benefit is not a reckoning.
- You have released any requirement that the year produce a growth narrative. If difficulty must mean growth, you will not be able to see what actually happened - you will rewrite the year until it fits the requirement.
- You have accepted that this will take more than one sitting. A difficult year usually asks at least two or three passes before the honest version surfaces.
Overview
Section titled “Overview”This guide walks you through a structured personal reckoning with a year that did not resolve the way you hoped. You will name what happened without alibi, separate what you controlled from what you did not, identify the things you are still avoiding, and make a deliberate choice about what to carry forward. The goal is not to feel better at the end. The goal is to see the year clearly enough that you carry it forward as a known thing rather than an unexamined weight.
Step 1: Write the factual record
Section titled “Step 1: Write the factual record”Before you can reckon with a difficult year, you need a shared understanding with yourself about what actually happened - not what it meant, not what you were trying to do, just the events in sequence.
Write a list of the significant things that happened this year, in roughly chronological order. Include the things that went wrong. Include the things that changed without your choosing them. Do not include what you think about those things yet - only what occurred and when.
You will know this step is complete when the list includes the events you have been most reluctant to write down. If your list contains only the acceptable losses, you have not finished step one. The Meridian initiative closing in March belongs on the list even if you are still not sure how to talk about it. Celeste’s drift into distance belongs on it even if you have not decided what it means. Theo’s message from April - the one you read and did not answer - belongs on it.
Step 2: Separate what you controlled from what you did not
Section titled “Step 2: Separate what you controlled from what you did not”A difficult year typically contains both events that were outside your control and decisions you made that made things worse. Conflating the two prevents you from learning from either.
Go through your factual record from step one. For each item, mark it as: (a) outside my control, (b) within my control, or (c) both. Be strict with yourself about category (a). The Meridian initiative closing when the funder changed direction may be a genuine (a). Your decision to keep the coalition aligned around optimism rather than telling them a harder truth earlier may be a (b). The friendship with Celeste is probably (c): some of what happened was not yours to prevent, and some of what happened was.
You will know this step is complete when you have at least one honest (b) on your list - something you controlled and handled poorly. If everything on your list is (a), you have not finished step two.
Step 3: Name what you got wrong
Section titled “Step 3: Name what you got wrong”This step is harder than the previous ones and must be done without immediately jumping to mitigation.
For each item you marked (b) or (c) in step two, write a single sentence that names what you got wrong. Not what the circumstances were. Not what you were trying to do. What you did that made things worse or that you would not repeat.
The test for a complete sentence: does it contain a subject (I), an action verb (kept, avoided, waited, conflated), and a consequence (delayed the reckoning, read as distance, allowed the message to go unanswered)? If your sentence is “I should have communicated better,” it does not pass the test. Try again. “I kept Celeste outside what I was going through and told myself that was independence” passes the test.
You will know this step is complete when the sentences are specific enough that you could explain to someone who was there exactly what you mean.
Step 4: Name what you are still avoiding
Section titled “Step 4: Name what you are still avoiding”A reckoning conducted only with the events you are ready to examine is not a complete reckoning.
Ask yourself: what is the thing I have not written down yet? What is the task I have been postponing because doing it requires being wrong in front of someone? What is the message I have not answered? Write those things down by name. Do not commit to acting on them yet - just name them.
A successful outcome at this step looks like a short list of avoided things with enough specificity that you cannot claim not to know what they are. “Write a real retrospective for the eleven people on the Meridian coalition” is specific enough. “Be better about follow-up” is not.
Step 5: Make a deliberate choice about what to carry forward
Section titled “Step 5: Make a deliberate choice about what to carry forward”The risk of a year-end reckoning is that it ends in drift rather than decision. You review the year, you feel its weight, and then you carry it forward unchanged because you did not actually decide anything.
For each item in your list from step four, make one of three explicit choices: (a) I am acting on this, with a specific target date. (b) I am releasing this, and here is why I am choosing release over action. (c) I am not ready to decide yet, and I am noting that as an open item rather than treating it as resolved.
The key is that choice (c) must be named as unresolved, not filed away as handled. Theo’s message can be choice (c) for now. It cannot be treated as resolved.
You will know this step is complete when every item from step four has been explicitly assigned to one of the three categories and you have written down at least one target date for the items in category (a).
Troubleshooting
Section titled “Troubleshooting”You keep writing the version where things worked out. This is the most common failure in a difficult year’s reckoning. You are reviewing a year that contained the Meridian initiative closing, or a friendship that changed in ways you did not choose - and you keep writing the version where the lesson redeems the loss. That version is not available. Return to step one and write the factual record without the narrative overlay.
You cannot find anything you actually got wrong. If step three is producing only external causes and systemic factors, the step is not complete. A difficult year in which you did nothing that made things worse is possible, but uncommon. If you are genuinely uncertain, ask: what did I avoid looking at directly? What did I tell myself was someone else’s problem? Those are usually the answers.
The list of things you are still avoiding is empty. That is unlikely. The more probable explanation is that you have been too quick to categorize avoidances as decisions already made. The Meridian retrospective that does not yet exist is not a decision made; it is an avoidance. The message you read and did not answer is an avoidance, not a decision to not respond.
You are overwhelmed before you finish. Stop at the end of any completed step and mark where you are. A reckoning does not need to be completed in a single sitting. The steps are designed so you can put the work down and return to it without losing what you have already done.
Next steps
Section titled “Next steps”Once you have a factual record, a set of named mistakes, a list of avoided things, and explicit choices about each, you have what you need to act rather than drift.
The highest-value next action is usually the one you have been avoiding longest. If you have been avoiding a message since April, answer it before you do anything else named here. Avoidances compound - they do not resolve by aging.
If you made a deliberate choice to release something rather than act on it, record it as a release rather than a to-do. The distinction matters: a release is something you chose. A to-do that never gets done is an avoidance you have relabeled.
Return to this document in six to eight weeks. The reckoning that felt complete in December sometimes reveals an additional avoided thing in February, once you have had time to see what you are not doing.