Skip to content

crons: the trinity auto-merge card -- ten-minute sweep, dispatch half live, merge half waiting for the bee - #12169

Merged
gHashTag merged 1 commit into
masterfrom
lane/cron-auto-merge
Oct 26, 2026
Merged

gHashTag merged 1 commit into
masterfrom
lane/cron-auto-merge

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

What

The cron card for the trinity merge autopilot's GitHub Actions job: specs/crons/trinity-auto-merge.t27, module cron_trinity_auto_merge, ID github-actions/trinity/auto-merge.

The job it describes is the workflow Auto Merge Ready PRs at Trinity-S-AI-DNA/trinity .github/workflows/auto-merge.yml (the trinity half of this pair: Trinity-S-AI-DNA/trinity#1742): every ten minutes it sweeps trinity's open PRs on main -- dispatching the existing "PR work report and blog" workflow for heads that lack their T27 work report commit status, and squash-merging only what a reviewer bee labelled bee-reviewed after the head push. The merge half is dormant by design until the reviewer bee reaches trinity (the owner's rule of 2026-10-02: the Queen must not merge by herself).

Registry honesty

Per the crons law (specs/crons/README.md and #12145), the card lands only together with the workflow: this PR and the trinity workflow PR land as a pair and reference each other. This PR is therefore held with the no-auto-merge label until the trinity workflow PR merges -- remove that label (or merge by hand) once the workflow is on trinity main.

The card follows the README schema exactly (KIND cron, HOST github-actions, REPO trinity, SERVICE .github/workflows/auto-merge.yml, SCHEDULE */10 * * * *, RUNS empty with RUNS_NOTE no skill invocation found in source, ON_FAILURE issue, CONTROL github-actions-dispatch), carries the four schema tests of its sibling cards, and typechecks (t27c check: 0 errors, 0 warnings; ID unique among the cards).

Owner approval (owner-approved-foreign label)

On 2026-10-25, in the agent session driving the T27F live lane (OpenCode, t27/trinity repos), the owner said, verbatim: "сам!! одобряю тебе сделать все owner-approved-foreign" -- approving the owner-approved-foreign label for the pull requests of this lane. This PR itself adds no hand-written foreign code (the card is a .t27 spec); the label covers the lane's pair PR in trinity, which adds the workflow YAML.

The t27 half of #12145 (the cron card). The trinity half is the workflow PR: Trinity-S-AI-DNA/trinity#1742.

Refs #12145.

…, dispatch half live, merge half waiting for the reviewer bee (Refs #12145.)
@gHashTag gHashTag added owner-approved-foreign Owner-approved exception to the only-t27 rule: hand-written foreign code allowed in this PR no-auto-merge Opt out of the issue gate's default squash auto-merge (issue-gate.yml) labels Oct 25, 2026
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-25 02:15:01 UTC

Summary

Status Count
Total Open PRs 43
PRs with Failing Checks 39
PRs with All Checks Green 4
READY 1
FAILING 39
PENDING 0
NO CHECKS YET 0

These columns do not partition: 1 + 39 + 0 + 0 = 40, and there are 43 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=55c0f1b1b32d != 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).

@tri-claw

tri-claw Bot commented Oct 25, 2026

Copy link
Copy Markdown

Summary by t27-bees

Checked by the t27 compiler

t27c parse, parse-complete and typecheck on each changed .t27 file at 874a63f. Nothing was generated, built or run. A pass means the file is well formed, not that it is right.

  • specs/crons/trinity-auto-merge.t27: parses and typechecks.

Read by the model

This PR adds a cron card (specs/crons/trinity-auto-merge.t27) that registers the Trinity auto-merge GitHub Actions workflow in the t27 cron registry. The card documents a job that runs every 10 minutes on the trinity repo: it dispatches a work-report workflow for PRs missing a T27 work report status, and squash-merges only PRs labeled bee-reviewed after their head push (the merge half is intentionally dormant per the owner's 2026-10-02 rule). The card is paired with Trinity-S-AI-DNA/trinity#1742 which adds the actual workflow YAML.

Worth a look

  • specs/crons/trinity-auto-merge.t27:101 — The test the_workflow_file_is_the_slug asserts SERVICE equals .github/workflows/<slug>.yml derived from the ID slug (auto-merge). If the workflow file in the paired PR is named differently (e.g., auto-merge.yml vs trinity-auto-merge.yml), this test will fail and the card will not match the deployed workflow.
  • specs/crons/trinity-auto-merge.t27:56 — RUNS is empty with RUNS_NOTE = "no skill invocation found in source". If the workflow later invokes a t27 skill (e.g., via t27 run or a skill dispatch), this card will become stale unless RUNS and RUNS_NOTE are updated.
  • specs/crons/trinity-auto-merge.t27:48 — ON_FAILURE = "issue" means a GitHub issue is created on cron failure. Verify the repository has the necessary permissions and the issue template (if any) is appropriate for cron failures.
  • specs/crons/trinity-auto-merge.t27:49 — CONTROL = "github-actions-dispatch" implies the cron is triggered via GitHub Actions workflow_dispatch or schedule. Confirm the paired workflow uses on: schedule: (not workflow_dispatch alone) so the 10-minute cadence actually runs.
  • The card carries ENABLED = true but the PR description notes it is held with no-auto-merge until the paired workflow PR merges. Ensure the label is removed (or the card is merged by hand) only after the Trinity workflow is on main, otherwise the registry will reference a non-existent workflow.

Read: 1 files, +101 -0, the whole diff. Head 874a63f. Model: openai-compatible/nvidia/nemotron-3-ultra-550b-a55b. Commands: @t27-bees review | summary | help | pause | resume. Free for every repository.

This was referenced Oct 25, 2026
This was referenced Oct 25, 2026
@gHashTag

Copy link
Copy Markdown
Collaborator Author

Merged on explicit owner instruction: the owner overrode the no-auto-merge label in the OpenCode agent chat, 2026-10-26, and ordered the whole open queue drained by Pareto priority. Required checks green; no --admin used.

@gHashTag
gHashTag merged commit cdddfc0 into master Oct 26, 2026
39 of 45 checks passed
@gHashTag
gHashTag deleted the lane/cron-auto-merge branch October 26, 2026 03:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-auto-merge Opt out of the issue gate's default squash auto-merge (issue-gate.yml) owner-approved-foreign Owner-approved exception to the only-t27 rule: hand-written foreign code allowed in this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant