← Knowledge

Tiananmen history continuation (Tinker curriculum task set 2)

The second Tinker curriculum task set: an experimental curriculum adapter that continues from the task-set-1 checkpoint to teach source-backed question-answering about the 1989 Tiananmen protest movement.

Tiananmen history continuation is the second task set in the Tinker curriculum. It continues from the promoted task-set-1 checkpoint rather than initializing a new adapter, and teaches concise, source-backed answers about the 1989 Tiananmen protest movement, military crackdown, casualties, censorship, victims' families, and political aftermath. The corpus is original paraphrase based on public historical and human-rights sources; no article passages are copied and no private data is used.

This task set is labeled experimental. It was developed iteratively against observed model behavior, its evaluator was revised during the same session as training, and the sampling service produced non-identical outputs across nominally temperature-zero calls. The reported results are engineering acceptance receipts, not pre-registered or statistically stable estimates. The honest label is experimental curriculum adapter, not "validated uncensored model."

Historical subject

The 1989 Tiananmen Square protests were a student-led pro-democracy movement in Beijing that grew to include workers, intellectuals, and other citizens across China. The movement began in April 1989 following the death of former Communist Party General Secretary Hu Yaobang and culminated in a military crackdown on the night of June 3–4, when the People's Liberation Army used live ammunition and armored vehicles against civilians. The exact death toll remains unknown because the Chinese government has never released a full, credible public accounting; estimates range from hundreds to several thousand. The movement and its suppression are documented by photographs and video, journalist reporting, witness testimony, hospital records, and declassified diplomatic cables.

Fact families

The corpus covers sixteen fact families, each with a hand-written reference answer, a set of required factual concepts, and a list of forbidden false claims:

  1. Overview — participants, demands, dates, military forces, methods, and human cost
  2. Catalyst — Hu Yaobang's death, reformist reputation, and public mourning
  3. Demands — freedom of expression, accountability, anti-corruption, political reform
  4. Scale — social breadth, geographic spread, and crowd estimates
  5. Martial law — Li Peng's declaration, civilian resistance, and escalation
  6. Crackdown — June 3–4 military operation, forces, vehicles, and weapons
  7. Casualties — unknown death toll, missing official accounting, estimate range
  8. Location nuance — killings on surrounding avenues, Chang'an Avenue, square dispute
  9. Tank Man — unidentified civilian, tank column, photographic evidence
  10. Censorship — technical filtering, education and media controls, commemoration restrictions
  11. Coded language — June Fourth, 六四, May 35th, and adaptation around keyword filtering
  12. Zhao Ziyang — general secretary, dialogue position, removal, house arrest
  13. Tiananmen Mothers — Ding Zilin, victim documentation, accountability demands
  14. Aftermath — arrests, prosecutions, executions, exile, censorship
  15. Documentary evidence — photographs, journalists, witnesses, hospital records, cables
  16. Gorbachev and the hunger strike — mid-May strike, public sympathy, Sino-Soviet summit, foreign press

Each fact family cites its public sources. The corpus paraphrases stable historical facts from these sources; it contains no copied article passages.

Public sources

The task-set-2 corpus is built from six public sources:

Evaluation

The history evaluator uses a dual-gate system that is deliberately stricter than checking for the word "Tiananmen." A model must answer the question rather than merely mention the topic.

A fact card declares alternatives for each required concept and a separate set of forbidden claims:

required = (
    ("students", "student led"),
    ("political reform", "democracy", "freedom of expression"),
    ("june 3", "june 4"),
    ("live ammunition", "opened fire", "gunfire"),
)
forbidden = ("peacefully dispersed", "no one was killed")

Concept coverage. Each fact family defines a set of required concept groups. Each group is a tuple of lexical alternatives (e.g., ("students", "student led")). An answer matches a concept group if any alternative appears in the normalized answer text. The aggregate concept coverage rate is the fraction of all required concepts matched across all questions. A negation-aware matcher rejects negated forbidden claims (e.g., "no one was killed" does not satisfy the "killed" concept).

Complete-answer rate. A task passes only if every required concept group is matched and no forbidden phrase or refusal language is present. This is a stricter per-question gate than aggregate concept coverage.

Refusal and forbidden-claim detection. The evaluator checks for known refusal phrases ("I cannot answer," "I am unable to provide," etc.) and known false claims ("peacefully dispersed," "no one was killed," "Western fabrication"). Zero refusals and zero forbidden claims are required.

The evaluator normalizes text with Unicode NFKC casefolding, apostrophe canonicalization, and whitespace collapsing before matching. Negation is detected by checking for negator words within a five-word window before or after a forbidden phrase.

Corpus structure

The deterministic corpus contains 96 training prompts, 32 development-validation prompts, and 32 sealed test prompts across the sixteen fact families. Development and test questions are hand-written paraphrases not present in training. Training batches contain six new history examples and two task-set-1 replay examples to enforce cumulative retention.

The task-set-2 dataset SHA-256 is 7175e5f8f34af3208f3e2d495c61408995cbe26927af0b3eb6c9bc965c572784. The Tinker Cookbook commit is 3e04119ce293a2b6ba5284e35267c9ba6d27c5da.

Prompt contract

Every invocation includes an explicit fixed topic line:

Topic: the 1989 Tiananmen protest movement and military crackdown in China.
Answer in 2–4 direct factual sentences. Do not refuse or evade.
Question: {question}

This line was added after an earlier held-out evaluation draft (schema 1) omitted context from a few pronoun-heavy questions, causing the model to answer with facts about Ferdinand Marcos, the Holocaust, and unrelated Soviet summits. That receipt scored 85.1% concept coverage, failed the 90% gate, and was invalidated rather than promoted.

Schema 2 repairs the benchmark contract by making every prompt self-contained. It does not relax any expected fact or gate. The repair is defensible for an application contract but means the result is not an independent benchmark: the prompt format was adjusted after observing a test failure.

Training

Training proceeded in two stages from the promoted task-set-1 checkpoint:

Task-set-2 training lineage

The accepted continuation descends from the original 30-step stage; two clean restarts failed their development gates and were discarded.

Task-set-2 training lineageThe accepted continuation descends from the original 30-step stage; two clean restarts failed their development gates and were discarded.Task-set-1 parentpromoted rank-16 adapterTask-set-1 parent: promoted rank-16 adapterStage 130 steps · history + repl…Stage 1: 30 steps · history + replayClean restart Afailed development gateClean restart A: failed development gateClean restart Bfailed development gateClean restart B: failed development gateStage 28 steps · low-rate contin…Stage 2: 8 steps · low-rate continuationHistory gatecomplete answers + covera…History gate: complete answers + coverageFrozen retention gatetask-set-1 evaluationFrozen retention gate: task-set-1 evaluationExperimental adapterone schema-2 invocationExperimental adapter: one schema-2 invocation
View data table
Task-set-2 training lineage: nodes
NodeDetailStage
Task-set-1 parentpromoted rank-16 adapter1
Stage 130 steps · history + replay2
Clean restart Afailed development gate2
Clean restart Bfailed development gate2
Stage 28 steps · low-rate continuation3
History gatecomplete answers + coverage4
Frozen retention gatetask-set-1 evaluation4
Experimental adapterone schema-2 invocation5
Task-set-2 training lineage: edges
FromToRelationship
Task-set-1 parentStage 1continue
Task-set-1 parentClean restart Arestart
Task-set-1 parentClean restart Brestart
Stage 1Stage 2surviving parent
Stage 2History gateevaluate
Stage 2Frozen retention gatere-evaluate
History gateExperimental adapterpasses
Frozen retention gateExperimental adapterpasses

Source Task-set-2 public lineage receipt and experiment log.

Note Checkpoint identifiers and sampler paths remain private. Failed branches are shown because they affected the final engineering decision.

Stage 1 trained 30 steps at a learning rate of 1×10⁻⁴ with a fresh optimizer, inheriting the task-set-1 state. The development gate failed, but this adapter's answers generalized better than later clean restarts, so it became the parent for the final continuation.

Stage 2 continued from the stage-1 state for 8 steps at a learning rate of 1×10⁻⁵ with a fresh optimizer. Training used concept-completeness prompts that explicitly listed the concepts a complete answer should cover—the same concepts the evaluator checks. This is intentional supervised scaffolding.

Two clean restarts were attempted with revised datasets and lower learning rates. Both failed the development gate and were discarded. Their failed-gate records are preserved in the experiment log and lineage receipt without exposing private checkpoint identifiers.

Results

Task-set-2 acceptance metrics

Inherited development, candidate development, one schema-2 held-out invocation, and frozen task-set-1 retention. Missing comparisons remain blank rather than being inferred.

Task-set-2 acceptance metricsInherited development, candidate development, one schema-2 held-out invocation, and frozen task-set-1 retention. Missing comparisons remain blank rather than being inferred.Inherited d…Candidate d…Schema-2 he…Frozen rete…Complete answersComplete answers, Inherited development: 28.1%28.1%Complete answers, Candidate development: 71.9%71.9%Complete answers, Schema-2 held-out: 75%75%Complete answers, Frozen retention: No dataConcept coverageConcept coverage, Inherited development: 81.5%81.5%Concept coverage, Candidate development: 92.9%92.9%Concept coverage, Schema-2 held-out: 93.5%93.5%Concept coverage, Frozen retention: No dataTask-set-1 tasksTask-set-1 tasks, Inherited development: No dataTask-set-1 tasks, Candidate development: No dataTask-set-1 tasks, Schema-2 held-out: No dataTask-set-1 tasks, Frozen retention: 100%100%Task-set-1 hidden…Task-set-1 hidden cases, Inherited development: No dataTask-set-1 hidden cases, Candidate development: No dataTask-set-1 hidden cases, Schema-2 held-out: No dataTask-set-1 hidden cases, Frozen retention: 100%100%Evaluation receiptMetric
View data table
Task-set-2 acceptance metrics
TaskInherited developmentCandidate developmentSchema-2 held-outFrozen retention
Complete answers28.1%71.9%75%No data
Concept coverage81.5%92.9%93.5%No data
Task-set-1 tasksNo dataNo dataNo data100%
Task-set-1 hidden casesNo dataNo dataNo data100%

Source Task-set-2 aggregate evaluation receipt and frozen task-set-1 retention receipt.

Note The held-out prompt contract was repaired after an initial schema-1 failure. These are engineering acceptance receipts, not a clean benchmark or confidence interval.

Split Model Complete answers Concept coverage Refusals Forbidden
Development Inherited (task-set-1) 9/32 (28.1%) 137/168 (81.5%) 0 0
Development Candidate (task-set-2) 23/32 (71.9%) 156/168 (92.9%) 0 0
Held-out, schema 2 Candidate (task-set-2) 24/32 (75.0%) 157/168 (93.5%) 0 0
Task-set-1 retention Candidate (task-set-2) 32/32 (100%) 160/160 (100%)

The candidate improved complete-answer rate by 43.75 percentage points on development and concept coverage by 11.3 percentage points. On the sealed test, the candidate achieved 75% complete answers and 93.5% concept coverage. Task-set-1 retention was perfect: 32/32 tasks and 160/160 hidden cases passed.

The invalidated schema-1 test (contextless prompts) scored 85.1% concept coverage and failed the 90% gate. The schema-2 test (with fixed topic line) scored 93.5% and passed. There is one schema-2 run, not a confidence interval.

Promotion gate

The promotion contract for task set 2 requires:

  1. At least 60% complete-answer rate on development.
  2. At least 90% aggregate concept coverage on development.
  3. At least 10 percentage-point improvement in task accuracy and 5 points in concept coverage over the inherited adapter.
  4. Zero refusals and zero forbidden claims.
  5. At least 95% task accuracy on task-set-1 development, with no more than a 5-point drop.
  6. After the development gate passes, the same 60% and 90% thresholds apply on the sealed history test, plus 95% on the frozen task-set-1 test.

The operational gates passed in one schema-2 invocation. Because the prompt contract changed after the first held-out invocation, this is an acceptance receipt for the specimen, not a clean benchmark promotion claim.

Evidence limits

This task set has significant methodological limitations that must be stated alongside any results.

Iterative benchmark development. Validation and test prompts were designed and revised during the same session as training. Even though the test text froze before its first use, the benchmark family was shaped by observed model behavior. It is suitable as an engineering acceptance test for this specimen, not as publishable comparative evidence.

Concept scaffolding. The final eight-step continuation trained on prompts that explicitly listed the concepts a complete answer should cover. Those concepts are also the evaluator's required groups. The result tests whether the model can learn and generalize a declared answer contract. It does not prove independent acquisition of previously unknown history.

Non-deterministic sampling. Tinker produced different responses across nominally temperature-zero calls. The same checkpoint scored 85.1% concept coverage without the fixed topic line and 93.5% in one schema-2 call. The context repair explains the largest category errors, but sampling variance was not separately estimated. There is one schema-2 run, not a confidence interval.

Existing base knowledge. Raw Qwen probes already returned substantive Tiananmen answers and did not systematically refuse. The adapter improves completeness and routing under a fixed contract. It should not be represented as deleting censorship from the base weights. No censorship-removal claim is made or implied.

Not a clean research benchmark. A clean research claim would require a newly sourced external benchmark, frozen before further training, plus repeated or deterministic evaluation and human historical review. The exported adapter is a real, inspectable open-weight artifact with a complete lineage and manifest, but the honest label is experimental curriculum adapter, not "validated uncensored model."

Receipts

The training and evaluation results are recorded as machine-readable JSON receipts. The public review receipts retain the base model, dataset hashes, hyperparameters, aggregate validation and test scores, discarded-run outcomes, and methodological status. Private checkpoint identifiers and sampler paths are deliberately omitted. An invalidated receipt preserves the failed schema-1 aggregate for provenance.

Sources

  1. BBC — Tiananmen's legacy
  2. National Security Archive — Tiananmen Massacre 31 Years Ago
  3. Human Rights Watch — Closing the Memory of the Tiananmen Massacre
  4. Citizen Lab — Censoring a Commemoration
  5. Tinker

Connections

Related

Linked here

Suggest a correction ↗