Changelog

Updates

Major changes to the site and knowledge base, grouped by month: public content, admin workflows, quality, security, and infrastructure.

Updates

Full security audit completed

The July security audit covered the whole surface: threat modeling, Docker/nginx/MinIO hardening, CI image checks, the production checklist, plus PASETO/OpenAPI and XSS-sensitive frontend paths.

Security Infrastructure Backend Frontend Quality

Authorization became steadier for long sessions

Admin authorization gained sliding server-side sessions: active refresh extends the idle lifetime only up to the absolute lifetime cap, and expired sessions are physically pruned by a daily background task. Team member details now show active sessions with safe device labels and can revoke the current, one, all, or other sessions.

Auth Security Backend Frontend Admin

Public updates page went live

The site gained an updates page with compressed site history focused on major milestones: public content, admin workflows, quality, security, and infrastructure.

Content Frontend Backend SEO

Matrix question queue processing became faster

The queue gained a shared RU/EN Markdown form with sticky actions, create/reject-and-next and skip flows, while txt/csv/xlsx imports now show a preview, validation errors, and exact duplicates before confirmation. The shared form also gained a provider-agnostic RU→EN workspace with connected field pairs, completeness and identical-text review, direct EN preview, and versioned JSON copy/import that preserves Markdown, code, URLs, and typed wiki links. The separate machine boundary for AI agents now stays at the edge: seven REST operations are mounted in the main Litestar app and reuse its settings, DI, and DB session instead of a separate process and UDS. The dedicated WireGuard-bound nginx mTLS listener forwards only an exact allowlist, while the public listener returns 404 for the internal path and strips forged certificate headers. MCP remains a local stdio bridge to five Draft-only operations. Distinct certificates, scopes, and privacy-safe audit remain; the simplification intentionally shares the backend process, DB role, secrets, and availability.

Admin Frontend Backend Matrix Content Localization Security

The knowledge base gained private People and Dates workspaces

Owners and administrators can maintain author-isolated people records with contacts and birthdays, tags, typed relationships, Markdown notes, photos, and attachments. Annual memorable dates gained calendar sorting, links to people, tags, notes, and private attachments, with read-only backlinks on people records. Private files stay separate from the public media bucket, are read only through an author-checking backend stream, and return 404 at the public S3 edge.

Admin Frontend Backend Security Infrastructure

Release workflow and interface polish

CI/CD quality, smoke, and deploy jobs are easier to follow, production deploys require manual approval again, while file handling, statistics, mobile admin flows, locale-aware dates, and unsaved-change protection across admin forms received July polish.

Delivery Quality Admin Infrastructure Frontend Localization

Workspace gained operational tools

Owners and administrators can now inspect cache domains, clear them or start an observable warm independently, and inspect and prune expired sessions.

Admin Backend Frontend Infrastructure Auth

Markdown authoring gained a custom editor

Articles, matrix questions, and the RU→EN workspace moved from Toast UI to a shared CodeMirror editor with separate pseudo-rendered Editor, plain Source, and sanitized Preview modes, layout-independent shortcuts, smart lists and fences, search, and ordered multi-image insertion. Markdown tables are now interactive while retaining portable plain source: cells form rectangular selections; Delete and Cut adaptively clear cells or remove fully selected rows, columns, and the whole table; edge-only plus controls add rows and columns; and edge drag handles reorder them with visible pickup and drop markers. The grid now reads as part of the editor without card chrome or phantom columns: responsive columns and plus controls stay within the editor width, empty cells open without jumping the page, and lines around a table are not covered. The active cell keeps a caret at the input position even when empty, keeps repeated Chrome and Firefox input in the addressed cell, and does not move the page while typing. The Markdown delimiter takes no visual row, while a protected blank line after the table keeps following prose out of the grid in both Editor and Preview and aligned with its gutter number. Empty rows keep their height, and arrow navigation does not skip ordinary text around a table. A context menu groups structural actions, sorting, and alignment, while TSV and CSV remain available through the clipboard. Wiki-links now have syntax-aware highlighting and two-stage domain/target completion: Draft and Published content is discoverable together, while keyboard-first insertion leaves room for an optional label. The editor now grows with its content instead of scrolling vertically inside itself, while sticky mode controls, a compact all-command icon toolbar, and the shortcut reference remain available throughout long documents. Accessible fullscreen preserves the current text, selections, and undo history, keeps focus inside the editor, and returns the author to the same place in the form on exit.

Admin Frontend Content Matrix Localization Quality

Public SEO layer went live

Articles, matrix question pages, and the engineering case-study gained Angular SSR, metadata, Open Graph, JSON-LD, sitemap, and robots.txt coverage.

SEO Frontend Backend Content

Content workspaces matured

Moderators, the question queue, txt/csv/xlsx imports, the matrix structure editor, article validation, and the resume workspace moved into the protected admin.

Admin Frontend Backend Content Matrix

Quality and operations became stricter

Query-plan checks, Lighthouse gates, Trivy, pip-audit, Hadolint, Dockle, TaskIQ cache warming, and hotswap deploys with readiness health checks landed.

Quality Security Infrastructure Delivery

Angular UI replaced the prototype

The public knowledge base moved to Angular with the matrix, articles, RU/EN UI localization, filters, view analytics, and early performance checks.

Frontend Content Matrix Localization Analytics

Angular rewrite started

The frontend gained Angular structure, environments, a typed API client, routing, the base shell, and the first matrix components.

Frontend Matrix

Auth, HTTPS, and matrix administration landed

Login, logout, draft/publish actions, matrix question CRUD, nginx subdomains, and HTTPS became part of the working project.

Auth Backend Admin Matrix Security Infrastructure

Content editing gained uploads and a matrix table

The content editor gained presigned uploads through S3-compatible storage, file-name generation, and a table view for the competency matrix.

Content Frontend Backend Matrix Infrastructure

Architecture docs, cache, and Argon2 appeared

ADRs, domain documentation, coverage badges, Valkey cache, Argon2 hashing, auth-layer separation, and Russian admin localization set the project baseline.

Infrastructure Backend Security Auth Quality Localization

Blog model and CI/CD appeared

Blog posts, GitHub Actions quality checks, coverage badges, deployment workflow, and publication-oriented container work started.

Content Delivery Quality Infrastructure

Public Litestar prototype gained SEO and UX

The Litestar UI gained matrix pages, search, the about page, light/dark theme, sitemap.xml, HTML sitemap, robots.txt, basic SEO markup, and Sentry.

Backend Frontend Matrix SEO

Backend moved to Litestar

FastAPI was replaced with Litestar, the public UI temporarily moved through templates and HTMX, and admin and public contours started to split.

Backend Frontend

Backend, frontend, and container foundation

The project gained a backend/frontend split, the first frontend-to-API wiring, Docker Compose, auth tests, MinIO helpers, and README updates for the new shape.

Backend Frontend Infrastructure Auth

Competency matrix backend prototype

Admin, import/export, and endpoints for sheets, subsections, filtering, and question details became the first working matrix contours.

Backend Matrix Admin

Repository started

The first repository version and baseline security pipeline appeared; that is where the site history as a standalone knowledge base begins.

Infrastructure Security