Skip to content
Contents

Section 4

Failure modes

Ways a retrieval benchmark silently produces the wrong number, what each one corrupts, and how this project detects or prevents it.

5 of these were hit in the course of building this project and are marked as such. The rest are designed out, and the entry says how. The distinction matters: a list that presents prevented risks and observed bugs identically overstates what was actually found.

None of them announce themselves. Each one produces output that parses, counts that look plausible, and a run that completes successfully.

ANN post-filtering under Row-Level Security

Observed here

An approximate nearest-neighbour index returns its ef_search closest vectors, and only then does the access policy discard the ones this role may not see. Nothing refills the discarded slots.

Why it is invisible

The query succeeds. It returns fewer rows, or none, and an empty result is indistinguishable from 'no evidence exists'.

What it corrupts

  • recall_at_10
  • recall_at_5
  • ndcg_at_10
  • mrr_at_10
  • abstention_correct

How this project handles it

Measured against exact search under the identical policy. Fixed by partitioning per tenant so the index holds only permitted rows; iterative scan recovers part of it but not all.

Evidence

Measured on 36,000 chunks across 40 tenants: recall fell from 0.905 unrestricted to 0.023 for a single-tenant role, with 39 of 40 queries returning nothing while exact search returned a full ten. Raising ef_search from 40 to 800 changed nothing.

Twelve nearest neighbours are returned by the index. The access policy removes those the role cannot see, leaving gaps that are never refilled, so the final result is empty even though permitted matching documents exist elsewhere in the corpus.nearest neighbours, ranked by distance →12345678911The index returns its ef_search nearest neighbours, ranked by distance.
Step 1 of 4
Figure 2. Approximate search returns its nearest neighbours, the access policy removes what this role may not see, and nothing refills the gap. Step through it.

Element identity reuse during parsing

Observed here

Some parsers create element objects on demand and free them. Identities collected during one traversal are reused by unrelated elements in the next, so an identity-based set matches the wrong nodes.

Why it is invisible

Parsing succeeds and produces a plausible number, just a wrong one.

What it corrupts

  • Corpus page count

How this project handles it

Elements are tested directly during a single traversal rather than pre-collecting identities, and page counts are re-derived independently and asserted.

Evidence

One filing recorded 535 pages against 162 actual page breaks — a fabricated figure reaching a published field through a bug rather than a decision.

MAX_TOKENS truncation parsed as a record

Observed here

A model that reasons before answering charges those tokens against the output budget. The budget runs out mid-JSON and the response arrives truncated but syntactically parseable up to the cut.

Why it is invisible

The call returns 200 with content. Only finishReason says anything, and nothing checks it.

What it corrupts

  • faithfulness
  • citation_accuracy
  • citation_coverage
  • answer_correctness

How this project handles it

finishReason == MAX_TOKENS is raised as an error and retried; thinking level is pinned so the budget is spent on output.

Evidence

Caught by a test asserting the client retries rather than returns: the truncated payload was a half-written question object that would have been saved as a real golden-set record.

The planner flip

Observed here

The same query can execute as an exact sequential scan or as an approximate index scan depending on table statistics. The planner has no model of ef_search, so its row estimate for the index scan is fiction.

Why it is invisible

Recall moves upward when the plan flips to exact, so it never looks like a bug. A run simply scores higher on one machine than another.

What it corrupts

  • recall_at_10
  • ndcg_at_10
  • mrr_at_10
  • latency_p95_s

How this project handles it

Pin the plan and assert the executed plan shape in the harness; record it in the results JSON and fail the run on mismatch. Not yet built.

Evidence

Observed while measuring RLS behaviour: the same query planned as a sequential scan on one table and an HNSW index scan on another, with no error in between.

A single query planned two ways: a sequential scan producing exact results, or an index scan producing approximate results with the policy applied afterwards. Neither raises an error, so the difference appears only as a change in the recall number. A plan assertion in the harness is the intervention.one querySeq Scan + Filterexact, slowerIndex Scan + Filterapproximate, post-filteredrecall as measureda different recallno error in between — the number simply movesintervention: assert the executed plan shape, record it in the runplanned for Phase 4 — not yet built
Figure 4. The same query, planned two ways, producing two different recall numbers with no error in between.

Truncated identifier collision

Observed here

A document id derived by slugging and truncating a filename is lossy. Two distinct source files can map to the same id, and the second silently overwrites the first.

Why it is invisible

Nothing raises. The only symptom was two counts on different lines of a log disagreeing.

What it corrupts

  • Corpus document count
  • every metric measured over the corpus

How this project handles it

Identifiers now carry a hash of the full source path, and registration refuses to overwrite an existing id belonging to a different document, recording a collision instead.

Evidence

26 real contracts were dropped this way. Because the resume check found the first file's entry intact, the later files were never extracted to disk either.

Superuser bypasses Row-Level Security

Prevented by design

A PostgreSQL superuser is exempt from row-level security. Connect as postgres and every policy silently does nothing.

Why it is invisible

No error, no warning. Policies simply do not apply, so every access-control test passes for the wrong reason.

What it corrupts

  • Every published security result

How this project handles it

The application role is NOSUPERUSER NOBYPASSRLS, verified rolsuper=f and rolbypassrls=f, and the connection string is fixed in configuration.

Evidence

Verified directly against the running database before any security measurement was taken.

Table owner bypasses Row-Level Security

Prevented by design

A table's owner is also exempt unless FORCE ROW LEVEL SECURITY is set. relforcerowsecurity defaults to false.

Why it is invisible

Same silence as the superuser case, different cause. Migrations and ops queries running as the owner see everything.

What it corrupts

  • Every published security result

How this project handles it

ALTER TABLE ... FORCE ROW LEVEL SECURITY on every table carrying a policy.

Evidence

Confirmed while building the RLS harness: running the probe as the table owner returned recall 0.95 with no restriction applied, because the owner is exempt.

On the left, one index over every tenant: the policy filters after the index has chosen, so permitted rows can be missing entirely. On the right, one index per tenant: the index contains only permitted rows, so there is nothing to filter away.Monolithic indexindex chooses first, policy filters afterpermitted rows may never be reachedPartitioned by tenantonly permitted partitions are scannednothing to post-filter awayRow-level security remains the correctness boundary in both. Partitioning changes what the index contains, not who may read it.
Figure 3. One index over every tenant versus one index per tenant. Partitioning changes what the index contains, not who may read it.

The judge sees the drafter's labels

Prevented by design

If the model grading relevance can see which passages the query was written from, it agrees with them. The agreement rate then measures conformity rather than correctness.

Why it is invisible

The number goes up. A high agreement rate looks like a well-constructed set.

What it corrupts

  • recall_at_10
  • ndcg_at_10
  • context_precision
  • faithfulness
  • answer_correctness

How this project handles it

The judging prompt interpolates only the question and the passage text. Source membership is recorded in the output but never sent to the judge.

Evidence

Verified by inspecting the compiled prompt template: the only interpolated fields are the relevance statement, the question, and the passages.

Queries are drafted by one model, graded by a second model that never sees which passages the query was written from, then a stratified quarter of the set is graded by a human. The agreement rate compares the second model against the human.Draftqueries + sourcesJudgegrades 0–3Human samplestratified 25%Agreementpublishedthe judge never sees the drafter's labelsonly the question and the passage text cross this lineIf the judge could see them it would agree with them, and the agreement ratewould measure conformity rather than correctness.
Figure 5. The judge never sees which passages a query was drafted from. Only the question and the passage text cross that line.

Unpinned model reference

Prevented by design

A floating alias such as a -latest tag resolves to whatever the provider currently serves. Re-running months later silently uses a different judge.

Why it is invisible

Everything succeeds. The numbers simply move, and nothing in the output says why.

What it corrupts

  • faithfulness
  • answer_correctness
  • answer_relevance
  • cost_per_query_usd

How this project handles it

Every run records the resolved dated snapshot, not the requested name, in the run config and on every record the run produces.

Evidence

Checked against the provider's model list: a -latest alias reports a floating label as its version, while a dated model reports the snapshot it is pinned to.

ABS Abstention

Abstention (correct)

What it measures

Proportion of genuinely unanswerable queries the system correctly declines.

Formula

Abst = |{ q in U : system declined }| / |U|
U
the unanswerable subset of the query set
declined
the abstention gate fired rather than an answer being produced

Mathematical range. No typical value is stated: it would be a number with no run behind it.

Worked example

From the golden set, cross-document, query cross-document-000 8 human-verified judgments.

What was the total operating income for the North America segment in fiscal 2023, and which XBRL financial taxonomy members are associated with cash flow hedging using foreign exchange contracts during the same fiscal period?

  • grade 3edgar-0000829224-000082922424000057::fixed-512::00015
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00108
  • grade 3edgar-0000320187-000032018725000047::fixed-512::00183
  • grade 3edgar-0000320187-000032018724000044::fixed-512::00185
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00150
  • grade 3edgar-0000796343-000079634325000004::fixed-512::00152

Confidence interval

95% interval by bootstrap resampling over 1,000 resamples of the query set. A point estimate over a few hundred queries without an interval is the first thing a reviewer attacks.

How this project computes it

harness/eval/scorers.py · abstention_correct()

Arrives in Phase 4.

What can go wrong

Related — Abstention family

faithfulness · recall_at_10

GRD Grounding

Answer correctness

What it measures

Agreement with the reference answer, judged against a published rubric.

Formula

correctness = judge(answer, reference) in {0, 1}
reference
the golden set answer, model-drafted and partially human-verified

Mathematical range. No typical value is stated: it would be a number with no run behind it.

Worked example

From the golden set, cross-document, query cross-document-000 8 human-verified judgments.

What was the total operating income for the North America segment in fiscal 2023, and which XBRL financial taxonomy members are associated with cash flow hedging using foreign exchange contracts during the same fiscal period?

  • grade 3edgar-0000829224-000082922424000057::fixed-512::00015
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00108
  • grade 3edgar-0000320187-000032018725000047::fixed-512::00183
  • grade 3edgar-0000320187-000032018724000044::fixed-512::00185
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00150
  • grade 3edgar-0000796343-000079634325000004::fixed-512::00152

Confidence interval

95% interval by bootstrap resampling over 1,000 resamples of the query set. A point estimate over a few hundred queries without an interval is the first thing a reviewer attacks.

How this project computes it

harness/eval/scorers.py · answer_correctness()

Arrives in Phase 4.

What can go wrong

Related — Grounding family

answer_relevance · faithfulness

GRD Grounding

Answer relevance

What it measures

Whether the answer addresses the question that was actually asked.

Formula

relevance = judge(answer, question) in {0, 1}
judge
LLM against a published rubric; the model reference is pinned per run

Mathematical range. No typical value is stated: it would be a number with no run behind it.

Worked example

From the golden set, cross-document, query cross-document-000 8 human-verified judgments.

What was the total operating income for the North America segment in fiscal 2023, and which XBRL financial taxonomy members are associated with cash flow hedging using foreign exchange contracts during the same fiscal period?

  • grade 3edgar-0000829224-000082922424000057::fixed-512::00015
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00108
  • grade 3edgar-0000320187-000032018725000047::fixed-512::00183
  • grade 3edgar-0000320187-000032018724000044::fixed-512::00185
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00150
  • grade 3edgar-0000796343-000079634325000004::fixed-512::00152

Confidence interval

95% interval by bootstrap resampling over 1,000 resamples of the query set. A point estimate over a few hundred queries without an interval is the first thing a reviewer attacks.

How this project computes it

harness/eval/scorers.py · answer_relevance()

Arrives in Phase 4.

What can go wrong

Related — Grounding family

answer_correctness

GRD Grounding

Citation accuracy

What it measures

Proportion of citations that resolve to a chunk actually supporting the cited claim.

Formula

A = |{ citations resolving to a supporting chunk }| / |citations|
resolve
the cited chunk id exists in the index for this run
supporting
string containment first; LLM judge only where containment fails

Mathematical range. No typical value is stated: it would be a number with no run behind it.

Worked example

From the golden set, cross-document, query cross-document-000 8 human-verified judgments.

What was the total operating income for the North America segment in fiscal 2023, and which XBRL financial taxonomy members are associated with cash flow hedging using foreign exchange contracts during the same fiscal period?

  • grade 3edgar-0000829224-000082922424000057::fixed-512::00015
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00108
  • grade 3edgar-0000320187-000032018725000047::fixed-512::00183
  • grade 3edgar-0000320187-000032018724000044::fixed-512::00185
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00150
  • grade 3edgar-0000796343-000079634325000004::fixed-512::00152

Confidence interval

95% interval by bootstrap resampling over 1,000 resamples of the query set. A point estimate over a few hundred queries without an interval is the first thing a reviewer attacks.

How this project computes it

platform/generation/verify.py · citation_accuracy()

Arrives in Phase 2.

What can go wrong

Related — Grounding family

citation_coverage · faithfulness

GRD Grounding

Citation coverage

What it measures

Proportion of factual claims that carry a citation at all.

Formula

C = |{ claims with >= 1 citation }| / |factual claims|
factual claim
an assertion that could be checked against a source

Mathematical range. No typical value is stated: it would be a number with no run behind it.

Worked example

From the golden set, cross-document, query cross-document-000 8 human-verified judgments.

What was the total operating income for the North America segment in fiscal 2023, and which XBRL financial taxonomy members are associated with cash flow hedging using foreign exchange contracts during the same fiscal period?

  • grade 3edgar-0000829224-000082922424000057::fixed-512::00015
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00108
  • grade 3edgar-0000320187-000032018725000047::fixed-512::00183
  • grade 3edgar-0000320187-000032018724000044::fixed-512::00185
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00150
  • grade 3edgar-0000796343-000079634325000004::fixed-512::00152

Confidence interval

95% interval by bootstrap resampling over 1,000 resamples of the query set. A point estimate over a few hundred queries without an interval is the first thing a reviewer attacks.

How this project computes it

platform/generation/verify.py · citation_coverage()

Arrives in Phase 2.

What can go wrong

Related — Grounding family

citation_accuracy · faithfulness

RET Retrieval

Context precision

What it measures

Proportion of retrieved chunks that are actually relevant.

Formula

P(q) = |{ c in top_k(q) : grade(c) >= 2 }| / k
k
retrieval depth, recorded per run in the config

Mathematical range. No typical value is stated: it would be a number with no run behind it.

Worked example

From the golden set, cross-document, query cross-document-000 8 human-verified judgments.

What was the total operating income for the North America segment in fiscal 2023, and which XBRL financial taxonomy members are associated with cash flow hedging using foreign exchange contracts during the same fiscal period?

  • grade 3edgar-0000829224-000082922424000057::fixed-512::00015
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00108
  • grade 3edgar-0000320187-000032018725000047::fixed-512::00183
  • grade 3edgar-0000320187-000032018724000044::fixed-512::00185
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00150
  • grade 3edgar-0000796343-000079634325000004::fixed-512::00152

Confidence interval

95% interval by bootstrap resampling over 1,000 resamples of the query set. A point estimate over a few hundred queries without an interval is the first thing a reviewer attacks.

How this project computes it

harness/eval/scorers.py · context_precision()

Arrives in Phase 4.

What can go wrong

Related — Retrieval family

recall_at_10 · faithfulness

CST Cost

Cost per query

What it measures

Token counts multiplied by the rates in the run config. Local models cost zero, stated openly.

Formula

cost = (in_tokens * rate_in + out_tokens * rate_out) / 1e6
rate
from configs/pricing.yaml, recorded per run
local models
0.00 by definition; hardware cost is not amortised into this number

US dollars per query. Zero for fully local runs, which is stated rather than hidden.

Worked example

From the golden set, cross-document, query cross-document-000 8 human-verified judgments.

What was the total operating income for the North America segment in fiscal 2023, and which XBRL financial taxonomy members are associated with cash flow hedging using foreign exchange contracts during the same fiscal period?

  • grade 3edgar-0000829224-000082922424000057::fixed-512::00015
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00108
  • grade 3edgar-0000320187-000032018725000047::fixed-512::00183
  • grade 3edgar-0000320187-000032018724000044::fixed-512::00185
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00150
  • grade 3edgar-0000796343-000079634325000004::fixed-512::00152

Confidence interval

Reported as a point estimate. This is a measured quantity of the run rather than a sample statistic over queries.

How this project computes it

harness/eval/cost.py · cost_per_query()

Arrives in Phase 4.

What can go wrong

Related — Cost family

latency_p95_s

GRD Grounding

Faithfulness

What it measures

Proportion of generated claims entailed by the retrieved chunks.

Formula

F(a) = |{ claims in a entailed by context }| / |claims in a|
claims
atomic assertions extracted from the answer
entailed
judged by an LLM against a published rubric, not string match

Mathematical range. No typical value is stated: it would be a number with no run behind it.

Worked example

From the golden set, cross-document, query cross-document-000 8 human-verified judgments.

What was the total operating income for the North America segment in fiscal 2023, and which XBRL financial taxonomy members are associated with cash flow hedging using foreign exchange contracts during the same fiscal period?

  • grade 3edgar-0000829224-000082922424000057::fixed-512::00015
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00108
  • grade 3edgar-0000320187-000032018725000047::fixed-512::00183
  • grade 3edgar-0000320187-000032018724000044::fixed-512::00185
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00150
  • grade 3edgar-0000796343-000079634325000004::fixed-512::00152

Confidence interval

95% interval by bootstrap resampling over 1,000 resamples of the query set. A point estimate over a few hundred queries without an interval is the first thing a reviewer attacks.

How this project computes it

harness/eval/scorers.py · faithfulness()

Arrives in Phase 4.

What can go wrong

Related — Grounding family

citation_accuracy · citation_coverage · answer_correctness

PRF Performance

p95 latency

What it measures

95th percentile end-to-end time, retrieval through verification.

Formula

p95 = quantile(latencies, 0.95) over 3 repeats per query
end-to-end
retrieval, rerank, generation, citation resolution, verification
repeats
three per query; the distribution is over all of them

Wall clock seconds. Lower is better. Machine-dependent, so it is only comparable within a run set.

Worked example

From the golden set, cross-document, query cross-document-000 8 human-verified judgments.

What was the total operating income for the North America segment in fiscal 2023, and which XBRL financial taxonomy members are associated with cash flow hedging using foreign exchange contracts during the same fiscal period?

  • grade 3edgar-0000829224-000082922424000057::fixed-512::00015
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00108
  • grade 3edgar-0000320187-000032018725000047::fixed-512::00183
  • grade 3edgar-0000320187-000032018724000044::fixed-512::00185
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00150
  • grade 3edgar-0000796343-000079634325000004::fixed-512::00152

Confidence interval

Reported as a point estimate. This is a measured quantity of the run rather than a sample statistic over queries.

How this project computes it

harness/eval/runner.py · latency_percentiles()

Arrives in Phase 4.

What can go wrong

Related — Performance family

cost_per_query

RET Retrieval

MRR@10

What it measures

Mean reciprocal rank of the first relevant chunk. Rewards getting one right answer high.

Formula

MRR@k = (1/|Q|) * sum_q 1 / rank_first_relevant(q)
rank_first_relevant(q)
1-indexed rank of the first chunk graded >= 2, or 0 contribution if none

Mathematical range. No typical value is stated: it would be a number with no run behind it.

Worked example

From the golden set, cross-document, query cross-document-000 8 human-verified judgments.

What was the total operating income for the North America segment in fiscal 2023, and which XBRL financial taxonomy members are associated with cash flow hedging using foreign exchange contracts during the same fiscal period?

  • grade 3edgar-0000829224-000082922424000057::fixed-512::00015
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00108
  • grade 3edgar-0000320187-000032018725000047::fixed-512::00183
  • grade 3edgar-0000320187-000032018724000044::fixed-512::00185
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00150
  • grade 3edgar-0000796343-000079634325000004::fixed-512::00152

Confidence interval

95% interval by bootstrap resampling over 1,000 resamples of the query set. A point estimate over a few hundred queries without an interval is the first thing a reviewer attacks.

How this project computes it

harness/eval/scorers.py · mrr_at_k()

Arrives in Phase 4.

What can go wrong

Related — Retrieval family

recall_at_10 · ndcg_at_10

RET Retrieval

NDCG@10

What it measures

Discounted cumulative gain over graded relevance, normalised against the ideal ranking.

Formula

DCG@k = sum_i (2^grade(c_i) - 1) / log2(i + 1)
NDCG@k = DCG@k / IDCG@k
c_i
the chunk at rank i
IDCG@k
DCG of the best possible ordering
grade
0-3, so a 3 counts 7x a 1

Mathematical range. No typical value is stated: it would be a number with no run behind it.

Worked example

From the golden set, cross-document, query cross-document-000 8 human-verified judgments.

What was the total operating income for the North America segment in fiscal 2023, and which XBRL financial taxonomy members are associated with cash flow hedging using foreign exchange contracts during the same fiscal period?

  • grade 3edgar-0000829224-000082922424000057::fixed-512::00015
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00108
  • grade 3edgar-0000320187-000032018725000047::fixed-512::00183
  • grade 3edgar-0000320187-000032018724000044::fixed-512::00185
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00150
  • grade 3edgar-0000796343-000079634325000004::fixed-512::00152

Confidence interval

95% interval by bootstrap resampling over 1,000 resamples of the query set. A point estimate over a few hundred queries without an interval is the first thing a reviewer attacks.

How this project computes it

harness/eval/scorers.py · ndcg_at_k()

Arrives in Phase 4.

What can go wrong

Related — Retrieval family

recall_at_10 · mrr_at_10

RET Retrieval

Recall@10

What it measures

Proportion of queries where at least one chunk graded 2 or higher appears in the top 10.

Formula

R@k = |{ q in Q : max grade(c) >= 2 for c in top_k(q) }| / |Q|
grade(c)
graded relevance 0-3 from the golden set
top_k(q)
the k chunks the retriever ranked highest for q
Q
the answerable query set

Mathematical range. No typical value is stated: it would be a number with no run behind it.

Worked example

From the golden set, cross-document, query cross-document-000 8 human-verified judgments.

What was the total operating income for the North America segment in fiscal 2023, and which XBRL financial taxonomy members are associated with cash flow hedging using foreign exchange contracts during the same fiscal period?

  • grade 3edgar-0000829224-000082922424000057::fixed-512::00015
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00108
  • grade 3edgar-0000320187-000032018725000047::fixed-512::00183
  • grade 3edgar-0000320187-000032018724000044::fixed-512::00185
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00150
  • grade 3edgar-0000796343-000079634325000004::fixed-512::00152

Confidence interval

95% interval by bootstrap resampling over 1,000 resamples of the query set. A point estimate over a few hundred queries without an interval is the first thing a reviewer attacks.

How this project computes it

harness/eval/scorers.py · recall_at_k()

Arrives in Phase 4.

What can go wrong

Related — Retrieval family

recall_at_5 · ndcg_at_10 · mrr_at_10 · context_precision

RET Retrieval

Recall@5

What it measures

The same measure at rank 5. Harder, and more sensitive to reranking.

Formula

R@5 = |{ q in Q : max grade(c) >= 2 for c in top_5(q) }| / |Q|
top_5(q)
the five chunks ranked highest for q

Mathematical range. No typical value is stated: it would be a number with no run behind it.

Worked example

From the golden set, cross-document, query cross-document-000 8 human-verified judgments.

What was the total operating income for the North America segment in fiscal 2023, and which XBRL financial taxonomy members are associated with cash flow hedging using foreign exchange contracts during the same fiscal period?

  • grade 3edgar-0000829224-000082922424000057::fixed-512::00015
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00108
  • grade 3edgar-0000320187-000032018725000047::fixed-512::00183
  • grade 3edgar-0000320187-000032018724000044::fixed-512::00185
  • grade 3edgar-0000796343-000079634324000006::fixed-512::00150
  • grade 3edgar-0000796343-000079634325000004::fixed-512::00152

Confidence interval

95% interval by bootstrap resampling over 1,000 resamples of the query set. A point estimate over a few hundred queries without an interval is the first thing a reviewer attacks.

How this project computes it

harness/eval/scorers.py · recall_at_k()

Arrives in Phase 4.

What can go wrong

Related — Retrieval family

recall_at_10 · ndcg_at_10