Zain Dana Harper Map

Elements Swatches Studies Site index

Zain Dana Harper

I build an AI workstation and coding harness with runs you can recheck, and a rendering engine.

Distill

A rainbow over a grey ground: the bow render the study takes apart.
The same rainbow rebuilt from its ten swatches alone, each pixel painted with its nearest swatch.
  1. #737f94 54.5%
  2. #7f899e 25.0%
  3. #96a0b3 14.7%
  4. #829492 2.1%
  5. #aebfe9 1.8%
  6. #bdf995 0.5%
  7. #d67d90 0.4%
  8. #fadd80 0.4%
  9. #a6e6ce 0.3%
  10. #ffa389 0.2%
Rebuilt from ten swatches, mean ΔE 1.8: the part of the colour the palette does not carry.

Studies Superframe

BuildLang

The same function, with and without its effect declared.
fn load_config() {
    read_file("ops.toml");
}

Does not build

function `load_config` performs effect `FileSystem`
but does not declare it
  help: add ~ FileSystem to the signature
fn load_config() ~ FileSystem {
    read_file("ops.toml");
}

Type checking OK

"declared_effects": { "load_config": ["FileSystem"] }

Output from buildc check.

BuildLang Source

Flywheel

Flywheel is a workstation and coding harness for any model. This is its checker at work: the record says 41 tests passed, and here are three answers with what the checker decided about each.

Answer tests_passed: 42, source: the test record

FAIL, held

The value disagrees with the test record.

Answer tests_passed: 41, source: the test record

PASS, released

The value agrees with the test record.

Answer tests_passed: 41, no source

UNVERIFIABLE, held

The value agrees, and the answer does not say where it came from.

Captured checker output. Run the same three checks yourself.

Flywheel Pilot Source

CMMNS

Three findings on a demonstration thread. Every account in it is invented.
The CMMNS panel open on a reply that links to rt.com. Under Sources it reads: state-owned, Russia, with the Wikidata entry it came from.
The panel under Coordination: same text as two other replies in the thread, and how often that happens in ordinary threads.
The panel showing that a fact-checker, Logically Facts, rated a matching claim False on 4 December 2024, with a link to the review.

CMMNS Source

Articulate

One sentence, before and after.

It is important to note that this release really represents a significant step forward. Arguably, the new cache could potentially make builds faster in many cases.

Flagged: 3 medium

L1 MEDIUM throat-clearing opener
L1 MEDIUM stacked hedge
L1 MEDIUM worth-noting preamble

This release adds a build cache. On our test project, a clean build took 41 seconds and a cached build took 9.

No findings

exit 0

Output from articulate check, Articulate 0.18.0, run on 12 November 2026.

Articulate pip install articulate-writing

The engine

Ray-traced ambient occlusion: a soft dark halo on the ground around a box. Screen-space ambient occlusion: almost all white, with a thin dark line along the box's bottom edges.

Refuted: error 0.135 against a tolerance of 0.12

Four spheres on grey stone in a near-black field, lit by one small warm lantern; 68.5% of the pixels fall below L* 25.The control: the same spheres under an even surround of the same mean light, with no shadow and no dark field.

One lantern: 68.5% of pixels below L* 25, and every pixel above 0.95 is a highlight. Even light: 0.0%.

  • Newton's rings rendered in 24-bit colour.Source
  • The rings in four greens through an ordered Bayer dither, like a handheld screen.Four greens, Bayer
  • The rings in one bit, black and white, with Atkinson error diffusion.One bit, Atkinson
  • The rings printed in two inks that overprint, red and blue, in a halftone.Two inks, overprint
A gabled house at night with two lit windows between bare trees, in fine grain and rain.

The house holds; the grain and the rain re-roll on twos.

raw-native Superframe Source

Low Water

Low tide, from the film Heavenly Bodies (1920). Public domain, Prelinger Archives.

A narrative game in development, painted and played on the raw-native engine.

Low Water The engine it runs on

Essays and films

Claiming got cheap. Checking did not. A film, with captions.

Writing Films

Work and CV

Hire or collaborate Email

BuildLang BLDLNG

BuildLang means the language, its compiler buildc and its package registry; it is not a build system.

BuildLang 1.15.0

A compiled language where a function's type lists what it may touch. The compiler proves the laws you write beside the code and builds native programs through C.

cargo install buildlang --version 1.15.0 --locked

Verified 14 November 2026: version 1.15.0 is the latest GitHub release of HarperZ9/buildlang (14 November 2026) and the current crates.io version of buildlang.

Flywheel THEFLYWHEEL

Flywheel is an AI workstation and coding harness for any model, with runs you can recheck. CMMNS, which reads public replies, and Articulate, which checks prose, sit beside it. Each one shows its evidence and leaves the decision to you.

Flywheel 1.9.0

An AI workstation and coding harness that you host yourself. It runs any model, hosted or local, behind one interface, with a desktop assistant, a coding agent that works in your own folders and connected tools for research, memory and writing. What sets it apart: every step is kept as a receipt: a record of each step's inputs, output and hashes that anyone can recheck offline, not a log of what the model claimed.

pip install flywheel-verify, then flywheel up

Verified 14 November 2026: version 1.9.0 is the latest GitHub release of HarperZ9/flywheel (15 October 2026) and the current PyPI version of flywheel-verify.

THE COMMONSTHECMMNSCMMNS 3.10.0

A browser extension that shows where a reply comes from, how it argues, and whether a fact-checker has looked at the claim.

Download cmmns-chrome-3.10.0.zip, then Load unpacked

Verified 14 November 2026: version 3.10.0 is the latest GitHub release of HarperZ9/cmmns (14 November 2026), and cmmns-chrome-3.10.0.zip is attached to it.

ARTICULATEARTIQL8Articulate 0.18.0

Names each writing pattern in your prose with the line it is on, on your own computer.

pip install articulate-writing, then articulate check notes.md

Verified 14 November 2026: version 0.18.0 is the latest GitHub release of HarperZ9/articulate (5 November 2026) and the current PyPI version of articulate-writing.

The Playground THEPLAYGRND

The Playground is a rendering engine that turns one description into picture, type and sound. Its parts are the native renderer, Superframe at the core, the instruments and study tools, and Low Water, the game made with it.

The native renderer 0.8.0

The part of The Playground that renders frames in C++ on Direct3D 12, Vulkan and WebGPU, released as raw-native. It draws each frame twice, on the CPU reference and on the GPU, and certifies whether they agree. Its light comes from radiance cascades: light gathered by rings of probes, each ring reaching farther at coarser detail, an approximation checked against a traced reference.

Download raw-native-0.8.0-windows-x64.zip from the release

Verified 14 November 2026: version 0.8.0 is the latest GitHub release of HarperZ9/raw-native (14 October 2026), and raw-native-0.8.0-windows-x64.zip is attached to it.

Superframe 0.3.0

The core of The Playground. One seed, written in plain words, comes back as paint, living type, lines, carved material, sound and touch. It is deterministic: the same words and seed give the same bytes on every run, not just a similar picture.

git clone https://github.com/HarperZ9/superframe, then npm run make (Node 24 or later)

Verified 14 November 2026: version 0.3.0 is the latest GitHub release of HarperZ9/superframe (14 November 2026).

Game

Low Water, the game made with The Playground.

Low Water

A narrative game in five eras, made with The Playground as its full-scale demonstration.

Verified 14 November 2026: 4 pull requests are merged on main: raw-native #239 adds the fight timeline and its match against the game's JavaScript engine; raw-native #242 adds hit volumes and the timing of telegraphed strikes; buildlang #135 adds the game's rules module, written in BuildLang; buildlang #158 records 40 of 40 combat traces matching the game's own corpus.

Site

This site, built with The Playground.

This site

Ten places, each a medium with the laws it draws on.

Mosaic

  • Tesserae are laid in courses (andamento) that follow the form's contour, so the flow of the tiles describes the shape.

Ink and water

  • A dye spreads with radius growing as the square root of time (r ~ t^0.5); a moving front grows linearly.
The reference library's concepts in seven translucent strata, from materials down to meaning.

Data and the visualizer

  • Perceived change follows the ratio, not the difference: each added transparent layer reads as a smaller step, so a fifth layer barely reads darker (Albers, Interaction of Color, plate XX-1).
Goya's Nobody knows himself: masked figures, held as a living still.

The exhibit

  • Split an argument into premises, presuppositions and conclusions; read conjunctions as turns or continuations; mark the movements (chain, list, turn) so the whole can be rebuilt. The same decomposition the art studies use, applied to text.

Everything

Every piece of work, current and past, with its status.

RESEARCHRSRCHEssays and papers

Essays, papers and the experiments behind them, each written down before it ran, nulls included.

Every piece of work, current and past, and every page of the site