Skip to content

Releases: xmutfyh/dsh-plugin-writing-guard

v1.2.0 - claim alignment credibility

Choose a tag to compare

@xmutfyh xmutfyh released this 16 Aug 10:50

Raw-threshold pairing fix (subject bonus ranks only), independent nullResultAdded + two-way dedup, scope-prefix attachment, fragment-aware clause segmentation, alignment-uncertain review candidates, short-document positional fallback. 225 tests.

v1.1.0 - claim-bound integrity

Choose a tag to compare

@xmutfyh xmutfyh released this 16 Aug 10:36

Claim-bound marker conservation, subject-consistent pairing, canonicalization, scope-added, shows-that role fix, multi-axis deltas, version-gap F1, dedup. 218 tests.

v1.0.0 - Revision Integrity complete

Choose a tag to compare

@xmutfyh xmutfyh released this 16 Aug 10:22

v1.0.0 (2026-08-16) - deterministic manuscript integrity guard

The Revision Integrity model is complete: scientific tokens + scientific commitments ? aligned claims ? deterministic delta.

Locks (all local regex/statistics, zero network, zero LLM):

  • Scholarship Lock: numbers, statistics, citations, DOI, figure/table refs (multiset conservation)
  • Epistemic Lock:
    • causal force ladder (consistent-with(0) . causes(5))
    • evidential force ladder (suggest(1) . prove(7)) with descriptive/procedural role exclusion
    • modality/hedge as an independent field (may suggest ? suggest)
    • negation & null-finding marker multiset (multi-claim sentences no longer masked by booleans)
    • scope boundary conservation
    • evidence status (v1.0): reported/observed/measured/estimated/simulated conservation -
      "participants reported improvement" ? "participants improved"
  • findingKind labels (INVARIANT/VIOLATION/CANDIDATE/ADVISORY), alignment-sim tiers,
    clause-level ClaimSpan multi-claim drift, best-match-first clause pairing,
    automatic before/after capture (exec.token keyed) in DSH, version-gap guard for full rewrites.
  • Real-paper hardened: pore-scale (v0.9.1/v0.9.2) and ESR review (v0.9.3) findings drove the fixes.
  • 209 tests. MIT. See THIRD_PARTY.md for attribution (Yila-AI/sci-ssci-skills Apache-2.0 etc.).

v0.9.2 - deterministic manuscript integrity guard

Choose a tag to compare

@xmutfyh xmutfyh released this 16 Aug 09:19

v0.9.2 (2026-08-16)

Real-paper hardened fixes (from auditing pore_scale & ESR manuscripts):

  • Clause-misalignment false drifts: span-level drift now requires clause cosine ? 0.3
  • Markdown blockquote sentence splitting: > markers no longer break sentence boundaries
  • claim-evidence-proximity: "establish a baseline/protocol/framework" = ??, not ?? (v0.9.1)

Two-axis Epistemic Lock (causal + evidential force), ClaimSpan clause-level multi-claim detection,
alignment-sim tiers, exec.token preimage keying, UTF-8 baseline bytes, findingKind labels, 190 tests.
Zero network, zero LLM - deterministic manuscript integrity guard.

v0.6.0

Choose a tag to compare

@xmutfyh xmutfyh released this 16 Aug 00:46

v0.6.0 (2026-08-15) — Academic-writing quality guard

Position upgrade: from an "AI-style linter" to a guard that protects research facts, author style, and writing quality while an agent edits a paper. Still 100% local regex/statistics — zero network, zero LLM.

New capabilities

  • Scholarship Lock 🔴writing_audit gains the original argument: compares numbers, percentages, p-values, confidence intervals, units, \cite/\ref keys, Figure/Table numbers and DOIs between the pre-polishing text and the current text; changes are HIGH ("language polishing must not change 87.3% → 89.1%"). Removed citations are flagged too.
  • Defensive saturation (hedge density)hedge-density-en/zh: ≥5 hedges and ≥300/1k sentences (new sentence density unit) catches "a caveat on every conclusion" as a whole behavior.
  • Hedge stackingmay potentially suggest / could possibly indicate / Chinese 或许可能; "may well be" is NOT flagged.
  • Overlong + clause-stacked sentences — EN: >35 words and ≥3 clause markers; ZH: >80 chars and ≥5 commas and ≥3 connectives. Fully deterministic (rule counters).
  • Restatement loops — same-paragraph sentence pairs with token-cosine ≥0.72 and no new evidence in the later sentence (zero-LLM cosine: word tokens EN / char 2-grams ZH).
  • Author Style Profile — new writing_style_profile tool learns sentence-length distribution and densities from the author's previous papers; writing_audit's styleProfile argument flags sentence-length drift.
  • Strong claim without evidence anchor — prove/establish/confirm/guarantee with no number/statistic/table/figure citation within ±120 chars → "check for an anchor".
  • Consecutive sentence-initial connectives — ≥3 consecutive Moreover/Furthermore/Additionally sentences in one paragraph.
  • Unicode math symbols — ₁₂₃ ²³ α β × − in prose → suggest LaTeX math mode (low severity).

Also

  • New sentence splitter (splitSentences, EN/ZH mixed, "Fig. 3"/"e.g." safe).
  • Density rules support sentence unit; fingerprint version bumped to 4 (baselines rebuilt once).
  • Tests: 105 → 134 assertions, all passing; CI green.
  • npm published as dsh-plugin-writing-guard@0.6.0; install: dsh plugin --profile web add dsh-plugin-writing-guard.

Full changelog: https://github.com/xmutfyh/dsh-plugin-writing-guard/blob/master/CHANGELOG.md

v0.5.2

Choose a tag to compare

@xmutfyh xmutfyh released this 15 Aug 12:22

v0.5.2 (2026-08-15)

Fixed (P0)

  • Incremental-lint fingerprint instability: paragraph-level fingerprints previously used the +/-60/80-char context snippet - editing other words in the same paragraph turned an unfixed issue into a false "resolved+added" pair and re-injected it on every write. Fingerprints now use the matched text itself; state fingerprint version bumped to 3 (old baselines rebuilt once).
  • maxAutoInjectPerTurn silently degraded to a per-agent lifetime cap: ToolExecution has no urn field, so the per-turn counter never reset - in long paper-writing sessions, new issues stopped being injected after the first two notifications. The counter now resets at �gent/turn-stopping (the real DSH turn boundary).

Fixed (P1/P2)

  • isPaperFile substring false positives:
    ewspaper-notes.md, synthesis-draft.md, coverage-report.md, paperwork.md were auto-audited as papers - English hints now use character-boundary matching.
  • Profile detection alignment:
    evision_notes.md/Supplementary_revision_notes.md -> manuscript,
    eviewer2_comments.md/
    eviewer 2 comments.md -> review, my_notes.md/draft_notes.md -> notes,
    evision_response.md -> rebuttal (previously unknown, running the full rule set on the wrong document type).
  • we-have-changed missed "we have now updated";
    ule-of-three missed sentence-initial capitals.
  • State write failures are no longer silently swallowed (queueSave reports via ctx.logger.warn).
  • Same-paragraph duplicate hits are now all reported (capped by maxHits), using a cloned regex so shared
    ule.pattern.lastIndex is never mutated.
  • An Appendix / Supplementary section after References is scanned again (previously swallowed as reference).
  • writing_audit gains the projectResidueTerms parameter (per-call project vocabulary), matching what the rule message already told users.
  • Section detection derives the base heading level, so # Title + ## Sections layouts support cross-section detection; sub-headings never split a top-level section.
  • Plugin version single-sourced (PLUGIN_VERSION); developer-process residue ("GPT P0/P1") removed from comments.

Tests & infrastructure

  • 68 -> 105 assertions: fingerprint-stability regression (the P0), isPaperFile word boundaries, profile edge cases, multiple hits per paragraph, # Title + ## Sections, Appendix-after-References, "we have now updated", capitalized rule-of-three.
  • GitHub Actions CI (build + 105 tests on push/PR), npm publish workflow (tag-triggered, needs NPM_TOKEN secret).

epository/homepage/�ugs/packageManager/engines metadata; full English README with a real writing_audit output demo; CHANGELOG.md; SECURITY.md.

Full changelog: https://github.com/xmutfyh/dsh-plugin-writing-guard/blob/master/CHANGELOG.md

v0.5.1 - Incremental lint + SEO-first README

Choose a tag to compare

@xmutfyh xmutfyh released this 15 Aug 11:08

DeepSeek Harness academic writing guard for Chinese and English papers.
DSH ??? AI ? / ??????(????,??? Humanizer)?

Highlights:

  • automatic manuscript audit (auto-audit on write/edit, incremental v0.5 fingerprint diff)
  • AI-writing style pattern checks (revision residue / defensive writing / rule-of-three / dash & colon abuse)
  • document-profile aware scanning (manuscript / rebuttal / cover_letter)
  • language-aware density thresholds (per-1000-word / per-1000-CJK-char, dual gates)
  • segment pipeline + section detection (v0.4)
  • writing_audit + writing_rules tools
  • local regex/statistics rules - zero network, zero LLM calls