deepseek-biber-counsel
Register lock for instructions to counsel (memorials) tuned for DeepSeek V4 Pro - the memorial register: both-sides objectivity in advise mode, drafting advocacy in draft mode, numbered questions for counsel, citation discipline. Use when drafting or rewriting instructions to counsel, memorials, instructions for opinion, devolution/instructions for summons or defences, or instructions for drafting. Pairs with deepseek-biber-fact and deepseek-biber-argument (never mix the three registers) and bieber-scale (scoring).
Source: .opencode/skills/deepseek-biber-counsel/SKILL.md — site rebuilt 2026-09-05.
deepseek-biber-counsel - instructions to counsel register (DeepSeek V4 Pro)¶
Biber profile: the memorial register. An instruction to counsel is a hybrid held together by one architectural principle: it must let counsel rely on it. Facts are set out chronologically and attributed; the positions of both parties are stated; the issues are devolved into numbered, answerable questions; and the advocate is either asked for an independent opinion (ADVISE mode - full-weight, objective) or given the line to draft (DRAFT mode - argumentative). The register is D4-elevated in DRAFT, D4-moderated in ADVISE.
CALIBRATION STATUS - BANDS PROVISIONAL¶
Bands below are theory-derived, now re-centred on the first two scored exemplars (plan: 10-15 anonymised memorials -> 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 (2 exemplars scored): the source instruction 1531
Instructions for Counsel dated 18th November 2025 (OKF 01531-Mack, 1,606
words) and its report-form re-render
references/exemplars/1531_counsel_instruction_report_form.typ (775 words
of clause prose).
- Source, paragraph-level pybiber: D1 -270 (nouns 316/1000w, prepositions 113/1000w, mean sentence D1 -260), D2 -100, D3 -2, D4 -17, D5 -72, D6 -1.
- Report form, paragraph-level: D1 -222 (nouns 272/1000w, prepositions 145/1000w, mean sentence D1 -236), D2 -106, D3 0, D4 -3, D5 -54, D6 +11.
D1 runs deeper than the provisional band in the source; D4 is negative in both exemplars - the ADVISE persuasion is carried by direct interrogatives ("can it be said that...", "does the grant... discharge liability", "are these... enforceable?", "do you consider..."), not by modal suasion. D6 is neutral: that-clauses are not this register's engine. The bands below are re-centred on these observations; expect DRAFT mode to run higher on D4.
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 | -245 | -365 | -188 | nouns 270-320, prepositions 110-145, passive instruction frames |
| D2 | -150 to 0 | -103 | -80 | -62 | chronologized fact sections, past tense |
| D3 | -30 to +40 | -1 | +13 | +4 | WH relatives, nominalizations, coordination |
| D4 | ADVISE -30 to +20 / DRAFT +20 to +70 | -10 / +45 | -52 | +6 | direct interrogatives + invitation frames (ADVISE); submission modals (DRAFT) |
| D5 | -80 to -30 | -63 | -62 | -46 | agentless passives (counsel is instructed), conjuncts |
| D6 | -10 to +30 | +5 | -11 | +12 | that-clauses (counsel is instructed that) |
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. In ADVISE mode a question that primes its answer fails even when every dimension passes.
The two modes (fixed by the Planner, never blended)¶
ADVISE mode (instruction for opinion) - full-weight: the instruction must be reliable BY counsel. For every contested point, BOTH positions are set out in the Both-sides frame, facts are attributed to their source, and authorities are cited without advocacy. D4 sits at the lower end of its band (ADVISE -30 to +20): the persuasion is carried by direct interrogatives and the strength of the facts and authorities, not by suasive rhetoric.
DRAFT mode (instruction to draft summons/defences/skeleton) - the solicitor frames the client's case for counsel to adopt: propositions are argued, submissions stated, D4 at the upper end of its band (DRAFT +20 to +70). The Both-sides frame still appears - the instructing solicitor must tell counsel what the opponent will say.
The mode is stated at the head of the instruction and drives the Planner's frame assignment. A passage that slides from one mode into the other is a Critic failure.
Deliverable formats¶
Two output forms, same register, same skeleton. Ask which form when instructed; default to the letter form unless a report form is requested.
Letter form (default)¶
The letter of instruction as generated by the register block: heading block (matter, counsel, mode, date, reference), salutation, the skeleton sections in prose, appendices after signature.
In-house report form (Typst)¶
The same content rendered as an in-house report on the
typst-report-generator template
(~/.config/opencode/skills/typst-report-generator/resources/template.typ).
Exemplar (complete, compiles): references/exemplars/1531_counsel_instruction_report_form.typ
(OKF 01531-Mack, Instructions for Counsel dated 18 November 2025, ADVISE mode).
- 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 "INSTRUCTIONS TO COUNSEL" (24pt bold), counsel name in italic subtitle, subject description; metadata grid (Client / Counsel / Property / Date / Reference); imprint line and rule below. - Page 2: dynamic table of contents (
#outline(...)). - Page 3+ geometry: 4.5cm left binder margin, running header (matter and reference left, client right), centred page counter.
- Clause engine:
#cl(num, body)hanging clauses. The skeleton maps to: 1 Parties and Dispute / 2 Background Facts / 3 Questions for Counsel / 4 Action Requested; appendices become schedules - Schedule 1 Chronology, Schedule 2 Missives, Schedule 3 Defects, Schedule 4 Architect Issues, Schedule 5 Sellers' State of Knowledge, Schedule 6 Sellers' Offer to Make Good Defects. - Questions stay verbatim as direct interrogatives (clauses 3.2-3.6 in the
exemplar). Document references such as [P682] must be wrapped
#text("[P682]")so the brackets are not parsed as content delimiters. Footnotes render via#footnote[...]. - Tables: native
#table(...)with stroke/inset only - this Typst build has no cell()/colspan; use bold text and empty cells for emphasis. - Typography: lead every font stack with an installed face (Libertinus Serif
when present; this machine falls back to Times New Roman). Compile with
typst compile <matter>.typ <matter>.pdf; verify by text extraction, not by eye.
The register gates apply identically in both forms: mode stated at the head, both sides on contested matters, questions numbered and answerable, every authority from the file.
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 memorial
skeleton is fixed:
HEADING (matter, counsel, mode, date) / INSTRUCTIONS AND PAPERS / FACTS / POSITIONS OF THE PARTIES / QUESTIONS FOR COUNSEL / ACTION REQUESTED(report form: clauses 1-4 + Schedules, per the Deliverable formats section)
- Target D1-D6 per paragraph (see Target profile above); the memorial
skeleton is fixed:
- Register routing is DETERMINISTIC: FACTS and POSITIONS-OF-THE-PARTIES narrate and attribute -> fact frames; QUESTIONS and ACTION REQUESTED argue or invite -> argument frames with the D4 band set by mode.
- Required feature rates: nouns 270-320/1000w, prepositions 110-145/1000w, in ADVISE mode at least one direct interrogative per QUESTION paragraph in the 1531 style, every authority cited with its reference from the matter file
- Sentence frames per paragraph - select from:
Instruction frame: [Counsel] [is instructed/is requested] [that/to].
"Counsel is instructed that the matter concerns a construction
contract dated 3 November 2023."
Invitation frame: [Counsel] [is invited to advise whether / to
consider whether] [proposition]. "Counsel is invited to advise whether
the reliance notice complied with clause 9."
Question frame (numbered, laddered): "1. Whether the notice of
adjudication was valid. 2. If so, whether the adjudicator had
jurisdiction. 3. In what circumstances the decision may be enforced."
- each question answerable yes/no or by advice on a defined issue
- one question per numbered item; no rhetorical questions Interrogative frame (ADVISE, observed 1531 style): the same questions phrased as direct interrogatives - "Given [fact], can it be said that [proposition]?" "Does [clause/document] discharge liability under [provision]?" "Are [obligations] enforceable?" "Do you consider that there are statable grounds for [remedy]?" - opened by the invitation line "We ask for your opinion on the following:" Both-sides frame: [party] [contends/maintains/avers] [that] [proposition]. "The pursuer maintains that clause 16 has no application. The defender contends that the claim is time-barred." Fact frame: past-tense, chronologized, attributed facts. Authority frame: [authority] [is cited for] [proposition] - citations only from the matter file, never invented.
- Banned per paragraph (max 5 items): invented authorities, rhetorical questions outside the numbered list, pre-judged conclusions ("it is clear that", "obviously"), one-sided epithets in ADVISE mode, narrative flourish.
-
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 MODE purity (ADVISE paragraphs scoring D4>+20 have slid into advocacy; DRAFT paragraphs at D4<+20 have slid into narration), question discipline (every numbered item answerable), and that every authority cited appears in the matter file. 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 questions put to counsel or the force of an instruction. 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, authority citation,
question and instruction from the failing paragraph as a flat numbered
list - the questions transcribed verbatim.
2. Reassign each item to a Planner frame (Instruction, Invitation,
Question, Both-sides, Fact, Authority) based on its function and the
mode.
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 its scope. 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 memorial skeleton:
HEADING / INSTRUCTIONS AND PAPERS / FACTS / POSITIONS OF THE PARTIES /
QUESTIONS FOR COUNSEL / ACTION REQUESTED. For each block, the Sub-Editor
asks (does not dictate):
- "This block narrates events - should it sit under FACTS?"
- "This block argues a proposition - should it sit under POSITIONS or
ACTION REQUESTED?"
- "Is the mode (ADVISE/DRAFT) stated at the head and does the register
match it?"
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 memorial-specific checks: counsel's name and fee arrangement stated, the papers list complete, the questions numbered and answerable, the action requested (advise / draft / settle) explicit. Does not restructure sentences or alter register. The output is the final deliverable.
DeepSeek V4 Pro adaptation notes¶
- Mode confusion is the main drift. DeepSeek defaults to argument: a full-weight ADVISE instruction comes back argued, one side dressed, counsel's reliance destroyed. The Planner fixes the mode before drafting and the Critic enforces the D4 boundary (ADVISE -30..+20, DRAFT +20..+70); if mode is not stated at the head, the register block cannot hold. In ADVISE mode the observed persuasion device is the direct interrogative, not the suasive verb - "can it be said that...", "does the grant... discharge liability...", "do you consider...".
- Question discipline. DeepSeek writes vague questions ("what should we do?") or rhetorical ones ("can the defender seriously contend...?"). The numbered list must be mechanically enforced: one answerable item per number, laddered by "Whether... / If so, whether... / In what circumstances..." or phrased as direct interrogatives in the 1531 style. A question that cannot be answered from the stated facts is a failure.
- Full-weight discipline. In ADVISE mode the Both-sides frame is mandatory per contested point. The test: counsel must be able to recommend AGAINST the client from this instruction alone.
- Citations. Every authority cited must be in the matter file. DeepSeek will happily supply model-memory authorities (statutes included - a case-name scan misses them); the Critic verifies each hit against the file.
- 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
counsel - the memorial that lets counsel advise or draft on the strength of
the instruction alone. State the MODE at the head: ADVISE (full-weight,
both sides set out, independent opinion sought) or DRAFT (the client's case
argued for counsel to adopt).
THE DIMENSION (Biber D1 - Involved vs Informational Production)
Target D1 band: -320 to -170. Informational density (nouns 270-320/1000w,
prepositions 110-145/1000w) carries the facts and the law; the personal
layer is thin and formal - "counsel", "the pursuer", "the defender", "we".
No contractions, no hedges, no emotive appraisal.
THE DIMENSIONS THAT DEFINE THE GENRE
D5 is the frame machinery: the agentless passive is the instruction's voice
- "counsel is instructed", "counsel is invited", "the defender is alleged
to have". Conjuncts and nominalizations carry the argument (breach,
repudiation, entitlement, time-bar).
D4 by mode: ADVISE (-30..+20) - direct interrogatives and invitation frames
("can it be said that...", "does the grant... discharge liability", "we ask
for your opinion on the following"), the argument carried by fact and
authority, D4 negative to low-positive; DRAFT (+20..+70) - submission frames
with suasive verbs and modals, D4 in the upper band.
D6 neutral: that-clauses are not this register's engine - use them only
where the instruction frame needs them ("counsel is instructed that...",
"the pursuer maintains that...").
D2 moderate: FACTS are chronologized, past tense, every fact attributed to
its source (document, witness, admission) - the chronology is the counsel's
platform, not a narrative.
THE REGISTER
The instruction states what the matter is, what the papers contain, what
happened, what each party says, what counsel is asked, and what counsel
should do - each in its own section. The questions are numbered and
answerable, phrased in ADVISE mode as direct interrogatives ("We ask for
your opinion on the following: ... can it be said that...? ... does the
grant... discharge liability?"). Every authority is cited from the matter
file - none invented. In ADVISE mode, both sides are set out on every
contested point.
Exemplar (ADVISE mode):
"Counsel is instructed to advise on the competence and relevancy of the
pursuer's claim. The matter concerns a construction contract dated 3
November 2023 between the pursuer and the defender. The facts are set out
chronologically in section 3. In brief, the pursuer maintains that clause
16 has no application to the certified balance. The defender contends that
the claim is time-barred. Counsel is invited to advise: 1. Whether the
claim is time-barred; 2. If so, whether the defenders' contention may be
met by the provisions of section 10 of the Schedule; 3. In what
circumstances, if any, the court may grant relief from forfeiture. Counsel
is asked to report 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. Until
the counsel bank exists, 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 memorial, so
prefer building the counsel bank during calibration: real anonymised
memorials as output, informal paraphrase as input, stored at
references/counsel_matched_pairs.jsonl.
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 instruction to counsel is a written invitation to be relied upon: the authorities listed must be the authorities in the bundle.
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, statutory sections, prior correspondence, 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, authority citations, questions (verbatim scope), and the same mode (ADVISE/DRAFT). Output format per sentence:(original, rewritten, dimensional reason, semantic: PASS/FAIL, question scope: PASS/FAIL). - Draft agent - applies corrections. Any sentence where semantic
equivalence or question scope 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 instructions to
counsel register below. You must preserve exactly: every fact, date,
figure, document reference, authority citation, question and instruction;
the order of issues; the MODE (ADVISE or DRAFT); and the scope of every
question put to counsel - never add, drop or reword a question. Add no
authorities; invent no facts.
Self-check list (per chunk)¶
- Mode stated at the head and observed throughout (ADVISE: both sides per contested point; DRAFT: argued line for counsel to adopt).
- Questions numbered, laddered, answerable from the stated facts - one issue per number, zero rhetorical questions; in ADVISE mode phrased as direct interrogatives.
- Facts past tense, chronologized, every fact attributed to its source.
- Every authority citation traceable to the matter file - none invented.
- Instruction frames via agentless passives (counsel is instructed / invited / asked).
- Action requested explicit (advise / draft / settle) with a deadline.
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). In ADVISE mode, a sentence at D4>+20 has slid into advocacy; in DRAFT mode, a sentence at D4<+20 has slid into narration. 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, mode, 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>
Check per-sentence biber_scale.D4 against the mode band (ADVISE -30..+20,
DRAFT +20..+70), D1 (target -320 to -170), and every question's scope against
the instruction. Report observed medians - until calibration replaces this
table, every observed median is calibration data.