Skip to content

crons+fix(t27os): the night loop card, fanout's stale import, identity's empty-list arms (Refs #3 #5980) - #11837

Merged
gHashTag merged 2 commits into
masterfrom
night/t27os-loop
Oct 23, 2026
Merged

gHashTag merged 2 commits into
masterfrom
night/t27os-loop

Conversation

@gHashTag

Copy link
Copy Markdown
Collaborator

The night's autonomous batch for T27 OS (#3, owner 2026-10-23 before sleeping: 15-minute loop, autonomous, self-critical, no breaking of past work):

  • The night loop cron card (specs/crons/t27os-night-loop.t27): HOST launchd, every 15 minutes on the owner's Mac, REPO mac (the tick engine lives outside any repository by the cron README's own rule). One bounded tick: Pareto-pick from the t27os board, claim in the swarm refs, implement in .t27, verify both compilers, land green or hand off, beat the hive feed. The engine is live on this Mac since tonight (launchd ai.t27.t27os-night-loop, first tick ran).
  • fanout.t27: the import named a fn that became ev_heading -- the splice resolved nothing, the file never compiled under the reference. BLOCKED -> 16/16 both sides.
  • identity.t27: the empty-list accessor arms return the len-guard's own answer, so the mirror drift gate (identity_table against the agent modules, cell for cell) finally runs -- and passes. The emitter-side zero-length render rides the epic: self-host t27c -- rewrite the compiler from Rust into t27 #5980 series.

…y 15m on the owner's Mac (Refs #3)

HOST launchd, REPO mac: the tick engine lives outside any repository by
design (the cron README's own rule for Mac-local jobs), the card is the
only record the page and the Queen have, and it is spec-only by
construction. Owner 2026-10-23 before sleeping: 15 minutes, autonomous,
self-critical, no breaking of past work.
…wo more reference blocks fall (Refs #5980 #3)

fanout.t27 imported evolve.t27's heading under a name that stopped
existing when the fn became ev_heading: the splice resolved nothing and
every generated call was an undeclared identifier -- the file never
compiled under the reference. BLOCKED -> 16/16 both sides.

identity.t27: gen-zig renders an agent's empty SKILLS/TOOLS as a
comptime-known [0][]const u8, and indexing one is a compile error even
behind the len guard that never reaches it (the #5980 class; four
agents hold no skills, seven hold no tools). The accessor arms for the
empty agents return the guard's own answer, so the mirror drift gate
(the table against the agent modules, cell for cell) finally RUNS --
and passes. The emitter-side render (zero-length constants as slices)
is in the #5980 series; this spec fix stands on its own.
@gHashTag
gHashTag enabled auto-merge October 23, 2026 14:58
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-23 14:58:24 UTC

Summary

Status Count
Total Open PRs 28
PRs with Failing Checks 23
PRs with All Checks Green 5
READY 3
FAILING 23
PENDING 0
NO CHECKS YET 1

These columns do not partition: 3 + 23 + 0 + 1 = 27, and there are 28 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=5aec047d42ec != 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 23, 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 de987b0. Nothing was generated, built or run. A pass means the file is well formed, not that it is right.

  • specs/crons/t27os-night-loop.t27: parses and typechecks.
  • specs/t27os/fanout.t27: parses and typechecks.
  • specs/t27os/identity.t27: parses and typechecks.

Read by the model

This PR adds a 15-minute autonomous cron for T27 OS night loops, fixes a stale import in fanout (heading → ev_heading), and patches identity's accessor functions to avoid Zig compile errors when indexing into empty arrays (issue #5980).

Worth a look

  • specs/t27os/identity.t27:285-286 (skills accessor for agent 19/S): The comment says "S holds no skills" but the code still returns S::SKILLS[i] instead of "" like agents 1, 9, 12, 16, 18, 21, 27. If S::SKILLS is truly empty, this will still fail to compile in Zig for the same reason the other arms were fixed.
  • specs/t27os/identity.t27:332 (tools accessor for agent 19/S): Returns S::TOOLS[i] without the early-return pattern applied to agents 7, 8, 9, 18, 21, 24. No comment explains why S differs; if S::TOOLS is empty this will also fail to compile.
  • specs/t27os/identity.t27:319 (tools accessor for agent 19/S): The line if (o == 19) { return S::TOOLS[i]; } lacks the #5980 class comment present on surrounding arms, making it unclear whether this was intentional or missed.
  • specs/crons/t27os-night-loop.t27:14 (REPO = "mac"): The cron runs on the owner's Mac outside any repository (CONTROL = "code-only"). Since launchd isn't scanned, this spec will never be validated by the cron runner—any future changes to its fields won't be caught automatically.
  • specs/t27os/fanout.t27:78 (import fix): Only the import and call sites were updated; verify ev_heading exists in t27os::evolve with the same signature (takes a level u32, returns []const u8), otherwise this will fail at compile time despite the typecheck pass noted.

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

@gHashTag
gHashTag merged commit c29483c into master Oct 23, 2026
24 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant