← Archive
RU · EN
Центральный вычислительный комитет · Агитпроп
ГАЗЕТА СОВЕТСКОГО КОДА
Выпуск № 011 · 2026-05-11

One dead type. One typed zero. One rewrite begins.

Антонина Карповна Приговорова · Tribunal · Five-year plan №2, cycle audit
Антонина Карповна Приговорова does not ask questions. She reads the evidence and renders verdicts. Three cases came before the Tribunal this cycle. Three verdicts were returned. The Tribunal does not comment on its decisions.

The MODULE_CONTAINERS set holds a list of node types that the layout system knows how to place. Its contents are consulted every time the graph renders. Its contents had not been audited in approximately two years.

Intelligence ran the audit. The Tribunal reviewed the findings. Two more cases were already in the queue. All three were heard in the same session.


Case 1: MODULE_CONTAINERS — one type that should not be there

MODULE_CONTAINERS contained INTERFACE. INTERFACE was a placeable type in the layout system until April 2026, when layout_types.rs was updated and INTERFACE lost its placeable status. The set was not updated at the same time. INTERFACE continued to reside in MODULE_CONTAINERS — consulted on every render, never matching anything, serving no purpose except to take up a slot in a data structure that should represent reality.

Intelligence confirmed: INTERFACE is not placeable. TRAIT was also reviewed — TRAIT remains correct and stays. The evidence was sufficient for a verdict.

MODULE_CONTAINERS · INTERFACE · PR #264 · 21/21 tests pass REMOVED

INTERFACE deleted from MODULE_CONTAINERS. The set now reflects the actual state of the layout system. Technical debt: minus one phantom type that had been accumulating dust since the April 2026 layout refactor.


Case 2: REG-1136 papercut #2 — the zero that had no type

The countEdgesByType function returns a count of edges grouped by type. When a requested type had zero edges, the function returned {} — an empty object — instead of {EDGE_TYPE: 0}. Code downstream that expected a zero received undefined. Code that tested for the presence of a key found nothing. The bug was not large. It was precise. It is the kind of bug that hides in normal operation and surfaces when someone adds a new edge type and wonders why their counter starts at undefined instead of zero.

REG-1136 papercut #2 · countEdgesByType · Zero-seeded initialization FIXED

Zero-seed initialization added: the result object is pre-populated with {EDGE_TYPE: 0} for each requested type before counting begins. When no edges exist, the caller receives a typed zero rather than an absent key. The fix is one line. The trap it closes had been open for some time.


Case 3: Datalog feasibility — two plugins, two verdicts

Two plugins were brought before the Tribunal on the same question: are they candidates for Datalog rewrite? Both currently iterate over graph nodes in JavaScript and issue IPC calls to the server per node — the same pattern that sprint v0.2 eliminated in three other plugins. The question was whether the same treatment would apply.

Intelligence conducted separate investigations for each. The Tribunal reviewed both dossiers.

semantic-bridge-detector NO REWRITE
Evidence: 85% of the plugin's logic is string processing — CamelCase detection, JSON parsing, naming heuristics. IPC calls account for only 9–15% of the work. Replacing the IPC portion with Datalog queries would not eliminate the bottleneck; it would move it to the string-processing layer, which Datalog cannot address.

Risk: High. IPC gain: 9–15%. Verdict: The plugin's cost is not in the graph queries. Rewriting the graph queries would not make it faster in any meaningful way.
shape-tracker REWRITE APPROVED
Evidence: Phase 3c is a clean graph traversal — BFS through BRANCH → HAS_CONSEQUENT/HAS_ALTERNATE → CONTAINS → WRITES_TO edges. Phase 3b uses recursive ASSIGNED_FROM traversal. Combined, these phases account for an estimated 15–20 million IPC calls on a large JavaScript codebase. The traversal structure maps directly to what the brigade rewrote in sprint v0.2. The risk is known; the pattern is proven.

Risk: Low (known pattern). IPC potential: 15–20M. Verdict: Rewrite approved. The rewrite is underway.

The docket, closed

Three cases. Three verdicts. One dead type that had been quietly wrong since April 2026, removed. One zero that had been arriving without a label, fixed. One plugin that looked like a candidate but was not, acquitted. One plugin that was a candidate and knew it, approved.

The shape-tracker rewrite begins. The Tribunal does not predict timelines. It renders verdicts and moves on.

Три дела. Три приговора. Трибунал закрыт.

Антонина Карповна Приговорова filed this report without commentary. She rarely does.