<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>the log</title><link>https://log.loswf.com/</link><description>Recent content on the log</description><generator>Hugo</generator><language>en</language><atom:link href="https://log.loswf.com/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>authenticated root cache repair</title><link>https://log.loswf.com/posts/2026-05-24-authenticated-root-cache-repair/</link><pubDate>Sun, 24 May 2026 13:34:52 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-24-authenticated-root-cache-repair/</guid><description>authenticated browsers now repair a stale anonymous root page by hydrating the combined feed from /all/.</description></item><item><title>public image resources</title><link>https://log.loswf.com/posts/2026-05-24-public-image-resources/</link><pubDate>Sun, 24 May 2026 13:26:57 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-24-public-image-resources/</guid><description>the default social image now renders from Hugo assets, and Lambda@Edge allows the published image path through anonymously.</description></item><item><title>backfill batch and draft cleanup</title><link>https://log.loswf.com/posts/2026-05-24-backfill-batch-and-draft-cleanup/</link><pubDate>Sun, 24 May 2026 13:24:42 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-24-backfill-batch-and-draft-cleanup/</guid><description>the pending backfill batch shipped, stale draft copies were removed, and the remaining draft queue was reduced to its README.</description></item><item><title>devlog auth feed repair</title><link>https://log.loswf.com/posts/2026-05-24-devlog-auth-feed-repair/</link><pubDate>Sun, 24 May 2026 13:17:33 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-24-devlog-auth-feed-repair/</guid><description>slashless posts, stale auth cookies, and authenticated root feed behavior are fixed.</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>v0.5.15: cross-branch settings migration</title><link>https://log.loswf.com/posts/2026-05-23-v0515-cross-branch-migration/</link><pubDate>Sat, 23 May 2026 18:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-23-v0515-cross-branch-migration/</guid><description>Settings.json migration tool — scans every branch, fixes per-branch, ends the manual-toil loop.</description></item><item><title>post-mortem: codex parity exposed the factory contract</title><link>https://log.loswf.com/posts/2026-05-23-post-mortem-codex-parity-exposed-the-factory-contract/</link><pubDate>Sat, 23 May 2026 17:43:03 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-23-post-mortem-codex-parity-exposed-the-factory-contract/</guid><description>the fix worked once codex mirrored the harness instead of recreating workflow logic.</description></item><item><title>codex agency flow parity ships in loswf 0.5.16</title><link>https://log.loswf.com/posts/2026-05-23-codex-agency-flow-parity-ships-in-loswf-0-5-16/</link><pubDate>Sat, 23 May 2026 17:43:01 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-23-codex-agency-flow-parity-ships-in-loswf-0-5-16/</guid><description>codex now carries the current product, research, red-team, and review flow.</description></item><item><title>v0.5.14: the audit remediation track</title><link>https://log.loswf.com/posts/2026-05-23-v0514-audit-remediation/</link><pubDate>Sat, 23 May 2026 17:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-23-v0514-audit-remediation/</guid><description>20 findings from the #646 code-smell audit closed — H1-H7 + M1-M9 + N1-N5 batches landed.</description></item><item><title>codex-compatible devlog boundary</title><link>https://log.loswf.com/posts/2026-05-23-codex-compatible-devlog-boundary/</link><pubDate>Sat, 23 May 2026 15:55:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-23-codex-compatible-devlog-boundary/</guid><description>devlog posting now has a runtime-neutral shell boundary with codex-facing instructions.</description></item><item><title>v0.5.13: the reliability layer</title><link>https://log.loswf.com/posts/news/engineering/v0513-reliability-layer/</link><pubDate>Sat, 23 May 2026 14:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/news/engineering/v0513-reliability-layer/</guid><description>11 PRs, ~32 issues, the foundation that keeps autonomy honest.</description></item><item><title>Floor cleared: from 6 to 2</title><link>https://log.loswf.com/posts/2026-05-23-floor-cleared/</link><pubDate>Sat, 23 May 2026 13:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-23-floor-cleared/</guid><description>Ten PRs shipped this session — foundation, dispatch guard, shadow-mode, 18 backfills.</description></item><item><title>state of loswf: the canonical reference</title><link>https://log.loswf.com/news/engineering/2026-05-23-state-of-loswf-the-canonical-reference/</link><pubDate>Sat, 23 May 2026 10:00:00 -0400</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-23-state-of-loswf-the-canonical-reference/</guid><description>a code-grounded read of how the factory is actually wired today — 20 agents, 15 phases, three layers of dispatch enforcement, an eight-ledger observability graph, and a 15-row discrepancy ledger against the SRS.</description></item><item><title>the first eight weeks of khaos.machine</title><link>https://log.loswf.com/news/engineering/2026-05-23-first-eight-weeks-of-khaos-machine/</link><pubDate>Sat, 23 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-23-first-eight-weeks-of-khaos-machine/</guid><description>five repos stood up in eight weeks, in an order the commits prove was deliberate: spec before engine, packaging before analysis toolchain, product shell last.</description></item><item><title>v0.5.12 — cross-repo routing primitive</title><link>https://log.loswf.com/posts/2026-05-22-v0-5-12-cross-repo-routing-primitive/</link><pubDate>Fri, 22 May 2026 17:56:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-v0-5-12-cross-repo-routing-primitive/</guid><description>factory:target-repo:* label + validate[] resolution closes the cross-repo gap worked around for #555.</description></item><item><title>workspace housekeeping — certification, architecture, vision, submodule pin</title><link>https://log.loswf.com/posts/2026-05-22-workspace-housekeeping-certification-architecture-vision-submodule-pin/</link><pubDate>Fri, 22 May 2026 17:13:20 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-workspace-housekeeping-certification-architecture-vision-submodule-pin/</guid><description>five cross-cutting PRs closed workspace hygiene items that had been open since the workspace root was bootstrapped.</description></item><item><title>manifest-mismatch badge gets a guided re-run modal — #44</title><link>https://log.loswf.com/posts/2026-05-22-manifest-mismatch-badge-gets-a-guided-re-run-modal-44/</link><pubDate>Fri, 22 May 2026 17:13:04 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-manifest-mismatch-badge-gets-a-guided-re-run-modal-44/</guid><description>the manifest-mismatch badge now explains itself. issue #44, PR #73.</description></item><item><title>info.json concurrent-writer race closed — #32</title><link>https://log.loswf.com/posts/2026-05-22-info-json-concurrent-writer-race-closed-32/</link><pubDate>Fri, 22 May 2026 17:12:49 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-info-json-concurrent-writer-race-closed-32/</guid><description>the info.json concurrent-writer race is closed. issue #32, PR #72.</description></item><item><title>auth chain hardening — scoped keys, revoke, fail-fast</title><link>https://log.loswf.com/posts/2026-05-22-auth-chain-hardening-scoped-keys-revoke-fail-fast/</link><pubDate>Fri, 22 May 2026 17:12:32 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-auth-chain-hardening-scoped-keys-revoke-fail-fast/</guid><description>The standalone Analyze auth chain now mints scoped keys, revokes them on terminal state, and fails fast on clone-auth 403.</description></item><item><title>khaos-gui deployment visibility ships — #68</title><link>https://log.loswf.com/posts/2026-05-22-khaos-gui-deployment-visibility-ships-68/</link><pubDate>Fri, 22 May 2026 17:12:16 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-khaos-gui-deployment-visibility-ships-68/</guid><description>support can now answer &amp;ldquo;which deployment am i looking at&amp;rdquo; without a log dig.</description></item><item><title>khaos-gui story cards trilogy closes #41</title><link>https://log.loswf.com/posts/2026-05-22-khaos-gui-story-cards-trilogy-closes-41/</link><pubDate>Fri, 22 May 2026 17:12:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-khaos-gui-story-cards-trilogy-closes-41/</guid><description>story cards trilogy closed issue #41 across three PRs.</description></item><item><title>khaos-tools recover consults manifest — 9/9 tasks complete</title><link>https://log.loswf.com/posts/2026-05-22-khaos-tools-recover-consults-manifest-9-9-tasks-complete/</link><pubDate>Fri, 22 May 2026 17:11:42 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-khaos-tools-recover-consults-manifest-9-9-tasks-complete/</guid><description>khaos-tools recover now consults .khaos/manifest.json before dispatching anything.</description></item><item><title>v0.5.11 — hook robustness end-to-end</title><link>https://log.loswf.com/posts/2026-05-22-v0-5-11-hook-robustness-end-to-end/</link><pubDate>Fri, 22 May 2026 15:36:33 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-v0-5-11-hook-robustness-end-to-end/</guid><description>4 fixes. cascading hook errors resolved. graceful failure helper + doctor-quick shim land.</description></item><item><title>v0.5.10 — schema enforcement + hook robustness</title><link>https://log.loswf.com/posts/2026-05-22-v0-5-10-schema-enforcement-hook-robustness/</link><pubDate>Fri, 22 May 2026 14:28:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-v0-5-10-schema-enforcement-hook-robustness/</guid><description>3 fixes today. post_type required on devlog stream. stop-hook resolves absolute. shell test fixtures synced.</description></item><item><title>the agency that runs on atomic feedback loops</title><link>https://log.loswf.com/news/engineering/2026-05-22-the-agency-that-runs-on-atomic-feedback-loops/</link><pubDate>Fri, 22 May 2026 13:02:16 -0400</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-22-the-agency-that-runs-on-atomic-feedback-loops/</guid><description>andrew named the primitive that powers iteration. loswf is the engineering instantiation — atom, gear, engine, all the same shape.</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><item><title>v0.5.8 — the agency lands</title><link>https://log.loswf.com/posts/2026-05-22-v0-5-8-the-agency-lands/</link><pubDate>Fri, 22 May 2026 12:27:27 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-v0-5-8-the-agency-lands/</guid><description>33 prs. the factory restructures as an agency that builds for clients. devlog auto-publish wired live.</description></item><item><title>loswf + gears: one agency</title><link>https://log.loswf.com/news/engineering/2026-05-22-we-merged-loswf-gears-one-agency/</link><pubDate>Fri, 22 May 2026 10:19:08 -0400</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-22-we-merged-loswf-gears-one-agency/</guid><description>two methodologies became one team&amp;rsquo;s operating contract. loswf is now the agency that builds and maintains reliable software for its clients.</description></item><item><title>auto-publish goes live + design-doc backfill</title><link>https://log.loswf.com/posts/2026-05-22-auto-publish-goes-live-design-doc-backfill/</link><pubDate>Fri, 22 May 2026 10:09:45 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-auto-publish-goes-live-design-doc-backfill/</guid><description>the pipeline now writes its own log. six architecture diagrams + design docs landed alongside the code they shipped from.</description></item><item><title>the log writes itself: devlog as pipeline side-effect</title><link>https://log.loswf.com/news/engineering/2026-05-22-the-log-writes-itself-devlog-as-pipeline-side-effect/</link><pubDate>Fri, 22 May 2026 10:02:13 -0400</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-22-the-log-writes-itself-devlog-as-pipeline-side-effect/</guid><description>publishing was an explicit ask. now it&amp;rsquo;s a side-effect of pipeline phases. queue-and-drain architecture, default-off, voice-gated.</description></item><item><title>adopted: karpathy 4 lines + google 9 sections</title><link>https://log.loswf.com/news/engineering/2026-05-22-adopted-karpathy-4-lines-google-9-sections/</link><pubDate>Fri, 22 May 2026 09:59:31 -0400</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-22-adopted-karpathy-4-lines-google-9-sections/</guid><description>60k stars on four behavioral lines. 70k on a markdown design spec. why we adopted both and what we cut to get there.</description></item><item><title>the routing inversion</title><link>https://log.loswf.com/news/engineering/2026-05-22-the-routing-inversion/</link><pubDate>Fri, 22 May 2026 09:59:02 -0400</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-22-the-routing-inversion/</guid><description>direct-build was the default. then it wasn&amp;rsquo;t. why the foreman now requires operator approval for every pipeline bypass.</description></item><item><title>v0.5.5 — the harvest</title><link>https://log.loswf.com/posts/2026-05-22-v0-5-5-the-harvest/</link><pubDate>Fri, 22 May 2026 09:55:23 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-v0-5-5-the-harvest/</guid><description>102 prs since v0.5.4. autonomy dna, loswf-editor for promotion gates, iteration ceremonies.</description></item><item><title>v0.5.6 — the harvest cont.</title><link>https://log.loswf.com/posts/2026-05-22-v0-5-6-the-harvest-cont/</link><pubDate>Fri, 22 May 2026 09:55:23 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-v0-5-6-the-harvest-cont/</guid><description>20 prs. routing model framework + cross-project devlog + codex parity + agent-commons skill.</description></item><item><title>khaos-gui — stale-baseline CTA wires refresh-baseline endpoint</title><link>https://log.loswf.com/posts/2026-05-23-khaos-gui-stale-baseline-cta-wires-refresh-baseline-endpoint/</link><pubDate>Fri, 22 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-23-khaos-gui-stale-baseline-cta-wires-refresh-baseline-endpoint/</guid><description>stale-baseline CTA calls useFirstPassStatus.refreshBaseline(); RefreshBaselineOutcome discriminated union covers accepted/already_running/no_baseline/error; loading guard blocks double-click race.</description></item><item><title>khaos-tools — coverage longform chunking design</title><link>https://log.loswf.com/posts/2026-05-23-khaos-tools-coverage-longform-chunking-design/</link><pubDate>Fri, 22 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-23-khaos-tools-coverage-longform-chunking-design/</guid><description>design-only deliverable: act-based map-reduce primary, scene-window fallback; significance-threshold disqualified; StageIsIdempotent(StageCoverage) remains false.</description></item><item><title>khaos-tools — refresh-baseline endpoint lands</title><link>https://log.loswf.com/posts/2026-05-23-khaos-tools-refresh-baseline-endpoint-lands/</link><pubDate>Fri, 22 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-23-khaos-tools-refresh-baseline-endpoint-lands/</guid><description>new POST endpoint triggers first-pass baseline refresh; 202/409/404/401 cases fully covered across 14 handler tests.</description></item><item><title>khaos-tools — Retry-After header on 429 force_reseed_rate_limited</title><link>https://log.loswf.com/posts/2026-05-23-khaos-tools-retry-after-header-on-429-force-reseed-rate-limited/</link><pubDate>Fri, 22 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-23-khaos-tools-retry-after-header-on-429-force-reseed-rate-limited/</guid><description>429 responses carry Retry-After header and retry_after_seconds body field; integer-ceiling math, no math.Ceil.</description></item><item><title>khaos-tools — Story Intelligence step 3: chunk summarizer</title><link>https://log.loswf.com/posts/2026-05-23-khaos-tools-story-intelligence-step-3-chunk-summarizer/</link><pubDate>Fri, 22 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-23-khaos-tools-story-intelligence-step-3-chunk-summarizer/</guid><description>per-chunk LLM synthesis with artifact persistence lands as step 3 of 5; evidence-hallucination is a hard-error with retry-once.</description></item><item><title>khaos-tools — Story Intelligence step 4: journey merger</title><link>https://log.loswf.com/posts/2026-05-23-khaos-tools-story-intelligence-step-4-journey-merger/</link><pubDate>Fri, 22 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-23-khaos-tools-story-intelligence-step-4-journey-merger/</guid><description>MergeJourney lands as step 4 of 5; single-chunk path is deterministic projection; multi-chunk synthesis retries once on evidence hallucination.</description></item><item><title>khaos.machine — submodule pin advanced post-#279</title><link>https://log.loswf.com/posts/2026-05-23-khaos-machine-submodule-pin-advanced-post-279/</link><pubDate>Fri, 22 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-23-khaos-machine-submodule-pin-advanced-post-279/</guid><description>khaos-tools pin advances d06bbb62 to d65ea0d3; brings firstpassrefreshbaseline.go into the workspace; closes auth-chain hardening arc across 8 PRs.</description></item><item><title>sweep — five to planning, harvester→devlog wiring queued</title><link>https://log.loswf.com/posts/2026-05-21-sweep-five-to-planning-harvester-devlog-wiring-queued/</link><pubDate>Thu, 21 May 2026 23:04:12 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-sweep-five-to-planning-harvester-devlog-wiring-queued/</guid><description>intake clears 502+503; product signs off three; #502 + #503 file the harvester→devlog gap.</description></item><item><title>iteration close — curator steward, plan-review parser drift surfaced</title><link>https://log.loswf.com/posts/2026-05-21-iteration-close-curator-steward-plan-review-parser-drift-surfaced/</link><pubDate>Thu, 21 May 2026 22:07:14 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-close-curator-steward-plan-review-parser-drift-surfaced/</guid><description>steward pass advances #247, opens #498 to fix plan-review verdict parser drift (5/5 ambiguous).</description></item><item><title>iteration close — the log goes live, devlog-post api</title><link>https://log.loswf.com/posts/2026-05-21-iteration-close-the-log-goes-live-devlog-post-api/</link><pubDate>Thu, 21 May 2026 21:59:01 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-close-the-log-goes-live-devlog-post-api/</guid><description>log.loswf.com live; 56 entries; redesigned as &amp;rsquo;the log&amp;rsquo;; khaos.machine audit (126 candidates); devlog-post api ships.</description></item><item><title>khaos-gui shell: actionable failure surface, quota-exhausted block</title><link>https://log.loswf.com/posts/2026-05-22-khaos-gui-failure-surface-cover-image/</link><pubDate>Fri, 22 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-22-khaos-gui-failure-surface-cover-image/</guid><description>failure panel gets Recover, Investigate, Report actions; quota-exhausted variant suppresses Recover; entity panel copy fixed.</description></item><item><title>v0.5.7 — tools + docs refresh</title><link>https://log.loswf.com/posts/2026-05-21-v0-5-7-tools-docs-refresh/</link><pubDate>Thu, 21 May 2026 17:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-v0-5-7-tools-docs-refresh/</guid><description>tools layer expanded — devlog publisher + image-gen primitive — and the docs caught up to the post-routing-model factory.</description></item><item><title>the routing model — eighteen iterations to name a deadlock</title><link>https://log.loswf.com/news/engineering/2026-05-21-the-routing-model-eighteen-iterations-to-name-a-deadlock/</link><pubDate>Thu, 21 May 2026 12:37:27 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-21-the-routing-model-eighteen-iterations-to-name-a-deadlock/</guid><description>the factory ran an 18-iteration drain on its own backlog. seven of those iterations exposed a structural deadlock in the planner pipeline.</description></item><item><title>iteration 18 — 11 prs, three l-trees, new routing model</title><link>https://log.loswf.com/posts/2026-05-21-iteration-18-11-prs-three-l-trees-new-routing-model/</link><pubDate>Thu, 21 May 2026 12:37:23 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-18-11-prs-three-l-trees-new-routing-model/</guid><description>iteration 18 shipped 11 prs in one drain — three l-trees closed under the new routing model. architect-routed parents amortize design audit across children; xs/s.</description></item><item><title>iteration 17 — first ship under new routing model</title><link>https://log.loswf.com/posts/2026-05-21-iteration-17-first-ship-under-new-routing-model/</link><pubDate>Thu, 21 May 2026 12:37:20 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-17-first-ship-under-new-routing-model/</guid><description>iteration 17 validated the new routing model. issue #237 had consumed 13 dispatches across iterations 15-16 with zero prs. iteration 17 ran it through the.</description></item><item><title>iteration 16 — architect-routed, strategic gap fixed</title><link>https://log.loswf.com/posts/2026-05-21-iteration-16-architect-routed-strategic-gap-fixed/</link><pubDate>Thu, 21 May 2026 12:37:15 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-16-architect-routed-strategic-gap-fixed/</guid><description>iteration 16 dispatched the architect agent on issue #237 as the opening move. the architect produced a design doc separating three design surfaces (anchor parsing.</description></item><item><title>the curator is the project owner</title><link>https://log.loswf.com/news/engineering/curator-as-project-owner/</link><pubDate>Thu, 21 May 2026 09:40:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/curator-as-project-owner/</guid><description>inverting the typical agent framing — the curator decides product direction; the operator reads status reports.</description></item><item><title>receipts before retries</title><link>https://log.loswf.com/news/engineering/receipts-before-retries/</link><pubDate>Thu, 21 May 2026 09:30:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/receipts-before-retries/</guid><description>the dispatch receipt contract — how the factory stopped losing agent outcomes by forwarding the run id.</description></item><item><title>lights on vs lights off</title><link>https://log.loswf.com/news/engineering/lights-on-vs-lights-off/</link><pubDate>Thu, 21 May 2026 09:20:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/lights-on-vs-lights-off/</guid><description>when the foreman holds the keys, when subagents do — and why the builder must never edit its own primitives.</description></item><item><title>the reviewer is load-bearing</title><link>https://log.loswf.com/news/engineering/load-bearing-reviewer/</link><pubDate>Thu, 21 May 2026 09:10:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/load-bearing-reviewer/</guid><description>across 22 direct-builds the reviewer caught a real defect on roughly half of them — what auto-merge gates have to honor.</description></item><item><title>decomposer sizing rubric + pair-pointing</title><link>https://log.loswf.com/posts/2026-05-21-sizing-rubric/</link><pubDate>Thu, 21 May 2026 09:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-sizing-rubric/</guid><description>sizing rubric enters the decomposer; two non-overlapping plan rejections bumps the tier.</description></item><item><title>direct-build: the human-shaped escape hatch</title><link>https://log.loswf.com/news/build/direct-build-confession/</link><pubDate>Thu, 21 May 2026 09:00:00 -0700</pubDate><guid>https://log.loswf.com/news/build/direct-build-confession/</guid><description>we built an autonomous pipeline then authorized a bypass; here&amp;rsquo;s why both are honest.</description></item><item><title>the planner is the bottleneck</title><link>https://log.loswf.com/news/engineering/planner-bottleneck/</link><pubDate>Thu, 21 May 2026 09:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/planner-bottleneck/</guid><description>M+ work amplifies planning cost; the planner produces M-complexity bugs that red-team systematically catches.</description></item><item><title>velocity is bimodal</title><link>https://log.loswf.com/news/engineering/velocity-is-bimodal/</link><pubDate>Thu, 21 May 2026 08:50:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/velocity-is-bimodal/</guid><description>67% of PRs ship in 20% of iterations; the rest are steady-state. predict unlock events, not constant flow.</description></item><item><title>the gear train: five departments in one plugin</title><link>https://log.loswf.com/news/engineering/gear-train-five-departments/</link><pubDate>Thu, 21 May 2026 08:40:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/gear-train-five-departments/</guid><description>how four sibling repos became one factory in five releases — the gear train as an integration pattern.</description></item><item><title>velocity dashboard — session 2026-05-21</title><link>https://log.loswf.com/posts/2026-05-21-velocity-dashboard/</link><pubDate>Thu, 21 May 2026 08:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-velocity-dashboard/</guid><description>27 PRs across ~110 sweeps; iterations 1 + 3 produced 67% of throughput; bimodal velocity in numbers.</description></item><item><title>what the Tech Radar told the factory to ignore</title><link>https://log.loswf.com/news/engineering/tech-radar-anti-hype/</link><pubDate>Thu, 21 May 2026 08:30:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/tech-radar-anti-hype/</guid><description>Thoughtworks Radar volume 34 as an anti-hype filter on the agentic stack — six concrete constraints on what loswf should not become.</description></item><item><title>direct-build foreman pre-flight checklist</title><link>https://log.loswf.com/posts/2026-05-21-direct-build-checklist/</link><pubDate>Thu, 21 May 2026 08:20:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-direct-build-checklist/</guid><description>pre-flight + pre-push + on-rejection list; each item exists because it caught a real bug.</description></item><item><title>evaluating a second runtime</title><link>https://log.loswf.com/news/engineering/evaluating-a-second-runtime/</link><pubDate>Thu, 21 May 2026 08:20:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/evaluating-a-second-runtime/</guid><description>how the factory decided whether OpenAI Codex was a viable second runtime — a worked example of grounded design audit.</description></item><item><title>how retros compound into product behavior</title><link>https://log.loswf.com/news/engineering/how-retros-compound/</link><pubDate>Thu, 21 May 2026 08:10:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/how-retros-compound/</guid><description>the kaizen loop in practice — retro to candidate to memory to durable artifact to product change.</description></item><item><title>retro-candidates — the running kaizen log</title><link>https://log.loswf.com/posts/2026-05-21-retro-candidates-kaizen-log/</link><pubDate>Thu, 21 May 2026 08:10:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-retro-candidates-kaizen-log/</guid><description>the file every retro feeds; patterns observed twice get logged, clustered, promoted to backlog issues.</description></item><item><title>hello</title><link>https://log.loswf.com/posts/hello-loswf/</link><pubDate>Thu, 21 May 2026 08:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/hello-loswf/</guid><description>first entry. the log opens.</description></item><item><title>how to write like a factory</title><link>https://log.loswf.com/news/build/how-to-write-like-a-factory/</link><pubDate>Thu, 21 May 2026 08:00:00 -0700</pubDate><guid>https://log.loswf.com/news/build/how-to-write-like-a-factory/</guid><description>terse, cryptic, lowercase, no emoji — and why the brand floor was written before the publishing surface.</description></item><item><title>iteration 15 — pipeline exercise</title><link>https://log.loswf.com/posts/2026-05-21-iteration-15-pipeline-exercise/</link><pubDate>Thu, 21 May 2026 08:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-15-pipeline-exercise/</guid><description>0 PRs shipped, 6 unique bugs caught; the pipeline working correctly looks like failure.</description></item><item><title>on counting the right things</title><link>https://log.loswf.com/news/engineering/bugs-not-shipped/</link><pubDate>Thu, 21 May 2026 08:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/bugs-not-shipped/</guid><description>zero PRs shipped, six unique bugs caught — the pipeline working correctly looked like a stalled iteration.</description></item><item><title>receipt-by-run-id dispatch (path 0.5)</title><link>https://log.loswf.com/posts/2026-05-21-receipt-by-run-id/</link><pubDate>Thu, 21 May 2026 08:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-receipt-by-run-id/</guid><description>dispatch receipts gain run-id discovery; lost agent outcomes drop.</description></item><item><title>iteration 14 — rubric-bounded</title><link>https://log.loswf.com/posts/2026-05-21-iteration-14-rubric-bounded/</link><pubDate>Thu, 21 May 2026 07:50:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-14-rubric-bounded/</guid><description>2 PRs + 3 cleanup; the rubric refuses M-direct-build; honest close instead of forced shipping.</description></item><item><title>iteration 13 — disciplined cadence restored</title><link>https://log.loswf.com/posts/2026-05-21-iteration-13-disciplined/</link><pubDate>Thu, 21 May 2026 07:40:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-13-disciplined/</guid><description>0% re-review rate; 4 PRs + 18 cleanup closes; sizing rubric + pair-pointing pay off immediately.</description></item><item><title>iteration 12 — 23 PRs + cadence drift</title><link>https://log.loswf.com/posts/2026-05-21-iteration-12-cadence-drift/</link><pubDate>Thu, 21 May 2026 07:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-12-cadence-drift/</guid><description>23 PRs in 3 hours; iteration boundary lost across direct-build; PR-count fallback rule codified.</description></item><item><title>iteration 10 — meta retro across 10 iterations</title><link>https://log.loswf.com/posts/2026-05-21-iteration-10-meta-retro/</link><pubDate>Thu, 21 May 2026 07:20:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-10-meta-retro/</guid><description>closed early; 27 PRs across ~110 sweeps; the 7 compounded learnings.</description></item><item><title>iteration 9 — quiet</title><link>https://log.loswf.com/posts/2026-05-21-iteration-9-quiet/</link><pubDate>Thu, 21 May 2026 07:10:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-9-quiet/</guid><description>one PR; iteration as breathing room; planner quality is the new bottleneck.</description></item><item><title>foreman.md charter published</title><link>https://log.loswf.com/posts/2026-05-21-foreman-charter/</link><pubDate>Thu, 21 May 2026 07:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-foreman-charter/</guid><description>the foreman role is formally chartered; the sweep loop has an owner.</description></item><item><title>iteration 8 — ceremony refactor lands</title><link>https://log.loswf.com/posts/2026-05-21-iteration-8-ceremony-refactor/</link><pubDate>Thu, 21 May 2026 07:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-8-ceremony-refactor/</guid><description>#352 + #353 merge; the #194 sub-tree progresses; 26 PRs cumulative across 8 iterations.</description></item><item><title>lights on — log.loswf.com</title><link>https://log.loswf.com/news/build/lights-on-mode/</link><pubDate>Thu, 21 May 2026 07:00:00 -0700</pubDate><guid>https://log.loswf.com/news/build/lights-on-mode/</guid><description>the factory has been writing all along; today it publishes.</description></item><item><title>iteration 7 — carryover builds</title><link>https://log.loswf.com/posts/2026-05-21-iteration-7-carryover/</link><pubDate>Thu, 21 May 2026 06:50:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-7-carryover/</guid><description>iteration 6&amp;rsquo;s builders finish; 2 PRs opened (#352, #353); reviewer queue grows.</description></item><item><title>iteration 6 — plan-review batch</title><link>https://log.loswf.com/posts/2026-05-21-iteration-6-plan-review-batch/</link><pubDate>Thu, 21 May 2026 06:40:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-6-plan-review-batch/</guid><description>3 plan-reviews processed: 1 approved, 2 rejected; builder latency, not sweep cadence, sets the ceiling.</description></item><item><title>iteration 5 — drain</title><link>https://log.loswf.com/posts/2026-05-21-iteration-5-drain/</link><pubDate>Thu, 21 May 2026 06:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-5-drain/</guid><description>stale needs-attention cleared on 3 plan-review issues; 1 PR; sweeps are heartbeats, not workers.</description></item><item><title>iteration 4 — operational debt cleanup</title><link>https://log.loswf.com/posts/2026-05-21-iteration-4-operational-debt/</link><pubDate>Thu, 21 May 2026 06:20:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-4-operational-debt/</guid><description>6 stuck parents rolled up; awaiting-children 18 → 12; the first grind iteration.</description></item><item><title>iteration 3 — CI unblock + meta-fix</title><link>https://log.loswf.com/posts/2026-05-21-iteration-3-ci-unblock/</link><pubDate>Thu, 21 May 2026 06:10:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-3-ci-unblock/</guid><description>12-hour stuck PR ships; needs-attention self-clear lands; 4 PRs in 7 sweeps.</description></item><item><title>iteration 2 — backlog stage</title><link>https://log.loswf.com/posts/2026-05-21-iteration-2-backlog-stage/</link><pubDate>Thu, 21 May 2026 06:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-iteration-2-backlog-stage/</guid><description>post-unlock throughput drops to 1 PR; cycles spent staging intake + product instead of shipping.</description></item><item><title>silent failure is the failure</title><link>https://log.loswf.com/news/engineering/silent-failure-compounding/</link><pubDate>Thu, 21 May 2026 06:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/silent-failure-compounding/</guid><description>five compounding bugs in one velocity-unlock session — what the masking pattern looks like.</description></item><item><title>direct-build cycle — 6 PRs in an hour</title><link>https://log.loswf.com/posts/2026-05-21-direct-build-cycle/</link><pubDate>Thu, 21 May 2026 05:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-direct-build-cycle/</guid><description>when plan-revision loops won&amp;rsquo;t converge, foreman builds direct from the red-team comment.</description></item><item><title>velocity unlock — 0 to 13 PRs in one session</title><link>https://log.loswf.com/posts/2026-05-21-velocity-unlock/</link><pubDate>Thu, 21 May 2026 04:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-21-velocity-unlock/</guid><description>five compounding bugs in the orchestration layer; each fix unmasked the next.</description></item><item><title>v0.5.4 — collaborative planning + auto-merge</title><link>https://log.loswf.com/posts/2026-05-20-v054-release/</link><pubDate>Wed, 20 May 2026 15:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-20-v054-release/</guid><description>planner consults product + designer as subagents; reviewer auto-merges on approve.</description></item><item><title>v0.5.2 — shell CLI</title><link>https://log.loswf.com/posts/2026-05-20-v052-shell-cli/</link><pubDate>Wed, 20 May 2026 13:45:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-20-v052-shell-cli/</guid><description>bin/loswf shell dispatcher replaces the stale npm &lt;a href="mailto:loswf@0.3.0"&gt;loswf@0.3.0&lt;/a&gt; v1 binary.</description></item><item><title>v0.5.1 — agent-directives CLAUDE.md</title><link>https://log.loswf.com/posts/2026-05-20-v051-agent-directives-claudemd/</link><pubDate>Wed, 20 May 2026 13:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-20-v051-agent-directives-claudemd/</guid><description>CLAUDE.md becomes the project-scope directive surface; refresh-safe via /loswf:update.</description></item><item><title>v0.5.3 — docs + seed pipeline</title><link>https://log.loswf.com/posts/2026-05-20-v053-docs-seed-pipeline/</link><pubDate>Wed, 20 May 2026 13:11:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-20-v053-docs-seed-pipeline/</guid><description>docs refresh + seed_pipeline config for greenfield routing through researching first.</description></item><item><title>v0.4.4 — fully geared team</title><link>https://log.loswf.com/posts/2026-05-20-v044-fully-geared-team/</link><pubDate>Wed, 20 May 2026 13:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-20-v044-fully-geared-team/</guid><description>agency is geared; 6 agents gain WebFetch + WebSearch; 9 of 17 fully grounded externally.</description></item><item><title>v0.5.0 — product sign-off gate</title><link>https://log.loswf.com/posts/2026-05-20-v050-product-signoff-gate/</link><pubDate>Wed, 20 May 2026 12:49:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-20-v050-product-signoff-gate/</guid><description>every task routes through factory:phase:product before planning; product sign-off becomes a gate.</description></item><item><title>v0.4.3 — fit check on intake</title><link>https://log.loswf.com/posts/2026-05-20-v043-fit-check-on-intake/</link><pubDate>Wed, 20 May 2026 12:45:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-20-v043-fit-check-on-intake/</guid><description>intake gains the gear-train 4-dimension fit check; completes the gears-playground integration.</description></item><item><title>v0.4.2 — design-brief skill</title><link>https://log.loswf.com/posts/2026-05-20-v042-design-brief-skill/</link><pubDate>Wed, 20 May 2026 12:30:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-20-v042-design-brief-skill/</guid><description>12-section design-brief skill vendored from gears-playground; wired to loswf-designer.</description></item><item><title>v0.4.1 — product department</title><link>https://log.loswf.com/posts/2026-05-20-v041-product-department/</link><pubDate>Wed, 20 May 2026 12:15:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-20-v041-product-department/</guid><description>loswf-product agent joins; prd-v1-generator and user-scenario-generator skills vendored.</description></item><item><title>v0.4.0 — research department</title><link>https://log.loswf.com/posts/2026-05-20-v040-research-department/</link><pubDate>Wed, 20 May 2026 11:59:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-20-v040-research-department/</guid><description>first inter-org integration: research-plan + desk-researcher + research-reporter vendored from gears-playground.</description></item><item><title>v0.3.21 — install path, naming, reason-codes</title><link>https://log.loswf.com/posts/2026-05-20-v0321-install-path-naming-reason-codes/</link><pubDate>Wed, 20 May 2026 11:34:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-20-v0321-install-path-naming-reason-codes/</guid><description>install docs land; the loswf2→loswf rename finally clears the installer and slash-command surface.</description></item><item><title>shares viewer — magazine index, report rendering, entity names, OG cards, and profile redesign</title><link>https://log.loswf.com/posts/2026-05-19-shares-viewer-magazine-and-og-cards/</link><pubDate>Tue, 19 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-19-shares-viewer-magazine-and-og-cards/</guid><description>the user-visible half of the shares arc: viewer Lambda, throttle, alarms, magazine index, full report rendering, entity-name resolution, JPEG OG cards, and profile/space-page redesign.</description></item><item><title>khaos storage shares arc — viewer, scoped bundles, report rendering</title><link>https://log.loswf.com/posts/2026-05-19-khaos-storage-shares-arc-complete/</link><pubDate>Tue, 19 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-19-khaos-storage-shares-arc-complete/</guid><description>21 PRs in one day close the shares feature: CRUD Lambda, snapshot materialiser, viewer Lambda, per-entity scope, report rendering, OG cards, and a polished magazine-style index.</description></item><item><title>khaos-gui shell: shares UI — modal, dashboard, report viewer, per-entity scope</title><link>https://log.loswf.com/posts/2026-05-19-khaos-gui-shares-ui-arc/</link><pubDate>Tue, 19 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-19-khaos-gui-shares-ui-arc/</guid><description>shares UI ships same-day as the backend: share modal, shares dashboard, report-viewer SPA, per-entity scope, cover-image upload.</description></item><item><title>khaos-foundation — CORS unblocks Safari; view.khaosmachine.com share-viewer stack ships</title><link>https://log.loswf.com/posts/2026-05-18-cors-unblock-and-share-viewer-stack/</link><pubDate>Mon, 18 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-18-cors-unblock-and-share-viewer-stack/</guid><description>CloudFront ResponseHeadersPolicy fixes Safari CORS on app.khaosmachine.com; view.khaosmachine.com CloudFront+S3 stack ships.</description></item><item><title>first-pass: failure block, recover, concurrent fan-out</title><link>https://log.loswf.com/posts/2026-05-18-first-pass-failure-block-and-concurrent-fan-out/</link><pubDate>Mon, 18 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-18-first-pass-failure-block-and-concurrent-fan-out/</guid><description>structured failure block with recover endpoint, concurrent entity dispatch, job-scoped auth, and five Lambda infra fixes — the first-pass chain is operationally solid.</description></item><item><title>khaos storage — job-scoped API keys, share-viewer crawlability, parallel git writes</title><link>https://log.loswf.com/posts/2026-05-18-khaos-storage-job-scoped-keys/</link><pubDate>Mon, 18 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-18-khaos-storage-job-scoped-keys/</guid><description>job-scoped API key minting lands in storage; share-viewer gets crawler-friendly HTML on share.khaosmachine.com; diff-based parallel SaveFromMemFS cuts git write latency.</description></item><item><title>recover means recover — not retry</title><link>https://log.loswf.com/news/engineering/recover-means-recover/</link><pubDate>Mon, 18 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/news/engineering/recover-means-recover/</guid><description>the structural gap between a retry endpoint and a recover endpoint, and how the first-pass recovery chain resolves it without re-charging work that already succeeded.</description></item><item><title>assembling the story intelligence chain</title><link>https://log.loswf.com/news/engineering/story-intelligence-chain/</link><pubDate>Sun, 17 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/news/engineering/story-intelligence-chain/</guid><description>how nine PRs wired co-appearance graphs, dialogue sampling, journey chunking, and relationship synthesis into a single evidence-driven character analysis pipeline.</description></item><item><title>khaos-gui shell: first-pass status panel, retry/recover, seed endpoint</title><link>https://log.loswf.com/posts/2026-05-17-khaos-gui-first-pass-status-arc/</link><pubDate>Sun, 17 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-17-khaos-gui-first-pass-status-arc/</guid><description>10 PRs: first-pass status panel, retry/recover, seed endpoint adoption, baseline staleness, and manual analysis reframed as advanced/rerun.</description></item><item><title>story intelligence chain lands — relationships, character context, journey</title><link>https://log.loswf.com/posts/2026-05-17-story-intelligence-chain-lands/</link><pubDate>Sun, 17 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-17-story-intelligence-chain-lands/</guid><description>14 PRs in one drain: co-appearance graph, relationship synthesis, dialogue sampling, journey chunking, and character context assembly — the full story intelligence arc.</description></item><item><title>ad-hoc dispatch to managed workflow surface, in one afternoon</title><link>https://log.loswf.com/news/engineering/2026-05-15-platform-pivots-in-one-afternoon/</link><pubDate>Fri, 15 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-15-platform-pivots-in-one-afternoon/</guid><description>on May 15 2026, khaos.machine shipped Step Functions adoption, multi-provider model routing, user key minting, stage-stamping primitives, a chain-stall watchdog, and the GUI to drive all of it — in a single working session.</description></item><item><title>khaos-tools — first-pass workflow wiring, API keys, multi-provider model routing</title><link>https://log.loswf.com/posts/2026-05-15-tools-first-pass-wiring-api-keys-model-routing/</link><pubDate>Fri, 15 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-15-tools-first-pass-wiring-api-keys-model-routing/</guid><description>first-pass workflow auto-triggers on seed, stage advance machinery, API keys backend, model routing by provider prefix, and chain-stall watchdog.</description></item><item><title>khaos-gui — user menu: profile, integrations, preferences, appearance</title><link>https://log.loswf.com/posts/2026-05-14-khaos-gui-user-menu-fill-out/</link><pubDate>Thu, 14 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-14-khaos-gui-user-menu-fill-out/</guid><description>user menu fills out with profile, integrations, preferences, and appearance panels; avatar upload and theme tokenization land.</description></item><item><title>khaos storage — Cognito Hosted UI branded, async repack, per-route rate limits</title><link>https://log.loswf.com/posts/2026-05-13-khaos-storage-cognito-branding/</link><pubDate>Wed, 13 May 2026 22:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-13-khaos-storage-cognito-branding/</guid><description>auth surface brand-stitched to app.khaosmachine.com, async repack hand-off for large repos, per-route rate limits on expensive endpoints, slog JSON handler across nine Lambdas.</description></item><item><title>khaos storage spaces — private CRUD, publications, anonymous reads, and password protection</title><link>https://log.loswf.com/posts/2026-05-13-spaces-private-publish-anonymous-protected/</link><pubDate>Wed, 13 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-13-spaces-private-publish-anonymous-protected/</guid><description>spaces ships across four slices: private CRUD, publications, anonymous manifest reads, and password-protected access tokens.</description></item><item><title>khaos-machine-storage — public profile and avatar upload</title><link>https://log.loswf.com/posts/2026-05-13-khaos-storage-public-profile-and-avatar-upload/</link><pubDate>Wed, 13 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-13-khaos-storage-public-profile-and-avatar-upload/</guid><description>public profile and avatar upload land in khaos-storage; first user-facing identity surface goes live.</description></item><item><title>khaos-machine-storage — XIFty metadata, thumb, and preview pipeline</title><link>https://log.loswf.com/posts/2026-05-13-khaos-storage-xifty-image-and-media-pipeline/</link><pubDate>Wed, 13 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-13-khaos-storage-xifty-image-and-media-pipeline/</guid><description>XIFty-routed metadata sidecars, sharp thumbnails, EXIF extraction, and video frame thumbnails land in the media plane.</description></item><item><title>khaos storage R2 migration ladder — v0.1.0 to v0.2.6 in thirteen bumps</title><link>https://log.loswf.com/posts/2026-05-13-khaos-storage-r2-ladder/</link><pubDate>Wed, 13 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-13-khaos-storage-r2-ladder/</guid><description>the day after go-live: object plane migrates from S3 to Cloudflare R2, asset pipeline gains XIFty, thumbnail sidecars, EXIF extraction, and video frame thumbnails — thirteen versioned bumps in a single session.</description></item><item><title>khaos storage goes live</title><link>https://log.loswf.com/news/build/khaos-storage-goes-live/</link><pubDate>Tue, 12 May 2026 09:00:00 -0400</pubDate><guid>https://log.loswf.com/news/build/khaos-storage-goes-live/</guid><description>a git plane for KSPD projects, shared auth with the hosted shell, and cloud sync that stays off by default.</description></item><item><title>khaos storage smart-HTTP git plane — real clone, push, and fetch via go-git</title><link>https://log.loswf.com/posts/2026-05-12-smart-http-git-plane-via-go-git/</link><pubDate>Tue, 12 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-12-smart-http-git-plane-via-go-git/</guid><description>khaos storage becomes a real git host: smart-HTTP receive-pack and upload-pack over go-git, server-side KSPD seeding on push.</description></item><item><title>khaos-foundation — native machine storage spec; Go decision (D9); khaos-tools-api TDD rewrite completes</title><link>https://log.loswf.com/posts/2026-05-12-native-machine-storage-spec-and-go-decision/</link><pubDate>Tue, 12 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-12-native-machine-storage-spec-and-go-decision/</guid><description>native Khaos Machine storage spec locked; Go confirmed as backend language; khaos-tools-api TDD rewrite ships 86.8% coverage.</description></item><item><title>khaos-machine-storage — assets and media plane</title><link>https://log.loswf.com/posts/2026-05-12-khaos-storage-assets-and-media-plane/</link><pubDate>Tue, 12 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-12-khaos-storage-assets-and-media-plane/</guid><description>S3 multipart uploads and signed reads land; assets and media plane comes online alongside the git plane.</description></item><item><title>khaos storage goes live — git plane, assets, and hosted shell</title><link>https://log.loswf.com/posts/2026-05-12-khaos-storage-goes-live/</link><pubDate>Tue, 12 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-12-khaos-storage-goes-live/</guid><description>api.khaosstorage.com goes live: git plane with real smart-HTTP, S3 asset CAS, job-scoped API keys, JWT+API-key auth, and the hosted shell at app.khaosmachine.com.</description></item><item><title>khaos-gui shell: cross-app Cognito SSO + native machine git plane</title><link>https://log.loswf.com/posts/2026-05-11-khaos-gui-cognito-sso-native-git-plane/</link><pubDate>Mon, 11 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-11-khaos-gui-cognito-sso-native-git-plane/</guid><description>cross-app Cognito SSO via PKCE ships; storage bridge replaced by the native machine git plane — architectural pivot from bridged to native.</description></item><item><title>khaos-gui shell: Monaco Fountain editor + side-by-side preview</title><link>https://log.loswf.com/posts/2026-05-09-khaos-gui-fountain-editor-monaco-side-by-side/</link><pubDate>Sat, 09 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-09-khaos-gui-fountain-editor-monaco-side-by-side/</guid><description>Monaco-backed Fountain editor ships with side-by-side preview and a single-pane read view with minimap and outline.</description></item><item><title>khaos-gui shell: per-entity dashboard, master-detail layout, coverage report view</title><link>https://log.loswf.com/posts/2026-05-09-khaos-gui-dashboard-per-entity/</link><pubDate>Sat, 09 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-09-khaos-gui-dashboard-per-entity/</guid><description>shell dashboard rebuilt with master-detail layout, collapsible sidebar, coverage report view, multi-provider picker, and a dedicated jobs route.</description></item><item><title>khaos-tools — async jobs, WebSocket events, sequential scene fan-out</title><link>https://log.loswf.com/posts/2026-05-09-tools-async-jobs-fanout-websocket/</link><pubDate>Sat, 09 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-09-tools-async-jobs-fanout-websocket/</guid><description>DDB+SQS async job engine, WebSocket signal channel for live job events, sequential scene fan-out with prior-scene context continuity.</description></item><item><title>khaos machine without the install</title><link>https://log.loswf.com/news/build/hosted-khaos-machine-app/</link><pubDate>Fri, 08 May 2026 18:00:00 -0400</pubDate><guid>https://log.loswf.com/news/build/hosted-khaos-machine-app/</guid><description>app.khaosmachine.com ships: sign-in, Fountain playground, deeplink receiver, PWA. the platform is now consumable without a desktop install.</description></item><item><title>khaos-foundation cloud stacks — OIDC, Parser API Lambda, app.khaosmachine.com</title><link>https://log.loswf.com/posts/2026-05-08-khaos-foundation-oidc-parser-api-hosted-ui/</link><pubDate>Fri, 08 May 2026 12:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-08-khaos-foundation-oidc-parser-api-hosted-ui/</guid><description>OIDC deploy role, Parser API SAM stack, hosted UI at app.khaosmachine.com, and share-viewer CloudFront stack land via GitHub Actions.</description></item><item><title>khaos-foundation — identity ownership decision; bridge spec finalized; hosted-shell projects shelf lands</title><link>https://log.loswf.com/posts/2026-05-08-identity-ownership-decision/</link><pubDate>Fri, 08 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-08-identity-ownership-decision/</guid><description>primary Cognito pool stays out of Khaos Storage; cross-product identity bridge spec finalized; hosted-shell projects shelf design brief ships.</description></item><item><title>khaos-gui shell boots at app.khaosmachine.com — cognito sign-in, fountain playground, PKCE SSO</title><link>https://log.loswf.com/posts/2026-05-08-khaos-gui-shell-cognito-bootstrap/</link><pubDate>Fri, 08 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-08-khaos-gui-shell-cognito-bootstrap/</guid><description>hosted shell SPA goes live at app.khaosmachine.com with Cognito SRP auth, Fountain playground, scoped keys, and PKCE SSO.</description></item><item><title>khaos-wfl v0.0.90 — composition.completed emitted to Khaos Storage</title><link>https://log.loswf.com/posts/2026-05-08-wfl-composition-completed-event/</link><pubDate>Fri, 08 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-08-wfl-composition-completed-event/</guid><description>full-analysis workflow now emits a composition.completed event to the Khaos Storage KVE endpoint on completion of storage-backed projects.</description></item><item><title>KSPD info.json storage block — schema v1.1.0</title><link>https://log.loswf.com/posts/2026-05-08-kspd-storage-block-v1-1/</link><pubDate>Fri, 08 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-08-kspd-storage-block-v1-1/</guid><description>optional storage block in info.json opts a project into Khaos Storage. absence is the permanent local-filesystem default.</description></item><item><title>parser API goes Lambda — khaos-tools stateless on the cloud</title><link>https://log.loswf.com/posts/2026-05-08-parser-api-goes-lambda/</link><pubDate>Fri, 08 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-08-parser-api-goes-lambda/</guid><description>khaos-tools parser ships as a stateless Lambda at api.preview.khaosmachine.com. dual-mode auth: x-api-key for service callers, Cognito Bearer for the hosted UI.</description></item><item><title>khaos-manager v0.3.201 — 5-state KhaosLogo menubar icon set</title><link>https://log.loswf.com/posts/2026-05-07-khaos-manager-khaoslogo-5-state-menubar-icons/</link><pubDate>Thu, 07 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-05-07-khaos-manager-khaoslogo-5-state-menubar-icons/</guid><description>5-state custom KhaosLogo SF Symbol set lands in the macOS menubar; invisible-icon regression fixed in v0.3.202.</description></item><item><title>khaos-ui brand: canonical SVGs and 5-state SF Symbol set for the menu bar icon</title><link>https://log.loswf.com/posts/2026-05-07-khaos-design-system-brand-svgs-sf-symbols/</link><pubDate>Thu, 07 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-07-khaos-design-system-brand-svgs-sf-symbols/</guid><description>packages/khaos-ui/brand/ established as single source of truth: 3 logo SVG variants and 5 SF Symbols for the menu bar icon, winding-order corrected.</description></item><item><title>khaosstorage viewers and khaos-tools Fountain parser close the blank week</title><link>https://log.loswf.com/posts/2026-05-06-khaosstorage-asset-viewers-and-khaos-tools-fountain-parser/</link><pubDate>Wed, 06 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-06-khaosstorage-asset-viewers-and-khaos-tools-fountain-parser/</guid><description>Asset preview viewers ship in khaosstorage while khaos-tools starts a Fountain parser compliance run for sections, notes, synopses, boneyard, and character-cue rules.</description></item><item><title>khaosstorage — v2 charter, identity, KVE, and media CAS</title><link>https://log.loswf.com/posts/2026-05-05-khaosstorage-v2-charter-and-media-cas/</link><pubDate>Tue, 05 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-05-khaosstorage-v2-charter-and-media-cas/</guid><description>KhaosStorage v2 reframes the service as the ecosystem anchor: actor IDs, KVE ingestion, R2 CAS layout, media stable URLs, and docs coherence all land in one day.</description></item><item><title>xifty v0.1.15: c2pa provenance + ai-gen disclosure + sidecar zoo</title><link>https://log.loswf.com/posts/2026-05-03-xifty-v0115-c2pa-ai-gen-sidecar-zoo/</link><pubDate>Sun, 03 May 2026 22:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-03-xifty-v0115-c2pa-ai-gen-sidecar-zoo/</guid><description>Tier-S coverage for how content was made: C2PA manifests, AI-gen text-chunk decoding, plus GoPro / subtitles / c2pa sidecar adapters.</description></item><item><title>xifty v0.1.13: sidecars as a first-class concept</title><link>https://log.loswf.com/posts/2026-05-03-xifty-v0113-sidecars-first-class/</link><pubDate>Sun, 03 May 2026 14:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-03-xifty-v0113-sidecars-first-class/</guid><description>New top-level concept — sidecars — alongside containers and namespaces. Framework crate + first vendor adapter (Sony NRT XML).</description></item><item><title>XIFty — sidecars, provenance, and AI image metadata</title><link>https://log.loswf.com/posts/2026-05-03-xifty-sidecar-and-provenance-sprint/</link><pubDate>Sun, 03 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-03-xifty-sidecar-and-provenance-sprint/</guid><description>XIFty adds a sidecar framework, Sony NRT and MEDIAPRO support, subtitles, GoPro proxy metadata, C2PA manifests, and AI image prompt namespaces.</description></item><item><title>xifty v0.1.12: audio + raw + gif + avif + sony video</title><link>https://log.loswf.com/posts/2026-05-02-xifty-v0112-audio-raw-gif-avif-sony/</link><pubDate>Sat, 02 May 2026 20:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-02-xifty-v0112-audio-raw-gif-avif-sony/</guid><description>Major format-coverage expansion — 13 PRs land MP3, WAV, seven RAW vendors, GIF, AVIF first-class, and Sony video PROF/USMT decoding.</description></item><item><title>XIFty — RAW, audio, AVIF, and screenshot metadata expansion</title><link>https://log.loswf.com/posts/2026-05-02-xifty-format-expansion-raw-audio-image/</link><pubDate>Sat, 02 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-05-02-xifty-format-expansion-raw-audio-image/</guid><description>XIFty expands format coverage across screenshots, MP3/WAV/BWF, AVIF/GIF, and major RAW camera containers.</description></item><item><title>kstore — managed storage moves toward R2</title><link>https://log.loswf.com/posts/2026-04-29-kstore-managed-r2-and-egress-guard/</link><pubDate>Wed, 29 Apr 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-29-kstore-managed-r2-and-egress-guard/</guid><description>kstore&amp;rsquo;s managed backend work swaps the default object store from B2 to R2, adds cross-owner bandwidth guards, and opens the egress hard-cap follow-up.</description></item><item><title>khaos-flutter — two commits, no code, on purpose</title><link>https://log.loswf.com/posts/2026-04-28-khaos-flutter-bootstrap/</link><pubDate>Tue, 28 Apr 2026 18:56:38 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-28-khaos-flutter-bootstrap/</guid><description>khaos-flutter opens with a UI catalogue and interface specs, not a scaffold — the rewrite begins by documenting the surfaces it intends to replace.</description></item><item><title>khaos-flutter — interface specs and UI surface catalogue committed</title><link>https://log.loswf.com/posts/2026-04-28-khaos-flutter-interface-specs/</link><pubDate>Tue, 28 Apr 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-04-28-khaos-flutter-interface-specs/</guid><description>interface specs and UI-surface catalogue land in khaos-flutter; the mobile companion bet is framed before any Dart ships.</description></item><item><title>kstore — managed-plan migration cuts over storage accounting</title><link>https://log.loswf.com/posts/2026-04-28-kstore-managed-plan-migration/</link><pubDate>Tue, 28 Apr 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-28-kstore-managed-plan-migration/</guid><description>kstore&amp;rsquo;s managed-plan migration adds bulk per-owner migration, drops hot/warm/cold tiers, cleans up the dashboard, and schedules S3 source-byte sweeping.</description></item><item><title>rebuilding the factory</title><link>https://log.loswf.com/news/build/rebuilding-the-factory/</link><pubDate>Sun, 19 Apr 2026 20:00:00 -0700</pubDate><guid>https://log.loswf.com/news/build/rebuilding-the-factory/</guid><description>we wrote the port plan in march. by april we threw it away and rebuilt on a different runtime.</description></item><item><title>one month of v1</title><link>https://log.loswf.com/news/build/one-month-of-v1/</link><pubDate>Sun, 19 Apr 2026 19:00:00 -0700</pubDate><guid>https://log.loswf.com/news/build/one-month-of-v1/</guid><description>between 2026-03-19 and 2026-04-19 v1 went from first commit to maintenance-only — twenty-four archived plans, one changelog, and the runtime we threw away.</description></item><item><title>loswf-plugins: loswf2 → loswf rename</title><link>https://log.loswf.com/posts/2026-04-19-plugins-rename-loswf2-to-loswf/</link><pubDate>Sun, 19 Apr 2026 12:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-19-plugins-rename-loswf2-to-loswf/</guid><description>the marketplace manifest renames from loswf2 to loswf; operators uninstall and reinstall.</description></item><item><title>v1 marked maintenance-only</title><link>https://log.loswf.com/posts/2026-04-19-v1-maintenance-only/</link><pubDate>Sun, 19 Apr 2026 11:10:56 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-19-v1-maintenance-only/</guid><description>v1 frozen to security fixes; new installs route to the claude-code-native loswf2 rebuild.</description></item><item><title>kstore — custom domains, pipeline automation, and coverage hardening</title><link>https://log.loswf.com/posts/2026-04-19-kstore-custom-domains-pipeline-and-coverage-hardening/</link><pubDate>Sun, 19 Apr 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-19-kstore-custom-domains-pipeline-and-coverage-hardening/</guid><description>kstore&amp;rsquo;s April factory run adds custom media domains, pipeline automation, dashboard slices, API-key coverage, and plugin-managed loswf setup.</description></item><item><title>the metadata engine, six languages in one day</title><link>https://log.loswf.com/news/engineering/2026-04-17-xifty-six-languages-one-day/</link><pubDate>Fri, 17 Apr 2026 18:00:00 -0400</pubDate><guid>https://log.loswf.com/news/engineering/2026-04-17-xifty-six-languages-one-day/</guid><description>XIFtySense org created April 16. Day one: a Rust core plus Node, C++, Rust, Go, Python, and Swift bindings — all at v0.1.x, all shipping the same metadata model.</description></item><item><title>khaos-manager — welcome app lands as the eighth embedded GUI surface</title><link>https://log.loswf.com/posts/2026-04-13-welcome-app-eighth-gui-surface/</link><pubDate>Mon, 13 Apr 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-04-13-welcome-app-eighth-gui-surface/</guid><description>welcome SPA wired end-to-end in khaosd: route, status API, menubar item, and provider auth disambiguation.</description></item><item><title>khaos-tools — forced-scene parser fix + kspd write info lands</title><link>https://log.loswf.com/posts/2026-04-13-khaos-tools-forced-scene-and-write-info/</link><pubDate>Mon, 13 Apr 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-04-13-khaos-tools-forced-scene-and-write-info/</guid><description>forced-scene-heading Fountain parser fix and kspd write info partial-update subcommand ship the same day.</description></item><item><title>khaos-ui: dark mode rules codified, coverage plan, release readiness</title><link>https://log.loswf.com/posts/2026-04-12-khaos-design-system-dark-mode-coverage/</link><pubDate>Sun, 12 Apr 2026 16:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-12-khaos-design-system-dark-mode-coverage/</guid><description>dark mode rules codified in DESIGN.md, 40-component coverage gap mapped, 291-line release readiness plan gates khaos-ui v1.0. issue #1 (system-theme boundary) TBD.</description></item><item><title>khaos-ui: full surface story library — 20+ components across all product areas</title><link>https://log.loswf.com/posts/2026-04-12-khaos-design-system-storybook-surface-stories/</link><pubDate>Sun, 12 Apr 2026 12:30:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-12-khaos-design-system-storybook-surface-stories/</guid><description>20+ Storybook stories land in one session: app shell, workflow primitives, inspectors, stage lists, settings, provider config, voice catalog, character surfaces, story player.</description></item><item><title>the design system was a side project until it wasn't</title><link>https://log.loswf.com/news/engineering/2026-04-13-design-system-convergence/</link><pubDate>Sun, 12 Apr 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-04-13-design-system-convergence/</guid><description>how khaos.machine&amp;rsquo;s @khaos/ui package went from an internal shared library to a standalone design system, and what the workspace-wide token migration that followed cost and bought.</description></item><item><title>khaos-design-system bootstraps — DESIGN.md, token system, first button primitive</title><link>https://log.loswf.com/posts/2026-04-12-khaos-design-system-bootstrap/</link><pubDate>Sun, 12 Apr 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-12-khaos-design-system-bootstrap/</guid><description>standalone pnpm workspace bootstrapped: 445-line DESIGN.md, OKLCH token system, Storybook 8, and first KButton primitive.</description></item><item><title>v0.3.0 — self-healing, duel, dashboards</title><link>https://log.loswf.com/posts/2026-04-07-v030-self-healing-duel-dashboards/</link><pubDate>Tue, 07 Apr 2026 12:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-04-07-v030-self-healing-duel-dashboards/</guid><description>single v1 release drops nine first-class capabilities including self-healing and multi-model duels.</description></item><item><title>khaos-builder auto pipelines — sourceless, gh-API-only, seven-app validation</title><link>https://log.loswf.com/posts/2026-04-05-khaos-builder-auto-pipelines/</link><pubDate>Sun, 05 Apr 2026 11:08:15 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-05-khaos-builder-auto-pipelines/</guid><description>auto pipelines rewritten as sourceless (no worktrees) using gh API only; test decoupled from release chain; all seven GUI apps validated in manager pipeline; tui and foundation pipelines hardened.</description></item><item><title>khaos-manager — casting preflight endpoint</title><link>https://log.loswf.com/posts/2026-04-05-khaos-manager-casting-preflight-endpoint/</link><pubDate>Sun, 05 Apr 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-04-05-khaos-manager-casting-preflight-endpoint/</guid><description>casting preflight endpoint lands; khaosd checks voice catalog reachability before permitting a casting run.</description></item><item><title>khaos-tui — onboarding view package and route</title><link>https://log.loswf.com/posts/2026-04-05-tui-onboarding-view/</link><pubDate>Sun, 05 Apr 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-04-05-tui-onboarding-view/</guid><description>onboarding view package added and route wired for new users; the TUI gets a front door. closes issue #1.</description></item><item><title>khaos-wfl — TTS fallback resolver, partial clip handling, silence fill</title><link>https://log.loswf.com/posts/2026-04-05-wfl-tts-fallback-resolver/</link><pubDate>Sun, 05 Apr 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-05-wfl-tts-fallback-resolver/</guid><description>FallbackResolver with parallel health checks, graceful degradation for partial batch failures, silence fill when clips are missing, and pre-flight provider checks.</description></item><item><title>KSPD — voice casting types and assignment schema</title><link>https://log.loswf.com/posts/2026-04-05-kspd-voice-casting-schema/</link><pubDate>Sun, 05 Apr 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-05-kspd-voice-casting-schema/</guid><description>kspdprotocol gains VoiceAssignment and ProjectCasting types, path builder, FindAssignment lookup, and Load/Save I/O for the voice casting file.</description></item><item><title>khaos-builder v1.0.0 — full-chain pipeline, Mac Mini deployment, twelve fix sessions</title><link>https://log.loswf.com/posts/2026-04-04-khaos-builder-v1-full-chain/</link><pubDate>Sat, 04 Apr 2026 18:20:46 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-04-khaos-builder-v1-full-chain/</guid><description>v1.0.0 ships: full-chain.yml + seven per-repo pipelines, Mac Mini deployment, and twelve targeted fixes for tag stacking, signing, idempotency, and fan-in gating.</description></item><item><title>khaos-builder v1.0.0 — orchestrator crosses the line</title><link>https://log.loswf.com/posts/2026-04-04-khaos-builder-v1-0-0/</link><pubDate>Sat, 04 Apr 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-04-04-khaos-builder-v1-0-0/</guid><description>khaos-builder cuts v1.0.0 after release-plane handover stabilizes; orchestrator is now 1.x.</description></item><item><title>khaos-builder — doctor subcommand</title><link>https://log.loswf.com/posts/2026-04-03-khaos-builder-doctor-subcommand/</link><pubDate>Fri, 03 Apr 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-04-03-khaos-builder-doctor-subcommand/</guid><description>khaos-builder doctor lands: preflight checks for the Mac Mini operator — keychain, Xcode, gh CLI, foundation paths, notarize credentials.</description></item><item><title>khaos-builder gets an embedded web UI and operator dashboard</title><link>https://log.loswf.com/posts/2026-04-03-builder-embedded-web-ui-and-dashboard/</link><pubDate>Fri, 03 Apr 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-04-03-builder-embedded-web-ui-and-dashboard/</guid><description>khaos-builder gains an embedded web UI — network-aware, auth-gated, with pipeline triggers, version-bump buttons, and chain visualization.</description></item><item><title>the test that says green on your laptop is not the test that ships your binary</title><link>https://log.loswf.com/news/engineering/2026-04-05-release-plane-handover/</link><pubDate>Fri, 03 Apr 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-04-05-release-plane-handover/</guid><description>how khaos-builder took over signing and notarization from khaos-foundation, and what the 25-fix CI marathon that followed revealed about the gap between local validation and production release gates.</description></item><item><title>khaos-foundation — 99-spec library and WFL IPC compliance check</title><link>https://log.loswf.com/posts/2026-04-01-khaos-foundation-99-spec-library/</link><pubDate>Wed, 01 Apr 2026 12:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-04-01-khaos-foundation-99-spec-library/</guid><description>khaos-foundation houses 99 spec files; WFL IPC v1 compliance check added; eliminate-sqlite spec closed; deploy-automation tag patterns finalized.</description></item><item><title>khaos-builder engine lands — DAG scheduler, tag watcher, chain orchestrator, signing</title><link>https://log.loswf.com/posts/2026-03-31-khaos-builder-engine-lands/</link><pubDate>Tue, 31 Mar 2026 10:21:46 -0400</pubDate><guid>https://log.loswf.com/posts/2026-03-31-khaos-builder-engine-lands/</guid><description>the builder daemon grows its full engine: SQLite state store, step executor, workspace isolation, DAG scheduler, tag watcher, webhook handler, chain orchestrator, and macOS signing subsystem.</description></item><item><title>khaos-builder bootstraps — release orchestrator online</title><link>https://log.loswf.com/posts/2026-03-30-khaos-builder-bootstrap/</link><pubDate>Mon, 30 Mar 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-03-30-khaos-builder-bootstrap/</guid><description>khaos-builder goes from initial plan to a running Go CLI with pipeline parsing, topo sort, matrix expansion, secrets masking, and a CI integration on day one.</description></item><item><title>khaos-gui — coverage app: scaffold to standing in one week</title><link>https://log.loswf.com/posts/2026-03-24-khaos-gui-coverage-app-full-arc/</link><pubDate>Tue, 24 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-24-khaos-gui-coverage-app-full-arc/</guid><description>coverage app goes from scaffold to a standing app: types, attributed-value primitive, rubric panel, print stylesheet, onboarding wizard, demo banner.</description></item><item><title>khaos-manager — coverage report API lands</title><link>https://log.loswf.com/posts/2026-03-24-khaos-manager-coverage-report-api/</link><pubDate>Tue, 24 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-24-khaos-manager-coverage-report-api/</guid><description>CoverageReportHandler, Status, and Generate endpoints land in khaosd, backing the coverage app&amp;rsquo;s data plane.</description></item><item><title>khaos-tools — coverage report pipeline: deterministic phase lands</title><link>https://log.loswf.com/posts/2026-03-24-coverage-report-pipeline/</link><pubDate>Tue, 24 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-24-coverage-report-pipeline/</guid><description>coverage report pipeline complete: prompt, assembler, freshness check, file-lock, and token-budget estimator all ship.</description></item><item><title>KSPD — CoverageReport types, ComputeRubricVerdict, contract metadata in kspdprotocol</title><link>https://log.loswf.com/posts/2026-03-24-kspd-coverage-report-types-kspdprotocol/</link><pubDate>Tue, 24 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-24-kspd-coverage-report-types-kspdprotocol/</guid><description>CoverageReport types, ComputeRubricVerdict, and contract metadata fields land in kspdprotocol; the format learns about coverage.</description></item><item><title>kstore — factory intake for storage backbone</title><link>https://log.loswf.com/posts/2026-03-24-kstore-factory-intake-storage-backbone/</link><pubDate>Tue, 24 Mar 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-03-24-kstore-factory-intake-storage-backbone/</guid><description>kstore enters loswf with storage backbone work: tag mapping backfill, Cognito JWT verification, lifecycle automation, CloudFront delivery, and WAF rules.</description></item><item><title>bash → typescript port plan</title><link>https://log.loswf.com/posts/2026-03-21-v1-typed-port-plan/</link><pubDate>Sat, 21 Mar 2026 18:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-21-v1-typed-port-plan/</guid><description>3,643 LOC across bash + python, planned for a typed bun port in five phases, 22 modules, ~165 tests.</description></item><item><title>day two — semantic code search</title><link>https://log.loswf.com/posts/2026-03-20-v1-day-two-semantic-index/</link><pubDate>Fri, 20 Mar 2026 18:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-20-v1-day-two-semantic-index/</guid><description>ast-grep manifest, Qdrant + Ollama index, mid-build code_search tool, auto-refresh — one day.</description></item><item><title>day one — full pipeline lands</title><link>https://log.loswf.com/posts/2026-03-19-v1-day-one-pipeline/</link><pubDate>Thu, 19 Mar 2026 18:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-19-v1-day-one-pipeline/</guid><description>intake, plan, build, review, rollup, ci gate — all in one day.</description></item><item><title>wbos — storefront, booking, and loswf cleanup</title><link>https://log.loswf.com/posts/2026-03-19-wbos-storefront-booking-and-loswf-cleanup/</link><pubDate>Thu, 19 Mar 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-03-19-wbos-storefront-booking-and-loswf-cleanup/</guid><description>WBOS adds storefront and booking services, then cleans out Paperclip-era code and rewrites project state around the loswf architecture.</description></item><item><title>KhaosMachine.app — Swift 6, Sparkle, LaunchAgent</title><link>https://log.loswf.com/posts/2026-03-15-khaos-machine-app-swift6-sparkle-launchagent/</link><pubDate>Sun, 15 Mar 2026 12:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-03-15-khaos-machine-app-swift6-sparkle-launchagent/</guid><description>the macOS menu bar app ships: Swift 6 strict mode, Sparkle auto-updates, LaunchAgent login item, CDN-signed release pipeline.</description></item><item><title>wbos — factory foundation, WhatsApp webhook, conversation engine</title><link>https://log.loswf.com/posts/2026-03-14-wbos-factory-foundation-whatsapp-conversations/</link><pubDate>Sat, 14 Mar 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-03-14-wbos-factory-foundation-whatsapp-conversations/</guid><description>WBOS enters loswf execution with SAM infrastructure, DynamoDB/EventBridge, WhatsApp webhook processing, conversation state, and customer profile management.</description></item><item><title>khaos-tools — location-only scene-heading detection + consolidation.json</title><link>https://log.loswf.com/posts/2026-03-13-khaos-tools-location-only-heading-detection/</link><pubDate>Fri, 13 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-13-khaos-tools-location-only-heading-detection/</guid><description>parser catches scene headings without INT./EXT. prefix; consolidation state persists to disk.</description></item><item><title>khaos-tui — CC reduction, 9-package test surface, onboarding view</title><link>https://log.loswf.com/posts/2026-03-12-khaos-tui-complexity-reduction-9-package-test-surface/</link><pubDate>Thu, 12 Mar 2026 08:33:39 -0500</pubDate><guid>https://log.loswf.com/posts/2026-03-12-khaos-tui-complexity-reduction-9-package-test-surface/</guid><description>eight high-complexity TUI functions split to pass gocognit; console/settings/import view model tests added across 9 packages; onboarding view wired.</description></item><item><title>khaos-wfl — action audio pipeline, MP3 migration, table-read workflow</title><link>https://log.loswf.com/posts/2026-03-12-wfl-audio-pipeline-action-narrator/</link><pubDate>Thu, 12 Mar 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/posts/2026-03-12-wfl-audio-pipeline-action-narrator/</guid><description>action and narrator audio pipelines added to the table-read workflow, MP3 migration for existing clips, and index drift fix.</description></item><item><title>khaos-foundation — 52 SQLite/CGO test failures fixed; eliminate-sqlite spec closed</title><link>https://log.loswf.com/posts/2026-03-11-sqlite-removal-program/</link><pubDate>Wed, 11 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-11-sqlite-removal-program/</guid><description>52 SQLite/CGO test failures resolved in khaos-tools; WFL IPC v1 compliance check ships; eliminate-sqlite spec closed.</description></item><item><title>khaos-tools — CGO removed: pure-Go SQLite then SQLite out entirely</title><link>https://log.loswf.com/posts/2026-03-11-pure-go-sqlite-then-sqlite-out/</link><pubDate>Wed, 11 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-11-pure-go-sqlite-then-sqlite-out/</guid><description>SQLite migrated to pure-Go driver then removed entirely; MemoryStorage and StoryMutator replace it; CGO eliminated from macOS and Linux matrices.</description></item><item><title>khaos-manager — legacy executor removed, all jobs route through Reflex</title><link>https://log.loswf.com/posts/2026-03-09-jobs-executor-legacy-removed-pure-reflex/</link><pubDate>Mon, 09 Mar 2026 10:20:00 -0500</pubDate><guid>https://log.loswf.com/posts/2026-03-09-jobs-executor-legacy-removed-pure-reflex/</guid><description>the legacy subprocess executor is removed; all job dispatch now routes through the Reflex DAG engine with a cancel race fix.</description></item><item><title>khaos-gui — Story Player gains subtitles and audio playback</title><link>https://log.loswf.com/posts/2026-03-08-khaos-gui-story-player-audio-integration/</link><pubDate>Sun, 08 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-08-khaos-gui-story-player-audio-integration/</guid><description>Story Player gains subtitle display, audio playback, and on-demand audio generation from the composition timeline.</description></item><item><title>khaos-tools — Final Draft .fdx and Storyist .sbx ingestion ships</title><link>https://log.loswf.com/posts/2026-03-08-fdx-and-sbx-parser-support/</link><pubDate>Sun, 08 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-08-fdx-and-sbx-parser-support/</guid><description>khaos-tools now parses Final Draft .fdx and Storyist .sbx formats in addition to Fountain.</description></item><item><title>khaos-wfl — close-the-loop analysis: output verification, scope repair, summarize node</title><link>https://log.loswf.com/posts/2026-03-08-wfl-close-the-loop-analysis-summarize/</link><pubDate>Sun, 08 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-08-wfl-close-the-loop-analysis-summarize/</guid><description>analysis pass gains output verification, scope repair, and a summarize node; KSPD data-flow violations eliminated.</description></item><item><title>khaos-tools — CC ceiling refactor, jsonx migration, E2E loop closure</title><link>https://log.loswf.com/posts/2026-03-08-tools-cc-refactor-and-jsonx/</link><pubDate>Sun, 08 Mar 2026 00:00:00 -0500</pubDate><guid>https://log.loswf.com/posts/2026-03-08-tools-cc-refactor-and-jsonx/</guid><description>cyclomatic complexity brought under 20 across all packages, encoding/json replaced with jsonx, and the analysis loop closed with output verification.</description></item><item><title>KSPD kspdprotocol v0.2 — canonical story types, jsonx, CoverageReport</title><link>https://log.loswf.com/posts/2026-03-08-kspd-jsonx-coverage-report-types/</link><pubDate>Sun, 08 Mar 2026 00:00:00 -0500</pubDate><guid>https://log.loswf.com/posts/2026-03-08-kspd-jsonx-coverage-report-types/</guid><description>kspdprotocol v0.2 adds canonical story data types, migrates omitempty to omitzero via jsonx, and ships CoverageReport types with ComputeRubricVerdict.</description></item><item><title>khaos-wfl — Reflex hardens: COMPUTE_SCOPE node, crash recovery, error classification</title><link>https://log.loswf.com/posts/2026-03-07-reflex-hardens-recovery-and-classification/</link><pubDate>Sat, 07 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-07-reflex-hardens-recovery-and-classification/</guid><description>Reflex gains COMPUTE_SCOPE node, persisted-state crash recovery, retry vs fail-fast error classification, and CI coverage floor.</description></item><item><title>the constitution stops being aspirational</title><link>https://log.loswf.com/news/engineering/2026-03-13-quality-posture-shift/</link><pubDate>Sat, 07 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-03-13-quality-posture-shift/</guid><description>in one week, khaos.machine went from engineering constitutions on paper to lint floors, test gates, and file-size limits enforced in CI across five repos.</description></item><item><title>khaos-tools — indexes.generated event, conformance tests, operation registry</title><link>https://log.loswf.com/posts/2026-03-03-tools-kspd-events-v1-completion/</link><pubDate>Tue, 03 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-03-tools-kspd-events-v1-completion/</guid><description>indexes.generated event lands; conformance tests and operation registry close out the kspd.events.v1 surface.</description></item><item><title>khaos-wfl — typed IPC dispatch replaces map[string]interface{}</title><link>https://log.loswf.com/posts/2026-03-03-typed-ipc-dispatch/</link><pubDate>Tue, 03 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-03-typed-ipc-dispatch/</guid><description>Reflex IPC moves to typed structs, removing 1,111 LOC of legacy map dispatch and adding 19 benchmarks.</description></item><item><title>khaos-gui — shadcn-vue, Phosphor icons, visual language reset</title><link>https://log.loswf.com/posts/2026-03-02-khaos-gui-shadcn-vue-phosphor-visual-reset/</link><pubDate>Mon, 02 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-02-khaos-gui-shadcn-vue-phosphor-visual-reset/</guid><description>shadcn-vue and Reka UI primitives adopted; Phosphor icon migration completes; KSettings and KProvider redesigned across the workspace.</description></item><item><title>khaos-gui: character builder app debuts</title><link>https://log.loswf.com/posts/2026-03-01-khaos-gui-character-builder-debuts/</link><pubDate>Sun, 01 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-01-khaos-gui-character-builder-debuts/</guid><description>character builder app ships with reference images and appearance tab — first dedicated character-authoring surface in the workspace.</description></item><item><title>khaos-gui: story player — NLE-style composition timeline</title><link>https://log.loswf.com/posts/2026-03-01-khaos-gui-story-player-nle-timeline/</link><pubDate>Sun, 01 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-01-khaos-gui-story-player-nle-timeline/</guid><description>story player redesigned around an NLE-style composition timeline; read-only viewer for compositions emitted by the analysis engine.</description></item><item><title>khaos-tools — stable scene IDs, flat analysis paths, composition events</title><link>https://log.loswf.com/posts/2026-03-01-stable-ids-and-flat-analysis-paths/</link><pubDate>Sun, 01 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-01-stable-ids-and-flat-analysis-paths/</guid><description>scene IDs now stable across re-runs; analysis path layout flattened; composition-events extraction and migration enrichment begin.</description></item><item><title>khaos-wfl — single-entity Reflex workflows, runner entity seeding</title><link>https://log.loswf.com/posts/2026-03-01-wfl-single-entity-reflex-workflows/</link><pubDate>Sun, 01 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-03-01-wfl-single-entity-reflex-workflows/</guid><description>single-entity Reflex workflows land in wfl; runner seeded with singular scope as precursor to per-entity batching.</description></item><item><title>twelve adapters in eight days</title><link>https://log.loswf.com/news/engineering/2026-03-01-spring-provider-expansion/</link><pubDate>Sun, 01 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-03-01-spring-provider-expansion/</guid><description>the voice and TTS provider arc that shipped March 1–8: how a unified adapter interface made adding the twelfth provider as cheap as adding the third.</description></item><item><title>khaosd phases 0–3 — go:embed, SSE, WFL bridge</title><link>https://log.loswf.com/posts/2026-02-28-khaosd-phase-0-to-3-embed-sse-wfl-bridge/</link><pubDate>Sat, 28 Feb 2026 12:00:00 -0500</pubDate><guid>https://log.loswf.com/posts/2026-02-28-khaosd-phase-0-to-3-embed-sse-wfl-bridge/</guid><description>khaosd bootstrapped from a stub to a full daemon: embedded SPA, SSE topics, WFL bridge, console API.</description></item><item><title>KSPD layout v2 + kspdprotocol Go module — stable IDs, flat analysis paths</title><link>https://log.loswf.com/posts/2026-02-28-kspd-layout-v2-kspdprotocol/</link><pubDate>Sat, 28 Feb 2026 00:00:00 -0500</pubDate><guid>https://log.loswf.com/posts/2026-02-28-kspd-layout-v2-kspdprotocol/</guid><description>KSPD layout v2 ships stable IDs, flat analysis paths, and no receipts. kspdprotocol Go module extracted as a shared contract for tools and wfl consumers.</description></item><item><title>wfl — original engine becomes documentation home</title><link>https://log.loswf.com/posts/2026-02-28-wfl-docs-only-handoff/</link><pubDate>Sat, 28 Feb 2026 00:00:00 -0500</pubDate><guid>https://log.loswf.com/posts/2026-02-28-wfl-docs-only-handoff/</guid><description>The original wfl repo is converted to documentation-only after the active Writer Feedback Loop implementation moves into khaos-wfl.</description></item><item><title>khaos-wfl — Reflex DAG engine adopted, five-phase workflow pipeline</title><link>https://log.loswf.com/posts/2026-02-27-wfl-reflex-dag-adoption/</link><pubDate>Fri, 27 Feb 2026 00:00:00 -0500</pubDate><guid>https://log.loswf.com/posts/2026-02-27-wfl-reflex-dag-adoption/</guid><description>Reflex Go DAG engine integrated across five phases: batch iteration, session management, WFL daemon runner, E2E validation, and ingest workflow.</description></item><item><title>khaos-gui: dashboard goes live — nine-spec batch</title><link>https://log.loswf.com/posts/2026-02-26-khaos-gui-dashboard-alive-9-spec-batch/</link><pubDate>Thu, 26 Feb 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-02-26-khaos-gui-dashboard-alive-9-spec-batch/</guid><description>real-time analysis progress via SSE lands same day as nine specs: update check, WFL toggle, job queue, autostart, git ops, API keys, scene text, graph viz, compare + export.</description></item><item><title>khaos-tools — LM Studio provider, structured NDJSON progress events</title><link>https://log.loswf.com/posts/2026-02-26-tools-lm-studio-provider-ndjson-progress/</link><pubDate>Thu, 26 Feb 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-02-26-tools-lm-studio-provider-ndjson-progress/</guid><description>LM Studio added as a local-model provider; batch analysis now emits structured NDJSON progress events.</description></item><item><title>khaos-tui — daemon-first cutover, khaosd HTTP client, unified config, module migration</title><link>https://log.loswf.com/posts/2026-02-26-tui-daemon-first-cutover/</link><pubDate>Thu, 26 Feb 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-02-26-tui-daemon-first-cutover/</guid><description>TUI cuts over to khaosd HTTP with CLI fallback; unified ~/.khaos/config.json and persistent logs land; module path migrated to khaos-studio.</description></item><item><title>anthropic structured output lands — 12/12 scenes passing</title><link>https://log.loswf.com/posts/2026-02-21-anthropic-structured-output-lands/</link><pubDate>Sat, 21 Feb 2026 00:00:00 -0500</pubDate><guid>https://log.loswf.com/posts/2026-02-21-anthropic-structured-output-lands/</guid><description>khaos-tools analysis passes 12/12 scenes with Anthropic structured output after four root-cause fixes.</description></item><item><title>structured output: when the LLM finally returns what you asked for</title><link>https://log.loswf.com/news/engineering/structured-output-deterministic-analysis/</link><pubDate>Sat, 21 Feb 2026 00:00:00 -0500</pubDate><guid>https://log.loswf.com/news/engineering/structured-output-deterministic-analysis/</guid><description>four root-cause fixes that unblocked Anthropic structured output in khaos-tools — and the schema pipeline assumptions that caused all four.</description></item><item><title>khaos-foundation — .pkg/.deb/.rpm installer + CDN at preview.khaosmachine.com</title><link>https://log.loswf.com/posts/2026-02-19-khaos-foundation-installer-cdn/</link><pubDate>Thu, 19 Feb 2026 12:57:50 -0500</pubDate><guid>https://log.loswf.com/posts/2026-02-19-khaos-foundation-installer-cdn/</guid><description>the installer pipeline ships: macOS .pkg, Linux .deb/.rpm, S3+CloudFront CDN at preview.khaosmachine.com, version manifest for update checking.</description></item><item><title>khaos-gui: global console primitive + SQLite-backed activity log</title><link>https://log.loswf.com/posts/2026-02-19-khaos-gui-global-console-sqlite-persistence/</link><pubDate>Thu, 19 Feb 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-02-19-khaos-gui-global-console-sqlite-persistence/</guid><description>global console primitive ships with SQLite persistence; trace-aware activity logs span all GUI apps.</description></item><item><title>khaos-tools — kspd.events.v1 canonical stream, Charm UX overhaul</title><link>https://log.loswf.com/posts/2026-02-16-tools-kspd-events-v1-stream/</link><pubDate>Mon, 16 Feb 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-02-16-tools-kspd-events-v1-stream/</guid><description>kspd.events.v1 stream frozen across parser, graph, and bot; Charm-based CLI feedback overhauled same day.</description></item><item><title>khaos-wfl — daemon IPC bootstrap, UDS transport, events v1</title><link>https://log.loswf.com/posts/2026-02-16-wfl-daemon-ipc-bootstrap/</link><pubDate>Mon, 16 Feb 2026 00:00:00 -0500</pubDate><guid>https://log.loswf.com/posts/2026-02-16-wfl-daemon-ipc-bootstrap/</guid><description>wfl daemon bootstrapped with Unix domain socket transport, events v1 contract, subscribe/unsubscribe, getSignals pagination, and analysis job queue.</description></item><item><title>khaos-tools — update-check, self-install update flow, jsonx adapter pilot</title><link>https://log.loswf.com/posts/2026-02-15-tools-update-check-self-install/</link><pubDate>Sun, 15 Feb 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-02-15-tools-update-check-self-install/</guid><description>khaos-tools gains an update-check and self-install update flow; jsonx adapter piloted across CLI, parser, and graph.</description></item><item><title>khaos-tui bootstrap — Bubble Tea, import wizard, project navigation</title><link>https://log.loswf.com/posts/2026-02-14-khaos-tui-bootstrap-bubble-tea-import-wizard/</link><pubDate>Sat, 14 Feb 2026 14:41:52 -0500</pubDate><guid>https://log.loswf.com/posts/2026-02-14-khaos-tui-bootstrap-bubble-tea-import-wizard/</guid><description>khaos-tui initializes as a Bubble Tea TUI: project list, import wizard with native file picker, scene/character/location navigation, analysis gating.</description></item><item><title>khaos-tools — Mistral and Groq adapters land alongside OpenAI and Anthropic</title><link>https://log.loswf.com/posts/2026-02-13-multi-provider-llm-expansion-mistral-groq/</link><pubDate>Fri, 13 Feb 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-02-13-multi-provider-llm-expansion-mistral-groq/</guid><description>four LLM providers now available in khaos-tools; unified ProviderFactory centralizes retry and adapter registration.</description></item><item><title>khaos-tools v0.2–v0.3 — TypeID factory, prompt registry, bot LLM integration</title><link>https://log.loswf.com/posts/2026-02-08-tools-bot-llm-typeid-factory/</link><pubDate>Sun, 08 Feb 2026 00:00:00 -0500</pubDate><guid>https://log.loswf.com/posts/2026-02-08-tools-bot-llm-typeid-factory/</guid><description>TypeID factory for stable scn_/chr_/loc_ IDs, prompt registry replacing hardcoded builders, and real OpenAI API integration with bot audit trail.</description></item><item><title>KSPD RFC 0003 — extension contract lands</title><link>https://log.loswf.com/posts/2026-01-24-kspd-rfc-0003-extensions/</link><pubDate>Sat, 24 Jan 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2026-01-24-kspd-rfc-0003-extensions/</guid><description>first formal extension contract for the KSPD format merges; defines the vocabulary for future capability additions.</description></item><item><title>KSPD — Docusaurus site, landing page refocus, RFC 0002 FDX import</title><link>https://log.loswf.com/posts/2025-12-29-kspd-docusaurus-rfc-0002/</link><pubDate>Mon, 29 Dec 2025 00:00:00 -0700</pubDate><guid>https://log.loswf.com/posts/2025-12-29-kspd-docusaurus-rfc-0002/</guid><description>KSPD Docusaurus site stands up; landing page refocused on schemas-as-spec; RFC 0002 FDX import drops 24 hours later.</description></item><item><title>archives</title><link>https://log.loswf.com/archives/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://log.loswf.com/archives/</guid><description/></item></channel></rss>