Skip to content
Historical revision — this record as it stood on 30 June 2026, not the current version. View the current record →

The Proofreader Console

The proofreader console is the operator-facing web interface for the service-proofreader editorial pipeline. Operators use the console to submit text for staged analysis, review structured findings, apply or reject suggested rewrites, and record verdict dispositions that feed the platform's apprenticeship learning corpus. The console is implemented as a server-rendered HTML application with no client-side JavaScript framework dependency; all state transitions are handled at the server layer.

Design token architecture

The console implements a two-tier design token architecture that decouples the platform's visual language from any specific tenant's brand identity. The first tier consists of generic tokens — baseline CSS variables, spacing primitives, and typographic scales — distributed from the pointsav-design-system repository. These tokens establish the structural vocabulary of the interface: grid layout, component sizing, state colours for finding severity levels, and typographic hierarchy for the three-level finding display (Banned, Mechanical, Generative).

The second tier consists of tenant override tokens sourced from the tenant's media asset repository. These tokens carry branding decisions — typography faces, colour palette substitutions, and logo assets — that adapt the interface to the tenant's visual identity without modifying the console's source code. The two tiers are applied in sequence at render time: generic tokens establish defaults; tenant overrides substitute values where the brand requires it. A deployment with no tenant override file falls back entirely to the generic tier, producing a consistent baseline presentation.

This layering allows the same console codebase to serve multiple tenants under distinct brand identities. A future media-proofreader-pointsav deployment would carry the vendor account's own token overrides against the same generic substrate as the media-proofreader-woodfinegroup deployment.

The no-train-on-tenant-text guarantee

The console surfaces the platform's data-handling commitment at the point of text submission. The no-train-on-tenant-text guarantee is a structural property of the corpus write path, not a runtime configuration flag: an operator's submitted text and the resulting rewrite are written to that tenant's deployment instance directory and cannot be co-mingled with other tenants' records. The corpus written under one tenant's deployment instance is the training substrate for that tenant's adapted model, not for any other account's model.

The guarantee is made explicit in the submission interface because operators require confidence before submitting sensitive editorial material. The console surfaces it as a disclosure notice — permanent, not dismissible — adjacent to the text submission area.

Verdict recording and the apprenticeship loop

After the three-stage pipeline produces its findings and whole-text rewrite, the operator interacts with the console through a verdict interface. The interface presents the original text, the Stage-3 rewrite, and the annotated finding set simultaneously. Three disposition controls are available: Accept (take the rewrite as-is), Reject (discard the rewrite and retain the original), or Edit (submit a hand-modified version as the final text, with the modification visible to the platform).

The submitted verdict triggers a /v1/verdict write that records the input, the chosen output, and the operator's disposition as a typed event-pair tuple. Accepted and edited verdicts are the highest-value training signal: they represent operator confirmation that a specific rewrite direction was correct. Rejected verdicts are retained as negative examples for the Stage-1 Direct Preference Optimisation pipeline. Together, these three disposition types form the apprenticeship corpus that drives continued model refinement under the reverse-funnel editorial pattern.

Rust implementation and corpus distillation

The platform's training pipeline is implemented in Rust rather than a scripting language. The distillation tool processes the raw JSONL event records written by the verdict endpoint to extract verified input/output pairs based on operator dispositions. The tool enforces type safety when parsing the event-pair schema — draft-created, draft-refined, creative-edited — and produces a training_dataset.jsonl file in the format consumed by service-slm for LoRA fine-tuning.

The Rust implementation unifies the operational tooling ecosystem: a single cargo run invocation replaces a pipeline of shell scripts and Python preprocessing steps. It also eliminates a class of parsing errors that can arise when the event-pair schema evolves — schema changes require updating the Rust type definitions, which the compiler enforces at build time rather than at runtime.

The distillation pass isolates operator-confirmed instruction/output pairs. These pairs are the per-tenant adapter inputs for the student fine-tuning sequence, distinct from the broader knowledge distillation run that involves the teacher model. The two training paths can run independently or be integrated into a combined session depending on the corpus size and the degree of adaptation desired.

See also

Important Information

Important Information

Corporate structure. PointSav Digital Systems ("PointSav") is a trade name of Woodfine Capital Projects Inc. ("Woodfine"). PointSav does not itself offer, sell, or solicit any security. Any securities offering associated with Woodfine's real-property direct-hold solutions is made exclusively by Woodfine, and only by means of the applicable Private Placement Memorandum.

No investment advice. This wiki's content is provided for engineering, operational, research, and development purposes. Nothing on this wiki constitutes investment advice or a solicitation to invest in any Woodfine partnership or direct-hold solution.

Intellectual property. The PointSav name, trade name, wordmark, and marks, together with all current and future PointSav- and Totebox-branded products, services, and offerings — and the software, source code, documentation, design system, and all related materials — are proprietary to Woodfine and its affiliates, except for components identified as open source. No rights are granted except as expressly set out in a written license or agreement. See TRADEMARK.md in this repository for the full trademark notice.

Open source components. Portions of the platform are made available under permissive open-source licenses identified in the accompanying repository. Use of those components is governed by their respective license terms.

No warranty; informational use. Content on this wiki is provided for general informational purposes only and does not constitute a representation, warranty, or commitment with respect to product functionality, availability, pricing, or roadmap. Some articles describe planned or intended features, capabilities, and milestones — language such as "planned," "intended," "targeted," "may," and "expected" marks this forward-looking content, which is subject to change and does not constitute a commitment regarding future performance.

Confidentiality. Where an article describes an operational or deployment detail that is not intended for public disclosure, that article is not published on this wiki. Content here is general-purpose engineering documentation, not customer-specific configuration.

Jurisdiction. Woodfine Capital Projects Inc. is organized in British Columbia, Canada. References to the Sovereign Data Foundation on this wiki describe a planned or intended initiative only, not a current equity holder or active governance body.

Changes to this notice. PointSav may update this notice from time to time; the version posted on this page governs.

Not a filing system. This wiki is not a securities filing system, an electronic disclosure repository, or a substitute for SEDAR+ or any other regulatory filing system. Formal securities filings are made through the applicable regulatory filing system, not through this wiki.

Full disclaimer. This notice supplements, and does not replace, the full Disclaimers article. In the event of any conflict, the full Disclaimers article governs.

Read the full disclaimer →