deepseek-biber-expert
Register lock for instructions to expert witnesses tuned for DeepSeek V4 Pro - the deepest informational register of the family: independence-by-syntax question frames (address/consider, never conclude), dense document references, assumption frames, scope fencing, verbatim figures. Use when drafting or rewriting instructions to an expert, expert instruction letters, question lists for experts, terms of engagement, or letters of instruction for reports - in letter form or the in-house report form (Typst, see Deliverable formats). Pairs with deepseek-biber-fact and deepseek-biber-argument (never mix the three registers) and bieber-scale (scoring).
Source: .opencode/skills/deepseek-biber-expert/SKILL.md — site rebuilt 2026-09-05.
deepseek-biber-expert - instructions to expert register (DeepSeek V4 Pro)¶
Biber profile: the most informational register of the family. Deep D1 (dense nouns, prepositions, technical word length), elevated D5 (passives, nominalizations, conjuncts - the technical abstract), D4 deliberately moderated: the persuasion in an expert instruction is aimed at the QUESTIONS, never at the answers. Independence is engineered in the syntax: the expert is asked to ADDRESS, CONSIDER and ADVISE - never to confirm, conclude or find.
CALIBRATION STATUS - BANDS PROVISIONAL¶
Bands below are theory-derived, now re-centred on the first scored exemplar pair (plan: 10-15 anonymised expert instructions -> run bieber_scorer.py -> baseline = observed centre, band = centre +/- 1 sd). Treat the per-sentence gate as ADVISORY and record observed scores for the calibration pass. Remove this banner when the table is replaced with empirical values.
Observed to date (1 exemplar pair scored): the source letter of
instruction dated 2 December 2025 (OKF 01531-Mack, instruction to William
Mair BSc MRICS, RGA Surveyors, 1,471 words) and its report-form re-render
references/exemplars/1531_expert_instruction_report_form.typ (1,740
words).
- Source, paragraph-level pybiber: D1 -242 (nouns 299/1000w, prepositions 123/1000w, mean sentence D1 -223), D2 -136, D3 +9, D4 -15, D5 -56, D6 -3.
- Report form, paragraph-level: D1 -288 (nouns 313/1000w, prepositions 121/1000w, mean sentence D1 -259), D2 -141, D3 +7, D4 -5, D5 -61, D6 0.
D4 is negative in both exemplars: the instruction's persuasion sits in the QUESTIONS ("the expert is asked to address"), never in the answers - the D4 band is re-centred down. D6 runs low wherever the source carries no assumption frames (the 1531 source has none; that-clauses f_21 at ~5.4/1000w in both forms). No assumption frame is invented to lift it - figures, facts and frames come from the bundle only; a low D6 on an assumption-free source is not a defect.
Target profile (pybiber raw scores - provisional)¶
D1 is calibrated to Biber (1988) scale (R2=0.96). D2-D6 use raw pybiber scores; direction is reliable, magnitude is relative.
| Dimension | Target band (provisional) | Baseline (provisional) | Reference (Fact) | Reference (Argument) | Key features |
|---|---|---|---|---|---|
| D1 | -320 to -170 | -265 | -365 | -188 | nouns 290-420, prepositions 120+, technical word length |
| D2 | -160 to 0 | -139 | -80 | -62 | background fact sections, past tense |
| D3 | -40 to +30 | +8 | +13 | +4 | document references, some time adverbials |
| D4 | -20 to +50 | -10 | -52 | +6 | question modals only - never outcome suasion; runs low-negative in both exemplars |
| D5 | -80 to -20 | -59 | -62 | -46 | agentless passives, conjuncts, nominalizations |
| D6 | -10 to +30 | -1 | -11 | +12 | that-clauses (it is assumed that); low without assumption frames |
Per-sentence gate: any sentence outside its dimension band is a critic flag. Bands are intentionally wide - if a paragraph falls anywhere within, it passes. Only sentences outside the band are flagged for correction. The independence gate is structural, not dimensional: a question that primes its answer fails even when every dimension passes.
Independence by syntax (the core design)¶
Expert instructions in litigation are governed by the expert's duty to the court: independence, transparency, no advocacy. The register enforces that duty in grammar:
- Question frames target analysis, never outcomes. "The expert is asked to address whether the roof was windtight" - not "the expert is asked to confirm that the roof was defective". Suasive verbs aimed at conclusions (confirm, conclude, find, agree) are banned from question frames; address, consider, advise on, assess, quantify are the permitted verbs.
- Both parties' positions and data are set out. The expert must see the opponent's case to be independent; the Both-positions frame is mandatory on contested matters.
- Assumptions are framed as assumptions. "For the purposes of this instruction it is assumed that the works were carried out in terms of the specification" - never "the works were carried out in terms of the specification" (which would be the expert being told what to believe).
- Scope fencing. The instruction states what the expert must NOT address (legal conclusions, credibility, quantum of legal entitlement)
- the expert answers the questions, the court decides.
- Everything is on the record. Every document referenced by number, every figure verbatim from the bundle, every question answerable from the material provided.
Deliverable formats¶
Two output forms, same register, same skeleton. Ask the user which form when instructed; default to the letter form unless a report is requested.
Letter form (default)¶
The letter of instruction as generated by the register block: heading block (expert, firm, date, reference), "Dear Sirs", subject line, then the skeleton sections in prose, with Appendix A (documents) and Appendix B (duties to the court and expert declaration) appended after the signature.
In-house report form (Typst)¶
The same content rendered as an in-house report, built on the
typst-report-generator template
(~/.config/opencode/skills/typst-report-generator/resources/template.typ).
Exemplar (complete, compiles, register-scored):
references/exemplars/1531_expert_instruction_report_form.typ.
- Cover sheet (page 1): GREYSCALE firm logo top-left (
#image-grayscale(read("LOGO.png", encoding: none), width: 2.4cm)— grey scale house style; never a colour#image(...)or monogram); right-aligned title "INSTRUCTION TO EXPERT WITNESS" (24pt bold), expert name italic subtitle, subject description; metadata grid (Client / Expert / Property / Date / Reference); imprint line and rule below. - Page 2: dynamic table of contents (
#outline(title: [Table of Contents], indent: 1.5em, depth: 3)). - Page 3+ geometry: 4.5cm left binder margin, running header (matter and reference left, client right) and centred page counter.
- Clause engine: the template's
#cl(num, body)hanging clauses. The skeleton maps to:1 Parties and Dispute/2 Background Facts/3 Documents/4 Questions for the Expert(sub-headings4.1 Building Standards,4.2 Building Standards - Documentation) /5 Scope and Working Arrangements(5.1 Limitation of Remit,5.2 Duties of the Expert Witness,5.3 Required Content and Declarations,5.4 Fees). - Schedules replace appendices: Schedule 1 = documents provided
(the letter's Appendix A, each item a numbered clause S1.1, S1.2 ...);
Schedule 2 = duties to the court and expert declaration (the letter's
Appendix B: overriding duty S2.2.1-S2.2.3, required content and
declarations S2.3.1-S2.3.6, extracted authority S2.4). Where the matter
research yields further material for the expert, add evidence schedules
after S2 - Chronology, Missives, Defects, Sellers' State of Knowledge,
Offer to Make Good - in the 1531 pattern (see the parallel counsel
exemplar
deepseek-biber-counsel/references/exemplars/1531_counsel_instruction_report_form.typ). Verbatim quoted material (e.g. Cresswell J's seven principles in The Ikarian Reefer) stays in a fenced#quote(block: true)block - register rules do not apply inside it, and it is introduced with its source pinpoints. - Document and production references such as [P682] must be wrapped
#text("[P682]")so the brackets are not parsed as content delimiters (citations too:#text("[1993] 2 Lloyd's Rep 68")). - Evidence tables: native
#table(...)with stroke/inset only - this Typst build has no cell()/colspan; use bold text and empty cells for emphasis. The Sellers' State of Knowledge style (built from the 1531 research) is a three-column table - area of construction / assertion or knowledge demonstrated / source citations with verbatim quotes - with empty continuation cells down the left columns. - Footnotes render via
#footnote[...]. - Typography: run the font probe
(
_typst-manual/probe-fonts.ps1) and lead every font stack with an installed face (this machine: Libertinus Serif for serif body). - Compile:
typst compile <matter>.typ <matter>.pdf; verify by text extraction (pdftotext or PyMuPDF), not by eye.
The register gates apply identically in both forms: every question framed with an analysis verb, the scope fence present, figures and document references verbatim, and the independence declaration included or referenced.
Multi-agent workflow¶
All sub-agents use DeepSeek V4 Pro for dimensional reasoning and register execution. Roles are split to avoid conflicting priorities within a single agent.
- Planner (DeepSeek V4 Pro) - before any drafting, produces a
paragraph-by-paragraph dimensional schema. Frame selection, feature
activation, and risk thresholds: consult
../bieber-scale/reference/crosswalk.mdbefore assigning frames. - Target D1-D6 per paragraph (see Target profile above); the instruction
skeleton is fixed:
HEADING (parties, dispute, expert, date) / PARTIES AND DISPUTE / BACKGROUND FACTS / DOCUMENTS / QUESTIONS FOR THE EXPERT / SCOPE AND WORKING ARRANGEMENTS. In the in-house report form the same skeleton renders as numbered clauses 1-5 with Schedules 1 (documents) and 2 (duties/declarations) - see Deliverable formats below. - Register routing is DETERMINISTIC: BACKGROUND FACTS and PARTIES AND DISPUTE narrate and attribute -> fact frames (past tense, dated, sourced); QUESTIONS and WORKING ARRANGEMENTS instruct -> question/ administrative frames.
- Required feature rates: nouns 290-420/1000w, prepositions 120+/1000w, every question framed with an analysis verb (address, consider, assess, advise on), every document referenced by its number (production reference where the matter has one: [P682]), every figure verbatim
- Sentence frames per paragraph - select from: Background frame: past-tense, chronologized, attributed facts. "The sub-contract was concluded on 3 November 2023. By letter dated 5 April 2024 the pursuer notified the defender of water ingress at the development." Question frame (numbered): [The expert] [is asked to address / consider / assess / advise on] [whether/what/quantum] [material]. "The expert is asked to address whether the roof was windtight as at 14 March 2024." "The expert is asked to quantify the reasonable cost of remedying the defects listed at item 3." Document frame: [The expert's attention is drawn to] [document reference] [page/paragraph] [purpose]. "The expert's attention is drawn to the specification, pages 14-18, which sets out the design wind loads." Assumption frame: [For the purposes of this instruction it is assumed that] [provisional fact]. "For the purposes of this instruction it is assumed that the works were carried out in terms of the specification." Both-positions frame: [party A position] against [party B position] with their data. "The pursuer maintains that the roof was not windtight as at 14 March 2024. The defender maintains that the works complied with the specification and relies on the site tests at item 8." Scope frame: [The expert is not asked to] [legal conclusion / credibility / entitlement]. "The expert is not asked to advise on whether the defender was in breach of contract." Administrative frame: deadlines, format, fees, list of questions. "The report is to be provided by 30 June 2026."
- Banned per paragraph (max 5 items): conclusion-priming verbs in question frames (confirm, conclude, find, agree), legal conclusions in the body, suasive verbs aimed at outcomes ("the expert should conclude"), invented document references, figures not verbatim from the bundle, emotive lexis.
-
Paragraph budget: no paragraph exceeds 500 words - a cap, not a target; context determines size and most paragraphs are shorter. Chunk = paragraph: register block re-asserted at each paragraph head.
-
Structural Drafter (DeepSeek V4 Pro) - receives the Planner's schema plus the register block. Fills content into the specified sentence frames in <=500-word chunks. Re-asserts the register block per chunk. Does not self-check during generation. Priority: dimensional targets.
-
Critic (DeepSeek V4 Pro) - runs
bieber_scorer.pyon the output, returns per-sentence D1-D6 scores. For every sentence outside its target band, provides: the original sentence, the corrected sentence, and the dimensional reason (citing../bieber-scale/reference/crosswalk.md). Checks INDEPENDENCE (a question frame containing confirm/conclude/find or any conclusion-priming word is a failure even if it scores in band), figures and document references verbatim, and that every question is answerable from the stated material. Never regenerates the passage. -
Gatekeeper (DeepSeek V4 Pro) - receives the Critic's correction list. For each proposed correction, checks predicted effect on ALL 6 dimensions using the crosswalk's per-frame risk table. Rejects any correction that fixes one dimension while pushing another out of band, and ANY correction that changes the scope of a question, primes a conclusion, or alters a figure. Approves only Pareto-improving, question-neutral edits. Unapproved corrections flagged for Rewrite Drafter.
-
Surgical Drafter (DeepSeek V4 Pro) - applies ONLY Gatekeeper-approved corrections. Never touches an in-band sentence. Output: original -> corrected only. Returns un-applicable corrections to Gatekeeper.
-
Rewrite Drafter (DeepSeek V4 Pro) - receives paragraphs that failed the structural threshold (>=50% of sentences fail the same dimension) or corrections rejected by the Gatekeeper. The Rewrite Drafter must RESTRUCTURE before rewriting: the task is not word-swapping. The paragraph is decomposed into its component propositions, then reassembled using the Planner's assigned sentence frames - entirely new sentence architecture, zero surface editing.
Restructure protocol (<=500 words per chunk):
1. Extract every proposition, fact, date, figure, measurement, document
reference, assumption and question from the failing paragraph as a
flat numbered list - figures and questions transcribed verbatim.
2. Reassign each item to a Planner frame (Background, Question,
Document, Assumption, Both-positions, Scope, Administrative) based on
its function.
3. Rebuild from the numbered list using only the assigned frames - do not
reference the original sentence structure. The original is a content
inventory, not a template.
4. Reprompt at 500 words: re-supply the Planner schema, the frame
assignments, the register block, the numbered proposition inventory,
the last rebuilt paragraph as anchoring context, and the paragraph
position in the overall document structure.
5. No proposition may be added, removed, or altered in legal effect. No
question may be added, dropped, or reworded in scope. No figure may
change. Duplicate propositions across paragraphs may be omitted -
every omitted proposition must be listed at the end of the redraft as
[OMITTED: proposition X - duplicate of paragraph Y].
6. If a proposition cannot be framed without changing its substance or
the scope of a question, it is returned to the list flagged
[REGISTER: human]. The Rewrite Drafter must fail honestly rather
than fabricate.
The rebuilt paragraph is scored by the Critic as a new Pass.
-
Loop: max 3 Critic passes per paragraph. Stop when all sentences pass all dimensions, or when no Gatekeeper-approved corrections remain. Flag remaining failures
[REGISTER: human]. -
Sub-Editor (DeepSeek V4 Pro) - operates in two passes:
7a. Heading & Structure Check - assumes the expert skeleton:
HEADING / PARTIES AND DISPUTE / BACKGROUND FACTS / DOCUMENTS /
QUESTIONS FOR THE EXPERT / SCOPE AND WORKING ARRANGEMENTS. For each
block, the Sub-Editor asks (does not dictate):
- "This block narrates events - should it sit under BACKGROUND FACTS?"
- "This block instructs analysis - should it sit under QUESTIONS FOR THE
EXPERT?"
- "Does the QUESTIONS section contain any conclusion-priming verb?"
The skeleton is a default - override only if the Planner or user has
specified a different structure.
7b. **Seven Defect Checks** - surface polish the dimensional scorer is
blind to: redundancy, nominalization overreach, missing prepositions,
false formality, pronoun-wrapped genitives, plus instruction-specific
checks: expert's name, discipline and fee arrangement stated; documents
bundle complete with production references where the matter has them
([P682] style); every question answerable from the bundle; the
independence declaration/terms of engagement included or referenced.
Does not restructure sentences or alter register. The output is the
final deliverable.
DeepSeek V4 Pro adaptation notes¶
- Conclusion-priming is the main drift. DeepSeek will naturally write "the expert is asked to confirm that the roof was defective" when the question needs "address whether the roof was windtight". The question frames are enforced mechanically: analysis verbs in, conclusion verbs out. The Critic checks independence on every sentence, not just the dimensional bands.
- Assumption bleed. Provisional facts leak out of the Assumption frame into the Background frame and become findings the expert is told to accept. Every contested fact must carry "it is assumed that" until the expert has tested it.
- Density risk. This register runs the deepest D1 of the family; the technical compression can tip into obscurity. The Sub-Editor's plain-language gate applies: precision is not jargon.
- Figures are sacred. Dates, sums, measurements and document references are diffed verbatim by the Critic. One changed figure destroys an instruction's reliability.
- Suppress internal reasoning from the visible output: deliverable text and self-check table only. Register drift sets in at ~300-500 words; chunk and re-assert.
The register block (paste verbatim into the system/user prompt)¶
You are a register editor. You write in the register of instructions to an
expert witness - the letter of instruction that defines the expert's
questions, materials, assumptions and scope, in a form that preserves the
expert's independence.
THE DIMENSION (Biber D1 - Involved vs Informational Production)
Target D1 band: -320 to -170 - the deepest of the register family. Nouns
290-420/1000w, prepositions 120+/1000w, technical word length, every
document and figure precise. No contractions, no hedges, no emotive lexis,
no personal address (no second person - the expert is referred to in the
third person as "the expert").
THE DIMENSIONS THAT DEFINE THE GENRE
D5 is the machinery: agentless passives and nominalizations carry the
technical abstract - "the roof was assessed", "the wind load was
specified", "water ingress", "windtightness". Conjuncts organise
(accordingly, for the purposes of, in relation to).
D4 is deliberately moderated: the instruction's modals attach to the
QUESTIONS - "the expert is asked to address", "the expert may wish to
consider", "the expert is asked to quantify" - and to the working
arrangements ("the report is to be provided by 30 June 2026"). No modal
or suasive verb is aimed at the ANSWER: the expert is never asked to
confirm, conclude, find or agree.
D6 positive: that-clauses carry assumptions and positions - "it is assumed
that", "the defender maintains that".
D2 moderate: BACKGROUND FACTS are past tense, chronologized and attributed
- the expert's platform, not a narrative.
THE REGISTER - INDEPENDENCE BY SYNTAX
Questions address, consider, assess and advise on - they never prime. Both
parties' positions and data are set out on every contested matter.
Assumptions are framed as assumptions. The scope section states what the
expert is NOT asked to address. Every document is referenced by number,
every figure verbatim from the bundle. The expert answers the questions;
the court decides.
Exemplar:
"1. The expert is instructed on behalf of the pursuer in the dispute
concerning water ingress at the development. The sub-contract was
concluded on 3 November 2023. The background facts are set out
chronologically in section 3. 2. The expert's attention is drawn to the
specification, pages 14-18, which sets out the design wind loads, and to
the site photographs at item 8. 3. The pursuer maintains that the roof was
not windtight as at 14 March 2024. The defender maintains that the works
complied with the specification. 4. For the purposes of this instruction it
is assumed that the works were carried out in terms of the specification.
5. The expert is asked to address whether the roof was windtight as at
14 March 2024, and to quantify the reasonable cost of remedying the defects
listed at item 3. 6. The expert is not asked to advise on whether the
defender was in breach of contract. 7. The report is to be provided by
30 June 2026."
<text to adapt>
After the text, provide a Register self-check table: constraint, PASS/FAIL,
first failing token. Revise any FAIL to PASS before finalizing.
Matched-pair few-shot bank (in-profile by construction)¶
When few-shotting register, show a matched pair, not the target alone. Use
../bieber-scale/references/uksc_matched_pairs.jsonl (596 pairs; matched-pair
2-shot beat target-only 2-shot 7-1 in a 48-run A/B) with confidence: OK
pairs ONLY - but judgment prose is not a letter of instruction. Prefer the
expert bank at references/expert_matched_pairs.jsonl (real anonymised
expert instructions as output, informal paraphrase as input; first entry:
OKF 01531-Mack report-form instruction, 378 -> 1,142 words, confidence:
OK). Add every new register-satisfying instruction to the bank during
calibration.
Scan every rewrite for case AND statutory patterns (sections, articles, clauses, schedules, "Act YYYY") and check each hit against the source verbatim - a case-name scan alone misses statutes (38/48 rewrites carried non-source legal references in the A/B re-run). An expert instruction that cites a statute not in the bundle is an instruction the expert cannot answer.
Drift control¶
Register constraints decay after ~300-500 words of continuous generation.
- Chunk = one paragraph: no paragraph exceeds 500 words (a cap, not a target - context determines size). Re-assert the register block at the head of every paragraph.
- Fence quoted/extracted material (clauses, specifications, statutory sections, the opponent's position) in clearly marked blocks so its register is not imitated.
- Self-check each chunk against the feature list before moving on.
Rewrite mode (re-registering existing text)¶
Same multi-agent workflow as drafting, with added meaning fidelity:
- Draft agent - receives the preservation preamble below plus the register block. Rewrites the input in <=500-word chunks. Re-asserts the register block per chunk.
- Critic agent - runs
bieber_scorer.pyon each chunk, flags every sentence outside its target band. Additionally, for every rewritten sentence, confirms semantic equivalence: same facts, dates, figures, measurements, document references, assumptions, questions (verbatim scope) - and that no conclusion is primed that the source did not prime. Output format per sentence:(original, rewritten, dimensional reason, semantic: PASS/FAIL, independence: PASS/FAIL). - Draft agent - applies corrections. Any sentence where semantic
equivalence or independence cannot be maintained while hitting the
register target is flagged
[REGISTER: human decision]- never silently altered. - Loop terminates when all sentences pass both dimensional AND semantic checks, or after 3 passes.
Preservation preamble for the draft agent:
You are a register editor. Rewrite the following into the expert
instruction register below. You must preserve exactly: every fact, date,
figure, measurement, document reference, assumption, question and
deadline; the scope of every question (never add, drop or reword); and the
independence of the instruction - never prime a conclusion the source did
not prime. Add no authorities; invent no facts; change no figure.
Self-check list (per chunk)¶
- Every question framed with an analysis verb (address, consider, assess, advise on, quantify) - zero conclusion-priming verbs (confirm, conclude, find, agree) aimed at outcomes.
- Scope fence present where legal conclusions or credibility could creep.
- Assumptions framed as assumptions ("it is assumed that"), never as facts told to the expert.
- Figures, dates and document references verbatim from the bundle.
- Both parties' positions and data set out on contested matters.
- Background past tense, chronologized, attributed; body third person - the expert is never addressed in the second person.
Closing register loop (recursive check-and-correct)¶
After the full text is assembled, run a bounded loop - max 3 passes:
- Score the assembled text with the calibrated scorer:
python .opencode/skills/bieber-scale/tools/bieber_scorer.py --file <draft>Read thebiber_scaleper sentence andD1_involved_hits. - Flag every sentence outside its target band on any dimension (see Target profile above) - and every question frame that primes a conclusion, independently of scores. Paragraph averaging is not a defence.
- Correct only flagged sentences, at feature level only, with dimensional justification. Never regenerate the passage.
- Terminate when: all sentences pass; or 3 passes used; or a fix would
alter meaning, independence, a figure, or the scope of a question - flag
[REGISTER: human decision].
Verification¶
Score with the calibrated scorer:
python .opencode/skills/bieber-scale/tools/bieber_scorer.py --file <draft>
(needs the bieber venv:
C:\Users\antho\AppData\Local\Temp\opencode\bieber_venv\Scripts\python.exe).
For a Typst report form, score the extracted body text (drop cover sheet, TOC, running headers and clause numbers; keep fenced quotes - they are part of the instruction and their register is exempt).
Check per-sentence biber_scale.D1 (target -320 to -170, the deepest of the
family), D4 moderation (questions only; negative on assumption-free
sources), D6 (-10 to +30; low D6 without assumption frames is not a defect),
and the independence gate on every question frame. Diff every figure and
document reference against the bundle verbatim. Report observed medians -
until calibration replaces this table, every observed median is calibration
data (first pair: see the CALIBRATION STATUS banner).