Repository navigation
t27f: deps card -- who imports a spec and what it imports, as a social card (Closes #10720) - #10725
Merged
Merged
Conversation
Contributor
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.
Closes #10720
What
TRI CLAW gets a new social-visual skill: a card showing who uses one spec and what it uses.
specs/t27f/deps_card.t27reads thet27c use-edgeslist and returns an ffmpeg filter graph for a 1080x1350 card:+N moreappears exactly when the band holds more specs than it shows;spec_graph_view's exact style;ON AN IMPORT CYCLEline appears exactly whendeps_on_cycleholds for the spec.deps_walk(spec_deps) and why_card'scard_*drawing helpers by import and copies neither. Itsmaintakes the edge list on stdin, plusDEPS_SPECandDEPS_FONT.specs/skills/t27-deps-card.t27(t27/deps-card, tags social-visual / t27f / deps / card), with its seal.It draws nothing (returns 0) when:
A graph that does not fit the caller's buffer returns
cap + 1, never a cut graph.Tests (11, all pass, 0 vacuous)
adraws 10 boxes and 12 texts: importereabove, importsbandcbelow, each at its row's y. The footer readsreaches 3 / reached by 2.+2 more; a band of 4 shows+1 more; a band of exactly 3 shows nomore.d, reached two ways, is counted once (reached by 5). With an empty band, the label reads 0 and the band gets no connector.Evidence (Railway lab)
Mutants: 9 mutants, each failing at least one test:
+N moreshows;+N more;One fit mutant,
w > cap + 1, behaves exactly like the original, because both returncap + 1. The looserw > cap + 3first survived a ten-bytes-short test. The test that kills it, three bytes short, is in this PR.Build:
t27c genandzig build-exe -lcpass. Importing why_card does not pull in a secondmain.Corpus: 2483 edge lines name 813 specs; 783 cards drew and 30 were refused.
port/trios/.../CR-CHAT-03/...).trios-chat/common/helpers, whose importers' names are 75 to 92 bytes.base/typesis the hub: 378 direct importers, reached by 400.Renders: the hub (
base/types), a leaf (automation/owner_voice_reel) and a mid-graph spec (t27f/why_card) were rendered with ffmpeg and passed 70 of 70 pixel checks:White text pixels appear in every row and in the focus (1438 to 5397 per box), and 0 below the bands. A deliberately wrong expectation misses on all three cards.
Seals and ratchet:
t27c seal --verifyreports all hashes MATCH for both new specs and for why_card.t27c suite --ratchet --corpus-onlyis RATCHET CLEAN.Not claimed
account/*first, not the most important importers; the card has no measure of importance.useline t27c does not resolve is in neither band.deps_unknown(t27f: the dependencies view drops use lines t27c cannot resolve; draw them as unknown #10702) lists those.Skill
.claude/skills/t27f/SKILL.mdgets the card recipe, the pixel-check coordinates, the corpus numbers and four traps:sort -k3,3n -rsorting ascending;🤖 Generated with Claude Code