Repository navigation
social/media cloud transfer: blog desk, reels law, and promotion kernel - #13532
Merged
Merged
Conversation
The desk could ask about one article a day and had no Telegram receipt and no backlog slot. v6 states the new-article cap, the one-use UTC slot, queue-then-newest order, and the Telegram message_id rule. The shipped switch stays 0, so this commit does not post or schedule. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
An image container cannot carry a finished reel. v3 names REELS, the one-minute poll, the 2026-10-09 limits, and the rule that a media_publish call is not repeated. A video still needs a yes, and the host file is not in this repo, so the issue stays open. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
#13466) The live catalog is 109 records and 13 clusters. A draft that says 84 formats, BF16 21/21, FP8 15/16, or the paper's 12 clusters is refused. The contract does not post. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
…13467) A fitting claim with no visual stays a draft. asset_ok asks for a claim, an artifact, a path, a visual, a CTA and a metric. may_post stays false, so readiness does not publish. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
day_claim names a claim for each of the ten days. BF16 21/21, FP8 15/16 and 84 formats stay refused. A visual does not make a day publishable: publishable_days is 0. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
metric_known is true for the 7-day impression count cited by #13465 and false for clicks, course starts and payments. Those counts are not stored as zero. Paid checkout stays off. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
An unchecked claim, a missing visual, or paid-token use stops the lane. repair_hides_failure stays false, so a repair cannot clear the stop by hiding it. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
pk_event builds a t27l/v1 line on surface agent. tl_validate_line accepts it. The payload is the claim id claim-109, and a payload that carries an address is refused. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
…13477) Each calendar day has a pillar tag and a claim id. The week reviews those drafts and weekly_posts stays 0. The markdown card points at the spec so the cycle has one executable home. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
The bank holds the 109-record catalog and the 13-cluster gap. Both are claims the gate marks fit. 84 formats is not a draft. Neither draft has a visual, and neither is published. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
publish_gate is true only when a widget, a screenshot, a passing test and a human yes are all present. gate_transmits stays false, so the gate does not send a post. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
…13474) Stars, forks, open issues and contributors were read from the GitHub API on 2026-11-10. X impressions stay the 2026-11-09 citation in #13465 because this agent did not sign in. Course readiness is not measured. Nothing was posted. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
The sixteen field names match the epic final-report template. Only the 7-day impression count is a known metric. Clicks, course starts and payments stay blank rather than zero. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
The funnel is eight steps from X through B2B. Each step has one CTA. Paid product and B2B are named and not offered: paid checkout stays off. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
plan, draft, check and publish are specified with tests, including 70/149 rounding to 47 and a refused publish without --yes. The law never posts to a social network. The cli/tri glue is a new foreign file and is not in this commit, so the issue stays open. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
The existing file is one post, not the card law. This adds the 1200x675 layout, the not-measured rule, and when a post is due (no previous card, a 5-point move, or a milestone change). The 37 draft posts and the CLI glue are not in this commit. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
The post stopped at 380 checked of 723 on 2026-10-05. The lab summary named in the issue is 2454 checked of 2602, 4 vacuous, 144 blocked, on master 5e47682. The headline and the shown percents follow the spec's own rounding. This commit does not publish the post to t27.ai. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
card_points was written twice, which grows the duplicate-body ratchet. The card spec now calls the one function in specs/tri/blog/blog.t27. The not-measured sentinel stays local because an imported const does not survive inlining. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
The new docs/README heading used an em dash. First-party markdown stays ASCII, so the heading uses a hyphen. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
The GitHub read was 2026-11-09 UTC, which is 2026-11-10 in Asia/Bangkok. BASELINE_DATE stays that Bangkok day. The card no longer calls the day UTC. Co-authored-by: Dmitrii Vasilev <gHashTag@users.noreply.github.com>
Contributor
This was referenced Nov 9, 2026
This was referenced Nov 9, 2026
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.
Description
Moves the open social and media work that can be finished in this repository onto one cloud branch. Nothing was posted to X, Instagram, Telegram, Facebook, Threads, or LinkedIn. No post was scheduled.
BLOG_AUTOPOSTships at 0.Pull Request Checklist
.t27with tests. English and ASCII only.t27c test-reporton every touched spec: FAIL 0, vacuous 0.t27c(build 0 commit unknown), not the master release binary. A seal from it would record the wrong toolchain.Finished here
Closesis on the commit only when that commit finishes the issue.specs/automation/blog-share.t27is v6. A new article after the cutoff posts at once, one per tick, underAUTO_PER_DAY(3). Backlog uses one UTC slot, 13:00 inclusive to 14:00 exclusive, at mostBACKLOG_PER_DAY(1), queue then newest, and a used slot is not reused. Telegram's receipt is a positivemessage_id. A network that already carries the article is skipped. Releases still need a yes. The issue did not name the cap or the hour; those constants are the bounds the tests pin, and the switch stays off.specs/automation/promotion_kernel.t27claim_class. 84 formats, BF16 21/21, and FP8 15/16 are refused. The 109-record catalog fits. The paper's 12 clusters does not. The measured 13-cluster gap fits. The contract does not post.asset_okneeds a claim, an artifact, a path, a visual, a CTA, and a metric.MAY_POSTstays false.day_claimnames a claim for each of ten days.publishable_daysis 0, with or without a visual.metric_knownis true only for impressions. Clicks, course starts, and payments are not stored as zero. Paid checkout stays off.An unchecked claim, a missing visual, or paid-token use stops the lane.
repair_hides_failurestays false.pk_eventbuilds onet27l/v1line on surface agent.tl_validate_lineaccepts it. The payload isclaim-109, not an address.Pillar tags on the ten days, weekly posts 0. Cards:
docs/promotion/content-calendar.md, linked fromdocs/promotion/README.md. The spec is the check.Two drafts, fitting claims only (109 records, 13-cluster gap). No visual, not published.
docs/promotion/content-bank.mdandcontent-bank.json.publish_gateneeds a widget, a screenshot, a passing test, and a human yes.gate_transmitsstays false.docs/promotion/publish-gate.md.GitHub on 2026-11-10 Asia/Bangkok (2026-11-09 UTC): 5 stars, 4 forks, 2041 open issues, 6 named contributors, 31 including anonymous. X was not re-measured. Impressions 809, profile visits 2, and followers 231 are the citation in T27_PROMOTION_KERNEL_V5 #13465 for @t27_dev on 2026-11-09. Course
LESSON_COUNTis 27 planned frames; readiness is not measured.docs/promotion/baseline.mdandbaseline.json.Sixteen weekly-report fields, the epic's final-report names.
docs/promotion/metrics.mdandweekly-report-template.md.Eight funnel steps, one CTA each. Paid product and B2B are named and not offered.
docs/promotion/funnel.md.specs/blog/t27b_progress.t27gains the 2026-10-28 entry from the issue's lab summary: master5e47682db, 2454 checked of 2602, 4 vacuous, 144 blocked. Shown percents are the spec's own rounding, 94.3% and 94.5%. The post was not published to t27.ai.Advanced, issue left open
specs/automation/meta-connect.t27is v3: a video isREELS, polled once a minute five times, inside the measured limits, andmedia_publishis not called twice. A video still needs a yes. The host file named in the issue is not in this repo, so the issue stays open.specs/tri/blog/blog.t27is thetri bloglaw: plan, draft, check, publish.70 / 149rounds to 47. No source printsnot measured, not 0. Publish without--yeswrites nothing and never posts to a network.GLUE_LANDEDis false. A newcli/trifile is a new foreign file and was not added.specs/blog/epic_progress.t27keeps its existing post and adds the card rule: 1200x675, not-measured, and when a post is due. The percent formula is the one function inspecs/tri/blog/blog.t27. The 37 drafts were not generated, and nothing was posted.Testing
Each report printed
FAIL 0andvacuous passes 0.Documentation
docs/README.mdindexesdocs/promotion/. The cards point atspecs/automation/promotion_kernel.t27. If a number disagrees, the spec wins.Review notes
No new foreign file. No hand-written Rust, Python, or workflow. Duplicate-body scan on the touched specs reports nothing written elsewhere. Seals for the edited specs are now stale relative to these bytes and should be re-saved with a master-built
t27c.