assets/example_weekly_review.md
4.2 KB查看排版效果| 1 | # Example: A Full Worked Weekly Review |
| 2 | |
| 3 | > A realistic Friday-afternoon run of the whole loop — scan → checklist → gate → audit → next |
| 4 | > action — including an honest INCOMPLETE on the first gate and what happened next. |
| 5 | |
| 6 | **Context:** Solo consultant, ~2 weeks since the last full review (one lapse). Notes and projects |
| 7 | live in `~/notes` as markdown. Timebox: 90 minutes, started 15:00. |
| 8 | |
| 9 | --- |
| 10 | |
| 11 | ## Step 0 — Scan for evidence (2 min) |
| 12 | |
| 13 | ```bash |
| 14 | python scripts/open_loop_scanner.py --dir ~/notes --stale-days 14 |
| 15 | ``` |
| 16 | |
| 17 | Result: **19 open loops** — 11 unchecked checkboxes across 5 files, 3 TODO markers in scripts, |
| 18 | 5 stale files (worst: `someday/write-a-novel.md`, 63 days untouched). |
| 19 | |
| 20 | ## Phase 1 — GET CLEAR (25 min) |
| 21 | |
| 22 | 1. **Collect:** 4 paper receipts photographed, 6 screenshots moved out of the desktop, 2 voicemail |
| 23 | notes transcribed → all into the task inbox. |
| 24 | 2. **Inboxes to zero:** 47 emails processed (31 archived, 9 became next actions, 4 waiting-for, |
| 25 | 3 replied under two minutes). Task inbox: 14 items clarified. Notes-app inbox: 8 items. |
| 26 | 3. **Mind sweep:** 9 new items surfaced, including "renew professional insurance" (a real loop |
| 27 | that was living rent-free in working memory) and "pitch retainer renewal to Acme." |
| 28 | |
| 29 | ## Phase 2 — GET CURRENT (40 min) |
| 30 | |
| 31 | 4. **Next-action lists:** 12 marked done, 3 pruned as dead, 2 flagged stuck (both blocked on the |
| 32 | same unanswered client email — chased in step 7). |
| 33 | 5. **Previous calendar (2 weeks back, because of the lapse):** the Acme kickoff spawned 3 |
| 34 | follow-ups never captured; a dentist appointment was missed → rebook action created. |
| 35 | 6. **Upcoming calendar:** conference talk in 12 days → "draft outline" created *now* instead of |
| 36 | the night before; two client calls need agendas → 2 prep actions. |
| 37 | 7. **Waiting-for:** 6 items. 2 chased (incl. the blocker from step 4), 1 re-dated, 1 dropped |
| 38 | (the vendor clearly isn't answering — found an alternative instead). |
| 39 | 8. **Project lists:** exported to `commitments.json` and audited: |
| 40 | |
| 41 | ```bash |
| 42 | python scripts/commitment_auditor.py --input commitments.json |
| 43 | ``` |
| 44 | |
| 45 | ``` |
| 46 | Flags: STALLED 3 · NO-NEXT-ACTION 2 · SOMEDAY-CANDIDATE 1 |
| 47 | Formula: score = 100 - 30*(stalled/total) - 40*(no_next_action/total) - 30*(someday_candidates/total) |
| 48 | COMMITMENT HEALTH: 66.7/100 VERDICT: DRIFTING |
| 49 | ``` |
| 50 | |
| 51 | Resolutions: "Hire a designer" got a next action ("post the brief in two freelance communities"); |
| 52 | "Write a novel" was honestly moved to someday/maybe; "Learn Spanish" got a concrete next action |
| 53 | ("book Tuesday trial lesson") instead of the standing guilt entry. |
| 54 | |
| 55 | ## First gate — honest INCOMPLETE (15:05 + 67 min) |
| 56 | |
| 57 | Ten minutes left in the timebox and phase 3 untouched. Gate what's true: |
| 58 | |
| 59 | ```bash |
| 60 | python scripts/weekly_review_gate.py --done "1,2,3,4,5,6,7,8" |
| 61 | ``` |
| 62 | |
| 63 | ``` |
| 64 | Completion: 80.0% (done 8 · skipped 0 · missing 2) |
| 65 | Missing steps: 9. [GET CREATIVE] Review someday/maybe · 10. [GET CREATIVE] Capture new ideas |
| 66 | VERDICT: INCOMPLETE (exit code 2) |
| 67 | ``` |
| 68 | |
| 69 | All five GET CURRENT steps done, so nothing *forced* the incomplete — GET CREATIVE was simply not |
| 70 | done yet. Ten minutes remained, and step 9 was half-triggered by the audit anyway, so: continue. |
| 71 | |
| 72 | ## Phase 3 — GET CREATIVE (10 min) |
| 73 | |
| 74 | 9. **Someday/maybe:** 14 items reviewed. 1 activated ("small-group workshop" — two people asked |
| 75 | about it this month), 2 killed without ceremony, novel filed with a clear conscience. |
| 76 | 10. **New ideas:** 3 captured, including a productized-audit offering sketched in four bullets. |
| 77 | |
| 78 | ## Final gate — COMPLETE |
| 79 | |
| 80 | ```bash |
| 81 | python scripts/weekly_review_gate.py --done "1,2,3,4,5,6,7,8,9,10" |
| 82 | ``` |
| 83 | |
| 84 | ``` |
| 85 | Completion: 100.0% (done 10 · skipped 0 · missing 0) |
| 86 | VERDICT: COMPLETE (exit code 0) |
| 87 | ``` |
| 88 | |
| 89 | ## Close (total: 82 min) |
| 90 | |
| 91 | **One next action for the coming week:** send the Acme retainer-renewal email (drafted Monday |
| 92 | 09:00, calendar-blocked). |
| 93 | |
| 94 | **What made this a good review:** evidence first (the scan found loops memory had dropped); the |
| 95 | lapse was handled with a look-back, not a guilt marathon; the first gate was allowed to say |
| 96 | INCOMPLETE; every flagged project left with a disposition; and it ended inside the timebox with |
| 97 | one concrete commitment. |
文件内容是平台检查时读出的文本,只供查看。平台不会运行包里的任何脚本或程序。

