Skip to content

Commit aa05431

Browse files
committed
docs(readme): rewrite Example with real post-compact recovery scenario
Replaces fictional Go-scheduler illustration (~46 lines, "generic illustration — your content and numbers will differ") with a concrete "agent forgets bash-only invariant after AutoCompact" scenario using a trimmed real .revive/static.md from this repo (~22 lines). Pain-first headline; agent pushes back with a quoted INVARIANT instead of the previous "what's the success metric" framing. Drops STATE/commit hashes from the example block — keeps PURPOSE + INVARIANT only.
1 parent 8b6bb09 commit aa05431

1 file changed

Lines changed: 17 additions & 40 deletions

File tree

README.md

Lines changed: 17 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -32,52 +32,29 @@ once at session start and get summarized away by AutoCompact. This keeps
3232
your curated facts *fresh in the recent attention window*, complementary to
3333
them.
3434

35-
## Example
35+
## Example — when your agent forgets what you told it
3636

37-
After `revive init` + `revive suggest` on a repo with a handful of ADRs and
38-
a detailed `CLAUDE.md`, Claude Code's `UserPromptSubmit` hook receives a
39-
block like this on every 5th prompt (generic illustration — your content
40-
and numbers will differ):
37+
30 prompts in. AutoCompact fires. You ask the agent to rewrite the hot
38+
path in Python because parsing JSON in bash is painful. It says yes —
39+
forgetting you spent 20 prompts deciding *bash-only, single file*.
4140

42-
```
43-
<revive refresh="7">
44-
# STATIC (from .revive/static.md — human-curated, stable across refreshes)
45-
PURPOSE: Background-job scheduler for small Go services. Success metric is
46-
zero surprise job failures after a deploy — goal: replace ops-managed cron
47-
with code-defined schedules that survive rollouts. Constraint: job state
48-
lives in the app's own Postgres; no new infrastructure.
49-
50-
DIFFERENTIATORS:
51-
- Traditional cron → schedules defined in code, survive deploys
52-
- Managed SaaS schedulers → zero new infrastructure; reuses app Postgres
53-
- Temporal / DAG workflow engines → single-step jobs only; keep it small
41+
With revive, the `PostCompact` hook just refreshed this into the recent
42+
attention window (real `.revive/static.md` from this repo, trimmed):
5443

44+
```
45+
PURPOSE: Bash CLI that injects a deterministic project brief into Claude
46+
Code on a cadence. Constraint: zero LLM calls, <100 ms hot path,
47+
single bash file — `git` required, `jq` optional.
5548
INVARIANTS:
56-
- Every schedule change ships with a migration; never edit rows in prod.
57-
- Jobs must be idempotent — retries on deploy-overlap are expected.
58-
- Worker binary must not grow past 30 MB (embedded-device deploy target).
59-
60-
GOTCHAS:
61-
- `make test` runs integration against a real Postgres — set TEST_DATABASE_URL.
62-
- `bin/deploy` always runs `schedule:apply` last; reordering breaks overlap detection.
63-
64-
# DYNAMIC (regenerated per refresh from git + fs)
65-
STATE: branch=main
66-
9e8a1f2 fix(scheduler): handle DST transitions in cron parser
67-
↪ Cron parser was skipping jobs during spring-forward. Added unit tests for …
68-
c4b2d30 feat: add schedule:diff command for deploy previews
69-
70-
HOT_FILES: (last 20 commits, last change shown)
71-
12× internal/scheduler/parser.go ↪ "fix(scheduler): handle DST transitions in cron parser"
72-
8× cmd/worker/main.go ↪ "feat: add schedule:diff command for deploy previews"
73-
5× internal/db/schema.sql ↪ "chore: add index on next_run_at"
74-
</revive>
49+
- Bash + git only on hot path. `jq` is the sole optional dep.
50+
Push back on anything new.
7551
```
7652

77-
Ask this Claude Code *"what's the success metric for this project?"* — the
78-
agent answers *"zero surprise job failures after a deploy"* straight from
79-
the brief, not by re-reading files. 30 prompts in, 100 prompts in, the
80-
answer stays.
53+
So the agent pushes back: *"Python breaks the hot-path constraint —
54+
single bash file, `jq` is the only optional dep. Hard no unless we're
55+
rewriting the thesis."*
56+
57+
The decision you made 30 prompts ago is still load-bearing.
8158

8259
## Quick start
8360

0 commit comments

Comments
 (0)