Zenzic v0.24.0 → v0.26.0: The Editor Trilogy
Most editor integrations fail for a simple reason: they confuse immediacy with truth.
Fast feedback is not authoritative feedback. A red underline that appears in 20 milliseconds is worthless if the CI pipeline later disagrees with it. A score in the status bar is noise if it was inferred from partial state and sold as workspace truth.
Zenzic v0.24.0 through v0.26.0 was not a feature sprint. It was an architectural correction.
- v0.24.0 introduced interaction.
- v0.25.0 removed diagnostic drift.
- v0.26.0 restored global scoring without corrupting determinism.
This is the editor trilogy: three releases that turned the VS Code extension from a reactive client into a governed execution surface.

The False Promise of "Real-Time Everything"¶
Most tooling vendors advertise the same fantasy: real-time everything, everywhere, all at once.
The pitch sounds good until you inspect the implementation boundary. A documentation graph is not a single file. A global score is not a local heuristic. A topological defect cannot be derived correctly from whatever subset of buffers happens to be open in the editor.
If the editor invents global truth from local events, it is not fast. It is wrong.
That is the architectural line we refused to cross.
The problem was not whether the extension could show diagnostics quickly. It already could. The problem was whether the extension could remain mathematically aligned with the same deterministic contracts that govern CLI and CI/CD execution.
The trilogy exists because speed without parity is decoration.
v0.24.0 — Interaction Without Governance Is a Toy¶
v0.24.0 introduced the first real editor-side execution surface: Quick Fixes, in-memory workspace edits, and interactive remediation paths exposed through the Language Server Protocol.
That step mattered, but not for the superficial reason.
The value of interactive remediation is not that the editor can modify text. Any extension can modify text. The value is that the modification is generated by the same deterministic system that will later evaluate the result.
Without that constraint, "Quick Fix" degenerates into one more convenience macro layered on top of an unverifiable rule engine.
v0.24.0 solved the first problem: the editor stopped being a passive alarm panel. It became a place where governed action could occur.
But interaction alone is insufficient. A system that can fix content interactively and still diverge from CLI policy is not powerful. It is dangerous.
Quick Fixes are useful only when the system applying them is governed by the same rules that will later judge the result.
v0.25.0 — Parity Is Not a Nice-to-Have¶
v0.25.0 addressed the failure mode that most editor integrations normalize instead of eliminating: policy drift.
Before stabilization, governance evaluation could occur at different points in different execution paths. That is enough to corrupt parity. If the CLI runs one filtering order and the editor runs another, the user no longer has one system. They have two systems sharing a brand name.
That is unacceptable in a deterministic engine.
v0.25.0 centralized governance evaluation, hardened adapter contracts, and added adapter-driven hot reloading so configuration changes affected the editor and the terminal through the same architectural path.
This was not improved DX. It was structural repair.
A diagnostic that exists in CI but not in the editor is not eventual consistency. It is architectural failure.
The trilogy's second step made the extension trustworthy. Not visually polished. Not more convenient. Trustworthy.
v0.26.0 — Global DQS Must Be On-Demand or It Becomes Fiction¶
v0.26.0 solved the hardest part: how to expose the global Documentation Quality Score inside the editor without lying.
The tempting shortcut was obvious: derive an approximate score from incremental language-server state. Many products would do exactly that and call it good enough.
It is not good enough.
The DQS is a repository-wide computation. It depends on the full graph, the full finding set, the full governance state, and the same batch semantics used by the CLI. If the editor computes a score from partial in-memory evidence and presents it as workspace truth, the number is invalid by construction.
A global score computed without a global audit is not approximate. It is invalid.
v0.26.0 fixed this by separating concerns instead of collapsing them:
- the LSP remained responsible for ultra-fast incremental diagnostics
- the status bar became an orchestration surface
- the authoritative DQS came from an asynchronous CLI bridge that executes the real batch scoring pipeline
This is the critical distinction: the editor did not become a second scoring engine. It became a controlled entry point to the existing one.
On-demand scoring is not a UX compromise. It is an integrity requirement.
The Trilogy Pattern¶
Viewed individually, the three releases look incremental.
Viewed architecturally, they form a strict dependency chain:
- v0.24.0 made the editor interactive.
- v0.25.0 made the editor consistent with governance reality.
- v0.26.0 made the editor globally honest about scoring.
First the extension became useful.
Then it became trustworthy.
Then it became mathematically honest.
That order matters. Reversing it would have failed. Shipping a DQS surface before fixing parity would have amplified inconsistency. Shipping parity without interactive remediation would have preserved a passive authoring workflow. Shipping interaction without deterministic scoring boundaries would have produced a faster interface wrapped around weaker truth guarantees.
The trilogy works because each release removed a specific class of architectural fraud.
What This Means for the Roadmap¶
The consequence is straightforward.
Future editor features are admissible only if they preserve the same invariants:
- no duplicate policy path outside the governed core
- no alternate resolver semantics for editor convenience
- no synthetic global scoring derived from partial editor state
- no UX shortcut that breaks deterministic parity with CLI and CI/CD
The extension is not a product shell around the engine. It is a constrained execution surface for deterministic contracts.
That constraint is not a limitation. It is the reason the extension is credible.
Final Statement¶
The editor trilogy matters because it rejected the standard trade: speed now, correctness later.
Zenzic does not accept that trade.
The editor may be incremental. The score may be on-demand. The user experience may be immediate.
But the truth remains singular.
That is the difference between a convenient extension and an engineering system.