Repository navigation
t27f: post_caption, the social-pack card, factory options, cover at a scene (Closes #10916 #10917 #11027 #11028) - #11668
Merged
Merged
Conversation
…ns, cover at a scene Four spec-only changes from the T27F / gen-UI map (#11038), each with its tests and seal. - specs/t27f/post_caption.t27 (new): X 280 with each link weighed as 23, Telegram 1024, Instagram 2200 and the house hashtag caps (X 2, Telegram 3, Instagram 5); an unknown channel answers 0 or false, never a guess. Closes #10916 - specs/skills/t27-social-pack.t27 (new): one idea to a post in six steps, the last being the owner's explicit yes; names the five sibling cards and marks the cover still and the caption rule pending. Closes #10917 - specs/skills/t27-idea-factory.t27: name PRESET_AUTO (255), the four pre-flight codes with MAX_S (60 s) and COVER_FLAG ("COVER=1"); SUMMARY_EN and a new factory_options test. Closes #11027 - specs/t27f/idea_factory.t27: cover_frame_at(t, s) picks the cover scene, clamped to the reel; cover_frame(t) is cover_frame_at(t, 0), byte-identical for every idea. Closes #11028 Local evidence: t27c seal --save on all four and seal --verify MATCH; t27c test-report 0 FAIL, 0 vacuous (post_caption 5, social-pack 1, idea-factory card 3, idea_factory 19). Ledger rows added in sorted order; max_not_pass stays 131.
This was referenced Oct 22, 2026
This was referenced Oct 22, 2026
gHashTag
enabled auto-merge (squash)
October 22, 2026 17:36
This was referenced Oct 22, 2026
This was referenced Oct 22, 2026
Closed
Closed
This was referenced Oct 22, 2026
This was referenced Oct 22, 2026
Merged
Contributor
This was referenced Oct 22, 2026
Closed
Merged
gHashTag
added a commit
that referenced
this pull request
Oct 22, 2026
…me (Closes #10263) (#11690) M4 of T27F Live (epic #10266). One new spec, no other file touched. - Transport: SSE (`text/event-stream`), user actions back as POST of an allowlisted action id from specs/t27f/ui_plan.t27. HAS_WEBSOCKET is false and the test says so. - Vocabulary reused, not reinvented: the event name is hot.t27's HOT_EVENT and the digest length is DIGEST_HEX_LEN, so the live wire and the hot loop are one stream, not two. - FR-001: the sequence starts at SEQ_FIRST and increases by one forever; the test walks 5000 of them. - FR-002: a keyframe at least every K_DELTAS deltas (K = 16). resume_mode answers a client that fell behind the newest keyframe the buffer still holds with a keyframe rather than deltas it does not have, and resume_from never repeats a sequence number. - FR-003: coalescing keeps the last value of every key (measured against a last-write-wins reference over a 400-event window, not asserted) and never drops a pending keyframe. - FR-004: an action id outside the catalog is refused; the test sweeps all 256 ids. - The reconnect test walks 100 runs, cutting the client at a different point each time, and asserts per-key state equality -- which is strictly stronger than the scene-hash equality the issue asks for. Both recovery paths (deltas and keyframe) are exercised, and the test asserts that they are. Local evidence: t27c test-report 10/10 pass, 0 FAIL, 0 vacuous, 2 invariants proved, 41890 runtime asserts; t27c seal --save and --verify, all hashes MATCH. Not claimed in this change: - The latency budget (50 ms p50 / 150 ms p99, measured in a browser against t27-mcp --watch) is a Railway-lab measurement. This change does not measure it and does not claim it. - No docs/reports/t27b_expectations.json row: that row is derived by the ledger steward from a lab corpus run. The same choice was made for face.t27 in #11675, and the lab has since confirmed the two rows from #11668 were right (master run c986d53: both `t27b pass`).
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.
Four spec-only changes from the T27F / gen-UI map (#11038). Each carries its own tests and seal; nothing else is touched.
What
specs/t27f/post_caption.t270/false, never a guessspecs/skills/t27-social-pack.t27t27/social-pack-- one idea to a post in six steps, the last being the owner's explicit yes; names the five sibling cards and marks the cover still and the caption rule pendingspecs/skills/t27-idea-factory.t27PRESET_AUTO(255), the four pre-flight codes withMAX_S(60 s) andCOVER_FLAG(COVER=1);SUMMARY_ENand a newfactory_optionstestspecs/t27f/idea_factory.t27cover_frame_at(t, s)picks the cover scene, clamped to the reel;cover_frame(t)iscover_frame_at(t, 0), byte-identical for every ideadocs/reports/t27b_expectations.jsongains the two new rows in sorted order;max_not_passstays 131.Evidence (local, t27c 0.5.2)
t27c test-report-- 0 FAIL, 0 vacuous: post_caption 5/5, social-pack 1/1, t27-idea-factory 3/3, idea_factory 19/19 (the newcover_atblock asserts71,143, the clamped last frame, and a negative index equal to scene 0).t27c seal --saveon all four;t27c seal --verify-- all hashes MATCH.t27c dupes --namefor each new function -- found only in these files.own-language,foreign-budget,secret-gate.Not claimed
post_captioncounts ASCII bytes; Cyrillic is out of scope (a byte and a character count differ there). The card is spec-only (noSKILL.md); the site reads it through the vendored compiler.