{ "meta": { "complete": true, "started_at": "2025-07-21 01:18:43.003251Z", "commit": "a0c02bb2e2375cdd1936a11b46876723d6cc35c1", "platform": { "cargo_version": "cargo 1.87.0 (99624be96 2025-05-06)", "rustc_version": "rustc 1.87.0 (17067e9ac 2025-05-09)", "python_version": "3.12.3", "platform": "Linux-6.8.0-1029-aws-x86_64-with-glibc2.39" }, "ragit_version": "ragit 0.4.2-dev", "rand_seed": 20250721011843, "ended_at": "2025-07-21 08:03:09.691900Z", "elapsed_ms": 24266688, "commit_title": "update agent", "commit_message": "`Action::GetSummary` is deprecated and the summary is always added to\nthe system prompt.\n" }, "tests": { "cargo_tests": { "seq": 0, "pass": false, "error": "\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit: cargo test\n\n### status_code ###\n0\n\n### stdout ###\n\nrunning 6 tests\ntest chunk::multi_modal::into_multi_modal_contents_test ... ok\ntest uid::tests::uid_add_sub ... ok\ntest uid::tests::uid_endec ... ok\ntest chunk::tests::test_merge_and_convert_chunks ... ok\ntest uid::tests::uid_save_and_load ... ok\ntest index::file::markdown::tests::markdown_test ... ok\n\ntest result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\n\n### stderr ###\nwarning: unreachable pattern\n --> src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: `ragit` (lib) generated 6 warnings\nwarning: `ragit` (lib test) generated 6 warnings (6 duplicates)\n Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 15s\n Running unittests src/lib.rs (target/debug/deps/ragit-87e78c50035aed4c)\n Running unittests src/main.rs (target/debug/deps/rag-11fcff70671861b6)\n Doc-tests ragit\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit: cargo test --release\n\n### status_code ###\n0\n\n### stdout ###\n\nrunning 6 tests\ntest chunk::multi_modal::into_multi_modal_contents_test ... ok\ntest uid::tests::uid_add_sub ... ok\ntest uid::tests::uid_endec ... ok\ntest chunk::tests::test_merge_and_convert_chunks ... ok\ntest uid::tests::uid_save_and_load ... ok\ntest index::file::markdown::tests::markdown_test ... ok\n\ntest result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\n\n### stderr ###\nwarning: unreachable pattern\n --> src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: `ragit` (lib test) generated 6 warnings (6 duplicates)\nwarning: `ragit` (lib) generated 6 warnings\n Finished `release` profile [optimized] target(s) in 32.47s\n Running unittests src/lib.rs (target/release/deps/ragit-b6eb5255244a582c)\n Running unittests src/main.rs (target/release/deps/rag-ab95a7bf1e2e56b1)\n Doc-tests ragit\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit: cargo doc\n\n### status_code ###\n0\n\n### stdout ###\n\n\n### stderr ###\nwarning: unreachable pattern\n --> src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: `ragit` (lib) generated 6 warnings\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 37s\n Generated /home/ubuntu/Documents/ragit/target/doc/ragit/index.html and 1 other file\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit: cargo test --release --features=csv,korean,pdf,svg\n\n### status_code ###\n0\n\n### stdout ###\n\nrunning 6 tests\ntest chunk::multi_modal::into_multi_modal_contents_test ... ok\ntest uid::tests::uid_add_sub ... ok\ntest chunk::tests::test_merge_and_convert_chunks ... ok\ntest uid::tests::uid_endec ... ok\ntest uid::tests::uid_save_and_load ... ok\ntest index::file::markdown::tests::markdown_test ... ok\n\ntest result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\n\n### stderr ###\n Downloading crates ...\n Downloaded num_enum_derive v0.7.4\n Downloaded memmap2 v0.9.7\n Downloaded num_enum v0.7.4\n Downloaded zerocopy-derive v0.8.26\n Downloaded winnow v0.7.12\nwarning: unreachable pattern\n --> src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: `ragit` (lib) generated 6 warnings\nwarning: `ragit` (lib test) generated 6 warnings (6 duplicates)\n Finished `release` profile [optimized] target(s) in 3m 58s\n Running unittests src/lib.rs (target/release/deps/ragit-404b80a957d1afc7)\n Running unittests src/main.rs (target/release/deps/rag-afb9330097a0fbc0)\n Doc-tests ragit\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit: cargo doc --features=csv,korean,pdf,svg\n\n### status_code ###\n0\n\n### stdout ###\n\n\n### stderr ###\nwarning: unreachable pattern\n --> src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: `ragit` (lib) generated 6 warnings\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 44s\n Generated /home/ubuntu/Documents/ragit/target/doc/ragit/index.html and 1 other file\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/api: cargo test\n\n### status_code ###\n101\n\n### stdout ###\n\n\n### stderr ###\n Updating crates.io index\n Locking 357 packages to latest Rust 1.87.0 compatible versions\nerror[E0061]: this function takes 4 arguments but 5 arguments were supplied\n --> src/tests.rs:184:36\n |\n184 | let Pdl { messages, schema } = parse_pdl(\n | ^^^^^^^^^\n...\n189 | true,\n | ---- unexpected argument #5 of type `bool`\n |\nnote: function defined here\n --> /home/ubuntu/Documents/ragit/crates/pdl/src/lib.rs:116:8\n |\n116 | pub fn parse_pdl(\n | ^^^^^^^^^\nhelp: remove the extra argument\n |\n188 - true,\n |\n\nerror[E0061]: this function takes 3 arguments but 4 arguments were supplied\n --> src/tests.rs:43:43\n |\n43 | let Pdl { messages: messages1, .. } = parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\n...\n47 | true,\n | ---- unexpected argument #4 of type `bool`\n |\nnote: function defined here\n --> /home/ubuntu/Documents/ragit/crates/pdl/src/lib.rs:101:8\n |\n101 | pub fn parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\nhelp: remove the extra argument\n |\n46 - true,\n |\n\nerror[E0061]: this function takes 4 arguments but 5 arguments were supplied\n --> src/tests.rs:49:43\n |\n49 | let Pdl { messages: messages2, .. } = parse_pdl(\n | ^^^^^^^^^\n...\n54 | true,\n | ---- unexpected argument #5 of type `bool`\n |\nnote: function defined here\n --> /home/ubuntu/Documents/ragit/crates/pdl/src/lib.rs:116:8\n |\n116 | pub fn parse_pdl(\n | ^^^^^^^^^\nhelp: remove the extra argument\n |\n53 - true,\n |\n\nFor more information about this error, try `rustc --explain E0061`.\nerror: could not compile `ragit-api` (lib test) due to 3 previous errors\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/api: cargo test --release\n\n### status_code ###\n101\n\n### stdout ###\n\n\n### stderr ###\nerror[E0061]: this function takes 4 arguments but 5 arguments were supplied\n --> src/tests.rs:184:36\n |\n184 | let Pdl { messages, schema } = parse_pdl(\n | ^^^^^^^^^\n...\n189 | true,\n | ---- unexpected argument #5 of type `bool`\n |\nnote: function defined here\n --> /home/ubuntu/Documents/ragit/crates/pdl/src/lib.rs:116:8\n |\n116 | pub fn parse_pdl(\n | ^^^^^^^^^\nhelp: remove the extra argument\n |\n188 - true,\n |\n\nerror[E0061]: this function takes 3 arguments but 4 arguments were supplied\n --> src/tests.rs:43:43\n |\n43 | let Pdl { messages: messages1, .. } = parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\n...\n47 | true,\n | ---- unexpected argument #4 of type `bool`\n |\nnote: function defined here\n --> /home/ubuntu/Documents/ragit/crates/pdl/src/lib.rs:101:8\n |\n101 | pub fn parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\nhelp: remove the extra argument\n |\n46 - true,\n |\n\nerror[E0061]: this function takes 4 arguments but 5 arguments were supplied\n --> src/tests.rs:49:43\n |\n49 | let Pdl { messages: messages2, .. } = parse_pdl(\n | ^^^^^^^^^\n...\n54 | true,\n | ---- unexpected argument #5 of type `bool`\n |\nnote: function defined here\n --> /home/ubuntu/Documents/ragit/crates/pdl/src/lib.rs:116:8\n |\n116 | pub fn parse_pdl(\n | ^^^^^^^^^\nhelp: remove the extra argument\n |\n53 - true,\n |\n\nFor more information about this error, try `rustc --explain E0061`.\nerror: could not compile `ragit-api` (lib test) due to 3 previous errors\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/pdl: cargo test\n\n### status_code ###\n101\n\n### stdout ###\n\n\n### stderr ###\n Updating crates.io index\n Locking 197 packages to latest Rust 1.87.0 compatible versions\nerror[E0061]: this function takes 3 arguments but 4 arguments were supplied\n --> src/lib.rs:425:40\n |\n425 | let Pdl { messages, schema } = parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\n...\n429 | true,\n | ---- unexpected argument #4 of type `bool`\n |\nnote: function defined here\n --> src/lib.rs:101:8\n |\n101 | pub fn parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\nhelp: remove the extra argument\n |\n428 - true,\n |\n\nerror[E0061]: this function takes 4 arguments but 5 arguments were supplied\n --> src/lib.rs:457:40\n |\n457 | let Pdl { messages, schema } = parse_pdl(\n | ^^^^^^^^^\n...\n466 | true,\n | ---- unexpected argument #5 of type `bool`\n |\nnote: function defined here\n --> src/lib.rs:116:8\n |\n116 | pub fn parse_pdl(\n | ^^^^^^^^^\nhelp: remove the extra argument\n |\n465 - true,\n |\n\nFor more information about this error, try `rustc --explain E0061`.\nerror: could not compile `ragit-pdl` (lib test) due to 2 previous errors\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/pdl: cargo test --release\n\n### status_code ###\n101\n\n### stdout ###\n\n\n### stderr ###\nerror[E0061]: this function takes 3 arguments but 4 arguments were supplied\n --> src/lib.rs:425:40\n |\n425 | let Pdl { messages, schema } = parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\n...\n429 | true,\n | ---- unexpected argument #4 of type `bool`\n |\nnote: function defined here\n --> src/lib.rs:101:8\n |\n101 | pub fn parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\nhelp: remove the extra argument\n |\n428 - true,\n |\n\nerror[E0061]: this function takes 4 arguments but 5 arguments were supplied\n --> src/lib.rs:457:40\n |\n457 | let Pdl { messages, schema } = parse_pdl(\n | ^^^^^^^^^\n...\n466 | true,\n | ---- unexpected argument #5 of type `bool`\n |\nnote: function defined here\n --> src/lib.rs:116:8\n |\n116 | pub fn parse_pdl(\n | ^^^^^^^^^\nhelp: remove the extra argument\n |\n465 - true,\n |\n\nFor more information about this error, try `rustc --explain E0061`.\nerror: could not compile `ragit-pdl` (lib test) due to 2 previous errors\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/server: cargo test\n\n### status_code ###\n0\n\n### stdout ###\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\n\n### stderr ###\n Updating crates.io index\n Locking 444 packages to latest Rust 1.87.0 compatible versions\n Downloading crates ...\n Downloaded tracing-attributes v0.1.30\n Downloaded h2 v0.3.27\nwarning: unreachable pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> /home/ubuntu/Documents/ragit/src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unreachable pattern\n --> src/methods/search.rs:77:21\n |\n76 | ChunkSource::File { path, .. } => path == &file || path.starts_with(&dir),\n | ------------------------------ matches all the relevant values\n77 | _ => false,\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: unreachable pattern\n --> src/models/chunk.rs:40:13\n |\n39 | ChunkSource::File { path, index, page } => (Some(path.to_string()), Some(*index), page.clone()),\n | --------------------------------------- matches all the relevant values\n40 | _ => (None, None, None),\n | ^ no value can reach this\n\nwarning: `ragit` (lib) generated 6 warnings\nwarning: `ragit-server` (lib) generated 2 warnings\nwarning: `ragit-server` (lib test) generated 2 warnings (2 duplicates)\n Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 53s\n Running unittests src/lib.rs (target/debug/deps/ragit_server-bf96f96f6173f1b9)\n Running unittests src/main.rs (target/debug/deps/ragit_server-bb9af593e9e8c58b)\n Doc-tests ragit_server\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/server: cargo test --release\n\n### status_code ###\n0\n\n### stdout ###\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\n\n### stderr ###\nwarning: unreachable pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> /home/ubuntu/Documents/ragit/src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unreachable pattern\n --> src/methods/search.rs:77:21\n |\n76 | ChunkSource::File { path, .. } => path == &file || path.starts_with(&dir),\n | ------------------------------ matches all the relevant values\n77 | _ => false,\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: unreachable pattern\n --> src/models/chunk.rs:40:13\n |\n39 | ChunkSource::File { path, index, page } => (Some(path.to_string()), Some(*index), page.clone()),\n | --------------------------------------- matches all the relevant values\n40 | _ => (None, None, None),\n | ^ no value can reach this\n\nwarning: `ragit-server` (lib) generated 2 warnings\nwarning: `ragit` (lib) generated 6 warnings\nwarning: `ragit-server` (lib test) generated 2 warnings (2 duplicates)\n Finished `release` profile [optimized] target(s) in 3m 39s\n Running unittests src/lib.rs (target/release/deps/ragit_server-7b46cb8209b770a9)\n Running unittests src/main.rs (target/release/deps/ragit_server-113859ca230f1eb4)\n Doc-tests ragit_server\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/server: cargo doc\n\n### status_code ###\n0\n\n### stdout ###\n\n\n### stderr ###\nwarning: unreachable pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> /home/ubuntu/Documents/ragit/src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: `ragit` (lib) generated 6 warnings\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 10s\n Generated /home/ubuntu/Documents/ragit/crates/server/target/doc/ragit_server/index.html\n\n\nTraceback (most recent call last):\n File \"/home/ubuntu/Documents/ragit/tests/tests.py\", line 791, in \n test()\n File \"/home/ubuntu/Documents/ragit/tests/cargo_tests.py\", line 24, in cargo_tests\n raise Exception(\"\\n\\n\".join(errors))\nException: \n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit: cargo test\n\n### status_code ###\n0\n\n### stdout ###\n\nrunning 6 tests\ntest chunk::multi_modal::into_multi_modal_contents_test ... ok\ntest uid::tests::uid_add_sub ... ok\ntest uid::tests::uid_endec ... ok\ntest chunk::tests::test_merge_and_convert_chunks ... ok\ntest uid::tests::uid_save_and_load ... ok\ntest index::file::markdown::tests::markdown_test ... ok\n\ntest result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\n\n### stderr ###\nwarning: unreachable pattern\n --> src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: `ragit` (lib) generated 6 warnings\nwarning: `ragit` (lib test) generated 6 warnings (6 duplicates)\n Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 15s\n Running unittests src/lib.rs (target/debug/deps/ragit-87e78c50035aed4c)\n Running unittests src/main.rs (target/debug/deps/rag-11fcff70671861b6)\n Doc-tests ragit\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit: cargo test --release\n\n### status_code ###\n0\n\n### stdout ###\n\nrunning 6 tests\ntest chunk::multi_modal::into_multi_modal_contents_test ... ok\ntest uid::tests::uid_add_sub ... ok\ntest uid::tests::uid_endec ... ok\ntest chunk::tests::test_merge_and_convert_chunks ... ok\ntest uid::tests::uid_save_and_load ... ok\ntest index::file::markdown::tests::markdown_test ... ok\n\ntest result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\n\n### stderr ###\nwarning: unreachable pattern\n --> src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: `ragit` (lib test) generated 6 warnings (6 duplicates)\nwarning: `ragit` (lib) generated 6 warnings\n Finished `release` profile [optimized] target(s) in 32.47s\n Running unittests src/lib.rs (target/release/deps/ragit-b6eb5255244a582c)\n Running unittests src/main.rs (target/release/deps/rag-ab95a7bf1e2e56b1)\n Doc-tests ragit\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit: cargo doc\n\n### status_code ###\n0\n\n### stdout ###\n\n\n### stderr ###\nwarning: unreachable pattern\n --> src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: `ragit` (lib) generated 6 warnings\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 37s\n Generated /home/ubuntu/Documents/ragit/target/doc/ragit/index.html and 1 other file\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit: cargo test --release --features=csv,korean,pdf,svg\n\n### status_code ###\n0\n\n### stdout ###\n\nrunning 6 tests\ntest chunk::multi_modal::into_multi_modal_contents_test ... ok\ntest uid::tests::uid_add_sub ... ok\ntest chunk::tests::test_merge_and_convert_chunks ... ok\ntest uid::tests::uid_endec ... ok\ntest uid::tests::uid_save_and_load ... ok\ntest index::file::markdown::tests::markdown_test ... ok\n\ntest result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\n\n### stderr ###\n Downloading crates ...\n Downloaded num_enum_derive v0.7.4\n Downloaded memmap2 v0.9.7\n Downloaded num_enum v0.7.4\n Downloaded zerocopy-derive v0.8.26\n Downloaded winnow v0.7.12\nwarning: unreachable pattern\n --> src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: `ragit` (lib) generated 6 warnings\nwarning: `ragit` (lib test) generated 6 warnings (6 duplicates)\n Finished `release` profile [optimized] target(s) in 3m 58s\n Running unittests src/lib.rs (target/release/deps/ragit-404b80a957d1afc7)\n Running unittests src/main.rs (target/release/deps/rag-afb9330097a0fbc0)\n Doc-tests ragit\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit: cargo doc --features=csv,korean,pdf,svg\n\n### status_code ###\n0\n\n### stdout ###\n\n\n### stderr ###\nwarning: unreachable pattern\n --> src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: `ragit` (lib) generated 6 warnings\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 44s\n Generated /home/ubuntu/Documents/ragit/target/doc/ragit/index.html and 1 other file\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/api: cargo test\n\n### status_code ###\n101\n\n### stdout ###\n\n\n### stderr ###\n Updating crates.io index\n Locking 357 packages to latest Rust 1.87.0 compatible versions\nerror[E0061]: this function takes 4 arguments but 5 arguments were supplied\n --> src/tests.rs:184:36\n |\n184 | let Pdl { messages, schema } = parse_pdl(\n | ^^^^^^^^^\n...\n189 | true,\n | ---- unexpected argument #5 of type `bool`\n |\nnote: function defined here\n --> /home/ubuntu/Documents/ragit/crates/pdl/src/lib.rs:116:8\n |\n116 | pub fn parse_pdl(\n | ^^^^^^^^^\nhelp: remove the extra argument\n |\n188 - true,\n |\n\nerror[E0061]: this function takes 3 arguments but 4 arguments were supplied\n --> src/tests.rs:43:43\n |\n43 | let Pdl { messages: messages1, .. } = parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\n...\n47 | true,\n | ---- unexpected argument #4 of type `bool`\n |\nnote: function defined here\n --> /home/ubuntu/Documents/ragit/crates/pdl/src/lib.rs:101:8\n |\n101 | pub fn parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\nhelp: remove the extra argument\n |\n46 - true,\n |\n\nerror[E0061]: this function takes 4 arguments but 5 arguments were supplied\n --> src/tests.rs:49:43\n |\n49 | let Pdl { messages: messages2, .. } = parse_pdl(\n | ^^^^^^^^^\n...\n54 | true,\n | ---- unexpected argument #5 of type `bool`\n |\nnote: function defined here\n --> /home/ubuntu/Documents/ragit/crates/pdl/src/lib.rs:116:8\n |\n116 | pub fn parse_pdl(\n | ^^^^^^^^^\nhelp: remove the extra argument\n |\n53 - true,\n |\n\nFor more information about this error, try `rustc --explain E0061`.\nerror: could not compile `ragit-api` (lib test) due to 3 previous errors\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/api: cargo test --release\n\n### status_code ###\n101\n\n### stdout ###\n\n\n### stderr ###\nerror[E0061]: this function takes 4 arguments but 5 arguments were supplied\n --> src/tests.rs:184:36\n |\n184 | let Pdl { messages, schema } = parse_pdl(\n | ^^^^^^^^^\n...\n189 | true,\n | ---- unexpected argument #5 of type `bool`\n |\nnote: function defined here\n --> /home/ubuntu/Documents/ragit/crates/pdl/src/lib.rs:116:8\n |\n116 | pub fn parse_pdl(\n | ^^^^^^^^^\nhelp: remove the extra argument\n |\n188 - true,\n |\n\nerror[E0061]: this function takes 3 arguments but 4 arguments were supplied\n --> src/tests.rs:43:43\n |\n43 | let Pdl { messages: messages1, .. } = parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\n...\n47 | true,\n | ---- unexpected argument #4 of type `bool`\n |\nnote: function defined here\n --> /home/ubuntu/Documents/ragit/crates/pdl/src/lib.rs:101:8\n |\n101 | pub fn parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\nhelp: remove the extra argument\n |\n46 - true,\n |\n\nerror[E0061]: this function takes 4 arguments but 5 arguments were supplied\n --> src/tests.rs:49:43\n |\n49 | let Pdl { messages: messages2, .. } = parse_pdl(\n | ^^^^^^^^^\n...\n54 | true,\n | ---- unexpected argument #5 of type `bool`\n |\nnote: function defined here\n --> /home/ubuntu/Documents/ragit/crates/pdl/src/lib.rs:116:8\n |\n116 | pub fn parse_pdl(\n | ^^^^^^^^^\nhelp: remove the extra argument\n |\n53 - true,\n |\n\nFor more information about this error, try `rustc --explain E0061`.\nerror: could not compile `ragit-api` (lib test) due to 3 previous errors\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/pdl: cargo test\n\n### status_code ###\n101\n\n### stdout ###\n\n\n### stderr ###\n Updating crates.io index\n Locking 197 packages to latest Rust 1.87.0 compatible versions\nerror[E0061]: this function takes 3 arguments but 4 arguments were supplied\n --> src/lib.rs:425:40\n |\n425 | let Pdl { messages, schema } = parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\n...\n429 | true,\n | ---- unexpected argument #4 of type `bool`\n |\nnote: function defined here\n --> src/lib.rs:101:8\n |\n101 | pub fn parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\nhelp: remove the extra argument\n |\n428 - true,\n |\n\nerror[E0061]: this function takes 4 arguments but 5 arguments were supplied\n --> src/lib.rs:457:40\n |\n457 | let Pdl { messages, schema } = parse_pdl(\n | ^^^^^^^^^\n...\n466 | true,\n | ---- unexpected argument #5 of type `bool`\n |\nnote: function defined here\n --> src/lib.rs:116:8\n |\n116 | pub fn parse_pdl(\n | ^^^^^^^^^\nhelp: remove the extra argument\n |\n465 - true,\n |\n\nFor more information about this error, try `rustc --explain E0061`.\nerror: could not compile `ragit-pdl` (lib test) due to 2 previous errors\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/pdl: cargo test --release\n\n### status_code ###\n101\n\n### stdout ###\n\n\n### stderr ###\nerror[E0061]: this function takes 3 arguments but 4 arguments were supplied\n --> src/lib.rs:425:40\n |\n425 | let Pdl { messages, schema } = parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\n...\n429 | true,\n | ---- unexpected argument #4 of type `bool`\n |\nnote: function defined here\n --> src/lib.rs:101:8\n |\n101 | pub fn parse_pdl_from_file(\n | ^^^^^^^^^^^^^^^^^^^\nhelp: remove the extra argument\n |\n428 - true,\n |\n\nerror[E0061]: this function takes 4 arguments but 5 arguments were supplied\n --> src/lib.rs:457:40\n |\n457 | let Pdl { messages, schema } = parse_pdl(\n | ^^^^^^^^^\n...\n466 | true,\n | ---- unexpected argument #5 of type `bool`\n |\nnote: function defined here\n --> src/lib.rs:116:8\n |\n116 | pub fn parse_pdl(\n | ^^^^^^^^^\nhelp: remove the extra argument\n |\n465 - true,\n |\n\nFor more information about this error, try `rustc --explain E0061`.\nerror: could not compile `ragit-pdl` (lib test) due to 2 previous errors\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/server: cargo test\n\n### status_code ###\n0\n\n### stdout ###\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\n\n### stderr ###\n Updating crates.io index\n Locking 444 packages to latest Rust 1.87.0 compatible versions\n Downloading crates ...\n Downloaded tracing-attributes v0.1.30\n Downloaded h2 v0.3.27\nwarning: unreachable pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> /home/ubuntu/Documents/ragit/src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unreachable pattern\n --> src/methods/search.rs:77:21\n |\n76 | ChunkSource::File { path, .. } => path == &file || path.starts_with(&dir),\n | ------------------------------ matches all the relevant values\n77 | _ => false,\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: unreachable pattern\n --> src/models/chunk.rs:40:13\n |\n39 | ChunkSource::File { path, index, page } => (Some(path.to_string()), Some(*index), page.clone()),\n | --------------------------------------- matches all the relevant values\n40 | _ => (None, None, None),\n | ^ no value can reach this\n\nwarning: `ragit` (lib) generated 6 warnings\nwarning: `ragit-server` (lib) generated 2 warnings\nwarning: `ragit-server` (lib test) generated 2 warnings (2 duplicates)\n Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 53s\n Running unittests src/lib.rs (target/debug/deps/ragit_server-bf96f96f6173f1b9)\n Running unittests src/main.rs (target/debug/deps/ragit_server-bb9af593e9e8c58b)\n Doc-tests ragit_server\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/server: cargo test --release\n\n### status_code ###\n0\n\n### stdout ###\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\n\n### stderr ###\nwarning: unreachable pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> /home/ubuntu/Documents/ragit/src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unreachable pattern\n --> src/methods/search.rs:77:21\n |\n76 | ChunkSource::File { path, .. } => path == &file || path.starts_with(&dir),\n | ------------------------------ matches all the relevant values\n77 | _ => false,\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: unreachable pattern\n --> src/models/chunk.rs:40:13\n |\n39 | ChunkSource::File { path, index, page } => (Some(path.to_string()), Some(*index), page.clone()),\n | --------------------------------------- matches all the relevant values\n40 | _ => (None, None, None),\n | ^ no value can reach this\n\nwarning: `ragit-server` (lib) generated 2 warnings\nwarning: `ragit` (lib) generated 6 warnings\nwarning: `ragit-server` (lib test) generated 2 warnings (2 duplicates)\n Finished `release` profile [optimized] target(s) in 3m 39s\n Running unittests src/lib.rs (target/release/deps/ragit_server-7b46cb8209b770a9)\n Running unittests src/main.rs (target/release/deps/ragit_server-113859ca230f1eb4)\n Doc-tests ragit_server\n\n\n\n\n#####################\n### path: command ###\n/home/ubuntu/Documents/ragit/crates/server: cargo doc\n\n### status_code ###\n0\n\n### stdout ###\n\n\n### stderr ###\nwarning: unreachable pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:323:13\n |\n319 | ChunkSource::File { path, index, page: _ } => {\n | ------------------------------------------ matches all the relevant values\n...\n323 | _ => { unmergeable_chunks.push(chunk); },\n | ^ no value can reach this\n |\n = note: `#[warn(unreachable_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:374:5\n |\n374 | / let ChunkSource::File {\n375 | | path: pre_path,\n376 | | index: pre_index,\n377 | | page: pre_page,\n378 | | } = pre.source.clone() else { unreachable!() };\n | |__________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n = note: `#[warn(irrefutable_let_patterns)]` on by default\n\nwarning: irrefutable `let...else` pattern\n --> /home/ubuntu/Documents/ragit/src/chunk.rs:379:5\n |\n379 | / let ChunkSource::File {\n380 | | path: post_path,\n381 | | index: post_index,\n382 | | page: post_page,\n383 | | } = post.source.clone() else { unreachable!() };\n | |___________________________^\n |\n = note: this pattern will always match, so the `else` clause is useless\n = help: consider removing the `else` clause\n\nwarning: irrefutable `if let` pattern\n --> /home/ubuntu/Documents/ragit/src/index/commands/recover.rs:113:16\n |\n113 | if let ChunkSource::File { path, index, page: _ } = &chunk_.source {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: this pattern will always match, so the `if let` is useless\n = help: consider replacing the `if let` with a `let`\n\nwarning: type `SearchType` is more private than the item `ActionResult::Search::r#type`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:374:9\n |\n374 | r#type: SearchType,\n | ^^^^^^^^^^^^^^^^^^ field `ActionResult::Search::r#type` is reachable at visibility `pub`\n |\nnote: but type `SearchType` is only usable at visibility `pub(self)`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:699:1\n |\n699 | enum SearchType {\n | ^^^^^^^^^^^^^^^\n = note: `#[warn(private_interfaces)]` on by default\n\nwarning: type `ArgumentTurn` is more private than the item `ActionState::argument_turns`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:549:5\n |\n549 | pub argument_turns: Vec,\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ActionState::argument_turns` is reachable at visibility `pub(agent)`\n |\nnote: but type `ArgumentTurn` is only usable at visibility `pub(self)`\n --> /home/ubuntu/Documents/ragit/src/agent/action.rs:682:1\n |\n682 | struct ArgumentTurn {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: `ragit` (lib) generated 6 warnings\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 10s\n Generated /home/ubuntu/Documents/ragit/crates/server/target/doc/ragit_server/index.html\n\n\n", "elapsed_ms": 1789641, "message": null }, "cargo_features": { "seq": 1, "pass": true, "error": null, "elapsed_ms": 569239, "message": null }, "add_and_rm": { "seq": 2, "pass": true, "error": null, "elapsed_ms": 124122, "message": null }, "add_and_rm2": { "seq": 3, "pass": true, "error": null, "elapsed_ms": 41711, "message": null }, "ignore": { "seq": 4, "pass": true, "error": null, "elapsed_ms": 10745, "message": null }, "recover": { "seq": 5, "pass": true, "error": null, "elapsed_ms": 11241, "message": null }, "cannot_read_images": { "seq": 6, "pass": true, "error": null, "elapsed_ms": 3796, "message": null }, "clone": { "seq": 7, "pass": true, "error": null, "elapsed_ms": 364288, "message": null }, "clone_empty": { "seq": 8, "pass": true, "error": null, "elapsed_ms": 11634, "message": null }, "pull": { "seq": 9, "pass": true, "error": null, "elapsed_ms": 18055, "message": null }, "pull_ragithub": { "seq": 10, "pass": true, "error": null, "elapsed_ms": 6722, "message": null }, "server": { "seq": 11, "pass": true, "error": null, "elapsed_ms": 333710, "message": null }, "server_ai_model": { "seq": 12, "pass": true, "error": null, "elapsed_ms": 1598, "message": null }, "server_permission": { "seq": 13, "pass": true, "error": null, "elapsed_ms": 85153, "message": null }, "server_file_tree": { "seq": 14, "pass": true, "error": null, "elapsed_ms": 57628, "message": null }, "fetch_models": { "seq": 15, "pass": true, "error": null, "elapsed_ms": 36096, "message": null }, "cli": { "seq": 16, "pass": true, "error": null, "elapsed_ms": 19037, "message": null }, "outside": { "seq": 17, "pass": true, "error": null, "elapsed_ms": 11575, "message": null }, "archive": { "seq": 18, "pass": true, "error": null, "elapsed_ms": 480055, "message": null }, "many_chunks": { "seq": 19, "pass": true, "error": null, "elapsed_ms": 1875149, "message": null }, "erroneous_llm": { "seq": 20, "pass": true, "error": null, "elapsed_ms": 241959, "message": null }, "pdl_escape": { "seq": 21, "pass": true, "error": null, "elapsed_ms": 17625, "message": null }, "many_jobs": { "seq": 22, "pass": true, "error": null, "elapsed_ms": 461904, "message": null }, "ls": { "seq": 23, "pass": true, "error": null, "elapsed_ms": 275605, "message": null }, "meta": { "seq": 24, "pass": true, "error": null, "elapsed_ms": 5776, "message": null }, "symlink": { "seq": 25, "pass": true, "error": null, "elapsed_ms": 12654, "message": null }, "gh_issue_20": { "seq": 26, "pass": true, "error": null, "elapsed_ms": 10864, "message": null }, "ii": { "seq": 27, "pass": false, "error": "tfidf result on term 'advertis produc whether necessari search' is not close enough. error: `answer[1] not in approximation`, answer: ['1b1d98c1d7d571a34cf86a7f2bbec417ddd122f5a52de4280000000100000c15', 'c5406542eea53121aab7f4743be81cf947da75ce007f3c180000000100000377', '27b6fc2b9f4e9bd9a5f089ffc5d90cdf1c584013bd30d1a00000000100000fa9', '9ced635e349957dee5be69535354356fb8638c0bc871fb7f00000001000007a5', 'e8c8f62816bd7ccda2f21296398822bff29e7c9d2f3e2f5e0000000100000e5c', '52e45c0f1150854d440e7c7dedd85f6d59b395c8aeff3c640000000100000c47', 'f4c5567a659291a7a41aae14a66abd0d9a74d9598a920ced0000000100000fa2', 'c52095466451a4240a9572e4b191e704c110c578be60155d0000000100000d36', 'e343362a5dd71a44378d83653d0d2c55ff01b6d907e3d7420000000100000801', '6c464947dc44f0c3165311044c6db16b34341b51b91f34000000000100000fa2'], approximation: ['1b1d98c1d7d571a34cf86a7f2bbec417ddd122f5a52de4280000000100000c15', '52e45c0f1150854d440e7c7dedd85f6d59b395c8aeff3c640000000100000c47', 'c52095466451a4240a9572e4b191e704c110c578be60155d0000000100000d36', 'e8c8f62816bd7ccda2f21296398822bff29e7c9d2f3e2f5e0000000100000e5c', '6c464947dc44f0c3165311044c6db16b34341b51b91f34000000000100000fa2', 'aaca4b0160f181c6635c770f2faa237611237c9159d4f2de0000000100000fa2', 'b5960bc66c1407deff56f522e1dc06c89b435e5bbec067370000000100000d88', 'f4c5567a659291a7a41aae14a66abd0d9a74d9598a920ced0000000100000fa2', '8601f65738a3bc5b457682822aabd919351a261e9c653dcd0000000100000fa7', '3b51f2a1241ff95f03406ad001d1a583489b1c9ebae929160000000100000a72']\nTraceback (most recent call last):\n File \"/home/ubuntu/Documents/ragit/tests/ii.py\", line 100, in ii_worker\n raise AssertionError(f\"answer[{i}] not in approximation\")\nAssertionError: answer[1] not in approximation\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/ubuntu/Documents/ragit/tests/tests.py\", line 791, in \n test()\n File \"/home/ubuntu/Documents/ragit/tests/ii.py\", line 49, in ii\n ii_worker()\n File \"/home/ubuntu/Documents/ragit/tests/ii.py\", line 116, in ii_worker\n raise AssertionError(f\"tfidf result on term '{term}' is not close enough. error: `{e}`, answer: {answer}, approximation: {approximation}\")\nAssertionError: tfidf result on term 'advertis produc whether necessari search' is not close enough. error: `answer[1] not in approximation`, answer: ['1b1d98c1d7d571a34cf86a7f2bbec417ddd122f5a52de4280000000100000c15', 'c5406542eea53121aab7f4743be81cf947da75ce007f3c180000000100000377', '27b6fc2b9f4e9bd9a5f089ffc5d90cdf1c584013bd30d1a00000000100000fa9', '9ced635e349957dee5be69535354356fb8638c0bc871fb7f00000001000007a5', 'e8c8f62816bd7ccda2f21296398822bff29e7c9d2f3e2f5e0000000100000e5c', '52e45c0f1150854d440e7c7dedd85f6d59b395c8aeff3c640000000100000c47', 'f4c5567a659291a7a41aae14a66abd0d9a74d9598a920ced0000000100000fa2', 'c52095466451a4240a9572e4b191e704c110c578be60155d0000000100000d36', 'e343362a5dd71a44378d83653d0d2c55ff01b6d907e3d7420000000100000801', '6c464947dc44f0c3165311044c6db16b34341b51b91f34000000000100000fa2'], approximation: ['1b1d98c1d7d571a34cf86a7f2bbec417ddd122f5a52de4280000000100000c15', '52e45c0f1150854d440e7c7dedd85f6d59b395c8aeff3c640000000100000c47', 'c52095466451a4240a9572e4b191e704c110c578be60155d0000000100000d36', 'e8c8f62816bd7ccda2f21296398822bff29e7c9d2f3e2f5e0000000100000e5c', '6c464947dc44f0c3165311044c6db16b34341b51b91f34000000000100000fa2', 'aaca4b0160f181c6635c770f2faa237611237c9159d4f2de0000000100000fa2', 'b5960bc66c1407deff56f522e1dc06c89b435e5bbec067370000000100000d88', 'f4c5567a659291a7a41aae14a66abd0d9a74d9598a920ced0000000100000fa2', '8601f65738a3bc5b457682822aabd919351a261e9c653dcd0000000100000fa7', '3b51f2a1241ff95f03406ad001d1a583489b1c9ebae929160000000100000a72']\n", "elapsed_ms": 572273, "message": null }, "cat_file": { "seq": 28, "pass": true, "error": null, "elapsed_ms": 59385, "message": null }, "generous_file_reader": { "seq": 29, "pass": true, "error": null, "elapsed_ms": 1167694, "message": null }, "clean_up_erroneous_chunk": { "seq": 30, "pass": true, "error": null, "elapsed_ms": 4653, "message": null }, "images": { "seq": 31, "pass": false, "error": "\nTraceback (most recent call last):\n File \"/home/ubuntu/Documents/ragit/tests/tests.py\", line 791, in \n test()\n File \"/home/ubuntu/Documents/ragit/tests/images.py\", line 65, in images\n assert \"removed 6 files\" in cargo_run([\"gc\", \"--images\"], stdout=True) # 3 images and 3 descriptions\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError\n", "elapsed_ms": 13452, "message": null }, "markdown_reader": { "seq": 32, "pass": true, "error": null, "elapsed_ms": 26237, "message": null }, "csv_reader": { "seq": 33, "pass": true, "error": null, "elapsed_ms": 18945, "message": null }, "real_repos": { "seq": 34, "pass": true, "error": null, "elapsed_ms": 9466318, "message": "started creating a knowledge-base of ragit\n\nfinished creating a knowledge-base of ragit: it took 135 seconds\n\n----- ragit (0 errors) -----\n\n\nstarted creating a knowledge-base of git\n\nfinished creating a knowledge-base of git: it took 730 seconds\n\n----- git (0 errors) -----\n\n\nstarted creating a knowledge-base of postgresql\n\nfinished creating a knowledge-base of postgresql: it took 1324 seconds\n\n----- postgresql (0 errors) -----\n\n\nstarted creating a knowledge-base of rustc\n\nfinished creating a knowledge-base of rustc: it took 175 seconds\n\n----- rustc (0 errors) -----\n\n\nstarted creating a knowledge-base of docker\n\nfinished creating a knowledge-base of docker: it took 1209 seconds\n\n----- docker (39 errors) -----\n `content/get-started/docker-concepts/the-basics/what-is-an-image.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/get-started/docker-concepts/the-basics/images/click-image.webp?border=true&w=1050&h=400`)\n `content/get-started/docker-concepts/the-basics/what-is-docker-compose.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/get-started/docker-concepts/the-basics/images/todo-list-delete.webp?w=930&h=400`)\n `content/get-started/docker-concepts/the-basics/what-is-a-container.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/get-started/docker-concepts/the-basics/images/search-the-docker-image.webp?border=true&w=1000&h=700`)\n `content/get-started/docker-concepts/the-basics/what-is-a-registry.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/get-started/docker-concepts/the-basics/images/dockerhub-signup.webp?border`)\n `content/get-started/docker-concepts/running-containers/sharing-local-files.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/get-started/docker-concepts/running-containers/images/mounted-files.webp?border=true`)\n `content/get-started/docker-concepts/building-images/multi-stage-builds.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/get-started/docker-concepts/building-images/images/multi-stage-builds-spring-initializer.webp?border=true`)\n `content/get-started/docker-concepts/building-images/understanding-image-layers.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/get-started/docker-concepts/building-images/images/container_image_layers.webp?border=true`)\n `content/get-started/workshop/07_multi_container.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/get-started/workshop/images/multi-container.webp?w=350h=250`)\n `content/get-started/introduction/get-docker-desktop.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/get-started/introduction/../docker-concepts/the-basics/images/access-the-frontend.webp?border=true`)\n `content/manuals/scout/integrations/team-collaboration/slack.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/scout/integrations/team-collaboration/../../images/scout-slack-notification.png?border=true \"Example Slack notification from Docker Scout\"`)\n `content/manuals/scout/explore/dashboard.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/scout/explore/../images/dashboard-overview.webp?border=true`)\n `content/manuals/scout/explore/metrics-exporter.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/scout/explore/../images/scout-metrics-prom-target.png \"Docker Scout metrics exporter Prometheus target\"`)\n `content/manuals/scout/explore/exceptions.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/./scout/images/suppressed-cve-cli.png`)\n `content/manuals/extensions/private-marketplace.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/./assets/images/extensions-private-marketplace.webp`)\n `content/manuals/extensions/_index.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/./assets/images/extensions.webp`)\n `content/manuals/extensions/extensions-sdk/architecture/_index.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/extensions/extensions-sdk/architecture/images/extensions-architecture.png?w=600h=400`)\n `content/manuals/engine/storage/drivers/_index.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/engine/storage/drivers/images/container-layers.webp?w=450&h=300`)\n `content/manuals/engine/storage/drivers/zfs-driver.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/engine/storage/drivers/images/zfs_clones.webp?w=450`)\n `content/manuals/engine/storage/drivers/btrfs-driver.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/engine/storage/drivers/images/btfs_subvolume.webp?w=350&h=100`)\n `content/manuals/engine/swarm/how-swarm-mode-works/services.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/engine/swarm/how-swarm-mode-works/../images/services-diagram.webp?w=550`)\n `content/manuals/engine/swarm/how-swarm-mode-works/nodes.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/./engine/swarm/images/swarm-diagram.webp`)\n `content/manuals/engine/swarm/how-swarm-mode-works/pki.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/./engine/swarm/images/tls.webp?w=600`)\n `content/manuals/engine/network/drivers/ipvlan.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/engine/network/drivers/images/macvlan-bridge-ipvlan-l2.webp?w=700`)\n `content/manuals/build-cloud/usage.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/./build/images/set-default-builder-gui.webp`)\n `content/manuals/enterprise/security/roles-and-permissions.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/enterprise/security/../images/roles-and-permissions-member-editor-roles.png`)\n `content/manuals/desktop/use-desktop/builds.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/desktop/use-desktop/../images/build-ui-jaeger-screenshot.png \"Screenshot of a build trace in the Jaeger UI\"`)\n `content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/./assets/images/mcp_servers.png`)\n `content/manuals/scout/policy/scores.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/scout/policy/../images/score-a-shiny.png?w=450px`)\n `content/manuals/ai/gordon/_index.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/ai/gordon/../../images/gordon-run-ctr.png`)\n `content/manuals/build/building/multi-platform.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/./build/images/single-vs-multiplatform-image.svg`)\n `content/manuals/admin/company/_index.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/./admin/images/docker-admin-structure.webp`)\n `content/contribute/components/images.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/./assets/images/footer_moby_icon.png`)\n `content/manuals/copilot/usage.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/copilot/images/copilot-button.png?w=400px`)\n `content/manuals/copilot/examples.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/copilot/images/copilot-vuln-report.png?w=500px&border=1`)\n `content/manuals/admin/organization/_index.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/./admin/images/org-structure.webp`)\n `layouts/shortcodes/admin-sso-config.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/./docker-hub/images/saml-create-connection.png`)\n `content/guides/java/develop.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/guides/java/images/debug-menu.webp?w=300`)\n `content/manuals/engine/storage/drivers/device-mapper-driver.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/docker/content/manuals/engine/storage/drivers/images/two_dm_container.webp?w=450&h=100`)\n `content/manuals/engine/release-notes/27.md`: ReqwestError(reqwest::Error { kind: Decode, source: reqwest::Error { kind: Body, source: TimedOut } })\n\nstarted creating a knowledge-base of kubernetes\n\nfinished creating a knowledge-base of kubernetes: it took 2564 seconds\n\n----- kubernetes (154 errors) -----\n `content/en/releases/release.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/releases/release-cycle.jpg`)\n `content/en/docs/test.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/pencil.png`)\n `content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/docs/ui-dashboard.png`)\n `content/en/docs/tasks/administer-cluster/reserve-compute-resources.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/docs/node-capacity.svg`)\n `content/en/docs/tasks/administer-cluster/ip-masq-agent.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/docs/ip-masq.png`)\n `content/en/docs/tasks/administer-cluster/migrating-from-dockershim/check-if-dockershim-removal-affects-you.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-05-24-kubernetes-containerd-integration-goes-ga/cri-containerd.png`)\n `content/en/docs/tasks/administer-cluster/memory-manager.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/docs/memory-manager-diagram.svg`)\n `content/en/docs/tasks/extend-kubernetes/configure-aggregation-layer.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/docs/aggregation-api-auth-flow.png`)\n `content/en/docs/setup/production-environment/tools/kubeadm/ha-topology.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/kubeadm/kubeadm-ha-topology-stacked-etcd.svg`)\n `content/en/docs/concepts/overview/_index.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/docs/Container_Evolution.svg`)\n `content/en/docs/concepts/architecture/cloud-controller.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/docs/components-of-kubernetes.svg`)\n `content/en/docs/concepts/cluster-administration/logging.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/docs/user-guide/logging/logging-node-level.png`)\n `content/en/docs/concepts/security/controlling-access.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/docs/admin/access-control-overview.svg`)\n `content/en/blog/_posts/2018-10-08-support-for-azure-vmss.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-10-08-support-for-azure-vmss/sample-azure-cluster.png`)\n `content/en/blog/_posts/2018-05-17-gardener-the-kubernetes-botanist.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-05-17-gardener-the-kubernetes-botanist/dashboard.gif`)\n `content/en/blog/_posts/2017-02-00-Inside-Jd-Com-Shift-To-Kubernetes-From-Openstack.md`: FileReaderError(\"GET https://upload.wikimedia.org/wikipedia/en/7/79/JD_logo.png returned 403.\")\n `content/en/docs/tutorials/services/source-ip.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/docs/sourceip-externaltrafficpolicy.svg`)\n `content/en/blog/_posts/2019-08-06-OPA-Gatekeeper-Policy-and-Governance-for-Kubernetes.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2019-08-06-opa-gatekeeper/v3.png`)\n `README.md`: ImageError(Unsupported(UnsupportedError { format: Unknown, kind: Format(Unknown) }))\n `content/en/blog/_posts/2018-06-06-4-years-of-k8s.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-06-06-4-years-of-k8s/k8s-first-commit.png`)\n `content/en/blog/_posts/2017-04-00-Configuring-Private-Dns-Zones-Upstream-Nameservers-Kubernetes.md`: FileReaderError(\"GET https://2.bp.blogspot.com/-Jj4r6bGt1f8/WORRugYMobI/AAAAAAAABBE/HXH-wBGqweQcJbyQA3bqnUtYeN5aOtE9ACEw/s400/dns2.png returned 404.\")\n `content/en/blog/_posts/2017-02-00-Run-Deep-Learning-With-Paddlepaddle-On-Kubernetes.md`: FileReaderError(\"GET https://3.bp.blogspot.com/-Mwn3FU9hffI/WJk8QBxA6SI/AAAAAAAAA8w/AS5QoMdPTN8bL9jnixlsCXzj1IfYerhRQCLcB/s200/baidu_research_logo_rgb.png returned 404.\")\n `content/en/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md`: FileReaderError(\"GET https://raw.githubusercontent.com/kubernetes/examples/master/mysql-wordpress-pd/WordPress.png returned 404.\")\n `content/en/blog/_posts/2017-11-00-Certified-Kubernetes-Conformance.md`: FileReaderError(\"GET https://1.bp.blogspot.com/-YasPeoIh8tA/Wg28rH4dzXI/AAAAAAAAAHg/Hfk2dnUoav4XMefGyjzMWdJMZbu1QJFagCK4BGAYYCw/s200/certified_kubernetes_color.png returned 404.\")\n `content/en/blog/_posts/2020-12-08-kubernetes-release-1.20.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2020-12-08-kubernetes-1.20-release-announcement/laser.png`)\n `content/en/blog/_posts/2017-10-00-Enforcing-Network-Policies-In-Kubernetes.md`: FileReaderError(\"GET https://lh4.googleusercontent.com/e8JzhKYICOzh44sHcedjt4IRRpw2zpFNbJ2UY83fBdWYCIvFVSlHJNmIwLzIHVxrScc2eNCyv37mm903TVT9VkMuHPxe_5Hk8CvJTqGsSK7WtEDCbn1Q25S-o_kHcEiKUUl1NV9g returned 404.\")\n `content/en/blog/_posts/2020-01-15-Kubernetes-on-MIPS.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2020-01-15-Kubernetes-on-MIPS/kubernetes-on-mips.png`)\n `content/en/blog/_posts/2018-07-20-history-kubernetes-community.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-07-20-history-kubernetes-community.png`)\n `content/en/blog/_posts/2016-07-00-Kubernetes-In-Rancher-Further-Evolution.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh3.googleusercontent.com/C8wg_8Vih0evMIAEvCaX3IAbARddxhk5S_Mzv9jdpt87njQR9cbEEGZnFiWrKx7TPm-uPO1V4TP4LDOKvLg7gJ-19-esVMNhbkSf6fXSrbE3nS3Sr45rdP1c-VBuzShgpn9jDCiQ\", source: TimedOut })\n `content/en/blog/_posts/2017-02-00-Postgresql-Clusters-Kubernetes-Statefulsets.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh5.googleusercontent.com/tGg-37a7SoVQR9Zn3R209iKbkegX5XqRQdRa5ZD6q-vpm1hWqtBxnhOBiGw2uHHkZ5lc_VBKrSEEP29BmAzoWc1xydV7G4I8kaQqVZoYOdRCvBf755Rxf9aj-pm7FhfmgECBW3gR\", source: TimedOut })\n `content/en/blog/_posts/2020-05-05-introducing-podtopologyspread.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2020-05-05-introducing-podtopologyspread/api.png`)\n `content/en/blog/_posts/2016-07-00-Cross-Cluster-Services.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh6.googleusercontent.com/LEMtlOvr6i_iK1DwVmS-ltSKU5PmjrrN287sxwvyiGH-QLjOhF25RUjVTVt4IUo-0oGXvj8bxfRFCxTZa_5Qfv_LjxglshTxcnpm73E6Uy7MgVPTiI2GevdwAogHenZIb2S6A6lr\", source: TimedOut })\n `content/en/blog/_posts/2018-03-00-Apache-Spark-23-With-Native-Kubernetes.md`: FileReaderError(\"GET https://1.bp.blogspot.com/-hl4pnOqiH4M/Wp4w9QmzghI/AAAAAAAAAL4/jcWoDOKEp3Y6lCzGxzTOlbvl2Mq1-2YeQCK4BGAYYCw/s1600/Screen%2BShot%2B2018-03-05%2Bat%2B10.10.14%2BPM.png returned 404.\")\n `content/en/blog/_posts/2016-06-00-Bringing-End-To-End-Testing-To-Azure.md`: FileReaderError(\"GET https://3.bp.blogspot.com/-U2KYWNzJpFI/V3QMYbKRX8I/AAAAAAAAAks/SqEvCDJHJ8QtbB9hJVM8WAkFuAUlrFl8ACLcB/s400/Kubernetes%2BBlog%2BPost%2B-%2BKubernetes%2Bon%2BAzure%2B%2528Part%2B1%2529.png returned 404.\")\n `content/en/blog/_posts/2016-03-00-How-Container-Metadata-Changes-Your-Point-Of-View.md`: FileReaderError(\"GET https://2.bp.blogspot.com/-7hrB4V8zAkg/VvmJRpLcQQI/AAAAAAAAAYA/Fz7pul56ZQ8Xus6u4zHBFAwe8HJesyeRw/s640/Kubernetes%2BMetadata%2BBlog%2B2.png returned 404.\")\n `content/en/blog/_posts/2018-04-24-kubernetes-application-survey-results-2018.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/survey-results/2018-application-survey/minikube-os-usage.png`)\n `content/en/blog/_posts/2018-08-02-dynamically-expand-volume-csi.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-08-02-dynamically-expand-volume-csi/csi-diagram.png`)\n `content/en/blog/_posts/2016-03-00-1000-Nodes-And-Beyond-Updates-To-Kubernetes-Performance-And-Scalability-In-12.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh5.googleusercontent.com/ea2yIJitkQn0aPP9TnamEo9YybBE-r9GfhtOcbu57wG1oZvIUD8rL5_crbQrlUob4oX4G8jY1F0W4Qx2U3B8dPwyhc2gcKGBIVbl_4lJg1xUg91-Kg5HSmrUj-g92gMx7WdmfZVx\", source: TimedOut })\n `content/en/blog/_posts/2016-10-00-Helm-Charts-Making-It-Simple-To-Package-And-Deploy-Apps-On-Kubernetes.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh5.googleusercontent.com/l6CowJsfGRoH2wgWHlxtId4Foil2Fcs7AZ0NbOT7jGrXliESRSc6jNH8bdMmfpU-_gDRqy9UDSYCj7WaSKF1ZLK1a7t2qNo5JaIOglozee2SDIPteuOZ6aHzNMyBBJXukBv0zF9x\", source: TimedOut })\n `content/en/blog/_posts/2016-10-00-Production-Kubernetes-Dashboard-UI-1-4-improvements_3.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh5.googleusercontent.com/q2xNqiQkdcaAY9UdAlxXJkhofpb-AwMKoxE8Jdd3qRB0v8qffi4_s8GUaszmYGclNemAWCrEmbTqegKPfRoUgYHy9aRAYILXqRX1BCdLBQCUGHd-Euv0PuT5VI9viT3iSXBRHshv\", source: TimedOut })\n `content/en/blog/_posts/2016-09-00-How-Qbox-Saved-50-Percent-On-Aws-Bills.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh6.googleusercontent.com/vV7vzgS8fl-wJSTVbtE7aveWwBf2kXH348ItU0uvakWa-TeO9sJQxr9IuccNa1L9NOLqIBWEDg1ASgChjoBdeDgkiazJ0z9x4r439YukgVz3yOXcouCZXaPjMQOXjmWTm8tBBOqh\", source: TimedOut })\n `content/en/blog/_posts/2016-03-00-Kubernetes-In-Enterprise-With-Fujitsus.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh3.googleusercontent.com/s_ZBCL1arPc3SiO2vW6OYcNIp0ZPPoNboFQX1ly0ZB_m8LTJ5krzQZjR9_xyHBHc6k6KRHpTmzmoidUqhDiV4f6SMRR7wmb0-9CgXo1TRQQFa-4mwlOfri6QieHPYdHVg2B0K2oE\", source: TimedOut })\n `content/en/blog/_posts/2016-11-00-Visualize-Kubelet-Performance-With-Node-Dashboard.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh5.googleusercontent.com/xREqs-NpWw2isELQ3YekYYMXRsY0fTs0t8lBR5xbZDB02mOAfQAnidXo8AF9hOICBUFI20kD6BVvTR0vDS1ErgQ8fVxP530TWUkyZTeV_KziI9uHvZOrHk5E304MeiLfdEPG2fzz\", source: TimedOut })\n `content/en/blog/_posts/2020-12-16-third-party-device-metrics-hits-ga.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2020-12-16-third-party-device-metrics-hits-ga/metrics-chart.png`)\n `content/en/blog/_posts/2024-05-20-cloud-provider-migration.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/docs/components-of-kubernetes.svg`)\n `content/en/blog/_posts/2020-03-25-kubernetes-1.18-release-announcement.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2020-03-25-kubernetes-1.18-release-announcement/release-logo.png`)\n `content/en/blog/_posts/2021-08-04-kubernetes-release-1.22.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2021-08-04-kubernetes-release-1.22/kubernetes-1.22.png`)\n `content/en/blog/_posts/2015-05-00-Kubernetes-On-Openstack.md`: FileReaderError(\"GET https://3.bp.blogspot.com/-EOrCHChZJZE/VVZzq43g6CI/AAAAAAAAF-E/JUilRHk369E/s400/Untitled%2Bdrawing.jpg returned 404.\")\n `content/en/blog/_posts/2016-04-00-Kubernetes-Network-Policy-APIs.md`: FileReaderError(\"GET https://lh5.googleusercontent.com/zMEpLMYmask-B-rYWnbMyGb0M7YusPQFPS6EfpNOSLbkf-cM49V7rTDBpA6k9-Zdh2soMul39rz9rHFJfL-jnEn_mHbpg0E1WlM-wjU-qvQu9KDTQqQ9uBmdaeWynDDNhcT3UjX5 returned 404.\")\n `content/en/blog/_posts/2018-07-11-dynamic-kubelet-configuration.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-07-11-dynamic-kubelet-configuration/kubelet-diagram.png`)\n `content/en/blog/_posts/2017-03-00-Scalability-Updates-In-Kubernetes-1-6.md`: FileReaderError(\"GET https://lh6.googleusercontent.com/LdjAOmsLGdxLNTo222uif1V0Eupoyaq6dY-leg1FBGkyQxUNt5ROjrFh_XzW27P7nP865FYUVwTOaUpDEnirdHSBKvh9xl8PsBNEFlVWpJUbnj0FEdLX4MywqbjwK9oc8avLRNAX \\\"Wykres\\\" returned 400.\")\n `content/en/blog/_posts/2017-12-00-Paddle-Paddle-Fluid-Elastic-Learning.md`: FileReaderError(\"GET https://1.bp.blogspot.com/-sp_sVZvhMbU/WiYgXMLQKuI/AAAAAAAAAIM/uc_3iT9BZmAtQGiGGSErgueHK71uWMBCACEwYBhgL/s640/figure-1.png returned 404.\")\n `content/en/blog/_posts/2018-06-05-meet-our-contributors-youtube-mentoring-series.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-06-05-meet-our-contributors-youtube-mentoring-series/meet-our-contributors.png`)\n `content/en/blog/_posts/2015-05-00-Resource-Usage-Monitoring-Kubernetes.md`: FileReaderError(\"GET https://2.bp.blogspot.com/-6Bu15356Zqk/V4mGINP8eOI/AAAAAAAAAmk/-RwvkJUt4rY2cmjqYFBmRo25FQQPRb27ACEw/s640/monitoring-architecture.png returned 404.\")\n `content/en/blog/_posts/2018-01-00-Core-Workloads-Api-Ga.md`: FileReaderError(\"GET https://lh5.googleusercontent.com/0T36knExav8JAr41ict3EVOPOqaIJPMBQrOT2N5jehXw_12jEILD87tKW8BvaK2UCOtCHzS700Oki8Fxja3bF37J3eceanEBjbHpRsATBhC1y3P0mas7DvPeQjt6QmfYuNWDqZVl returned 404.\")\n `content/en/blog/_posts/2020-09-02-scaling-kubernetes-networking-endpointslices.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2020-09-02-scaling-kubernetes-networking-endpointslices/endpoint-slices.png`)\n `content/en/blog/_posts/2021-12-21-admission-controllers-for-container-drift/index.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/sequence_diagram.svg`)\n `content/en/blog/_posts/2016-04-00-Using-Deployment-Objects-With.md`: ReqwestError(reqwest::Error { kind: Decode, source: reqwest::Error { kind: Body, source: TimedOut } })\n `content/en/blog/_posts/2016-03-00-State-Of-Container-World-February-2016.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh6.googleusercontent.com/Ug0Bzcj6LZ__KYwUsHgMB5MFGnRHhexu6YKPaooShWCCpfYsCiynpod5cTZR_WnQdm4ox3GcHjMuGkfG863C3aiMy-sP-mX2vWJCv5gY3JzjOvCbzIvz0_pNZJSlHieTNWZZRJCv\", source: TimedOut })\n `content/en/blog/_posts/2018-10-01-health-checking-grpc.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2019-09-30-health-checking-grpc/options.png`)\n `content/en/blog/_posts/2021-04-22-gateway-api/index.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/content/en/blog/_posts/2021-04-22-gateway-api/route-binding.png `)\n `content/en/blog/_posts/2017-11-00-Containerd-Container-Runtime-Options-Kubernetes.md`: ReqwestError(reqwest::Error { kind: Decode, source: reqwest::Error { kind: Body, source: TimedOut } })\n `content/en/blog/_posts/2016-07-00-Bringing-End-To-End-Kubernetes-Testing-To-Azure-2.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh6.googleusercontent.com/TZiUu4sQ7G0XDvJgv9a1a4UEdxntOZDT9I3S42c8BOAyigxaysKmhJMen8vLaJ3UYaYKPIG9h-cyBOvTSI6kBgqnUQabe4xxZXhrUyVKGEaCDUnmNlBo__HNjzoYc_U7zM77_Dxe\", source: TimedOut })\n `content/en/blog/_posts/2018-04-25-open-source-charts-2017.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog-logging/2018-04-24-open-source-charts-2017/most-discussed.png`)\n `content/en/blog/_posts/2020-05-21-wsl2-dockerdesktop-k8s.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2020-05-21-wsl2-dockerdesktop-k8s/wsl2-windows-store-terminal.png`)\n `content/en/blog/_posts/2015-11-00-Monitoring-Kubernetes-With-Sysdig.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://2.bp.blogspot.com/-Ya1W3Z_ETcs/Vkz8AN3XtfI/AAAAAAAAAs8/HNv_TvHpfHU/s640/sisdig%2B2.png\", source: TimedOut })\n `content/en/blog/_posts/2019-09-18-kubernetes-1-16-release-announcement.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2019-09-18-kubernetes-1-16-release-announcement/endpoint-slices.png`)\n `content/en/blog/_posts/2017-10-00-Software-Conformance-Certification.md`: FileReaderError(\"GET https://lh3.googleusercontent.com/-seEomiDY4syaWVbl0KT7k9fcJmylYK1n9_VANKyo5oIP5gH9MuIq_dcB_q3qvjE5YzOdM2HthMyc_wduC4xLmPStsb6Q6ASPBfOWi7ssGylfy1I7Pbd64THobytWa_1JX-pscH4 returned 404.\")\n `content/en/blog/_posts/2016-07-00-Dashboard-Web-Interface-For-Kubernetes.md`: ReqwestError(reqwest::Error { kind: Redirect, url: \"https://lh3.googleusercontent.com/fife/ALs6j_FR-_vgQGCDLPYtU2kwUao9izXev0cutrgDfTygTYyBUVyXZB64MCVxkJhcgnMnHoE9BUXSqQN-yZSTemKhD8QBgZ0L83Y5JOPzumRECOxwa3STZg4BSiLiEWjlNhYLyzycY2x3XcfVachMPQpSQ7MVjaF44G1irTDLE3OwGmE_hU-GqcmkhGiKnwcgS9OGDtSFb2frlcCY7mVbB1aucSIkpjAUnKkvmbXwXpUGOfy7lNeI0BXdlrMhgWIeyMN3UnmQJtO5hI0-KJKJK0HU3Hpc5GFHT9jFIAwwZgYlxDlvznz-WZ0PzyvfnEnAzeOf32PFmZy-Z--oY2gkU_EdhfiaBdsIHcJqTRD6npr2rsHAp9cWAM-qz8iL4_YcFoJUsnG1IxLsDrHryXBrgXkeyp6hQHXL-rgllUA77uLRLN_yGLQqRH9QLungjitw5kd7gJgJ8aAx0WZ3tJZHu8H6P763aQ7rj2QUZ-GWxSuHZX6iOnQ-jxnM3cYkzfpReVUT-ohfpyRWqL5FDiSQ7NdOO3PyjzuonfPPaIhU9qMvDWI9yDsn=s1600\", source: TooManyRedirects })\n `content/en/blog/_posts/2017-01-00-Running-Mongodb-On-Kubernetes-With-Statefulsets.md`: ReqwestError(reqwest::Error { kind: Redirect, url: \"https://lh3.googleusercontent.com/fife/ALs6j_HK9mvXUTtPhsVQNXf3blzfsBNeREHLt-ottNBoUdMyZBfdxwwq8T-NRIz6R5e7PwxjOcKkdX5VOF8wed5rURGo4F34n3Un0Ir4hk-b1Sbm7H3cXCCsnU0nPLaayKwQNlJkA_7Q57qws4ZkQ34_BLWjS5RZ25vzEg94zI5aELDVJ_4HMMhlHZgyyxk6QAEXzzO5y1Ueu7ydbOyiDhFOddQOKaeTAwiEQl-E0KTJcj7Akz2psFdU8TNigp0W8dRlHImsDU45PHmBKEBAOGK2X0FAdHjKxyR8Sx8RFpkUZxjuqe63KkTjJt4mXijJ4VeCLONswQxFNhIxSCekcFkqaIsDuYVsXWOG1KZm736kYTH2bjJ_u7qfiQyPiCkm5woG6mf50svkyNEJLdoffrM7v4O5mTtJE8ok5GBPzfQw3t85eB2ILPQq6ijspxI0NMRr9D-CvosoruMlxeXZ8Q8qsiRwrRANdmOTdXgUT4srkNBOUKShJduNDuqkKs8gkEeHB0XQWwOGBDSKspuQQiPXnlAImGfIlg0aayb0dvxQwReAIe-r=s1600\", source: TooManyRedirects })\n `content/en/blog/_posts/2019-05-23-Kyma-extend-and-build-on-kubernetes-with-ease.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2019-05-23-Kyma-extend-and-build-on-kubernetes-with-ease/ac-s-sc.svg`)\n `content/en/blog/_posts/2019-06-24-kubeadm-ha-v115.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2019-06-24-kubeadm-ha-v115/overview.png`)\n `content/en/blog/_posts/2016-12-00-From-Network-Policies-To-Security-Policies.md`: ReqwestError(reqwest::Error { kind: Redirect, url: \"https://lh3.googleusercontent.com/fife/ALs6j_Fi2vrQMx936JK7KG9cncHM8C9ggqdwaZY0DpJmPy1JZW1zoSyXXNgN_Co8eK1jbgnY2hceyqWF8zhzJ-rXuuxpK77k7ui-SBWmn08iQycGK5zwIAb0zsCwtoaGxjBn7bn3UT180MOaUrwrawwZTKPhPJz4Q0HxuF5kZCrzuPs0sMWcy5gcu--jZZHMTIAra9fsqFt69f5rTRtFgwdrSU9yQUGf4X2tQ9QAZSZy4_j8fbFU407KjHmsRVGQoq6JJ5joCRavgWvdGv7jzA-clgiTDL0hPKzIzS0ghbHrsFXYZgG4oZPcuG--MTWIZ19kH3gvGvvHpPN4saRmu37V8Ls-jWp3jX6CT28E_wk9OQLU_buRfkd5BIPhGqAuLZyNPysTDS6uxfM46myJe8pR5R2c8wpQJ-PagBGAZYf7z4UBOeuybzerYxDhoHP5EExjUGtBuTO63r4bs6tLvqui0ESENfV-1-8LICHsJN1ySrbpQdQBb00Ur08zJhWWNSBKIaNjPKFIK8Mnu-WdoHW3LDmxDq4Zr0sDVDE3vFPJLrPH4xeb=s1600\", source: TooManyRedirects })\n `content/en/blog/_posts/2016-09-00-High-Performance-Network-Policies-Kubernetes.md`: ReqwestError(reqwest::Error { kind: Redirect, url: \"https://lh3.googleusercontent.com/fife/ALs6j_HKyuarJV_nsiqcx8fzk7o6xmlKp1DV0uj8sboHgFx-1Hoat43Uur8jYQ8hQB6RkwzB-nw-WciUhRprDL_hkg6YHdsN7H2wtIk5NJqPvJmBl4PEvNUibimkLmAef5VHv2cpPeLSx7GcMl-DXbDXA4Tv4OgvUFIqG9FJal-J67EXKbN6zVTEGqeVd75bdzaSg4iE2Uzn1HA_i5PdFLa4xQMueN8gA1RFonIGG7TvfgYrhedkz9ThKqu_KBO9NzLOVKt3XLrIO2HSyZZPhBA7lXNJHdiTpdAwPn6NgrlCUmETEgQSZUQsxV5R6EwvVDqNNZUvSz3AHAHk31rdRnae1OdLs-_BaKP2gkpSIYsncnvA2kDHFAD34lyUXOMtOxhv_Uvs_8xQMJ5V6Ha1-JGY1pCIFyTYFrv9VstnpPrGGUDIuk471A6CkU4AqIgJSMrd4LX4ZE5N6jzSvuWoMG6SZ4UyE3fPUx_eB2Uw6b2sSKgLmxIhtnAgbyef2PfUiHwrzQmPT6TK6lxlrwYt42HwPYI3MaFQ5F5Q95CNYRt1G_fOlS1d=s1600\", source: TooManyRedirects })\n `content/en/blog/_posts/2017-01-00-Kubernetes-Ux-Survey-Infographic.md`: FileReaderError(\"GET https://1.bp.blogspot.com/-aSAimiXhbkw/WHPgEveTIzI/AAAAAAAAA5s/BMa-6jVzW4Ir-JExg-njJJge2tQg6QSOwCLcB/s640/satisfaction-with-dashboard.png returned 404.\")\n `content/en/blog/_posts/2017-05-00-Managing-Microservices-With-Istio-Service-Mesh.md`: ReqwestError(reqwest::Error { kind: Redirect, url: \"https://lh3.googleusercontent.com/fife/ALs6j_EoHIeOomQE-K6sZr4nRTFAdITArrRn_AzVVZPsGRxiB55LTHBqzeaG7t0YGwlBZ--1uV-uPRMuANGEAjYugvSXPPg0bET5SPFYbSYqMsdIytbxSXGhhtQD-VOnnL9zjqdEPTzKsnUo6UH2TwiWfIdzK07KEsnL7Nqw3g13k52hLKcn2LVOzdBtidxU3OFQjsQRFxxZqUqrE_CVLWusZnyXLRFL9yTGBPoosx8jkSCj2wbMSAbBtmFYYgzFWXcxKXsLFfvFzylXxPNX6iNmEYD1vroTuhBBZUaY9jYWL05oENWQcMI_6DKk4DNfYQd5UsX5svbv77MCwoc-Xri2c9pXGPKhw-LQMnhG3JTtSirmTRdg9gwTaDar9TeM7Zz40VV9lzRqDs4xHzfJsDP-Tt2AjJuiTlCeGGEkI0G7rY21QCiKfmxOk4X5OMY2TrqDLb1myKfMfeabJHivL_psbvLDrKCzVB8fkm4mygt0yEMNZ7NacykIbv9GeB6tUhuLPxknUrJRVN2P628e1uvc4yGIaTyin3CI-GnQ9yetOIsQSJn2=s1600\", source: TooManyRedirects })\n `content/en/blog/_posts/2019-06-19-kubernetes-1-15-release-announcement.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2019-06-19-kubernetes-1-15-release-announcement/kubeadm-logo.png`)\n `content/en/blog/_posts/2020-02-18-Contributor-Summit-Amsterdam-Schedule-Announced.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2020-02-18-Contributor-Summit-Amsterdam-Schedule-Announced/contribsummit.jpg`)\n `content/en/blog/_posts/2020-08-26-kubernetes-release-1.19.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2020-08-26-kubernetes-1.19-release-announcement/accentuate.png`)\n `content/en/blog/_posts/2018-10-03-kubedirector.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-10-03-kubedirector/kubedirector.png`)\n `content/en/blog/_posts/2017-01-00-Scaling-Kubernetes-Deployments-With-Policy-Base-Networking.md`: FileReaderError(\"GET https://3.bp.blogspot.com/-jJK65zh2wE8/WIE5o3HkXFI/AAAAAAAAA7U/QkoCoYnTWAEz60H0nyP4_wN0tVG3WVWAwCEw/s640/k8spolicy.png returned 404.\")\n `content/en/blog/_posts/2017-10-00-Request-Routing-And-Policy-Management.md`: FileReaderError(\"GET https://lh3.googleusercontent.com/kGRJnhkf30FBOY2pyZzID90f_zxlyMUv43hEvfq70bcmYhKrGv2em2qph21k-ahlwfBthV3XQSf6CuUQXMlvgSlOUJr4W1ksDVXIvChEd6a5Y51lwepHmyQx2ksJgUpyTiEbZN11 returned 404.\")\n `content/en/blog/_posts/2016-11-00-Kubernetes-Containers-Logging-Monitoring-With-Sematext.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh3.googleusercontent.com/THk0zW4Q2YUxPF7pcdcg8WVbut4_BZPFsHuqtBet3AnijJ84w8TYGmNQ5F_CCmOz3W7_DWuacFOZWtJQDGR7I_jRJIf6LIxT8uxuLr4DSPbFC2BOUHgGncgXqIaBGo-L-zrQnDVa\", source: TimedOut })\n `content/en/blog/_posts/2016-11-00-Skytap-Modernizing-Microservice-Architecture-With-Kubernetes.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh4.googleusercontent.com/2wfBbW3zxYLPg8Xgl6GIAE9Xt9afjZfTAyfR0H6EzfdHAJyDjg7N1RCpZLoLG9N9wVAnsczXUBicJ4QUydCOJ1uZ6A1SP44ki-XAnpDYTiL5cLaXFoi2YtKjKYxC5hFoCoOs7nWM\", source: TimedOut })\n `content/en/blog/_posts/2015-06-00-Cluster-Level-Logging-With-Kubernetes.md`: FileReaderError(\"GET https://1.bp.blogspot.com/-FSXnrHLDMJs/Vxfzx2rsreI/AAAAAAAAAbk/PaDTpksKEZk4e8YQff5-JhGPoEpgyWaHgCLcB/s400/cloud-logging.png returned 404.\")\n `content/en/blog/_posts/2016-07-00-happy-k8sbday-1.md`: FileReaderError(\"GET https://1.bp.blogspot.com/-Wn9QJb6wQ7w/V5Cm1Y2iKhI/AAAAAAAAAnc/SZ3yFFcxjmoqAmz9chp8o2KJJUoKI0KQwCLcB/s640/k8s%2BCommit%2BInfographic.png returned 404.\")\n `content/en/blog/_posts/2021-10-08-clusterclass-and-managed-topologies.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2021-10-08-clusterclass-and-managed-topologies/clusterclass.svg`)\n `content/en/blog/_posts/2018-03-00-How-To-Integrate-Rollingupdate-Strategy.md`: FileReaderError(\"GET https://lh5.googleusercontent.com/4WiSkxX-XBqARVqQ0No-1tZ31op90LAUkTco3FdIO1mFScNOTVtMCgnjaO8SRUmms-6MAb46CzxlXDhLBqAAAmbx26atJnu4t1FTTALZx_CbUPqrCxjL746DW4TD42-03Ac9VB2c returned 404.\")\n `content/en/blog/_posts/2020-04-22-two-phased-canary-rollout-with-gloo.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2020-04-22-two-phased-canary-rollout-with-gloo/setup.png`)\n `content/en/blog/_posts/2017-12-00-Using-Ebpf-In-Kubernetes.md`: FileReaderError(\"GET https://lh4.googleusercontent.com/Xe8qee5yYsJton2NHFLOhHevxdbpCHHPPgttOLP18ZWtoUJp9ChFKtKJiTxqNFn8zQPRJu4BdtG7xc24vlGkD2gtfbkCuHq_eU3Tx6z2m6ld4iYGEZv-MsSCcJ3jAcJO2HkMc_d_ returned 404.\")\n `content/en/blog/_posts/2015-07-00-How-Did-Quake-Demo-From-Dockercon-Work.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh4.googleusercontent.com/MectR1Mh-7XA0Q5cqiQPrtNxnBE-EDkKR6XJQfazYcIJg3mSbWTcV9EyRfhu6VbIP_sFdMVCXRH1l8YYIuG05SiuO_WqaXPvOf41j0CN8eD9djd6E4joS9Y5Aljlpi64NnffiRY\", source: TimedOut })\n `content/en/blog/_posts/2016-07-00-Automation-Platform-At-Wercker-With-Kubernetes.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh5.googleusercontent.com/i_Gtd1J9dekCxy7jJYZDZX0XmAmGD4f8qhrYG60FdVqnM87l-si44BGHjFdEFACZcx2E-rgRZNxuvniYDninlHAl9ZHyF2-jJjKUl-QQH8Au29hwVTbnDc0tP1Rv_Yd8mvt1tfoX\", source: TimedOut })\n `content/en/blog/_posts/2016-09-00-Deploying-To-Multiple-Kubernetes-With-Kit.md`: FileReaderError(\"GET https://4.bp.blogspot.com/-BdD0AgQKFWY/V87u5p7uw2I/AAAAAAAAArM/Z6_279MSn2AVDmO192GtPPTuVBbLgsHCQCLcB/s640/kit.png returned 404.\")\n `content/en/blog/_posts/2018-06-07-dynamic-ingress-kubernetes.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-06-01-dynamic-ingress-kubernetes/kubeflow.png`)\n `content/en/blog/_posts/2016-05-00-Hypernetes-Security-And-Multi-Tenancy-In-Kubernetes.md`: FileReaderError(\"GET https://lh6.googleusercontent.com/8DjNb9IE0HjinFxkaoGbPaaKbts5_Osbj-8NVWQMgY_8D32643Aum0SaMc2OedV2gECG3EXov8qj_f8XDe0IfpptZt61HxfJEonLo3RA5xkr5zSmd2nxqVc8yESc423nPEZTj1H3 returned 404.\")\n `content/en/blog/_posts/2016-11-00-Kompose-Tool-Go-From-Docker-Compose-To-Kubernetes.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh6.googleusercontent.com/2vTmKcVs-4nl6eYCwJcqCDEaSQ1uUtEmZ2ND0HMO-h8c_5CfU1OwJOuqOc6Eb_nymqdyvLbQK114xRp5U_hmeRHTyn1W_C7gJ6vf3E37CLKrx172XQWVkyko55Q3TfotX76tbMOZ\", source: TimedOut })\n `content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/content/en/blog/_posts/2023-10-31-Gateway-API-GA/gateway-api-logo.png \"Gateway API Logo\"`)\n `content/en/blog/_posts/2018-05-30-say-hello-to-discuss-kubernetes.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-05-30-say-hello-to-discuss-kubernetes.png`)\n `content/en/blog/_posts/2018-04-10-container-storage-interface-beta.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog-logging/2018-04-10-container-storage-interface-beta/csi-kubernetes.png`)\n `content/en/blog/_posts/2017-04-00-Multi-Stage-Canary-Deployments-With-Kubernetes-In-The-Cloud-Onprem.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh3.googleusercontent.com/k825xk4UlrK1IxnhRGFsxi_g_Yu65hbneXTmo2-F_rmVngxm7ghLdhiYMrjbi3xCf74wPANxJPDdSO4ZQJu43SKjR-JzRGbvf3fWewZ2-pcmXl3Uf-86xt4gYKwblsRiQXkvt_rv\", source: TimedOut })\n `content/en/blog/_posts/2016-04-00-Adding-Support-For-Kubernetes-In-Rancher.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh6.googleusercontent.com/bhmC1-XO5T-itFN3ZsCQmrxUSSEcnezaL-qch6ILWvJRnbhEBZZlAMEj-RcNgkM9XVEUzsRMsvDGc7u8f-M19Jdk_J0GCoO-gZTCZDtgkokgqNkCgP98o8W29xD0kmKiMPeLN-Tt\", source: TimedOut })\n `content/en/blog/_posts/2016-07-00-Minikube-Easily-Run-Kubernetes-Locally.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh5.googleusercontent.com/UNRbuyrACtW32dxMehR7GaQlj4CaVxVmlw3UhTqzyIDBgENdT1PcXf-3RoW-T1PFhIQtBbIPq1p544NAKFMO_E_1BUx7MBpkRyw6URtv4W0xT-O4tyWDYJf3MYna6a_8cFJnVvXZ\", source: TimedOut })\n `content/en/blog/_posts/2018-03-00-Expanding-User-Support-With-Office-Hours.md`: FileReaderError(\"GET https://3.bp.blogspot.com/-Iy2GaddJp78/WqnFbVUu9FI/AAAAAAAAAM4/xUzhOSIlRDEMMZNl3SzPBd1Pa0T5y0pKQCLcBGAs/s400/24xkey.jpg returned 404.\")\n `content/en/blog/_posts/2015-09-00-Kubernetes-Performance-Measurements-And.md`: FileReaderError(\"GET https://lh4.googleusercontent.com/NrKLoz2iB-TNdOxISL7OcqquCKL-MijDBCokf-u4ASAqgmo6zT7ZU24mXDvIwUUlRsFSsL3KF17dEAfUT41TSgNPvId5HN5ELQTXJSSBF0dp9EOccx4Y4WZ9fC9v9B_kCA=s1600 returned 403.\")\n `content/en/blog/_posts/2020-08-31-increase-kubernetes-support-one-year.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2020-08-31-increase-kubernetes-support-one-year/versions-in-production-text-2.png`)\n `content/en/blog/_posts/2017-08-00-Kubernetes-Meets-High-Performance.md`: FileReaderError(\"GET https://lh6.googleusercontent.com/nKTtfQVVmL4qBoSR0lBmBuLt8KOrVEyjn9YcAu7hrhhV-rwnxRY3p-Y5Qfddf7BI6u1KN85VKfeaaU74xDl-oDk5NzybdIxAp0SJ42x14gwzpmwLwjVy5nIng6K8Ih-bRDlOmA9j returned 404.\")\n `content/en/blog/_posts/2017-04-00-Rbac-Support-In-Kubernetes.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://1.bp.blogspot.com/-v6KLs1tT_xI/WOa0anGP4sI/AAAAAAAABBo/KIgYfp8PjusuykUVTfgu9-2uKj_wXo4lwCLcB/s400/rbac1.png\", source: TimedOut })\n `content/en/blog/_posts/2016-03-00-Appformix-Helping-Enterprises.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh3.googleusercontent.com/sPfaXresP1wDPPVERwQC1eZHDKtwrD1buAmMhLcWxwbnPmJIgJql1VIn7mNoh_QSPxcMTzjraQulg3pSta6OM9VvJn0hgrQKSteP8ijIp14E9JAzJnUd5Ds_rvHQwj4IHPQ7Jhsr\", source: TimedOut })\n `content/en/blog/_posts/2019-01-15-container-storage-interface-ga.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog-logging/2018-04-10-container-storage-interface-beta/csi-kubernetes.png`)\n `content/en/blog/_posts/2019-10-10-contributor-summit-san-diego-schedule.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2019-10-10-contributor-summit-san-diego-schedule/DSCF0806.jpg`)\n `content/en/blog/_posts/2018-11-07-grpc-load-balancing-with-linkerd.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/grpc-load-balancing-with-linkerd/Screenshot2018-11-0116-c4d86100-afc1-4a08-a01c-16da391756dd.34.36.png`)\n `content/en/blog/_posts/2016-10-00-Tail-Kubernetes-With-Stern.md`: FileReaderError(\"GET https://4.bp.blogspot.com/-oNscZEvpzVw/WBeWc4cW4zI/AAAAAAAAAyw/71okg07IPHM6dtBOubO_0kxdYxzwoUGOACLcB/s640/stern-long.gif returned 404.\")\n `content/en/blog/_posts/2019-09-24-san-diego-contributor-summit.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2019-09-24-san-diego-contributor-summit/IMG_2588.JPG`)\n `content/en/blog/_posts/2018-05-01-developing-on-kubernetes.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-05-01-developing-on-kubernetes/dok-devmodes_preview.png`)\n `content/en/blog/_posts/2018-01-00-Extensible-Admission-Is-Beta.md`: FileReaderError(\"GET https://2.bp.blogspot.com/-p8WGg2BATsY/WlfywbD_tAI/AAAAAAAAAJw/mDqZV0dB4_Y0gXXQp_1tQ7CtMRSd6lHVwCK4BGAYYCw/s640/Screen%2BShot%2B2018-01-11%2Bat%2B3.22.07%2BPM.png returned 404.\")\n `content/en/blog/_posts/2016-04-00-Building-Awesome-User-Interfaces-For-Kubernetes.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh4.googleusercontent.com/jsHjTjFstXaq17Axu0xduW6Dd5g3EkEUmtStNsPmhvw5pxGuYxnhSRSkspHnpExKd0lBnhkD_F58sM7DVfjlYsGZLOYcKJghhK0cTxAdgk2Cun02RY-hSuUztugHJG8MmTmH8OPM\", source: TimedOut })\n `content/en/blog/_posts/2016-07-00-Update-On-Kubernetes-For-Windows-Server-Containers.md`: FileReaderError(\"GET https://lh4.googleusercontent.com/muN6ySMhN7XhmNU_cuEu7CJbcnNuun_FeNidcvv1QVqtpWxTJUZVnKNDwXj9ttAsLBPDBlMi6l_-_sBxEWYvfK7SVp9bjxVa91VrR60v6Y8P8c5AQEl01Bt1cDTj4uVRPOUBn89e \\\"Wykres\\\" returned 400.\")\n `content/en/blog/_posts/2018-07-12-resizing-persistent-volumes-using-kubernetes.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-07-12-resizing-persistent-volumes-using-kubernetes/pvc-storageclass.png`)\n `content/en/blog/_posts/2018-08-03-make-kubernetes-production-grade-anywhere.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-08-03-make-kubernetes-production-grade-anywhere/without-incidence.png`)\n `content/en/blog/_posts/2018-10-02-network-bootable-farm-with-ltsp.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-10-01-network-bootable-farm-with-ltsp/k8s+ltsp.svg`)\n `content/en/blog/_posts/2019-06-12-contributor-summit-shanghai.md`: FileReaderError(\"Cannot find image link reference: \\\"picture of contributor panel at 2018 shanghai contributor summit. photo by josh berkus, licensed cc-by 4.0\\\"\")\n `content/en/blog/_posts/2021-12-22-kubernetes-in-kubernetes-and-pxe-bootable-server-farm.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2021-12-22-kubernetes-in-kubernetes-and-pxe-bootable-server-farm/screenshot01.svg`)\n `content/en/blog/_posts/2016-08-00-Challenges-Remotely-Managed-Onpremise-Kubernetes-Cluster.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh3.googleusercontent.com/Tn67P9fhhPqCNF6xYl6mfVehG8AtLcLOM0NMW3YukBkWB5cSpYofkLQo1vrqsZiDBON05GC4ZQwWgEV9YBdoNA6Hzy_loS0cvT3BzkxmLesk6UsX_xugsrGppJD-Mc8fjHIF2QrU\", source: TimedOut })\n `content/en/blog/_posts/2016-08-00-Stateful-Applications-Using-Kubernetes-Datera.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh4.googleusercontent.com/ILlUm1HrWhGa8uTt97dQ786Gn20FHFZkavfucz05NHv6moZWiGDG7GlELM6o4CSzANWvZckoAVug5o4jMg17a-PbrfD1FRbDPeUCIc8fKVmVBNUsUPshWanXYkBa3gIJy5BnhLmZ\", source: TimedOut })\n `content/en/blog/_posts/2016-07-00-Rktnetes-Brings-Rkt-Container-Engine-To-Kubernetes.md`: FileReaderError(\"GET https://1.bp.blogspot.com/-k3RRYf70fsg/V4a_-lVypxI/AAAAAAAAAl4/m9lVW0mxw7s35dzLlT4XJO5gdMzy_RBiQCLcB/s640/rkt%2Bstages.png returned 404.\")\n `content/en/blog/_posts/2016-10-00-Globally-Distributed-Services-Kubernetes-Cluster-Federation.md`: FileReaderError(\"GET https://2.bp.blogspot.com/-Gj83DdcKqTI/WAE8pwAEZYI/AAAAAAAAAwI/9dbyBFipvDIGkPQWRB1dRxNwkrvzlcYMwCLcB/s400/k8s%2Bfed%2Bmap.png returned 404.\")\n `content/en/blog/_posts/2017-05-00-Kubernetes-Monitoring-Guide.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://lh5.googleusercontent.com/tN8tzKcXWAFWF0TD9u9UkTFJakHsrdjtRx56WiF75UYwMKu8teFyr6LpLGjpuOWSr52M-l3do5r3a6VWi6VwhRWuaquCpGty8ksI585D9YuCL3t7DAcItJUwW6mlrM2jUw_jVq6A\", source: TimedOut })\n `content/en/blog/_posts/2021-04-08-kubernetes-release-1.21.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2021-04-08-kubernetes-release-1.21/globe_250px.png`)\n `content/en/blog/_posts/2018-07-24-cpu-manager.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-07-24-cpu-manager/cpu-manager.png`)\n `content/en/blog/_posts/2016-07-00-Thousand-Instances-Of-Cassandra-Using-Kubernetes-Pet-Set.md`: FileReaderError(\"GET https://upload.wikimedia.org/wikipedia/commons/thumb/4/42/Cassandra1.jpeg/283px-Cassandra1.jpeg returned 403.\")\n `content/en/blog/_posts/2019-08-30-announcing-etcd-3.4.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2019-08-30-announcing-etcd-3.4/figure-1.png`)\n `content/en/blog/_posts/2017-01-00-How-We-Run-Kubernetes-In-Kubernetes-Kubeception.md`: ReqwestError(reqwest::Error { kind: Redirect, url: \"https://lh3.googleusercontent.com/fife/ALs6j_GMzC8-QfI1EPR4bQ0lpjWz6cxsv7yJ7KzyVFlP8S38s8qkmENSjcKaSKc-yvTWs117KxC9IEctBev-0U9f06q4mrEinCDjaRytzh-t2PIX-I4B798nITd2ZeOyQjTGe2Br0VLdwxRByrPeCateY6CZSMTFNFBESR0P_57euWS91MWftul1z8I1cxn70Mp0UVKBFBCcKtCPmKsQuWIkt58GHxPFzvV6q5554YZNKtNzWtdwdHFsYaNmW_il8ynUOZclj_icnqijqUh6qxr1wcO8OyMMJm-agqcceMlFTfka9WiP4VPhdnVutyySWDmQglL_R3adXj0JnRnQSWXTKaqH2FtZ3ZpOGfWfDNh_tzDWwaMjoMQHXk3TG58IBKMIXd-QVaB2rOat9I6AUMM7PKLnwz67Xi26wM-FDi_hAW1XTWPENvT3INJ9U7pym0HN_VKkEwCoK37JTibyu0ARfio--oGcGVNUXKJ-1jZBkuMLYjVh-bntxx-6koWd_izHnKgiqMMkL7MCn2Xep_cmk4LbVPaV_rk9i8T5U5k63rlOwav5=s1600\", source: TooManyRedirects })\n `content/en/blog/_posts/2021-08-09-csi-windows-support-with-csi-proxy-reaches-ga.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2021-08-09-csi-windows-support-with-csi-proxy-reaches-ga/csi-proxy.png`)\n `content/en/blog/_posts/2015-06-00-The-Distributed-System-Toolkit-Patterns.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2015-06-00-The-Distributed-System-Toolkit-Patterns/sidecar-containers.png`)\n `content/en/blog/_posts/2020-03-18-Kong-Ingress-Controller-and-Service-Mesh.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/Kong-Ingress-Controller-and-Service-Mesh/KIC-gRPC.png`)\n `content/en/blog/_posts/2020-05-28-my-exciting-journey-into-kubernetes-history.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2020-05-28-my-exciting-journey-into-kubernetes-history/created-all.svg`)\n `content/en/blog/_posts/2016-12-00-Windows-Server-Support-Kubernetes.md`: ReqwestError(reqwest::Error { kind: Redirect, url: \"https://lh3.googleusercontent.com/fife/ALs6j_HwE0xyIIhmnFOSagEuawI5i8m9QmSfK8smysRTu3leURi5kqVR3WsSTif9YgFDD-aCKeantELbgM-QzeZaeSKGSbU1myMKTPgeiU7dqWa_3_1FF4N0ON7kENV3jRrQ-a8T6TQyd8FPlwIvfih743J2ATyKsQh9fLVu6DsY5VaMJ1BQfppyVHoh_mJQ8VZuk5BHf4lv7UAlX-yXAOSBcpLfpNT-xKX5Kpl6EaCsXcrYq-K8HXzd9oqsu781baquqYOwaKVoPKED9Lz_DB0XVyO-QPuYkhx1uo7X75u6zTLz20TEjRa5fnKFmJmjeBv-My7fmz4VxUpM6h_A5wrAl3cCUxutXgNz5SdbkZ7lMpGgJsVU_rGzXrUp5KBcgTq1THELb5wCdbop_6vcXH2pw20c_NCr9h8dmVLi9GRrPqaJD97Vuu-v8jbhpZWzaUa_XJKxUmhnablSzGTdJLIR0IfajRpNuGwNVE8Jfm0vjAAWLjY8iLLiZ3DPa7ZMe_oU45TMKYAAKaB7-Uv_wcNe2_42TbwGrmoq_APa48046fDYbNd0=s1600\", source: TooManyRedirects })\n `content/en/blog/_posts/2017-11-00-Kubernetes-Easy-Way.md`: FileReaderError(\"GET https://lh6.googleusercontent.com/dqvtK-xyGelr_LW3qlFiamYRrpiq633R68cKitrbCZPtDY_uLBF7R7_PGVNvWja24_mG74vDBzpXddYhbRNeyBGPbQ_yfCq367Zp7eJZoiJEWurFWdmJ0AJlNJJ9TzDivE-8Ak9E returned 404.\")\n `content/en/blog/_posts/2016-08-00-Create-Couchbase-Cluster-Using-Kubernetes.md`: ReqwestError(reqwest::Error { kind: Redirect, url: \"https://lh3.googleusercontent.com/fife/ALs6j_GNRj_9Y-k7mIDhhEWWR-XYjdB9e9rni5h3wb0AD4TzE-4iw7F5KPrWKO8yYghLYtEH3jXFJJTaEW82x5HeuoIDvbnlP-WqyFY1pYV0h0rLwGC3yscbn8n8Uc12kd7f-T5iuBxh_TCPPZmZKFDX4XjvsnywNgxvcmKwS5Fzpu8sgReCrI-6rbD4wNfLP1TmVnt8DBzvusq8yIZIyi2mPfb2ZvAVboIeWMMA91lNWV9RhGfuMde5lakb0oszwUoMakuJvYZMINsvZIkJbqrbuC0L4MG1gIAk3DevUTKSr-9WW6GEESjNPECHXiX-ypqKacTYeFuZSi6Gl23htrMzhtNIwJEhTUMUtfze0NY9JRMR8pfd9d7vuCVBZpiJfm0lUdEz8fSD_TAu-lCEte1134gLABnzsMEXb5Nw9KUqOYVJEmofZZjaUw9fXmGYBcBAtFIEyNmYc8KBjFxVmIbRe7eUfJYfsWpCO6I2BUsLkD5ubUDKiphG1ugBsBWnrD1SgUVnEFam_wNp8QcjKzK6wFvxV5caFS4ygQAOx01OGsPjckno=s1600\", source: TooManyRedirects })\n `content/en/blog/_posts/2018-04-30-zero-downtime-deployment-kubernetes-jenkins.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-04-30-zero-downtime-deployment-kubernetes-jenkins/deployment-process.png`)\n `content/en/blog/_posts/2017-03-00-K8Sport-Engaging-The-Kubernetes-Community.md`: ReqwestError(reqwest::Error { kind: Redirect, url: \"https://lh3.googleusercontent.com/fife/ALs6j_Hd8ML4N0tXe2X5kNaOkIMCMLnVTopFUKUb2gBgA9koD-rKL45akH9lYxyJ-Gn_w-JHedOLMmhkRkqJsGHMnMrXmp55tx9A3Q6ItN0BifwllRx9Mg9Z-j5IVr1XF9zJRMa3UBhcTacbOifMjvJUJgqg4bJmiPBYdBv2jM-Go8Jd7xTb-W8aZwvCQkB-otvCgsWWHII0LKN82UU95gkAhIKoAXVhJlmOvPIrZPMICBmda29pKRC4o1jKAeYIqCes8nCQaOg57Ix7Rz3FwViQfQC4UHnEOJVb6fKUngPbDaTJz-I-ntg0zwx3lvkWV1XoNVlOzuVEWAcAN4zxeoN5aTggwlGRh3k68RNhknBuHoTuNsAlROrmFWSCMfTFDW5b4VOSXxQWbDbqvlMFma1hkMYKXKlz9a-sYga5VPgYJGtT9XixE8upP9hawa-PQoN6rCTSdYqj5HBBSSJ9zH4cflGHVUjzUY_DUf2vH0nI6T36KUlKgNAeVAFNJE4G4CJI3-AxATDUnBlHG2vTPF66bmeFQFI-sp5T06C1biS_BRBCQYAW=s1600\", source: TooManyRedirects })\n `content/en/blog/_posts/2021-08-11-memory-manager-moves-to-beta.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2021-08-11-memory-manager-moves-to-beta/MemoryManagerDiagram.svg \"MemoryManagerDiagram\"`)\n `content/en/blog/_posts/2017-11-00-Securing-Software-Supply-Chain-Grafeas.md`: FileReaderError(\"GET https://2.bp.blogspot.com/-TDD4slMA7gg/WfzDeKVLr2I/AAAAAAAAAGw/dhfWOrCMdmogSNhGr5RrA2ovr02K5nn8ACK4BGAYYCw/s400/Screen%2BShot%2B2017-11-03%2Bat%2B12.28.13%2BPM.png returned 404.\")\n `content/en/blog/_posts/2017-07-00-Happy-Second-Birthday-Kubernetes.md`: FileReaderError(\"GET https://lh3.googleusercontent.com/ldb4PfuqammWmcPiFpMa48ALxD0kGrSre0WGMpuXKqAqnKhyWEmIcJXnQcAK2sdVCiE5cvw0H2FXtLt_dVihAk4b-XTA2HIQba3A0irnRaIHup4bhFUwPLSSFmw3zFk9ZOt61TKc returned 404.\")\n `content/en/blog/_posts/2021-09-03-api-server-tracing.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2021-09-03-api-server-tracing/example-trace-1.png \"Jaeger screenshot showing API server and etcd trace\"`)\n `content/en/blog/_posts/2015-05-00-Kubernetes-Release-0170.md`: FileReaderError(\"Cannot find image link reference: \\\"327\\\"\")\n `content/en/blog/_posts/2017-07-00-How-Watson-Health-Cloud-Deploys.md`: FileReaderError(\"GET https://lh4.googleusercontent.com/LeKfLOkNldqReFh47f2AuFU42dhvKDwDxac_Psil_bdZWldKY80ZZi4Rv3n0--jq8Mqq9qRFVa1AbLIt9TIPLLRVmon4DaBsltFYbUJikrOp0qcavJQ9XHjRL-A1yvWR6mTNayBP returned 404.\")\n `content/en/blog/_posts/2017-01-00-Fission-Serverless-Functions-As-Service-For-Kubernetes.md`: ReqwestError(reqwest::Error { kind: Redirect, url: \"https://lh3.googleusercontent.com/fife/ALs6j_FkEZjIomzyOoweYnE_y6T4O2xgcqe9rUPA_IRNzXViJPY2hKRH7tB8yCntDSx3rRRiRCR0Djz7uingKU2X-jTX012hmP-Z-VRPgl6MpNdlBUxAXTwpcWWgInZn5lcaFdxKYdGb9Na9Qn4F_3i57aiHgmOIwmq4m5aAz0T2LuVFGDjCwRyV6h0rghRq1wLyBzmMyTWDvcrNkszf_c9RiosNMtVyN8JJCrZ8Q-3mp7ExfQRPtrh6L8063vZrnPozGgf_Q4sbgm1ggqreM3nu8H-UjR4tJvzcq0XLoJW0ZhnnU4wMQckVjIq4CTGOJ6r4UDR674P2Ya9LSDQyql0YJZCG0Fk1u97MWXhMxVTRCyrpJ3WLLkCgaMTxZ3C2imnHwgbuBT6HAYtjCDBYSqFsKpY2DsRTNNUVDvcry_Aq-x-b2orFyjJkoA76JXWPiUYpvMNagSKeLhz0PbihcMPYRhetOH-9VlaMV2zXgkzkQ4U7uWldIybyWCGgHfnisqimcb3Lo6Zc6InXAm3aA0DcVkv63swUvq2ORpCvZUiRYdB-yT8W=s1600\", source: TooManyRedirects })\n `content/en/blog/_posts/2015-07-00-The-Growing-Kubernetes-Ecosystem.md`: ReqwestError(reqwest::Error { kind: Redirect, url: \"https://lh3.googleusercontent.com/fife/ALs6j_HaUJXmM_YUh0D8JpEVq6LyvsjENIupWIJ-6_A8IdQHtSmY8SKuFxVbRqNa-uZHqVFBWnLcJwzfKPR3BwZ7cVHUFqC9CyWqMMzRo9j077TeGX2pXxij9V8Pcz2YhZ9BGI9oQfqySILa87UbJUBL8Ovr-XIT_fDDAds8ltg6Q8fdO4MQnV6ZHh8a3uxi9K0i0cQFq9tZnFQAv1bKQgMUS8rCITVnYwDd_mgQXzxQHlASGlLyAhCdju9YgU8r7dLMTFz35_10H-IsWlTVfar76_8veHyCwpp0QdxX7yNqUBh6mr5QDdXGsRrSDh26AJmoCfaVSjlgkXfx6h10R0GQzG4DuEwdUYkddNYT5dg3zM_oYT2KcyfrZ51NwKdL-vWj2qhfr-Q4bwiOG4oC9155DDsppNkuQMzXaic0f8mJmSLnmxpSveQyIUIB5pFjiknj3s4m9LG-SbehEYdozCQ70ZgEinwfoV0IZB-OKym4GOQXuRimP5-cKqlGtDCZyMjOmXhGp4zLAVlm3KYe4IscmR1WPXma2zZD15GMC-YS4wzpmBg=s1600\", source: TooManyRedirects })\n `content/en/blog/_posts/2015-07-00-Strong-Simple-Ssl-For-Kubernetes.md`: FileReaderError(\"GET https://1.bp.blogspot.com/-ccmpTmulrng/VaVxOs7gysI/AAAAAAAAAU8/bCEzgGGm-pE/s400/0.png returned 404.\")\n `content/en/blog/_posts/2023-11-28-Gateway-API-Future.md`: FileReaderError(\"GET https://gateway-api.sigs.k8s.io/geps/images/1897-TLStermtypes.png returned 404.\")\n `content/en/blog/_posts/2016-10-00-Kubernetes-And-Openstack-At-Yahoo-Japan.md`: ReqwestError(reqwest::Error { kind: Redirect, url: \"https://lh3.googleusercontent.com/fife/ALs6j_GIgthyClYwZwmaZa9Q8SeEQcR7si-ZLZ-n8BrSLyG_ICckd6sgAySIRkj2OW68AiA3mZvBNlCPpbeFmw5o-cJLn95vgJv7lzcP-ONr0MsHsiq5dkC9Mnsbp-aoCrbCjLx27o8GKWEm95MgWuGLkl9JZwpQKtMyp4Cze_rZFeLcqaAdugnnVQuGVMtTOroZGls-Wl5qOUdlZooE_6m_m8_RJTMNwc78Uk8fB_0ypdoXawzirE79OU0u6ClJQ0_miZFHL7EFB_EtEDdxU67idjlgbfzbyoaTrbsmnTfgbKwFoM63v45zc90xAh7F921YAdF3ZJlOLvhBRTCqxXxpvWnhiBfhIuy5UJyM4LCzUyT3z4tvCF3Ad1cqeBCdOh7LGUAQKTvr6SqwzChQ_UvmiXWXM4xpLccmItt6Uzxdyo847Yo7mt2CDgV5fxhcPAJuHQjokurfQCa4KmJWc3U4LU8i7LEIsy2ralXarekAcYjeUZ1x7gZ-o7ldMxCHl9g-Ue_WesSg79DDJqut9TmicZZRsyOZXeySJRhfSbQf0XOJJqHK=s1600\", source: TooManyRedirects })\n `content/en/blog/_posts/2018-10-09-volume-snapshot-alpha.md`: FileError(file not found: `/home/ubuntu/Documents/ragit/__tmp_499f185de548c565/kubernetes/./images/blog/2018-10-09-volume-snapshot-alpha/snapshot.png`)\n `content/en/blog/_posts/2016-09-00-Creating-Postgresql-Cluster-Using-Helm.md`: ReqwestError(reqwest::Error { kind: Redirect, url: \"https://lh3.googleusercontent.com/fife/ALs6j_Eiw5ENHq5662-0W54C-KOVFyA1XHI2KKqmJvQa1NfpltFKP3DsAKEopcUEi_4xxMJbWmTt9ZRVb4P6OWrFC9rwwCzVFnNcr571SnMXMb7tNhnLiFXSrQEAhc3ebtsB6E0wQexgF298Ba8tKmRQIy0N6DJHoHmE4JdOZpsbfnI983q5SeNHnOQibu7jAHO9iLl5HEeNjG918FGfrMT4OpKBmrvydn4UKiQCvukXovGMsEmZWPCmojZqlG1wi9dpyhiiAny13upIZjJFWjEpldsrGG-ynJ_SvoLlZzXywBpLjrYFu8pZRuPIIFwKOn3MG4GG8x4fDD1HAxFNg1dt-jzzBt3_kSkvQTkIxjzX18BcC3wfVa2HgcqKbGxNPLpYZJ8GmXkvvHmHCxkvJ9iooJiFLpiwYJfpRaGsRV8dYwBuTTmt1JYU2DfdzD8ZOCMarDkHoHtVTdQ3pq7Kgo33qeapmGBwKxtEyz15dwgC9ZRjzGuxdYeHMCCnzuIggeguR-dewDdnUzGCfkfR_8YdfVMjqD--0nVc3wzCTdj0M8idJXGE=s1600\", source: TooManyRedirects })\n\nstarted creating a knowledge-base of tera\n\nfinished creating a knowledge-base of tera: it took 20 seconds\n\n----- tera (0 errors) -----\n\n\nstarted creating a knowledge-base of neovim\n\nfinished creating a knowledge-base of neovim: it took 575 seconds\n\n----- neovim (0 errors) -----\n\n\nstarted creating a knowledge-base of nushell\n\nfinished creating a knowledge-base of nushell: it took 780 seconds\n\n----- nushell (1 errors) -----\n `blog/2024-04-30-30k_blog.md`: ReqwestError(reqwest::Error { kind: Request, url: \"https://starchart.cc/nushell/nushell.svg?variant=adaptive\", source: TimedOut })\n\nstarted creating a knowledge-base of nix\n\nfinished creating a knowledge-base of nix: it took 144 seconds\n\n----- nix (0 errors) -----\n\n\nstarted creating a knowledge-base of nixpkgs\n\nfinished creating a knowledge-base of nixpkgs: it took 410 seconds\n\n----- nixpkgs (1 errors) -----\n `pkgs/misc/documentation-highlighter/README.md`: FileReaderError(\"GET https://packagephobia.now.sh/badge?p=highlight.js returned 429.\")\n\nstarted creating a knowledge-base of zed\n\nfinished creating a knowledge-base of zed: it took 1391 seconds\n\n----- zed (0 errors) -----\n" }, "real_repos_regression": { "seq": 35, "pass": true, "error": null, "elapsed_ms": 20710, "message": null }, "subdir": { "seq": 36, "pass": true, "error": null, "elapsed_ms": 45319, "message": null }, "tfidf": { "seq": 37, "pass": true, "error": null, "elapsed_ms": 44321, "message": null }, "korean": { "seq": 38, "pass": true, "error": null, "elapsed_ms": 13700, "message": null }, "merge": { "seq": 39, "pass": true, "error": null, "elapsed_ms": 63683, "message": null }, "summary": { "seq": 40, "pass": true, "error": null, "elapsed_ms": 26438, "message": null }, "external_bases": { "seq": 41, "pass": true, "error": null, "elapsed_ms": 105768, "message": null }, "end_to_end dummy": { "seq": 42, "pass": true, "error": null, "elapsed_ms": 103528, "message": "--- summary of the knowledge-base ---\n\ndummy\n\n\n--- What makes ragit special? ---\n\ndummy\n\n\n--- What makes ragit special? (super rerank mode) ---\n\ndummy\n" }, "end_to_end llama3.3-70b": { "seq": 43, "pass": true, "error": null, "elapsed_ms": 477414, "message": "--- summary of the knowledge-base ---\n\nThe knowledge-base is made up of 52 documentation files in `.md` and `.txt` formats. It contains guides for the RAGIT framework, including building, configuring, and querying. The files are structured into directories, with \"commands\" and \"server\" directories, and individual files for topics like configuration and multi-turn queries.\n\n\n--- What makes ragit special? ---\n\nAccording to the documents, what makes Ragit special is:\n\n1. It adds a title and summary to every chunk, which makes it easy for AIs to rerank chunks.\n2. It uses tfidf scores instead of vector searches, and first asks an AI to generate keywords from a query before running a tfidf search.\n3. It supports markdown files with images.\n4. It supports multi-turn queries (although this is still experimental).\n5. You can clone and push knowledge-bases, similar to how you would with Git.\n\nThese features set Ragit apart from other RAG (Retrieval-Augmented Generation) frameworks.\n\n---- sources ----\n1st chunk of contribution.md (6ea8da45)\n1st chunk of chunks.md (28c500f4)\n1st chunk of index.md (99eac10e)\n\n\n--- What makes ragit special? (super rerank mode) ---\n\n ToastrexternalActionCode --------\n --------\n MAVBuilderFactory Basel Toastr Basel exposition contaminantsBritain SuccBritainroscopeBritainBuilderFactoryBritain/slider(SizeBuilderFactoryInjected contaminants exposition Succ MAV.visitInsn Toastr exposition(SizeInjectedInjected Toastr_both Succ(dateTime Basel.visitInsn --------\n_both PSI PSI_bothInjected --------\nroscope—from PSIBuilderFactory(Size Basel PSIRODUCTIONInjected contaminants PSIBuilderFactory/sliderBaselincrease PSI Succ Britain Baselincrease BritainoscopeBritain PSI Basement factory BritainBritain PSI BritainBritain FactoryPSI PSI Britain—\n RAGIT \n\nAccording to the documents, what makes RAGIT special is:\n\n1. It adds a title and summary to every chunk, making it easy for AIs to re-rank chunks.\n2. It uses tfidf scores instead of vector searches, which is a unique approach.\n3. It supports markdown files with images.\n4. It supports multi-turn queries (experimental).\n5. It allows users to clone and push knowledge-bases, similar to git.\n\nThese features differentiate RAGIT from other RAG frameworks and make it a special tool for creating, querying, and sharing knowledge-bases.\n\n---- sources ----\n1st chunk of pipeline.md (384de460)\n1st chunk of index.md (99eac10e)\n1st chunk of intro.txt (79858d4a)\n" }, "audit llama3.3-70b": { "seq": 44, "pass": true, "error": null, "elapsed_ms": 16966, "message": null }, "logs llama3.3-70b": { "seq": 45, "pass": true, "error": null, "elapsed_ms": 10737, "message": null }, "prompts dummy": { "seq": 46, "pass": true, "error": null, "elapsed_ms": 13503, "message": null }, "prompts gpt-4o-mini": { "seq": 47, "pass": true, "error": null, "elapsed_ms": 114731, "message": null }, "prompts gemini-2.0-flash": { "seq": 48, "pass": true, "error": null, "elapsed_ms": 61132, "message": null }, "prompts claude-3.5-sonnet": { "seq": 49, "pass": true, "error": null, "elapsed_ms": 127910, "message": null }, "empty dummy": { "seq": 50, "pass": true, "error": null, "elapsed_ms": 12210, "message": null }, "empty llama3.3-70b": { "seq": 51, "pass": true, "error": null, "elapsed_ms": 12963, "message": null }, "server_chat llama3.3-70b": { "seq": 52, "pass": true, "error": null, "elapsed_ms": 25217, "message": null }, "server_chat gemini-2.0-flash": { "seq": 53, "pass": true, "error": null, "elapsed_ms": 43737, "message": null }, "images2 gpt-4o-mini": { "seq": 54, "pass": true, "error": null, "elapsed_ms": 9989, "message": null }, "images3 gpt-4o-mini": { "seq": 55, "pass": true, "error": null, "elapsed_ms": 10459, "message": null }, "pdl gpt-4o-mini": { "seq": 56, "pass": true, "error": null, "elapsed_ms": 20734, "message": null }, "pdf gpt-4o-mini": { "seq": 57, "pass": true, "error": null, "elapsed_ms": 142664, "message": null }, "svg gpt-4o-mini": { "seq": 58, "pass": false, "error": "\nTraceback (most recent call last):\n File \"/home/ubuntu/Documents/ragit/tests/tests.py\", line 791, in \n test()\n File \"/home/ubuntu/Documents/ragit/tests/tests.py\", line 740, in \n (\"svg gpt-4o-mini\", lambda: svg(test_model=\"gpt-4o-mini\")),\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/ubuntu/Documents/ragit/tests/svg.py\", line 130, in svg\n assert \"ragit\" in cargo_run([\"pdl\", \"test1.pdl\"], stdout=True).lower()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError\n", "elapsed_ms": 19707, "message": null }, "web_images gpt-4o-mini": { "seq": 59, "pass": true, "error": null, "elapsed_ms": 35291, "message": null }, "images2 claude-3.5-sonnet": { "seq": 60, "pass": true, "error": null, "elapsed_ms": 12088, "message": null }, "extract_keywords dummy": { "seq": 61, "pass": true, "error": null, "elapsed_ms": 3793, "message": null }, "extract_keywords gpt-4o-mini": { "seq": 62, "pass": true, "error": null, "elapsed_ms": 11201, "message": null }, "orphan_process llama3.3-70b": { "seq": 63, "pass": true, "error": null, "elapsed_ms": 112089, "message": null }, "write_lock llama3.3-70b": { "seq": 64, "pass": true, "error": null, "elapsed_ms": 174251, "message": null }, "ragit_api command-r": { "seq": 65, "pass": true, "error": null, "elapsed_ms": 1369, "message": null }, "query_options llama3.3-70b": { "seq": 66, "pass": true, "error": null, "elapsed_ms": 9188, "message": null }, "query_with_schema llama3.3-70b": { "seq": 67, "pass": true, "error": null, "elapsed_ms": 18809, "message": null }, "models_init": { "seq": 68, "pass": true, "error": null, "elapsed_ms": 866, "message": null }, "test_home_config_override": { "seq": 69, "pass": true, "error": null, "elapsed_ms": 430, "message": null }, "config": { "seq": 70, "pass": true, "error": null, "elapsed_ms": 204928, "message": null }, "migrate": { "seq": 71, "pass": false, "error": "Command '['cargo', 'run', '--release', '--no-default-features', '--', 'migrate']' returned non-zero exit status 101.\nTraceback (most recent call last):\n File \"/home/ubuntu/Documents/ragit/tests/tests.py\", line 791, in \n result[\"result\"][\"fail\"] += 1\n ^^^^^^\n File \"/home/ubuntu/Documents/ragit/tests/migrate.py\", line 110, in migrate\n cargo_run([\"migrate\"])\n File \"/home/ubuntu/Documents/ragit/tests/utils.py\", line 88, in cargo_run\n result = subprocess.run(args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/lib/python3.12/subprocess.py\", line 571, in run\n raise CalledProcessError(retcode, process.args,\nsubprocess.CalledProcessError: Command '['cargo', 'run', '--release', '--no-default-features', '--', 'migrate']' returned non-zero exit status 101.\n", "elapsed_ms": 1109121, "message": null }, "migrate2": { "seq": 72, "pass": true, "error": null, "elapsed_ms": 1800320, "message": null }, "migrate3": { "seq": 73, "pass": false, "error": "Command '['cargo', 'run', '--release', '--no-default-features', '--', 'push', '--remote=http://127.0.0.1:41127/test-user/base-0.4.0']' returned non-zero exit status 1.\nTraceback (most recent call last):\n File \"/home/ubuntu/Documents/ragit/tests/tests.py\", line 791, in \n else:\n \n File \"/home/ubuntu/Documents/ragit/tests/migrate3.py\", line 48, in migrate3\n cargo_run([\"push\", f\"--remote=http://127.0.0.1:41127/test-user/base-{version}\"])\n File \"/home/ubuntu/Documents/ragit/tests/utils.py\", line 88, in cargo_run\n File \"/usr/lib/python3.12/subprocess.py\", line 571, in run\n raise CalledProcessError(retcode, process.args,\nsubprocess.CalledProcessError: Command '['cargo', 'run', '--release', '--no-default-features', '--', 'push', '--remote=http://127.0.0.1:41127/test-user/base-0.4.0']' returned non-zero exit status 1.\n", "elapsed_ms": 760084, "message": null } }, "result": { "total": 74, "complete": 74, "pass": 68, "fail": 6, "remaining": 0 }, "coverage": [ "", "--file", "add", "add --all", "add --all --force", "add --dry-run", "add --dry-run --force", "add --dry-run --reject", "add --file", "add --force", "add --force -f", "add --invalid-flag", "add --reject", "add -C", "add -c", "add -f", "archive-creat", "archive-create", "archive-create --configs --no-prompts --output", "archive-create --force --no-configs --no-prompts --output", "archive-create --no-configs --no-prompts --output", "archive-create --no-configs --no-prompts --output --size-limit", "archive-create --no-configs --output --prompts", "archive-create -o", "archive-extract --force --output", "archive-extract --output", "archive-extract -o", "audit --json --only-tokens", "audit --json --only-tokens -c", "audit -c", "build", "build --invalid-flag", "build --jobs", "build -C", "cat-file", "cat-file --json", "cat-file -C", "check", "check --recover", "clone", "config --get", "config --get-all", "config --invalid-flag", "config --set", "extract-keywords", "extract-keywords --full-schema", "extract-keywords --full-schema --json", "extract-keywords --json", "gc --audit", "gc --images", "gc --logs", "ii-build", "ii-reset", "ii-status", "init", "init -C", "invalid-command", "ls-chunks", "ls-chunks --json", "ls-chunks --json --stat-only", "ls-chunks --json --uid-only", "ls-files", "ls-files --cached --json --name-only", "ls-files --json", "ls-files --json --name-only", "ls-files --json --name-only --processed", "ls-files --json --name-only --staged", "ls-files --json --stat-only", "ls-images", "ls-images --json", "ls-images --json --stat-only", "ls-images --json --uid-only", "ls-images --uid-only", "ls-models --json", "ls-models --json --name-only", "ls-models --json --selected", "ls-models --name-only --selected", "ls-terms", "ls-terms --json --term-only", "merge", "merge --force --prefix", "merge --prefix", "merge --prefix --reject", "meta --get", "meta --get-all --json", "meta --remove", "meta --set", "migrate", "model --all --existing-only --fetch --remote", "model --all --fetch --remote", "model --all --remove", "model --existing-only --fetch --remote", "model --fetch --remote", "model --json --remote --search", "model --json --search", "model --remove", "pdl", "pdl --context", "pdl --context --log --model", "pdl --context --model", "pdl --context --model --no-strict", "pdl --context --model --strict", "pdl --log --model", "pdl --log --model --schema", "pdl --model", "pull", "push", "push --configs --prompts --remote", "push --configs --remote", "push --remote", "qeury", "query", "query --agent", "query --disable-rag", "query --iterative", "query --josn", "query --max-retrieval", "query --max-summaries", "query --model", "query --schema", "query --super-rerank", "query -json", "remove", "remove --all", "remove --all --auto", "remove --all --auto --dry-run", "remove --all --processed", "remove --all --staged", "remove --dry-run --processed", "remove --dry-run --staged", "remove --processed", "remove --staged", "remove --staged -r", "remove -C", "remove -r", "summary", "summary --cached", "summary --force", "summary --remove", "summary --set", "tfidf", "tfidf --json", "tfidf --json --limit", "tfidf --limit", "tfidf --limit --uid-only", "uid", "version", "version --build-options --json" ] }