2fce57847b
feat(snippets): pull-time freshness — the forge confirms the cache at the moment it's trusted (#2690)
bvandeusenandClaude Fable 52026-08-16 12:46:45 -04:00
7d26a3fc6a
fix(tests): provenance itest user fixture is get-or-create — the lane DB persists across tests
bvandeusenandClaude Fable 52026-08-16 12:06:19 -04:00
1e7f66e72d
feat(snippets): body provenance — the cache-with-provenance half of the pointer model (#2688)
bvandeusenandClaude Fable 52026-08-16 12:00:40 -04:00
2d58e74ec7
feat(reuse): recording model becomes the pattern library — every shape at first build (#2687)
bvandeusenandClaude Fable 52026-08-16 11:33:24 -04:00
e05a660471
Merge pull request 'Usage telemetry alive — readout fix, canaries, and the snippet-recording seam' (#110) from dev into main
bvandeusen2026-08-14 22:36:43 -04:00
4107b17727
fix(telemetry): usage readout grouped by a rebuilt CASE — group by the label instead (#2663 root cause)
bvandeusenandClaude Fable 52026-08-14 21:49:48 -04:00
fb757fb4ba
feat(reuse): recording gets a seam — the prior-art hook asks for create_snippet when duplication is proven and unrecorded (#2664)
bvandeusenandClaude Fable 52026-08-14 21:45:32 -04:00
77acee9239
fix(telemetry): usage counters get canaries, task references, and the missing integration tests (#2663)
bvandeusenandClaude Fable 52026-08-14 21:45:32 -04:00
5503580875
Merge pull request 'Process contracts — invoke by name, compose with the conversation, author as a shape' (#109) from dev into main
bvandeusen2026-08-10 09:51:47 -04:00
5cb7cfe706
feat(processes): authoring contract — a process is a shape, never a script
bvandeusenandClaude Fable 52026-08-10 09:40:23 -04:00
9c68faa0bd
feat(processes): composition contract — the process is the skeleton, the conversation supplies the parameters
bvandeusenandClaude Fable 52026-08-10 08:39:02 -04:00
66c4fd1b88
fix(sync): process-skill triggers invoke by name only — resemblance offers, never substitutes
bvandeusenandClaude Fable 52026-08-10 08:33:40 -04:00
266d8b8117
Merge pull request 'The Systems question rides every read and write — unified seam, create_system dedup gate, sweeps-are-discovery prose' (#107) from dev into main
bvandeusen2026-08-09 16:04:58 -04:00
75bdb9c148
test(systems): fix two mock bugs in the seam tests — unset .id on the fake, shared to_dict dict leaking across creates
bvandeusenandClaude Fable 52026-08-09 15:55:56 -04:00
3455f9cb9a
refactor(systems): one seam — the Systems question rides every read and write of a record
bvandeusenandClaude Fable 52026-08-09 15:48:41 -04:00
56b1952de5
fix(systems): sweeps are the discovery moment — zero-Systems hint, create_system dedup gate, prose inverted
bvandeusenandClaude Fable 52026-08-09 15:35:59 -04:00
e80f2f233b
Merge pull request 'Instruction delivery fits the fold — 2k server map, floor Systems reflex, write-time systems_hint' (#106) from dev into main
bvandeusen2026-08-09 13:11:20 -04:00
3ff8803593
feat(instructions): fit the delivery fold — 2k server map, floor Systems reflex, write-time systems_hint
bvandeusenandClaude Fable 52026-08-09 12:53:35 -04:00
854aae252a
Merge pull request 'Per-kind duplicate-report floors — notes/tasks default 0.93' (#105) from dev into main
bvandeusen2026-08-09 10:37:06 -04:00
063494094a
Merge pull request 'Chunked embeddings — no record content invisible to search (#280)' (#104) from dev into main
bvandeusen2026-08-08 23:54:34 -04:00
875f6a7b5e
Queue clear — shared ACL on lists, semantic q, full telemetry ledger, --color-* retired (#103)
bvandeusen2026-08-08 22:45:26 -04:00
4ba544e2af
refactor(theme): retire the --color-* shim — the sweep it promised, run
bvandeusen2026-08-08 22:42:37 -04:00
2d1e26f38f
feat(telemetry): ambient surfacings count, apart — enter_project and the skill sync emit
bvandeusen2026-08-08 22:39:13 -04:00
9b3874b657
test: the auto-inject path now logs two retrievals, and that is the point
bvandeusen2026-08-08 22:32:58 -04:00
45ba4aab25
fix(telemetry): the two invisible retrievals log, and /api/search takes scope
bvandeusen2026-08-08 20:00:22 -04:00
f11a547cd2
fix(lists): shared-project records appear, and a list's q means what search means
bvandeusen2026-08-08 19:58:01 -04:00
baa2492053
Duplicate report for notes and tasks — milestone #278 complete (#102)
bvandeusen2026-08-08 19:05:08 -04:00
52bf40de4f
test: the empty duplicate report carries suggestion now — assert shape, not the exact dict
bvandeusen2026-08-08 18:58:37 -04:00
d7039dc17c
feat(dedup): the duplicate report reaches notes and tasks, with per-kind cures
bvandeusen2026-08-08 18:51:49 -04:00
914b701a50
Supersession (steps 1–4) — corrections demote, state lives on Systems (#101)
bvandeusen2026-08-08 18:25:30 -04:00
3f1523b19f
feat(systems): read-side teeth — the vocabulary at session start, a search filter, and the state/chronicle instructions
bvandeusen2026-08-08 18:19:58 -04:00
6c4c1bccfc
test: stub the auto-inject supersession lookup where there is no database
bvandeusen2026-08-08 02:07:14 -04:00
f20c019f2a
feat(supersession): demote what a later note overtook, and label it
bvandeusen2026-08-08 02:00:06 -04:00
984407f931
fix(supersession): one query for both directions, not two per note read
bvandeusen2026-08-07 22:45:56 -04:00
8d9e96cc6d
feat(supersession): declare it — supersedes on both write paths
bvandeusen2026-08-07 22:38:09 -04:00
5dcb738ce8
fix(backup): carry note_supersessions — the coverage guard caught the omission
bvandeusen2026-08-07 21:49:08 -04:00
45c6b1c88a
feat(supersession): the relation, and the dead column that stood where it should
bvandeusen2026-08-07 21:40:51 -04:00
bbba0b3ae3
refactor(embeddings): one definition of the document a record is embedded as
bvandeusen2026-08-07 13:01:45 -04:00
7defc6897c
Project board — show all tasks, clamp plan bodies, stop re-collapsing (#100)
bvandeusen2026-08-07 08:26:59 -04:00
3f26aa9485
fix(project): the board showed 100 of 166 tasks and said nothing
bvandeusen2026-08-07 08:20:49 -04:00