<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ArchitectMentor — articles, puzzles and anti-patterns</title><link>https://ejsymont.com/en/</link><description>New practical IT architecture articles</description><language>en</language><atom:link href="https://ejsymont.com/en/rss.xml" rel="self" type="application/rss+xml"/><item><title>CVE-2026-98432 - Linux Kernel IPv4 TCP Use-After-Free Issue</title><link>https://ejsymont.com/en/architecture-in-motion/cve-2026-98432-linux-kernel-ipv4-tcp-use-after-free-issue-am-rss-7d5372e207d06da38c41cf8feeed9a8c-r2/</link><guid isPermaLink="true">https://ejsymont.com/en/architecture-in-motion/cve-2026-98432-linux-kernel-ipv4-tcp-use-after-free-issue-am-rss-7d5372e207d06da38c41cf8feeed9a8c-r2/</guid><pubDate>Tue, 03 Nov 2026 12:00:00 GMT</pubDate><description>The newly disclosed CVE-2026-98432 vulnerability concerns the support of TCP/IPv4 connections in the Linux kernel and can lead to system failure, memory violation, and under certain conditions even to remote code execution. The problem…</description></item><item><title>OpenAI and NASK: AI safety collaboration and lessons for architects</title><link>https://ejsymont.com/en/architecture-in-motion/openai-and-poland-s-nask-partner-to-advance-ai-safety-and-am-rss-1b142299f1d3afb5aa3bf9add9719b82-r3/</link><guid isPermaLink="true">https://ejsymont.com/en/architecture-in-motion/openai-and-poland-s-nask-partner-to-advance-ai-safety-and-am-rss-1b142299f1d3afb5aa3bf9add9719b82-r3/</guid><pubDate>Tue, 03 Nov 2026 12:00:00 GMT</pubDate><description>The OpenAI–NASK research partnership signals a closer focus on AI safety. What does it mean for enterprise architects, system assurance, agent permissions and verifiable security evidence?</description></item><item><title>UNKNOWN transaction: who owns the final outcome?</title><link>https://ejsymont.com/en/foundations/unknown-transaction-who-owns-the-final-outcome-am-pr-1-r1/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/unknown-transaction-who-owns-the-final-outcome-am-pr-1-r1/</guid><pubDate>Fri, 30 Oct 2026 12:00:00 GMT</pubDate><description>In a fictional distributed system, a request times out even though the operation may have committed. How do we detect ambiguous outcomes, prevent duplicate effects and escalate cases that cannot be resolved automatically? An architecture…</description></item><item><title>UNKNOWN transaction: who is responsible for closing the case?</title><link>https://ejsymont.com/en/practice/2026-10-30-unknown-odpowiedzialnosc/</link><guid isPermaLink="true">https://ejsymont.com/en/practice/2026-10-30-unknown-odpowiedzialnosc/</guid><pubDate>Fri, 30 Oct 2026 12:00:00 GMT</pubDate><description>Who determines the actual outcome, who discovers and reconciles UNKNOWN cases, and who owns unresolved exceptions? In two or three sentences, propose clear responsibilities and one acceptance test.</description></item><item><title>AI agents and CI share a compute entitlement. What changes for architecture?</title><link>https://ejsymont.com/en/architecture-in-motion/ai-agents-and-ci-share-a-compute-entitlement-what-changes-am-20261029-001/</link><guid isPermaLink="true">https://ejsymont.com/en/architecture-in-motion/ai-agents-and-ci-share-a-compute-entitlement-what-changes-am-20261029-001/</guid><pubDate>Thu, 29 Oct 2026 12:00:00 GMT</pubDate><description>On 28 October 2026, GitHub announced a shared compute entitlement spanning certain GitHub Actions workloads and Copilot cloud sandboxes. This is more than a billing change: agent experiments can consume capacity from the same allowance…</description></item><item><title>A feature flag is not a rollback plan</title><link>https://ejsymont.com/en/foundations/feature-flags-operational-contract/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/feature-flags-operational-contract/</guid><pubDate>Sat, 24 Oct 2026 12:00:00 GMT</pubDate><description>A six-field operational contract: owner, blast radius, fallback, shutdown trigger, propagation time and removal date.</description></item><item><title>A log is not an audit trail. How do you prove a business operation?</title><link>https://ejsymont.com/en/foundations/business-audit-events/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/business-audit-events/</guid><pubDate>Wed, 21 Oct 2026 12:00:00 GMT</pubDate><description>HTTP 200 is not evidence of a state change. Three options, transactional outbox and five audit acceptance tests.</description></item><item><title>Every component is green, therefore the service works</title><link>https://ejsymont.com/en/anti-patterns/2026-10-19-zielone-komponenty-zdrowa-usluga/</link><guid isPermaLink="true">https://ejsymont.com/en/anti-patterns/2026-10-19-zielone-komponenty-zdrowa-usluga/</guid><pubDate>Mon, 19 Oct 2026 12:00:00 GMT</pubDate><description>A team aggregates component health checks into availability while accepted work never reaches its terminal state.</description></item><item><title>GitHub Actions lockfiles move invisible changes into review</title><link>https://ejsymont.com/en/architecture-in-motion/github-actions-lockfiles/</link><guid isPermaLink="true">https://ejsymont.com/en/architecture-in-motion/github-actions-lockfiles/</guid><pubDate>Mon, 19 Oct 2026 12:00:00 GMT</pubDate><description>The 14 October public preview pins actions and their dependencies to commits, but still needs an update process and review of the diff.</description></item><item><title>Business-process availability: from green components to a user outcome</title><link>https://ejsymont.com/en/foundations/business-process-availability/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/business-process-availability/</guid><pubDate>Mon, 19 Oct 2026 12:00:00 GMT</pubDate><description>An evidence ladder from liveness and readiness through work progress to a measurable end-to-end outcome.</description></item><item><title>An AI agent can propose a change. Who authorises execution?</title><link>https://ejsymont.com/en/architecture-with-ai/agent-action-gateway/</link><guid isPermaLink="true">https://ejsymont.com/en/architecture-with-ai/agent-action-gateway/</guid><pubDate>Sun, 18 Oct 2026 12:00:00 GMT</pubDate><description>Action gateway, independent authorisation, human approval and audit for AI agents.</description></item><item><title>Can retries make an overloaded dependency worse?</title><link>https://ejsymont.com/en/foundations/retry-budget-single-owner/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/retry-budget-single-owner/</guid><pubDate>Fri, 16 Oct 2026 12:00:00 GMT</pubDate><description>How 3 × 3 attempts amplify load and how to establish one retry owner, a shared deadline and 429/503 tests.</description></item><item><title>Every health check is green. Why can&apos;t users complete the journey?</title><link>https://ejsymont.com/en/practice/2026-10-15-zielony-healthcheck-przerwany-proces/</link><guid isPermaLink="true">https://ejsymont.com/en/practice/2026-10-15-zielony-healthcheck-przerwany-proces/</guid><pubDate>Thu, 15 Oct 2026 12:00:00 GMT</pubDate><description>Would you classify the service as available? In 2–3 sentences state its boundary, the signals and controlled test you need, and what would change your decision.</description></item><item><title>Do we actually need a data replica?</title><link>https://ejsymont.com/en/foundations/do-we-need-data-replication/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/do-we-need-data-replication/</guid><pubDate>Wed, 14 Oct 2026 12:00:00 GMT</pubDate><description>From measurable demand and data freshness to a choice: optimise, read replica or failover.</description></item><item><title>Conditional architecture approval is not a release sign-off</title><link>https://ejsymont.com/en/foundations/conditional-architecture-approval/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/conditional-architecture-approval/</guid><pubDate>Tue, 13 Oct 2026 12:00:00 GMT</pubDate><description>Six fields for each condition: criterion, owner, evidence, verifier, gate and failure action.</description></item><item><title>It is SaaS, so the provider architecture is none of our concern</title><link>https://ejsymont.com/en/anti-patterns/2026-10-11-saas-nas-nie-interesuje/</link><guid isPermaLink="true">https://ejsymont.com/en/anti-patterns/2026-10-11-saas-nas-nie-interesuje/</guid><pubDate>Sun, 11 Oct 2026 12:00:00 GMT</pubDate><description>An API and SLA do not resolve data, IAM, continuity, operations and exit questions.</description></item><item><title>Cloud Service Mesh retires ISTIOD: plan a boundary migration</title><link>https://ejsymont.com/en/architecture-in-motion/cloud-service-mesh-istiod-retirement/</link><guid isPermaLink="true">https://ejsymont.com/en/architecture-in-motion/cloud-service-mesh-istiod-retirement/</guid><pubDate>Sun, 11 Oct 2026 12:00:00 GMT</pubDate><description>The 1 March 2028 deadline, two migration paths and evidence before moving traffic.</description></item><item><title>AI drafted an HLD from vendor documents. What do we know, and what did it invent?</title><link>https://ejsymont.com/en/architecture-with-ai/hld-from-vendor-documentation/</link><guid isPermaLink="true">https://ejsymont.com/en/architecture-with-ai/hld-from-vendor-documentation/</guid><pubDate>Sun, 11 Oct 2026 12:00:00 GMT</pubDate><description>Tutorial 02: source register, visible unknowns, design-changing questions and statement verification.</description></item><item><title>SaaS architecture due diligence: what the customer needs to know</title><link>https://ejsymont.com/en/foundations/saas-architecture-due-diligence/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/saas-architecture-due-diligence/</guid><pubDate>Sun, 11 Oct 2026 12:00:00 GMT</pubDate><description>Seven review areas and a responsibility → requirement → evidence matrix.</description></item><item><title>The provider delivers SaaS. Do you need to know its architecture?</title><link>https://ejsymont.com/en/practice/2026-10-11-saas-granice-odpowiedzialnosci/</link><guid isPermaLink="true">https://ejsymont.com/en/practice/2026-10-11-saas-granice-odpowiedzialnosci/</guid><pubDate>Sun, 11 Oct 2026 12:00:00 GMT</pubDate><description>What decision would you make now? In 2–3 sentences, identify the information you need, the internals you can leave with the provider and evidence required before acceptance.</description></item><item><title>GitHub changed its token format: check the complete credential path</title><link>https://ejsymont.com/en/architecture-in-motion/github-installation-token-format/</link><guid isPermaLink="true">https://ejsymont.com/en/architecture-in-motion/github-installation-token-format/</guid><pubDate>Sun, 04 Oct 2026 12:00:00 GMT</pubDate><description>A longer installation token can expose storage, proxy and redaction limits. Verify integrations without exposing secrets.</description></item><item><title>Compatible because the generator reported no error</title><link>https://ejsymont.com/en/anti-patterns/2026-10-03-zgodnosc-tylko-w-schemacie/</link><guid isPermaLink="true">https://ejsymont.com/en/anti-patterns/2026-10-03-zgodnosc-tylko-w-schemacie/</guid><pubDate>Sat, 03 Oct 2026 12:00:00 GMT</pubDate><description>A team treats an additive schema change as safe without running supported consumers or checking contract behaviour.</description></item><item><title>Evolving an API contract: compatibility needs evidence</title><link>https://ejsymont.com/en/foundations/evolving-api-contracts/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/evolving-api-contracts/</guid><pubDate>Sat, 03 Oct 2026 12:00:00 GMT</pubDate><description>Why an optional field can still break a client, and how to verify source, wire and semantic compatibility.</description></item><item><title>New optional API field. Can the application still read the response?</title><link>https://ejsymont.com/en/practice/2026-10-03-opcjonalne-pole-api/</link><guid isPermaLink="true">https://ejsymont.com/en/practice/2026-10-03-opcjonalne-pole-api/</guid><pubDate>Sat, 03 Oct 2026 12:00:00 GMT</pubDate><description>Would you expose the field to every client? In 2–3 sentences, state your decision, how you would limit risk and what evidence you need before broader rollout.</description></item><item><title>A notification decides the order outcome</title><link>https://ejsymont.com/en/anti-patterns/2026-10-02-powiadomienie-steruje-transakcja/</link><guid isPermaLink="true">https://ejsymont.com/en/anti-patterns/2026-10-02-powiadomienie-steruje-transakcja/</guid><pubDate>Fri, 02 Oct 2026 12:00:00 GMT</pubDate><description>Failure of an auxiliary email makes a successfully committed order look failed and encourages the user to create a duplicate.</description></item><item><title>GitHub Actions retires macOS 14: CI has a lifecycle too</title><link>https://ejsymont.com/en/architecture-in-motion/github-actions-macos-14-retirement/</link><guid isPermaLink="true">https://ejsymont.com/en/architecture-in-motion/github-actions-macos-14-retirement/</guid><pubDate>Fri, 02 Oct 2026 12:00:00 GMT</pubDate><description>The 2 November retirement and October brownouts call for testing the full build, signing and publication chain.</description></item><item><title>AI drafted an HLD — how do you check whether it is useful?</title><link>https://ejsymont.com/en/architecture-with-ai/review-ai-generated-hld/</link><guid isPermaLink="true">https://ejsymont.com/en/architecture-with-ai/review-ai-generated-hld/</guid><pubDate>Fri, 02 Oct 2026 12:00:00 GMT</pubDate><description>Tutorial: from a brief and questions to a failure case, a diagram, verification and an ADR.</description></item><item><title>Asynchronous communication: separate the order from its notification</title><link>https://ejsymont.com/en/foundations/asynchronous-notifications/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/asynchronous-notifications/</guid><pubDate>Fri, 02 Oct 2026 12:00:00 GMT</pubDate><description>Durably record auxiliary work, retry the right step and avoid duplicating the business operation.</description></item><item><title>Should a notification failure block an order?</title><link>https://ejsymont.com/en/practice/2026-10-02-email-po-zamowieniu/</link><guid isPermaLink="true">https://ejsymont.com/en/practice/2026-10-02-email-po-zamowieniu/</guid><pubDate>Fri, 02 Oct 2026 12:00:00 GMT</pubDate><description>What result would you return to the user, and what would you retry? Explain how you would avoid both a second order and a lost notification.</description></item><item><title>Authorisation checked at the entrance</title><link>https://ejsymont.com/en/anti-patterns/2026-10-01-autoryzacja-tylko-na-wejsciu/</link><guid isPermaLink="true">https://ejsymont.com/en/anti-patterns/2026-10-01-autoryzacja-tylko-na-wejsciu/</guid><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><description>The gateway validates a token, while downstream layers assume that an authenticated user may access any referenced resource.</description></item><item><title>Cloud Storage client libraries enable checksums by default</title><link>https://ejsymont.com/en/architecture-in-motion/cloud-storage-default-checksums/</link><guid isPermaLink="true">https://ejsymont.com/en/architecture-in-motion/cloud-storage-default-checksums/</guid><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><description>The 30 September change improves transfer integrity, with limits for range reads and composite uploads.</description></item><item><title>Change impact analysis: hardware, apps and system boundaries</title><link>https://ejsymont.com/en/foundations/change-impact-analysis/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/change-impact-analysis/</guid><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><description>Check compatibility and scale the review to the actual change.</description></item><item><title>Graceful degradation: preserve the core function</title><link>https://ejsymont.com/en/foundations/graceful-degradation/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/graceful-degradation/</guid><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><description>When optional-feature failure should not block a result, and where the boundary lies.</description></item><item><title>Idempotency, lookup and compensation: three different jobs</title><link>https://ejsymont.com/en/foundations/idempotency-lookup-compensation/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/idempotency-lookup-compensation/</guid><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><description>Safe retries and decisions when an operation has an unknown outcome.</description></item><item><title>Tenant isolation is an end-to-end invariant</title><link>https://ejsymont.com/en/foundations/tenant-isolation-invariant/</link><guid isPermaLink="true">https://ejsymont.com/en/foundations/tenant-isolation-invariant/</guid><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><description>Carry trusted tenant context through authorisation, data, caches, search and asynchronous work.</description></item><item><title>The cache knows the report, but not the tenant. What will tenant B see?</title><link>https://ejsymont.com/en/practice/2026-10-01-cache-bez-tenanta/</link><guid isPermaLink="true">https://ejsymont.com/en/practice/2026-10-01-cache-bez-tenanta/</guid><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><description>Where did tenant isolation break? How will you change authorisation, the cache key and tests so the fix covers the whole path rather than this endpoint alone?</description></item><item><title>No response. Was the booking created?</title><link>https://ejsymont.com/en/practice/2026-10-01-nieznany-wynik-transakcji/</link><guid isPermaLink="true">https://ejsymont.com/en/practice/2026-10-01-nieznany-wynik-transakcji/</guid><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><description>What would you do after exhausting safe retries? Explain the operation identifier, status lookup and the condition for reversing payment.</description></item><item><title>The result is ready, but saving failed. What do you show?</title><link>https://ejsymont.com/en/practice/2026-10-01-opcjonalny-zapis/</link><guid isPermaLink="true">https://ejsymont.com/en/practice/2026-10-01-opcjonalny-zapis/</guid><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><description>What would you show after the storage error? Explain why it is appropriate here and when a different approach would be needed.</description></item><item><title>New tablets, the same app. What should you check?</title><link>https://ejsymont.com/en/practice/2026-10-01-wymiana-urzadzen/</link><guid isPermaLink="true">https://ejsymont.com/en/practice/2026-10-01-wymiana-urzadzen/</guid><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><description>Which three areas would you check before concluding that the replacement needs no architecture change? Explain what evidence would support a safe rollout.</description></item><item><title>A backup nobody has restored</title><link>https://ejsymont.com/en/anti-patterns/2026-09-30-backup-bez-proby-odtworzenia/</link><guid isPermaLink="true">https://ejsymont.com/en/anti-patterns/2026-09-30-backup-bez-proby-odtworzenia/</guid><pubDate>Wed, 30 Sep 2026 12:00:00 GMT</pubDate><description>A green backup report does not prove the entire service can return within its recovery target.</description></item></channel></rss>