Skip to content

chore(release): v0.1.3 - #6

Merged
thehoff merged 1 commit into
developfrom
chore/release-v0.1.3
May 14, 2026
Merged

thehoff merged 1 commit into
developfrom
chore/release-v0.1.3

Conversation

@thehoff

@thehoff thehoff commented May 14, 2026

Copy link
Copy Markdown
Owner

Summary

Polish release rolling up PRs #1, #3, #4, and #5 (which superseded #2). Bumps `CONTEXTCRAWLER_VERSION` in `main.rs` and adds a `[0.1.3]` section to `CHANGELOG.md`.

Verified

  • `cargo build --release` clean
  • `contextcrawler --version` now reads `ContextCrawler 0.1.3 (downstream of rtk 0.39.0)`
  • `cargo test` — 1785 passed / 0 failed / 6 ignored

Next steps after merge

```bash
git checkout develop && git pull
git tag -a v0.1.3 -m "v0.1.3"
git push contextcrawler v0.1.3
gh release create v0.1.3 --notes-from-tag
```

🤖 Generated with Claude Code

Polish release. Empirically surfaced via fresh-install devel-testing
on macOS and Ubuntu (Framework). v0.1.2 binaries still emitted legacy
`rtk` strings in user-facing output and tried to exec `rtk` from a CLI
fallback path that broke flag-only invocations.

Highlights:

- Hook rewrite prefix is now `contextcrawler` (was `rtk` — failed on
  fresh installs with only the new binary on PATH). (#1)
- `contextcrawler -v` shows clap's "subcommand required" error
  instead of `[rtk: No such file or directory (os error 2)]`. (#4)
- `init -g` success output, `gain` dashboard header, and codex config
  listing are now consistently branded ContextCrawler / CONTEXTCRAWLER.md
  / @CONTEXTCRAWLER.md. (#1, #3)
- New: `init -g` reports Tirith gate status (ARMED / fail-open) —
  detect only, no shell config modification. (#2 superseded by #5)

Internal `rtk` identifiers (mod / struct / field names, `rtk_cmd:`
rule values, `rtk_equivalent` classification keys) are intentionally
retained to keep upstream rebases against rtk-ai/rtk small.

Verified: cargo test → 1785 passed / 0 failed / 6 ignored.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@thehoff
thehoff merged commit f3bdc35 into develop May 14, 2026
@thehoff
thehoff deleted the chore/release-v0.1.3 branch May 14, 2026 13:16
noogalabs pushed a commit to noogalabs/contextcrawler that referenced this pull request Jun 4, 2026
…e tests

Addresses Codex round-2 review findings on the exec_capture hardening
branch:

Truncation contract (Codex finding thehoff#3):
- Add truncated_stdout / truncated_stderr bools to CaptureResult.
  Silent truncation was a real API ambiguity — callers parsing JSON
  on a capped prefix would treat parse failures as real errors.
- New drain_with_cap helper reads at most `max` bytes then peeks one
  byte to detect whether the stream had more pending. Detection is
  exact: a stream that ends precisely at the cap reports
  truncated=false (no false positives at exact-EOF boundary).
- exec_capture_with_limits propagates both flags through.

Edge cases (Codex finding thehoff#6):
- truncated flag set/clear at boundary (3 tests including exact-EOF
  no-false-positive)
- very-short deadline race (1ms) — either Ok or Err is acceptable,
  no panic/hang/orphan
- cap-of-0 pathological config — child still runs, output empty,
  flag set if child wrote anything
- stderr-only flood completes without stdout-drain deadlock
  (validates the threaded-drain design holds when one stream is dead)
- kill-on-already-exited-child does not surface as error (back-to-back
  short calls confirm no leftover state from unused timeout-error path)
- drain_with_cap helper unit tests for the truncation peek logic

Suite: 1848 → 1856 passing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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