update DO-178C messaging — witness ships v0.14 MC/DC chain tracking#52
Merged
Conversation
Per the org-wide CI Concurrency Hardening brief. Adds top-level
`concurrency:` blocks to cancel superseded PR runs while preserving
main-branch / scheduled / release runs.
Classification per file:
- ci.yml → default variant
Cancels superseded runs on PRs only; main-branch
runs (which this workflow doesn't currently have,
but the conditional `cancel-in-progress` is a
future-proofing default) are never cancelled.
- deploy.yml → release variant
Never cancels a deploy. The deploy script does
`find . -delete && tar -xzf` on Netcup; cancelling
mid-flight could leave the site in a half-deleted
state. Group by ref so parallel pushes serialize
without race-deleting each other.
- blog-autopublish.yml → ALREADY HAS the correct concurrency block
(group: blog-autopublish, cancel-in-progress: false).
This is a fixed-group pattern that serializes ALL
autopublish runs (cron + workflow_dispatch). For
this workflow that's correct, NOT the brief's
"scheduled variant" with ${{ github.run_id }}: this
workflow mutates repo state (creates branches and
PRs), so concurrent runs would race. Per idempotency
rule, leaving unchanged.
No job-level concurrency. No `runs-on:` changes. No matrix
restructuring. Scope is strictly `.github/workflows/`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The previous attempt (CSS attribute selectors on inline `style="..."`) never worked — mermaid v11 doesn't emit inline styles. Each post's `classDef` lines compile to CSS rules INSIDE the rendered SVG's `<style>` tag, scoped by a dynamic `#mermaid-NNN` id and marked `!important`. That combination (ID specificity + !important + later source order than main.css) means outer CSS cannot override them. Fix: after mermaid renders, walk every `.mermaid svg style` element and rewrite the hardcoded dark hex values (the greyscale bg + text tones) to their cream-mode equivalents. The semantic accent strokes (blue/green/amber/red/purple) are left alone — they read on either background and carry meaning (good=green, warn=amber, etc.). Replacements only apply to mermaid-injected `<style>` content, never the wider page CSS. The patch is idempotent — re-running on already-patched CSS finds no dark hex strings to replace. A MutationObserver catches mermaid's async render; two fallback setTimeouts handle the case where the observer attaches after render. Removed the stale CSS-based attempt from `_blog.scss`; left a comment explaining why outer CSS can't solve this and pointing at the JS fix. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…hanging the site) The MutationObserver approach was watching every childList mutation in document.body, then modifying the SVG's style tag textContent, which itself triggered more mutations, which re-triggered the observer. Infinite loop — site hung in the browser. Bounded setTimeouts (300ms / 1000ms / 2500ms) cover the same timing windows without the recursion risk. The patch function remains idempotent so multiple firings are harmless. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The page that the multi-persona panel agreed on as the highest-leverage addition for non-specialist readers. Variation B framing: hero + artifact card (witness on gale: 805 properties · 39/39 modules · signed attestations) + 3 claims / 3 ships / 2 unknowns + role-keyed routing (Embedded / Formal-methods / Safety-compliance / AI-tooling) + community engagement. No commercial CTA — keeps the site within the German Impressum + GDPR Datenschutzerklärung constraints (no email contact links, no 'design partners welcome' framing) until those documents exist. Files: content/about.md (frontmatter + template directive), templates/about.html (full page layout), templates/base.html (nav link between Home and Blog). Pages: 27 → 28 in the build output (the new /about/ page). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two coordinated updates to reflect that witness has shipped: - v0.14.1 ships v3 MC/DC envelopes with DWARF inline-chain tracking up to 8 levels deep on real Rust (httparse) - MC/DC for Rust is no longer "open problem" — it ships today at the wasm-evidence layer - Source-level MC/DC (DLR/Ferrous, SCRC 2026 Project Goal) is reframed as complementary, not a blocker templates/projects.html: - Verify-face detail panel tightens the framing to "three proof paths + the empirical evidence half" with the explicit formal/empirical chain argument. Cites v0.14 chain depth. content/blog/2026-03-15-formal-verification-ai-agents.md: - Rewrites the "MC/DC and structural coverage" section to lead with witness shipping at the wasm layer - Links to the variant-pruning blog post for the structural argument - Reframes SCRC + DLR/Ferrous work as additive evidence at the rustc-frontend layer, not as the missing piece Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Witness has shipped v0.14.1 with DWARF inline-chain tracking up to 8 levels deep on real Rust (httparse). Updates the site's messaging from "MC/DC is an open problem" to "MC/DC ships today at the wasm-evidence layer; source-level work remains additive."
Changes
templates/projects.html— Verify-face detail panel tightened: now leads with "three proof paths and the empirical evidence half" with the formal/empirical chain argument. Cites v0.14 chain depth 8.content/blog/2026-03-15-formal-verification-ai-agents.md— Rewrites the "MC/DC and structural coverage" section to reflect that witness ships at the wasm layer; SCRC + DLR/Ferrous source-level work is now additive, not blocking.Out of scope (defer)
content/blog/2026-04-25-witness-wasm-mcdc.mdis stilldraft = truewith v0.1-era roadmap. Either fold into2026-05-05-witness-the-truth-table-not-the-percentage.mdor rewrite for v0.14.static/reports/index.jsonis{"projects": {}}— no MC/DC framing to revise.content/blog/2026-04-24-variant-pruning-rust-mcdc.md).🤖 Generated with Claude Code