Live data from Hacker News

Sem: New primitive for code understanding – not LSPs, but entities on top of Git

ataraxy-labs.github.io

51–60 of 67 posts

Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git

#51

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.

You think it’s funny but it taint.

Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git

#52

This 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.

If I were you I'd remove setup/unsetup commands and replace with a note that if you want to use it for git diff here's what to put in your config, or suggest aliasing as git sdiff or whatever.

Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git

#53

This 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.

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

#55
post #2

Is 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…

1. Do you expose this dependency graph so folks can play with it / build interesting things on top? An interesting example would be to understand whether/how a version bump on one of your dependencies might affect your code.

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

#56
post #17

The "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.

[dead]

Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git

#57

Another 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

Thx oh and maybe don't call it sem. It's not really semantic, more like a big picture view vs the ground level git lines. How about "bye", short for bird's-eye?

Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git

#58

Earlier 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.

sorry if you consider that as hijack, it was just a user's request to use this as default plugin on their git. But I will add it to let the users know thanks for the feedback

Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git

#59

Earlier 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.

no setup just configures your git diff to use sem by defult, you will find the sem mcp directory on github repostiory, also there's skill.md file which will tell your agent on how to use sem.

Re: Sem: New primitive for code understanding – not LSPs, but entities on top of Git

#60
post #54

I 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.

Thanks a lot Alex! for this reply, it keeps us pumped.
Post reply on HN