Skip to content

What changed is answered from git history - #190

Merged
trick77 merged 3 commits into
masterfrom
feat/commit-lane
Sep 17, 2026
Merged

trick77 merged 3 commits into
masterfrom
feat/commit-lane

Conversation

@trick77

@trick77 trick77 commented Sep 17, 2026

Copy link
Copy Markdown
Owner

"Summarize the latest changes" answered from a month-old measurement write-up while 33 commits had landed in two days: the file index has no date on anything, so "latest" is a semantic match on documents that narrate changes.

What changed:

  • The poller records each branch's first-parent history beside the file index (commits + commits_fts, BACKEND_HISTORY_DEPTH deep, default 500). history.Sync keeps held rows by sha and drops what the branch no longer has, so a rebase or force-push leaves neither stale nor duplicate changes and a full re-index never orphans a cited commit. Snapshots record none.
  • The understanding step reads a changes intent with a day window (default 14, capped 365, applied by the pipeline) and an optional topic. Such a turn skips search, routing and gathering and answers from the window's commits, grouped per repository, never carded; a topic filters through the keyword ladder's widest rung over subject, body and paths. Zero commits is a templated answer, no model call.
  • Commits are sources and citations of their own kind, stored in message_sources.commit_id so a re-explain reads them back. A commit chip opens a commit view (message, date, touched files with line counts); a touched file opens the source viewer whole at its indexed commit. The share page gets the same view through /api/shares/{token}/commit, cited commits only.
  • Author is stored and never served; trailer lines (Signed-off-by, Co-authored-by) are stripped from the body. The prompt bounds each commit to 1500 runes of body and 30 paths.
  • Repos page: a Commits stat and the lane's state in the indexed cell's tooltip.

Deploy notes: migration 0028 forces a full re-index of every repository (the embedding cache makes it cheap); new optional BACKEND_HISTORY_DEPTH.

Not measured: the understanding prompt gained the changes intent and two fields. The flow answers harness could not run here (no .env, corpus gone). The risk to check is an ordinary "how does X work" question read as changes, which would skip the code search. Follow-ups: the measurement, and tag ranges ("what changed between 1.5.1 and 1.5.2").

The file index has no date on anything, so "the latest changes" ranked a
month-old measurement write-up over 33 commits of the last two days. The
poller now records each branch's first-parent history beside the file
index (commits + commits_fts, BACKEND_HISTORY_DEPTH on a full run, the
last_sha..head range on a poll). The understanding step reads a changes
intent with a day window and a topic; such a turn skips search, routing
and gathering and answers from the commits of the window, grouped per
repository, never carded. Commits are sources and citations of their own
kind, opened in a commit view whose touched paths open the file viewer;
the share page gets the same view through its own endpoint. Author is
stored and never served. A window with no commit is a templated answer.
…ipped, prompt bounded

Review findings: an incremental append left a rebased or force-pushed
branch answering both versions of a change, and a full re-index renumbered
every row under the turns citing it; Sync inserts what is missing by sha,
keeps what is held, and drops what the branch no longer has. Trailer lines
named people in a body that reaches the answer and a public page. A root
or vendor commit could exceed the context; body and path list are cut.
Show runs --no-renames so a renamed path stays openable. since_days reads
a quoted number, and the changes prompt block needs a window, not only the
intent, so a pipeline without the lane never calls chunks commits.
@trick77
trick77 merged commit 2d3e788 into master Sep 17, 2026
2 checks passed
@trick77
trick77 deleted the feat/commit-lane branch September 17, 2026 18:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant