Home › Use Cases › Answer availability for a window, name the clause, or say the record is gapped
Use caseUC0466
🧪 Use-case kit · runnable

Answer availability for a window, name the clause, or say the record is gapped

A small, forkable project that does one job end to end. Run twice for real over the same set, and every figure on these pages captured from those runs.

The business caseThe problem this solves

A rights desk is asked whether a title can be offered on a platform, in a territory, between two dates. The licence term, the territories, the platforms and the restriction clauses are all printed on the avails dossier — and two of the facts that decide the answer are not. Which grant version actually governed THAT window lives in the clause amendment notices, 46 of which are rescinded and one in six of which is dated after the window being asked about; whether the licensee has the catch-up carve-out being requested lives in the deal memo narrative. The dossier's own ClsUsed and HbkUsed columns are an earlier check's coding of those two facts and they are wrong on 56 and 36 windows respectively. Today a coordinator reads the notices and the memo by eye against a printed standard, counts inclusive days on overlapping clauses by hand, and a second person re-reads anything that blocks. Reading every requested window on an avails dossier against the clause amendment notices and the deal memo narrative by eye, then counting inclusive days across overlapping restriction clauses by hand — not the decision that follows, and not the person who owns it.

Audience

A rights and avails coordinator answering one requested window, and the business affairs desk that decides what happens next. The answer this report gives them is NO: on the published measure a free regex over the same amendment notices beats the paid call by 11.6 points and the dossier's own free column coding is indistinguishable from it, and the kit says so in its first sentence rather than leaving it to be inferred from a table. Every number on these pages came from one real run of this code, not from a vendor page.

The inputThe actual avails dossiers

The corpus is 64 avails dossiers, 0.70 MB (json 3 · jsonl 1 · md 2 · txt 64). Because a rights availability question is the cleanest case of a job that is mostly arithmetic with two readings buried in prose, and because no real avails dossier could be shipped. Every title, licensee, territory, platform, clause, amendment notice, deal memo and requested window is generated from seed 20260914, and RTS-AVAIL-2026 is invented: there is no third-party licence to honour, no personal data, and no real distributor's or licensing body's standard is reproduced. The cost of choosing it is that the key is the generator's, so every percentage here is about this corpus and no other.

The corpus

  • The 64 avails dossiersgenerated from a fixed seed, so no real record, person or institution appears in it.
  • Where each came fromNowhere — all 64 dossiers, data/rights_records.json and the whole answer key are generated in-process by the file that renders them, so there is no third-party data in this kit and no third-party licence to honour.

Swap this folder for your own material and the kit is pointed at your avails dossiers. That is the whole change — there is no database to migrate.

One avails dossier, as the model receives itAVL-0001.txt · 1 of 64
RIGHTS AVAILABILITY DOSSIER

DOSSIER HEADER
  Dossier              AVL-0001
  Licensor             Caldermoor Pictures International
  Rights standard      RTS-AVAIL-2026
  Title                The Distant Beacon
  Title reference      CPI-TTL-40013
  Avails check dated   2026-01-06
  Commitment date      2026-01-28
  Current clause ver   r4
  Prepared by          R. Okonjo, Rights & Royalties Operations

DECLARED RIGHTS STANDARDS
  Materiality threshold        40 per cent of the requested days restricted, across this dossier
  Re-validation window         30 calendar days from the avails check date
  Catch-up carve-out           7 days from transmission
  These are Caldermoor Pictures International's own declared figures. No regulation is cited for any of them.

GRANT CLAUSE VERSIONS
  r1   Licence term 2024-01-01 to 2025-06-30. Territories granted: Aurelia, Borvent, Calderia, Dunmarch, Estavia. Forms of exploitation granted: theatrical, linear-broadcast, transactional, svod, catch-up, avod.
  r2   Licence term 2024-06-01 to 2026-06-30. Territories granted: Aurelia, Borvent, Calderia, Dunmarch. Forms of exploitation granted: theatrical, linear-broadcast, transactional, svod, catch-up.
  r3   Licence term 2025-01-01 to 2027-06-30. Territories granted: Aurelia, Borvent, Calderia. Forms of exploitation granted: theatrical, linear-broadcast, transactional, svod, catch-up.
  r4   Licence term 2025-09-01 to 2028-12-31. Territories granted: Aurelia, Borvent. Forms of exploitation granted: theatrical, linear-broadcast, transactional, svod, catch-up.

CLAUSE AMENDMENT NOTICES

Abridged — the file continues.

The outcomeWhat a good result looks like

Every requested window carries a finding from a closed list of five — AVAILABLE, AVAILABLE-IN-PART, BLOCKED, REQUEST-DATA-MISSING or RIGHTS-RECORD-GAPPED — the available-day count under the grant version the notices settle for it, the term behind the finding, the clause reference and grant version it rests on, and one line quoted verbatim from the dossier as evidence; plus a restricted-day total, a completeness flag, a flagged list, a review route and a re-validation verdict for the dossier as a whole. A window the rights record does not settle is RIGHTS-RECORD-GAPPED and is never answered.

And when it cannot

⚠︎ THE HEADLINE IS A LOSS AND IT IS PUBLISHED AS ONE. The measure is the FINDING AND THE AVAILABLE-DAY FIGURE TOGETHER, per requested window. Rechecked, the paid call takes 313 of 382 (81.9%). The floor of record — phrase, a pure-code regex over the amendment-notice prose followed by the rulebook's own version rule in code — takes 357 (93.5%), and the dossier's own coded columns take 314 (82.2%). McNemar exact, paired window by window: the paid call LOSES to the notice floor at p < 0.000001 (11 windows only it gets, 55 only the floor gets) and CANNOT BE SEPARATED from the columns floor at all (313 against 314, 42 against 43, p = 1.000000). It beats only the two constant replies. Worse for anyone tempted by the 49.7-point raw-to-rechecked lift: that lift is the pure-code station, not the model — and the same station takes a CONSTANT reply to 314, which is still MORE than the paid call's 313. ⚑ Lifting the output ceiling from 1,000 to 1,500 is what moved this from 273, and it moved nothing about the verdict: the kit lost to its floor before and loses to it now. What the call does buy is nameable and narrow: 42 of the 68 windows only the notices can settle, where every column-only floor takes 0.

Where it fitsWhat did work

Every line below is a measured result from this kit's own runs, with the figure that supports it. The headline above is not softened by any of them.

  • An avails dossier whose amendment notices are irregular prose — several drafters, no fixed sentence shape — the paid call, with the recheck station
    35 of the 68 windows only the notices settle, against 0 for every column-only floor (p < 0.000001). This is the one row on this page where the money buys something no free arm on this corpus reaches.
  • A window that must be REFUSED — no live notice reaches it, or two reach it with different versions on the same date — the free notice floor
    12 of 24 against the paid call's 3. Declining is this kit's named failure, it was predicted before any spend, and the free arm is four times better at it.
  • A first pass that decides which windows a coordinator looks at — the free columns floor beside the free notice floor, and read the disagreement
    the paid arm is right on 271 of the 314 column-settled windows after the station and on 42 of the 68 that turn on prose; the columns floor reaches 0 of those 68 and the notice floor 50. The set where two free arms disagree is exactly the set worth a person's time, and it costs nothing.

And where nothing here is good enough:

  • A whole-dossier sign-off — every window plus the route, the restricted total, its completeness, the flagged list and the re-validation verdict — neither; a person
    0 of 64 dossiers are wholly correct on ANY arm, free or paid. A dossier needs everything right at once and nothing here gets there on this corpus.

At a glanceHow the whole thing runs

72–82%finding and days correct pct · 2 runs, no ordering
3,309 msp50, end to end
$1.19per 1,000 avails dossiers · GPT-5.6 Luna

Run twice over the same set, for real, the last on 2026-09-15. Every figure on these pages was captured from those runs — nothing is written from intent.

14 steps, grouped by the question that sends you to them rather than by build order. Each tile carries the one figure that step is about, and opens the page behind it.

Should you use this?What you bring, where it stops, and when not to use it

Before you commit an afternoon to this, these are the answers that decide it. Each one is rendered from the record it lives in — and links the page that holds it in full.

What do I have to bring?Replace data/corpus/*.txt with your own rendered avails dossiers and rewrite src/dossier.py's parser to your layout — it is one file and it hands the rest of the kit a plain object. Every percentage on this page stops being true the moment the corpus changes, and that is not a caveat — it is the whole claim. Corpus lens →
When is this the wrong choice?Avoid: If your notices are regular. On THIS corpus they are, and a 9-pattern regex over them takes 357 of 382 pairs against the paid call's 313 for $0.00 — write the patterns first and only buy a call if they fail. That is the case against the best-fitting scenario (“An avails dossier whose amendment notices are irregular prose — several drafters, no fixed sentence shape”). 4 scenarios scored in all, each with its own. Eval lens →
Where does it stop working?A dossier whose requested-window table is not the layout src/dossier.py parses. The parser is positional over one rendered form; a real licensor's avails report arrives through a parser rewrite, not a configuration change. 5 recorded failure modes, each from a run rather than a guess. Corpus lens →
What was never verified?Whether any of this holds on a real licensor's avails dossiers. Every figure here is against a key derived from a generator, on an invented standard, over prose this kit wrote itself — and the floor of record in particular is a property of that prose: a regex reaches 93.5% because these amendment notices are regular, and on notices written by six different lawyers it would not be. 6 items this kit says it could not check. Eval lens →
Can I run this on a model I control?The shipped adapter is one provider, one key, configured in .env; the Prompt lens states what swapping it costs. The published figures come from 1 model on the fast tier. Prompt lens →
And if it fits — what do I stand up?5 artifacts with a stated home and a stated egress, and 4 decisions each with what you provision past its ceiling — plus what was not measured. That is the next page, not this one. step 14 — Run it in your environment →

Not asked of this kit — 2 questions: clone (a fresh clone of this kit runs with nothing fetched); judge (nothing here is graded by a model).

Last verified 2026-09-15 — r002-rights-availability. Every figure on these pages was captured from that run.

Run itHow this reaches your data

Every result on this page was produced by pure code over checked-in files, with no API key — which is why you can read the numbers before anyone spends anything.

Run this on your own data

  • The pipeline, its eval harness and the runs behind every numberdeployed inside your environment, on your own model endpoints, against your own documents.
  • The corpus above is the shape, not the limitit is a folder swap, and there is no database to migrate.

Talk to us →

Checked before this shipped — Measured from a clean checkout with no API_KEY configured: python3 tools/build_corpus.py --check rebuilds all 64 dossiers in memory and compares BYTES — identical; python3 -m evals.check_labels re-derives the whole key from a retyped copy of the rulebook and reports 0 disagreements; python3 -m evals.baseline scores all five free floors; and python3 -m src.app serves the board, which replays the committed run and computes every floor live with the model button disabled and the reason printed beside it. All of that is the Python standard library and $0.00. What CANNOT be reproduced without a key is the one paid column — and it does not need to be, because all 64 bought answers are committed verbatim in results/cache-r002-rights-availability.jsonl and --resume re-scores them at $0.00 with no provider in the loop.

A living map of modern AI — kept current every morning