Skip to content

test(claw): pin every pair of the social_visuals format table - #10775

Merged
gHashTag merged 1 commit into
masterfrom
claw-mut-sweep35
Oct 19, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claw-mut-sweep35

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

What

The mutation sweep of specs/claw/social_visuals.t27 caught 30 of 35 mutants. This PR adds 2 tests and leaves the production code unchanged.

  • every channel and kind gets exactly the format of the table pins all 40 (channel, kind) pairs of pick_format, using the factory's FMT_* names. It kills line 118, ch == CH_LINKEDIN changed to !=. That mutant gave a link card to Instagram, TikTok, Shorts and YouTube and took it away from LinkedIn.
  • negative control the table supports exactly twenty of the forty pairs counts the supported pairs and checks images_for on a supported link pair and on an unsupported one.

The 4 survivors that remain are equivalent:

Line Mutant Why no input can kill it
72, 163 and/or Inside // comments.
152 a >= ARCHS to > reel_factory::content(t, ARCHS) returns 0, so scene_backed is false either way.
155 > 0 to >= 0 Every lesson's arche(t) has content above 0, as asserted for all 27 lessons.

Seals

  • Resealed claw_ClawSocialVisuals. It is the only seal that records social_visuals.t27. The diff changes only the spec hash, the four gen hashes, the test count (14 to 16) and sealed_at. Both dependency hashes (reel_factory, reel_topics) match master.
  • social_visuals has no committed gen/c file.

Verification (Railway lab, master 797bd09)

  • t27c test-report: 16 of 16 tests pass, with 0 vacuous passes.
  • t27b: 16 passed, 0 failed.
  • Re-sweep of the 5 survivors (t27c, with a t27b fallback): line 118 is caught, and lines 72, 152, 155 and 163 survive. The sweep is 31 of 35.
  • seal --verify: 32 of 32 over specs/claw/*.t27 and specs/verified/gen_file_check.t27.
  • python3 tools/dupe_scan.py: "no new duplicate body".

Closes #10773.

🤖 Generated with Claude Code

The mutation sweep caught 30 of 35. Line 118 (ch == CH_LINKEDIN to !=)
lived because no test read the link row past X and Site. Two tests pin
all 40 pairs and count 20 supported ones; now 31 of 35, the 4 left are
equivalent (two comments, two guards the factory makes unreachable).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-19 02:17:51 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 42
PRs with All Checks Green 8
READY 2
FAILING 42
PENDING 0
NO CHECKS YET 0

These columns do not partition: 2 + 42 + 0 + 0 = 44, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=fad12492937a != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test(claw): social_visuals sweep -- no test read the link row of pick_format past X and Site

1 participant