420 queries across 5 modes.
| Mode | P@1 | P@3 | P@5 | R@5 | MRR | Avg Lat | P50 Lat |
|---|---|---|---|---|---|---|---|
| fts | 0.190 | 0.183 | 0.181 | 0.196 | 0.196 | 1ms | 1ms |
| semantic | 0.738 | 0.325 | 0.214 | 0.806 | 0.813 | 715ms | 706ms |
| semantic_boosted | 0.857 | 0.373 | 0.236 | 0.877 | 0.908 | 678ms | 663ms |
| hybrid | 0.845 | 0.377 | 0.236 | 0.883 | 0.907 | 683ms | 693ms |
| value_boosted | 0.905 | 0.381 | 0.233 | 0.871 | 0.931 | 679ms | 662ms |
| Category | Query | MRR | P@1 | R@5 | Lat | Top 5 Results |
|---|---|---|---|---|---|---|
| exact | edit replace content | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] dev/edit-dont-replace-content-is-sacred 2. [I] 6a97d0ac-4431-40 3. [I] 1b4fd2a3-e5f6-43 4. [I] bed7fa55-9ee5-46 5. [I] 9305eeb8-7d07-44 |
| exact | fail loud | 0.500 | 0.000 | 1.000 | 1ms | 1. [P] development/recognize-poor-fit-find-better-tools 2. [P] dev/fail-loud-never-fake |
| exact | silent failure | 0.000 | 0.000 | 0.000 | 1ms | 1. [I] 8e4b4be2-2c3d-48 |
| exact | progressive disclosure | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] ux/progressive-disclosure |
| exact | blast radius | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] dev/minimize-blast-radius |
| exact | idempotency resumability | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] batch-jobs/idempotency-and-resumability |
| exact | future snooping backtest | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] backtesting/no-future-snooping |
| exact | observable progress | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] batch-jobs/observable-progress |
| exact | provenance gossip | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] data-quality/data-without-provenance-is-gossip |
| exact | errors compound downstream | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] data-quality/errors-compound-downstream 2. [P] dev/structured-over-unstructured-grab-the-best-format-first |
| exact | orthogonal axes decompose | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] dev/decompose-into-orthogonal-axes |
| exact | migrate dont straddle | 0.000 | 0.000 | 0.000 | 1ms | |
| exact | trace chain action | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] dev/trace-the-chain-to-an-action |
| exact | spec driven development | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] development/spec-driven-development |
| exact | knowledge accumulating search | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] knowledge-accumulation/knowledge-accumulating-search |
| exact | speculative parallelism | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] parallelism/speculative-parallelism-trade-compute-for-latency |
| conceptual | before editing a file always read it first | 0.000 | 0.000 | 0.000 | 2ms | |
| conceptual | don't ask users to run commands and report back | 1.000 | 1.000 | 1.000 | 2ms | 1. [P] dev/dont-make-users-ferry-data |
| conceptual | use existing libraries instead of building your own | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | keep code as simple as possible | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | check results before showing them to the user | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | make errors visible and useful for debugging | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | running independent tasks at the same time | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | handle each item's failure independently in batch jobs | 0.000 | 0.000 | 0.000 | 2ms | |
| conceptual | don't leak future data into training or backtesting | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | save more data than you need now and filter later | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | don't hardcode magic thresholds, measure them empirically | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | start with small trusted batches then expand | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | validate the whole batch before committing any of it | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | returning 200 OK but the response is empty | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | truncating text by character count loses meaning | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | round numbers in data usually mean something was cut off | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | check data at the point of ingestion not when you export it | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | let machines do repetitive work while humans steer | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | concrete code examples rot faster than underlying principles | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | separate independent features into separate code paths | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | data sources should feed into storage without being coupled to it | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | if something exists doesn't mean it's the right approach | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | returning fake data when the real API is down | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | a log message that appears on every single request is useless | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | you need a shared yardstick to compare measurements | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | supporting both old and new paths at the same time forever | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | convert model aliases to canonical IDs at the API boundary | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | show the data that best reveals what's happening | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | design the full thing first then remove what's unnecessary | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | use JSON or structured APIs rather than scraping HTML | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | a warning was logged but nobody ever saw it | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | fix the underlying bug not just the symptom | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | write a spec before building a feature | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | never assume an action worked, check the result | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | don't make up API endpoints or parameter names | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | check existing work before re-solving a problem from scratch | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | when a tool doesn't fit, find a better tool instead of fighting it | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | log at the level of what the user cares about not implementation details | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | fork a background check to verify sanity while continuing main work | 1.000 | 1.000 | 0.500 | 1ms | 1. [P] parallelism/fork-and-verify-sanity-check-in-parallel |
| conceptual | most important information should be most visually prominent | 0.000 | 0.000 | 0.000 | 1ms | 1. [I] d66ecc5f-1023-46 |
| conceptual | don't repeat the same info in multiple UI elements | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | use all the available screen space effectively | 0.000 | 0.000 | 0.000 | 10ms | |
| conceptual | do only the minimum work needed for the current task | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | make rate limits a first-class part of the system design | 0.000 | 0.000 | 0.000 | 1ms | |
| conceptual | some things need a human decision not because they failed but because they're ambiguous | 0.000 | 0.000 | 0.000 | 2ms | |
| cross_domain | verify assumptions before writing code | 0.000 | 0.000 | 0.000 | 1ms | |
| cross_domain | system should observe and improve itself | 0.000 | 0.000 | 0.000 | 1ms | |
| cross_domain | data provenance and trust | 0.000 | 0.000 | 0.000 | 1ms | |
| cross_domain | how to make a feature easy to test and debug | 0.000 | 0.000 | 0.000 | 1ms | |
| cross_domain | plan the interface shape before filling in implementation | 0.000 | 0.000 | 0.000 | 1ms | |
| cross_domain | how to name things and organize files after refactoring | 0.000 | 0.000 | 0.000 | 1ms | |
| cross_domain | metrics and dashboards for improvement | 0.000 | 0.000 | 0.000 | 1ms | |
| cross_domain | building knowledge that compounds over time | 0.000 | 0.000 | 0.000 | 1ms | |
| cross_domain | keeping UI clean and scannable without clutter | 0.000 | 0.000 | 0.000 | 1ms | |
| cross_domain | reliable batch processing at scale | 0.000 | 0.000 | 0.000 | 1ms | |
| negation | catching exceptions silently and continuing | 0.000 | 0.000 | 0.000 | 1ms | |
| negation | building a new abstraction for a one-time operation | 0.000 | 0.000 | 0.000 | 1ms | |
| negation | workarounds accumulating in the codebase | 0.000 | 0.000 | 0.000 | 1ms | |
| negation | silently returning hardcoded data when the API call fails | 0.000 | 0.000 | 0.000 | 1ms | |
| negation | using string slicing to shorten text to fit a token limit | 0.000 | 0.000 | 0.000 | 1ms | |
| negation | adding more flags and config options to an already complex function | 0.000 | 0.000 | 0.000 | 1ms | |
| negation | maintaining two parallel code paths for old and new formats | 0.000 | 0.000 | 0.000 | 1ms | |
| negation | copying the same retry/timeout boilerplate into every file | 0.000 | 0.000 | 0.000 | 1ms | |
| negation | error was logged to a file but nobody reads that file | 1.000 | 1.000 | 1.000 | 1ms | 1. [P] dev/trace-the-chain-to-an-action |
| negation | fixing the wrong CSS property because the real cause is elsewhere | 0.000 | 0.000 | 0.000 | 1ms | |
| negation | processing 10000 items then discovering row 3 was malformed | 0.000 | 0.000 | 0.000 | 1ms | |
| negation | a human manually moving data between systems every hour | 0.000 | 0.000 | 0.000 | 1ms | |
| negation | using single quotes as delimiters in LLM prompts that contain English text | 0.000 | 0.000 | 0.000 | 1ms |
| Category | Query | MRR | P@1 | R@5 | Lat | Top 5 Results |
|---|---|---|---|---|---|---|
| exact | edit replace content | 0.167 | 0.000 | 0.000 | 2363ms | 1. [I] 6a97d0ac-4431-40 2. [I] 1b4fd2a3-e5f6-43 3. [I] bed7fa55-9ee5-46 4. [I] 786e72dd-0011-40 5. [I] 914f2a36-e3de-4c |
| exact | fail loud | 1.000 | 1.000 | 1.000 | 653ms | 1. [P] dev/fail-loud-never-fake 2. [P] development/no-silent-failures 3. [P] batch-jobs/fail-per-element-not-per-batch 4. [I] 4727d1e3-f836-48 5. [P] batch-jobs/errors-are-data-not-exceptions |
| exact | silent failure | 1.000 | 1.000 | 0.500 | 640ms | 1. [P] development/no-silent-failures 2. [I] 24e97ada-29b2-44 3. [I] 4727d1e3-f836-48 4. [P] batch-jobs/success-without-useful-work-is-a-lie 5. [I] 37cfae03-c41e-4c |
| exact | progressive disclosure | 1.000 | 1.000 | 1.000 | 662ms | 1. [P] ux/progressive-disclosure 2. [I] 8b2611e4-37fb-48 3. [P] ux/graceful-degradation 4. [I] d66ecc5f-1023-46 5. [P] ux/visual-clarity |
| exact | blast radius | 1.000 | 1.000 | 1.000 | 736ms | 1. [P] dev/minimize-blast-radius 2. [P] batch-jobs/progressive-trust-radius 3. [I] beed6ef3-06dc-4b 4. [I] 1c41f60f-ab48-4b 5. [I] 2cb26a60-5a6a-4c |
| exact | idempotency resumability | 1.000 | 1.000 | 1.000 | 664ms | 1. [P] batch-jobs/idempotency-and-resumability 2. [I] 36645757-a85b-46 3. [P] batch-jobs/rateresource-awareness-as-architecture 4. [I] 05af763a-5017-4e 5. [I] 825babc9-ff2f-45 |
| exact | future snooping backtest | 1.000 | 1.000 | 1.000 | 672ms | 1. [P] backtesting/no-future-snooping 2. [P] backtesting/separate-detection-from-prediction 3. [I] 3338aa1e-a580-41 4. [I] 70d7cb9a-8c10-45 5. [I] 723dc0dc-d19e-4b |
| exact | observable progress | 1.000 | 1.000 | 1.000 | 707ms | 1. [P] batch-jobs/observable-progress 2. [I] 6d2609ce-d209-4a 3. [I] 6633a817-c98f-4a 4. [I] bf4ef6b9-2155-42 5. [P] ux/use-effective-limits-as-denominators |
| exact | provenance gossip | 1.000 | 1.000 | 1.000 | 653ms | 1. [P] data-quality/data-without-provenance-is-gossip 2. [I] 16dafc2d-c8c8-40 3. [I] 9bbd4524-b853-42 4. [P] dev/verify-the-source-first 5. [I] 0290f553-8f66-40 |
| exact | errors compound downstream | 1.000 | 1.000 | 1.000 | 712ms | 1. [P] data-quality/errors-compound-downstream 2. [I] 06b2b2ee-5262-49 3. [I] 825babc9-ff2f-45 4. [I] a1636a05-8a2b-4b 5. [I] 160880ea-7493-42 |
| exact | orthogonal axes decompose | 1.000 | 1.000 | 1.000 | 733ms | 1. [P] dev/decompose-into-orthogonal-axes 2. [P] dev/independent-dimensions-independent-paths 3. [I] f93a5790-40c4-4b 4. [I] c9e31f93-15b0-4b 5. [I] dc4447a9-e6a4-42 |
| exact | migrate dont straddle | 1.000 | 1.000 | 1.000 | 635ms | 1. [P] dev/migrate-dont-straddle 2. [I] 68d58030-36cd-44 3. [I] 2b7f7a40-96ac-4d 4. [P] dev/validate-at-intake-not-at-export 5. [P] dev/dont-make-users-ferry-data |
| exact | trace chain action | 1.000 | 1.000 | 1.000 | 632ms | 1. [P] dev/trace-the-chain-to-an-action 2. [I] 2e47713e-ef0d-41 3. [I] b3f36ac5-78cd-43 4. [P] data-quality/data-without-provenance-is-gossip 5. [P] dev/verify-the-source-first |
| exact | spec driven development | 1.000 | 1.000 | 1.000 | 655ms | 1. [P] development/spec-driven-development 2. [P] development/spec 3. [P] development/implementation-spec 4. [P] development/feature-lifecycle 5. [P] development/implementation |
| exact | knowledge accumulating search | 1.000 | 1.000 | 1.000 | 761ms | 1. [P] knowledge-accumulation/knowledge-accumulating-search 2. [P] dev/decouple-feeders-from-core-storage 3. [I] 72e1e4d3-5b0d-49 4. [P] dev/widen-the-search-aperture 5. [I] 7a2dd2d0-57af-41 |
| exact | speculative parallelism | 1.000 | 1.000 | 1.000 | 648ms | 1. [P] parallelism/speculative-parallelism-trade-compute-for-latency 2. [P] parallelism/fork-and-verify-sanity-check-in-parallel 3. [P] parallelism/test-assumptions-in-background 4. [I] f93a5790-40c4-4b 5. [P] parallelism/amortize-orchestration-overhead |
| conceptual | before editing a file always read it first | 0.091 | 0.000 | 0.000 | 673ms | 1. [I] 2f9aa1fe-1e08-43 2. [I] 01e44f1d-a909-42 3. [I] 1730e8f3-3698-4c 4. [I] 08fd8f03-0b4d-47 5. [I] c1db9f2d-a2eb-42 |
| conceptual | don't ask users to run commands and report back | 1.000 | 1.000 | 1.000 | 736ms | 1. [P] dev/dont-make-users-ferry-data 2. [I] 6d2609ce-d209-4a 3. [I] 769a0de5-9c0e-48 4. [I] 8952eafe-5a91-46 5. [I] 5e1b3236-ad26-41 |
| conceptual | use existing libraries instead of building your own | 1.000 | 1.000 | 1.000 | 645ms | 1. [P] dev/adopt-before-you-build 2. [P] dev/research-before-building-broad-upfront-investigation-pays-of 3. [I] 9597aef9-3eee-4b 4. [P] dev/extend-dont-invent 5. [I] 7790ac1b-53fc-43 |
| conceptual | keep code as simple as possible | 1.000 | 1.000 | 1.000 | 701ms | 1. [P] dev/less-is-more 2. [P] dev/complexity-must-be-earned 3. [P] development/simplicity-and-incremental-refactoring 4. [P] dev/simplify-after-designing 5. [P] dev/prefer-context-native-mechanisms |
| conceptual | check results before showing them to the user | 1.000 | 1.000 | 0.500 | 749ms | 1. [P] data-quality/sanity-check-results-before-presenting 2. [I] 4c1a961e-79c4-44 3. [I] 9eb28a00-a62b-41 4. [P] data-quality/round-numbers-are-truncation-signals 5. [I] 4727d1e3-f836-48 |
| conceptual | make errors visible and useful for debugging | 1.000 | 1.000 | 0.333 | 656ms | 1. [P] observability/error-logging 2. [I] 4727d1e3-f836-48 3. [P] batch-jobs/errors-are-data-not-exceptions 4. [P] observability/debugging-flow 5. [I] a89f5758-fce1-45 |
| conceptual | running independent tasks at the same time | 0.500 | 0.000 | 0.500 | 694ms | 1. [I] f93a5790-40c4-4b 2. [P] parallelism/offload-leaf-tasks 3. [I] eccec4cc-a13a-4b 4. [P] parallelism/amortize-orchestration-overhead 5. [P] parallelism/test-assumptions-in-background |
| conceptual | handle each item's failure independently in batch jobs | 1.000 | 1.000 | 0.500 | 707ms | 1. [P] batch-jobs/fail-per-element-not-per-batch 2. [I] 05af763a-5017-4e 3. [I] 825babc9-ff2f-45 4. [I] 36645757-a85b-46 5. [I] b1e1ec9e-83c9-41 |
| conceptual | don't leak future data into training or backtesting | 1.000 | 1.000 | 1.000 | 634ms | 1. [P] backtesting/no-future-snooping 2. [P] backtesting/separate-detection-from-prediction 3. [I] 9bbd4524-b853-42 4. [I] 70d7cb9a-8c10-45 5. [I] a14691eb-8e2b-44 |
| conceptual | save more data than you need now and filter later | 1.000 | 1.000 | 1.000 | 661ms | 1. [P] batch-jobs/capture-everything-filter-later 2. [I] 8d323766-b8c9-4a 3. [I] 4c1a961e-79c4-44 4. [P] batch-jobs/empirically-validate-thresholds-dont-assume 5. [P] dev/validate-at-intake-not-at-export |
| conceptual | don't hardcode magic thresholds, measure them empirically | 1.000 | 1.000 | 1.000 | 635ms | 1. [P] batch-jobs/empirically-validate-thresholds-dont-assume 2. [I] 43d6dc89-a29c-4e 3. [I] 5aefc8d9-6ad0-4c 4. [P] data-quality/round-numbers-are-truncation-signals 5. [P] ux/use-effective-limits-as-denominators |
| conceptual | start with small trusted batches then expand | 1.000 | 1.000 | 1.000 | 724ms | 1. [P] batch-jobs/progressive-trust-radius 2. [I] b1e1ec9e-83c9-41 3. [P] batch-jobs/validate-before-bulk-not-after 4. [P] batch-jobs/separate-collection-from-commitment 5. [P] batch-jobs/empirically-validate-thresholds-dont-assume |
| conceptual | validate the whole batch before committing any of it | 0.500 | 0.000 | 1.000 | 717ms | 1. [I] b1e1ec9e-83c9-41 2. [P] batch-jobs/validate-before-bulk-not-after 3. [P] dev/validate-at-intake-not-at-export 4. [P] batch-jobs/separate-collection-from-commitment 5. [I] 68d58030-36cd-44 |
| conceptual | returning 200 OK but the response is empty | 0.333 | 0.000 | 1.000 | 665ms | 1. [P] data-quality/round-numbers-are-truncation-signals 2. [I] 0c942836-4598-4e 3. [P] batch-jobs/success-without-useful-work-is-a-lie 4. [I] 0a6b7dc1-86ae-4c 5. [I] 368beff0-9a23-43 |
| conceptual | truncating text by character count loses meaning | 0.500 | 0.000 | 1.000 | 718ms | 1. [I] 41150c5b-d1c6-45 2. [P] data-quality/condense-semantics-dont-truncate 3. [P] ux/graceful-degradation 4. [P] data-quality/round-numbers-are-truncation-signals 5. [I] dc5efd36-8da7-4f |
| conceptual | round numbers in data usually mean something was cut off | 1.000 | 1.000 | 1.000 | 715ms | 1. [P] data-quality/round-numbers-are-truncation-signals 2. [I] 3a11240d-9850-45 3. [P] data-quality/sanity-check-results-before-presenting 4. [I] 9eb28a00-a62b-41 5. [P] dev/show-the-most-illuminating-data |
| conceptual | check data at the point of ingestion not when you export it | 0.500 | 0.000 | 1.000 | 654ms | 1. [P] data-quality/verifying-early-beats-correcting-later 2. [P] dev/validate-at-intake-not-at-export 3. [P] data-quality/errors-compound-downstream 4. [P] batch-jobs/validate-before-bulk-not-after 5. [P] batch-jobs/empirically-validate-thresholds-dont-assume |
| conceptual | let machines do repetitive work while humans steer | 1.000 | 1.000 | 1.000 | 730ms | 1. [P] dev/automate-grinding-steer-direction 2. [I] 94feb1a7-0dac-4f 3. [P] batch-jobs/progressive-trust-radius 4. [I] ed42871d-b8f3-48 5. [P] batch-jobs/escalate-decisions-not-just-errors |
| conceptual | concrete code examples rot faster than underlying principles | 1.000 | 1.000 | 1.000 | 711ms | 1. [P] dev/concrete-rots-principles-persist 2. [I] 90c7b5f4-228b-4b 3. [P] dev/migrate-dont-straddle 4. [P] dev/trim-the-root-when-branching 5. [P] dev/workarounds-piling-up-wrong-abstraction |
| conceptual | separate independent features into separate code paths | 1.000 | 1.000 | 0.500 | 673ms | 1. [P] dev/independent-dimensions-independent-paths 2. [I] ff9678de-55d2-42 3. [P] parallelism/design-for-parallel-development 4. [I] b3f36ac5-78cd-43 5. [I] 95ce820a-b1a3-43 |
| conceptual | data sources should feed into storage without being coupled to it | 1.000 | 1.000 | 1.000 | 703ms | 1. [P] dev/decouple-feeders-from-core-storage 2. [I] 68d58030-36cd-44 3. [I] 8d323766-b8c9-4a 4. [P] batch-jobs/capture-everything-filter-later 5. [I] 9bbd4524-b853-42 |
| conceptual | if something exists doesn't mean it's the right approach | 1.000 | 1.000 | 1.000 | 713ms | 1. [P] dev/existing-state-is-not-justification 2. [P] dev/adopt-before-you-build 3. [P] development/recognize-poor-fit-find-better-tools 4. [I] 7790ac1b-53fc-43 5. [P] dev/extend-dont-invent |
| conceptual | returning fake data when the real API is down | 1.000 | 1.000 | 1.000 | 664ms | 1. [P] dev/fail-loud-never-fake 2. [I] 45824053-299d-48 3. [I] 0a6b7dc1-86ae-4c 4. [I] 9eb28a00-a62b-41 5. [I] 75a5cef8-8de5-42 |
| conceptual | a log message that appears on every single request is useless | 1.000 | 1.000 | 1.000 | 729ms | 1. [P] dev/if-its-always-the-same-its-carrying-zero-information 2. [P] observability/log-at-the-users-mental-model 3. [I] b3f36ac5-78cd-43 4. [I] 1f9a8604-dba8-43 5. [I] f6b423e2-243d-4f |
| conceptual | you need a shared yardstick to compare measurements | 1.000 | 1.000 | 1.000 | 717ms | 1. [P] dev/measurement-requires-shared-instruments 2. [I] bf4ef6b9-2155-42 3. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 4. [P] observability/prefer-stateless-source-metrics 5. [I] 0290f553-8f66-40 |
| conceptual | supporting both old and new paths at the same time forever | 1.000 | 1.000 | 1.000 | 669ms | 1. [P] dev/migrate-dont-straddle 2. [I] 38d7bd7b-ef50-42 3. [I] ff9678de-55d2-42 4. [P] dev/independent-dimensions-independent-paths 5. [I] 84a79791-f57b-4b |
| conceptual | convert model aliases to canonical IDs at the API boundary | 1.000 | 1.000 | 1.000 | 716ms | 1. [P] dev/resolve-aliases-at-intake-not-locally 2. [I] 98451a81-6ea1-4f 3. [I] 7e94fd3d-d347-47 4. [I] c6ae5597-a38a-4c 5. [I] bce2a0a4-03b7-43 |
| conceptual | show the data that best reveals what's happening | 1.000 | 1.000 | 1.000 | 840ms | 1. [P] dev/show-the-most-illuminating-data 2. [P] data-quality/sanity-check-results-before-presenting 3. [P] ux/explicitly-qualify-status-values 4. [I] d66ecc5f-1023-46 5. [I] bf4ef6b9-2155-42 |
| conceptual | design the full thing first then remove what's unnecessary | 1.000 | 1.000 | 1.000 | 741ms | 1. [P] dev/simplify-after-designing 2. [P] dev/less-is-more 3. [P] development/draft-the-shape-then-fill-it-in 4. [P] e22ddcb6-40fb-443e-b666-5492e3f6b8d6 5. [P] dev/complexity-must-be-earned |
| conceptual | use JSON or structured APIs rather than scraping HTML | 1.000 | 1.000 | 1.000 | 715ms | 1. [P] dev/structured-over-unstructured-grab-the-best-format-first 2. [P] development/minimum-necessary-weight 3. [I] fb9c1692-4b87-44 4. [I] 72d88ef2-ffea-46 5. [I] 45824053-299d-48 |
| conceptual | a warning was logged but nobody ever saw it | 0.000 | 0.000 | 0.000 | 658ms | 1. [P] observability/log-at-the-users-mental-model 2. [I] 9401edf5-6bdf-47 3. [I] 4727d1e3-f836-48 4. [I] 37cfae03-c41e-4c 5. [I] d8aea94a-54a0-47 |
| conceptual | fix the underlying bug not just the symptom | 1.000 | 1.000 | 1.000 | 723ms | 1. [P] dev/treat-symptoms-as-signals 2. [P] dev/workarounds-piling-up-wrong-abstraction 3. [P] dev/exhaust-the-full-parameter-space 4. [I] 439f8f28-71cd-4a 5. [P] observability/reflection-learning-from-failures |
| conceptual | write a spec before building a feature | 1.000 | 1.000 | 0.667 | 712ms | 1. [P] development/spec 2. [P] development/spec-driven-development 3. [P] development/feature-lifecycle 4. [P] development/draft-the-shape-then-fill-it-in 5. [P] development/resolve-structural-ambiguity-before-coding |
| conceptual | never assume an action worked, check the result | 1.000 | 1.000 | 1.000 | 652ms | 1. [P] development/verify-action 2. [I] 24e97ada-29b2-44 3. [I] 6d2609ce-d209-4a 4. [I] 4727d1e3-f836-48 5. [I] 75a3e489-5aaf-41 |
| conceptual | don't make up API endpoints or parameter names | 1.000 | 1.000 | 1.000 | 723ms | 1. [P] development/verify-api-details-dont-fabricate 2. [I] bce2a0a4-03b7-43 3. [I] 0a6b7dc1-86ae-4c 4. [I] 45824053-299d-48 5. [I] 37cfae03-c41e-4c |
| conceptual | check existing work before re-solving a problem from scratch | 1.000 | 1.000 | 1.000 | 725ms | 1. [P] dev/dont-re-solve-check-history-in-parallel 2. [I] 0290f553-8f66-40 3. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 4. [P] dev/adopt-before-you-build 5. [I] 9eb28a00-a62b-41 |
| conceptual | when a tool doesn't fit, find a better tool instead of fighting it | 1.000 | 1.000 | 1.000 | 647ms | 1. [P] development/recognize-poor-fit-find-better-tools 2. [I] a9875743-b488-47 3. [I] 7790ac1b-53fc-43 4. [I] 85837f62-7f83-4a 5. [P] dev/adopt-before-you-build |
| conceptual | log at the level of what the user cares about not implementation details | 1.000 | 1.000 | 1.000 | 734ms | 1. [P] observability/log-at-the-users-mental-model 2. [P] observability/error-logging 3. [P] batch-jobs/observable-progress 4. [P] dev/if-its-always-the-same-its-carrying-zero-information 5. [I] b3f36ac5-78cd-43 |
| conceptual | fork a background check to verify sanity while continuing main work | 1.000 | 1.000 | 1.000 | 719ms | 1. [P] parallelism/fork-and-verify-sanity-check-in-parallel 2. [P] parallelism/test-assumptions-in-background 3. [I] 939b9ab0-22bf-4d 4. [P] dev/dont-re-solve-check-history-in-parallel 5. [I] a37fe3db-e70f-49 |
| conceptual | most important information should be most visually prominent | 0.500 | 0.000 | 1.000 | 645ms | 1. [I] d66ecc5f-1023-46 2. [P] ux/information-prominence 3. [P] dev/show-the-most-illuminating-data 4. [P] ux/importance-ordering-attention-budget 5. [I] 8b2611e4-37fb-48 |
| conceptual | don't repeat the same info in multiple UI elements | 1.000 | 1.000 | 1.000 | 724ms | 1. [P] ux/no-redundant-signals 2. [P] ux/colocate-action-with-insight 3. [I] d66ecc5f-1023-46 4. [P] ux/consolidate-synonymous-entry-points 5. [P] ux/information-prominence |
| conceptual | use all the available screen space effectively | 1.000 | 1.000 | 1.000 | 684ms | 1. [P] ux/utilize-available-space 2. [P] ux/importance-ordering-attention-budget 3. [I] d66ecc5f-1023-46 4. [P] dev/show-the-most-illuminating-data 5. [P] ux/use-effective-limits-as-denominators |
| conceptual | do only the minimum work needed for the current task | 0.333 | 0.000 | 1.000 | 681ms | 1. [I] 2e47713e-ef0d-41 2. [I] 8fee7f00-5332-4c 3. [P] development/minimum-necessary-weight 4. [P] dev/less-is-more 5. [I] b3027d7c-f3fe-43 |
| conceptual | make rate limits a first-class part of the system design | 1.000 | 1.000 | 1.000 | 732ms | 1. [P] batch-jobs/rateresource-awareness-as-architecture 2. [P] dev/scope-throttles-to-the-context-boundary 3. [P] ux/use-effective-limits-as-denominators 4. [I] 97022b86-e6a9-42 5. [P] batch-jobs/errors-are-data-not-exceptions |
| conceptual | some things need a human decision not because they failed but because they're ambiguous | 1.000 | 1.000 | 1.000 | 733ms | 1. [P] batch-jobs/escalate-decisions-not-just-errors 2. [I] 18a8f454-e175-4a 3. [I] 0b693f47-2236-44 4. [I] dc4447a9-e6a4-42 5. [P] batch-jobs/progressive-trust-radius |
| cross_domain | verify assumptions before writing code | 0.500 | 0.000 | 0.333 | 646ms | 1. [P] development/resolve-structural-ambiguity-before-coding 2. [P] development/verify-action 3. [P] parallelism/test-assumptions-in-background 4. [I] 45824053-299d-48 5. [I] 0290f553-8f66-40 |
| cross_domain | system should observe and improve itself | 1.000 | 1.000 | 1.000 | 717ms | 1. [P] observability/core-principle 2. [P] dev/treat-symptoms-as-signals 3. [P] observability/reflection-learning-from-failures 4. [I] 9401edf5-6bdf-47 5. [P] dev/automate-grinding-steer-direction |
| cross_domain | data provenance and trust | 1.000 | 1.000 | 1.000 | 761ms | 1. [P] data-quality/data-without-provenance-is-gossip 2. [I] 16dafc2d-c8c8-40 3. [P] data-quality/errors-compound-downstream 4. [I] 0290f553-8f66-40 5. [P] data-quality/verifying-early-beats-correcting-later |
| cross_domain | how to make a feature easy to test and debug | 0.500 | 0.000 | 0.667 | 636ms | 1. [P] observability/capture-the-raw-ingress 2. [P] observability/core-principle 3. [I] b1e1ec9e-83c9-41 4. [P] dev/fail-loud-never-fake 5. [P] observability/debugging-flow |
| cross_domain | plan the interface shape before filling in implementation | 1.000 | 1.000 | 0.667 | 734ms | 1. [P] development/draft-the-shape-then-fill-it-in 2. [P] development/resolve-structural-ambiguity-before-coding 3. [P] dev/simplify-after-designing 4. [I] 18e0dce1-454e-49 5. [P] development/research-before-probing |
| cross_domain | how to name things and organize files after refactoring | 1.000 | 1.000 | 0.500 | 700ms | 1. [P] development/renaming-and-restructuring 2. [I] 44e0d663-4cdd-40 3. [I] 98451a81-6ea1-4f 4. [P] development/simplicity-and-incremental-refactoring 5. [I] 8fbc82f5-611f-48 |
| cross_domain | metrics and dashboards for improvement | 0.500 | 0.000 | 0.500 | 659ms | 1. [I] bf4ef6b9-2155-42 2. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 3. [P] ux/explicitly-qualify-status-values 4. [P] observability/prefer-stateless-source-metrics 5. [P] dev/show-the-most-illuminating-data |
| cross_domain | building knowledge that compounds over time | 1.000 | 1.000 | 0.500 | 706ms | 1. [P] knowledge-accumulation/knowledge-accumulating-search 2. [I] 0b693f47-2236-44 3. [P] dev/research-before-building-broad-upfront-investigation-pays-of 4. [P] data-quality/errors-compound-downstream 5. [I] ed822374-5c9d-46 |
| cross_domain | keeping UI clean and scannable without clutter | 0.200 | 0.000 | 0.333 | 745ms | 1. [I] d66ecc5f-1023-46 2. [P] ux/embellishments-must-not-break-scannability 3. [P] ux/importance-ordering-attention-budget 4. [P] ux/reserve-formatting-for-signaling 5. [P] ux/no-redundant-signals |
| cross_domain | reliable batch processing at scale | 1.000 | 1.000 | 0.667 | 636ms | 1. [P] batch-jobs/idempotency-and-resumability 2. [P] batch-jobs/fail-per-element-not-per-batch 3. [P] batch-jobs/errors-are-data-not-exceptions 4. [P] batch-jobs/progressive-trust-radius 5. [P] batch-jobs/validate-before-bulk-not-after |
| negation | catching exceptions silently and continuing | 0.333 | 0.000 | 0.500 | 736ms | 1. [P] batch-jobs/errors-are-data-not-exceptions 2. [I] 4727d1e3-f836-48 3. [P] development/no-silent-failures 4. [P] batch-jobs/fail-per-element-not-per-batch 5. [I] 68b285c2-87d3-46 |
| negation | building a new abstraction for a one-time operation | 0.000 | 0.000 | 0.000 | 720ms | 1. [I] 95ce820a-b1a3-43 2. [I] e4b78a61-c0b9-47 3. [P] dev/respect-abstraction-boundaries 4. [I] 7790ac1b-53fc-43 5. [I] 4d2737d1-dc2b-40 |
| negation | workarounds accumulating in the codebase | 1.000 | 1.000 | 1.000 | 669ms | 1. [P] dev/workarounds-piling-up-wrong-abstraction 2. [I] b3f36ac5-78cd-43 3. [I] 439f8f28-71cd-4a 4. [I] 75a3e489-5aaf-41 5. [I] fd6cc45f-2fa4-4d |
| negation | silently returning hardcoded data when the API call fails | 1.000 | 1.000 | 1.000 | 736ms | 1. [P] dev/fail-loud-never-fake 2. [I] 4727d1e3-f836-48 3. [I] 45824053-299d-48 4. [I] 0a6b7dc1-86ae-4c 5. [P] batch-jobs/errors-are-data-not-exceptions |
| negation | using string slicing to shorten text to fit a token limit | 0.250 | 0.000 | 1.000 | 694ms | 1. [I] 41150c5b-d1c6-45 2. [I] 1af3354b-9fba-41 3. [I] 4c7f959f-b3ac-47 4. [P] data-quality/condense-semantics-dont-truncate 5. [I] 065a6e25-ffd3-47 |
| negation | adding more flags and config options to an already complex function | 0.500 | 0.000 | 1.000 | 636ms | 1. [I] 95ce820a-b1a3-43 2. [P] dev/complexity-must-be-earned 3. [I] f9e99f2a-7c95-42 4. [P] dev/decompose-into-orthogonal-axes 5. [I] 9984b59d-c79b-46 |
| negation | maintaining two parallel code paths for old and new formats | 1.000 | 1.000 | 1.000 | 759ms | 1. [P] dev/migrate-dont-straddle 2. [I] ff9678de-55d2-42 3. [P] dev/structured-over-unstructured-grab-the-best-format-first 4. [I] 18a8f454-e175-4a 5. [I] 95ce820a-b1a3-43 |
| negation | copying the same retry/timeout boilerplate into every file | 0.000 | 0.000 | 0.000 | 655ms | 1. [I] 9f9be215-cd8a-40 2. [I] ffd31b43-300c-4c 3. [I] fd6cc45f-2fa4-4d 4. [I] cc571d41-1acc-4c 5. [I] 95ce820a-b1a3-43 |
| negation | error was logged to a file but nobody reads that file | 0.000 | 0.000 | 0.000 | 677ms | 1. [P] observability/error-logging 2. [I] 1f9a8604-dba8-43 3. [I] d8aea94a-54a0-47 4. [P] observability/log-at-the-users-mental-model 5. [I] 5f13c11e-93e3-49 |
| negation | fixing the wrong CSS property because the real cause is elsewhere | 0.083 | 0.000 | 0.000 | 751ms | 1. [I] 439f8f28-71cd-4a 2. [I] 7455b9e9-12e9-42 3. [P] dev/workarounds-piling-up-wrong-abstraction 4. [I] d0b13d84-b5a1-4c 5. [I] ba028277-20c6-4d |
| negation | processing 10000 items then discovering row 3 was malformed | 0.000 | 0.000 | 0.000 | 657ms | 1. [I] b1e1ec9e-83c9-41 2. [I] cfe26b9b-cbd8-44 3. [I] d767a133-67d9-41 4. [I] f64a0d14-4922-4e 5. [I] 0a0bd3ed-7990-47 |
| negation | a human manually moving data between systems every hour | 1.000 | 1.000 | 0.500 | 679ms | 1. [P] dev/dont-make-users-ferry-data 2. [P] development/minimum-necessary-weight 3. [P] batch-jobs/escalate-decisions-not-just-errors 4. [I] a14691eb-8e2b-44 5. [P] batch-jobs/progressive-trust-radius |
| negation | using single quotes as delimiters in LLM prompts that contain English text | 1.000 | 1.000 | 1.000 | 711ms | 1. [P] dev/prefer-high-entropy-delimiters 2. [I] dc4447a9-e6a4-42 3. [I] 04ceb10a-d846-42 4. [I] f699ed02-fe13-49 5. [I] fe839c30-393c-48 |
| Category | Query | MRR | P@1 | R@5 | Lat | Top 5 Results |
|---|---|---|---|---|---|---|
| exact | edit replace content | 1.000 | 1.000 | 1.000 | 634ms | 1. [P] dev/edit-dont-replace-content-is-sacred 2. [I] 6a97d0ac-4431-40 3. [I] 1b4fd2a3-e5f6-43 4. [I] bed7fa55-9ee5-46 5. [I] 786e72dd-0011-40 |
| exact | fail loud | 1.000 | 1.000 | 1.000 | 756ms | 1. [P] dev/fail-loud-never-fake 2. [P] development/no-silent-failures 3. [P] batch-jobs/fail-per-element-not-per-batch 4. [P] batch-jobs/errors-are-data-not-exceptions 5. [P] observability/reflection-learning-from-failures |
| exact | silent failure | 1.000 | 1.000 | 1.000 | 703ms | 1. [P] development/no-silent-failures 2. [P] batch-jobs/success-without-useful-work-is-a-lie 3. [P] batch-jobs/escalate-decisions-not-just-errors 4. [P] batch-jobs/fail-per-element-not-per-batch 5. [P] dev/fail-loud-never-fake |
| exact | progressive disclosure | 1.000 | 1.000 | 1.000 | 644ms | 1. [P] ux/progressive-disclosure 2. [P] ux/graceful-degradation 3. [P] ux/visual-clarity 4. [P] batch-jobs/progressive-trust-radius 5. [P] ux/scaffold-with-sensible-defaults |
| exact | blast radius | 1.000 | 1.000 | 1.000 | 645ms | 1. [P] dev/minimize-blast-radius 2. [P] batch-jobs/progressive-trust-radius 3. [P] ux/use-effective-limits-as-denominators 4. [P] batch-jobs/validate-before-bulk-not-after 5. [P] development/spec |
| exact | idempotency resumability | 1.000 | 1.000 | 1.000 | 645ms | 1. [P] batch-jobs/idempotency-and-resumability 2. [P] batch-jobs/rateresource-awareness-as-architecture 3. [P] batch-jobs/errors-are-data-not-exceptions 4. [P] batch-jobs/separate-collection-from-commitment 5. [P] batch-jobs/escalate-decisions-not-just-errors |
| exact | future snooping backtest | 1.000 | 1.000 | 1.000 | 739ms | 1. [P] backtesting/no-future-snooping 2. [P] backtesting/separate-detection-from-prediction 3. [P] batch-jobs/capture-everything-filter-later 4. [P] dev/dont-re-solve-check-history-in-parallel 5. [P] batch-jobs/validate-before-bulk-not-after |
| exact | observable progress | 1.000 | 1.000 | 1.000 | 654ms | 1. [P] batch-jobs/observable-progress 2. [P] ux/use-effective-limits-as-denominators 3. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 4. [P] observability/core-principle 5. [P] ux/scaffold-with-sensible-defaults |
| exact | provenance gossip | 1.000 | 1.000 | 1.000 | 686ms | 1. [P] data-quality/data-without-provenance-is-gossip 2. [P] dev/verify-the-source-first 3. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 4. [I] 16dafc2d-c8c8-40 5. [P] dev/resolve-aliases-at-intake-not-locally |
| exact | errors compound downstream | 1.000 | 1.000 | 1.000 | 709ms | 1. [P] data-quality/errors-compound-downstream 2. [P] data-quality/verifying-early-beats-correcting-later 3. [P] dev/validate-at-intake-not-at-export 4. [P] batch-jobs/errors-are-data-not-exceptions 5. [P] data-quality/data-without-provenance-is-gossip |
| exact | orthogonal axes decompose | 1.000 | 1.000 | 1.000 | 649ms | 1. [P] dev/decompose-into-orthogonal-axes 2. [P] dev/independent-dimensions-independent-paths 3. [P] ux/form-density 4. [P] dev/decouple-feeders-from-core-storage 5. [P] parallelism/design-for-parallel-development |
| exact | migrate dont straddle | 1.000 | 1.000 | 1.000 | 642ms | 1. [P] dev/migrate-dont-straddle 2. [P] dev/validate-at-intake-not-at-export 3. [P] dev/dont-make-users-ferry-data 4. [P] dev/respect-abstraction-boundaries 5. [P] batch-jobs/separate-collection-from-commitment |
| exact | trace chain action | 1.000 | 1.000 | 1.000 | 641ms | 1. [P] dev/trace-the-chain-to-an-action 2. [P] data-quality/data-without-provenance-is-gossip 3. [P] dev/verify-the-source-first 4. [P] development/verify-action 5. [P] dev/treat-symptoms-as-signals |
| exact | spec driven development | 1.000 | 1.000 | 1.000 | 743ms | 1. [P] development/spec-driven-development 2. [P] development/spec 3. [P] development/implementation-spec 4. [P] development/feature-lifecycle 5. [P] development/implementation |
| exact | knowledge accumulating search | 1.000 | 1.000 | 1.000 | 630ms | 1. [P] knowledge-accumulation/knowledge-accumulating-search 2. [P] dev/decouple-feeders-from-core-storage 3. [P] dev/widen-the-search-aperture 4. [P] dev/dont-re-solve-check-history-in-parallel 5. [P] dev/research-before-building-broad-upfront-investigation-pays-of |
| exact | speculative parallelism | 1.000 | 1.000 | 1.000 | 704ms | 1. [P] parallelism/speculative-parallelism-trade-compute-for-latency 2. [P] parallelism/fork-and-verify-sanity-check-in-parallel 3. [P] parallelism/test-assumptions-in-background 4. [P] parallelism/amortize-orchestration-overhead 5. [P] parallelism/design-for-parallel-development |
| conceptual | before editing a file always read it first | 1.000 | 1.000 | 1.000 | 711ms | 1. [P] dev/edit-dont-replace-content-is-sacred 2. [I] 2f9aa1fe-1e08-43 3. [I] 01e44f1d-a909-42 4. [I] 1730e8f3-3698-4c 5. [I] 08fd8f03-0b4d-47 |
| conceptual | don't ask users to run commands and report back | 1.000 | 1.000 | 1.000 | 642ms | 1. [P] dev/dont-make-users-ferry-data 2. [P] dev/prefer-predictable-primitives 3. [P] ux/explicitly-qualify-status-values 4. [P] development/verify-action 5. [I] 6d2609ce-d209-4a |
| conceptual | use existing libraries instead of building your own | 1.000 | 1.000 | 1.000 | 633ms | 1. [P] dev/adopt-before-you-build 2. [P] dev/research-before-building-broad-upfront-investigation-pays-of 3. [P] dev/extend-dont-invent 4. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 5. [P] dev/dont-re-solve-check-history-in-parallel |
| conceptual | keep code as simple as possible | 1.000 | 1.000 | 1.000 | 649ms | 1. [P] dev/less-is-more 2. [P] dev/complexity-must-be-earned 3. [P] development/simplicity-and-incremental-refactoring 4. [P] dev/simplify-after-designing 5. [P] dev/prefer-context-native-mechanisms |
| conceptual | check results before showing them to the user | 1.000 | 1.000 | 0.500 | 734ms | 1. [P] data-quality/sanity-check-results-before-presenting 2. [P] data-quality/round-numbers-are-truncation-signals 3. [P] batch-jobs/empirically-validate-thresholds-dont-assume 4. [P] parallelism/fork-and-verify-sanity-check-in-parallel 5. [P] dev/validate-at-intake-not-at-export |
| conceptual | make errors visible and useful for debugging | 1.000 | 1.000 | 0.333 | 660ms | 1. [P] observability/error-logging 2. [P] batch-jobs/errors-are-data-not-exceptions 3. [P] observability/debugging-flow 4. [P] development/no-silent-failures 5. [P] observability/reflection-learning-from-failures |
| conceptual | running independent tasks at the same time | 1.000 | 1.000 | 0.500 | 690ms | 1. [P] parallelism/offload-leaf-tasks 2. [P] parallelism/amortize-orchestration-overhead 3. [P] parallelism/test-assumptions-in-background 4. [P] parallelism/design-for-parallel-development 5. [P] parallelism/fork-and-verify-sanity-check-in-parallel |
| conceptual | handle each item's failure independently in batch jobs | 1.000 | 1.000 | 1.000 | 721ms | 1. [P] batch-jobs/fail-per-element-not-per-batch 2. [P] batch-jobs/idempotency-and-resumability 3. [P] batch-jobs/errors-are-data-not-exceptions 4. [P] batch-jobs/escalate-decisions-not-just-errors 5. [P] batch-jobs/progressive-trust-radius |
| conceptual | don't leak future data into training or backtesting | 1.000 | 1.000 | 1.000 | 637ms | 1. [P] backtesting/no-future-snooping 2. [P] backtesting/separate-detection-from-prediction 3. [P] data-quality/errors-compound-downstream 4. [P] batch-jobs/empirically-validate-thresholds-dont-assume 5. [P] batch-jobs/capture-everything-filter-later |
| conceptual | save more data than you need now and filter later | 1.000 | 1.000 | 1.000 | 740ms | 1. [P] batch-jobs/capture-everything-filter-later 2. [P] batch-jobs/empirically-validate-thresholds-dont-assume 3. [I] 8d323766-b8c9-4a 4. [P] dev/validate-at-intake-not-at-export 5. [P] dev/migrate-dont-straddle |
| conceptual | don't hardcode magic thresholds, measure them empirically | 1.000 | 1.000 | 1.000 | 699ms | 1. [P] batch-jobs/empirically-validate-thresholds-dont-assume 2. [P] data-quality/round-numbers-are-truncation-signals 3. [P] ux/use-effective-limits-as-denominators 4. [P] dev/measurement-requires-shared-instruments 5. [P] dev/target-empirical-bottlenecks-first |
| conceptual | start with small trusted batches then expand | 1.000 | 1.000 | 1.000 | 629ms | 1. [P] batch-jobs/progressive-trust-radius 2. [P] batch-jobs/validate-before-bulk-not-after 3. [P] batch-jobs/separate-collection-from-commitment 4. [P] batch-jobs/empirically-validate-thresholds-dont-assume 5. [P] batch-jobs/fail-per-element-not-per-batch |
| conceptual | validate the whole batch before committing any of it | 1.000 | 1.000 | 1.000 | 633ms | 1. [P] batch-jobs/validate-before-bulk-not-after 2. [P] dev/validate-at-intake-not-at-export 3. [P] batch-jobs/separate-collection-from-commitment 4. [P] batch-jobs/fail-per-element-not-per-batch 5. [P] batch-jobs/progressive-trust-radius |
| conceptual | returning 200 OK but the response is empty | 0.500 | 0.000 | 1.000 | 681ms | 1. [P] data-quality/round-numbers-are-truncation-signals 2. [P] batch-jobs/success-without-useful-work-is-a-lie 3. [P] dev/fail-loud-never-fake 4. [P] ux/explicitly-qualify-status-values 5. [P] development/no-silent-failures |
| conceptual | truncating text by character count loses meaning | 1.000 | 1.000 | 1.000 | 714ms | 1. [P] data-quality/condense-semantics-dont-truncate 2. [P] ux/graceful-degradation 3. [P] data-quality/round-numbers-are-truncation-signals 4. [I] 41150c5b-d1c6-45 5. [P] dev/show-the-most-illuminating-data |
| conceptual | round numbers in data usually mean something was cut off | 1.000 | 1.000 | 1.000 | 634ms | 1. [P] data-quality/round-numbers-are-truncation-signals 2. [P] data-quality/sanity-check-results-before-presenting 3. [P] dev/show-the-most-illuminating-data 4. [P] batch-jobs/empirically-validate-thresholds-dont-assume 5. [P] ux/explicitly-qualify-status-values |
| conceptual | check data at the point of ingestion not when you export it | 0.500 | 0.000 | 1.000 | 725ms | 1. [P] data-quality/verifying-early-beats-correcting-later 2. [P] dev/validate-at-intake-not-at-export 3. [P] data-quality/errors-compound-downstream 4. [P] batch-jobs/validate-before-bulk-not-after 5. [P] batch-jobs/empirically-validate-thresholds-dont-assume |
| conceptual | let machines do repetitive work while humans steer | 1.000 | 1.000 | 1.000 | 715ms | 1. [P] dev/automate-grinding-steer-direction 2. [P] batch-jobs/progressive-trust-radius 3. [P] batch-jobs/escalate-decisions-not-just-errors 4. [P] knowledge-accumulation/knowledge-accumulating-search 5. [P] e22ddcb6-40fb-443e-b666-5492e3f6b8d6 |
| conceptual | concrete code examples rot faster than underlying principles | 1.000 | 1.000 | 1.000 | 668ms | 1. [P] dev/concrete-rots-principles-persist 2. [P] dev/migrate-dont-straddle 3. [P] dev/trim-the-root-when-branching 4. [P] dev/workarounds-piling-up-wrong-abstraction 5. [P] dev/prefer-context-native-mechanisms |
| conceptual | separate independent features into separate code paths | 1.000 | 1.000 | 1.000 | 716ms | 1. [P] dev/independent-dimensions-independent-paths 2. [P] parallelism/design-for-parallel-development 3. [P] dev/decompose-into-orthogonal-axes 4. [P] dev/trim-the-root-when-branching 5. [P] dev/migrate-dont-straddle |
| conceptual | data sources should feed into storage without being coupled to it | 1.000 | 1.000 | 1.000 | 698ms | 1. [P] dev/decouple-feeders-from-core-storage 2. [P] batch-jobs/capture-everything-filter-later 3. [P] observability/capture-the-raw-ingress 4. [P] dev/migrate-dont-straddle 5. [P] dev/independent-dimensions-independent-paths |
| conceptual | if something exists doesn't mean it's the right approach | 1.000 | 1.000 | 1.000 | 637ms | 1. [P] dev/existing-state-is-not-justification 2. [P] dev/adopt-before-you-build 3. [P] development/recognize-poor-fit-find-better-tools 4. [P] dev/extend-dont-invent 5. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 |
| conceptual | returning fake data when the real API is down | 1.000 | 1.000 | 1.000 | 646ms | 1. [P] dev/fail-loud-never-fake 2. [P] data-quality/round-numbers-are-truncation-signals 3. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 4. [P] batch-jobs/errors-are-data-not-exceptions 5. [P] batch-jobs/success-without-useful-work-is-a-lie |
| conceptual | a log message that appears on every single request is useless | 1.000 | 1.000 | 1.000 | 662ms | 1. [P] dev/if-its-always-the-same-its-carrying-zero-information 2. [P] observability/log-at-the-users-mental-model 3. [P] observability/error-logging 4. [P] batch-jobs/success-without-useful-work-is-a-lie 5. [P] dev/treat-symptoms-as-signals |
| conceptual | you need a shared yardstick to compare measurements | 1.000 | 1.000 | 1.000 | 723ms | 1. [P] dev/measurement-requires-shared-instruments 2. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 3. [P] observability/prefer-stateless-source-metrics 4. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 5. [P] data-quality/sanity-check-results-before-presenting |
| conceptual | supporting both old and new paths at the same time forever | 1.000 | 1.000 | 1.000 | 721ms | 1. [P] dev/migrate-dont-straddle 2. [P] dev/independent-dimensions-independent-paths 3. [P] development/avoid-collisions-in-tempshared-paths 4. [P] dev/extend-dont-invent 5. [P] development/renaming-and-restructuring |
| conceptual | convert model aliases to canonical IDs at the API boundary | 1.000 | 1.000 | 1.000 | 648ms | 1. [P] dev/resolve-aliases-at-intake-not-locally 2. [P] ux/consolidate-synonymous-entry-points 3. [P] dev/migrate-dont-straddle 4. [P] dev/prioritize-high-fidelity-domain-interfaces 5. [P] ux/prefer-universal-interpretation-ports |
| conceptual | show the data that best reveals what's happening | 1.000 | 1.000 | 1.000 | 726ms | 1. [P] dev/show-the-most-illuminating-data 2. [P] data-quality/sanity-check-results-before-presenting 3. [P] ux/explicitly-qualify-status-values 4. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 5. [P] observability/capture-the-raw-ingress |
| conceptual | design the full thing first then remove what's unnecessary | 1.000 | 1.000 | 1.000 | 636ms | 1. [P] dev/simplify-after-designing 2. [P] dev/less-is-more 3. [P] development/draft-the-shape-then-fill-it-in 4. [P] e22ddcb6-40fb-443e-b666-5492e3f6b8d6 5. [P] dev/complexity-must-be-earned |
| conceptual | use JSON or structured APIs rather than scraping HTML | 1.000 | 1.000 | 1.000 | 723ms | 1. [P] dev/structured-over-unstructured-grab-the-best-format-first 2. [P] development/minimum-necessary-weight 3. [P] dev/prioritize-high-fidelity-domain-interfaces 4. [P] batch-jobs/capture-everything-filter-later 5. [P] dev/migrate-dont-straddle |
| conceptual | a warning was logged but nobody ever saw it | 0.062 | 0.000 | 0.000 | 703ms | 1. [P] observability/log-at-the-users-mental-model 2. [P] observability/error-logging 3. [P] development/no-silent-failures 4. [P] batch-jobs/observable-progress 5. [P] batch-jobs/success-without-useful-work-is-a-lie |
| conceptual | fix the underlying bug not just the symptom | 1.000 | 1.000 | 1.000 | 637ms | 1. [P] dev/treat-symptoms-as-signals 2. [P] dev/workarounds-piling-up-wrong-abstraction 3. [P] dev/exhaust-the-full-parameter-space 4. [P] observability/reflection-learning-from-failures 5. [P] dev/look-one-layer-out |
| conceptual | write a spec before building a feature | 1.000 | 1.000 | 0.667 | 639ms | 1. [P] development/spec 2. [P] development/spec-driven-development 3. [P] development/feature-lifecycle 4. [P] development/draft-the-shape-then-fill-it-in 5. [P] development/resolve-structural-ambiguity-before-coding |
| conceptual | never assume an action worked, check the result | 1.000 | 1.000 | 1.000 | 663ms | 1. [P] development/verify-action 2. [P] batch-jobs/success-without-useful-work-is-a-lie 3. [P] dev/trace-the-chain-to-an-action 4. [P] dev/verify-the-source-first 5. [P] batch-jobs/empirically-validate-thresholds-dont-assume |
| conceptual | don't make up API endpoints or parameter names | 1.000 | 1.000 | 1.000 | 709ms | 1. [P] development/verify-api-details-dont-fabricate 2. [P] dev/simplify-after-designing 3. [P] development/research-before-probing 4. [P] dev/fail-loud-never-fake 5. [P] ux/consolidate-synonymous-entry-points |
| conceptual | check existing work before re-solving a problem from scratch | 1.000 | 1.000 | 1.000 | 641ms | 1. [P] dev/dont-re-solve-check-history-in-parallel 2. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 3. [P] dev/adopt-before-you-build 4. [P] data-quality/sanity-check-results-before-presenting 5. [P] dev/research-before-building-broad-upfront-investigation-pays-of |
| conceptual | when a tool doesn't fit, find a better tool instead of fighting it | 1.000 | 1.000 | 1.000 | 721ms | 1. [P] development/recognize-poor-fit-find-better-tools 2. [P] dev/adopt-before-you-build 3. [P] dev/prefer-context-native-mechanisms 4. [P] dev/workarounds-piling-up-wrong-abstraction 5. [P] dev/extend-dont-invent |
| conceptual | log at the level of what the user cares about not implementation details | 1.000 | 1.000 | 1.000 | 697ms | 1. [P] observability/log-at-the-users-mental-model 2. [P] observability/error-logging 3. [P] batch-jobs/observable-progress 4. [P] dev/if-its-always-the-same-its-carrying-zero-information 5. [P] observability/what-the-computer-sees |
| conceptual | fork a background check to verify sanity while continuing main work | 1.000 | 1.000 | 1.000 | 643ms | 1. [P] parallelism/fork-and-verify-sanity-check-in-parallel 2. [P] parallelism/test-assumptions-in-background 3. [P] dev/dont-re-solve-check-history-in-parallel 4. [P] parallelism/offload-leaf-tasks 5. [P] development/verify-action |
| conceptual | most important information should be most visually prominent | 1.000 | 1.000 | 1.000 | 644ms | 1. [P] ux/information-prominence 2. [I] d66ecc5f-1023-46 3. [P] dev/show-the-most-illuminating-data 4. [P] ux/importance-ordering-attention-budget 5. [P] ux/reserve-formatting-for-signaling |
| conceptual | don't repeat the same info in multiple UI elements | 1.000 | 1.000 | 1.000 | 653ms | 1. [P] ux/no-redundant-signals 2. [P] ux/colocate-action-with-insight 3. [P] ux/consolidate-synonymous-entry-points 4. [P] ux/information-prominence 5. [P] dev/if-its-always-the-same-its-carrying-zero-information |
| conceptual | use all the available screen space effectively | 1.000 | 1.000 | 1.000 | 721ms | 1. [P] ux/utilize-available-space 2. [P] ux/importance-ordering-attention-budget 3. [P] dev/show-the-most-illuminating-data 4. [P] ux/use-effective-limits-as-denominators 5. [P] ux/information-prominence |
| conceptual | do only the minimum work needed for the current task | 1.000 | 1.000 | 1.000 | 631ms | 1. [P] development/minimum-necessary-weight 2. [P] dev/less-is-more 3. [P] dev/complexity-must-be-earned 4. [P] dev/prefer-context-native-mechanisms 5. [P] batch-jobs/success-without-useful-work-is-a-lie |
| conceptual | make rate limits a first-class part of the system design | 1.000 | 1.000 | 1.000 | 727ms | 1. [P] batch-jobs/rateresource-awareness-as-architecture 2. [P] dev/scope-throttles-to-the-context-boundary 3. [P] ux/use-effective-limits-as-denominators 4. [P] batch-jobs/errors-are-data-not-exceptions 5. [P] data-quality/round-numbers-are-truncation-signals |
| conceptual | some things need a human decision not because they failed but because they're ambiguous | 1.000 | 1.000 | 1.000 | 706ms | 1. [P] batch-jobs/escalate-decisions-not-just-errors 2. [P] batch-jobs/progressive-trust-radius 3. [P] batch-jobs/empirically-validate-thresholds-dont-assume 4. [P] ux/explicitly-qualify-status-values 5. [P] development/resolve-structural-ambiguity-before-coding |
| cross_domain | verify assumptions before writing code | 0.500 | 0.000 | 0.333 | 640ms | 1. [P] development/resolve-structural-ambiguity-before-coding 2. [P] development/verify-action 3. [P] parallelism/test-assumptions-in-background 4. [P] dev/verify-the-source-first 5. [P] development/draft-the-shape-then-fill-it-in |
| cross_domain | system should observe and improve itself | 1.000 | 1.000 | 1.000 | 642ms | 1. [P] observability/core-principle 2. [P] dev/treat-symptoms-as-signals 3. [P] observability/reflection-learning-from-failures 4. [P] dev/automate-grinding-steer-direction 5. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb |
| cross_domain | data provenance and trust | 1.000 | 1.000 | 1.000 | 648ms | 1. [P] data-quality/data-without-provenance-is-gossip 2. [P] data-quality/errors-compound-downstream 3. [P] data-quality/verifying-early-beats-correcting-later 4. [P] batch-jobs/progressive-trust-radius 5. [P] data-quality/sanity-check-results-before-presenting |
| cross_domain | how to make a feature easy to test and debug | 0.500 | 0.000 | 0.667 | 715ms | 1. [P] observability/capture-the-raw-ingress 2. [P] observability/core-principle 3. [P] dev/fail-loud-never-fake 4. [P] observability/debugging-flow 5. [P] testing/guidelines |
| cross_domain | plan the interface shape before filling in implementation | 1.000 | 1.000 | 0.667 | 638ms | 1. [P] development/draft-the-shape-then-fill-it-in 2. [P] development/resolve-structural-ambiguity-before-coding 3. [P] dev/simplify-after-designing 4. [P] development/research-before-probing 5. [P] development/verify-api-details-dont-fabricate |
| cross_domain | how to name things and organize files after refactoring | 1.000 | 1.000 | 0.500 | 732ms | 1. [P] development/renaming-and-restructuring 2. [P] development/simplicity-and-incremental-refactoring 3. [P] development/resolve-structural-ambiguity-before-coding 4. [P] dev/trim-the-root-when-branching 5. [P] parallelism/design-for-parallel-development |
| cross_domain | metrics and dashboards for improvement | 1.000 | 1.000 | 0.500 | 726ms | 1. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 2. [I] bf4ef6b9-2155-42 3. [P] ux/explicitly-qualify-status-values 4. [P] observability/prefer-stateless-source-metrics 5. [P] dev/show-the-most-illuminating-data |
| cross_domain | building knowledge that compounds over time | 1.000 | 1.000 | 0.500 | 630ms | 1. [P] knowledge-accumulation/knowledge-accumulating-search 2. [P] dev/research-before-building-broad-upfront-investigation-pays-of 3. [P] data-quality/errors-compound-downstream 4. [P] dev/adopt-before-you-build 5. [P] dev/decouple-feeders-from-core-storage |
| cross_domain | keeping UI clean and scannable without clutter | 0.250 | 0.000 | 0.333 | 632ms | 1. [P] ux/embellishments-must-not-break-scannability 2. [P] ux/importance-ordering-attention-budget 3. [P] ux/reserve-formatting-for-signaling 4. [P] ux/no-redundant-signals 5. [P] ux/information-prominence |
| cross_domain | reliable batch processing at scale | 1.000 | 1.000 | 0.667 | 646ms | 1. [P] batch-jobs/idempotency-and-resumability 2. [P] batch-jobs/fail-per-element-not-per-batch 3. [P] batch-jobs/errors-are-data-not-exceptions 4. [P] batch-jobs/progressive-trust-radius 5. [P] batch-jobs/validate-before-bulk-not-after |
| negation | catching exceptions silently and continuing | 0.500 | 0.000 | 0.500 | 732ms | 1. [P] batch-jobs/errors-are-data-not-exceptions 2. [P] development/no-silent-failures 3. [P] batch-jobs/fail-per-element-not-per-batch 4. [P] batch-jobs/success-without-useful-work-is-a-lie 5. [P] observability/error-logging |
| negation | building a new abstraction for a one-time operation | 0.083 | 0.000 | 0.000 | 639ms | 1. [P] dev/respect-abstraction-boundaries 2. [P] dev/workarounds-piling-up-wrong-abstraction 3. [P] ux/immediate-action 4. [P] batch-jobs/separate-collection-from-commitment 5. [P] development/draft-the-shape-then-fill-it-in |
| negation | workarounds accumulating in the codebase | 1.000 | 1.000 | 1.000 | 710ms | 1. [P] dev/workarounds-piling-up-wrong-abstraction 2. [P] development/recognize-poor-fit-find-better-tools 3. [P] dev/treat-symptoms-as-signals 4. [P] dev/adopt-before-you-build 5. [P] dev/prefer-context-native-mechanisms |
| negation | silently returning hardcoded data when the API call fails | 1.000 | 1.000 | 1.000 | 724ms | 1. [P] dev/fail-loud-never-fake 2. [P] batch-jobs/errors-are-data-not-exceptions 3. [P] ux/scaffold-with-sensible-defaults 4. [P] data-quality/round-numbers-are-truncation-signals 5. [P] batch-jobs/capture-everything-filter-later |
| negation | using string slicing to shorten text to fit a token limit | 1.000 | 1.000 | 1.000 | 658ms | 1. [P] data-quality/condense-semantics-dont-truncate 2. [P] ux/graceful-degradation 3. [I] 41150c5b-d1c6-45 4. [P] dev/trim-the-root-when-branching 5. [P] ux/use-effective-limits-as-denominators |
| negation | adding more flags and config options to an already complex function | 1.000 | 1.000 | 1.000 | 716ms | 1. [P] dev/complexity-must-be-earned 2. [P] dev/decompose-into-orthogonal-axes 3. [P] dev/less-is-more 4. [I] 95ce820a-b1a3-43 5. [P] dev/simplify-after-designing |
| negation | maintaining two parallel code paths for old and new formats | 1.000 | 1.000 | 1.000 | 709ms | 1. [P] dev/migrate-dont-straddle 2. [P] dev/structured-over-unstructured-grab-the-best-format-first 3. [P] parallelism/design-for-parallel-development 4. [P] dev/independent-dimensions-independent-paths 5. [P] development/renaming-and-restructuring |
| negation | copying the same retry/timeout boilerplate into every file | 0.333 | 0.000 | 0.500 | 646ms | 1. [I] 9f9be215-cd8a-40 2. [P] parallelism/design-for-parallel-development 3. [P] dev/adopt-before-you-build 4. [P] dev/trim-the-root-when-branching 5. [P] dev/dont-re-solve-check-history-in-parallel |
| negation | error was logged to a file but nobody reads that file | 0.053 | 0.000 | 0.000 | 659ms | 1. [P] observability/error-logging 2. [P] observability/log-at-the-users-mental-model 3. [P] batch-jobs/errors-are-data-not-exceptions 4. [P] observability/reflection-learning-from-failures 5. [P] dev/treat-symptoms-as-signals |
| negation | fixing the wrong CSS property because the real cause is elsewhere | 0.500 | 0.000 | 1.000 | 647ms | 1. [P] dev/workarounds-piling-up-wrong-abstraction 2. [P] dev/treat-symptoms-as-signals 3. [I] 439f8f28-71cd-4a 4. [P] dev/exhaust-the-full-parameter-space 5. [I] 7455b9e9-12e9-42 |
| negation | processing 10000 items then discovering row 3 was malformed | 0.500 | 0.000 | 1.000 | 708ms | 1. [P] batch-jobs/fail-per-element-not-per-batch 2. [P] batch-jobs/validate-before-bulk-not-after 3. [P] data-quality/errors-compound-downstream 4. [P] batch-jobs/errors-are-data-not-exceptions 5. [P] dev/validate-at-intake-not-at-export |
| negation | a human manually moving data between systems every hour | 1.000 | 1.000 | 0.500 | 642ms | 1. [P] dev/dont-make-users-ferry-data 2. [P] development/minimum-necessary-weight 3. [P] batch-jobs/escalate-decisions-not-just-errors 4. [P] batch-jobs/progressive-trust-radius 5. [P] batch-jobs/capture-everything-filter-later |
| negation | using single quotes as delimiters in LLM prompts that contain English text | 1.000 | 1.000 | 1.000 | 709ms | 1. [P] dev/prefer-high-entropy-delimiters 2. [P] dev/prefer-context-native-mechanisms 3. [P] data-quality/condense-semantics-dont-truncate 4. [P] dev/measurement-requires-shared-instruments 5. [P] knowledge-accumulation/reserve-context-for-behavioral-constraints |
| Category | Query | MRR | P@1 | R@5 | Lat | Top 5 Results |
|---|---|---|---|---|---|---|
| exact | edit replace content | 1.000 | 1.000 | 1.000 | 700ms | 1. [P] dev/edit-dont-replace-content-is-sacred 2. [I] 6a97d0ac-4431-40 3. [I] 1b4fd2a3-e5f6-43 4. [I] bed7fa55-9ee5-46 5. [I] 9305eeb8-7d07-44 |
| exact | fail loud | 1.000 | 1.000 | 1.000 | 640ms | 1. [P] dev/fail-loud-never-fake 2. [P] development/recognize-poor-fit-find-better-tools 3. [P] development/no-silent-failures 4. [P] batch-jobs/fail-per-element-not-per-batch 5. [P] batch-jobs/errors-are-data-not-exceptions |
| exact | silent failure | 0.500 | 0.000 | 0.500 | 640ms | 1. [I] 8e4b4be2-2c3d-48 2. [P] development/no-silent-failures 3. [P] batch-jobs/success-without-useful-work-is-a-lie 4. [P] batch-jobs/escalate-decisions-not-just-errors 5. [P] batch-jobs/fail-per-element-not-per-batch |
| exact | progressive disclosure | 1.000 | 1.000 | 1.000 | 654ms | 1. [P] ux/progressive-disclosure 2. [P] ux/graceful-degradation 3. [P] ux/visual-clarity 4. [P] batch-jobs/progressive-trust-radius 5. [P] ux/scaffold-with-sensible-defaults |
| exact | blast radius | 1.000 | 1.000 | 1.000 | 749ms | 1. [P] dev/minimize-blast-radius 2. [P] batch-jobs/progressive-trust-radius 3. [P] ux/use-effective-limits-as-denominators 4. [P] batch-jobs/validate-before-bulk-not-after 5. [P] development/spec |
| exact | idempotency resumability | 1.000 | 1.000 | 1.000 | 644ms | 1. [P] batch-jobs/idempotency-and-resumability 2. [P] batch-jobs/rateresource-awareness-as-architecture 3. [P] batch-jobs/errors-are-data-not-exceptions 4. [P] batch-jobs/separate-collection-from-commitment 5. [P] batch-jobs/escalate-decisions-not-just-errors |
| exact | future snooping backtest | 1.000 | 1.000 | 1.000 | 693ms | 1. [P] backtesting/no-future-snooping 2. [P] backtesting/separate-detection-from-prediction 3. [P] batch-jobs/capture-everything-filter-later 4. [P] dev/dont-re-solve-check-history-in-parallel 5. [P] batch-jobs/validate-before-bulk-not-after |
| exact | observable progress | 1.000 | 1.000 | 1.000 | 710ms | 1. [P] batch-jobs/observable-progress 2. [P] ux/use-effective-limits-as-denominators 3. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 4. [P] observability/core-principle 5. [P] ux/scaffold-with-sensible-defaults |
| exact | provenance gossip | 1.000 | 1.000 | 1.000 | 644ms | 1. [P] data-quality/data-without-provenance-is-gossip 2. [P] dev/verify-the-source-first 3. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 4. [I] 16dafc2d-c8c8-40 5. [P] dev/resolve-aliases-at-intake-not-locally |
| exact | errors compound downstream | 1.000 | 1.000 | 1.000 | 653ms | 1. [P] data-quality/errors-compound-downstream 2. [P] dev/structured-over-unstructured-grab-the-best-format-first 3. [P] data-quality/verifying-early-beats-correcting-later 4. [P] dev/validate-at-intake-not-at-export 5. [P] batch-jobs/errors-are-data-not-exceptions |
| exact | orthogonal axes decompose | 1.000 | 1.000 | 1.000 | 659ms | 1. [P] dev/decompose-into-orthogonal-axes 2. [P] dev/independent-dimensions-independent-paths 3. [P] ux/form-density 4. [P] dev/decouple-feeders-from-core-storage 5. [P] parallelism/design-for-parallel-development |
| exact | migrate dont straddle | 1.000 | 1.000 | 1.000 | 709ms | 1. [P] dev/migrate-dont-straddle 2. [P] dev/validate-at-intake-not-at-export 3. [P] dev/dont-make-users-ferry-data 4. [P] dev/respect-abstraction-boundaries 5. [P] batch-jobs/separate-collection-from-commitment |
| exact | trace chain action | 1.000 | 1.000 | 1.000 | 625ms | 1. [P] dev/trace-the-chain-to-an-action 2. [P] data-quality/data-without-provenance-is-gossip 3. [P] dev/verify-the-source-first 4. [P] development/verify-action 5. [P] dev/treat-symptoms-as-signals |
| exact | spec driven development | 1.000 | 1.000 | 1.000 | 715ms | 1. [P] development/spec-driven-development 2. [P] development/spec 3. [P] development/implementation-spec 4. [P] development/feature-lifecycle 5. [P] development/implementation |
| exact | knowledge accumulating search | 1.000 | 1.000 | 1.000 | 712ms | 1. [P] knowledge-accumulation/knowledge-accumulating-search 2. [P] dev/decouple-feeders-from-core-storage 3. [P] dev/widen-the-search-aperture 4. [P] dev/dont-re-solve-check-history-in-parallel 5. [P] dev/research-before-building-broad-upfront-investigation-pays-of |
| exact | speculative parallelism | 1.000 | 1.000 | 1.000 | 653ms | 1. [P] parallelism/speculative-parallelism-trade-compute-for-latency 2. [P] parallelism/fork-and-verify-sanity-check-in-parallel 3. [P] parallelism/test-assumptions-in-background 4. [P] parallelism/amortize-orchestration-overhead 5. [P] parallelism/design-for-parallel-development |
| conceptual | before editing a file always read it first | 1.000 | 1.000 | 1.000 | 735ms | 1. [P] dev/edit-dont-replace-content-is-sacred 2. [I] 2f9aa1fe-1e08-43 3. [I] 01e44f1d-a909-42 4. [I] 1730e8f3-3698-4c 5. [I] 08fd8f03-0b4d-47 |
| conceptual | don't ask users to run commands and report back | 1.000 | 1.000 | 1.000 | 736ms | 1. [P] dev/dont-make-users-ferry-data 2. [P] dev/prefer-predictable-primitives 3. [P] ux/explicitly-qualify-status-values 4. [P] development/verify-action 5. [I] 6d2609ce-d209-4a |
| conceptual | use existing libraries instead of building your own | 1.000 | 1.000 | 1.000 | 647ms | 1. [P] dev/adopt-before-you-build 2. [P] dev/research-before-building-broad-upfront-investigation-pays-of 3. [P] dev/extend-dont-invent 4. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 5. [P] dev/dont-re-solve-check-history-in-parallel |
| conceptual | keep code as simple as possible | 1.000 | 1.000 | 1.000 | 718ms | 1. [P] dev/less-is-more 2. [P] dev/complexity-must-be-earned 3. [P] development/simplicity-and-incremental-refactoring 4. [P] dev/simplify-after-designing 5. [P] dev/prefer-context-native-mechanisms |
| conceptual | check results before showing them to the user | 1.000 | 1.000 | 0.500 | 699ms | 1. [P] data-quality/sanity-check-results-before-presenting 2. [P] data-quality/round-numbers-are-truncation-signals 3. [P] batch-jobs/empirically-validate-thresholds-dont-assume 4. [P] parallelism/fork-and-verify-sanity-check-in-parallel 5. [P] dev/validate-at-intake-not-at-export |
| conceptual | make errors visible and useful for debugging | 1.000 | 1.000 | 0.333 | 666ms | 1. [P] observability/error-logging 2. [P] batch-jobs/errors-are-data-not-exceptions 3. [P] observability/debugging-flow 4. [P] development/no-silent-failures 5. [P] observability/reflection-learning-from-failures |
| conceptual | running independent tasks at the same time | 1.000 | 1.000 | 0.500 | 735ms | 1. [P] parallelism/offload-leaf-tasks 2. [P] parallelism/amortize-orchestration-overhead 3. [P] parallelism/test-assumptions-in-background 4. [P] parallelism/design-for-parallel-development 5. [P] parallelism/fork-and-verify-sanity-check-in-parallel |
| conceptual | handle each item's failure independently in batch jobs | 1.000 | 1.000 | 1.000 | 703ms | 1. [P] batch-jobs/fail-per-element-not-per-batch 2. [P] batch-jobs/idempotency-and-resumability 3. [P] batch-jobs/errors-are-data-not-exceptions 4. [P] batch-jobs/escalate-decisions-not-just-errors 5. [P] batch-jobs/progressive-trust-radius |
| conceptual | don't leak future data into training or backtesting | 1.000 | 1.000 | 1.000 | 666ms | 1. [P] backtesting/no-future-snooping 2. [P] backtesting/separate-detection-from-prediction 3. [P] data-quality/errors-compound-downstream 4. [P] batch-jobs/empirically-validate-thresholds-dont-assume 5. [P] batch-jobs/capture-everything-filter-later |
| conceptual | save more data than you need now and filter later | 1.000 | 1.000 | 1.000 | 726ms | 1. [P] batch-jobs/capture-everything-filter-later 2. [P] batch-jobs/empirically-validate-thresholds-dont-assume 3. [I] 8d323766-b8c9-4a 4. [P] dev/validate-at-intake-not-at-export 5. [P] dev/migrate-dont-straddle |
| conceptual | don't hardcode magic thresholds, measure them empirically | 1.000 | 1.000 | 1.000 | 721ms | 1. [P] batch-jobs/empirically-validate-thresholds-dont-assume 2. [P] data-quality/round-numbers-are-truncation-signals 3. [P] ux/use-effective-limits-as-denominators 4. [P] dev/measurement-requires-shared-instruments 5. [P] dev/target-empirical-bottlenecks-first |
| conceptual | start with small trusted batches then expand | 1.000 | 1.000 | 1.000 | 700ms | 1. [P] batch-jobs/progressive-trust-radius 2. [P] batch-jobs/validate-before-bulk-not-after 3. [P] batch-jobs/separate-collection-from-commitment 4. [P] batch-jobs/empirically-validate-thresholds-dont-assume 5. [P] batch-jobs/fail-per-element-not-per-batch |
| conceptual | validate the whole batch before committing any of it | 1.000 | 1.000 | 1.000 | 680ms | 1. [P] batch-jobs/validate-before-bulk-not-after 2. [P] dev/validate-at-intake-not-at-export 3. [P] batch-jobs/separate-collection-from-commitment 4. [P] batch-jobs/fail-per-element-not-per-batch 5. [P] batch-jobs/progressive-trust-radius |
| conceptual | returning 200 OK but the response is empty | 0.500 | 0.000 | 1.000 | 719ms | 1. [P] data-quality/round-numbers-are-truncation-signals 2. [P] batch-jobs/success-without-useful-work-is-a-lie 3. [P] dev/fail-loud-never-fake 4. [P] ux/explicitly-qualify-status-values 5. [P] development/no-silent-failures |
| conceptual | truncating text by character count loses meaning | 1.000 | 1.000 | 1.000 | 648ms | 1. [P] data-quality/condense-semantics-dont-truncate 2. [P] ux/graceful-degradation 3. [P] data-quality/round-numbers-are-truncation-signals 4. [I] 41150c5b-d1c6-45 5. [P] dev/show-the-most-illuminating-data |
| conceptual | round numbers in data usually mean something was cut off | 1.000 | 1.000 | 1.000 | 722ms | 1. [P] data-quality/round-numbers-are-truncation-signals 2. [P] data-quality/sanity-check-results-before-presenting 3. [P] dev/show-the-most-illuminating-data 4. [P] batch-jobs/empirically-validate-thresholds-dont-assume 5. [P] ux/explicitly-qualify-status-values |
| conceptual | check data at the point of ingestion not when you export it | 0.500 | 0.000 | 1.000 | 705ms | 1. [P] data-quality/verifying-early-beats-correcting-later 2. [P] dev/validate-at-intake-not-at-export 3. [P] data-quality/errors-compound-downstream 4. [P] batch-jobs/validate-before-bulk-not-after 5. [P] batch-jobs/empirically-validate-thresholds-dont-assume |
| conceptual | let machines do repetitive work while humans steer | 1.000 | 1.000 | 1.000 | 642ms | 1. [P] dev/automate-grinding-steer-direction 2. [P] batch-jobs/progressive-trust-radius 3. [P] batch-jobs/escalate-decisions-not-just-errors 4. [P] knowledge-accumulation/knowledge-accumulating-search 5. [P] e22ddcb6-40fb-443e-b666-5492e3f6b8d6 |
| conceptual | concrete code examples rot faster than underlying principles | 1.000 | 1.000 | 1.000 | 645ms | 1. [P] dev/concrete-rots-principles-persist 2. [P] dev/migrate-dont-straddle 3. [P] dev/trim-the-root-when-branching 4. [P] dev/workarounds-piling-up-wrong-abstraction 5. [P] dev/prefer-context-native-mechanisms |
| conceptual | separate independent features into separate code paths | 1.000 | 1.000 | 1.000 | 659ms | 1. [P] dev/independent-dimensions-independent-paths 2. [P] parallelism/design-for-parallel-development 3. [P] dev/decompose-into-orthogonal-axes 4. [P] dev/trim-the-root-when-branching 5. [P] dev/migrate-dont-straddle |
| conceptual | data sources should feed into storage without being coupled to it | 1.000 | 1.000 | 1.000 | 716ms | 1. [P] dev/decouple-feeders-from-core-storage 2. [P] batch-jobs/capture-everything-filter-later 3. [P] observability/capture-the-raw-ingress 4. [P] dev/migrate-dont-straddle 5. [P] dev/independent-dimensions-independent-paths |
| conceptual | if something exists doesn't mean it's the right approach | 1.000 | 1.000 | 1.000 | 652ms | 1. [P] dev/existing-state-is-not-justification 2. [P] dev/adopt-before-you-build 3. [P] development/recognize-poor-fit-find-better-tools 4. [P] dev/extend-dont-invent 5. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 |
| conceptual | returning fake data when the real API is down | 1.000 | 1.000 | 1.000 | 714ms | 1. [P] dev/fail-loud-never-fake 2. [P] data-quality/round-numbers-are-truncation-signals 3. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 4. [P] batch-jobs/errors-are-data-not-exceptions 5. [P] batch-jobs/success-without-useful-work-is-a-lie |
| conceptual | a log message that appears on every single request is useless | 1.000 | 1.000 | 1.000 | 727ms | 1. [P] dev/if-its-always-the-same-its-carrying-zero-information 2. [P] observability/log-at-the-users-mental-model 3. [P] observability/error-logging 4. [P] batch-jobs/success-without-useful-work-is-a-lie 5. [P] dev/treat-symptoms-as-signals |
| conceptual | you need a shared yardstick to compare measurements | 1.000 | 1.000 | 1.000 | 654ms | 1. [P] dev/measurement-requires-shared-instruments 2. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 3. [P] observability/prefer-stateless-source-metrics 4. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 5. [P] data-quality/sanity-check-results-before-presenting |
| conceptual | supporting both old and new paths at the same time forever | 1.000 | 1.000 | 1.000 | 714ms | 1. [P] dev/migrate-dont-straddle 2. [P] dev/independent-dimensions-independent-paths 3. [P] development/avoid-collisions-in-tempshared-paths 4. [P] dev/extend-dont-invent 5. [P] development/renaming-and-restructuring |
| conceptual | convert model aliases to canonical IDs at the API boundary | 1.000 | 1.000 | 1.000 | 739ms | 1. [P] dev/resolve-aliases-at-intake-not-locally 2. [P] ux/consolidate-synonymous-entry-points 3. [P] dev/migrate-dont-straddle 4. [P] dev/prioritize-high-fidelity-domain-interfaces 5. [P] ux/prefer-universal-interpretation-ports |
| conceptual | show the data that best reveals what's happening | 1.000 | 1.000 | 1.000 | 640ms | 1. [P] dev/show-the-most-illuminating-data 2. [P] data-quality/sanity-check-results-before-presenting 3. [P] ux/explicitly-qualify-status-values 4. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 5. [P] observability/capture-the-raw-ingress |
| conceptual | design the full thing first then remove what's unnecessary | 1.000 | 1.000 | 1.000 | 708ms | 1. [P] dev/simplify-after-designing 2. [P] dev/less-is-more 3. [P] development/draft-the-shape-then-fill-it-in 4. [P] e22ddcb6-40fb-443e-b666-5492e3f6b8d6 5. [P] dev/complexity-must-be-earned |
| conceptual | use JSON or structured APIs rather than scraping HTML | 1.000 | 1.000 | 1.000 | 702ms | 1. [P] dev/structured-over-unstructured-grab-the-best-format-first 2. [P] development/minimum-necessary-weight 3. [P] dev/prioritize-high-fidelity-domain-interfaces 4. [P] batch-jobs/capture-everything-filter-later 5. [P] dev/migrate-dont-straddle |
| conceptual | a warning was logged but nobody ever saw it | 0.062 | 0.000 | 0.000 | 649ms | 1. [P] observability/log-at-the-users-mental-model 2. [P] observability/error-logging 3. [P] development/no-silent-failures 4. [P] batch-jobs/observable-progress 5. [P] batch-jobs/success-without-useful-work-is-a-lie |
| conceptual | fix the underlying bug not just the symptom | 1.000 | 1.000 | 1.000 | 647ms | 1. [P] dev/treat-symptoms-as-signals 2. [P] dev/workarounds-piling-up-wrong-abstraction 3. [P] dev/exhaust-the-full-parameter-space 4. [P] observability/reflection-learning-from-failures 5. [P] dev/look-one-layer-out |
| conceptual | write a spec before building a feature | 1.000 | 1.000 | 0.667 | 635ms | 1. [P] development/spec 2. [P] development/spec-driven-development 3. [P] development/feature-lifecycle 4. [P] development/draft-the-shape-then-fill-it-in 5. [P] development/resolve-structural-ambiguity-before-coding |
| conceptual | never assume an action worked, check the result | 1.000 | 1.000 | 1.000 | 736ms | 1. [P] development/verify-action 2. [P] batch-jobs/success-without-useful-work-is-a-lie 3. [P] dev/trace-the-chain-to-an-action 4. [P] dev/verify-the-source-first 5. [P] batch-jobs/empirically-validate-thresholds-dont-assume |
| conceptual | don't make up API endpoints or parameter names | 1.000 | 1.000 | 1.000 | 643ms | 1. [P] development/verify-api-details-dont-fabricate 2. [P] dev/simplify-after-designing 3. [P] development/research-before-probing 4. [P] dev/fail-loud-never-fake 5. [P] ux/consolidate-synonymous-entry-points |
| conceptual | check existing work before re-solving a problem from scratch | 1.000 | 1.000 | 1.000 | 702ms | 1. [P] dev/dont-re-solve-check-history-in-parallel 2. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 3. [P] dev/adopt-before-you-build 4. [P] data-quality/sanity-check-results-before-presenting 5. [P] dev/research-before-building-broad-upfront-investigation-pays-of |
| conceptual | when a tool doesn't fit, find a better tool instead of fighting it | 1.000 | 1.000 | 1.000 | 696ms | 1. [P] development/recognize-poor-fit-find-better-tools 2. [P] dev/adopt-before-you-build 3. [P] dev/prefer-context-native-mechanisms 4. [P] dev/workarounds-piling-up-wrong-abstraction 5. [P] dev/extend-dont-invent |
| conceptual | log at the level of what the user cares about not implementation details | 1.000 | 1.000 | 1.000 | 653ms | 1. [P] observability/log-at-the-users-mental-model 2. [P] observability/error-logging 3. [P] batch-jobs/observable-progress 4. [P] dev/if-its-always-the-same-its-carrying-zero-information 5. [P] observability/what-the-computer-sees |
| conceptual | fork a background check to verify sanity while continuing main work | 1.000 | 1.000 | 1.000 | 632ms | 1. [P] parallelism/fork-and-verify-sanity-check-in-parallel 2. [P] parallelism/test-assumptions-in-background 3. [P] dev/dont-re-solve-check-history-in-parallel 4. [P] parallelism/offload-leaf-tasks 5. [P] development/verify-action |
| conceptual | most important information should be most visually prominent | 0.500 | 0.000 | 1.000 | 655ms | 1. [I] d66ecc5f-1023-46 2. [P] ux/information-prominence 3. [P] dev/show-the-most-illuminating-data 4. [P] ux/importance-ordering-attention-budget 5. [P] ux/reserve-formatting-for-signaling |
| conceptual | don't repeat the same info in multiple UI elements | 1.000 | 1.000 | 1.000 | 721ms | 1. [P] ux/no-redundant-signals 2. [P] ux/colocate-action-with-insight 3. [P] ux/consolidate-synonymous-entry-points 4. [P] ux/information-prominence 5. [P] dev/if-its-always-the-same-its-carrying-zero-information |
| conceptual | use all the available screen space effectively | 1.000 | 1.000 | 1.000 | 661ms | 1. [P] ux/utilize-available-space 2. [P] ux/importance-ordering-attention-budget 3. [P] dev/show-the-most-illuminating-data 4. [P] ux/use-effective-limits-as-denominators 5. [P] ux/information-prominence |
| conceptual | do only the minimum work needed for the current task | 1.000 | 1.000 | 1.000 | 701ms | 1. [P] development/minimum-necessary-weight 2. [P] dev/less-is-more 3. [P] dev/complexity-must-be-earned 4. [P] dev/prefer-context-native-mechanisms 5. [P] batch-jobs/success-without-useful-work-is-a-lie |
| conceptual | make rate limits a first-class part of the system design | 1.000 | 1.000 | 1.000 | 710ms | 1. [P] batch-jobs/rateresource-awareness-as-architecture 2. [P] dev/scope-throttles-to-the-context-boundary 3. [P] ux/use-effective-limits-as-denominators 4. [P] batch-jobs/errors-are-data-not-exceptions 5. [P] data-quality/round-numbers-are-truncation-signals |
| conceptual | some things need a human decision not because they failed but because they're ambiguous | 1.000 | 1.000 | 1.000 | 638ms | 1. [P] batch-jobs/escalate-decisions-not-just-errors 2. [P] batch-jobs/progressive-trust-radius 3. [P] batch-jobs/empirically-validate-thresholds-dont-assume 4. [P] ux/explicitly-qualify-status-values 5. [P] development/resolve-structural-ambiguity-before-coding |
| cross_domain | verify assumptions before writing code | 0.500 | 0.000 | 0.333 | 646ms | 1. [P] development/resolve-structural-ambiguity-before-coding 2. [P] development/verify-action 3. [P] parallelism/test-assumptions-in-background 4. [P] dev/verify-the-source-first 5. [P] development/draft-the-shape-then-fill-it-in |
| cross_domain | system should observe and improve itself | 1.000 | 1.000 | 1.000 | 639ms | 1. [P] observability/core-principle 2. [P] dev/treat-symptoms-as-signals 3. [P] observability/reflection-learning-from-failures 4. [P] dev/automate-grinding-steer-direction 5. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb |
| cross_domain | data provenance and trust | 1.000 | 1.000 | 1.000 | 736ms | 1. [P] data-quality/data-without-provenance-is-gossip 2. [P] data-quality/errors-compound-downstream 3. [P] data-quality/verifying-early-beats-correcting-later 4. [P] batch-jobs/progressive-trust-radius 5. [P] data-quality/sanity-check-results-before-presenting |
| cross_domain | how to make a feature easy to test and debug | 0.500 | 0.000 | 0.667 | 643ms | 1. [P] observability/capture-the-raw-ingress 2. [P] observability/core-principle 3. [P] dev/fail-loud-never-fake 4. [P] observability/debugging-flow 5. [P] testing/guidelines |
| cross_domain | plan the interface shape before filling in implementation | 1.000 | 1.000 | 0.667 | 709ms | 1. [P] development/draft-the-shape-then-fill-it-in 2. [P] development/resolve-structural-ambiguity-before-coding 3. [P] dev/simplify-after-designing 4. [P] development/research-before-probing 5. [P] development/verify-api-details-dont-fabricate |
| cross_domain | how to name things and organize files after refactoring | 1.000 | 1.000 | 0.500 | 705ms | 1. [P] development/renaming-and-restructuring 2. [P] development/simplicity-and-incremental-refactoring 3. [P] development/resolve-structural-ambiguity-before-coding 4. [P] dev/trim-the-root-when-branching 5. [P] parallelism/design-for-parallel-development |
| cross_domain | metrics and dashboards for improvement | 1.000 | 1.000 | 0.500 | 656ms | 1. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 2. [I] bf4ef6b9-2155-42 3. [P] ux/explicitly-qualify-status-values 4. [P] observability/prefer-stateless-source-metrics 5. [P] dev/show-the-most-illuminating-data |
| cross_domain | building knowledge that compounds over time | 1.000 | 1.000 | 0.500 | 646ms | 1. [P] knowledge-accumulation/knowledge-accumulating-search 2. [P] dev/research-before-building-broad-upfront-investigation-pays-of 3. [P] data-quality/errors-compound-downstream 4. [P] dev/adopt-before-you-build 5. [P] dev/decouple-feeders-from-core-storage |
| cross_domain | keeping UI clean and scannable without clutter | 0.250 | 0.000 | 0.333 | 648ms | 1. [P] ux/embellishments-must-not-break-scannability 2. [P] ux/importance-ordering-attention-budget 3. [P] ux/reserve-formatting-for-signaling 4. [P] ux/no-redundant-signals 5. [P] ux/information-prominence |
| cross_domain | reliable batch processing at scale | 1.000 | 1.000 | 0.667 | 724ms | 1. [P] batch-jobs/idempotency-and-resumability 2. [P] batch-jobs/fail-per-element-not-per-batch 3. [P] batch-jobs/errors-are-data-not-exceptions 4. [P] batch-jobs/progressive-trust-radius 5. [P] batch-jobs/validate-before-bulk-not-after |
| negation | catching exceptions silently and continuing | 0.500 | 0.000 | 0.500 | 687ms | 1. [P] batch-jobs/errors-are-data-not-exceptions 2. [P] development/no-silent-failures 3. [P] batch-jobs/fail-per-element-not-per-batch 4. [P] batch-jobs/success-without-useful-work-is-a-lie 5. [P] observability/error-logging |
| negation | building a new abstraction for a one-time operation | 0.083 | 0.000 | 0.000 | 673ms | 1. [P] dev/respect-abstraction-boundaries 2. [P] dev/workarounds-piling-up-wrong-abstraction 3. [P] ux/immediate-action 4. [P] batch-jobs/separate-collection-from-commitment 5. [P] development/draft-the-shape-then-fill-it-in |
| negation | workarounds accumulating in the codebase | 1.000 | 1.000 | 1.000 | 713ms | 1. [P] dev/workarounds-piling-up-wrong-abstraction 2. [P] development/recognize-poor-fit-find-better-tools 3. [P] dev/treat-symptoms-as-signals 4. [P] dev/adopt-before-you-build 5. [P] dev/prefer-context-native-mechanisms |
| negation | silently returning hardcoded data when the API call fails | 1.000 | 1.000 | 1.000 | 652ms | 1. [P] dev/fail-loud-never-fake 2. [P] batch-jobs/errors-are-data-not-exceptions 3. [P] ux/scaffold-with-sensible-defaults 4. [P] data-quality/round-numbers-are-truncation-signals 5. [P] batch-jobs/capture-everything-filter-later |
| negation | using string slicing to shorten text to fit a token limit | 1.000 | 1.000 | 1.000 | 708ms | 1. [P] data-quality/condense-semantics-dont-truncate 2. [P] ux/graceful-degradation 3. [I] 41150c5b-d1c6-45 4. [P] dev/trim-the-root-when-branching 5. [P] ux/use-effective-limits-as-denominators |
| negation | adding more flags and config options to an already complex function | 1.000 | 1.000 | 1.000 | 708ms | 1. [P] dev/complexity-must-be-earned 2. [P] dev/decompose-into-orthogonal-axes 3. [P] dev/less-is-more 4. [I] 95ce820a-b1a3-43 5. [P] dev/simplify-after-designing |
| negation | maintaining two parallel code paths for old and new formats | 1.000 | 1.000 | 1.000 | 631ms | 1. [P] dev/migrate-dont-straddle 2. [P] dev/structured-over-unstructured-grab-the-best-format-first 3. [P] parallelism/design-for-parallel-development 4. [P] dev/independent-dimensions-independent-paths 5. [P] development/renaming-and-restructuring |
| negation | copying the same retry/timeout boilerplate into every file | 0.333 | 0.000 | 0.500 | 667ms | 1. [I] 9f9be215-cd8a-40 2. [P] parallelism/design-for-parallel-development 3. [P] dev/adopt-before-you-build 4. [P] dev/trim-the-root-when-branching 5. [P] dev/dont-re-solve-check-history-in-parallel |
| negation | error was logged to a file but nobody reads that file | 1.000 | 1.000 | 1.000 | 631ms | 1. [P] dev/trace-the-chain-to-an-action 2. [P] observability/error-logging 3. [P] observability/log-at-the-users-mental-model 4. [P] batch-jobs/errors-are-data-not-exceptions 5. [P] observability/reflection-learning-from-failures |
| negation | fixing the wrong CSS property because the real cause is elsewhere | 0.500 | 0.000 | 1.000 | 734ms | 1. [P] dev/workarounds-piling-up-wrong-abstraction 2. [P] dev/treat-symptoms-as-signals 3. [I] 439f8f28-71cd-4a 4. [P] dev/exhaust-the-full-parameter-space 5. [I] 7455b9e9-12e9-42 |
| negation | processing 10000 items then discovering row 3 was malformed | 0.500 | 0.000 | 1.000 | 637ms | 1. [P] batch-jobs/fail-per-element-not-per-batch 2. [P] batch-jobs/validate-before-bulk-not-after 3. [P] data-quality/errors-compound-downstream 4. [P] batch-jobs/errors-are-data-not-exceptions 5. [P] dev/validate-at-intake-not-at-export |
| negation | a human manually moving data between systems every hour | 1.000 | 1.000 | 0.500 | 720ms | 1. [P] dev/dont-make-users-ferry-data 2. [P] development/minimum-necessary-weight 3. [P] batch-jobs/escalate-decisions-not-just-errors 4. [P] batch-jobs/progressive-trust-radius 5. [P] batch-jobs/capture-everything-filter-later |
| negation | using single quotes as delimiters in LLM prompts that contain English text | 1.000 | 1.000 | 1.000 | 700ms | 1. [P] dev/prefer-high-entropy-delimiters 2. [P] dev/prefer-context-native-mechanisms 3. [P] data-quality/condense-semantics-dont-truncate 4. [P] dev/measurement-requires-shared-instruments 5. [P] knowledge-accumulation/reserve-context-for-behavioral-constraints |
| Category | Query | MRR | P@1 | R@5 | Lat | Top 5 Results |
|---|---|---|---|---|---|---|
| exact | edit replace content | 1.000 | 1.000 | 1.000 | 628ms | 1. [P] dev/edit-dont-replace-content-is-sacred 2. [I] 6a97d0ac-4431-40 3. [P] dev/extend-dont-invent 4. [I] 1b4fd2a3-e5f6-43 5. [I] bed7fa55-9ee5-46 |
| exact | fail loud | 1.000 | 1.000 | 1.000 | 651ms | 1. [P] dev/fail-loud-never-fake 2. [P] development/no-silent-failures 3. [P] batch-jobs/fail-per-element-not-per-batch 4. [P] batch-jobs/errors-are-data-not-exceptions 5. [P] development/verify-action |
| exact | silent failure | 1.000 | 1.000 | 1.000 | 660ms | 1. [P] development/no-silent-failures 2. [P] batch-jobs/success-without-useful-work-is-a-lie 3. [P] batch-jobs/observable-progress 4. [P] dev/fail-loud-never-fake 5. [P] batch-jobs/escalate-decisions-not-just-errors |
| exact | progressive disclosure | 1.000 | 1.000 | 1.000 | 723ms | 1. [P] ux/progressive-disclosure 2. [P] ux/visual-clarity 3. [P] observability/what-the-computer-sees 4. [P] ux/immediate-action 5. [P] ux/graceful-degradation |
| exact | blast radius | 1.000 | 1.000 | 1.000 | 655ms | 1. [P] dev/minimize-blast-radius 2. [P] development/no-silent-failures 3. [P] batch-jobs/validate-before-bulk-not-after 4. [P] batch-jobs/progressive-trust-radius 5. [P] batch-jobs/rateresource-awareness-as-architecture |
| exact | idempotency resumability | 1.000 | 1.000 | 1.000 | 693ms | 1. [P] batch-jobs/idempotency-and-resumability 2. [P] batch-jobs/rateresource-awareness-as-architecture 3. [P] development/verify-action 4. [P] batch-jobs/separate-collection-from-commitment 5. [P] batch-jobs/escalate-decisions-not-just-errors |
| exact | future snooping backtest | 1.000 | 1.000 | 1.000 | 700ms | 1. [P] backtesting/no-future-snooping 2. [P] backtesting/separate-detection-from-prediction 3. [P] batch-jobs/capture-everything-filter-later 4. [P] batch-jobs/validate-before-bulk-not-after 5. [P] dev/fail-loud-never-fake |
| exact | observable progress | 1.000 | 1.000 | 1.000 | 659ms | 1. [P] batch-jobs/observable-progress 2. [P] observability/core-principle 3. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 4. [P] observability/what-the-computer-sees 5. [P] ux/visual-clarity |
| exact | provenance gossip | 1.000 | 1.000 | 1.000 | 632ms | 1. [P] data-quality/data-without-provenance-is-gossip 2. [P] dev/verify-the-source-first 3. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 4. [P] data-quality/verifying-early-beats-correcting-later 5. [P] dev/independent-dimensions-independent-paths |
| exact | errors compound downstream | 1.000 | 1.000 | 1.000 | 646ms | 1. [P] data-quality/errors-compound-downstream 2. [P] data-quality/verifying-early-beats-correcting-later 3. [P] batch-jobs/validate-before-bulk-not-after 4. [P] batch-jobs/escalate-decisions-not-just-errors 5. [P] data-quality/data-without-provenance-is-gossip |
| exact | orthogonal axes decompose | 1.000 | 1.000 | 1.000 | 704ms | 1. [P] dev/decompose-into-orthogonal-axes 2. [P] dev/independent-dimensions-independent-paths 3. [P] ux/visual-clarity 4. [P] observability/core-principle 5. [P] ux/immediate-action |
| exact | migrate dont straddle | 1.000 | 1.000 | 1.000 | 632ms | 1. [P] dev/migrate-dont-straddle 2. [P] dev/respect-abstraction-boundaries 3. [P] batch-jobs/separate-collection-from-commitment 4. [P] dev/dont-make-users-ferry-data 5. [P] development/recognize-poor-fit-find-better-tools |
| exact | trace chain action | 1.000 | 1.000 | 1.000 | 645ms | 1. [P] dev/trace-the-chain-to-an-action 2. [P] development/verify-action 3. [P] data-quality/data-without-provenance-is-gossip 4. [P] dev/verify-the-source-first 5. [P] dev/treat-symptoms-as-signals |
| exact | spec driven development | 1.000 | 1.000 | 1.000 | 648ms | 1. [P] development/spec-driven-development 2. [P] development/spec 3. [P] development/implementation-spec 4. [P] development/feature-lifecycle 5. [P] development/implementation |
| exact | knowledge accumulating search | 1.000 | 1.000 | 1.000 | 724ms | 1. [P] knowledge-accumulation/knowledge-accumulating-search 2. [P] dev/widen-the-search-aperture 3. [P] development/research-before-probing 4. [P] dev/decouple-feeders-from-core-storage 5. [P] batch-jobs/capture-everything-filter-later |
| exact | speculative parallelism | 1.000 | 1.000 | 1.000 | 645ms | 1. [P] parallelism/speculative-parallelism-trade-compute-for-latency 2. [P] parallelism/fork-and-verify-sanity-check-in-parallel 3. [P] parallelism/test-assumptions-in-background 4. [P] parallelism/amortize-orchestration-overhead 5. [P] parallelism/design-for-parallel-development |
| conceptual | before editing a file always read it first | 1.000 | 1.000 | 1.000 | 710ms | 1. [P] dev/edit-dont-replace-content-is-sacred 2. [P] development/research-before-probing 3. [P] development/verify-action 4. [P] development/resolve-structural-ambiguity-before-coding 5. [I] 2f9aa1fe-1e08-43 |
| conceptual | don't ask users to run commands and report back | 1.000 | 1.000 | 1.000 | 710ms | 1. [P] dev/dont-make-users-ferry-data 2. [P] development/verify-action 3. [P] dev/prefer-predictable-primitives 4. [P] observability/what-the-computer-sees 5. [P] dev/prefer-high-entropy-delimiters |
| conceptual | use existing libraries instead of building your own | 1.000 | 1.000 | 1.000 | 640ms | 1. [P] dev/adopt-before-you-build 2. [P] dev/research-before-building-broad-upfront-investigation-pays-of 3. [P] dev/extend-dont-invent 4. [P] development/minimum-necessary-weight 5. [P] development/research-before-probing |
| conceptual | keep code as simple as possible | 1.000 | 1.000 | 1.000 | 641ms | 1. [P] dev/less-is-more 2. [P] dev/complexity-must-be-earned 3. [P] development/simplicity-and-incremental-refactoring 4. [P] dev/simplify-after-designing 5. [P] dev/prefer-context-native-mechanisms |
| conceptual | check results before showing them to the user | 1.000 | 1.000 | 0.500 | 645ms | 1. [P] data-quality/sanity-check-results-before-presenting 2. [P] development/verify-action 3. [P] data-quality/round-numbers-are-truncation-signals 4. [P] dev/validate-at-intake-not-at-export 5. [P] batch-jobs/validate-before-bulk-not-after |
| conceptual | make errors visible and useful for debugging | 1.000 | 1.000 | 0.333 | 720ms | 1. [P] observability/error-logging 2. [P] development/no-silent-failures 3. [P] batch-jobs/errors-are-data-not-exceptions 4. [P] observability/debugging-flow 5. [P] observability/reflection-learning-from-failures |
| conceptual | running independent tasks at the same time | 1.000 | 1.000 | 0.500 | 703ms | 1. [P] parallelism/offload-leaf-tasks 2. [P] parallelism/amortize-orchestration-overhead 3. [P] parallelism/test-assumptions-in-background 4. [P] parallelism/design-for-parallel-development 5. [P] parallelism/fork-and-verify-sanity-check-in-parallel |
| conceptual | handle each item's failure independently in batch jobs | 1.000 | 1.000 | 1.000 | 661ms | 1. [P] batch-jobs/fail-per-element-not-per-batch 2. [P] batch-jobs/idempotency-and-resumability 3. [P] batch-jobs/errors-are-data-not-exceptions 4. [P] batch-jobs/escalate-decisions-not-just-errors 5. [P] batch-jobs/observable-progress |
| conceptual | don't leak future data into training or backtesting | 1.000 | 1.000 | 1.000 | 703ms | 1. [P] backtesting/no-future-snooping 2. [P] backtesting/separate-detection-from-prediction 3. [P] data-quality/errors-compound-downstream 4. [P] batch-jobs/capture-everything-filter-later 5. [P] data-quality/sanity-check-results-before-presenting |
| conceptual | save more data than you need now and filter later | 1.000 | 1.000 | 1.000 | 650ms | 1. [P] batch-jobs/capture-everything-filter-later 2. [P] batch-jobs/separate-collection-from-commitment 3. [P] data-quality/verifying-early-beats-correcting-later 4. [P] batch-jobs/empirically-validate-thresholds-dont-assume 5. [P] dev/validate-at-intake-not-at-export |
| conceptual | don't hardcode magic thresholds, measure them empirically | 1.000 | 1.000 | 1.000 | 738ms | 1. [P] batch-jobs/empirically-validate-thresholds-dont-assume 2. [P] data-quality/round-numbers-are-truncation-signals 3. [P] ux/use-effective-limits-as-denominators 4. [P] dev/target-empirical-bottlenecks-first 5. [P] dev/measurement-requires-shared-instruments |
| conceptual | start with small trusted batches then expand | 1.000 | 1.000 | 1.000 | 714ms | 1. [P] batch-jobs/progressive-trust-radius 2. [P] batch-jobs/validate-before-bulk-not-after 3. [P] batch-jobs/separate-collection-from-commitment 4. [P] batch-jobs/capture-everything-filter-later 5. [P] batch-jobs/empirically-validate-thresholds-dont-assume |
| conceptual | validate the whole batch before committing any of it | 1.000 | 1.000 | 1.000 | 649ms | 1. [P] batch-jobs/validate-before-bulk-not-after 2. [P] batch-jobs/separate-collection-from-commitment 3. [P] dev/validate-at-intake-not-at-export 4. [P] batch-jobs/fail-per-element-not-per-batch 5. [P] data-quality/verifying-early-beats-correcting-later |
| conceptual | returning 200 OK but the response is empty | 0.333 | 0.000 | 1.000 | 648ms | 1. [P] development/no-silent-failures 2. [P] development/verify-action 3. [P] batch-jobs/success-without-useful-work-is-a-lie 4. [P] data-quality/round-numbers-are-truncation-signals 5. [P] dev/fail-loud-never-fake |
| conceptual | truncating text by character count loses meaning | 1.000 | 1.000 | 1.000 | 642ms | 1. [P] data-quality/condense-semantics-dont-truncate 2. [P] ux/graceful-degradation 3. [P] data-quality/round-numbers-are-truncation-signals 4. [I] 41150c5b-d1c6-45 5. [P] dev/prefer-high-entropy-delimiters |
| conceptual | round numbers in data usually mean something was cut off | 1.000 | 1.000 | 1.000 | 759ms | 1. [P] data-quality/round-numbers-are-truncation-signals 2. [P] data-quality/sanity-check-results-before-presenting 3. [P] dev/show-the-most-illuminating-data 4. [P] data-quality/errors-compound-downstream 5. [P] ux/explicitly-qualify-status-values |
| conceptual | check data at the point of ingestion not when you export it | 0.333 | 0.000 | 1.000 | 641ms | 1. [P] data-quality/verifying-early-beats-correcting-later 2. [P] data-quality/errors-compound-downstream 3. [P] dev/validate-at-intake-not-at-export 4. [P] batch-jobs/validate-before-bulk-not-after 5. [P] data-quality/sanity-check-results-before-presenting |
| conceptual | let machines do repetitive work while humans steer | 1.000 | 1.000 | 1.000 | 668ms | 1. [P] dev/automate-grinding-steer-direction 2. [P] batch-jobs/escalate-decisions-not-just-errors 3. [P] development/minimum-necessary-weight 4. [P] batch-jobs/progressive-trust-radius 5. [P] dev/prioritize-high-fidelity-domain-interfaces |
| conceptual | concrete code examples rot faster than underlying principles | 1.000 | 1.000 | 1.000 | 714ms | 1. [P] dev/concrete-rots-principles-persist 2. [P] development/verify-api-details-dont-fabricate 3. [P] dev/workarounds-piling-up-wrong-abstraction 4. [P] dev/prefer-context-native-mechanisms 5. [P] dev/migrate-dont-straddle |
| conceptual | separate independent features into separate code paths | 1.000 | 1.000 | 1.000 | 638ms | 1. [P] dev/independent-dimensions-independent-paths 2. [P] parallelism/design-for-parallel-development 3. [P] dev/decompose-into-orthogonal-axes 4. [P] dev/trim-the-root-when-branching 5. [P] development/resolve-structural-ambiguity-before-coding |
| conceptual | data sources should feed into storage without being coupled to it | 1.000 | 1.000 | 1.000 | 653ms | 1. [P] dev/decouple-feeders-from-core-storage 2. [P] batch-jobs/capture-everything-filter-later 3. [P] dev/independent-dimensions-independent-paths 4. [P] batch-jobs/separate-collection-from-commitment 5. [P] development/minimum-necessary-weight |
| conceptual | if something exists doesn't mean it's the right approach | 1.000 | 1.000 | 1.000 | 662ms | 1. [P] dev/existing-state-is-not-justification 2. [P] dev/adopt-before-you-build 3. [P] development/recognize-poor-fit-find-better-tools 4. [P] dev/extend-dont-invent 5. [P] dev/workarounds-piling-up-wrong-abstraction |
| conceptual | returning fake data when the real API is down | 1.000 | 1.000 | 1.000 | 719ms | 1. [P] dev/fail-loud-never-fake 2. [P] development/verify-api-details-dont-fabricate 3. [P] batch-jobs/capture-everything-filter-later 4. [P] batch-jobs/errors-are-data-not-exceptions 5. [P] data-quality/round-numbers-are-truncation-signals |
| conceptual | a log message that appears on every single request is useless | 1.000 | 1.000 | 1.000 | 656ms | 1. [P] dev/if-its-always-the-same-its-carrying-zero-information 2. [P] observability/log-at-the-users-mental-model 3. [P] batch-jobs/observable-progress 4. [P] batch-jobs/success-without-useful-work-is-a-lie 5. [P] observability/error-logging |
| conceptual | you need a shared yardstick to compare measurements | 1.000 | 1.000 | 1.000 | 682ms | 1. [P] dev/measurement-requires-shared-instruments 2. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 3. [P] dev/adopt-before-you-build 4. [P] observability/prefer-stateless-source-metrics 5. [P] data-quality/sanity-check-results-before-presenting |
| conceptual | supporting both old and new paths at the same time forever | 1.000 | 1.000 | 1.000 | 702ms | 1. [P] dev/migrate-dont-straddle 2. [P] dev/independent-dimensions-independent-paths 3. [P] dev/extend-dont-invent 4. [P] development/avoid-collisions-in-tempshared-paths 5. [P] dev/adopt-before-you-build |
| conceptual | convert model aliases to canonical IDs at the API boundary | 1.000 | 1.000 | 1.000 | 643ms | 1. [P] dev/resolve-aliases-at-intake-not-locally 2. [P] ux/consolidate-synonymous-entry-points 3. [P] dev/prioritize-high-fidelity-domain-interfaces 4. [P] development/verify-api-details-dont-fabricate 5. [P] dev/migrate-dont-straddle |
| conceptual | show the data that best reveals what's happening | 1.000 | 1.000 | 1.000 | 746ms | 1. [P] dev/show-the-most-illuminating-data 2. [P] data-quality/sanity-check-results-before-presenting 3. [P] ux/explicitly-qualify-status-values 4. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 5. [P] data-quality/errors-compound-downstream |
| conceptual | design the full thing first then remove what's unnecessary | 0.500 | 0.000 | 1.000 | 703ms | 1. [P] dev/less-is-more 2. [P] dev/simplify-after-designing 3. [P] batch-jobs/capture-everything-filter-later 4. [P] development/draft-the-shape-then-fill-it-in 5. [P] dev/complexity-must-be-earned |
| conceptual | use JSON or structured APIs rather than scraping HTML | 1.000 | 1.000 | 1.000 | 634ms | 1. [P] dev/structured-over-unstructured-grab-the-best-format-first 2. [P] development/minimum-necessary-weight 3. [P] batch-jobs/capture-everything-filter-later 4. [P] dev/prioritize-high-fidelity-domain-interfaces 5. [P] development/verify-api-details-dont-fabricate |
| conceptual | a warning was logged but nobody ever saw it | 0.000 | 0.000 | 0.000 | 631ms | 1. [P] development/no-silent-failures 2. [P] observability/log-at-the-users-mental-model 3. [P] batch-jobs/observable-progress 4. [P] observability/what-the-computer-sees 5. [P] observability/error-logging |
| conceptual | fix the underlying bug not just the symptom | 1.000 | 1.000 | 1.000 | 656ms | 1. [P] dev/treat-symptoms-as-signals 2. [P] dev/workarounds-piling-up-wrong-abstraction 3. [P] dev/exhaust-the-full-parameter-space 4. [P] observability/reflection-learning-from-failures 5. [P] dev/look-one-layer-out |
| conceptual | write a spec before building a feature | 1.000 | 1.000 | 0.667 | 700ms | 1. [P] development/spec 2. [P] development/spec-driven-development 3. [P] development/resolve-structural-ambiguity-before-coding 4. [P] development/draft-the-shape-then-fill-it-in 5. [P] development/feature-lifecycle |
| conceptual | never assume an action worked, check the result | 1.000 | 1.000 | 1.000 | 644ms | 1. [P] development/verify-action 2. [P] development/no-silent-failures 3. [P] batch-jobs/success-without-useful-work-is-a-lie 4. [P] dev/verify-the-source-first 5. [P] dev/minimize-blast-radius |
| conceptual | don't make up API endpoints or parameter names | 1.000 | 1.000 | 1.000 | 646ms | 1. [P] development/verify-api-details-dont-fabricate 2. [P] development/research-before-probing 3. [P] dev/fail-loud-never-fake 4. [P] dev/respect-abstraction-boundaries 5. [P] development/resolve-structural-ambiguity-before-coding |
| conceptual | check existing work before re-solving a problem from scratch | 1.000 | 1.000 | 1.000 | 658ms | 1. [P] dev/dont-re-solve-check-history-in-parallel 2. [P] 0768c48d-ea01-4392-86b1-69342dadc0a7 3. [P] dev/adopt-before-you-build 4. [P] data-quality/sanity-check-results-before-presenting 5. [P] development/verify-action |
| conceptual | when a tool doesn't fit, find a better tool instead of fighting it | 1.000 | 1.000 | 1.000 | 754ms | 1. [P] development/recognize-poor-fit-find-better-tools 2. [P] dev/adopt-before-you-build 3. [P] dev/extend-dont-invent 4. [P] dev/prefer-context-native-mechanisms 5. [P] dev/workarounds-piling-up-wrong-abstraction |
| conceptual | log at the level of what the user cares about not implementation details | 1.000 | 1.000 | 1.000 | 657ms | 1. [P] observability/log-at-the-users-mental-model 2. [P] batch-jobs/observable-progress 3. [P] observability/error-logging 4. [P] observability/what-the-computer-sees 5. [P] observability/core-principle |
| conceptual | fork a background check to verify sanity while continuing main work | 1.000 | 1.000 | 1.000 | 689ms | 1. [P] parallelism/fork-and-verify-sanity-check-in-parallel 2. [P] parallelism/test-assumptions-in-background 3. [P] development/verify-action 4. [P] dev/dont-re-solve-check-history-in-parallel 5. [P] parallelism/offload-leaf-tasks |
| conceptual | most important information should be most visually prominent | 1.000 | 1.000 | 1.000 | 731ms | 1. [P] ux/information-prominence 2. [I] d66ecc5f-1023-46 3. [P] ux/importance-ordering-attention-budget 4. [P] dev/show-the-most-illuminating-data 5. [P] ux/visual-clarity |
| conceptual | don't repeat the same info in multiple UI elements | 1.000 | 1.000 | 1.000 | 651ms | 1. [P] ux/no-redundant-signals 2. [P] ux/information-prominence 3. [P] ux/colocate-action-with-insight 4. [P] ux/consolidate-synonymous-entry-points 5. [P] ux/visual-clarity |
| conceptual | use all the available screen space effectively | 1.000 | 1.000 | 1.000 | 693ms | 1. [P] ux/utilize-available-space 2. [P] ux/importance-ordering-attention-budget 3. [P] ux/information-prominence 4. [P] dev/show-the-most-illuminating-data 5. [P] dev/exhaust-the-full-parameter-space |
| conceptual | do only the minimum work needed for the current task | 1.000 | 1.000 | 1.000 | 765ms | 1. [P] development/minimum-necessary-weight 2. [P] dev/less-is-more 3. [P] dev/extend-dont-invent 4. [P] ux/immediate-action 5. [P] dev/complexity-must-be-earned |
| conceptual | make rate limits a first-class part of the system design | 1.000 | 1.000 | 1.000 | 649ms | 1. [P] batch-jobs/rateresource-awareness-as-architecture 2. [P] dev/scope-throttles-to-the-context-boundary 3. [P] ux/use-effective-limits-as-denominators 4. [P] batch-jobs/errors-are-data-not-exceptions 5. [P] data-quality/round-numbers-are-truncation-signals |
| conceptual | some things need a human decision not because they failed but because they're ambiguous | 1.000 | 1.000 | 1.000 | 691ms | 1. [P] batch-jobs/escalate-decisions-not-just-errors 2. [P] development/resolve-structural-ambiguity-before-coding 3. [P] observability/what-the-computer-sees 4. [P] batch-jobs/progressive-trust-radius 5. [P] batch-jobs/separate-collection-from-commitment |
| cross_domain | verify assumptions before writing code | 0.500 | 0.000 | 0.333 | 726ms | 1. [P] development/resolve-structural-ambiguity-before-coding 2. [P] development/verify-action 3. [P] parallelism/test-assumptions-in-background 4. [P] dev/verify-the-source-first 5. [P] development/verify-api-details-dont-fabricate |
| cross_domain | system should observe and improve itself | 1.000 | 1.000 | 1.000 | 667ms | 1. [P] observability/core-principle 2. [P] dev/treat-symptoms-as-signals 3. [P] observability/reflection-learning-from-failures 4. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 5. [P] batch-jobs/observable-progress |
| cross_domain | data provenance and trust | 1.000 | 1.000 | 1.000 | 698ms | 1. [P] data-quality/data-without-provenance-is-gossip 2. [P] data-quality/errors-compound-downstream 3. [P] data-quality/verifying-early-beats-correcting-later 4. [P] data-quality/sanity-check-results-before-presenting 5. [P] batch-jobs/validate-before-bulk-not-after |
| cross_domain | how to make a feature easy to test and debug | 1.000 | 1.000 | 0.667 | 747ms | 1. [P] observability/core-principle 2. [P] observability/capture-the-raw-ingress 3. [P] dev/fail-loud-never-fake 4. [P] observability/debugging-flow 5. [P] dev/independent-dimensions-independent-paths |
| cross_domain | plan the interface shape before filling in implementation | 1.000 | 1.000 | 0.667 | 667ms | 1. [P] development/draft-the-shape-then-fill-it-in 2. [P] development/resolve-structural-ambiguity-before-coding 3. [P] development/research-before-probing 4. [P] development/verify-api-details-dont-fabricate 5. [P] dev/simplify-after-designing |
| cross_domain | how to name things and organize files after refactoring | 1.000 | 1.000 | 0.500 | 697ms | 1. [P] development/renaming-and-restructuring 2. [P] development/simplicity-and-incremental-refactoring 3. [P] development/resolve-structural-ambiguity-before-coding 4. [P] dev/trim-the-root-when-branching 5. [P] dev/independent-dimensions-independent-paths |
| cross_domain | metrics and dashboards for improvement | 1.000 | 1.000 | 0.500 | 728ms | 1. [P] cc594a50-7e72-4219-a759-9af8b3fa11eb 2. [I] bf4ef6b9-2155-42 3. [P] batch-jobs/observable-progress 4. [P] ux/explicitly-qualify-status-values 5. [P] observability/prefer-stateless-source-metrics |
| cross_domain | building knowledge that compounds over time | 1.000 | 1.000 | 0.500 | 639ms | 1. [P] knowledge-accumulation/knowledge-accumulating-search 2. [P] dev/research-before-building-broad-upfront-investigation-pays-of 3. [P] data-quality/errors-compound-downstream 4. [P] dev/adopt-before-you-build 5. [P] dev/extend-dont-invent |
| cross_domain | keeping UI clean and scannable without clutter | 1.000 | 1.000 | 0.333 | 701ms | 1. [P] ux/visual-clarity 2. [P] ux/information-prominence 3. [P] ux/importance-ordering-attention-budget 4. [P] ux/reserve-formatting-for-signaling 5. [P] ux/embellishments-must-not-break-scannability |
| cross_domain | reliable batch processing at scale | 1.000 | 1.000 | 0.667 | 708ms | 1. [P] batch-jobs/idempotency-and-resumability 2. [P] batch-jobs/fail-per-element-not-per-batch 3. [P] batch-jobs/errors-are-data-not-exceptions 4. [P] batch-jobs/validate-before-bulk-not-after 5. [P] batch-jobs/rateresource-awareness-as-architecture |
| negation | catching exceptions silently and continuing | 1.000 | 1.000 | 0.500 | 630ms | 1. [P] development/no-silent-failures 2. [P] batch-jobs/errors-are-data-not-exceptions 3. [P] batch-jobs/fail-per-element-not-per-batch 4. [P] batch-jobs/escalate-decisions-not-just-errors 5. [P] batch-jobs/success-without-useful-work-is-a-lie |
| negation | building a new abstraction for a one-time operation | 0.067 | 0.000 | 0.000 | 646ms | 1. [P] dev/respect-abstraction-boundaries 2. [P] ux/immediate-action 3. [P] dev/workarounds-piling-up-wrong-abstraction 4. [P] batch-jobs/separate-collection-from-commitment 5. [P] dev/minimize-blast-radius |
| negation | workarounds accumulating in the codebase | 1.000 | 1.000 | 1.000 | 655ms | 1. [P] dev/workarounds-piling-up-wrong-abstraction 2. [P] development/recognize-poor-fit-find-better-tools 3. [P] dev/adopt-before-you-build 4. [P] dev/treat-symptoms-as-signals 5. [P] dev/extend-dont-invent |
| negation | silently returning hardcoded data when the API call fails | 1.000 | 1.000 | 1.000 | 741ms | 1. [P] dev/fail-loud-never-fake 2. [P] development/no-silent-failures 3. [P] batch-jobs/errors-are-data-not-exceptions 4. [P] batch-jobs/capture-everything-filter-later 5. [P] development/minimum-necessary-weight |
| negation | using string slicing to shorten text to fit a token limit | 1.000 | 1.000 | 1.000 | 635ms | 1. [P] data-quality/condense-semantics-dont-truncate 2. [P] ux/graceful-degradation 3. [P] dev/trim-the-root-when-branching 4. [I] 41150c5b-d1c6-45 5. [P] dev/prefer-high-entropy-delimiters |
| negation | adding more flags and config options to an already complex function | 1.000 | 1.000 | 1.000 | 722ms | 1. [P] dev/complexity-must-be-earned 2. [P] dev/decompose-into-orthogonal-axes 3. [P] dev/less-is-more 4. [P] dev/prefer-predictable-primitives 5. [I] 95ce820a-b1a3-43 |
| negation | maintaining two parallel code paths for old and new formats | 1.000 | 1.000 | 1.000 | 739ms | 1. [P] dev/migrate-dont-straddle 2. [P] dev/structured-over-unstructured-grab-the-best-format-first 3. [P] dev/independent-dimensions-independent-paths 4. [P] dev/extend-dont-invent 5. [P] dev/adopt-before-you-build |
| negation | copying the same retry/timeout boilerplate into every file | 1.000 | 1.000 | 0.500 | 644ms | 1. [P] dev/adopt-before-you-build 2. [I] 9f9be215-cd8a-40 3. [P] development/recognize-poor-fit-find-better-tools 4. [P] parallelism/design-for-parallel-development 5. [P] development/verify-action |
| negation | error was logged to a file but nobody reads that file | 0.000 | 0.000 | 0.000 | 698ms | 1. [P] observability/error-logging 2. [P] observability/log-at-the-users-mental-model 3. [P] development/no-silent-failures 4. [P] batch-jobs/errors-are-data-not-exceptions 5. [P] observability/reflection-learning-from-failures |
| negation | fixing the wrong CSS property because the real cause is elsewhere | 0.500 | 0.000 | 1.000 | 707ms | 1. [P] dev/workarounds-piling-up-wrong-abstraction 2. [P] dev/treat-symptoms-as-signals 3. [P] dev/exhaust-the-full-parameter-space 4. [I] 439f8f28-71cd-4a 5. [I] 7455b9e9-12e9-42 |
| negation | processing 10000 items then discovering row 3 was malformed | 1.000 | 1.000 | 0.500 | 650ms | 1. [P] batch-jobs/validate-before-bulk-not-after 2. [P] batch-jobs/fail-per-element-not-per-batch 3. [P] data-quality/errors-compound-downstream 4. [P] batch-jobs/observable-progress 5. [P] batch-jobs/errors-are-data-not-exceptions |
| negation | a human manually moving data between systems every hour | 1.000 | 1.000 | 0.500 | 642ms | 1. [P] dev/dont-make-users-ferry-data 2. [P] development/minimum-necessary-weight 3. [P] batch-jobs/escalate-decisions-not-just-errors 4. [P] batch-jobs/capture-everything-filter-later 5. [P] batch-jobs/separate-collection-from-commitment |
| negation | using single quotes as delimiters in LLM prompts that contain English text | 1.000 | 1.000 | 1.000 | 660ms | 1. [P] dev/prefer-high-entropy-delimiters 2. [P] dev/prefer-context-native-mechanisms 3. [P] data-quality/condense-semantics-dont-truncate 4. [P] dev/prefer-predictable-primitives 5. [P] ux/visual-clarity |