<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Loswfx on the log</title><link>https://log.loswf.com/tags/loswfx/</link><description>Recent content in Loswfx on the log</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 30 May 2026 08:54:39 -0400</lastBuildDate><atom:link href="https://log.loswf.com/tags/loswfx/index.xml" rel="self" type="application/rss+xml"/><item><title>m149 c: bench joins the operator surface</title><link>https://log.loswf.com/posts/2026-05-29-m149-c-bench-joins-the-operator-surface/</link><pubDate>Fri, 29 May 2026 17:35:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-29-m149-c-bench-joins-the-operator-surface/</guid><description>c promotes bench into the cli help and the coverage registries, so the command is discoverable and its tests count.</description></item><item><title>m149 b: apply shows its work before it writes</title><link>https://log.loswf.com/posts/2026-05-29-m149-b-apply-shows-its-work-before-it-writes/</link><pubDate>Fri, 29 May 2026 17:20:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-29-m149-b-apply-shows-its-work-before-it-writes/</guid><description>b makes bench report &amp;ndash;apply preview the team.roles diff and only write with &amp;ndash;yes.</description></item><item><title>m149 a: a bench that runs with nothing configured</title><link>https://log.loswf.com/posts/2026-05-29-m149-a-a-bench-that-runs-with-nothing-configured/</link><pubDate>Fri, 29 May 2026 17:05:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-29-m149-a-a-bench-that-runs-with-nothing-configured/</guid><description>a adds bench run &amp;ndash;offline: a deterministic no-config, no-network default for ci and demos.</description></item><item><title>m149 start: harden the bench, then take it live</title><link>https://log.loswf.com/posts/2026-05-29-m149-start-harden-the-bench-then-take-it-live/</link><pubDate>Fri, 29 May 2026 16:55:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-29-m149-start-harden-the-bench-then-take-it-live/</guid><description>m149 hardens the model bench for routine use, then runs the cohort live for real per-role numbers.</description></item><item><title>m149 plan-ready: take the bench live</title><link>https://log.loswf.com/posts/2026-05-29-m149-plan-ready-take-the-bench-live/</link><pubDate>Fri, 29 May 2026 16:40:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-29-m149-plan-ready-take-the-bench-live/</guid><description>m149 hardens the model bench for routine use and runs the candidate cohort live for real per-role numbers.</description></item><item><title>m148 closeout: the model panel is a harness now</title><link>https://log.loswf.com/posts/2026-05-29-m148-closeout-the-model-panel-is-a-harness-now/</link><pubDate>Fri, 29 May 2026 16:25:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-29-m148-closeout-the-model-panel-is-a-harness-now/</guid><description>m148 turns model selection into a reproducible role-keyed benchmark scored on read-only-tool reliability.</description></item><item><title>m148 a: the cheap screen before the spend</title><link>https://log.loswf.com/posts/2026-05-29-m148-a-the-cheap-screen-before-the-spend/</link><pubDate>Fri, 29 May 2026 16:05:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-29-m148-a-the-cheap-screen-before-the-spend/</guid><description>a adds a promptfoo wide-net screen over the openrouter cohort, dry-validated in ci without spend.</description></item><item><title>m148 b3: the scorecard picks the team</title><link>https://log.loswf.com/posts/2026-05-29-m148-b3-the-scorecard-picks-the-team/</link><pubDate>Fri, 29 May 2026 15:55:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-29-m148-b3-the-scorecard-picks-the-team/</guid><description>b3 turns scored rows into a per-role recommendation and an applicable mixed-model team config.</description></item><item><title>m148 b2: the bench runs the real loop</title><link>https://log.loswf.com/posts/2026-05-29-m148-b2-the-bench-runs-the-real-loop/</link><pubDate>Fri, 29 May 2026 15:44:34 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-29-m148-b2-the-bench-runs-the-real-loop/</guid><description>b2 lands bench run: bind a model to a role, run the real agent loop, harvest the ledger into a scored row.</description></item><item><title>m148 b1: harvesting refusal from the ledger</title><link>https://log.loswf.com/posts/2026-05-29-m148-b1-harvesting-refusal-from-the-ledger/</link><pubDate>Fri, 29 May 2026 15:33:11 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-29-m148-b1-harvesting-refusal-from-the-ledger/</guid><description>b1 lands the harvest that reads one run&amp;rsquo;s ledger and scores tool-call reliability, with a relevance/irrelevance metric.</description></item><item><title>m148: a benchmark that measures whether a model will actually read the file</title><link>https://log.loswf.com/posts/2026-05-29-m148-a-benchmark-that-measures-whether-a-model-will-actually-read-the-file/</link><pubDate>Fri, 29 May 2026 15:26:51 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-29-m148-a-benchmark-that-measures-whether-a-model-will-actually-read-the-file/</guid><description>m148 turns model selection into a role-keyed benchmark scored on whether a model uses read-only tools without refusing.</description></item><item><title>m121: shadow holds the keys, engagement carries the source</title><link>https://log.loswf.com/posts/2026-05-28-m121-shadow-holds-the-keys-engagement-carries-the-source/</link><pubDate>Fri, 29 May 2026 03:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m121-shadow-holds-the-keys-engagement-carries-the-source/</guid><description>per-engagement provider secrets land in the shadow, never reach git history. cost source auto-derives from the engagement identity. m120&amp;rsquo;s visibility surface is now operational.</description></item><item><title>m119: events tail closes the last sut gap</title><link>https://log.loswf.com/posts/2026-05-28-m119-events-tail-closes-the-last-sut-gap/</link><pubDate>Fri, 29 May 2026 02:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m119-events-tail-closes-the-last-sut-gap/</guid><description>gap 12 closed minimally. all thirteen sut gaps from rounds 4 and 5 now durable scenarios. flywheel delivered seven closure milestones in two days.</description></item><item><title>m118: agent run learns to refuse over-budget dispatches</title><link>https://log.loswf.com/posts/2026-05-28-m118-agent-run-learns-to-refuse-over-budget-dispatches/</link><pubDate>Fri, 29 May 2026 02:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m118-agent-run-learns-to-refuse-over-budget-dispatches/</guid><description>gap 11 was the highest-severity round-4 surprise. m118 closes it pre-dispatch: cap exceeded, no run, event recorded.</description></item><item><title>m116: engagement replay activated against synthetic ledger</title><link>https://log.loswf.com/posts/2026-05-28-m116-engagement-replay-activated-against-synthetic-ledger/</link><pubDate>Fri, 29 May 2026 01:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m116-engagement-replay-activated-against-synthetic-ledger/</guid><description>gap 18 closed with one fixture step. read-and-print is what m94 actually ships — the verify flag was sut-doc imagination, not kernel.</description></item><item><title>m115: shadow surface activated against fixture tree</title><link>https://log.loswf.com/posts/2026-05-28-m115-shadow-surface-activated-against-fixture-tree/</link><pubDate>Fri, 29 May 2026 00:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m115-shadow-surface-activated-against-fixture-tree/</guid><description>gap 16 closed with one fixture step. m86 query + m88 search + m91 drift all read from the workspace-local fallback tree — faithful exercise, not a mock.</description></item><item><title>m114: four round-4 gaps become durable scenarios</title><link>https://log.loswf.com/posts/2026-05-28-m114-four-round-4-gaps-become-durable-scenarios/</link><pubDate>Thu, 28 May 2026 23:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m114-four-round-4-gaps-become-durable-scenarios/</guid><description>the capability shipped milestones ago; the scenarios never landed. m114 fixes that for four gaps in one cycle — no new features, only the coverage.</description></item><item><title>m99 lands: loswfx cost — summary, by-role, recommend</title><link>https://log.loswf.com/posts/2026-05-28-m99-lands-loswfx-cost-summary-by-role-recommend/</link><pubDate>Fri, 29 May 2026 01:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m99-lands-loswfx-cost-summary-by-role-recommend/</guid><description>loswfx cost summary rolls up workspace usage × catalog cost; cost by-role breaks down per-role per-model; cost recommend surfaces cheaper alternatives. m96-m99 cluster closes.</description></item><item><title>m98 lands: loswfx roles configure — per-role provider/model</title><link>https://log.loswf.com/posts/2026-05-28-m98-lands-loswfx-roles-configure-per-role-provider-model/</link><pubDate>Fri, 29 May 2026 01:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m98-lands-loswfx-roles-configure-per-role-provider-model/</guid><description>loswfx roles list renders the workspace roles table; roles configure &lt;role&gt; &amp;ndash;provider &amp;ndash;model writes the per-role override; loswf-roles-v1 envelope; 3 @m98 scenarios green.</description></item><item><title>m97 lands: provider + model catalog with cost metadata</title><link>https://log.loswf.com/posts/2026-05-28-m97-lands-provider-model-catalog-with-cost-metadata/</link><pubDate>Fri, 29 May 2026 00:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m97-lands-provider-model-catalog-with-cost-metadata/</guid><description>loswf-catalog-v1 schema lands; per-model context window + cost per million input/output tokens + best-for hint; loswfx providers/models commands surface the catalog.</description></item><item><title>m96 lands: loswfx auth — credential store + resolution chain</title><link>https://log.loswf.com/posts/2026-05-28-m96-lands-loswfx-auth-credential-store-resolution-chain/</link><pubDate>Fri, 29 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m96-lands-loswfx-auth-credential-store-resolution-chain/</guid><description>loswf-auth-v1 store at ~/.loswfx/auth.json; add/list/remove CLI; ResolveAPIKey resolution chain — flag &amp;gt; auth.json &amp;gt; env var; 4 @m96 scenarios green.</description></item><item><title>m95 lands: engagement init --interactive — guided onboarding</title><link>https://log.loswf.com/posts/2026-05-28-m95-lands-engagement-init-interactive-guided-onboarding/</link><pubDate>Thu, 28 May 2026 23:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m95-lands-engagement-init-interactive-guided-onboarding/</guid><description>loswfx engagement init &amp;ndash;interactive prompts through engagement repo, shadow path/repo, skills path, roles; &amp;ndash;answers &lt;json-file&gt; script-friendly path; engagement.init.interactive event records the flow.</description></item><item><title>m94 lands: loswfx engagement replay — deterministic decision-sequence playback</title><link>https://log.loswf.com/posts/2026-05-28-m94-lands-loswfx-engagement-replay-deterministic-decision-sequence-playback/</link><pubDate>Thu, 28 May 2026 23:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m94-lands-loswfx-engagement-replay-deterministic-decision-sequence-playback/</guid><description>loswfx engagement replay &amp;ndash;log &lt;path&gt; [&amp;ndash;json] reads a ledger and replays the decision sequence; 2 @m94 scenarios cover fixture playback + missing-log error path.</description></item><item><title>m112: live-engagement gaps become permanent kernel use cases</title><link>https://log.loswf.com/posts/2026-05-28-m112-live-engagement-gaps-become-permanent-kernel-use-cases/</link><pubDate>Thu, 28 May 2026 19:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m112-live-engagement-gaps-become-permanent-kernel-use-cases/</guid><description>three M111 gaps fixed structurally + frozen as durable Gherkin scenarios. the live engagement is now a permanent SUT surface — each cycle feeds the flywheel.</description></item><item><title>m93 lands: loswfx milestone run --live — chained orchestration</title><link>https://log.loswf.com/posts/2026-05-28-m93-lands-loswfx-milestone-run-live-chained-orchestration/</link><pubDate>Thu, 28 May 2026 22:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m93-lands-loswfx-milestone-run-live-chained-orchestration/</guid><description>loswfx milestone run &amp;ndash;live flips the existing dry-run path into chained orchestration; helpful-next-action paths preserved; the kernel can now execute a milestone end-to-end without per-phase operator gating.</description></item><item><title>m111: first live-engagement milestone — Phase 1 deliverables ship + SUT round 5 catches five gaps</title><link>https://log.loswf.com/posts/2026-05-28-m111-first-live-engagement-milestone-phase-1-deliverables-ship-sut-round-5-catches-five-gaps/</link><pubDate>Thu, 28 May 2026 19:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m111-first-live-engagement-milestone-phase-1-deliverables-ship-sut-round-5-catches-five-gaps/</guid><description>real client work as SUT discipline. Phase 1 deliverables ship to iksnae/gitugh, shadow notes push to loswf/shadow-iksnae, five live gaps land in the kernel gap log.</description></item><item><title>m92 lands: SUT round-3 — gaps 7-10 closed (proposals quarantine, fake-pass, config preservation, skill-load)</title><link>https://log.loswf.com/posts/2026-05-28-m92-lands-sut-round-3-gaps-7-10-closed-proposals-quarantine-fake-pass-config-preservation-skill-load/</link><pubDate>Thu, 28 May 2026 22:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m92-lands-sut-round-3-gaps-7-10-closed-proposals-quarantine-fake-pass-config-preservation-skill-load/</guid><description>round-3 closes the four round-2 carry-forward gaps: proposals/ quarantine, fake-provider silent-pass downgrades, legacy config preserved across quarantine, skill.load.succeeded/failed events made explicit.</description></item><item><title>m91 lands: shadow drift visibility — green/amber/red severity</title><link>https://log.loswf.com/posts/2026-05-28-m91-lands-shadow-drift-visibility-green-amber-red-severity/</link><pubDate>Thu, 28 May 2026 21:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m91-lands-shadow-drift-visibility-green-amber-red-severity/</guid><description>shadow.drift reads commits-ahead + last-push-at against the configured remote; severity classifier maps to green/amber/red; loswfx shadow drift CLI surfaces the state.</description></item><item><title>loswf agency ships its first live client response — gitugh product design rfp</title><link>https://log.loswf.com/posts/2026-05-28-loswf-agency-ships-its-first-live-client-response-gitugh-product-design-rfp/</link><pubDate>Thu, 28 May 2026 18:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-loswf-agency-ships-its-first-live-client-response-gitugh-product-design-rfp/</guid><description>the kernel that wrote 110 milestones today just wrote a real client response. audit → research → product brief → engagement plan → response, surfaced as a PR.</description></item><item><title>m90 lands: side: dual frontmatter + atomic dual-commit primitive</title><link>https://log.loswf.com/posts/2026-05-28-m90-lands-side-dual-frontmatter-atomic-dual-commit-primitive/</link><pubDate>Thu, 28 May 2026 21:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m90-lands-side-dual-frontmatter-atomic-dual-commit-primitive/</guid><description>side: dual joins the skill frontmatter validator as a third value; CommitDualArtifact runs the client + shadow commits as an atomic pair with recovered-state on partial failure.</description></item><item><title>m110 lands: engagement init emits schema.legacy_read on normalized files</title><link>https://log.loswf.com/posts/2026-05-28-m110-lands-engagement-init-emits-schema-legacy-read-on-normalized-files/</link><pubDate>Thu, 28 May 2026 17:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m110-lands-engagement-init-emits-schema-legacy-read-on-normalized-files/</guid><description>Gap 14a from SUT round 4 closes — init and the M84 probe path now emit the same schema.legacy_read event on legacy reads. operators audit both surfaces uniformly.</description></item><item><title>m89 lands: promote proposal — the brain-to-body bridge (dry-run)</title><link>https://log.loswf.com/posts/2026-05-28-m89-lands-promote-proposal-the-brain-to-body-bridge-dry-run/</link><pubDate>Thu, 28 May 2026 20:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m89-lands-promote-proposal-the-brain-to-body-bridge-dry-run/</guid><description>loswfx promote proposal &amp;ndash;file &lt;path&gt; &amp;ndash;dry-run reads a shadow proposal artifact and renders the would-be PR body with shadow citations as provenance; real PR creation is the m89-followup.</description></item><item><title>m109 lands: cost-allocation tags + the m100-m109 cloud arc closes</title><link>https://log.loswf.com/posts/2026-05-28-m109-lands-cost-allocation-tags-the-m100-m109-cloud-arc-closes/</link><pubDate>Thu, 28 May 2026 17:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m109-lands-cost-allocation-tags-the-m100-m109-cloud-arc-closes/</guid><description>ten milestones in one grinding session. substrate-and-glue every step, boundaries defined behind m100&amp;rsquo;s interface refactor. the kernel can deploy.</description></item><item><title>m88 lands: shadow search — case-insensitive substring + ranked hits</title><link>https://log.loswf.com/posts/2026-05-28-m88-lands-shadow-search-case-insensitive-substring-ranked-hits/</link><pubDate>Thu, 28 May 2026 20:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m88-lands-shadow-search-case-insensitive-substring-ranked-hits/</guid><description>loswfx shadow search &lt;query&gt; case-insensitive substring scan across artifact bodies; sort.SliceStable ranks by match count; filter combines with m86 frontmatter k=v.</description></item><item><title>m108 lands: OpenTelemetry-shaped tracing + JSON spans to stdout</title><link>https://log.loswf.com/posts/2026-05-28-m108-lands-opentelemetry-shaped-tracing-json-spans-to-stdout/</link><pubDate>Thu, 28 May 2026 16:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m108-lands-opentelemetry-shaped-tracing-json-spans-to-stdout/</guid><description>Tracer + Span boundary lands. JSONTracer emits structured spans to stdout — CloudWatch Logs Insights queryable, OTEL SDK swap is a follow-up.</description></item><item><title>m87 lands: shadow branches — experiments without polluting main</title><link>https://log.loswf.com/posts/2026-05-28-m87-lands-shadow-branches-experiments-without-polluting-main/</link><pubDate>Thu, 28 May 2026 19:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m87-lands-shadow-branches-experiments-without-polluting-main/</guid><description>loswfx shadow branch list/create/switch/merge/abandon — agents get full git semantics on shadow; lazy git init turns any shadow path into a real repo; ledger captures every branch lifecycle event.</description></item><item><title>m107 lands: POST /api/milestone/run write endpoint</title><link>https://log.loswf.com/posts/2026-05-28-m107-lands-post-api-milestone-run-write-endpoint/</link><pubDate>Thu, 28 May 2026 16:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m107-lands-post-api-milestone-run-write-endpoint/</guid><description>operator API gains a milestone-dispatch write endpoint. CLI + API now produce identical audit trails; only data.source differs.</description></item><item><title>m86 lands: loswfx shadow query — cross-engagement read layer</title><link>https://log.loswf.com/posts/2026-05-28-m86-lands-loswfx-shadow-query-cross-engagement-read-layer/</link><pubDate>Thu, 28 May 2026 19:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m86-lands-loswfx-shadow-query-cross-engagement-read-layer/</guid><description>loswfx shadow query [k=v &amp;hellip;] walks shadow across engagements and filters by frontmatter fields; the cross-engagement substrate becomes queryable; 3 @m86 scenarios green.</description></item><item><title>m106 lands: SSM Parameter Store joins the M96 auth chain</title><link>https://log.loswf.com/posts/2026-05-28-m106-lands-ssm-parameter-store-joins-the-m96-auth-chain/</link><pubDate>Thu, 28 May 2026 15:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m106-lands-ssm-parameter-store-joins-the-m96-auth-chain/</guid><description>credential precedence is now flag &amp;gt; auth.json &amp;gt; SSM &amp;gt; env. cloud-mode kernels read per-engagement params via IAM-scoped roles; local mode unchanged.</description></item><item><title>m85 lands: schema migrate command — workspace modernization arc closes</title><link>https://log.loswf.com/posts/2026-05-28-m85-lands-schema-migrate-command-workspace-modernization-arc-closes/</link><pubDate>Thu, 28 May 2026 18:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m85-lands-schema-migrate-command-workspace-modernization-arc-closes/</guid><description>loswfx schema migrate command + migration framework lands; M77 quarantine becomes the fallback path when migrate can&amp;rsquo;t map; engagement.workspace.migrated event records the plan.</description></item><item><title>m105 lands: Step Functions ASL for chained milestone execution</title><link>https://log.loswf.com/posts/2026-05-28-m105-lands-step-functions-asl-for-chained-milestone-execution/</link><pubDate>Thu, 28 May 2026 15:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m105-lands-step-functions-asl-for-chained-milestone-execution/</guid><description>EmitMilestoneStateMachine — each scope item becomes a sequential Task state invoking the kernel Lambda. Retry policy + 4h timeout. Halt-and-resume deferred.</description></item><item><title>m84 lands: tolerant config reader + schema.legacy_read event</title><link>https://log.loswf.com/posts/2026-05-28-m84-lands-tolerant-config-reader-schema-legacy-read-event/</link><pubDate>Thu, 28 May 2026 18:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m84-lands-tolerant-config-reader-schema-legacy-read-event/</guid><description>config readers tolerate missing schemaVersion; loswfx schema legacy-probe reports legacy state; workspace.RecordSchemaLegacyRead emits an audit event so tolerant reads leave a trail.</description></item><item><title>m104 lands: SNS fanout for ledger events</title><link>https://log.loswf.com/posts/2026-05-28-m104-lands-sns-fanout-for-ledger-events/</link><pubDate>Thu, 28 May 2026 14:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m104-lands-sns-fanout-for-ledger-events/</guid><description>Emitter interface + EmittingStore decorator. SNS filter policies move fanout cost to the right place; ledger stays source-of-truth.</description></item><item><title>m83 lands: loswfx workspace unify — legacy .loswf/ migrates into .loswfx/</title><link>https://log.loswf.com/posts/2026-05-28-m83-lands-loswfx-workspace-unify-legacy-loswf-migrates-into-loswfx/</link><pubDate>Thu, 28 May 2026 17:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m83-lands-loswfx-workspace-unify-legacy-loswf-migrates-into-loswfx/</guid><description>loswfx workspace unify migrates legacy .loswf/tools and .loswf/config.yaml into the unified .loswfx/ tree; engagement.workspace.unified ledger event records movedFileCount and configAbsorbed.</description></item><item><title>m103 lands: loswfx deploy template — SAM generator with cost defaults baked in</title><link>https://log.loswf.com/posts/2026-05-28-m103-lands-loswfx-deploy-template-sam-generator-with-cost-defaults-baked-in/</link><pubDate>Thu, 28 May 2026 14:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m103-lands-loswfx-deploy-template-sam-generator-with-cost-defaults-baked-in/</guid><description>engagement → SAM template in one command. arm64, no VPC, S3 lifecycle, log retention, per-agent IAM. cost-optimization pillar is non-negotiable at the generator level.</description></item><item><title>m82 lands: shadow-first harvest — audit/brief/plan move from proposals/ to shadow</title><link>https://log.loswf.com/posts/2026-05-28-m82-lands-shadow-first-harvest-audit-brief-plan-move-from-proposals-to-shadow/</link><pubDate>Thu, 28 May 2026 17:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m82-lands-shadow-first-harvest-audit-brief-plan-move-from-proposals-to-shadow/</guid><description>repo-audit / product-brief / engagement-plan / build deliverable paths move from proposals/ to .loswfx/agency-shadow/; new @m82 workflow-coverage scenario asserts proposals/ stays empty post-build.</description></item><item><title>m102 lands: Lambda handler shim + Graviton container image</title><link>https://log.loswf.com/posts/2026-05-28-m102-lands-lambda-handler-shim-graviton-container-image/</link><pubDate>Thu, 28 May 2026 13:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m102-lands-lambda-handler-shim-graviton-container-image/</guid><description>the kernel now ships as a Lambda function — Handler wraps RunKernelWorkflow, three event envelopes, arm64 container image. runtime identical to local; only the entry point changes.</description></item><item><title>m81 lands: workspace spec + drift validator — modernization arc begins</title><link>https://log.loswf.com/posts/2026-05-28-m81-lands-workspace-spec-drift-validator-modernization-arc-begins/</link><pubDate>Thu, 28 May 2026 16:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m81-lands-workspace-spec-drift-validator-modernization-arc-begins/</guid><description>docs/loswfx-workspace-spec.md lands as the canonical on-disk shape; workspace-spec-current cardinal practice enforces drift detection; M82-M85 planning drafts queue the arc.</description></item><item><title>m101 lands: s3Store + CompositeStore behind the M100 interface</title><link>https://log.loswf.com/posts/2026-05-28-m101-lands-s3store-compositestore-behind-the-m100-interface/</link><pubDate>Thu, 28 May 2026 13:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m101-lands-s3store-compositestore-behind-the-m100-interface/</guid><description>cloud ledger substrate — s3Store + composite primary/mirror — slots in behind m100&amp;rsquo;s interface without touching a single call site.</description></item><item><title>m80 lands: readiness skills.path + work list partial-build signal</title><link>https://log.loswf.com/posts/2026-05-28-m80-lands-readiness-skills-path-work-list-partial-build-signal/</link><pubDate>Thu, 28 May 2026 16:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m80-lands-readiness-skills-path-work-list-partial-build-signal/</guid><description>loswfx readiness Readiness panel + JSON gain skills.path coverage; work list annotates items with their most-recent agent.build.partial signal so silent dead-ends surface.</description></item><item><title>m100 lands: ledger.Store is now an interface</title><link>https://log.loswf.com/posts/2026-05-28-m100-lands-ledger-store-is-now-an-interface/</link><pubDate>Thu, 28 May 2026 12:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m100-lands-ledger-store-is-now-an-interface/</guid><description>first of the m100-m109 aws cloud-deployment arc — ledger.Store is now an interface; jsonl + mirrored-sqlite live behind it; 37 call sites compile unchanged.</description></item><item><title>m79 lands: agent run --skill resolves capability; mismatch refused</title><link>https://log.loswf.com/posts/2026-05-28-m79-lands-agent-run-skill-resolves-capability-mismatch-refused/</link><pubDate>Thu, 28 May 2026 15:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m79-lands-agent-run-skill-resolves-capability-mismatch-refused/</guid><description>loswfx agent run &amp;ndash;skill resolves the capability; CLI rejects conflicting &amp;ndash;skill/&amp;ndash;capability pairs; RunAgentCapability refuses on work-item skill mismatch.</description></item><item><title>m78 lands: kernel refuses workflow.Run on engagement-seeded work items</title><link>https://log.loswf.com/posts/2026-05-28-m78-lands-kernel-refuses-workflow-run-on-engagement-seeded-work-items/</link><pubDate>Thu, 28 May 2026 15:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m78-lands-kernel-refuses-workflow-run-on-engagement-seeded-work-items/</guid><description>RunKernelWorkflow refuses engagement-seeded work items via skill-routing; SuggestedCapabilityForSkill maps skill→capability; engagement.workflow.refused event captures the refusal.</description></item><item><title>m77 lands: legacy-quarantine on engagement init — SUT round-2 gap 1 closed</title><link>https://log.loswf.com/posts/2026-05-28-m77-lands-legacy-quarantine-on-engagement-init-sut-round-2-gap-1-closed/</link><pubDate>Thu, 28 May 2026 14:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m77-lands-legacy-quarantine-on-engagement-init-sut-round-2-gap-1-closed/</guid><description>engagement init quarantines pre-existing .loswfx state into a timestamped .loswfx.previous-&lt;utc&gt;/ directory; engagement.init.legacy.quarantined event lands; SUT round-2 gap 1 closes.</description></item><item><title>m76 lands: chained end-to-end engagement journey against gitugh</title><link>https://log.loswf.com/posts/2026-05-28-m76-lands-chained-end-to-end-engagement-journey-against-gitugh/</link><pubDate>Thu, 28 May 2026 14:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m76-lands-chained-end-to-end-engagement-journey-against-gitugh/</guid><description>the engagement harvest closes: intake → audit → research → brief → plan → iteration → build → ship runs end-to-end against the gitugh fixture as a single chained godog journey.</description></item><item><title>m75 lands: ship phase activated — review + retro close the harvest pipeline</title><link>https://log.loswf.com/posts/2026-05-28-m75-lands-ship-phase-activated-review-retro-close-the-harvest-pipeline/</link><pubDate>Thu, 28 May 2026 13:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m75-lands-ship-phase-activated-review-retro-close-the-harvest-pipeline/</guid><description>ship phase activates: scripted review capability gates ready-to-merge signal; retrospective runs against the engagement with What worked / What broke / Carry forward sections; phase ordering enforced.</description></item><item><title>m74 lands: build phase activated — verify capability + verdict artifact</title><link>https://log.loswf.com/posts/2026-05-28-m74-lands-build-phase-activated-verify-capability-verdict-artifact/</link><pubDate>Thu, 28 May 2026 12:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m74-lands-build-phase-activated-verify-capability-verdict-artifact/</guid><description>build artifact records ≥1 intended SUT change + a verification command; the verify capability runs against the build&amp;rsquo;s named SUT and writes a verdict artifact with PASS/FAIL status.</description></item><item><title>m73 lands: iteration-plan phase activated — child-promotion + Skill on WorkItem</title><link>https://log.loswf.com/posts/2026-05-28-m73-lands-iteration-plan-phase-activated-child-promotion-skill-on-workitem/</link><pubDate>Thu, 28 May 2026 11:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m73-lands-iteration-plan-phase-activated-child-promotion-skill-on-workitem/</guid><description>iteration-plan promotes 3-8 child work items with effort estimates; canonical child-promotion write path lands; Skill persists on workflow.WorkItem; titles reference deliverables from the prior phase.</description></item><item><title>m72 lands: engagement-plan phase activated — composition gating + relative weeks</title><link>https://log.loswf.com/posts/2026-05-28-m72-lands-engagement-plan-phase-activated-composition-gating-relative-weeks/</link><pubDate>Thu, 28 May 2026 10:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m72-lands-engagement-plan-phase-activated-composition-gating-relative-weeks/</guid><description>engagement-plan composes 3-7 numbered phases with Risks (≥2) and Out-of-scope sections; phase composition gates on prerequisites; timelines use relative weeks not calendar dates.</description></item><item><title>m71 lands: product-brief phase activated — frontmatter + required sections</title><link>https://log.loswf.com/posts/2026-05-28-m71-lands-product-brief-phase-activated-frontmatter-required-sections/</link><pubDate>Thu, 28 May 2026 09:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m71-lands-product-brief-phase-activated-frontmatter-required-sections/</guid><description>product-brief joins simulateBuildArtifact; brief shape mandates frontmatter + Product / Customer goal / Source documents sections + README evidence row; open questions reference missing evidence.</description></item><item><title>m70 lands: research phase activated — skill-aware build simulation + brief shape</title><link>https://log.loswf.com/posts/2026-05-28-m70-lands-research-phase-activated-skill-aware-build-simulation-brief-shape/</link><pubDate>Thu, 28 May 2026 08:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m70-lands-research-phase-activated-skill-aware-build-simulation-brief-shape/</guid><description>research phase activates: skill-aware build simulation routes per-skill output; brief shape mandates frontmatter + evidence table + 3 numbered findings; the brief lands in shadow not the tracked tree.</description></item><item><title>m69 lands: audit phase activated — skill metadata + 8 step-defs</title><link>https://log.loswf.com/posts/2026-05-28-m69-lands-audit-phase-activated-skill-metadata-8-step-defs/</link><pubDate>Thu, 28 May 2026 07:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m69-lands-audit-phase-activated-skill-metadata-8-step-defs/</guid><description>audit phase activates with skill metadata on seeded work items, the SUT git-status cleanup, and 8 new step-defs (scripted-build-runs, file-exists-in-engagement-workspace, audit-frontmatter, contract-inputs-warns).</description></item><item><title>m68 lands: engagement intake closes — all four scenarios green</title><link>https://log.loswf.com/posts/2026-05-28-m68-lands-engagement-intake-closes-all-four-scenarios-green/</link><pubDate>Thu, 28 May 2026 06:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m68-lands-engagement-intake-closes-all-four-scenarios-green/</guid><description>engagement.init.failed event lands; intake decomposes the engagement into 2-6 work items (audit, brief, research, plan, iteration, build, ship); all four intake scenarios green.</description></item><item><title>m67 lands: engagement intake activation begins</title><link>https://log.loswf.com/posts/2026-05-28-m67-lands-engagement-intake-activation-begins/</link><pubDate>Thu, 28 May 2026 05:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m67-lands-engagement-intake-activation-begins/</guid><description>engagement init honors a fake-gh env override for fixtures, emits engagement.init.applied, gets new activation step-defs including aGhFixtureForGitugh — phase 1 begins.</description></item><item><title>m66 lands: engagement-pipeline gherkin harvest — sketches</title><link>https://log.loswf.com/posts/2026-05-28-m66-lands-engagement-pipeline-gherkin-harvest-sketches/</link><pubDate>Thu, 28 May 2026 04:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m66-lands-engagement-pipeline-gherkin-harvest-sketches/</guid><description>eight engagement-phase feature files land as sketches: intake, audit, research, product-brief, engagement-plan, iteration-plan, build, ship — the spec layer for the M67-M75 activation arc.</description></item><item><title>m55 lands: dashboard arc closes — practices history + cost + receipt mix</title><link>https://log.loswf.com/posts/2026-05-28-m55-lands-dashboard-arc-closes-practices-history-cost-receipt-mix/</link><pubDate>Thu, 28 May 2026 03:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m55-lands-dashboard-arc-closes-practices-history-cost-receipt-mix/</guid><description>practices-history.jsonl writer + dashboard practices/cost/mix subcommands close the M52-M55 dashboard arc; cross-engagement health, activity, cost, and receipt mix all answerable from one cli surface.</description></item><item><title>m65 lands: practices-history rotation + dashboard SKIP column</title><link>https://log.loswf.com/posts/2026-05-28-m65-lands-practices-history-rotation-dashboard-skip-column/</link><pubDate>Thu, 28 May 2026 02:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m65-lands-practices-history-rotation-dashboard-skip-column/</guid><description>practices.RotateHistory keeps the history file bounded; dashboard practices learns a SKIP column so skipped checks become visible instead of folding into the OK count.</description></item><item><title>m54 lands: activity sparkline column on the cross-engagement table</title><link>https://log.loswf.com/posts/2026-05-28-m54-lands-activity-sparkline-column-on-the-cross-engagement-table/</link><pubDate>Thu, 28 May 2026 02:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m54-lands-activity-sparkline-column-on-the-cross-engagement-table/</guid><description>ActivitySeries readmodel + Sparkline/BarChart primitives + the sparkline column lands on the M52 multi-engagement table; dashboard learns to draw.</description></item><item><title>m64 lands: loswfx milestone grind — multi-cycle driver</title><link>https://log.loswf.com/posts/2026-05-28-m64-lands-loswfx-milestone-grind-multi-cycle-driver/</link><pubDate>Thu, 28 May 2026 02:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m64-lands-loswfx-milestone-grind-multi-cycle-driver/</guid><description>loswfx milestone grind &amp;ndash;cycles N enumerates N consecutive M&lt;N&gt; dispatches; halt-on-closed-highest detection so the driver stops when the queue is drained.</description></item><item><title>m63 lands: milestone-run dispatcher — RunAgentCapability + --dry-run</title><link>https://log.loswf.com/posts/2026-05-28-m63-lands-milestone-run-dispatcher-runagentcapability-dry-run/</link><pubDate>Thu, 28 May 2026 01:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m63-lands-milestone-run-dispatcher-runagentcapability-dry-run/</guid><description>loswfx milestone run dispatches the m62 milestone-execute capability via RunAgentCapability; &amp;ndash;dry-run prints the would-be dispatch; &amp;ndash;surface and &amp;ndash;role overrides for testing.</description></item><item><title>m53 lands: foreman chat — transcript schema + bubbletea panel + dispatch wiring</title><link>https://log.loswf.com/posts/2026-05-28-m53-lands-foreman-chat-transcript-schema-bubbletea-panel-dispatch-wiring/</link><pubDate>Thu, 28 May 2026 01:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m53-lands-foreman-chat-transcript-schema-bubbletea-panel-dispatch-wiring/</guid><description>loswf-foreman-chat-transcript-v1 schema lands in shadow; ForemanChatModel renders the bubbletea panel; ChatService wires prompt → existing M34-M40 dispatch path; foreman finally answers.</description></item><item><title>m62 lands: milestone-execute capability — full interface + dispatcher wiring</title><link>https://log.loswf.com/posts/2026-05-28-m62-lands-milestone-execute-capability-full-interface-dispatcher-wiring/</link><pubDate>Thu, 28 May 2026 01:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m62-lands-milestone-execute-capability-full-interface-dispatcher-wiring/</guid><description>milestone-execute joins the capability registry with Name/SystemPrompt/UserPrompt/Tools all wired; dispatcher recognizes it as a first-class capability.</description></item><item><title>m61 lands: milestone-execute system prompt — the grinder loop in code</title><link>https://log.loswf.com/posts/2026-05-28-m61-lands-milestone-execute-system-prompt-the-grinder-loop-in-code/</link><pubDate>Thu, 28 May 2026 00:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m61-lands-milestone-execute-system-prompt-the-grinder-loop-in-code/</guid><description>MilestoneExecuteSystemPromptBody constant encodes the operator&amp;rsquo;s TDD-iterate-until-DoD loop as a capability system prompt; halt conditions named explicitly.</description></item><item><title>m60 lands: loswfx milestone — the grinder loop becomes a cli surface</title><link>https://log.loswf.com/posts/2026-05-28-m60-lands-loswfx-milestone-the-grinder-loop-becomes-a-cli-surface/</link><pubDate>Thu, 28 May 2026 00:25:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m60-lands-loswfx-milestone-the-grinder-loop-becomes-a-cli-surface/</guid><description>loswfx milestone active surfaces the highest unclosed plan; loswfx milestone run [N] resolves and dispatches; resolveActiveMilestone helper lands; the grinder pattern becomes a kernel command.</description></item><item><title>m59 lands: contract-inputs-present — the 14th cardinal practice</title><link>https://log.loswf.com/posts/2026-05-28-m59-lands-contract-inputs-present-the-14th-cardinal-practice/</link><pubDate>Thu, 28 May 2026 00:15:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m59-lands-contract-inputs-present-the-14th-cardinal-practice/</guid><description>VerifySkillContractInputs joins the practices catalog as the 14th cardinal practice; cli handler renders results; skips without SkillsPath; passes without warnings for non-contract skills.</description></item><item><title>m52 lands: MultiEngagementHealthView — the cross-engagement dashboard</title><link>https://log.loswf.com/posts/2026-05-28-m52-lands-multiengagementhealthview-the-cross-engagement-dashboard/</link><pubDate>Thu, 28 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m52-lands-multiengagementhealthview-the-cross-engagement-dashboard/</guid><description>MultiEngagementHealthView readmodel surfaces every engagement on disk with name/status/artifacts/receipts/failed/lastActivity columns; status derives mechanically from receipt + ledger state.</description></item><item><title>m58 lands: edit-source detector reads the ledger channel</title><link>https://log.loswf.com/posts/2026-05-28-m58-lands-edit-source-detector-reads-the-ledger-channel/</link><pubDate>Wed, 27 May 2026 23:45:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m58-lands-edit-source-detector-reads-the-ledger-channel/</guid><description>the m50 edit-source detector grows a ledger-reader; rows tagged source: ledger merge with source: artifact rows so feedback cascade events flow into the same analysis.</description></item><item><title>m57 lands: loswfx flags discovered — registry snapshot + drift cli</title><link>https://log.loswf.com/posts/2026-05-28-m57-lands-loswfx-flags-discovered-registry-snapshot-drift-cli/</link><pubDate>Wed, 27 May 2026 23:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m57-lands-loswfx-flags-discovered-registry-snapshot-drift-cli/</guid><description>loswfx flags discovered walks internal/cli for per-group flag discovery; &amp;ndash;src override; &amp;ndash;json stable map; &amp;ndash;diff compares against the default registry.</description></item><item><title>cadence pass: m60 → m65</title><link>https://log.loswf.com/posts/2026-05-27-cadence-pass-m60-m65/</link><pubDate>Wed, 27 May 2026 23:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-cadence-pass-m60-m65/</guid><description>six more milestones — the milestone-grinder loop becomes a loswfx capability: cli surface, prompt body, full Capability interface, &amp;ndash;dry-run dispatch, multi-cycle driver, plus practices-history rotation + dashboard SKIP column.</description></item><item><title>m51 lands: loswfx health + practices.RunAll summary enrichment</title><link>https://log.loswf.com/posts/2026-05-28-m51-lands-loswfx-health-practices-runall-summary-enrichment/</link><pubDate>Wed, 27 May 2026 23:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m51-lands-loswfx-health-practices-runall-summary-enrichment/</guid><description>loswfx health ships as the single-pane operator view: practices total/passed/warned/failed counts, 7d receipts grouped, recent activity top 5, structured verdict — OK / OK WITH WARNINGS / FAILING.</description></item><item><title>m56 lands: VerifySkillContractInputs — the m50 contract data gets a verifier</title><link>https://log.loswf.com/posts/2026-05-28-m56-lands-verifyskillcontractinputs-the-m50-contract-data-gets-a-verifier/</link><pubDate>Wed, 27 May 2026 22:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m56-lands-verifyskillcontractinputs-the-m50-contract-data-gets-a-verifier/</guid><description>VerifySkillContractInputs lands as the verifier any caller can gate on; required-with-zero-matches fails; optional inputs absent without failing; {repo} substitution honors empty placeholder.</description></item><item><title>cadence pass: m56 → m59</title><link>https://log.loswf.com/posts/2026-05-27-cadence-pass-m56-m59/</link><pubDate>Wed, 27 May 2026 22:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-cadence-pass-m56-m59/</guid><description>four milestones in one cadence pass — contract data goes load-bearing, flag-registry gets a cli, edit-source detector grows a ledger channel, contract-inputs-present joins the catalog as the 14th validator.</description></item><item><title>m50 lands: contract migration complete + edit-source detector</title><link>https://log.loswf.com/posts/2026-05-28-m50-lands-contract-migration-complete-edit-source-detector/</link><pubDate>Wed, 27 May 2026 22:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m50-lands-contract-migration-complete-edit-source-detector/</guid><description>the remaining 19 skills migrate to contract: frontmatter (27 total); schema gains a kind: marker (deliverable/methodology/verdict/criteria); the edit-source detector lands as the cross-engagement learning surface.</description></item><item><title>m49 lands: skill contract frontmatter pilot + role-contract validator</title><link>https://log.loswf.com/posts/2026-05-28-m49-lands-skill-contract-frontmatter-pilot-role-contract-validator/</link><pubDate>Wed, 27 May 2026 21:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m49-lands-skill-contract-frontmatter-pilot-role-contract-validator/</guid><description>the inputs/process/outputs/verification contract that lived as freeform markdown in 14 of 19 skills moves into machine-parseable yaml frontmatter; role-contract validator pilots against 8 skills.</description></item><item><title>m48 lands: trustworthiness arc closeout — owed tests + flag discovery + tracking-doc canonicalization</title><link>https://log.loswf.com/posts/2026-05-28-m48-lands-trustworthiness-arc-closeout-owed-tests-flag-discovery-tracking-doc-canonicalization/</link><pubDate>Wed, 27 May 2026 20:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m48-lands-trustworthiness-arc-closeout-owed-tests-flag-discovery-tracking-doc-canonicalization/</guid><description>four M43-M47 carry-forwards land in one pass: agent-loop SubmittedTool gate gets a direct unit test, flag-registry gains per-group auto-discovery, 9 M4-M9 tracking docs canonicalized, contributor guide ships.</description></item><item><title>m47 lands: proof_shadow_repo activated + scripted-adapter key-precedence pinned</title><link>https://log.loswf.com/posts/2026-05-28-m47-lands-proof-shadow-repo-activated-scripted-adapter-key-precedence-pinned/</link><pubDate>Wed, 27 May 2026 19:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m47-lands-proof-shadow-repo-activated-scripted-adapter-key-precedence-pinned/</guid><description>three @pending tags inside proof_shadow_repo cleared via system-prompt assertions; scripted-adapter cache reset centralized through a godog hook; five direct unit tests pin the matchKeys precedence owed since M45.</description></item><item><title>m46 lands: remaining proof_* activations + schema-deviation soft warning</title><link>https://log.loswf.com/posts/2026-05-28-m46-lands-remaining-proof-activations-schema-deviation-soft-warning/</link><pubDate>Wed, 27 May 2026 18:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-28-m46-lands-remaining-proof-activations-schema-deviation-soft-warning/</guid><description>two pre-existing proof_* features activated, the last @pending tag cleared in proof_triage_decomposition, scriptedtest gains typed submit-tool builders, and validators learn the soft-warning dimension.</description></item><item><title>loswfx: what it is, where it is, where it's going</title><link>https://log.loswf.com/news/engineering/2026-05-27-loswfx-what-it-is-where-it-is-where-it-s-going/</link><pubDate>Wed, 27 May 2026 15:30:00 -0400</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-27-loswfx-what-it-is-where-it-is-where-it-s-going/</guid><description>an autonomous software factory built around openai-compatible providers — 49 milestones in, three arcs landed, the skill-contract arc just began, brand voice machine-consumable from design.md.</description></item><item><title>loswfx v0.4.0 — orchestrator trustworthiness + native skill support</title><link>https://log.loswf.com/posts/2026-05-27-loswfx-v0-4-0-orchestrator-trustworthiness-native-skill-support/</link><pubDate>Wed, 27 May 2026 14:45:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-loswfx-v0-4-0-orchestrator-trustworthiness-native-skill-support/</guid><description>114 commits since v0.3.3 across two arcs — m41 through m48 trustworthiness + the parallel native-skill-support work.</description></item><item><title>m45 closeout: operator-facing scripted provider + phase scripts</title><link>https://log.loswf.com/posts/2026-05-27-m45-closeout-operator-facing-scripted-provider-phase-scripts/</link><pubDate>Wed, 27 May 2026 14:35:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-m45-closeout-operator-facing-scripted-provider-phase-scripts/</guid><description>phase script bundle (3 tandem + 8 onboarding), &lt;code&gt;loswfx config use fake-scripted&lt;/code&gt; operator wiring, milestone-template canonization.</description></item><item><title>m40 closeout: foreman console lists and confirmations</title><link>https://log.loswf.com/posts/2026-05-27-m40-closeout-foreman-console-lists-and-confirmations/</link><pubDate>Wed, 27 May 2026 14:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-m40-closeout-foreman-console-lists-and-confirmations/</guid><description>bubbles v1 proposal selection + huh v1 confirmation. x is confirmation-first; cancel returns cleanly without executing.</description></item><item><title>m39 closeout: proper charm foreman console</title><link>https://log.loswf.com/posts/2026-05-27-m39-closeout-proper-charm-foreman-console/</link><pubDate>Wed, 27 May 2026 14:25:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-m39-closeout-proper-charm-foreman-console/</guid><description>native tui upgraded to bubbletea v2 + lipgloss v1; explicit foreman panel with keyboard-driven proposal execution.</description></item><item><title>m38 closeout: foreman proposal native actions</title><link>https://log.loswf.com/posts/2026-05-27-m38-closeout-foreman-proposal-native-actions/</link><pubDate>Wed, 27 May 2026 14:20:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-m38-closeout-foreman-proposal-native-actions/</guid><description>by-id shortcut for foreman proposal resume — &lt;code&gt;--approval-request-id &amp;lt;id&amp;gt;&lt;/code&gt; resolves the command automatically.</description></item><item><title>m37 closeout: foreman proposal console read model</title><link>https://log.loswf.com/posts/2026-05-27-m37-closeout-foreman-proposal-console-read-model/</link><pubDate>Wed, 27 May 2026 14:15:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-m37-closeout-foreman-proposal-console-read-model/</guid><description>foreman session view now carries proposal lifecycle counts and renders exact resume commands inline.</description></item><item><title>m36 closeout: foreman proposal resume</title><link>https://log.loswf.com/posts/2026-05-27-m36-closeout-foreman-proposal-resume/</link><pubDate>Wed, 27 May 2026 14:10:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-m36-closeout-foreman-proposal-resume/</guid><description>approved foreman proposals can be resumed by approval-request id with exact-match consumption semantics.</description></item><item><title>m35 closeout: foreman action proposal</title><link>https://log.loswf.com/posts/2026-05-27-m35-closeout-foreman-action-proposal/</link><pubDate>Wed, 27 May 2026 14:05:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-m35-closeout-foreman-action-proposal/</guid><description>executable foreman previews can now be recorded as durable pending proposals, reusing the existing approval-request evidence shape.</description></item><item><title>m34 closeout: foreman action preview</title><link>https://log.loswf.com/posts/2026-05-27-m34-closeout-foreman-action-preview/</link><pubDate>Wed, 27 May 2026 14:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-m34-closeout-foreman-action-preview/</guid><description>foreman prompt responses now carry a typed action preview — label, command, safety status, source, work item, trace.</description></item><item><title>research note: icm folder-as-agent-architecture overlap</title><link>https://log.loswf.com/posts/2026-05-27-research-note-icm-folder-as-agent-architecture-overlap/</link><pubDate>Wed, 27 May 2026 13:40:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-research-note-icm-folder-as-agent-architecture-overlap/</guid><description>arxiv 2603.16021 surfaces a five-layer folder-and-markdown agent architecture. loswfx independently shipped most of it.</description></item><item><title>m44 closeout: scripted dialogues end-to-end</title><link>https://log.loswf.com/posts/2026-05-27-m44-closeout-scripted-dialogues-end-to-end/</link><pubDate>Wed, 27 May 2026 13:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-m44-closeout-scripted-dialogues-end-to-end/</guid><description>the scripted provider drives a full tandem phase end to end. four tracks landed; the eleventh cardinal practice locks acceptance-driven closeout.</description></item><item><title>m43 closeout: orchestrator trustworthiness</title><link>https://log.loswf.com/posts/2026-05-27-m43-closeout-orchestrator-trustworthiness/</link><pubDate>Wed, 27 May 2026 13:20:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-m43-closeout-orchestrator-trustworthiness/</guid><description>three drift validators land alongside bail visibility and a scripted-provider foundation. the orchestrator stops drifting silently.</description></item><item><title>m42 closeout: engagement as system under test</title><link>https://log.loswf.com/posts/2026-05-27-m42-closeout-engagement-as-system-under-test/</link><pubDate>Wed, 27 May 2026 13:10:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-m42-closeout-engagement-as-system-under-test/</guid><description>loswfx exercises its own pipeline as the system under test. practices enforced by code; gherkin coverage of operator surfaces broadened.</description></item><item><title>m41 closeout: native tui and cli surface overhaul</title><link>https://log.loswf.com/posts/2026-05-27-m41-closeout-native-tui-and-cli-surface-overhaul/</link><pubDate>Wed, 27 May 2026 13:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-27-m41-closeout-native-tui-and-cli-surface-overhaul/</guid><description>the operator console grew up — bubbletea snapshots, foreman sessions, capability catalogs, and trace correlation all rendered inline.</description></item><item><title>loswfx ships native skill support</title><link>https://log.loswf.com/news/engineering/2026-05-27-loswfx-ships-native-skill-support/</link><pubDate>Wed, 27 May 2026 12:30:00 -0400</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-27-loswfx-ships-native-skill-support/</guid><description>skills became a first-class layer in loswfx — 26 skills, 7 tool primitives, brand voice machine-consumable from design.md, a soft cardinal practice that nudges planning toward inline diagrams.</description></item><item><title>m33: foreman prompt interface</title><link>https://log.loswf.com/posts/2026-05-25-m33-foreman-prompt-interface-loswfx/</link><pubDate>Mon, 25 May 2026 11:45:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m33-foreman-prompt-interface-loswfx/</guid><description>added the first explicit foreman prompt interface with deterministic intent classification and evidence context.</description></item><item><title>m32: foreman contextual next actions</title><link>https://log.loswf.com/posts/2026-05-25-m32-foreman-contextual-next-actions-loswfx/</link><pubDate>Mon, 25 May 2026 11:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m32-foreman-contextual-next-actions-loswfx/</guid><description>added deterministic next-action selection to foreman sessions.</description></item><item><title>m31: foreman session threads and native console</title><link>https://log.loswf.com/posts/2026-05-25-m31-foreman-session-threads-and-native-console-loswfx/</link><pubDate>Mon, 25 May 2026 11:15:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m31-foreman-session-threads-and-native-console-loswfx/</guid><description>derived foreman thread history from durable dispatch and queue evidence.</description></item><item><title>m30: foreman action dispatch and session persistence</title><link>https://log.loswf.com/posts/2026-05-25-m30-foreman-action-dispatch-and-session-persistence-loswfx/</link><pubDate>Mon, 25 May 2026 11:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m30-foreman-action-dispatch-and-session-persistence-loswfx/</guid><description>promoted the first foreman-dispatched action with readiness gating and durable evidence.</description></item><item><title>m29: team bootstrap and foreman readiness</title><link>https://log.loswf.com/posts/2026-05-25-m29-team-bootstrap-and-foreman-readiness-loswfx/</link><pubDate>Mon, 25 May 2026 10:45:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m29-team-bootstrap-and-foreman-readiness-loswfx/</guid><description>turned provider and team setup into a coordinated readiness surface — foreman.</description></item><item><title>m28: provider readiness and diagnostics persistence</title><link>https://log.loswf.com/posts/2026-05-25-m28-provider-readiness-and-diagnostics-persistence-loswfx/</link><pubDate>Mon, 25 May 2026 10:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m28-provider-readiness-and-diagnostics-persistence-loswfx/</guid><description>hardened provider readiness with recorded probe results, custom endpoint probes, and gherkin use-case coverage.</description></item><item><title>m27: loop trust and ledger and api error semantics</title><link>https://log.loswf.com/posts/2026-05-25-m27-loop-trust-and-ledger-and-api-error-semantics-loswfx/</link><pubDate>Mon, 25 May 2026 10:15:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m27-loop-trust-and-ledger-and-api-error-semantics-loswfx/</guid><description>addressed trust items from issue 10 with orphan transition diagnostics and 404 semantics for missing work items.</description></item><item><title>m26: guided local loop execution and operator ux correctness</title><link>https://log.loswf.com/posts/2026-05-25-m26-guided-local-loop-execution-and-operator-ux-correctness-loswfx/</link><pubDate>Mon, 25 May 2026 10:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m26-guided-local-loop-execution-and-operator-ux-correctness-loswfx/</guid><description>made local loops scriptable and operator-friendly with setup gating and corrected policy-denial semantics.</description></item><item><title>m25: setup facts api contract alignment</title><link>https://log.loswf.com/posts/2026-05-25-m25-setup-facts-api-contract-alignment-loswfx/</link><pubDate>Mon, 25 May 2026 09:45:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m25-setup-facts-api-contract-alignment-loswfx/</guid><description>promoted setup facts from m24 tui behavior into a read model and &lt;code&gt;/api/status&lt;/code&gt; contract.</description></item><item><title>m24: tui readiness and guided local operations</title><link>https://log.loswf.com/posts/2026-05-25-m24-tui-readiness-and-guided-local-operations-loswfx/</link><pubDate>Mon, 25 May 2026 09:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m24-tui-readiness-and-guided-local-operations-loswfx/</guid><description>made the native tui more useful for local bootstrap with a read-only readiness section.</description></item><item><title>m23: capability templates and project configuration bootstrap</title><link>https://log.loswf.com/posts/2026-05-25-m23-capability-templates-and-project-configuration-bootstrap-loswfx/</link><pubDate>Mon, 25 May 2026 09:15:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m23-capability-templates-and-project-configuration-bootstrap-loswfx/</guid><description>removed the highest-friction manual configuration step with a helper command.</description></item><item><title>m22: local usage packaging and operator bootstrap</title><link>https://log.loswf.com/posts/2026-05-25-m22-local-usage-packaging-and-operator-bootstrap-loswfx/</link><pubDate>Mon, 25 May 2026 09:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m22-local-usage-packaging-and-operator-bootstrap-loswfx/</guid><description>added the first supported local install path without a full release channel.</description></item><item><title>m21: sample project loop hardening</title><link>https://log.loswf.com/posts/2026-05-25-m21-sample-project-loop-hardening-loswfx/</link><pubDate>Mon, 25 May 2026 08:45:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m21-sample-project-loop-hardening-loswfx/</guid><description>converted the manual sample-project smoke into repeatable product guidance and test coverage.</description></item><item><title>m20: external client consumption and control panel readiness</title><link>https://log.loswf.com/posts/2026-05-25-m20-external-client-consumption-and-control-panel-readiness-loswfx/</link><pubDate>Mon, 25 May 2026 08:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m20-external-client-consumption-and-control-panel-readiness-loswfx/</guid><description>validated current api consumption from the external-client point of view with a deterministic client smoke and openapi fixes.</description></item><item><title>m19: agent harness expansion</title><link>https://log.loswf.com/posts/2026-05-25-m19-agent-harness-expansion-loswfx/</link><pubDate>Mon, 25 May 2026 08:15:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m19-agent-harness-expansion-loswfx/</guid><description>added the first loswfx-owned agent harness slice with named capability runs.</description></item><item><title>m18: durable proposed-action execution</title><link>https://log.loswf.com/posts/2026-05-25-m18-durable-proposed-action-execution-loswfx/</link><pubDate>Mon, 25 May 2026 08:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m18-durable-proposed-action-execution-loswfx/</guid><description>promoted durable tool_run proposed-action execution through the cli with exact command matching and approval consumption.</description></item><item><title>m17: local usage hardening and install readiness</title><link>https://log.loswf.com/posts/2026-05-25-m17-local-usage-hardening-and-install-readiness-loswfx/</link><pubDate>Mon, 25 May 2026 07:45:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m17-local-usage-hardening-and-install-readiness-loswfx/</guid><description>turned the local smoke path into repeatable operator guidance with a readiness command and comprehensive docs.</description></item><item><title>m16: surface diagnostics and proposed-action semantics</title><link>https://log.loswf.com/posts/2026-05-25-m16-surface-diagnostics-and-proposed-action-semantics-loswfx/</link><pubDate>Mon, 25 May 2026 07:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m16-surface-diagnostics-and-proposed-action-semantics-loswfx/</guid><description>turned m15 observable surface facts into a concrete diagnostics contract with an action eligibility vocabulary.</description></item><item><title>m15: multi-surface operational scale and proposed-action readiness</title><link>https://log.loswf.com/posts/2026-05-25-m15-multi-surface-operational-scale-and-proposed-action-readiness-loswfx/</link><pubDate>Mon, 25 May 2026 07:15:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m15-multi-surface-operational-scale-and-proposed-action-readiness-loswfx/</guid><description>moved from single-surface contracts to multi-surface operator readiness with surface-scoped fixtures and operator journeys.</description></item><item><title>m14: openapi contract seed and client handoff readiness</title><link>https://log.loswf.com/posts/2026-05-25-m14-openapi-contract-seed-and-client-handoff-readiness-loswfx/</link><pubDate>Mon, 25 May 2026 07:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m14-openapi-contract-seed-and-client-handoff-readiness-loswfx/</guid><description>turned the m13 external-client decision into a validated contract handoff with an openapi seed, error catalog, and fixture validation.</description></item><item><title>m13: external client readiness and use-case contracts</title><link>https://log.loswf.com/posts/2026-05-25-m13-external-client-readiness-and-use-case-contracts-loswfx/</link><pubDate>Mon, 25 May 2026 06:45:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m13-external-client-readiness-and-use-case-contracts-loswfx/</guid><description>established the external-client readiness boundary with a contract audit, live-response-backed fixtures, and use-case coverage.</description></item><item><title>m12: operator service hardening and projection durability</title><link>https://log.loswf.com/posts/2026-05-25-m12-operator-service-hardening-and-projection-durability-loswfx/</link><pubDate>Mon, 25 May 2026 06:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m12-operator-service-hardening-and-projection-durability-loswfx/</guid><description>hardened the operator service foundation with a durable jsonl queue projection artifact, freshness diagnostics, and high test coverage.</description></item><item><title>m11: bounded operator queue and approval execution resumption</title><link>https://log.loswf.com/posts/2026-05-25-m11-bounded-operator-queue-and-approval-execution-resumption-loswfx/</link><pubDate>Mon, 25 May 2026 06:15:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m11-bounded-operator-queue-and-approval-execution-resumption-loswfx/</guid><description>converted m10 follow-ups into working foundations with bounded queue reads and approval-gated test-evidence resumption.</description></item><item><title>m10: durable approvals and client contract hardening</title><link>https://log.loswf.com/posts/2026-05-25-m10-durable-approvals-and-client-contract-hardening-loswfx/</link><pubDate>Mon, 25 May 2026 06:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-25-m10-durable-approvals-and-client-contract-hardening-loswfx/</guid><description>turned the m9 approval affordance into durable approval request and decision evidence with live-response-backed fixture tests.</description></item><item><title>m9: tui workflow console and external client readiness</title><link>https://log.loswf.com/posts/2026-05-24-m09-tui-workflow-console-and-external-client-readiness-loswfx/</link><pubDate>Sun, 24 May 2026 10:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-24-m09-tui-workflow-console-and-external-client-readiness-loswfx/</guid><description>turned the m8 tui foundation into a richer workflow console and proved an end-to-end operator loop with contract fixtures.</description></item><item><title>m8: native tui and service contracts</title><link>https://log.loswf.com/posts/2026-05-24-m08-native-tui-and-service-contracts-loswfx/</link><pubDate>Sun, 24 May 2026 09:45:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-24-m08-native-tui-and-service-contracts-loswfx/</guid><description>landed the tui-first native ui foundation and proved service contracts for future external clients.</description></item><item><title>m7: agent developer workflows and operator ux</title><link>https://log.loswf.com/posts/2026-05-24-m07-agent-developer-workflows-and-operator-ux-loswfx/</link><pubDate>Sun, 24 May 2026 09:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-24-m07-agent-developer-workflows-and-operator-ux-loswfx/</guid><description>turned the m6 provider and tool foundation into operator-ready workflows with adrs and a capability catalog.</description></item><item><title>m6: local provider harness and tool policy</title><link>https://log.loswf.com/posts/2026-05-24-m06-local-provider-harness-and-tool-policy-loswfx/</link><pubDate>Sun, 24 May 2026 09:15:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-24-m06-local-provider-harness-and-tool-policy-loswfx/</guid><description>moved from fake-backed provider execution to a real local-first openai-compatible harness with named tool policy.</description></item><item><title>m5: multi-agent factory loop</title><link>https://log.loswf.com/posts/2026-05-24-m05-multi-agent-factory-loop-loswfx/</link><pubDate>Sun, 24 May 2026 09:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-24-m05-multi-agent-factory-loop-loswfx/</guid><description>proved the first auditable multi-agent factory loop with planner, builder, and reviewer roles and bounded retry.</description></item><item><title>m4: provider runtime and execution hardening</title><link>https://log.loswf.com/posts/2026-05-24-m04-provider-runtime-and-execution-hardening-loswfx/</link><pubDate>Sun, 24 May 2026 08:45:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-24-m04-provider-runtime-and-execution-hardening-loswfx/</guid><description>hardened the provider runtime with a fake-backed execution adapter, normalized result shapes, and execution health.</description></item><item><title>m3: live projection and command center hardening</title><link>https://log.loswf.com/posts/2026-05-24-m03-live-projection-and-command-center-hardening-loswfx/</link><pubDate>Sun, 24 May 2026 08:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-24-m03-live-projection-and-command-center-hardening-loswfx/</guid><description>hardened the projection adapter boundary and added browser automation for command-center validation.</description></item><item><title>m2: operator command center and projection boundary</title><link>https://log.loswf.com/posts/2026-05-24-m02-operator-command-center-and-projection-boundary-loswfx/</link><pubDate>Sun, 24 May 2026 08:15:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-24-m02-operator-command-center-and-projection-boundary-loswfx/</guid><description>turned the local kernel into an operator-facing foundation with typed read models and a static command center.</description></item><item><title>m1: local kernel proof</title><link>https://log.loswf.com/posts/2026-05-24-m01-local-kernel-proof-loswfx/</link><pubDate>Sun, 24 May 2026 08:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-24-m01-local-kernel-proof-loswfx/</guid><description>proved durable local workflow state, routes, and bounded phase attempts with audit evidence and causal tracing.</description></item><item><title>loswfx, day one</title><link>https://log.loswf.com/posts/2026-05-22-loswfx-day-one/</link><pubDate>Fri, 22 May 2026 10:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-22-loswfx-day-one/</guid><description>the rfp went out may 22; the kernel-versus-host boundary was asserted in code 24 hours later.</description></item></channel></rss>