This website requires JavaScript.
67a529a38e
feat(theme): repoint theme.css at the design system, and find what wasn't captured
bvandeusen
2026-07-31 12:42:15 -04:00
473280e690
chore(design-systems): stop teaching one install's kit in product copy
bvandeusen
2026-07-31 10:18:53 -04:00
d1d335e293
Formulas — derived tokens that follow their source (#91 )
bvandeusen
2026-07-31 09:54:10 -04:00
1fde646c60
feat(design-systems): formulas — derived tokens that follow their source
bvandeusen
2026-07-31 09:51:54 -04:00
7872e7d9ec
Drop the rulebook import — a migration, not a product feature (#90 )
bvandeusen
2026-07-31 09:49:48 -04:00
23a385e2db
revert(design-systems): drop the rulebook import — a migration, not a feature
bvandeusen
2026-07-31 09:46:12 -04:00
15eae532bd
Fix the dead create button on a fresh install, and make Design one surface (#89 )
bvandeusen
2026-07-31 08:32:07 -04:00
8eef9e7845
fix(design-systems): the empty state's create button did nothing, and one surface
bvandeusen
2026-07-31 08:29:37 -04:00
f00e9747ad
Design systems as records — the stylesheet Scribe holds (#88 )
bvandeusen
2026-07-30 23:35:26 -04:00
15d2e0c682
fix(design-systems): declare tokenRationale — the ref its usages referenced
bvandeusen
2026-07-30 21:56:02 -04:00
0f80b790c7
feat(design-systems): central prose — guidance on the system, rationale on tokens
bvandeusen
2026-07-30 21:52:16 -04:00
46d88f9e7e
feat(design-systems): check the components against the sheet they claim to use
bvandeusen
2026-07-30 21:47:47 -04:00
b0a7d9e89b
feat(design-systems): the master sheet — purpose tokens, not per-element values
bvandeusen
2026-07-30 21:42:08 -04:00
4dc57f8ab2
feat(design-systems): import a design system out of a rulebook's prose
bvandeusen
2026-07-30 21:23:32 -04:00
3da40abcb8
feat(design-systems): declare what to write instead, rather than what not to
bvandeusen
2026-07-30 21:16:45 -04:00
78489308b8
feat(design-systems): link /design to its editable half
bvandeusen
2026-07-30 17:17:59 -04:00
0937b1761e
feat(design-systems): the editing surface — overrides, effective set, provenance
bvandeusen
2026-07-30 17:17:43 -04:00
143b968c5d
feat(design-systems): REST + MCP surfaces, at parity
bvandeusen
2026-07-30 17:09:25 -04:00
839d6902ad
feat(design-systems): resolve the chain, and keep the argument not the verdict
bvandeusen
2026-07-30 17:02:31 -04:00
03b3998585
feat(design-systems): the model, the parent chain, and the guard on it
bvandeusen
2026-07-30 16:54:41 -04:00
4ca3ab02c4
feat(design-explorer): the drift panel — rulebook says X, tokens say Y
bvandeusen and Claude Opus 5
2026-07-30 15:32:29 -04:00
d3ee24f239
feat(design-explorer): rulebook binding + prose→claims extraction
bvandeusen and Claude Opus 5
2026-07-30 15:25:36 -04:00
3c0192d749
feat(design-explorer): the gallery, including what isn't there
bvandeusen and Claude Opus 5
2026-07-30 14:41:06 -04:00
61e6e38419
feat(design-explorer): token inventory — what exists and what it resolves to
bvandeusen and Claude Opus 5
2026-07-30 13:48:23 -04:00
293a14361a
fix(db): bind datetimes, not strings, when filtering timestamptz columns
bvandeusen and Claude Opus 5
2026-07-30 12:53:57 -04:00
1adf57739d
Cross-language prior-art labelling + close the surfaced→pulled loop on get_task (#87 )
bvandeusen
2026-07-30 11:03:57 -04:00
6ca215d2b6
fix(telemetry): record a pull on get_task, closing the surfaced→pulled loop
bvandeusen and Claude Opus 5
2026-07-30 10:35:23 -04:00
390846a3d5
fix(write-path): disclose cross-language prior art instead of hiding it
bvandeusen and Claude Opus 5
2026-07-30 10:31:56 -04:00
a36837c96a
Write-path semantic arm: query snippets by concept, not raw code (#86 )
bvandeusen
2026-07-30 10:21:19 -04:00
57781770c3
feat(write-path): query snippets by concept, not by raw code
bvandeusen and Claude Opus 5
2026-07-30 09:58:06 -04:00
0550bf4687
Write-path prior-art precision: own threshold + payload floor (#85 )
bvandeusen
2026-07-30 08:07:47 -04:00
1fb883b72f
fix(write-path): give the semantic arm its own threshold + a payload floor
bvandeusen and Claude Opus 5
2026-07-29 23:26:59 -04:00
05b64ccacb
docs(knowledge): name the guard for the verification filter's two dialects
bvandeusen and Claude Opus 5
2026-07-29 22:01:24 -04:00
327b8a99a4
ci(plugin): gate the path that ships straight to users, and fix one more line-oriented cap (#84 )
bvandeusen
2026-07-29 08:55:58 -04:00
b0a0bf8abd
fix(plugin): justify the one shellcheck finding (SC1007, false positive)
bvandeusen and Claude Opus 5
2026-07-28 22:43:30 -04:00
dd878bc498
ci(plugin): add shellcheck + jq, and the fail-open smoke test they unlock
bvandeusen and Claude Opus 5
2026-07-28 22:39:55 -04:00
1feef179d2
ci(plugin): drop with: from the plugin job's checkout
bvandeusen and Claude Opus 5
2026-07-28 21:00:14 -04:00
51e5c22818
ci(plugin): gate plugin/** — the path that shipped two live defects
bvandeusen and Claude Opus 5
2026-07-28 20:56:15 -04:00
f039a46dae
fix(plugin): bump to 0.1.19 so the hook fixes actually reach installs (#83 )
bvandeusen
2026-07-28 20:19:24 -04:00
21cb9ee537
fix(plugin): bump to 0.1.19 so the hook fixes actually reach installs
bvandeusen and Claude Opus 5
2026-07-28 20:19:06 -04:00
3284ac67dd
Drafter hardening (milestone #232 ) — plugin hook fix, usage signal, drift check, duplicate finder, un-merge (#82 )
bvandeusen
2026-07-28 20:10:42 -04:00
fe63f3985b
feat(snippets): un-merge — reverse one source out of a merged survivor
bvandeusen and Claude Opus 5
2026-07-28 18:42:29 -04:00
6db791965f
feat(snippets): near-duplicate finder — surface the sets worth merging
bvandeusen and Claude Opus 5
2026-07-28 18:32:40 -04:00
84c5c0dc81
fix(snippets): satisfy the parity guards the drift check tripped
bvandeusen and Claude Opus 5
2026-07-28 18:24:48 -04:00
35f3f09d12
feat(snippets): drift check — verify a snippet still matches its source
bvandeusen and Claude Opus 5
2026-07-28 18:20:33 -04:00
2b85443dd1
feat(snippets): usage signal — was a surfaced record ever actually pulled?
bvandeusen and Claude Opus 5
2026-07-28 18:09:17 -04:00
c569cdd0eb
fix(plugin): every hook's credential + URL encoding was broken
bvandeusen and Claude Opus 5
2026-07-28 18:00:11 -04:00
6153231f9c
fix(ci+docker): install from uv.lock — stop resolving dependencies at build time (#81 )
bvandeusen
2026-07-28 13:04:24 -04:00
1b81310847
fix(docker): build the image from uv.lock too
bvandeusen
2026-07-28 13:01:35 -04:00
a47e1b9c4e
fix(ci): regenerate uv.lock and enforce it with --locked
bvandeusen
2026-07-28 12:58:18 -04:00
8bab0c762b
fix(ci): use uv sync --frozen — --locked needs a lock this box can't regenerate
bvandeusen
2026-07-28 12:55:06 -04:00
ef7ebddadf
fix(ci): install from uv.lock so CI stops resolving dependencies itself
bvandeusen
2026-07-28 12:50:52 -04:00
d5d0b012b1
fix(deps): cap mcp below 2.0 — un-reds main (#80 )
bvandeusen
2026-07-28 10:18:23 -04:00
aa850ac1e1
fix(deps): cap mcp below 2.0 — it removed mcp.server.fastmcp
bvandeusen
2026-07-28 10:15:46 -04:00
ca94c332ee
Drafter hardening: reverse lookup by location + the write-path trigger (#79 )
bvandeusen
2026-07-28 10:12:48 -04:00
e0328f2b1c
feat(plugin): write-path trigger — offer prior art before code is rewritten
bvandeusen
2026-07-28 09:08:17 -04:00
083944f0fd
fix(snippets): backfill must also catch JSON null, not just SQL NULL
bvandeusen
2026-07-27 23:12:48 -04:00
dd1b5e5ddb
feat(snippets): reverse lookup — find snippets by repo/path/symbol
bvandeusen
2026-07-27 23:09:37 -04:00
0d396de215
feat(snippets): record merge provenance on the survivor
bvandeusen and Claude Opus 5
2026-07-27 15:23:41 -04:00
9fa474b3c4
fix(mcp): make get_note / get_task share-aware
bvandeusen and Claude Opus 5
2026-07-27 15:18:03 -04:00
8977bed28d
feat(inject): label the record kind on each auto-inject menu line
bvandeusen and Claude Opus 5
2026-07-27 15:18:03 -04:00
fc9c8119a2
test(snippets): fix the round-trip test's shared kwargs spread
bvandeusen and Claude Opus 5
2026-07-26 18:28:21 -04:00
cca40affe4
feat(snippets): add notes.data JSONB — the indexed mirror of snippet fields
bvandeusen and Claude Opus 5
2026-07-26 18:25:55 -04:00
a8f152b7d4
Merge pull request 'Drafter reuse-recall (both halves) + the multi-user ACL work it exposed' (#78 ) from dev into main
bvandeusen
2026-07-26 00:25:27 -04:00
4b5d9005fd
test(processes): retarget the update_process patch at get_note_for_user
bvandeusen and Claude Opus 5
2026-07-26 00:07:08 -04:00
3ffdbbc521
fix(acl): align MCP writes with the share model — editor edits, viewer doesn't
bvandeusen and Claude Opus 5
2026-07-26 00:04:48 -04:00
e9cd3435ad
test(acl): give search/inject fixtures real owner ids; fail soft on name lookup
bvandeusen and Claude Opus 5
2026-07-25 23:10:12 -04:00
ef1dbdfc86
feat(acl): unify the retrieval scopes; mark shared rows in Knowledge browse
bvandeusen and Claude Opus 5
2026-07-25 23:06:52 -04:00
8b069cc93f
fix(acl): make the visibility predicates pure builders; repair CI
bvandeusen and Claude Opus 5
2026-07-25 22:48:01 -04:00
04b58ce01e
feat(acl): shared records are search-only and always labelled as someone else's
bvandeusen and Claude Opus 5
2026-07-25 22:43:00 -04:00
b7d6fc7e5d
fix(acl): make shared records findable, not just openable (#2079 )
bvandeusen and Claude Opus 5
2026-07-25 19:19:18 -04:00
b33e2a79c6
fix(snippets): close the recall-surface gaps found reviewing the Drafter
bvandeusen and Claude Opus 5
2026-07-25 19:00:05 -04:00
7a81b7333e
feat(scribe): snippet merge UI — multi-select merge, repeatable locations
bvandeusen and Claude Opus 4.8
2026-07-25 17:22:01 -04:00
85625de394
feat(scribe): merge_snippets — unify found one-off snippets into one canonical
bvandeusen and Claude Opus 4.8
2026-07-25 17:11:47 -04:00
eb400a521b
feat(scribe): multi-location snippet body convention (backward compatible)
bvandeusen and Claude Opus 4.8
2026-07-25 17:07:09 -04:00
d257c0fd67
feat(scribe): snippet management UI + REST routes; embed snippets on create
bvandeusen and Claude Opus 4.8
2026-07-25 14:16:02 -04:00
0ea3bff797
feat(scribe): snippet recording nudge — reusing-code skill + MCP/SessionStart guidance
bvandeusen and Claude Opus 4.8
2026-07-25 14:00:07 -04:00
1942913366
feat(scribe): add snippet recall — note_type='snippet' service + MCP tools
bvandeusen and Claude Opus 4.8
2026-07-25 11:00:33 -04:00
71d65442d3
Merge pull request 'Narrow Scribe to a work system-of-record — remove calendar + person/place/list surfaces' (#77 ) from dev into main
bvandeusen
2026-07-19 18:24:40 -04:00
d2f08d6113
docs(scribe): rewrite features/api-reference/README to the current product
bvandeusen and Claude Opus 4.8
2026-07-19 18:23:28 -04:00
ab9b5b647c
docs(scribe): true up plugin + MCP docs after calendar/entity removal
bvandeusen and Claude Opus 4.8
2026-07-19 16:14:46 -04:00
12f71fabdf
refactor(scribe): remove calendar + entity surfaces from web UI (frontend)
bvandeusen and Claude Opus 4.8
2026-07-19 16:10:24 -04:00
dd60244429
test(trash): update model-count assertions after Event removal
bvandeusen and Claude Opus 4.8
2026-07-19 13:32:30 -04:00
b49efdcb11
refactor(scribe): retire calendar/events + person/place/list entities (backend)
bvandeusen and Claude Opus 4.8
2026-07-19 13:29:14 -04:00
05f0cc2c4b
Merge pull request 'fix(plugin): keep always-on rules alive across compaction (0.1.11)' (#76 ) from dev into main
bvandeusen
2026-06-30 23:01:28 -04:00
f6629d4bcf
fix(plugin): keep always-on rules alive across compaction (0.1.10 → 0.1.11)
bvandeusen and Claude Opus 4.8
2026-06-30 12:41:45 -04:00
03772ff424
Merge pull request 'fix(plugin): bump to 0.1.10 to ship the auto-inject hook' (#75 ) from dev into main
bvandeusen
2026-06-22 22:08:25 -04:00
2bc054d7ef
fix(plugin): bump version 0.1.9 → 0.1.10 to ship auto-inject hook
bvandeusen and Claude Opus 4.8
2026-06-22 22:07:19 -04:00
058e8794af
Merge pull request 'KB injection tuning: pgvector substrate + retrieval telemetry + title-first auto-inject' (#74 ) from dev into main
bvandeusen
2026-06-22 20:56:15 -04:00
eec241d3c0
feat(plugin): sharpen the recall-before-acting reflex in static context
bvandeusen and Claude Opus 4.8
2026-06-22 20:39:54 -04:00
8126db3203
feat(plugin): knowledge auto-inject (Path A) — title-first per-turn awareness
bvandeusen and Claude Opus 4.8
2026-06-22 20:31:07 -04:00
807f478cac
feat(search): retrieval telemetry — log every semantic retrieval
bvandeusen and Claude Opus 4.8
2026-06-22 20:10:15 -04:00
513019786e
feat(search): pgvector substrate — vector(384) + HNSW for semantic search
bvandeusen and Claude Opus 4.8
2026-06-22 20:10:15 -04:00
f8c58a7f0f
Merge pull request 'feat(mcp): S5 — issue-kind guidance across all instruction surfaces' (#73 ) from dev into main
bvandeusen
2026-06-14 23:32:04 -04:00
5fbee18a94
feat(mcp): S5 — issue-kind guidance across all instruction surfaces
bvandeusen and Claude Opus 4.8
2026-06-14 23:22:17 -04:00
6cdac307af
Merge pull request 'DB maintenance + health observability + Postgres integration CI lane' (#72 ) from dev into main
bvandeusen
2026-06-14 20:54:34 -04:00
4f31890bde
test(ci): dispose engine between integration tests (per-loop pool)
bvandeusen and Claude Opus 4.8
2026-06-14 19:24:09 -04:00
2ad2e943f3
test(ci): add Postgres integration lane + real run_maintenance guard
bvandeusen and Claude Opus 4.8
2026-06-14 19:19:18 -04:00
e6c89f6b88
fix(db): await AsyncConnection.execution_options in run_maintenance
bvandeusen and Claude Opus 4.8
2026-06-14 18:31:30 -04:00
96079d5b77
feat(db): table-health readout — per-table bloat metrics in admin card
bvandeusen and Claude Opus 4.8
2026-06-14 17:53:24 -04:00