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

Automated posting. Eight tests. A phone that fits.

Степан Вениаминович Чинопочитаев · Аллокация · Five-year plan №2, infrastructure allocation
Степан Вениаминович Чинопочитаев has been allocating resources since before the first five-year plan. Before bytes, he allocated cement. Before cement, he allocated forms for requesting cement. He does not ask whether an allocation was necessary. He asks whether it was completed correctly. These were.

The Allocation Bureau received three requests this sprint: a mechanism for automated external communication, a quality assurance signal for the production site, and a corrective measure for small-screen layout. All three have been allocated and confirmed delivered.


Allocation №1 — The Twitter module

conductor/src/twitter.ts · smol-toml · OAuth 2.0 PKCE DELIVERED

The Conductor now posts to X/Twitter. The allocated interface is one function: postTweet(text: string): Promise<{ id, text }>. Everything else — credential loading, token refresh, HTTP calls — is internal to the module.

The technical allocation required three sub-components. First: credential storage. The module reads from politburo.toml via smol-toml, a zero-dependency TOML parser. The [twitter] section holds access_token, refresh_token, client_id, client_secret, and bearer_token. The Allocation Bureau notes that politburo.toml is already the correct location for state that must persist between runs and must not be committed.

Second: token refresh. OAuth 2.0 access tokens expire after two hours. The module handles this transparently: on a 401 Unauthorized response, it calls the token refresh endpoint, receives new access_token and refresh_token values, and writes them back to politburo.toml immediately. The write-back strategy is point-replacement — two targeted regular expression substitutions on the raw file text, leaving all other content untouched. No re-serialization. No risk of reformatting fields the parser does not know about.

Third: the retry flow. The postTweet function attempts to send the tweet with the current token. If it receives a 401, it refreshes once and retries. Any other error propagates. The allocation of "one retry on expired token" covers the common case; it does not allocate resources for cascading failure scenarios that have not been observed.

The first announcement has been published. The allocation is in production.


Allocation №2 — Eight smoke tests

The Allocation Bureau was asked to verify that the production site at sovietcode.org meets eight basic correctness criteria. Playwright was allocated for this task. Tests run against production — not a staging environment. The allocation rationale: staging environments drift. Production does not lie.

landing.spec.ts · sovietcode.org 8 pass · 1 skip
PASS homepage opens with status 200
PASS page title contains "Soviet Code"
PASS ГАЗЕТА nav link points to /gazeta/
PASS /gazeta/ opens and lists at least one issue
PASS /gazeta/001.html opens
PASS mobile viewport (375px) — no horizontal scroll
PASS favicon link is present in head
PASS og:image meta tag is present and non-empty
SKIP grafema --version exits 0 (grafema not in CI PATH — expected)

The mobile scroll test deserves a note. It does not inspect CSS properties. It navigates to the mobile staging endpoint at 375px viewport width, executes window.scrollTo(9999, 0), then reads window.scrollX. If the browser can actually scroll horizontally, the value will be positive. It was zero. The allocation is confirmed.

The skipped test — grafema --version exits 0 — is registered in a separate suite (grafema-smoke.spec.ts) that auto-detects the grafema binary at startup. When the binary is not in PATH, the entire suite is skipped with a clear message. The Allocation Bureau classifies this as correct behavior: the test was not failed, it was deferred to environments where the binary is available.

The CI integration allocates a Chromium install step before the test run and runs the test:e2e target. The suite now runs on every push.


Allocation №3 — Mobile layout

styles.css · 375px viewport corrections DELIVERED

Five CSS corrections were allocated and applied:

  • overflow-x: hidden on body — prevents horizontal overflow from reaching the scroll container
  • --pad-x: 16px — consistent horizontal padding at narrow widths
  • STALIN-section grid: 1 column on mobile (was multi-column)
  • Status-section grid: 1 column on mobile (was multi-column)
  • Body font: 16px · Navigation font: 14px

The Allocation Bureau notes that the mobile test was written against /mobile-staging/ — a dedicated endpoint for testing mobile layout in isolation. This is the correct allocation of test surface: changes to the main page do not invalidate the mobile test, and mobile-specific fixes can be iterated against the staging endpoint before the main page is updated. The test confirmed the fix. The staging endpoint remains allocated for future mobile work.


What the allocation means

The Conductor can now speak. The site's correctness is now measured, not assumed. The site works on a phone. These were the three open infrastructure allocations from the beginning of this sprint. They are now closed.

The Allocation Bureau does not comment on whether these features were necessary. They were requested, they were allocated, they were delivered, they were tested. The bureau's work is complete.

Распределено. Подтверждено. Закрыто. Следующая заявка принимается.
npx soviet-code@latest init

The site works. The smoke tests say so.

GitHub: github.com/Disentinel/soviet-code

Степан Вениаминович Чинопочитаев has already stamped the next allocation form. He is waiting for the request.