// Module T05 · Team Brain · Capstone

The Weekly Reset

15 minutes on Friday is the difference between a brain that lives and one that calcifies

Every team I've watched build a Team Brain hits the same wall around month three: the brain is real, the AI knows the team, onboarding works — but nobody's tending the brain. State files drift. Decisions sit in opens for weeks. Old project-*.md files for shipped work clutter the folder. The shared base becomes a museum.

The Weekly Reset is the 15-minute Friday ritual that prevents the calcification. One person. One timer. Five micro-tasks. The brain stays current; the team stays aligned; the AI's answers stay accurate.

This module is T05 of the Team Brain track — the capstone. T01-T04 give you the brain; T05 keeps it alive.

// 01 — The 15-minute checklist

The whole reset is five micro-tasks, three minutes each. The hard part isn't doing them — it's doing them every Friday without skipping. Three minutes feels short until week six, when you've quietly let two weeks lapse and the brain is now noticeably stale.

The discipline is the timer. Open a stopwatch, run task one, stop at 3:00 regardless of whether you finished, move on. Each task produces a concrete artifact. If the artifact is empty (zero new decisions to promote, zero cross-pollination items), that's fine — "nothing this week" is a valid output. What's not valid is "I didn't run it."

#TaskTimeArtifact produced
01 Promote opensdecisions
Run the promotion prompt from T02 against this week's decisions.md open section.
3 min 0–3 new ADR-style entries in decisions.md; matching opens rows deleted.
02 Refresh state-shared.md
Run the state-refresh prompt against the past week's ticket activity and ship log.
3 min state-shared.md with this week's deltas: shipped, blocked, next.
03 Archive completed projects
Move any project-*.md in active/ whose status is "closed" or "shipped" into archive/{year}/{quarter}/.
3 min A smaller active/ folder; the same files findable under archive/.
04 Cross-pollination scan
Run the cross-pollination prompt against this week's state file and decisions.
3 min 0–3 "other teams should know" items in digest.md, each tagged with a teammate.
05 Dead-context prune
Run the dead-context pruner against the full team-brain/ tree.
3 min candidates-for-archive.md — files unread 30+ days, grouped definitely / maybe / keep.
Total15 minFive artifacts, five files touched. Done.

Same time as a standup. One person, 15 minutes, alone with the AI — or distributed: each rotation owner picks one task per day across the week and the whole reset finishes by Friday close. Whatever the team prefers, the constraint is the same: five artifacts on the board by end-of-week, every week.

// rule

If a Friday is genuinely a fire and the reset can't happen, slip it to Monday morning. Don't skip the week. Two consecutive skips and the brain starts to drift; four and you're rebuilding from scratch.

// 02 — The promotion prompt

Decisions don't decide themselves. decisions.md in your shared base has two halves: the opens at the top (questions the team is wrestling with) and the resolved ADRs below (what we actually settled on, why, and when). T02 introduced the file. T05 introduces the cadence.

Most teams' opens section grows for a month and then collapses under its own weight — nobody can remember what was already decided, so the same question reopens for the third time in two months. The Friday promotion is the antidote: every week, every open question gets either promoted to a decision or explicitly tagged as still-pending with a reason.

The prompt (verbatim)

You are helping me run the Friday Promotion task on our team's
decisions.md file. Read the entire file.

For each entry in the "Opens" section:

1. Is there enough information in the past week's state-shared.md,
   project-shared.md, or ticket activity to resolve it? If yes,
   draft an ADR-style entry for the Decisions section with:
   - Date (today, YYYY-MM-DD)
   - One-sentence decision
   - Two-to-four-bullet "why" with concrete references
   - Owner (the person who made the call)
   - Status: ACCEPTED

2. If not enough info, leave it in Opens but ADD a "blocked-on"
   tag naming what specifically is needed (a number, a stakeholder
   answer, a test result).

3. If the open question has been sitting unresolved for 4+ weeks
   without a blocked-on reason, flag it: "STALE -- review or drop."

Output: the proposed diff to decisions.md. I'll review before
committing.

Who runs which version

// anti-pattern

"We don't have time to write ADRs this week." The reset costs 3 minutes. Relitigating a decision the team already made — but didn't capture — costs days. Every team I've watched skip promotion eventually re-opens the same architectural debate three times in a quarter. Three minutes per week prevents three days per quarter. The math isn't close.

What a promoted ADR looks like

The promotion prompt produces entries shaped like this. The shape matters — future you (or a new hire six months from now) will read this entry without any of the context that made the decision feel obvious at the time.

### 2026-05-08 — Adopt SOPS for secrets across all repos

**Decision:** SOPS with age keys, encrypted at rest in the repo,
keys distributed via 1Password vault per environment.

**Why:**
- Vault was rejected (operational overhead too high for a team
  of 6; see state-shared.md 2026-04-30).
- AWS Parameter Store costs $0/mo for our volume but couples
  every dev workflow to AWS console access (BA + tech writer
  don't have IAM and we don't want to expand the IAM blast radius).
- Plain .env files in 1Password worked for two years but fell
  apart at 4 environments × 6 repos.

**Owner:** Marcus (Architect)
**Status:** ACCEPTED · revisit 2026-11-08 (6-month check)

Three sentences, three references, an owner, a revisit date. Nothing more. The AI generates the entire block from the week's source files; the rotation owner reviews for accuracy and commits. Most ADRs are written in 90 seconds.

When promotion produces zero

Some weeks the AI scans opens and produces nothing — either because the section was already empty, or because nothing in this week's state files unblocks any open. That's fine. A zero-promotion week is a real signal: either the team isn't currently making decisions worth recording (quiet operational week), or the opens are blocked on something external (waiting on a stakeholder, a vendor, a test result). The promotion prompt's "blocked-on" tag is what turns the second case into a tracked dependency instead of silent rot.

// 03 — The cross-pollination prompt

This is the prompt that justifies the entire ritual. Teams have lateral signal nobody surfaces: the DBA spotted a customer-traffic pattern that the BA's segmentation model assumes doesn't exist; the support lead has a recurring ticket type the architect would solve in a Tuesday afternoon if they knew; the tech writer noticed the API doc and the SDK disagree on a field name. None of this is hidden. It's just unaddressed, because in normal week-to-week work people stay in their own lane.

The cross-pollination prompt is the AI scanning every role's slice and surfacing what an adjacent role should know. It runs against the shared base, so it sees everything.

The prompt (verbatim)

You are the team's cross-pollination scout for this week's reset.

Scan:
- state-shared.md (this week's deltas)
- decisions.md (new entries since last Friday)
- the most recent 5 ticket-resolution notes in tickets/recent/
- project-shared.md (any status changes)

Surface 0-3 items that an adjacent role would benefit from knowing,
even if it's outside their normal lane. Adjacent roles to consider:
BA, DBA, PM, Support Lead, Architect, Tech Writer, QA Lead.

For each item:
- One sentence: what happened.
- One sentence: why the adjacent role cares.
- WHO on the team most directly needs it (name + role).

If there is genuinely nothing worth surfacing, say so explicitly:
"NO CROSS-POLLINATION ITEMS THIS WEEK." Do not invent items to
fill the slot.

Output: a markdown block I can paste at the top of digest.md.

Why it works

Most lateral signal surfaces in the bad week: the BA discovers the stack constraint when their proposal gets shot down in review; the DBA finds the segmentation gap when a migration breaks production. By that point it's a fire. The Friday cross-pollination surfaces the same signal one to four weeks before the fire — cheaply, routinely, while it's still cheap to address.

It also normalizes "I read about your stuff." Teammates get used to seeing their work referenced in other roles' digests; collaboration improves not because someone organized a workshop, but because the brain made it ambient.

Example output (real shape, plausible content)

// digest.md · week of 2026-05-15
  • Customer X reported a sync issue on Tuesday. The pattern looks segment-specific (Western US, enterprise tier). → BA (Priya) should flag this segment in the customer-context overlay as sync-sensitive before the next quarterly roadmap.
  • DBA tightened the migration runbook on Wednesday after a near-miss on the prod replica lag. The new step adds a 30-second hold-and-verify before traffic cutover. → Architect (Marcus) should review for ripple effects in the planned blue/green migration spec.
  • Support resolved 4 tickets this week pointing at the same doc gap — the v2 API rate-limit headers aren't in the public reference. → Tech writer (Sam) should patch the API doc; takes ~15 min.

Three items, posted Friday afternoon, costs three minutes to produce. Each one is a fire that didn't happen.

Where the digest lives

Two viable patterns, pick one and stick with it:

Teams that struggle to act on cross-pollination items should pick the second pattern for a quarter. Once acting-on-the-signal becomes habit, you can quietly drop back to the appended-file pattern.

// 04 — The dead-context pruner

Here's the failure mode nobody anticipates: the team brain grows monotonically. Every project that ships leaves its project-*.md behind. Every customer that churns leaves their context overlay. Every architectural exploration that didn't go anywhere leaves a half-finished spec. After six months the brain is 4× the size it needs to be, the AI is paying token cost on every session for files that are no longer relevant, and the real signal is buried in stale weight.

The instinct is to prune by feeling — "this looks old, delete it." That's wrong twice: you'll delete files you needed, and you'll keep files you didn't. The truth is in the AI's session history. Files that haven't been read by any session in 30+ days are dead context, regardless of how important they feel.

The prompt (verbatim)

You are the dead-context pruner for the team-brain/ folder.

List every markdown file under team-brain/ that has NOT been read
by any AI session in the past 30 days (use the session log at
team-brain/_meta/access-log.jsonl as ground truth).

Group the unread files into three buckets:

DEFINITELY-ARCHIVE
  - File covers a project, customer, or initiative that is
    explicitly marked closed/shipped/cancelled in project-shared.md
    or its own frontmatter status field.
  - Move target: archive/{year}/{quarter}/

MAYBE-ARCHIVE
  - File covers something whose status is ambiguous, OR
  - File is referenced (by name) in an active file but hasn't
    itself been loaded in 30+ days.
  - For each: write ONE question I need to answer to decide.

KEEP
  - File is small, foundational (team-identity, glossary, role
    overlays), or clearly evergreen reference material.

Output: candidates-for-archive.md with the three sections.
Do not move anything. I'll review and execute moves manually.

Why brains rot

Files that are still relevant but never loaded are dead weight that hides real signal. The Friday reset surfaces the unread tail so you can either (a) move it to archive and stop paying for it, or (b) realize the team has been ignoring something important and explicitly re-prioritize.

Either resolution beats the silent rot.

The rule

Prune by usage signal, not by feeling. The AI's session history is the truth. If you didn't load it in 30 days, you don't need it loaded by default. (You can always pull it back from archive on demand — that's the point of the archive structure, not deletion.)

The archive structure

team-brain/
├── active/                          ← what every session loads
│   ├── project-acme-migration.md
│   ├── project-q3-rearchitecture.md
│   └── ...
├── archive/                         ← searchable, not loaded
│   ├── 2025/
│   │   ├── Q1/
│   │   ├── Q2/
│   │   ├── Q3/
│   │   └── Q4/
│   └── 2026/
│       └── Q1/
│           ├── project-sunset-customer-portal.md
│           └── project-legacy-billing-migration.md
└── _meta/
    └── access-log.jsonl             ← session reads, ground truth

Never delete — just move. Search still hits files under archive/ when the AI is explicitly looking for historical context ("how did we handle the legacy billing migration last year?"). You stop paying token cost for stale files on every session; you keep the institutional memory.

The access log

The pruner depends on _meta/access-log.jsonl — one JSON line per AI session read, capturing file path, session ID, and timestamp. Most filesystem-aware AI tools (Claude Code, Cursor, Windsurf) can be configured to emit this; for shared-Project setups (Claude Team, ChatGPT Team) the log is approximate (you derive it from project-history exports weekly).

If your tooling can't emit an access log at all, the pruner falls back to git log: files whose most recent commit OR most recent reference in any commit-message is > 30 days old. Less precise (a file might have been read often without being edited), but better than feeling. The prompt detects which signal is available and uses whichever is present.

First run is loud, subsequent runs are quiet

The first time you run the dead-context pruner on a six-month-old brain, expect 20–40 candidates — most of them definitely-archive. That's a one-time cleanup. After the brain has been running with the weekly reset for two or three months, the pruner typically surfaces 0–3 candidates per week. That's the steady state: the brain is self-tending.

// 05 — Who runs it

15 minutes a week, 50 weeks a year — that's 12.5 hours per year of reset work. If one person owns it, they will silently resent the team by month three and quit by month six. Rotate it.

The rotation

Per quarter, designate the reset owner. Default rotation across a typical IT Pro team:

// weeks 1–2
Eng. Manager / Tech Lead
// weeks 3–4
Business Analyst
// weeks 5–6
Project Manager
// weeks 7–8
Support Lead
// weeks 9–10
DBA
// weeks 11–13
Architect

Each role does it 1–2 weeks per quarter. The Tech Lead does it more often because the role has more context on the team's state already — but only marginally more.

Why the rotation matters

The handoff

The previous owner spends 5 minutes training the next owner on Friday before they wrap. The training is literally: "here's the checklist, here are the five prompts, here's where the access log lives, here's the channel I post the digest to." After two rotations (six months for a typical six-role team), everyone has done the reset twice and nobody needs handoff anymore.

The first month is the hardest

For the first four weeks after standing up the reset, expect friction. Three predictable failure modes show up in roughly this order:

By week six, the reset is muscle memory and nobody asks whether it's worth doing.

"I'm not the role for this" pushback

You will get this. The DBA will say "the cross-pollination prompt is more of an architect's job." The BA will say "the dead-context pruner is an engineering task." The PM will say "I don't really do markdown."

Doesn't matter. The reset is a hygiene task, not a skill task. Every prompt is verbatim — nobody is doing original thinking. Anyone who can read English and copy a prompt into an AI can run it. The pushback is almost always status-anxiety dressed up as competence-claim; the answer is "the rotation includes you, and the prompts work for any role — that's the whole point."

The one exception: if the rotation owner is genuinely overloaded that week (production outage, parental leave, etc.), swap with the next person on the schedule. Don't skip.

// 06 — The brain-rot warning signs

The reset is preventive maintenance. Some weeks it's not enough — the brain is decaying faster than 15 Friday minutes can fix. Watch for these four symptoms. Each has a specific intervention; none of them is "just run more resets."

// 01The AI is hallucinating teammates' names or roles.

Cause Your who-is-who.md (or team-identity.md's roster section) is stale. Someone changed roles two months ago, someone else joined six weeks ago, and nobody updated the file. The AI is working from outdated identity context and inventing what fits.

Fix Add a weekly roster check to the reset — 30 seconds, alongside the state-refresh task. "Anyone change role, join, or leave this week? Update the roster file before continuing." If the answer is yes more than once a quarter, promote the roster to its own dedicated section in state-shared.md so it gets touched every week instead of sliding.

// 02The same decision opens 3+ times in a quarter without resolving.

Cause The Friday promotion isn't being run, OR it's being run but the rotation owner is skipping promotion for politically-sensitive opens. Either way, the decision ledger isn't doing its job.

Fix The rotation owner is failing. Two interventions, in order: (1) reassign the reset to a different owner for the next month and watch whether the pattern resolves — if yes, you had a tactical problem with one person and the brain is fine. (2) If the reopening continues with a new owner, the team is genuinely undecided and the issue isn't promotion — it's escalation. Schedule a 30-minute decision meeting with the architect and the decision-maker, force a call, and write the ADR live in the meeting.

// 03New hires (T03 onboarding) ask questions the brain SHOULD answer but can't.

Cause The brain hasn't been updated since a major shift — a re-org, a new product line, a new customer segment, a tooling migration. The reset has kept everything looking current at the surface (state file fresh, decisions promoted) but the foundational files (team-identity.md, customer-context.md, glossary) still describe last quarter's reality.

Fix Run a brain refresh sprint. Four hours, scheduled once. Every role spends 30 minutes auditing their own slice: "is what's in team-brain still true for my function?" The output is a list of edits, applied that same afternoon. Brain refresh sprints happen 1–2 times a year for a healthy team. If you're doing them every quarter, the weekly reset isn't keeping up and you should expand the reset checklist (add a "foundational-files spot check" task once a month).

// 04Role overlays drift — one teammate's overlay has facts the others don't.

Cause The no-forks discipline from T04 failed. Someone edited their local overlay with team-relevant facts ("I learned customer X's procurement runs on a 90-day cycle") instead of pushing the fact to the shared base where everyone benefits. Now the overlay carries hidden signal that should be ambient.

Fix Run the T04 conflict-prompt review across all overlays once. The prompt scans each role's overlay for content that should be in team-identity.md / customer-context.md / project-shared.md and proposes promotions. Takes ~20 minutes for a six-role team; consolidates 5–15 stranded facts back into the shared base. Schedule it for any quarter where you detect drift, or run it preventively every other quarter.

"Is the reset enough?" — the decision tree

How to tell whether the weekly reset is sufficient or you need the heavier brain-refresh sprint:

Q1. Are new hires (week 1 with the brain) productive by end of day 3?
If yes → reset is sufficient on the onboarding axis. If no → symptom 03; run a brain refresh sprint.
Q2. Can three random teammates name the three most recent ADRs without looking?
If yes → promotion cadence is working. If no → the decisions are getting captured but not absorbed; add a "this week's decisions" line to the standup until it sticks.
Q3. Is the active/ folder smaller than it was 90 days ago?
If yes → archive discipline is working. If no → the dead-context pruner is running but you're not acting on its output; reset owner needs to execute moves, not just produce the candidates list.
Q4. In the last quarter, did at least 5 cross-pollination items lead to concrete adjacent-role actions?
If yes → cross-pollination is doing real work. If no → the prompt is running but nobody is reading the digest; route digest output to the team channel with @-mentions for the named role, not a passive file.

Three or four "yes" answers means the weekly reset is doing its job. Two or fewer means you have specific symptoms (matched above) to address — not "do more resets." More reset doesn't fix any of these failure modes; the right intervention does.

When to escalate beyond the reset

Two situations call for stopping the reset cadence entirely and running something different:

// 07 — Common questions

"What if Friday is genuinely impossible most weeks?"

Pick a different day and commit to it. The Friday convention exists because it pairs with end-of-week reflection naturally, but Monday-morning works (especially for teams in distributed timezones where Friday is half the team's weekend) and Wednesday-afternoon works too. The day matters less than the consistency. What doesn't work is "whenever someone has time" — that becomes "never."

"Can the AI just run all five tasks autonomously?"

Mostly yes — but the human-in-the-loop step is load-bearing. The promotion prompt produces a proposed diff to decisions.md; the rotation owner reviewing that diff is what catches the case where the AI promoted an open question that shouldn't be a decision yet (still genuinely open, the AI just found surface evidence and pattern-matched). Same for dead-context: the AI produces the candidates list; the rotation owner is what catches the file that's been unread for 30 days but is about to become urgent (project starting next sprint). Review is 30 seconds per task. Skip it and the brain starts making subtly wrong decisions for you.

"Our team is 3 people, do we still need rotation?"

Yes, but a lighter version. Three-person teams rotate every month instead of every two weeks — each person owns the reset for ~4 consecutive weeks. The bus-factor logic still applies (any one of three can be sick, on vacation, or leave) and the "different eyes find different gaps" benefit is even stronger on a small team where any single perspective dominates. The handoff is the same 5-minute walkthrough.

"Our team is 30+ people, does this scale?"

The reset doesn't scale linearly past about 10 people on one shared brain. Above that, the right pattern is sub-team brains — each functional pod (5–8 people) maintains its own team-brain/, and a thin org-brain/ at the parent level holds cross-pod identity, decisions, and cross-pollination digests. Each sub-team runs its own weekly reset; the org-brain gets a monthly reset run by an engineering-leadership rotation. Same prompts, different scope.

"What tools work best for the rotation owner?"

Any AI tool that can read a folder of markdown files works. Practical recommendations:

"Should the digest be public to the whole company?"

The cross-pollination digest is internal to the team by default. Two exceptions worth considering: (1) adjacent teams (your sister pod, the platform team you depend on) often benefit from seeing your digest; share it weekly in a cross-team channel. (2) Leadership sees real value in the digest as a low-friction status read — what's the team learning, what's surfacing — without you preparing anything bespoke. Forward the Friday digest to your manager as a 30-second status note. Most managers will quietly stop asking for separate status updates within a month.

// What "alive" looks like at month 6

A team brain that's been getting the weekly reset for six months looks measurably different from one that hasn't. Concrete signals you can audit at the half-year mark:

These aren't aspirational. They're what you get for 15 minutes a week. The compounding is the point.

// Key takeaways

// 15 minutes, 50 weeks, one brain that stays alive

  • Five micro-tasks, three minutes each. Promote opens to decisions, refresh state, archive completed projects, run cross-pollination, prune dead context. Same time as a standup. Every Friday.
  • The promotion prompt is the load-bearing one. Three minutes per week prevents days of relitigation per quarter; the math is never close. Verbatim prompt, copy-paste, anyone can run it.
  • Cross-pollination surfaces the bad-week fire one to four weeks early. The DBA pattern, the support doc gap, the BA segment surprise — all routine signal nobody surfaces in normal work. The reset surfaces it cheaply.
  • Prune by usage signal, not by feeling. If the AI hasn't read it in 30 days, move it to archive/{year}/{quarter}/ — never delete. Search still hits; you stop paying token cost on every session for stale weight.
  • Rotate the reset across roles, watch for the four brain-rot symptoms. Bus-factor protection plus different eyes finding different gaps. If symptoms appear, the fix is a targeted intervention — not more reset.
// completes the team brain track

T01 gave you the shared folder. T02 gave you the bootstrap prompt and the decisions ledger. T03 gave you onboarding in 10 minutes. T04 gave you per-role overlays without forks. T05 is the maintenance contract. Without it, T01–T04 calcify inside six weeks. With it, the brain compounds. Same five files, fifty weeks later, still accurate.