Skip to content

feat: prepare v1.0.0 release#2

Merged
sting8k merged 1 commit into
mainfrom
release/v1.0.0-prep
May 24, 2026
Merged

feat: prepare v1.0.0 release#2
sting8k merged 1 commit into
mainfrom
release/v1.0.0-prep

Conversation

@sting8k
Copy link
Copy Markdown
Owner

@sting8k sting8k commented May 24, 2026

Summary

  • prepare the v1.0.0 release update for srcwalk
  • refresh command routing, evidence packets, document/artifact navigation, stylesheet support, and review/diff tooling
  • keep release/package metadata self-contained
  • include Greptile config and Windows CI compiler env

Validation

  • release hygiene scan: PASS
  • blocked text scan: PASS
  • local path scan: PASS
  • secret-value scan: PASS
  • cargo fmt --check: PASS
  • cargo clippy --locked -- -D warnings: PASS
  • cargo test --locked: PASS
  • cargo package -p srcwalk --locked --no-verify: PASS

Notes

  • branch is one commit ahead of main
  • local package dry-run produced 150 files, 1.6MiB / 342.5KiB compressed

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 24, 2026

Greptile Summary

This PR prepares the v1.0.0 release of srcwalk by overhauling the CLI from legacy flat flags to an intent-first subcommand model (overview, context, trace, discover, show, review, compare, assess), and introduces several new commands and support modules.

  • New commands: review (change-set review with Flow Map evidence), diff (bounded git diff evidence), compare (structural function comparison), and discover with --as access / --match all / --match any modes.
  • New modules: evidence/ (anchor, atom, confidence, next-action types), capabilities/ (empty provider facade scaffold), lang/css.rs, lang/document/, lang/decision_flow/ — expanding language and artifact coverage.
  • CLI/runtime changes: scope normalisation now supports file and glob scopes, auto-artifact detection, emit_output switched to println! (consistent trailing newline), JSON output and bfs_json paths removed.

Confidence Score: 4/5

Safe to merge with one fix: the flow-map omission count in change review does not account for budget-truncated maps, which can leave agent consumers believing they have seen all changed functions when they have not.

The run_change_review path writes flow maps count in ## omitted based only on the MAX_FLOW_MAPS cap, then apply_review_budget truncates the body independently. An agent reading shown=N omitted=0 in the flow-maps header and flow maps: 0 in ## omitted has no reliable signal that additional flow maps were budget-cut, which could cause it to conclude a code review is complete when it is not. All other new commands are structurally sound and correctly bounded.

src/commands/review.rs — specifically the interaction between append_change_omitted (which writes the ## omitted footer) and apply_review_budget (which truncates the flow-maps body independently).

Important Files Changed

Filename Overview
src/commands/review.rs New review command; ## omitted flow maps count only reflects cap-based omissions, not budget-truncated flow maps, which misleads agents about how many changed functions were actually rendered.
src/commands/diff.rs New diff-evidence primitive; git patch parsing, untracked-file discovery, symbol attachment, and pagination all look structurally correct.
src/commands/compare.rs New structural comparison command; feature extraction and comparison logic are well-bounded with explicit per-group caps.
src/commands/find.rs Adds text-OR and co-occurrence search modes; rollup rendering and per-term pagination look correct and bounded.
src/cli.rs Major CLI restructure from legacy flat flags to intent-first subcommands; new mode variants, from_root/from_command dispatch, and inferred-query helpers are consistent.
src/cli_run.rs New scope/glob/line-range normalisation, auto-artifact detection, and per-mode routing are complete; error paths exit cleanly.
src/evidence/mod.rs New evidence packet module; anchor, atom, confidence, and next-action types are well-structured with clear source/role labelling.
src/search/access.rs New field/member access search with structural AST classification; uses DEFAULT_ACCESS_LIMIT=50, consistent with the bounded-output pattern used by other paged commands.
src/capabilities/mod.rs New capability facade with empty provider registries; all static arrays are zero-length, so no functional change yet — just scaffolding.
src/output.rs Simplifies emit_result by removing JSON wrapper and bfs_json paths; switches from print! to println! (consistent trailing newline) and adds error: prefix to stderr messages.
.github/workflows/ci.yml Adds CC/CXX=clang-cl env for Windows CI and pins all cargo commands to --locked; straightforward hygiene fix.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    CLI["srcwalk CLI"] --> ROOT["Root path read (Mode::Show)"]
    CLI --> OVERVIEW["overview (Mode::Overview)"]
    CLI --> CONTEXT["context (Mode::Context)"]
    CLI --> TRACE["trace callers/callees"]
    CLI --> DISCOVER["discover (Search/Text/MatchAll/Files/Access)"]
    CLI --> REVIEW["review (Mode::Review)"]
    CLI --> DIFF["diff (Mode::Diff)"]
    CLI --> COMPARE["compare (Mode::Compare)"]
    REVIEW --> LR["run_local_review (single target)"]
    REVIEW --> CR["run_change_review (working/staged/range)"]
    CR --> DE["collect_diff_evidence"]
    CR --> FM["append_change_flow_maps (budget per map)"]
    CR --> AO["append_change_omitted (cap-only count)"]
    CR --> ARB["apply_review_budget (truncates body)"]
    DISCOVER --> TEXTOR["--match any --as text: text-OR rollup"]
    DISCOVER --> TEXTAND["--match all: co-occurrence"]
    DISCOVER --> ACCESS["--as access: AST field/member search"]
Loading

Reviews (3): Last reviewed commit: "feat: prepare v1.0.0 release" | Re-trigger Greptile

Comment thread src/search/access.rs Outdated
@sting8k sting8k force-pushed the release/v1.0.0-prep branch from 882763d to 0c166c2 Compare May 24, 2026 16:28
@sting8k
Copy link
Copy Markdown
Owner Author

sting8k commented May 24, 2026

@greptileai

@sting8k sting8k merged commit b32fc80 into main May 24, 2026
2 checks passed
@sting8k sting8k deleted the release/v1.0.0-prep branch May 24, 2026 16:39
Comment thread src/commands/review.rs
Comment on lines +453 to +455
limit: Option<usize>,
offset: usize,
) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 omitted flow-map count is inaccurate after budget truncation

append_change_omitted writes flow maps: {omitted_flow_maps} where omitted_flow_maps = changed_targets.saturating_sub(MAX_FLOW_MAPS) — counting only cap-based omissions. When apply_review_budget subsequently truncates the ## flow maps body, agents read flow maps: 0 (or a small cap-based number) in ## omitted while the ## flow maps section header says shown=N. Because the footer is preserved verbatim and only a ... truncated notice appears in the body, an agent can easily conclude "no flow maps were omitted" when actually N−1 were budget-truncated. A code-review agent acting on this will miss the omitted changed functions.

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