56,966 blogs · [ { "id": "01a0d904-b708-7142-925b-65da201041b1", "title": "Two PMs One Edge Box Part 12 Three Boxes and Whose Orchestrator", "url": "https://javatask.dev/blog/two-pms-one-edge-box-part-12-three-boxes-whose-orchestrator/", "published_at": "2026-09-24T02:55:00+00:00" }, { "id": "01a0d904-b708-7142-925b-65da20bb091d", "title": "Two PMs One Edge Box Part 11 An Orchestrator for One Box", "url": "https://javatask.dev/blog/two-pms-one-edge-box-part-11-an-orchestrator-for-one-box/", "published_at": "2026-09-24T02:50:00+00:00" }, { "id": "01a0d904-b708-7142-925b-65da20fdfae6", "title": "Two PMs One Edge Box Part 10 One Plausible Route to the Higher Profiles", "url": "https://javatask.dev/blog/two-pms-one-edge-box-part-10-one-route-to-elevated/", "published_at": "2026-09-24T02:45:00+00:00" }, { "id": "01a0d904-b708-7142-925b-65da21de6095", "title": "Two PMs One Edge Box Part 9 The Hardened Host and the Evidence File", "url": "https://javatask.dev/blog/two-pms-one-edge-box-part-9-the-host-and-the-evidence/", "published_at": "2026-09-24T02:40:00+00:00" }, { "id": "01a0d904-b708-7142-925b-65da22ce515d", "title": "Two PMs One Edge Box Part 8 What May Change on the Box and Who Says So", "url": "https://javatask.dev/blog/two-pms-one-edge-box-part-8-what-may-change-on-the-box/", "published_at": "2026-09-24T02:35:00+00:00" }, { "id": "01a0d904-b708-7142-925b-65da237d25b5", "title": "Two PMs One Edge Box Part 7 Who May Touch the Engine", "url": "https://javatask.dev/blog/two-pms-one-edge-box-part-7-who-may-touch-the-engine/", "published_at": "2026-09-24T02:30:00+00:00" }, { "id": "01a0d904-b708-7142-925b-65da24485276", "title": "Two PMs One Edge Box Part 6 Three Security Profiles and the Box in the Middle", "url": "https://javatask.dev/blog/two-pms-one-edge-box-part-6-three-profiles-one-box/", "published_at": "2026-09-24T02:25:00+00:00" }, { "id": "01a0d904-b708-7142-925b-65da24c7b76c", "title": "Two PMs One Edge Box Part 5 What a Container Standard Actually Certifies", "url": "https://javatask.dev/blog/two-pms-one-edge-box-part-5-what-the-standard-certifies/", "published_at": "2026-09-24T02:20:00+00:00" }, { "id": "01a0d904-b708-7142-925b-65da25b962a0", "title": "Two PMs One Edge Box Part 3 Where the Two Roadmaps Collide", "url": "https://javatask.dev/blog/two-pms-one-edge-box-part-3-the-clash/", "published_at": "2026-09-24T02:10:00+00:00" }, { "id": "01a0d904-b708-7142-925b-65da2686d4d9", "title": "Two PMs One Edge Box Part 2 The Workloads PM Who Runs Ten Thousand Devices", "url": "https://javatask.dev/blog/two-pms-one-edge-box-part-2-the-workloads-pm/", "published_at": "2026-09-24T02:05:00+00:00" }, { "id": "01a0d904-b708-7142-925b-65da26c6efec", "title": "Two PMs One Edge Box Part 1 The Box PM Who Has to Patch It in 2036", "url": "https://javatask.dev/blog/two-pms-one-edge-box-part-1-the-box-pm/", "published_at": "2026-09-24T02:00:00+00:00" }, { "id": "01a0bad4-8c34-737b-8bf3-3e1c48c6c2f2", "title": "What a Margo Device Holds, Asks For, and Admits To", "url": "https://javatask.dev/blog/margo-desired-state-contract/", "published_at": "2026-09-16T09:00:00+00:00" }, { "id": "01a0950d-a79d-7093-a7ff-9dffad6e8460", "title": "Tokens Per Second Is the Wrong Number for an Agent", "url": "https://javatask.dev/blog/measuring-the-local-agent-part-1-the-wrong-number/", "published_at": "2026-09-14T07:00:00+00:00" }, { "id": "01a08d52-2eef-71f5-abaf-73629461f036", "title": "The Three Parts of a Margo System, and What Moves Between Them", "url": "https://javatask.dev/blog/margo-the-three-parts/", "published_at": "2026-09-10T09:00:00+00:00" }, { "id": "01a08d52-2ef0-732d-9b73-257645f5836a", "title": "What Margo Changes in an Application Developer's Pipeline", "url": "https://javatask.dev/blog/margo-application-developer-pipeline/", "published_at": "2026-09-09T09:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3c73d38ac", "title": "Two Recipes, One Server", "url": "https://javatask.dev/blog/two-recipes-one-server/", "published_at": "2026-09-06T09:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3c81930bd", "title": "Generate, Then Gate", "url": "https://javatask.dev/blog/generate-then-gate/", "published_at": "2026-09-05T09:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3c8fb8685", "title": "Part 2: The Standard's Own Example Is a Virtual Machine", "url": "https://javatask.dev/blog/the-extensibility-seam-part-2-virtual-machines-at-the-industrial-edge/", "published_at": "2026-09-05T09:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3c94f6ac2", "title": "The Oracle Nobody Shipped", "url": "https://javatask.dev/blog/the-oracle-nobody-shipped/", "published_at": "2026-09-05T09:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3c9df093d", "title": "Your Model Speaks a Dialect Your Switch Doesn't", "url": "https://javatask.dev/blog/the-vendor-dialect-problem/", "published_at": "2026-09-05T09:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3ca3dafa3", "title": "Part 1: Custom Stops at the Desired State", "url": "https://javatask.dev/blog/the-extensibility-seam-part-1-custom-stops-at-the-desired-state/", "published_at": "2026-09-05T08:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3cb189254", "title": "Reading a Device by What Its Capabilities Payload Leaves Out", "url": "https://javatask.dev/blog/margo-reading-the-standard-part-5-what-a-device-leaves-out/", "published_at": "2026-08-29T09:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3cb5c1700", "title": "The Three Eras of Industrial Edge Computing", "url": "https://javatask.dev/blog/three-eras-of-industrial-edge-computing/", "published_at": "2026-08-25T06:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3cc4a72fd", "title": "The Digest Is the Join Key", "url": "https://javatask.dev/blog/the-digest-is-the-join-key/", "published_at": "2026-08-22T15:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3cd41f2fe", "title": "The Oracle an Agent Can Call", "url": "https://javatask.dev/blog/the-oracle-an-agent-can-call/", "published_at": "2026-08-22T11:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3ce25b0a2", "title": "From README to One Command", "url": "https://javatask.dev/blog/from-readme-to-one-command/", "published_at": "2026-08-22T09:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3ce7d3831", "title": "Margo Now Has One Publishing Contract for Both Component Types", "url": "https://javatask.dev/blog/margo-one-publishing-contract-for-both-component-types/", "published_at": "2026-08-21T18:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3cf0a8dd4", "title": "Architecture Describes the Shape of Correct Code. It Does Not Enforce It.", "url": "https://javatask.dev/blog/architecture-is-not-enough-deterministic-verification/", "published_at": "2026-08-16T07:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3cfdef378", "title": "Three Things Get Called Routing. They Save Money in Different Places.", "url": "https://javatask.dev/blog/llm-routing-cascades-deferral-criterion/", "published_at": "2026-08-16T07:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3d0106f68", "title": "Tokens Got Cheaper. Delivered Changes Did Not.", "url": "https://javatask.dev/blog/llm-model-cascade-economics/", "published_at": "2026-08-09T07:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3d0ae4269", "title": "The Variable Upstream Never Named", "url": "https://javatask.dev/blog/the-variable-upstream-never-named/", "published_at": "2026-08-05T10:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3d14c93d4", "title": "The Loop That Deletes a Workload", "url": "https://javatask.dev/blog/the-loop-that-deletes-a-workload/", "published_at": "2026-08-05T09:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3d1a2d0a2", "title": "Margo Compose Path, Part 1: The Compose Archive and the Entry Gate", "url": "https://javatask.dev/blog/margo-compose-path-part-1-the-compose-archive-entry-gate/", "published_at": "2026-08-05T08:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3d22a8e1b", "title": "Part 3: Provenance Is a Byproduct, Not a Project", "url": "https://javatask.dev/blog/oci-substrate-part-3-provenance-is-a-byproduct/", "published_at": "2026-07-24T10:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3d2797e3c", "title": "Part 2: The Model and the Toolset Are Artifacts Too", "url": "https://javatask.dev/blog/oci-substrate-part-2-the-model-and-the-toolset/", "published_at": "2026-07-24T09:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3d2dbfaca", "title": "Part 1: What the Registry Already Knows", "url": "https://javatask.dev/blog/oci-substrate-part-1-what-the-registry-already-knows/", "published_at": "2026-07-24T08:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3d2ed9b5e", "title": "Synthesis: What the Modern EA Program's Technical Through-Lines Tell You About the 2027 Stack", "url": "https://javatask.dev/blog/modern-ea-synthesis-2027-stack/", "published_at": "2026-07-21T09:00:00+00:00" }, { "id": "01a0878b-c3bb-714d-ad51-ffc3d3d80600", "title": "The AI-Native Factory Stack, Part 1: Runtime, Data, and Models on One Box", "url": "https://javatask.dev/blog/the-ai-native-factory-stack-part-1-runtime-data-models-on-one-box/", "published_at": "2026-07-20T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2890914996", "title": "Asset Administration Shell (AAS): The Digital Machine File That Makes IT/OT Semantic Interop Real", "url": "https://javatask.dev/blog/asset-administration-shell-digital-machine-file/", "published_at": "2026-07-16T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2891305182", "title": "Unified Namespace for Industrial Data: MQTT, Sparkplug B, OPC UA PubSub, and the Topic Hierarchy Decisions That Matter", "url": "https://javatask.dev/blog/unified-namespace-architecture-mqtt-sparkplug-opcua-2026/", "published_at": "2026-07-16T07:30:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2891716da7", "title": "The Helm Way, Field-Tested: What a Multi-Vendor Round-Robin Teaches a Packaging Spec", "url": "https://javatask.dev/blog/the-helm-way-field-tested/", "published_at": "2026-07-13T08:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2891c98f03", "title": "TCO, ROI, NPV, and AI-Driven Scenario Modeling: The Financial Toolkit Every 2026 Enterprise Architect Needs", "url": "https://javatask.dev/blog/tco-roi-scenario-modeling-for-enterprise-architects/", "published_at": "2026-07-12T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2892a5d5f5", "title": "Carbon-Aware Architecture: Workload Scheduling, PUE, and Digital Product Passport via AAS", "url": "https://javatask.dev/blog/carbon-aware-scheduling-pue-aas-dpp-architecture/", "published_at": "2026-07-10T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289350991f", "title": "Detection and Response for OT: SOAR Playbooks, Forensic Timeline Architecture, and the 24-Hour Bar", "url": "https://javatask.dev/blog/industrial-detection-and-response-soar-for-ot/", "published_at": "2026-07-09T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2893ce4ab8", "title": "Everyone Ships One Container. The Shop Floor Runs Ten Platforms.", "url": "https://javatask.dev/blog/everyone-has-only-one-container/", "published_at": "2026-07-09T08:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289407b36d", "title": "Zero Trust for OT: Mapping IEC 62443 Zones to Identity-First Architecture, with PKI for Machine Identity", "url": "https://javatask.dev/blog/zero-trust-for-ot-iec-62443-pki-machine-identity/", "published_at": "2026-07-09T07:30:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2894accea4", "title": "The Data-Access Layer Architecture: What 'Accessibility by Design' Actually Means in Code", "url": "https://javatask.dev/blog/data-access-layer-architecture-accessibility-by-design/", "published_at": "2026-07-08T07:30:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28953365a6", "title": "Compliance by Design: An Architecture Reference for EU AI Act Article 12 Logging, NIS2 Reporting Loops, and CRA SBOM", "url": "https://javatask.dev/blog/compliance-by-design-eu-ai-act-nis2-cra-reference/", "published_at": "2026-07-07T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2896112c2a", "title": "The Open Standards Stack of the Software-Defined Edge", "url": "https://javatask.dev/blog/the-open-standards-stack-of-the-software-defined-edge/", "published_at": "2026-07-05T17:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2896b0538d", "title": "The Software-Defined Industrial Edge, Part 1: The Runtime Reframe — Why It Runs on Quadlets, Not Kubernetes", "url": "https://javatask.dev/blog/software-defined-edge-part-1-the-runtime-reframe/", "published_at": "2026-07-05T16:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2896ffa75e", "title": "The Software-Defined Industrial Edge, Part 2: Open by Standard — Margo for Brownfield and Vendor Lock-in", "url": "https://javatask.dev/blog/software-defined-edge-part-2-open-by-standard-margo/", "published_at": "2026-07-05T15:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2897a93100", "title": "The Software-Defined Industrial Edge, Part 3: One Registry for Everything — GitOps + KitOps at the Edge", "url": "https://javatask.dev/blog/software-defined-edge-part-3-one-registry-gitops-kitops/", "published_at": "2026-07-05T14:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2898966e6f", "title": "The Software-Defined Industrial Edge, Part 4: Sovereign Inference — Local-LLM Serving on the Box", "url": "https://javatask.dev/blog/software-defined-edge-part-4-sovereign-inference/", "published_at": "2026-07-05T13:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2898d7f52c", "title": "The Software-Defined Industrial Edge, Part 5: The 88% Wall — The Agent Harness as the Missing Production Layer", "url": "https://javatask.dev/blog/software-defined-edge-part-5-the-88-percent-wall/", "published_at": "2026-07-05T12:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2898dfdd2f", "title": "The Software-Defined Industrial Edge, Part 6: The Data Substrate — Unified Namespace + an Iceberg Lakehouse", "url": "https://javatask.dev/blog/software-defined-edge-part-6-the-data-substrate/", "published_at": "2026-07-05T11:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2898edfaaf", "title": "Agentic Observability: Behavioral Tracing for Production Agents (Langfuse, Arize, and What Actually Works)", "url": "https://javatask.dev/blog/agentic-observability-langfuse-arize-production/", "published_at": "2026-07-05T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28993a3f89", "title": "Agent Governance Architecture: OPA/Rego Tool-Call Authorization, HITL Gates, and the 5-Level Autonomy Taxonomy", "url": "https://javatask.dev/blog/agent-governance-opa-rego-hitl-architecture/", "published_at": "2026-07-05T07:30:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2899a4ffed", "title": "The $0.50 Bin and the Brain in the Corner: What AI-Native Replenishment Actually Looks Like", "url": "https://javatask.dev/blog/the-brain-in-the-corner/", "published_at": "2026-07-04T00:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b2899af118e", "title": "The 2026 EA Technical Map: Quadlets/K3s, OPA/Rego, UNS, and the Dual-Core Skill Set", "url": "https://javatask.dev/blog/modern-ea-hard-skills-stack-2026/", "published_at": "2026-07-02T07:30:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289a349ae0", "title": "The Factory That Pays for Itself, Part 1: One Camera, Twenty Bins", "url": "https://javatask.dev/blog/ekanban-part-1-one-camera-twenty-bins/", "published_at": "2026-06-27T00:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289a36e9c4", "title": "The Factory That Pays for Itself, Part 2: The 50-Cent Bin — Zero-Mechanics Vision Sensing", "url": "https://javatask.dev/blog/ekanban-part-2-the-fifty-cent-bin/", "published_at": "2026-06-26T00:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289a385b8f", "title": "The Factory That Pays for Itself, Part 3: The Gated Duty Cycle — Why Local Inference Decides the Economics", "url": "https://javatask.dev/blog/ekanban-part-3-the-gated-duty-cycle/", "published_at": "2026-06-25T00:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289a4de297", "title": "The Factory That Pays for Itself, Part 4: A Model Is Not a System — The Harness Is the IP", "url": "https://javatask.dev/blog/ekanban-part-4-a-model-is-not-a-system/", "published_at": "2026-06-24T00:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289a6ed986", "title": "The Factory That Pays for Itself, Part 5: ~$40.50 a Bin — What the Whole Stack Actually Costs", "url": "https://javatask.dev/blog/ekanban-part-5-what-the-stack-costs/", "published_at": "2026-06-23T00:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289ad6a6a7", "title": "The Device Control Plane, Part 1: The Podman REST API and the Lifecycle Wall", "url": "https://javatask.dev/blog/the-device-control-plane-part-1-the-podman-rest-api-and-the-lifecycle-wall/", "published_at": "2026-06-21T00:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289bac1598", "title": "The Device Control Plane, Part 2: Quadlet Is Podman Managed by systemd", "url": "https://javatask.dev/blog/the-device-control-plane-part-2-quadlet-is-podman-managed-by-systemd/", "published_at": "2026-06-21T00:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289c98c7ac", "title": "The Device Control Plane, Part 3: The systemd Control API Without the Broker", "url": "https://javatask.dev/blog/the-device-control-plane-part-3-the-systemd-control-api-without-the-broker/", "published_at": "2026-06-21T00:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289d37d181", "title": "The Device Control Plane, Part 4: One REST Surface Over Two Backends", "url": "https://javatask.dev/blog/the-device-control-plane-part-4-one-rest-surface-over-two-backends/", "published_at": "2026-06-21T00:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289d3bbe15", "title": "The Device Control Plane, Part 5: The Honest Edges of a Broker-Free Control Plane", "url": "https://javatask.dev/blog/the-device-control-plane-part-5-the-honest-edges-of-a-broker-free-control-plane/", "published_at": "2026-06-21T00:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289e20e2c2", "title": "The Device Control Plane, Part 6: When Adding the D-Bus Broker Earns Its Place", "url": "https://javatask.dev/blog/the-device-control-plane-part-6-when-adding-the-d-bus-broker-earns-its-place/", "published_at": "2026-06-21T00:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289e509be7", "title": "Five Trends, One Pipeline: What DevConf.CZ 2026 Showed About the Next Industrial Stack", "url": "https://javatask.dev/blog/convergence-pipeline-industrial-edge-devconfcz-2026/", "published_at": "2026-06-20T08:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289e7ce587", "title": "A2A Under Air-Gap: Three Attack Vectors and the Private-CA Answer", "url": "https://javatask.dev/blog/a2a-protocol-attack-vectors/", "published_at": "2026-06-07T07:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b289f45fff2", "title": "Bi-Temporal Edges: Giving Agent Memory a Clock It Can Be Audited Against", "url": "https://javatask.dev/blog/bitemporal-edges-agent-memory/", "published_at": "2026-06-07T07:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a007517e", "title": "Lifecycle Hooks: Where Strands Lets You Put a Read-Only Wall", "url": "https://javatask.dev/blog/strands-lifecycle-hooks-read-only/", "published_at": "2026-06-07T07:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a0ba5395", "title": "Running Multi-Agent Air-Gapped: Durable Execution Without a Managed Orchestrator", "url": "https://javatask.dev/blog/sovereign-multi-agent-durable-execution/", "published_at": "2026-06-07T07:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a164fd66", "title": "The Agent Control Loop: PEV, Ralph, and the State Machine That Bounds It", "url": "https://javatask.dev/blog/agent-harness-control-loop-pev-ralph/", "published_at": "2026-06-07T07:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a21cffcc", "title": "The Harness You Can Read: Externalising Agent Policy as Plain-Language Documents", "url": "https://javatask.dev/blog/agent-harness-policy-you-can-read/", "published_at": "2026-06-07T07:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a30c4bea", "title": "Part 5: Quadlet Comes for Free", "url": "https://javatask.dev/blog/packaging-the-industrial-edge-part-5-quadlet-for-free/", "published_at": "2026-06-05T08:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a3f3b001", "title": "Part 4: Fixing Compose Without Breaking Anyone", "url": "https://javatask.dev/blog/packaging-the-industrial-edge-part-4-fixing-compose/", "published_at": "2026-06-04T08:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a410cded", "title": "Part 3: The Five Elements Helm Already Follows", "url": "https://javatask.dev/blog/packaging-the-industrial-edge-part-3-the-five-elements/", "published_at": "2026-06-03T08:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a50dc579", "title": "What the Margo Community Learned by Doing: A Standards Story from the Factory Floor", "url": "https://javatask.dev/blog/what-the-margo-community-learned-by-doing/", "published_at": "2026-06-02T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a521c5b1", "title": "Part 2: Three Ways the Last Mile Breaks", "url": "https://javatask.dev/blog/packaging-the-industrial-edge-part-2-three-ways-the-last-mile-breaks/", "published_at": "2026-06-02T08:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a58e5a86", "title": "Part 1: The Two Ways Margo Ships an App", "url": "https://javatask.dev/blog/packaging-the-industrial-edge-part-1-two-ways-to-ship/", "published_at": "2026-06-01T08:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a5b93e95", "title": "What Is Margo? A Standard Is Not a Product", "url": "https://javatask.dev/blog/what-is-margo-a-standard-is-not-a-product/", "published_at": "2026-06-01T08:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a6898db9", "title": "Roadmap: From Read-Only Posture to Constrained Write", "url": "https://javatask.dev/blog/digital-coworker-part-8-roadmap-constrained-write/", "published_at": "2026-05-28T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a6b96b82", "title": "The Helm Way: Naming the Publishing Pattern Margo Already Ships", "url": "https://javatask.dev/blog/the-helm-way-margo-oci-publishing-pattern/", "published_at": "2026-05-28T08:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a7385083", "title": "What 19,300 Votes in an Industry Readers' Choice Told Us About Our AI Agent", "url": "https://javatask.dev/blog/digital-coworker-part-7-judges-vs-shipped/", "published_at": "2026-05-25T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a7e48ae8", "title": "Declarative Without the Elasticity Tax: Margo + Quadlets for Cloned Production Cells", "url": "https://javatask.dev/blog/declarative-without-elasticity-tax-margo-quadlets/", "published_at": "2026-05-23T08:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a8906de7", "title": "Bedrock Agents: What Domain Experts Actually Edit", "url": "https://javatask.dev/blog/digital-coworker-part-6-bedrock-agents-what-experts-edit/", "published_at": "2026-05-21T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a938bd9c", "title": "The Data Layer Is the Epistemic Ground for Agents", "url": "https://javatask.dev/blog/digital-coworker-part-5-data-layer-epistemic-ground/", "published_at": "2026-05-18T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28a9b220a7", "title": "The Digital Coworker Architecture: One Principle, Layered Through the Whole System", "url": "https://javatask.dev/blog/digital-coworker-architecture-overview/", "published_at": "2026-05-16T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28aa277df5", "title": "The Knowledge Problem in OT Networks — And Why It Required a New Kind of Product", "url": "https://javatask.dev/blog/digital-coworker-business-overview/", "published_at": "2026-05-16T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28aa5d0504", "title": "Read-Only Posture Is the Trust Model", "url": "https://javatask.dev/blog/digital-coworker-part-4-read-only-posture/", "published_at": "2026-05-14T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28ab0b6aec", "title": "Three Specialised Agents, One Topology Problem: Why Domain Decomposition Beats a Generalist in OT Diagnostics", "url": "https://javatask.dev/blog/digital-coworker-part-3-three-specialised-agents/", "published_at": "2026-05-11T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28ab113bd5", "title": "The Four Markers of AI-Native: What Held Up at One Month", "url": "https://javatask.dev/blog/digital-coworker-part-2-four-markers-one-month/", "published_at": "2026-05-08T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28ab12cb04", "title": "Why Graph Traversal Beats RAG for Safety-Critical OT Diagnostics", "url": "https://javatask.dev/blog/digital-coworker-part-1-graph-traversal-vs-rag/", "published_at": "2026-05-05T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28aba2ee50", "title": "Orchestrating Agent Teams in Production", "url": "https://javatask.dev/blog/agentic-ai-on-aws-orchestrating-agent-teams/", "published_at": "2026-04-29T08:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28ac54ca5e", "title": "Spec-Driven Development with AWS Kiro", "url": "https://javatask.dev/blog/agentic-ai-on-aws-spec-driven-development/", "published_at": "2026-04-29T07:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28ac6fce7c", "title": "What an Industrial AI Award Tells You About the Technology Maturity Curve in 2026", "url": "https://javatask.dev/blog/what-industrial-ai-award-tells-you-maturity-curve/", "published_at": "2026-04-27T09:00:00+00:00" }, { "id": "01a0878b-c3bc-70a5-87d3-9b28ac809a46", "title": "What \"AI-Native\" Actually Means in an Industrial Product", "url": "https://javatask.dev/blog/what-ai-native-actually-means-industrial-product/", "published_at": "2026-04-20T09:00:00+00:00" } ] posts Claim your blog
Back to javatask.dev
Blog · corpus.blog/blogs/javatask.dev/posts

javatask.dev

javatask.dev

2026