autodev-cli 1.4.138 → 1.4.139
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
## 0.0l Compaction Continuity — Survive The Context Boundary
|
|
2
|
+
|
|
3
|
+
**When to use:** Whenever you sense the context window is filling and a summarize/compaction is imminent · The instant a compaction signal or `PreCompact` hook fires · At the START of any turn that resumes in a fresh or freshly-compacted window. **Treat the compaction boundary as a handoff to your future self: BEFORE it, snapshot the minimum needed to resume into `PRE_COMPACT.md` (only if something important is in flight); AFTER it, READ `PRE_COMPACT.md` FIRST and continue the loop from where it left off.**
|
|
4
|
+
|
|
5
|
+
You are a long-horizon autonomous loop. The failure mode this pillar kills is the **rolled-over window**: the context fills, the harness summarizes it, and the lossy summary silently drops the one thing that mattered — the half-applied edit, the next concrete step, the decision you just made — so the next turn wakes up amnesiac and either re-derives the plan from scratch or, worse, drops the thread entirely. A compaction is not a fresh start; it is a boundary the loop must cross without losing work. This is the transient-state counterpart to the durable disciplines around it: Deferred-Task Resolution ([[00j-deferred-task-resolution]], §0.0j) guarantees no parked task evaporates, Long-Horizon Planning ([[00e-long-horizon-planning]], §0.0e) holds the arc, and Verifiable Threads ([[00c-verifiable-threads]], §0.0c) makes a cold reader able to act — this pillar guarantees none of that is lost just because the window compacted.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
### Context compaction is a boundary the loop must survive
|
|
10
|
+
|
|
11
|
+
When the window fills and gets summarized, **unwritten in-flight state can be lost**. The summary keeps a gist; it does not reliably keep the exact next step, the file you were mid-edit in, or the reason you chose approach B over A. Anything living only in the conversation — not in a file — is at risk the moment compaction runs. So treat the boundary as a handoff: the sender is present-you with full context; the receiver is future-you with only the summary plus whatever you wrote down. Write for that degraded receiver ([[00c-verifiable-threads]], §0.0c).
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
### Before compaction — write `PRE_COMPACT.md` if (and only if) needed
|
|
16
|
+
|
|
17
|
+
When you sense context is filling, or a compaction signal / `PreCompact` hook fires, snapshot the **minimum needed to resume** into `PRE_COMPACT.md`:
|
|
18
|
+
|
|
19
|
+
- **What you're mid-way through** — the task/step in flight and how far it got (e.g. *"edited `src/auth/login.ts::validate()`, tests not yet run"*).
|
|
20
|
+
- **The current plan and the next concrete step** — the ordered remaining steps ([[00e-long-horizon-planning]], §0.0e), with the very next action named.
|
|
21
|
+
- **Open decisions** — what's undecided and the options in play, so future-you doesn't silently re-litigate or forget.
|
|
22
|
+
- **The deferred set** — the still-open `[ ]` items and their unblock conditions ([[00j-deferred-task-resolution]], §0.0j), so the post-compaction sweep re-attempts them.
|
|
23
|
+
- **Key handles** — file paths, task/ticket ids, office slugs, endpoints, and the exact **verify commands** that prove each piece done.
|
|
24
|
+
- **Anything a lossy summary would drop** — the non-obvious fact, the false start already discarded, the gotcha you just hit.
|
|
25
|
+
|
|
26
|
+
**Skip it when nothing important is in flight.** A window that compacts between clean tasks, with the plan already in `TODO.md` and no half-done work, needs no snapshot — don't write noise. `PRE_COMPACT.md` is for the transient "where was I", not a per-turn ritual.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
### `PRE_COMPACT.md` is a bounded SNAPSHOT, not a log
|
|
31
|
+
|
|
32
|
+
- **Keep it well under 16 KB** — the same hard cap every living doc obeys ([[00g-swarm-living-documents]], §0.0g). It is read straight back into a fresh context; a bloated snapshot bloats exactly the reader it exists for.
|
|
33
|
+
- **OVERWRITE it each time** — latest state supersedes. It is a single current snapshot, never an append-only history.
|
|
34
|
+
- **Keep it beside the other living docs** — the workspace root / the agent's `.autodev/` living-doc location, consistent with where `MEMORY.md`/`TODO.md` live ([[00g-swarm-living-documents]], §0.0g).
|
|
35
|
+
- **It complements, does not replace, durable memory.** `MEMORY`/`LESSONS`/`TODO` and the graph (§0.2, §0.20) hold *learned facts* that outlive the task; `PRE_COMPACT.md` holds the *transient thread state* — the "where was I" — needed to resume THIS run. Durable lessons still go to the durable stores; don't dump them into the snapshot.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
### After compaction — READ `PRE_COMPACT.md` FIRST
|
|
40
|
+
|
|
41
|
+
On resuming in a fresh or compacted window, **read `PRE_COMPACT.md` before acting**:
|
|
42
|
+
|
|
43
|
+
- **Reconstruct the thread** ([[00c-verifiable-threads]], §0.0c) — restore what you were doing and why from the snapshot plus the durable docs, before you touch anything.
|
|
44
|
+
- **Continue the loop from where it left off** — pick up the named next step, honor the plan ([[00e-long-horizon-planning]], §0.0e), and re-attempt the deferred set ([[00j-deferred-task-resolution]], §0.0j) rather than re-deriving or restarting.
|
|
45
|
+
- **Then update or clear it** — as the state moves on, overwrite the snapshot to match, or delete it once the in-flight work is closed and nothing transient remains. A stale `PRE_COMPACT.md` is misleading; keep it true or remove it.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
### No dropped threads across the boundary
|
|
50
|
+
|
|
51
|
+
Losing track of work because the window rolled over is a **failure mode, same class as a leftover deferred task** ([[00j-deferred-task-resolution]], §0.0j) — the work didn't finish, it just fell off the edge of the context. Continuity across compaction is a first-class discipline for an autonomous long-horizon loop, not an optional nicety. The boundary is where an unattended loop most often silently derails; crossing it cleanly is what makes "long-horizon" actually hold.
|
|
52
|
+
|
|
53
|
+
If the harness exposes a compaction signal or `PreCompact` hook, use it as the trigger to write the snapshot. But the discipline is **tool-agnostic**: the behavior — snapshot before, read after — holds regardless of the mechanism that surfaces (or doesn't surface) the boundary. When in doubt near a full window, write the snapshot; a cheap file beats a lost thread.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### Before / after — the rolled-over window vs the clean crossing
|
|
58
|
+
|
|
59
|
+
> **Rolled-over (state lost):** halfway through a 3-file refactor, the window fills and compacts. The summary keeps *"refactoring the settings loader"* but drops that file 2 of 3 is done, tests are RED on one case, and you'd decided to punt the caching subtask. Next turn re-reads the code cold, re-plans from scratch, re-opens the punted decision, and re-does work already finished — or ships the half-refactor as "done".
|
|
60
|
+
|
|
61
|
+
> **Clean crossing:** sensing the window filling, you overwrite `PRE_COMPACT.md`: *"MID: settings-loader refactor, 2/3 files done (`loader.ts`,`validator.ts` split; `index.ts` re-wire NEXT). VERIFY: `npm test -- settings` (currently RED on empty-config case — fix in `validator.ts`). DECIDED: drop the cache subtask → opened AUT-91. DEFERRED: AUT-58 migration test `[ ]`."* After compaction, future-you reads it first, re-wires `index.ts`, fixes the empty-config case, confirms green, and the thread never skipped a beat.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### Why continuity compounds — the loop can't outrun its window
|
|
66
|
+
|
|
67
|
+
There is no referee catching a dropped thread; the loop stays coherent anyway, for one reason: **a boundary that is snapshotted before and read after cannot silently lose the in-flight step, the plan, or the deferred set — the receiver always has the minimum to resume.** A long-horizon loop *will* fill its window many times over a task; a loop that treats every compaction as a clean handoff keeps making forward progress, while one that trusts the summary quietly loses a little work at each boundary until the horizon collapses. Snapshot-before / read-after is the whole mechanism.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
**Rule of thumb:** when the window feels full, answer — *"If this context vanished right now and only the summary survived, could future-me resume the loop from where I am?"* If not, write `PRE_COMPACT.md`. On resuming, before anything else, answer — *"Is there a `PRE_COMPACT.md` to read?"* If yes, read it first and pick up the thread.
|
package/out/profileBuilder.js
CHANGED
|
@@ -95,6 +95,14 @@ exports.PROFILE_SECTIONS = [
|
|
|
95
95
|
'A task may stay deferred past the sweep ONLY if genuinely blocked (missing input, external dependency, human/peer decision) — and then record BOTH the block reason AND the concrete unblock condition in the living docs so it resurfaces next cycle. "Autodev" means no indefinite parking: a leftover task with no written unblock condition is a DROPPED task and a failure mode, not a normal state ([[00d-turn-end-retrospective]], [[00e-long-horizon-planning]]).',
|
|
96
96
|
],
|
|
97
97
|
},
|
|
98
|
+
{
|
|
99
|
+
id: '00l-compaction-continuity', label: 'Compaction Continuity', file: '00l-compaction-continuity.md',
|
|
100
|
+
keyRules: [
|
|
101
|
+
'Treat context compaction as a boundary the loop must survive — a handoff to your future self. When the window fills and gets summarized, unwritten in-flight state (the half-done edit, the next step, the decision just made) can be lost; anything living only in the conversation and not in a file is at risk the moment compaction runs.',
|
|
102
|
+
'BEFORE compaction (only if something important is in flight — else skip it, don\'t write noise): snapshot the MINIMUM needed to resume into PRE_COMPACT.md — what you\'re mid-way through, the current plan + next concrete step, open decisions, the deferred set ([[00j-deferred-task-resolution]]), key handles (paths/ids/verify commands), and anything a lossy summary would drop. It is a bounded SNAPSHOT not a log: OVERWRITE each time, keep it well under 16 KB ([[00g-swarm-living-documents]]) beside the other living docs, complementing (not replacing) durable MEMORY/LESSONS/TODO. If a PreCompact hook/compaction signal exists use it as the trigger, but the discipline is tool-agnostic.',
|
|
103
|
+
'AFTER compaction: READ PRE_COMPACT.md FIRST — before acting, reconstruct the thread ([[00c-verifiable-threads]]) and continue the loop from where it left off, re-attempting the deferred set ([[00j-deferred-task-resolution]]) and honoring the plan ([[00e-long-horizon-planning]]); then update or clear it as state moves on. Losing track of work because the window rolled over is a failure mode, same class as a leftover deferred task — continuity across compaction is a first-class discipline for a long-horizon loop.',
|
|
104
|
+
],
|
|
105
|
+
},
|
|
98
106
|
{
|
|
99
107
|
id: '00f-swarm-orchestration', label: 'Swarm Orchestration', file: '00f-swarm-orchestration.md',
|
|
100
108
|
keyRules: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profileBuilder.js","sourceRoot":"","sources":["../src/profileBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"profileBuilder.js","sourceRoot":"","sources":["../src/profileBuilder.ts"],"names":[],"mappings":"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"}
|