Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
226 commits
Select commit Hold shift + click to select a range
6a056ec
docs: say what the WAL fix bounds — the log's resting size, never the…
colbymchenry Aug 26, 2026
a72f22a
feat(ui): scaffold the codegraph ui viewer as a Svelte 5 + Vite works…
colbymchenry Aug 26, 2026
0196c2e
feat(ui): serve the viewer from `codegraph ui`, loopback-only and rea…
colbymchenry Aug 26, 2026
bcfe52e
fix(ui): launch a CODEGRAPH_BROWSER override through cmd on Windows
colbymchenry Aug 26, 2026
41a90c6
fix(ui): keep the viewer's printed copy readable on a legacy Windows …
colbymchenry Aug 26, 2026
951ba36
feat(ui): read-only JSON API over the index for the viewer (CG-42)
colbymchenry Aug 27, 2026
e7288ff
test(ui): pin CRLF source slices to the index line numbering (CG-42)
colbymchenry Aug 27, 2026
5cecaab
feat(ui): the Symbol view — callers, gutter-ported source, line-ancho…
colbymchenry Aug 27, 2026
e9596af
fix(ui): keep a callee row hidden until the rail has been measured (C…
colbymchenry Aug 27, 2026
87afc50
feat(ui): the search palette, entry points and a trail that survives …
colbymchenry Aug 27, 2026
2ad836d
feat(ui): highlight source server-side with a near-monochrome Shiki t…
colbymchenry Aug 27, 2026
58dad12
feat(ui): the File view — outline in source order between two depende…
colbymchenry Aug 27, 2026
a1dfa72
docs: the codegraph ui section, changelog entry and telemetry posture…
colbymchenry Aug 27, 2026
6d0f60f
feat(ui): the Map — the repository at module granularity, layered fro…
colbymchenry Aug 27, 2026
62e0a89
feat(ui): the Flow strip — how one symbol reaches another, one card p…
colbymchenry Aug 27, 2026
bd99c5e
feat(ui): the whole file — full source with gutter ports and intra-fi…
colbymchenry Aug 27, 2026
ecd6e1c
feat(ui): live refresh and drift banners — the viewer keeps up with t…
colbymchenry Aug 27, 2026
dc7f1e5
feat(ui): where the graph stops — the Flow strip's dynamic-dispatch e…
colbymchenry Aug 27, 2026
94f4e28
feat(ui): entry points — routes, executable files and tests as flow s…
colbymchenry Aug 27, 2026
8ac0138
feat(ui): copy the flow or the map as an image, for a PR comment or a…
colbymchenry Aug 27, 2026
ad91c8f
feat(ui): classify code from the engine's own tree-sitter parse, reti…
colbymchenry Aug 27, 2026
c15413f
feat(ui): the viewer's screens as @colbymchenry/codegraph-ui, behind …
colbymchenry Aug 27, 2026
2a0c6dc
feat(ui): the type hierarchy — what a type is built on, and what disp…
colbymchenry Aug 27, 2026
56dfdb0
feat(ui): dead code and islands — what nothing reaches, and everythin…
colbymchenry Aug 27, 2026
55a3305
docs: say what findDeadCode returns, and where the list worth acting …
colbymchenry Aug 27, 2026
47576b3
feat(ui): saved trails — a walk you named, kept, and still true after…
colbymchenry Aug 27, 2026
ac95805
Merge codegraph ui — the browser viewer (CG-39, CG-48, CG-56)
colbymchenry Aug 27, 2026
70fd5fe
feat(expo-router): add Expo Router support for screens and navigates
colbymchenry Aug 28, 2026
f0eafe3
feat(expo-router): add Expo Router support for Screens and navigations
colbymchenry Aug 28, 2026
873f133
feat(expo-router): add Expo Router support for Screens and navigation…
colbymchenry Aug 28, 2026
e288d76
feat(expo-router): add Expo Router support for Screens and navigation…
colbymchenry Aug 28, 2026
5e06204
feat(expo-router): add Expo Router support for Screens and navigation…
colbymchenry Aug 28, 2026
950686d
feat(ui): Steps for servers — route roots, server effects, request/de…
colbymchenry Aug 28, 2026
b1f40c5
feat(steps): cross-tier channels — a client's fetch onto its own rout…
colbymchenry Aug 28, 2026
9c6bc23
feat(screens): Next.js as a Screens app — pages, route handlers, link…
colbymchenry Aug 28, 2026
bc45e90
feat(routes): FastAPI prefixes, ASP.NET endpoint groups, wrapped serv…
colbymchenry Aug 28, 2026
7f46126
docs(playbook): first P7 agent A/B numbers (proshop, Sonnet, 2 runs/a…
colbymchenry Aug 28, 2026
dff4e50
chore(scripts): try-repo.sh — clone, index with the current build, an…
colbymchenry Aug 29, 2026
435a7fd
feat(ui): double-click a step to start the picture there; double-clic…
colbymchenry Aug 29, 2026
77dc0ad
fix(ui): a double-click on a box no longer zooms the canvas
colbymchenry Aug 29, 2026
02430cc
feat(steps): a reply that sets no status is a 200; inline Express han…
colbymchenry Aug 29, 2026
46e3e7a
feat(steps): one reply box per outcome
colbymchenry Aug 29, 2026
783f395
feat(steps): rows read in the code's order; a hop written inside anot…
colbymchenry Aug 29, 2026
34ef71a
docs(plan): Steps in the code's order — a rail reading of a handler (…
colbymchenry Aug 29, 2026
fc149b7
docs(plan): point the servers plan at the in-order plan
colbymchenry Aug 29, 2026
482690b
feat(steps): guards say which decision they belong to, and how an arm…
colbymchenry Aug 29, 2026
b02e192
feat(steps): the same walk, read in the code's order
colbymchenry Aug 29, 2026
9acab00
feat(steps): the rail — a handler read top to bottom, forks and all
colbymchenry Aug 29, 2026
7b6704a
feat(steps): a run of calls that happens once per item says so
colbymchenry Aug 29, 2026
6760303
fix(steps): three things the real repos caught
colbymchenry Aug 29, 2026
22f92a8
docs(steps): the in-order reading, and what validating it found
colbymchenry Aug 29, 2026
7568650
feat(steps): an early exit reads as a guard clause, not as a branch
colbymchenry Aug 29, 2026
209a07e
feat(steps): the order reading is the canvas, not a rail
colbymchenry Aug 29, 2026
6f4887d
feat(steps): draw all arms of conditional navigations as separate edges
colbymchenry Aug 31, 2026
882ea14
feat(steps): lay out screen pictures by region and render region capt…
colbymchenry Aug 31, 2026
3298db1
feat(steps): render fork decisions as points with per-arm edges and c…
colbymchenry Aug 31, 2026
c853e93
chore: ignore stray git bundles
colbymchenry Aug 31, 2026
66325ed
Merge pull request #1655 from colbymchenry/feature/steps-servers
colbymchenry Aug 31, 2026
a7ab557
fix(ui): the Steps fit typechecks, and reads after the model it reads…
colbymchenry Aug 31, 2026
b9ca4b7
docs(changelog): highlights for the unreleased section, and a shape a…
colbymchenry Aug 31, 2026
7ec9ef1
feat(ui): implement Map grouping, dependents, and weight bars; symbol…
colbymchenry Sep 1, 2026
72869f2
docs: make AGENTS.md the canonical agent guide for Codex/Astra (#1742)
colbymchenry Sep 8, 2026
df435d5
fix(extraction): index TS/JS generator function declarations and expr…
colbymchenry Sep 8, 2026
7440d2c
fix(mcp): fail fast on a second direct-mode writer per project (#1740…
colbymchenry Sep 8, 2026
2c251e2
fix(resolution): a definition its language makes file-local is not a …
colbymchenry Sep 8, 2026
bffd50e
fix(resolution): a binding in a module that exports nothing is not a …
colbymchenry Sep 8, 2026
bb1d309
fix(extraction): never fabricate an edge from a call-result receiver …
colbymchenry Sep 8, 2026
edcd36e
fix(resolution): resolve module-qualified calls colliding with builti…
colbymchenry Sep 8, 2026
a6f52d7
fix(resolution): keep the existence probe inside the project root (#1…
maxmilian Sep 8, 2026
bb204f8
fix(extraction): diagnose git→FS scan fallback and lock nested .gitig…
colbymchenry Sep 8, 2026
9b8bb4a
fix(db): fail closed when WAL valve cannot checkpoint past caps (#153…
colbymchenry Sep 8, 2026
9a32487
fix(watcher): align ignore scope with git --exclude-standard (#1728) …
colbymchenry Sep 8, 2026
8df9eca
fix(extraction): blank C designated-initializer macro args before par…
colbymchenry Sep 8, 2026
2f1a99d
fix(extraction): index C++ pure virtual methods as nodes (#1727) (#1758)
colbymchenry Sep 8, 2026
cd4e65b
fix(resolution): a receiver-less JS/TS call never binds to a method (…
colbymchenry Sep 8, 2026
3d9352c
test(resolution): a builtin method call must not land on another file…
bompus Sep 6, 2026
2521b49
fix(resolution): fuzzy reachability rejects a unique guess, never man…
Sep 6, 2026
7c758aa
fix(resolution): C and C++ nesting is never a scope
Sep 7, 2026
097cd19
fix(mcp): keep codegraph_explore loaded in Claude Code and Copilot CL…
bompus Sep 4, 2026
d983f73
fix(explore): name symbols elided by a file trim (#1711) (#1765)
colbymchenry Sep 8, 2026
90dcdbc
Merge pull request #1718 from danusha2345/fix/1708-fuzzy-reachability…
colbymchenry Sep 8, 2026
a7ea5ba
fix(extraction): a TS/JS call through a host-global chain emits no re…
colbymchenry Sep 8, 2026
28033f6
fix(resolution): an import naming the emitted .js extension resolves …
colbymchenry Sep 8, 2026
a983a1b
fix(installer): write OpenCode 2 native MCP shape with codemode:false…
colbymchenry Sep 8, 2026
b715eb6
Merge pull request #1697 from bompus/fix/claude-always-load
colbymchenry Sep 8, 2026
4105249
fix(prompt-hook): cap injection under Claude Code's 10k inline limit …
colbymchenry Sep 8, 2026
3adf067
fix(resolution): read a quoted Python annotation as a receiver type (…
colbymchenry Sep 8, 2026
43271f3
fix(extraction): index CommonJS export assignments as functions (#167…
colbymchenry Sep 8, 2026
85550eb
fix: report callers/callees/query truncation (#1674) (#1772)
colbymchenry Sep 8, 2026
8733c28
fix(extraction): index const-bound functions inside a body as symbols…
colbymchenry Sep 8, 2026
195888d
fix(resolution): reject Python module collection method guesses (#165…
colbymchenry Sep 8, 2026
8c04734
fix(lua): index assignment-style function definitions (#1650) (#1778)
colbymchenry Sep 8, 2026
ee83636
fix(extraction): index TypeScript interface members (#1638) (#1780)
colbymchenry Sep 8, 2026
e720f6c
fix(extraction): preload the Objective-C grammar for C-family headers…
colbymchenry Sep 8, 2026
2f8cce5
fix(installer): honor CLAUDE_CONFIG_DIR and CODEX_HOME (#1627) (#1783)
colbymchenry Sep 8, 2026
7be699c
fix(resolution): resolve Python aliased module imports (#1626) (#1785)
colbymchenry Sep 8, 2026
b8d46d1
fix(mcp): land #1624 opt-in explore dedup (#1788)
colbymchenry Sep 8, 2026
72c1ff1
fix(resolution): restore orphan-sweep parity after interruption (#157…
colbymchenry Sep 8, 2026
de5adba
fix(resolution): leave built-in Map calls unresolved (#1566) (#1790)
colbymchenry Sep 8, 2026
cece072
fix(resolution): resolve this.<field>.<method>() on the fields declar…
colbymchenry Sep 8, 2026
a961491
fix(extraction): keep git-aware scans working before Git 2.36 (#1793)
colbymchenry Sep 8, 2026
040ba38
fix(php): resolve static calls through import aliases (#1545) (#1795)
colbymchenry Sep 8, 2026
374b3b4
fix(resolution): constrain inheritance/import reference target kinds …
colbymchenry Sep 8, 2026
4fd816b
fix(cli): index <path> never rebuilds an ancestor instead (#1524) (#1…
colbymchenry Sep 8, 2026
7b33937
fix(extraction): warn when parse errors leave no symbols (#1522) (#1799)
colbymchenry Sep 8, 2026
71d049c
fix(rust): index unit structs — bodiless is a definition, not a forwa…
colbymchenry Sep 8, 2026
8c9c476
fix(cli): group callers/callees/impact by definition (#1512) (#1801)
colbymchenry Sep 8, 2026
9181dd1
fix(extraction): land upstream declaration initializer walks (#1511) …
colbymchenry Sep 8, 2026
64bd45c
fix(cli): affected shares the tool's one notion of a test file (#1507…
colbymchenry Sep 8, 2026
1f4379d
fix(extraction): skip raw strings in C++ macro blankers (#1505) (#1804)
colbymchenry Sep 8, 2026
e79d5df
fix(mcp): make explore guidance advisory (#1504) (#1805)
colbymchenry Sep 8, 2026
799f8b2
fix(cli): report unsupported-language projects instead of finishing s…
colbymchenry Sep 8, 2026
748311f
fix(kotlin): read a function's signature positionally (#1495) (#1807)
colbymchenry Sep 9, 2026
d3f9ef9
fix(resolution): follow alias bindings to the function they name (#14…
colbymchenry Sep 9, 2026
aed046e
fix: stop silent fuzzy symbol substitution (#1473) (#1809)
colbymchenry Sep 9, 2026
0fd259b
fix(db): graceful FTS5 fallback when Node.js build lacks FTS5 (#1532)…
colbymchenry Sep 9, 2026
4453310
fix(spring): index multi-path mappings and same-file constant paths (…
colbymchenry Sep 9, 2026
3193800
fix(prompt-hook): skip unsafe roots during subproject down-scan (#145…
colbymchenry Sep 9, 2026
7a23648
Merge remote-tracking branch 'origin/main'
colbymchenry Sep 9, 2026
3ed73bc
feat(ui): the Steps tab lays a screen out in clusters and says a far …
colbymchenry Sep 9, 2026
f84aa1e
docs: record regression audit and validation
colbymchenry Sep 14, 2026
cabe319
test: cover audited call and extraction regressions
colbymchenry Sep 14, 2026
6557bc8
test: cover audited calls and selector guards
colbymchenry Sep 14, 2026
929c405
test: cover audited calls and selector guards
colbymchenry Sep 14, 2026
5f9dcfd
test: cover audited calls and selector guards
colbymchenry Sep 14, 2026
bdc2148
test: cover audited calls and selector guards
colbymchenry Sep 14, 2026
9606ce6
test: cover audited calls and selector guards
colbymchenry Sep 14, 2026
b909ef2
fix: retain qualified call sites and restore language-specific getters
colbymchenry Sep 14, 2026
889c3a9
fix: resolve typed calls and bound store actions
colbymchenry Sep 14, 2026
8dcc52d
fix: retain qualified call sites in the native kernel
colbymchenry Sep 14, 2026
c7d2892
docs: explain restored call and Steps coverage
colbymchenry Sep 14, 2026
4db8125
Revert the chained-receiver fixes: upstream's is more precise
Dshuishui Sep 14, 2026
74a8ec6
Merge upstream main into the fork
Dshuishui Sep 14, 2026
86a4722
Narrow the Effect-TS candidate test, and release as 1.6.0-fmagent.5
Dshuishui Sep 14, 2026
aa8d4ae
fix(dart): index a Dart 3.3 extension type as the type it is
Dshuishui Sep 14, 2026
69fa6c1
Carry the generator half of the wrapper patch that the merge dropped
Dshuishui Sep 14, 2026
cf5652c
Say how far behind the previous base actually was
Dshuishui Sep 14, 2026
f1ea898
Merge remote-tracking branch 'origin/fix/regression-audit'
colbymchenry Sep 14, 2026
76b7503
Carry the Dart fix as the pull request upstream will merge, not a var…
Dshuishui Sep 15, 2026
8da90ec
Let a build be tried before the branch it is on merges
Dshuishui Sep 15, 2026
4297b8e
fix: restore call graph relationships and Steps effects (#1862)
colbymchenry Sep 15, 2026
58c07e8
fix(db): make edge rebinding atomic (#1833) (#1849)
cbeaulieu-gt Sep 15, 2026
1e46123
fix(daemon): preserve live legacy locks (#1834) (#1850)
cbeaulieu-gt Sep 15, 2026
1f0cbbd
test(daemon): retain successful PID-reuse takeover coverage (#1876)
colbymchenry Sep 15, 2026
4871114
fix(status): preserve pending changes across commits and restores (#1…
colbymchenry Sep 15, 2026
51116a2
fix(telemetry): honor opt-out across running processes (#1880)
colbymchenry Sep 16, 2026
8f80819
fix(rust): keep self method calls on the correct owner (#1882)
colbymchenry Sep 16, 2026
d0996a2
fix(resolution): resolve awaited TypeScript receivers safely (#1885)
colbymchenry Sep 16, 2026
464e8cf
Merge origin/main and reconcile regression-audit history
colbymchenry Sep 16, 2026
ba3c21e
docs: remove browser viewer references from README
colbymchenry Sep 16, 2026
31391b9
fix(node): accept a line-numbered file reference in file-view (#1831)…
maxmilian Sep 27, 2026
ec44e77
fix(explore): report extension-less paths the index doesn't hold (#18…
maxmilian Sep 27, 2026
94ae04d
fix(explore): detect runtime import templates and concatenations (#19…
colbymchenry Sep 27, 2026
87924a9
fix(mcp): match complete paths in stale banners (#1968) (#1997)
colbymchenry Sep 27, 2026
4ebd0d6
fix(extraction): preserve Java packages named build (#1642) (#1998)
colbymchenry Sep 27, 2026
c3faef2
fix(spring): gate DI convention patterns to Java/Kotlin non-inheritan…
htarnacki Sep 27, 2026
a9c8808
fix(watcher): keep a full scan owed after a failed sync (#1964) (#1977)
danusha2345 Sep 27, 2026
9e4b8e7
fix(extraction): tolerate whitespace in MyBatis close tags and fix qu…
fengshao1227 Sep 27, 2026
cba44c9
fix(prompt-hook): skip Claude Code task notifications (#1832) (#1884)
danusha2345 Sep 27, 2026
6f4ec88
fix(dart): index a Dart 3 extension type as the type it is (#1784) (#…
Dshuishui Sep 27, 2026
5aa7193
test(resolution): close graphs and connections, and always remove the…
bompus Sep 27, 2026
53fe53d
fix(resolution): a receiver-less Go call never binds to a method (#18…
colbymchenry Sep 27, 2026
98718cf
fix(installer): keep --refresh off the configs of unconfigured agents…
L4XB Sep 27, 2026
52df4d2
fix(graph): don't lose dependents within the depth limit to edge orde…
colbymchenry Sep 27, 2026
6c414cc
fix(ui): link every route to its handler, however many files they spa…
danusha2345 Sep 27, 2026
d1df89e
fix(ui): one trail length for the bar, the store and /api/flow (#1976…
colbymchenry Sep 27, 2026
9fb2c25
fix(extraction): name a function bound through a curried wrapper (#17…
colbymchenry Sep 27, 2026
8c38b80
fix(scala): bump the bundled grammar to tree-sitter-scala v0.26.2 (#1…
colbymchenry Sep 27, 2026
bd993b1
fix(extraction): index Python body docstrings across backends (#1905)…
colbymchenry Sep 27, 2026
5001737
fix(explore): retrieve exact Han filenames (#1372) (#2005)
colbymchenry Sep 27, 2026
276df3a
fix(resolution): reject oversized targets before decoding (#1553) (#2…
colbymchenry Sep 27, 2026
52b854d
fix(dead-code): propagate external ancestor uncertainty to descendant…
colbymchenry Sep 27, 2026
c505d0d
fix(liquid): extract statements inside liquid blocks (#1906) (#2008)
colbymchenry Sep 27, 2026
f6e557c
fix(extraction): preserve complete DFM component ranges (#1350) (#2010)
colbymchenry Sep 27, 2026
9a96b52
fix(react-router): bound route scans to their declarations (#1348) (#…
colbymchenry Sep 27, 2026
4fd3e6d
fix(prompt-hook): require corroboration for ambiguous words (#1654) (…
colbymchenry Sep 27, 2026
3a8ec27
fix(installer): preserve Antigravity command after fnm shell exit (#1…
colbymchenry Sep 27, 2026
7b219a7
fix(sync): surface lock contention instead of reporting success (#136…
colbymchenry Sep 27, 2026
ce97ebc
fix(resolution): preserve callback registration scope (#1355) (#2015)
colbymchenry Sep 27, 2026
f4a9af2
fix(graph): enqueue path-search targets once (#1359) (#2016)
colbymchenry Sep 27, 2026
9b5c8e4
fix(extraction): recover single-argument C/C++ function macros (#1373…
colbymchenry Sep 27, 2026
87e79c6
fix(dead-code): exclude annotated Tauri commands (#1543) (#2019)
colbymchenry Sep 27, 2026
7678e6e
fix(cpp): recover MSVC COM interface declarations (#1519) (#2018)
colbymchenry Sep 27, 2026
e5fb5e3
fix(mcp): deduplicate equivalent project paths (#1057) (#2020)
colbymchenry Sep 27, 2026
0f44fdf
fix(tests): build missing or stale test prerequisites (#1879) (#2021)
colbymchenry Sep 27, 2026
73f7f07
fix(mcp): enable query workers in direct mode (#1465) (#2022)
colbymchenry Sep 27, 2026
afbaf6f
fix(mcp): reap writer-lock test daemon and verify cleanup (#1782) (#2…
colbymchenry Sep 27, 2026
6184610
fix(sync): report pending reference recovery (#1360) (#2024)
colbymchenry Sep 27, 2026
c897daf
fix(watcher): auto-sync symlinked directory changes across platforms …
colbymchenry Sep 27, 2026
9ad6ee9
fix(explore): explain empty results with bounded lexical diagnostics …
colbymchenry Sep 27, 2026
6f31afd
fix(mcp): resolve the pool's project root only when the pool serves t…
colbymchenry Sep 27, 2026
b65e05b
fix(resolution): require receiver evidence for built-in method calls …
colbymchenry Sep 27, 2026
e27d6da
fix(scala): resolve companion inheritance to type definitions (#1824)…
colbymchenry Sep 27, 2026
86708bf
fix(extraction): preserve symbols with colliding same-line IDs (#1349…
colbymchenry Sep 27, 2026
17d09bf
fix(resolution): resolve object-literal function references safely (#…
colbymchenry Sep 27, 2026
9649ce1
fix(resolution): reject unrelated cross-language matches (#1986) (#2032)
colbymchenry Sep 27, 2026
2a2f71e
fix(sync): refresh synthesized edges after incremental changes (#1988…
colbymchenry Sep 27, 2026
5eaa6fe
fix(extraction): preserve receivers for method values (#1820) (#2034)
colbymchenry Sep 27, 2026
fa25883
fix(cpp): resolve local constructors and macro visibility (#1839) (#2…
colbymchenry Sep 27, 2026
585f370
fix(mcp): keep explicit projects synchronized (#1835) (#2036)
colbymchenry Sep 27, 2026
f0b4b26
docs(changelog): add entries for the September 27 issue fixes (#2037)
colbymchenry Sep 27, 2026
71985f2
fix(db): guard synthesis metadata JSON and keep calls ahead of import…
colbymchenry Sep 27, 2026
68085f3
fix(mcp): cap watchdog and startup-handshake timeouts at the largest …
colbymchenry Sep 27, 2026
9be3f1a
fix(resolution): keep unknown Python import members unresolved (#2040)
colbymchenry Sep 27, 2026
794d4a2
fix(mcp): retire failed-startup query workers (#1357) (#2041)
colbymchenry Sep 27, 2026
8bde4a1
fix(mcp): stop pending connections and serve read-only fallbacks (#19…
colbymchenry Sep 27, 2026
2268a09
fix(sync): recover index freshness after lock contention (#1959) (#2043)
colbymchenry Sep 27, 2026
0a73219
docs(changelog): add entries for the final wave of September 27 fixes…
colbymchenry Sep 27, 2026
594bad7
test(writer-lock): hold the lock with a live child, not a pid assumed…
colbymchenry Sep 27, 2026
7af2409
test(vitest): run pool workers with the WASM runtime flags (#1779) (#…
colbymchenry Sep 27, 2026
1008b34
fix(bundle): ship a Windows Git Bash launcher (#1278) (#2047)
colbymchenry Sep 27, 2026
d3671fa
fix(installer): guide Windows shell users to PowerShell (#1294) (#2048)
colbymchenry Sep 27, 2026
346d3e3
fix(mcp): terminate wedged local proxies with watchdog (#943) (#2049)
colbymchenry Sep 27, 2026
1b6be1c
fix(watcher): ignore Windows access-only notifications (#1451) (#2050)
colbymchenry Sep 27, 2026
1926ec3
fix(index): coordinate rebuilds with running MCP daemons (#1325) (#2051)
colbymchenry Sep 27, 2026
1d62a67
docs(changelog): add entries for the Windows fixes (#2052)
colbymchenry Sep 27, 2026
0a9f3de
fix: make the full test suite pass on Windows (#2053)
colbymchenry Sep 27, 2026
1cbac0a
docs(agents): update the Windows test baseline after #2053 (#2054)
colbymchenry Sep 27, 2026
4960720
fix(resolution): bind implements to the interface of a value+interfac…
colbymchenry Sep 27, 2026
66aebd1
fix(explore): three retrieval regressions found against v1.6.0 (#2057)
colbymchenry Sep 27, 2026
e63fe2e
test(wal-heal): await the heal open() started instead of a wall clock…
colbymchenry Sep 27, 2026
7fd4c4e
Merge upstream main into the fork
Dshuishui Sep 28, 2026
37db20d
Let upstream's binding name a wrapped function, and name only what no…
Dshuishui Sep 28, 2026
ba305f4
Resolve Effect service members by their wrapper string, and drop the …
Dshuishui Sep 28, 2026
597a36f
Drop the Dart patch: upstream merged it as #1865
Dshuishui Sep 28, 2026
94d525c
Re-pin to upstream e63fe2e, and release as 1.6.0-fmagent.6
Dshuishui Sep 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
53 changes: 47 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,18 @@ name: Release
# distributes only via GitHub Releases and never pushes back to a protected
# branch, so no RELEASE_PAT / NPM_TOKEN / OIDC secret is needed.
on:
workflow_dispatch: {}
workflow_dispatch:
inputs:
prerelease:
description: >-
Cut this as a prerelease. GitHub's "latest release" is the most recent
NON-prerelease, and both install.sh and `codegraph upgrade` resolve
through it — so a prerelease reaches only whoever is told its exact
version, and nobody is upgraded into it. Use it to put a build in a
reviewer's hands before the branch merges; promote afterwards with
`gh release edit <tag> --prerelease=false --latest`, no rebuild.
type: boolean
default: false

permissions:
contents: write # create the GitHub Release + tag
Expand All @@ -30,8 +41,11 @@ jobs:
# needs its platform C toolchain (the GitHub runner images ship one, plus
# rustup; build-kernel.sh adds each cross target itself). Unchanged from upstream.
kernel:
# Only cut releases from main — guards against dispatching from a stray branch.
if: github.ref == 'refs/heads/main'
# A RELEASE may only be cut from main — that is what guards against a stray
# branch becoming everyone's next upgrade. A PRERELEASE is exempt: it is not
# anyone's upgrade target, and being able to build one from the branch under
# review is the point — main stays untouched while the build is tried.
if: github.ref == 'refs/heads/main' || inputs.prerelease
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -61,7 +75,8 @@ jobs:
if-no-files-found: error

release:
if: github.ref == 'refs/heads/main'
# Same rule as the kernel job above.
if: github.ref == 'refs/heads/main' || inputs.prerelease
runs-on: ubuntu-latest
needs: kernel
steps:
Expand Down Expand Up @@ -116,8 +131,33 @@ jobs:
cat release/SHA256SUMS

- name: Release notes
# The base is NOT named here. It moves every sync, a literal goes stale
# silently, and one did: every release from v1.6.0 on said "v1.5.0".
# FORK.md carries the pinned base, and it is read from this same commit.
run: |
printf 'FM-Agent maintenance fork of codegraph (base: upstream v1.5.0).\n\nSelf-contained per-OS bundles (mac/linux/windows, arm64/x64) carrying the native Rust extraction kernel.\nSee FORK.md for the pinned base and the fork policy.\n' > notes.md
{
echo 'FM-Agent maintenance fork of [codegraph](https://github.com/colbymchenry/codegraph).'
echo
echo 'Self-contained per-OS bundles (mac/linux/windows, arm64/x64) carrying the'
echo 'native Rust extraction kernel. FORK.md at this tag records the pinned'
echo 'upstream base and every patch carried on top of it.'
} > notes.md
if [ "${{ inputs.prerelease }}" = "true" ]; then
{
echo
echo '## Prerelease'
echo
echo 'Not an upgrade target: `install.sh` and `codegraph upgrade` resolve through'
echo "GitHub's latest release, which skips prereleases, so nothing moves onto this"
echo 'build on its own. Install it by exact version:'
echo
echo '```'
echo "CODEGRAPH_VERSION=v${{ steps.ver.outputs.version }} bash <(curl -fsSL https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/install.sh)"
echo '```'
echo
echo "Built from \`${{ github.ref_name }}\` at \`${{ github.sha }}\`."
} >> notes.md
fi
cat notes.md

- name: Create GitHub Release
Expand All @@ -133,5 +173,6 @@ jobs:
gh release upload "$TAG" release/codegraph-* release/SHA256SUMS --clobber
else
gh release create "$TAG" release/codegraph-* release/SHA256SUMS \
--target "$GITHUB_SHA" --title "$TAG" --notes-file notes.md
--target "$GITHUB_SHA" --title "$TAG" --notes-file notes.md \
${{ inputs.prerelease && '--prerelease' || '' }}
fi
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ node_modules/
# Build output
dist/

# svelte-package's scratch dir (ui/ library build)
.svelte-kit/

.cmem

# IDE
Expand Down Expand Up @@ -79,3 +82,8 @@ target-linux/
.kommandr/kommandr.db
.kommandr/kommandr.db-wal
.kommandr/kommandr.db-shm

# Stray git bundles from the Windows VM transfer (a lost `:` in an scp target
# once committed three of these, 7.9 MB, into a feature branch).
*.bundle
*.gitbundle
Loading