tools-knowitall-offline: minimal standalone filesystem cataloger for hosts with no network path to the real (Postgres-backed) knowitall index -- writes a local SQLite file matching a subset of the real fs_path schema, mergeable later via ON CONFLICT DO NOTHING once network access exists. No sqlx/tokio/workspace dependency by design: it vendors and builds natively on a target host in minutes, not hours, which is the whole point when that host has no internet access either.
| Tier | tools |
| Role | unclassified (baselined) |
| Path | crates/tools/knowitall-offline |
| Edition | 2021 |
| Targets | tools-knowitall-offline, tools_knowitall_offline |
| Public items | 6 across 0 modules |
| Tests | 12 |
What it is for
Pure decision logic for knowitall-offline. No I/O here (that's main.rs): built live against yoda.scity.co (2026-09-13) to catalog a FreeBSD fleet host with no network path to the real Postgres-backed knowitall index. Deliberately standalone (no sqlx/tokio/workspace dependency) so it vendors and cross-/native-builds in minutes on a target host that may itself have no internet access.
Capabilities
crate root
Pure decision logic for knowitall-offline. No I/O here (that's
| Item |
|---|
pub const SKIP_DIR_NAMES: & & str |
pub const SKIP_ABS_PREFIXES: & & str |
pub const SKIP_VIDEO_EXTENSIONS: & & str |
pub const VAR_DB_NOISE: & & str |
fn should_skip(path : & std::path::Path) -> bool |
fn is_var_db_noise(name : & str) -> bool |
How to use it
No examples/ target and no doctest in this crate's rustdoc. The tests listed under Verification are the closest executable usage.
Module structure
No public modules: the crate root is its whole surface.
Public surface
`crate root`
| Item | What it is |
|---|---|
pub const SKIP_DIR_NAMES: & & str | Directory names skipped when they appear as the CURRENT path's own last component, checked only while descending (never against an explicitly-requested root -- see should_skip's is_root handling in main.rs's walk loop) |
pub const SKIP_ABS_PREFIXES: & & str | Absolute path PREFIXES skipped unconditionally |
pub const SKIP_VIDEO_EXTENSIONS: & & str | Video file extensions skipped as a heuristic for excluding large DVR/ NVR footage exports reachable via an NFS mount, without needing to know their exact path. |
pub const VAR_DB_NOISE: & & str | FreeBSD base-system var/db subdirectory names that are host state, never "installed program data" -- used when a caller wants to walk a var/db directory and keep only the interesting entries (a live mysql/postgres/caddy/sudo/.. |
fn should_skip(path : & std::path::Path) -> bool | Whether path should be skipped while descending a walk |
fn is_var_db_noise(name : & str) -> bool | Whether a var/db-style subdirectory name is real installed-program state worth cataloging, versus FreeBSD base-system noise. |
No pub use re-exports: every item above is declared in this crate.
Boundary
Depends on no other workspace tier.
Shares tier tools with 86 other crates: tools-advisory-reach, tools-archive-guard, tools-artifact-scaffold, tools-ask-ai-core, tools-ask-ais, tools-ask-gemini, tools-book, tools-book-report, … (86 total).
_What this crate deliberately does NOT own is a judgment. No committed registry records one for it, so none is stated here._
Where it sits
| Tier (ontology) | tools |
| Architectural role (taxonomy) | unclassified (baselined) |
| Location | crates/tools/knowitall-offline |
| Vocabulary in force (lexicon) | current |
Dependencies
Runtime, from outside the workspace.
| Crate | Requirement | Features | Optional | Only on |
|---|---|---|---|---|
rusqlite | ^0.32 | bundled | no | always |
Development. None.
Build. None.
Depended on by. Nothing in this workspace.
Feature flags
No Cargo features are defined: every capability is unconditional, so no consumer can receive a half-wired crate.
Targets
| Kind | Name | Source |
|---|---|---|
| bin | tools-knowitall-offline | `src/main.rs` |
| lib | tools_knowitall_offline | `src/lib.rs` |
Error model
No public error type was detected: no public item declares a type named *Error, and no public signature returns one.
Operational characteristics
| Property | Evidence |
|---|---|
| async public surface | none detected |
| async runtime | none detected |
| database access | none detected |
| network I/O | none detected |
| unsafe code | none detected |
| environment variables | yes |
No unsafe block, unsafe fn, unsafe impl or unsafe trait was found by the parser anywhere in this crate's source.
Configuration
| Variable | Read in |
|---|---|
HOSTNAME | src/main.rs |
Related capabilities
No workspace crate depends on this one.
Verification
| Kind | Count |
|---|---|
| Unit tests | 12 |
| Integration tests | 0 |
| Examples | 0 |
| Doctests | 0 |
Evidence by module. How often each public module is named by something executable.
| Module | Tests | Examples | Consumers |
|---|---|---|---|
crate root | 6 | 0 | 0 |
What the tests establish, by name:
does_not_skip_a_component_name_as_a_substring—src/lib.rsdoes_not_skip_usr_local_by_prefix—src/lib.rsskips_by_absolute_prefix—src/lib.rsskips_by_component_name_anywhere_it_appears—src/lib.rsskips_dvr_paths_case_insensitively—src/lib.rsskips_known_video_extensions—src/lib.rsvar_db_noise_excludes_known_system_state—src/lib.rsvar_db_noise_keeps_real_program_data—src/lib.rsexpand_jail_paths_filters_var_db_noise_but_keeps_real_program_data—src/main.rsexpand_jail_paths_includes_only_existing_subpaths—src/main.rsexpand_jail_paths_skips_excluded_jail_by_name—src/main.rsexpand_jail_paths_with_no_jails_is_empty—src/main.rs
Documentation coverage
| Measure | Documented | Total |
|---|---|---|
| Public items with rustdoc | 6 | 6 |
Public modules with a //! block | 0 | 0 |
pie showData
title Public items with rustdoc
"Documented" : 6
"No rustdoc detected" : 0
Metrics
| Metric | Value |
|---|---|
| Rust source files | 2 |
| Source lines | 535 |
| Code lines | 444 |
| Public API items | 6 |
| Public modules | 0 |
| Tests | 12 |
| Examples | 0 |
| Cargo features | 0 |
| Direct runtime dependencies | 1 |
| Workspace reverse dependencies | 0 |
pie showData
title Public API by kind
"constant" : 4
"function" : 2
pie showData
title Rust source composition
"Code" : 444
"Blank or comment" : 91
Generation
Rendered by tools-corpus corpus readme from repository evidence alone, renderer schema 2, lexicon current. No model, network service or database was consulted. Regenerate with tools-corpus corpus readme --write; verify with --check.