Earlier quoted context omitted.
This is a really interesting direction, you're essentially talking about data flow or taint analysis, where you track how a value propagates through copies and transformations rather than just following call edges. Honestly pure static analysis gets you partway there but it hits real limits once you run into dynamic dispatch, runtime branching, or serialization boundaries where data gets written somewhere and read ba…
https://en.wikipedia.org/wiki/Taint_checking I'm sorry for distracting from your engaging and thoughtful reply but I can't help but giggle at the name of this concept.
Sem: New primitive for code understanding – not LSPs, but entities on top of Git
51–60 of 67 posts
Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git
#52This looks really neat, but I see its diff output as complimentary to git and wouldn’t want to replace git diff. Is there a way to just install the CLI and MCP server but not override git diff?
It doesn't override git diff at all, sem is its own standalone CLI. git diff continues to work exactly as before. You do sem setup only when you want to change your default git diff behavior, other wise after installing sem you can use it straight away using sem commands.
Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git
#53This looks really neat, but I see its diff output as complimentary to git and wouldn’t want to replace git diff. Is there a way to just install the CLI and MCP server but not override git diff?
It doesn't override git diff at all, sem is its own standalone CLI. git diff continues to work exactly as before. You do sem setup only when you want to change your default git diff behavior, other wise after installing sem you can use it straight away using sem commands.
Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git
#54Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git
#55Is this for checking what Claude Code just did to your repo?
It can do that, but that's a small slice of what it does. sem parses your codebase into entities (functions, classes, methods) and builds a dependency graph across files. So instead of line level analysis the whole granularity of seeing changes and tracking thing shifts to entities. It helps in attention mapping of your agent and lets you track the changes faster. LSPs have been doing it for quite long but using tree…
2. What would it take to add a new language? I'm interested in using this with Julia.
Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git
#56The "Try it. 10 seconds." section at the bottom of the page hijacks an existing tool (git diff) and installs a pre-commit hook. But there are no instructions for how to reverse those actions if you don't like the tool. Feels a little user-hostile to me.
I am sorry, should have put up a warning there, but You can do sem unsetup, if you go to the github, you will understand more about the way to reverse it.
Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git
#57Another potential use case: This may help jujutsu auto split a large revision into small orthogonal revs. Sometimes agent makes a monolithic commit and it's a lot of work to manually split code you didn't write. After such an auto split I can manually squash related revs into feature/ticket level.
That's a really compelling use case actually
Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git
#58Earlier quoted context omitted.
sem doesn't override git diff, it's a completely separate command (sem diff). Your regular git diff should work exactly as it always has after installing sem. If you want to change your git diff default behavior then you can do sem setup.
That’s not clear at all from the docs. It shouldn’t be called “setup” then. Even after doing sem setup there should be a CLI flag to get the default diff output without unsetting up. Very annoying hijack.
Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git
#59Earlier quoted context omitted.
It doesn't override git diff at all, sem is its own standalone CLI. git diff continues to work exactly as before. You do sem setup only when you want to change your default git diff behavior, other wise after installing sem you can use it straight away using sem commands.
Ah okay thankyou! Is the MCP server manually configured, or is there documentation on the suggested way to tell an agent to use sem? My guess was that setup was how to do that.
Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git
#60I have been using all of ataraxy labs tools for the past few months and that have been indispensable for models to make less mistakes for me. From better git diffs to impact analysis and code reviews.