Skip to content

docs: add item-level rustdoc to 7 worst-offender crates Refs #2137 - #905

Closed
AlexMikhalev wants to merge 13 commits into
mainfrom
task/2137-doc-gaps-20260605
Closed

docs: add item-level rustdoc to 7 worst-offender crates Refs #2137#905
AlexMikhalev wants to merge 13 commits into
mainfrom
task/2137-doc-gaps-20260605

Conversation

@AlexMikhalev

Copy link
Copy Markdown
Contributor

Summary

  • Added 248 rustdoc comments across 30 files in 7 crates
  • Workspace doc coverage: 81% -> 82% (4,263/5,217 pub items)
  • Fixed crates: terraphim_grep (95% gap), terraphim-markdown-parser (79% gap), terraphim_usage (68% gap), terraphim_agent_messaging, terraphim_merge_coordinator, terraphim_file_search, terraphim_middleware

Changes by crate

CrateGap beforeItems added
terraphim_grep95%91
terraphim-markdown-parser79%45
terraphim_usage68%68
terraphim_agent_messaging29%22
terraphim_merge_coordinator28%13
terraphim_file_search29%6
terraphim_middleware27%3

Test plan

  • cargo check passes on all affected crates
  • cargo clippy -- -D warnings passes on all affected crates
  • cargo fmt -- --check clean on all affected crates
  • CHANGELOG.md updated with entry under [Unreleased]

Refs terraphim/terraphim-ai#2225 (Gitea)

Generated with Terraphim AI

Test Userand others added 13 commits June 4, 2026 00:14
…1992
reqwest::Error from error_for_status() on a 400 response is an HTTP
application error, not a transport/connectivity failure. Previously
classify_error() returned ExitCode::ErrorNetwork (6) for all reqwest
errors, causing test_server_mode_search_with_selected_role to fail
when the server returned 400 due to missing role configuration.
Now check re.status() before falling back to ErrorNetwork:
- 401 / 403 → ErrorAuth (5)
- 404 → ErrorNotFound (4)
- other 4xx/5xx → ErrorGeneral (1)
- no status → ErrorNetwork (6, true connectivity failure)
Adds five regression tests using a real one-shot TCP server so no
mocks are needed, covering 400, 401, 403, 404, 500 paths.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds an integration test that starts a real TCP listener replying with
HTTP 400 Bad Request and asserts the binary exits 0 or 1 (never 6).
This exercises the classify_error fix end-to-end through the real binary,
complementing the unit-level classify_reqwest_tests in main.rs.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…_node_ids Refs #2039
Deserialising a SerializableRoleGraph JSON written before issue #84 (trigger-based
KG retrieval) was merged would fail with a missing-field error because
trigger_descriptions and pinned_node_ids had no serde(default) annotation.
Adds the annotation to both fields and a round-trip regression test that strips
the fields from a serialised graph and confirms deserialisation succeeds with
empty collections, matching the existing learning_document_ids pattern.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…2133
Replace `for stream in incoming() { if let Ok(s) = stream { ... } }` with
`for s in incoming().flatten() { ... }` to satisfy clippy::manual_flatten.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…(feature = "firecracker")
firecracker.rs called get_vm_status() and execute_vm_code() from ApiClient
which are #[cfg(feature = "firecracker")] but the module was compiled unconditionally.
This broke cargo test -p terraphim_agent with default features.
Fix: add #[cfg(feature = "firecracker")] to pub mod firecracker in modes/mod.rs
and update HybridExecutor to conditionally use FirecrackerExecutor only when
the feature is enabled, falling back to LocalExecutor otherwise.
Refs #2164
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- haystack_atlassian: add /// to ConfluenceClient, JiraClient, AtlassianClient
- haystack_core: add /// to HaystackProvider trait and associated items
- haystack_discourse: add /// to DiscourseClient and Post re-exports
- terraphim_ccusage: add /// to all public types and CcusageClient methods
- terraphim_kg_linter: add /// to all public structs, enums, and functions
- terraphim_negative_contribution: add /// to re-exported public items
- CHANGELOG: add firecracker gate, clippy manual_flatten, rolegraph serde
defaults, and rustdoc coverage improvement entries
Workspace doc coverage: 81% (was 30% at prior scan). Zero-coverage crates: 1.
Refs #2136
…ubmodules
- haystack_discourse: add /// to DiscourseClient struct, new(), Post struct
- terraphim_negative_contribution: add /// to NegativeContributionScanner
and all pub methods (new, from_thesaurus, scan_file, scan_files,
scan_to_output, thesaurus)
Reduces zero-coverage crate count to 0.
Refs #2136
…st.rs Fixes #2169
- Move #[cfg(feature = "firecracker")] use before other use items in hybrid.rs
- Remove trailing blank line before test in unit_test.rs
Co-Authored-By: Terraphim AI <noreply@terraphim.cloud>
248 doc comments added across 30 files:
- terraphim_grep: 91 items (95% gap -> <5%)
- terraphim-markdown-parser: 45 items (79% gap -> <5%)
- terraphim_usage: 68 items (68% gap -> <5%)
- terraphim_agent_messaging: 22 items
- terraphim_merge_coordinator: 13 items
- terraphim_file_search: 6 items
- terraphim_middleware: 3 items
All clippy/fmt checks pass on affected crates.
Co-Authored-By: Terraphim AI <noreply@terraphim.ai>
@AlexMikhalev

Copy link
Copy Markdown
ContributorAuthor

Closing as superseded. This PR is a docs: add item-level rustdoc t... patch based on an older state of main. The substantive intent has been overtaken by the polyrepo fleet-batch + the recent rebase wave (17+ PRs merged 2026-08-28/29). A rebase would require resolving hundreds of conflicts against substantial refactors. Per the user instruction "fully functional and green," these stale PRs are being closed rather than re-rebased.

Closes per Shimaguru mass-rebase pass, 2026-08-29.

@AlexMikhalev
AlexMikhalev deleted the task/2137-doc-gaps-20260605 branch August 29, 2026 23:24
Sign up for freeto 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

@AlexMikhalev