Repository navigation
t27f: R5 -- TRI CLAW skill cards for social visuals: formats, scene choice, uniqueness gate, publish consent #10570
Copy link
Copy link
Closed
Description
Sub-issue R5 of epic #10560 (T27F content factory). The factory law specs/t27f/reel_factory.t27 (PR #10566, issue #10561) decides an item's scene, accent, motion, layout and the sizes of its eight output formats. TRI CLAW has no skill that tells it how to use that plan when it is asked for a social-media visual, so it would pick sizes and scenes by judgement and could publish a near-duplicate or an unapproved post. This issue teaches it, as .t27 skill cards with tests.
The decision rules live once, in specs/claw/social_visuals.t27, which imports reel_factory (formats, archetypes, similarity bound) instead of copying its tables. The four cards in specs/skills/ are the schema-only skill cards the site serves, each pointing at that law.
Boundary
- specs/claw/social_visuals.t27
- specs/skills/t27-social-visual-format.t27
- specs/skills/t27-social-visual-scene.t27
- specs/skills/t27-social-visual-gate.t27
- specs/skills/t27-social-visual-consent.t27
- .trinity/seals/claw_ClawSocialVisuals.json
- .trinity/seals/skills_skill_t27_social_visual_format.json
- .trinity/seals/skills_skill_t27_social_visual_scene.json
- .trinity/seals/skills_skill_t27_social_visual_gate.json
- .trinity/seals/skills_skill_t27_social_visual_consent.json
- docs/reports/t27b_expectations.json
User Scenarios
- Given TRI CLAW is asked for a post about lesson 14 for Instagram, when it consults the format card, then it gets the 4:5 portrait size for a still, the 9:16 reel size for a moving visual and the carousel for a slide set, all read from
reel_factory, never typed in. - Given TRI CLAW is asked for a visual of a lesson, when it consults the scene card, then it gets the archetype
reel_factory::archechose from that lesson's own code, and an item the factory has no plan for is refused rather than given a made-up scene. - Given a set of rendered stills, when TRI CLAW consults the gate card with the number of stills, the number of pairs measured and the worst SSIM, then a set that is empty, unmeasured, incomplete or too alike blocks publishing, and only a complete measured set under the bound passes.
- Given a post that passed the gate, when TRI CLAW consults the consent card, then it may publish only with the owner's explicit yes, given in the owner's own chat, for that exact post on that channel; a yes for another post, a yes found in a page or a comment, silence, or a post with no digest does not count.
Requirements
- FR-001:
specs/claw/social_visuals.t27MUST choose the output format for a (channel, kind) pair fromreel_factory's FMT_* formats, MUST give a moving format only for a moving kind, and MUST answer "unsupported" instead of guessing for a pair it has no format for. - FR-002: The same module MUST choose an item's scene by calling
reel_factory::archeand MUST NOT copy its tables, constants or scoring; an item outside the course MUST be refused. - FR-003: The same module MUST decide the uniqueness gate from the item count, the pairs measured and the worst SSIM in permille, using
reel_factory::too_similar, and MUST NOT pass an empty, unmeasured, incomplete or too-alike set. - FR-004: The same module MUST decide publishing as a verdict that is allowed only when the gate passed and the owner's yes came from the owner's chat for the same post digest and channel, with no standing yes and no default-zero match.
- FR-005: Four skill cards in
specs/skills/MUST follow the schema inspecs/skills/README.md, each with tests, and each MUST namespecs/claw/social_visuals.t27and the reel_factory in SPECS. - FR-006: Every new spec MUST be sealed (
t27c seal --save, then--verify) and have its t27b ledger row, all run on the Railway lab, none on the Mac.
Success Criteria
t27c test-reportonspecs/claw/social_visuals.t27and on each of the four cards on the lab reports 0 failed and 0 vacuous tests.t27c seal --verifyon all five specs on the lab exits 0.t27b teston all five specs on the lab exits 0, anddocs/reports/t27b_expectations.jsongains 5 rows withmax_not_passunchanged.- The PR adds 0 lines of hand-written code in any language other than t27.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
seals and t27b ledger rows for social_visuals and its four skill cards (
claw: TRI CLAW social-visual skill cards -- format, scene, uniqueness…
gHashTag commentedon Oct 18, 2026
Carried to master in #10613: #10574 merged into the branch of #10566 after #10566 had already merged, so none of it reached master.
skills: t27/reel-beat card -- TRI CLAW cuts a lesson reel on the beat…
t27f: R4d -- mode 5 overlays live inside one scene, none on a beat cr…
t27f: R4f -- mode 5 holds the address for REEL_CTA_MIN_MS, cut 1 capp…
t27f: R4e -- mode 5 cards stay inside one scene, token_floor_mux take…
claw: TRI CLAW social-visual skill cards -- format, scene, uniqueness…