Repository navigation
Commit 3b58d49
feat(artifacts): share merge and restoration across families (#1880)
* docs(rfc): propose atomic memory as independent artifacts
* feat(memory): implement independent atomic memory
* fix(memory): repair migration receipts and normalize writes
* fix(memory): preserve history when NFC expands text
* fix(atomic-memory): resolve runtime and transport regressions
* fix(atomic-memory): keep short reads on a consistent snapshot
* test(zcode): verify atomic memory source lineage
* test(dream): make superseded worker recovery deterministic
* fix(atomic-memory): align reconciliation and host contracts
* fix(ci): update atomic memory integration contracts
* fix(atomic-memory): preserve authorization and evidence boundaries
* test(atomic-memory): cover supervisor generation and automatic merge
* test(oceanbase): isolate HTTP databases and enable CI coverage
* test(memory): add live temporal conflict coverage
Exclude detailed design documents from the PR while keeping local copies.
* fix(memory): tolerate candidate drift during context preparation
* feat(artifacts): share merge and restoration across families
* fix(artifacts): append revisions when restoring merge groups
* fix(memory): clarify temporal fact reconciliation
* fix(memory): reconcile against current published content
* chore: add missing test license headers
* fix(memory): keep creation metadata out of model output
* fix(atomic-memory): restore scope retrieval authorization
* fix(desktop): repair atomic memory integration
* fix(server): advertise atomic memory capabilities
* fix(desktop): qualify atomic memory protocol
* docs(memory): add atomic memory clean migration design
Co-authored-by: Cursor <cursoragent@cursor.com>
* test(dify): exercise the Atomic search hit schema in contract regeneration
Co-authored-by: Cursor <cursoragent@cursor.com>
* refactor(atomic-memory): use shared access control instead of a family-specific policy
Atomic Memory now applies the common access service with the shared execution
context: no policy-head lock, no implicit local-runtime Owner, and no Owner
prefilter for extraction candidates. Unauthenticated deployments keep memories
without Owners; the current projection no longer stores Owner columns, and
enforced collection reads use the common Owner readiness check.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(desktop): report the fixture contract digest from the real-Server probe
Co-authored-by: Cursor <cursoragent@cursor.com>
* refactor(memory): serve legacy Memory routes from Atomic Memory at the API layer
Remove the runtime ScopedMemoryApplication. The Server translates remember,
search, list, get-by-target, and flush onto ScopedAtomicMemoryApplication,
which gains create, flush, and cursor. Citation reads, capacity, changes,
entry tags, and memory access targets are rejected before any work.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(desktop): keep contract digest in compatibility selection
Co-authored-by: Cursor <cursoragent@cursor.com>
* refactor(atomic-memory): import entries with their direct evidence
Imported revisions carry the entry's own Sources and Artifact references
instead of a collection anchor and predecessor, so the evidence resolver
no longer reads legacy entry tables. Apply rewrites the anchored lineage
left by the earlier import.
Co-authored-by: Cursor <cursoragent@cursor.com>
* refactor(tags): drop legacy Memory entry tag targets
Runtime and persistence tags only address Artifacts; the deterministic
legacy identity mapping stays in the server get_memory_entry adapter.
The server rejects legacy collection tags and tag queries that select
the memory family or memory_entry targets, and default tag queries
exclude legacy Memory.
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat(atomic-memory): archive legacy Memory and convert references
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(atomic-memory): close migration gaps found in review
- Archive and remove whole-collection citations in Handoffs and Work, blocking
when a claim loses its required evidence.
- Remove all collection-owned lineage before deleting collections.
- Let an applied decision file be reused on rerun.
- Block unfinished Dream runs whose pinned Artifacts or Sources change.
- Accept import, references and projection before removal; startup runs only
a light residual check.
- Recreate development current-projection layouts during apply.
Co-authored-by: Cursor <cursoragent@cursor.com>
* refactor(atomic-memory): remove legacy Memory from the runtime and contract
The runtime, public models, OpenAPI contract, SDK, dashboard and integrations
no longer know the legacy Memory collection: MemoryService, its persistence
and indexes, MemoryCitation, memory_citations fields and Handoff memory
citations are removed. ArtifactRef rejects family=memory, so new requests
cannot reintroduce collection references; generic reads and tag queries of
family=memory are unsupported.
atomic-memory-migrate gains the remaining data steps and stays repeatable:
- Handoff receipt evidence citing a whole collection moves to the receipt's
historical_data;
- unfinished Dream runs drop the empty entry citation fields, and request
digests are recomputed so identical retries still replay;
- Task Outcome item digests are recomputed from frozen legacy decoders;
- the emptied memory_citations columns are dropped last, and startup refuses
while they exist.
The legacy write gate stays rejected at configuration time. The legacy
collection capacity benchmark is removed. Desktop reads only Atomic Memory
references and no longer bundles citation-only Server profiles.
Co-Authored-By: Claude Code <noreply@anthropic.com>
* test: sync integration fixtures with atomic memory contract
* chore(skill-up): refresh tool contract fixtures without legacy Memory citations
Co-Authored-By: Claude Code <noreply@anthropic.com>
* fix(atomic-memory): finish clean migration and receipt compatibility
* fix(atomic-memory): close migration boundary and validation gaps
* chore(skill-up): refresh migrated memory guidance pin
* chore(desktop): refresh generated migration contract
* ci: serialize atomic memory migration acceptance
* fix(memory): support long SQLite full-text queries
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Claude Code <noreply@anthropic.com>1 parent 7dfa903 commit 3b58d49
56 files changed
Lines changed: 4969 additions & 1314 deletions
File tree
- docs
- en/docs
- operate
- workflows
- zh/docs
- operate
- workflows
- src/powercontext/builtin
- artifacts
- atomic_memory
- experience
- persistence
- migrations
- oceanbase
- sqlite
- runtime
- sources
- tests
- builtin
- artifacts
- atomic_memory
- persistence
- review
- runtime
- e2e
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
63 | 65 | | |
64 | 66 | | |
65 | 67 | | |
| |||
177 | 179 | | |
178 | 180 | | |
179 | 181 | | |
180 | | - | |
| 182 | + | |
181 | 183 | | |
182 | | - | |
| 184 | + | |
183 | 185 | | |
184 | 186 | | |
185 | 187 | | |
| |||
207 | 209 | | |
208 | 210 | | |
209 | 211 | | |
210 | | - | |
| 212 | + | |
211 | 213 | | |
212 | 214 | | |
213 | 215 | | |
| |||
254 | 256 | | |
255 | 257 | | |
256 | 258 | | |
257 | | - | |
| 259 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
139 | | - | |
| 139 | + | |
| 140 | + | |
140 | 141 | | |
141 | 142 | | |
142 | | - | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
143 | 147 | | |
144 | 148 | | |
145 | 149 | | |
| |||
161 | 165 | | |
162 | 166 | | |
163 | 167 | | |
| 168 | + | |
| 169 | + | |
164 | 170 | | |
165 | 171 | | |
166 | 172 | | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
167 | 182 | | |
168 | 183 | | |
169 | 184 | | |
| |||
173 | 188 | | |
174 | 189 | | |
175 | 190 | | |
176 | | - | |
| 191 | + | |
177 | 192 | | |
178 | 193 | | |
179 | 194 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
57 | 59 | | |
58 | 60 | | |
59 | 61 | | |
| |||
156 | 158 | | |
157 | 159 | | |
158 | 160 | | |
159 | | - | |
| 161 | + | |
160 | 162 | | |
161 | | - | |
| 163 | + | |
162 | 164 | | |
163 | 165 | | |
164 | 166 | | |
| |||
179 | 181 | | |
180 | 182 | | |
181 | 183 | | |
182 | | - | |
| 184 | + | |
183 | 185 | | |
184 | 186 | | |
185 | 187 | | |
| |||
219 | 221 | | |
220 | 222 | | |
221 | 223 | | |
222 | | - | |
| 224 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
134 | | - | |
| 134 | + | |
135 | 135 | | |
136 | | - | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
137 | 139 | | |
138 | 140 | | |
139 | 141 | | |
| |||
155 | 157 | | |
156 | 158 | | |
157 | 159 | | |
| 160 | + | |
| 161 | + | |
158 | 162 | | |
159 | 163 | | |
160 | 164 | | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
161 | 173 | | |
162 | 174 | | |
163 | 175 | | |
| |||
167 | 179 | | |
168 | 180 | | |
169 | 181 | | |
170 | | - | |
| 182 | + | |
171 | 183 | | |
172 | 184 | | |
173 | 185 | | |
| |||
0 commit comments