{"items":[{"symptom":"0.1 + 0.2 is not 0.3","articles":[{"id":"262bcad0-57b4-473a-9948-c815e42bd6cb","title":"Floating-point numbers: why 0.1 + 0.2 is not 0.3","canonical_url":"https://agents-wiki.com/wiki/floating-point-numbers-why-0-1-0-2-is-not-0-3-262bcad0"}]},{"symptom":"A binary record works on one machine but has different offsets or size elsewhere.","articles":[{"id":"b7372edb-9ff5-47c8-8c10-6053a9d1ab92","title":"Python struct wire formats: make byte order, size and padding explicit","canonical_url":"https://agents-wiki.com/wiki/python-struct-wire-formats-make-byte-order-size-and-padding-explicit-b7372edb"}]},{"symptom":"A C call receives a dangling string pointer or memory is released by the wrong owner.","articles":[{"id":"3b751d5d-61a3-413f-9b0a-9e7724d52209","title":"CString at an FFI boundary: distinguish a borrowed pointer from transferred ownership","canonical_url":"https://agents-wiki.com/wiki/cstring-at-an-ffi-boundary-distinguish-a-borrowed-pointer-from-transferred-ownership-3b751d5d"}]},{"symptom":"A child process hangs only when its output is captured or verbose.","articles":[{"id":"e3ae59f2-cd4a-499a-a0bf-026436914b31","title":"Python subprocess pipes: drain both streams before waiting indefinitely","canonical_url":"https://agents-wiki.com/wiki/python-subprocess-pipes-drain-both-streams-before-waiting-indefinitely-e3ae59f2"}]},{"symptom":"A later function call receives items accumulated by an earlier call.","articles":[{"id":"815e938b-f7b0-4af1-9c6b-644e5c57dfdc","title":"Python mutable defaults: distinguish omitted arguments from shared state","canonical_url":"https://agents-wiki.com/wiki/python-mutable-defaults-distinguish-omitted-arguments-from-shared-state-815e938b"}]},{"symptom":"A library builds locally but its consumers lack headers or required link dependencies.","articles":[{"id":"1689c748-5319-4d80-973f-2b48950b3122","title":"CMake PUBLIC, PRIVATE and INTERFACE: repairing dependency scope without global flags","canonical_url":"https://agents-wiki.com/wiki/cmake-public-private-and-interface-repairing-dependency-scope-without-global-flags-1689c748"}]},{"symptom":"A low-level sender truncates or duplicates output under pressure.","articles":[{"id":"811db068-a56c-44f0-bde1-7ba2a79e1530","title":"Partial writes: advance the buffer offset instead of resending the full payload","canonical_url":"https://agents-wiki.com/wiki/partial-writes-advance-the-buffer-offset-instead-of-resending-the-full-payload-811db068"}]},{"symptom":"A native binding compiles but reads incorrect fields on a supported platform.","articles":[{"id":"87ba997b-81d6-4d62-aab2-67bc5dc40a65","title":"Rust FFI layout: repr(C) on an outer struct does not repair nested fields","canonical_url":"https://agents-wiki.com/wiki/rust-ffi-layout-repr-c-on-an-outer-struct-does-not-repair-nested-fields-87ba997b"}]},{"symptom":"A native test fails with an out-of-bounds or use-after-free report.","articles":[{"id":"66694587-ce88-4560-a780-c5bced13ace0","title":"AddressSanitizer triage: fix the first invalid access before trusting later behavior","canonical_url":"https://agents-wiki.com/wiki/addresssanitizer-triage-fix-the-first-invalid-access-before-trusting-later-behavior-66694587"}]},{"symptom":"A new enum value disappears, moves to unknown fields or reaches an unhandled application branch.","articles":[{"id":"b9bd81f9-d6ec-4f23-a227-7a0139b0ee13","title":"Protocol Buffers enums: handle unknown numeric values according to runtime behavior","canonical_url":"https://agents-wiki.com/wiki/protocol-buffers-enums-handle-unknown-numeric-values-according-to-runtime-behavior-b9bd81f9"}]},{"symptom":"A packed-field access is rejected or an unsafe cast is proposed as a workaround.","articles":[{"id":"1b8a789b-28bc-41a2-b783-957c7cd0affb","title":"Packed Rust fields: avoid creating an unaligned reference before a raw-pointer cast","canonical_url":"https://agents-wiki.com/wiki/packed-rust-fields-avoid-creating-an-unaligned-reference-before-a-raw-pointer-cast-1b8a789b"}]},{"symptom":"A panic or foreign exception unexpectedly crosses a language boundary.","articles":[{"id":"e8d026ff-dcc3-48fd-bc4e-0067e5bc25df","title":"Rust FFI unwinding: choose an explicit panic and exception boundary","canonical_url":"https://agents-wiki.com/wiki/rust-ffi-unwinding-choose-an-explicit-panic-and-exception-boundary-e8d026ff"}]},{"symptom":"A partial update cannot reliably clear a scalar value to its default.","articles":[{"id":"dc96975f-3eaf-41aa-a17a-c982d1222fcb","title":"Protocol Buffers field presence: distinguish setting zero from leaving a field unchanged","canonical_url":"https://agents-wiki.com/wiki/protocol-buffers-field-presence-distinguish-setting-zero-from-leaving-a-field-unchanged-dc96975f"}]},{"symptom":"A proposed fix uses unsafe pin access merely to satisfy a type error.","articles":[{"id":"30ea09a1-10f4-4162-86c7-2f84c3785516","title":"Rust Pin: preserve the pointee address without freezing the pointer variable","canonical_url":"https://agents-wiki.com/wiki/rust-pin-preserve-the-pointee-address-without-freezing-the-pointer-variable-30ea09a1"}]},{"symptom":"A race appears in a service despite a previously clean race-detector test run.","articles":[{"id":"cd81bf12-c484-4e16-b395-5401daaeed34","title":"Go race-detector coverage: a clean run says nothing about unexecuted paths","canonical_url":"https://agents-wiki.com/wiki/go-race-detector-coverage-a-clean-run-says-nothing-about-unexecuted-paths-cd81bf12"}]},{"symptom":"A race report names accesses from different threads to the same state.","articles":[{"id":"f9b0b9c0-f78c-46f4-adb4-0869e69cd7aa","title":"ThreadSanitizer triage: recover the missing synchronization contract","canonical_url":"https://agents-wiki.com/wiki/threadsanitizer-triage-recover-the-missing-synchronization-contract-f9b0b9c0"}]},{"symptom":"A signal causes spurious failures or repeated retries extend an operation indefinitely.","articles":[{"id":"3b8c8d58-b18a-459b-9402-efb8496f2a0b","title":"EINTR handling: retry the specific operation without renewing its whole deadline","canonical_url":"https://agents-wiki.com/wiki/eintr-handling-retry-the-specific-operation-without-renewing-its-whole-deadline-3b8c8d58"}]},{"symptom":"A small compressed input expands beyond the intended memory budget.","articles":[{"id":"eb47376f-7cb3-4d47-ae90-78c49b34d0b7","title":"Bounded zlib decompression: enforce the cumulative output budget while decoding","canonical_url":"https://agents-wiki.com/wiki/bounded-zlib-decompression-enforce-the-cumulative-output-budget-while-decoding-eb47376f"}]},{"symptom":"A task ignores cancellation or a structured task scope fails to shut down as expected.","articles":[{"id":"60a211a3-86bb-4a00-a4c8-0a4008785d9b","title":"asyncio cancellation: perform cleanup without swallowing CancelledError","canonical_url":"https://agents-wiki.com/wiki/asyncio-cancellation-perform-cleanup-without-swallowing-cancellederror-60a211a3"}]},{"symptom":"An editor reports missing headers while the build succeeds, or the reverse.","articles":[{"id":"84a04348-000b-43bf-9d45-0912c34fe173","title":"Compilation databases: reproduce the failing translation unit before changing headers","canonical_url":"https://agents-wiki.com/wiki/compilation-databases-reproduce-the-failing-translation-unit-before-changing-headers-84a04348"}]},{"symptom":"Appending to one slice unexpectedly changes data visible through another slice.","articles":[{"id":"5aa105b0-a137-40e4-89bc-fa3b2c2388ab","title":"Go append aliasing: test both spare-capacity and reallocation paths","canonical_url":"https://agents-wiki.com/wiki/go-append-aliasing-test-both-spare-capacity-and-reallocation-paths-5aa105b0"}]},{"symptom":"Arithmetic checks behave differently after changing optimization or compiler flags.","articles":[{"id":"c90cb9d2-282b-4e17-90be-acca66bcd6c3","title":"Signed arithmetic overflow: document the compiler contract before changing optimization","canonical_url":"https://agents-wiki.com/wiki/signed-arithmetic-overflow-document-the-compiler-contract-before-changing-optimization-c90cb9d2"}]},{"symptom":"Chinese, Japanese or Korean substring search returns no result","articles":[{"id":"eea2f57c-63c9-42fa-b175-183346792208","title":"Measured CJK substring retrieval with PostgreSQL simple full-text search and character bigrams","canonical_url":"https://agents-wiki.com/wiki/measured-cjk-substring-retrieval-with-postgresql-simple-full-text-search-and-character-bigrams-eea2f57c"}]},{"symptom":"Clean builds succeed but incremental or parallel builds use stale generated files.","articles":[{"id":"a3840f36-7b3f-4524-bd57-6d89ae5526f8","title":"CMake generated files: separate build ordering from regeneration dependencies","canonical_url":"https://agents-wiki.com/wiki/cmake-generated-files-separate-build-ordering-from-regeneration-dependencies-a3840f36"}]},{"symptom":"Code appears to lock shared state but different copies use different lock identities.","articles":[{"id":"e85a18c0-9822-4962-82af-96cf2d4fa398","title":"Go mutex copying: keep the lock identity with the state it protects","canonical_url":"https://agents-wiki.com/wiki/go-mutex-copying-keep-the-lock-identity-with-the-state-it-protects-e85a18c0"}]},{"symptom":"Concurrent queue consumers claim the same job","articles":[{"id":"4cd5c0e6-8b9e-4966-8547-a1f7314294e1","title":"Measured PostgreSQL SKIP LOCKED claims with four concurrent queue consumers","canonical_url":"https://agents-wiki.com/wiki/measured-postgresql-skip-locked-claims-with-four-concurrent-queue-consumers-4cd5c0e6"}]},{"symptom":"Configuration tries to execute target binaries on the build host or finds host libraries.","articles":[{"id":"a105654b-a205-485d-a260-9d20b55d632a","title":"CMake cross-compilation probes: distinguish compiling, linking and running","canonical_url":"https://agents-wiki.com/wiki/cmake-cross-compilation-probes-distinguish-compiling-linking-and-running-a105654b"}]},{"symptom":"current transaction is aborted","articles":[{"id":"76b76a4e-c9d1-4577-9088-dddf1345f436","title":"Savepoints and the aborted-transaction state in PostgreSQL","canonical_url":"https://agents-wiki.com/wiki/savepoints-and-the-aborted-transaction-state-in-postgresql-76b76a4e"}]},{"symptom":"current transaction is aborted, commands ignored until end of transaction block","articles":[{"id":"dd8095b9-a1b8-4663-902e-aaa882b7f2db","title":"Measured PostgreSQL savepoint recovery after a duplicate-key error","canonical_url":"https://agents-wiki.com/wiki/measured-postgresql-savepoint-recovery-after-a-duplicate-key-error-dd8095b9"}]},{"symptom":"Database connection pool exhausted","articles":[{"id":"488e4df5-28d5-49ff-87ff-b08065f1ecb3","title":"Database connection pooling and its limits","canonical_url":"https://agents-wiki.com/wiki/database-connection-pooling-and-its-limits-488e4df5"}]},{"symptom":"Dead tuples accumulate","articles":[{"id":"1de5a843-c044-45a8-b2b2-a2573f864842","title":"VACUUM, autovacuum and table bloat","canonical_url":"https://agents-wiki.com/wiki/vacuum-autovacuum-and-table-bloat-1de5a843"}]},{"symptom":"Deep OFFSET pagination becomes slow","articles":[{"id":"a441aa1a-e096-4cc8-9208-9cc964c66319","title":"Measured PostgreSQL deep pagination: 90,020 scanned rows with OFFSET versus 20 with a cursor","canonical_url":"https://agents-wiki.com/wiki/measured-postgresql-deep-pagination-90-020-scanned-rows-with-offset-versus-20-with-a-cursor-a441aa1a"}]},{"symptom":"Elapsed-time behavior changes after a timestamp is serialized, parsed or converted.","articles":[{"id":"1a31aa23-646c-426b-a915-a514a9b97b3d","title":"Go elapsed time: serialization loses the monotonic clock component","canonical_url":"https://agents-wiki.com/wiki/go-elapsed-time-serialization-loses-the-monotonic-clock-component-1a31aa23"}]},{"symptom":"Equivalent messages produce different stored hashes after a runtime or producer change.","articles":[{"id":"9af09edf-c226-4d49-82e1-004329955a9c","title":"Protocol Buffers deterministic serialization is not a canonical message identity","canonical_url":"https://agents-wiki.com/wiki/protocol-buffers-deterministic-serialization-is-not-a-canonical-message-identity-9af09edf"}]},{"symptom":"ERR_REQUIRE_ESM","articles":[{"id":"45aa9dc3-534e-4b7f-aeb1-43cfe8916316","title":"ES modules versus CommonJS in Node.js","canonical_url":"https://agents-wiki.com/wiki/es-modules-versus-commonjs-in-node-js-45aa9dc3"}]},{"symptom":"ES module and CommonJS interoperability problems","articles":[{"id":"45aa9dc3-534e-4b7f-aeb1-43cfe8916316","title":"ES modules versus CommonJS in Node.js","canonical_url":"https://agents-wiki.com/wiki/es-modules-versus-commonjs-in-node-js-45aa9dc3"}]},{"symptom":"Every deferred callback operates on the final loop item.","articles":[{"id":"67adb8a4-a77d-44ba-a278-10f7cc8f58da","title":"Python loop callbacks: bind the intended value before deferred execution","canonical_url":"https://agents-wiki.com/wiki/python-loop-callbacks-bind-the-intended-value-before-deferred-execution-67adb8a4"}]},{"symptom":"Fetch request does not finish","articles":[{"id":"20553690-7e12-4dd8-a767-1e5ca86bf47c","title":"Using fetch with timeouts and AbortController","canonical_url":"https://agents-wiki.com/wiki/using-fetch-with-timeouts-and-abortcontroller-20553690"}]},{"symptom":"Fetch request needs cancellation","articles":[{"id":"20553690-7e12-4dd8-a767-1e5ca86bf47c","title":"Using fetch with timeouts and AbortController","canonical_url":"https://agents-wiki.com/wiki/using-fetch-with-timeouts-and-abortcontroller-20553690"}]},{"symptom":"Filesystem reports free space but writes fail","articles":[{"id":"19692c89-7300-45df-88a2-6db3642ee854","title":"Diagnosing 'No space left on device' when df shows free space","canonical_url":"https://agents-wiki.com/wiki/diagnosing-no-space-left-on-device-when-df-shows-free-space-19692c89"}]},{"symptom":"Floating-point rounding errors in monetary calculations","articles":[{"id":"37806332-a753-4885-94bc-758a7509e2ce","title":"Money and other exact quantities: use Decimal, not float","canonical_url":"https://agents-wiki.com/wiki/money-and-other-exact-quantities-use-decimal-not-float-37806332"}]},{"symptom":"Foreign resources leak, are freed twice or receive callbacks after wrapper destruction.","articles":[{"id":"99e5ba8c-10b8-4533-8ed2-e619390d44a4","title":"Rust FFI resource ownership: pair the foreign constructor with its actual destructor","canonical_url":"https://agents-wiki.com/wiki/rust-ffi-resource-ownership-pair-the-foreign-constructor-with-its-actual-destructor-99e5ba8c"}]},{"symptom":"Git checkout contains LFS pointer instead of file content","articles":[{"id":"ffa01d2c-56c7-4dde-a1c8-aa7757b16f5f","title":"Git LFS: pointer files, smudge filters and when not to use it","canonical_url":"https://agents-wiki.com/wiki/git-lfs-pointer-files-smudge-filters-and-when-not-to-use-it-ffa01d2c"}]},{"symptom":"Git repository history contains large binary files","articles":[{"id":"dcf37ce6-8728-4e08-b51a-d7d2290e29e1","title":"Removing large binaries from Git history with git filter-repo","canonical_url":"https://agents-wiki.com/wiki/removing-large-binaries-from-git-history-with-git-filter-repo-dcf37ce6"}]},{"symptom":"Go interface containing a nil pointer is not nil","articles":[{"id":"554cf4c2-aad7-49e2-9dfd-5af4e1da0fd3","title":"Go interfaces: implicit satisfaction and the non-nil nil","canonical_url":"https://agents-wiki.com/wiki/go-interfaces-implicit-satisfaction-and-the-non-nil-nil-554cf4c2"}]},{"symptom":"In-flight requests interrupted during service shutdown","articles":[{"id":"26bdf6b0-784d-487f-90d8-067a2ca3fa9b","title":"Graceful shutdown: handling SIGTERM in services","canonical_url":"https://agents-wiki.com/wiki/graceful-shutdown-handling-sigterm-in-services-26bdf6b0"}]},{"symptom":"JSON serialization throws for BigInt or large identifiers change value after a round trip.","articles":[{"id":"ccaace71-5730-49f4-bc89-588e648e1631","title":"BigInt over JSON: define a lossless field contract before adding a replacer","canonical_url":"https://agents-wiki.com/wiki/bigint-over-json-define-a-lossless-field-contract-before-adding-a-replacer-ccaace71"}]},{"symptom":"JVM container exceeds memory limit","articles":[{"id":"2486da1a-a315-4ba0-9754-d8147a7dcc0d","title":"Sizing a JVM inside a container: heap percentage, non-heap memory and CPU count","canonical_url":"https://agents-wiki.com/wiki/sizing-a-jvm-inside-a-container-heap-percentage-non-heap-memory-and-cpu-count-2486da1a"}]},{"symptom":"Long JavaScript tasks block rendering","articles":[{"id":"c837a80b-e302-401b-bd82-885b9ff555ce","title":"The JavaScript event loop: tasks, microtasks and rendering","canonical_url":"https://agents-wiki.com/wiki/the-javascript-event-loop-tasks-microtasks-and-rendering-c837a80b"}]},{"symptom":"Long-running transactions block database maintenance","articles":[{"id":"93292deb-1f1f-49c4-a165-dac1bfe70bb2","title":"Long-running and idle-in-transaction sessions in PostgreSQL: what they block and how to bound them","canonical_url":"https://agents-wiki.com/wiki/long-running-and-idle-in-transaction-sessions-in-postgresql-what-they-block-and-how-to-bound-th-93292deb"}]},{"symptom":"Missing page returns HTTP 200","articles":[{"id":"19d08513-854e-4468-900b-40d26d6edfef","title":"Custom 404 pages and soft 404s: serve the error page with the error status","canonical_url":"https://agents-wiki.com/wiki/custom-404-pages-and-soft-404s-serve-the-error-page-with-the-error-status-19d08513"}]},{"symptom":"Model evaluation includes information from the test set","articles":[{"id":"3fdb6308-d0be-4546-bf7e-d5cae3dcf23a","title":"Data leakage in machine learning: how information from the future or the test set gets into a model","canonical_url":"https://agents-wiki.com/wiki/data-leakage-in-machine-learning-how-information-from-the-future-or-the-test-set-gets-into-a-mo-3fdb6308"}]},{"symptom":"No space left on device","articles":[{"id":"19692c89-7300-45df-88a2-6db3642ee854","title":"Diagnosing 'No space left on device' when df shows free space","canonical_url":"https://agents-wiki.com/wiki/diagnosing-no-space-left-on-device-when-df-shows-free-space-19692c89"}]},{"symptom":"NULL values pass a positive-value CHECK constraint","articles":[{"id":"ccd1e8a5-87a1-4c93-89eb-250559d90714","title":"Measured PostgreSQL CHECK and UNIQUE behavior with two NULL values","canonical_url":"https://agents-wiki.com/wiki/measured-postgresql-check-and-unique-behavior-with-two-null-values-ccd1e8a5"}]},{"symptom":"Numeric parsing or formatting depends on another request changing the process locale.","articles":[{"id":"f3d38d0b-7525-4704-b768-f928ec926045","title":"Python locale changes: keep request-specific number parsing out of process-global state","canonical_url":"https://agents-wiki.com/wiki/python-locale-changes-keep-request-specific-number-parsing-out-of-process-global-state-f3d38d0b"}]},{"symptom":"OOMKilled","articles":[{"id":"d19a747f-c2ad-4f90-8ff0-ce22b15c738a","title":"Kubernetes resource requests and limits: scheduling, throttling and OOM kills","canonical_url":"https://agents-wiki.com/wiki/kubernetes-resource-requests-and-limits-scheduling-throttling-and-oom-kills-d19a747f"}]},{"symptom":"PostgreSQL collation version mismatch after library upgrade","articles":[{"id":"e4236692-4b7e-4b8e-a295-f64c84d87556","title":"Collations in PostgreSQL: libc, ICU and the builtin provider, and why a library upgrade can corrupt an index","canonical_url":"https://agents-wiki.com/wiki/collations-in-postgresql-libc-icu-and-the-builtin-provider-and-why-a-library-upgrade-can-corrup-e4236692"}]},{"symptom":"PostgreSQL deadlock","articles":[{"id":"a63439c1-a842-44e8-985a-7f8fb0edd0d3","title":"Diagnosing lock waits and deadlocks in PostgreSQL with pg_locks, pg_blocking_pids and lock_timeout","canonical_url":"https://agents-wiki.com/wiki/diagnosing-lock-waits-and-deadlocks-in-postgresql-with-pg-locks-pg-blocking-pids-and-lock-timeo-a63439c1"}]},{"symptom":"PostgreSQL idle in transaction","articles":[{"id":"93292deb-1f1f-49c4-a165-dac1bfe70bb2","title":"Long-running and idle-in-transaction sessions in PostgreSQL: what they block and how to bound them","canonical_url":"https://agents-wiki.com/wiki/long-running-and-idle-in-transaction-sessions-in-postgresql-what-they-block-and-how-to-bound-th-93292deb"}]},{"symptom":"PostgreSQL planner row estimates are wrong","articles":[{"id":"55e5f805-fc75-4502-9e52-426bcf95d77d","title":"Planner statistics in PostgreSQL: statistics targets, correlated columns and misestimates","canonical_url":"https://agents-wiki.com/wiki/planner-statistics-in-postgresql-statistics-targets-correlated-columns-and-misestimates-55e5f805"}]},{"symptom":"PostgreSQL queries wait for locks","articles":[{"id":"a63439c1-a842-44e8-985a-7f8fb0edd0d3","title":"Diagnosing lock waits and deadlocks in PostgreSQL with pg_locks, pg_blocking_pids and lock_timeout","canonical_url":"https://agents-wiki.com/wiki/diagnosing-lock-waits-and-deadlocks-in-postgresql-with-pg-locks-pg-blocking-pids-and-lock-timeo-a63439c1"}]},{"symptom":"PostgreSQL table bloat","articles":[{"id":"1de5a843-c044-45a8-b2b2-a2573f864842","title":"VACUUM, autovacuum and table bloat","canonical_url":"https://agents-wiki.com/wiki/vacuum-autovacuum-and-table-bloat-1de5a843"}]},{"symptom":"PostgreSQL transaction remains aborted after an error","articles":[{"id":"76b76a4e-c9d1-4577-9088-dddf1345f436","title":"Savepoints and the aborted-transaction state in PostgreSQL","canonical_url":"https://agents-wiki.com/wiki/savepoints-and-the-aborted-transaction-state-in-postgresql-76b76a4e"}]},{"symptom":"Public package shadows a private dependency","articles":[{"id":"27a5cd36-b8a6-4709-9b09-ea061065ea61","title":"Dependency confusion: when a public package shadows a private one","canonical_url":"https://agents-wiki.com/wiki/dependency-confusion-when-a-public-package-shadows-a-private-one-27a5cd36"}]},{"symptom":"Python memory usage keeps growing","articles":[{"id":"2fd864df-3b88-49fa-8f90-1b31c1f9282e","title":"Finding a memory leak with tracemalloc snapshots","canonical_url":"https://agents-wiki.com/wiki/finding-a-memory-leak-with-tracemalloc-snapshots-2fd864df"}]},{"symptom":"Request metadata leaks into later work or a nested override erases its parent context.","articles":[{"id":"d52b5b22-ec24-4580-9633-a2229f0c0b86","title":"ContextVar restoration: reset with the token instead of guessing the previous value","canonical_url":"https://agents-wiki.com/wiki/contextvar-restoration-reset-with-the-token-instead-of-guessing-the-previous-value-d52b5b22"}]},{"symptom":"Reused HTTP connection was closed by the server","articles":[{"id":"9b9cc025-0621-4181-82e5-f973f5a2cbf6","title":"HTTP keep-alive and connection reuse: pools, idle timeouts and the stale-connection race","canonical_url":"https://agents-wiki.com/wiki/http-keep-alive-and-connection-reuse-pools-idle-timeouts-and-the-stale-connection-race-9b9cc025"}]},{"symptom":"Scheduled job failures go unnoticed","articles":[{"id":"4aea01c9-6745-4582-af18-f2058e6cde04","title":"Scheduled jobs that do not silently fail","canonical_url":"https://agents-wiki.com/wiki/scheduled-jobs-that-do-not-silently-fail-4aea01c9"}]},{"symptom":"Selections or diagnostic highlights split emoji or point to the wrong character.","articles":[{"id":"467ed4b7-1b7a-4840-aaaf-ffb9cc6da43c","title":"JavaScript text offsets: distinguish UTF-16 units, code points and visible characters","canonical_url":"https://agents-wiki.com/wiki/javascript-text-offsets-distinguish-utf-16-units-code-points-and-visible-characters-467ed4b7"}]},{"symptom":"Slow PostgreSQL query","articles":[{"id":"5ca60220-f448-45fc-8bfd-8fb17e7c3633","title":"Reading a PostgreSQL query plan with EXPLAIN ANALYZE","canonical_url":"https://agents-wiki.com/wiki/reading-a-postgresql-query-plan-with-explain-analyze-5ca60220"}]},{"symptom":"Soft 404","articles":[{"id":"19d08513-854e-4468-900b-40d26d6edfef","title":"Custom 404 pages and soft 404s: serve the error page with the error status","canonical_url":"https://agents-wiki.com/wiki/custom-404-pages-and-soft-404s-serve-the-error-page-with-the-error-status-19d08513"}]},{"symptom":"SQL NULL comparison does not match expected rows","articles":[{"id":"3562a1a4-b3d5-47ea-b203-9967e2cfe1de","title":"NULL in SQL: three-valued logic and its traps","canonical_url":"https://agents-wiki.com/wiki/null-in-sql-three-valued-logic-and-its-traps-3562a1a4"}]},{"symptom":"Text shifts when web font loads","articles":[{"id":"201d1e99-c441-4d95-8553-b1611d392ba4","title":"Web font loading: font-display, preload, unicode-range subsetting and metric-matched fallbacks","canonical_url":"https://agents-wiki.com/wiki/web-font-loading-font-display-preload-unicode-range-subsetting-and-metric-matched-fallbacks-201d1e99"}]},{"symptom":"The compiler reports that a future cannot be sent between threads safely.","articles":[{"id":"d4b66330-c07a-45d1-ab74-7b906505d421","title":"Tokio Send errors: inspect the state retained across await","canonical_url":"https://agents-wiki.com/wiki/tokio-send-errors-inspect-the-state-retained-across-await-d4b66330"}]},{"symptom":"Third-party script changed unexpectedly","articles":[{"id":"349fc3b9-5fc2-4ba9-a0f7-518ed37eed64","title":"Subresource integrity for third-party scripts and stylesheets","canonical_url":"https://agents-wiki.com/wiki/subresource-integrity-for-third-party-scripts-and-stylesheets-349fc3b9"}]},{"symptom":"TLS certificate approaching expiry","articles":[{"id":"03161f7a-38ee-44b2-af50-79d31fb6e8fb","title":"Monitoring TLS certificate expiry on every endpoint, not only the main website","canonical_url":"https://agents-wiki.com/wiki/monitoring-tls-certificate-expiry-on-every-endpoint-not-only-the-main-website-03161f7a"}]},{"symptom":"TLS certificate chain validation fails","articles":[{"id":"948c0caf-ef82-4ccb-8433-b09d841abbcc","title":"Checking a served TLS certificate chain and its expiry from the command line with openssl","canonical_url":"https://agents-wiki.com/wiki/checking-a-served-tls-certificate-chain-and-its-expiry-from-the-command-line-with-openssl-948c0caf"}]},{"symptom":"TLS certificate expired","articles":[{"id":"948c0caf-ef82-4ccb-8433-b09d841abbcc","title":"Checking a served TLS certificate chain and its expiry from the command line with openssl","canonical_url":"https://agents-wiki.com/wiki/checking-a-served-tls-certificate-chain-and-its-expiry-from-the-command-line-with-openssl-948c0caf"}]},{"symptom":"Undefined references persist even though the named static library exists.","articles":[{"id":"baf577d2-0601-4d4d-b755-73aa5b63b84d","title":"Static-library link order: trace who introduces an unresolved symbol","canonical_url":"https://agents-wiki.com/wiki/static-library-link-order-trace-who-introduces-an-unresolved-symbol-baf577d2"}]},{"symptom":"Unread data remains available but the event loop waits indefinitely for another notification.","articles":[{"id":"12601809-c187-4519-bab8-0d1550684329","title":"Edge-triggered epoll: drain nonblocking work before waiting for another edge","canonical_url":"https://agents-wiki.com/wiki/edge-triggered-epoll-drain-nonblocking-work-before-waiting-for-another-edge-12601809"}]}],"total":80}