Skip to content

spec(t27f): quest.t27 -- one bee per cell, evidence through the engine's gates, one progression event, a human approves publish (Closes #10030) - #10032

Merged
gHashTag merged 1 commit into
masterfrom
t27f/quest
Oct 17, 2026
Merged

gHashTag merged 1 commit into
masterfrom
t27f/quest

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #10030

What

specs/t27f/quest.t27 (module t27f_quest): one quest turn on a topic map. It is an application built on T27F, not T27F itself; T27F is the visual spec of a .t27 file (definition in .claude/skills/t27f/SKILL.md). The core graph IR is #10020 / PR #10029; this PR is the next step after it, by the owner's order.

  • quest_target(): one cell per turn. It takes the first OPEN cell, else the first GAP, else none, decided by the engine's bee_target().
  • bee_fits() / dispatch(): a bee is dispatched only while dispatch_allowed() holds and only if its name is on the domain's *_BEES list. The list is read with the engine's own kw_in_list, not copied. A GAP takes GAP_BEE.
  • review_counts() / quest_evidence(): a review is evidence only when the reviewer is not the author. All other evidence goes through verify().
  • progression_event() / event_points(): true exactly when counts_as_progress() flips from false to true. It is worth POINTS_PER_VERIFIED_LESSON and is never money.
  • quest_action(): the engine's approval gate, unchanged. No high-impact action runs without a human's yes, for any status.
  • board_state(): the cell's column on the Queen's board, as specs/queen/tasks.t27 TS_* codes.

Every gate is imported with use from topic_engine.t27; no constant is restated (SC-4).

Pilot: step 16 of the NMSE research map

reel_gf16_nmse.t27 cell 15, "The sealed run": DELIVER stage, research domain, so the required evidence is a review. The timeline starts from the cell as a GAP. It does not read the map's STATUS row, because grounding cells 15/16/24 on the #10021 manifest is a separate change.

step evidence status board event
1 run source (sealed manifest) DRAFT review -
2 schema check passing test (clears PRACTICE, not DELIVER) DRAFT review -
3 self-review refused, reviewer == author DRAFT review -
4 independent review review VERIFIED done +1 point
5 publish refused without approval; after a human's yes PUBLISHED done -

Exactly one event across the five steps, asserted in the_pilot_timeline. Each step is checked twice: the evidence path (quest_evidence) and earned_status agree.

Verification (Railway lab, never the Mac)

Files shipped as one tarball, sha256 equal on both ends (quest.t27 a2d65ddf...c06d93).

  • t27c test-report: 9 tests, 9 pass, 0 FAIL, 3 invariants proved, 0 vacuous passes.
  • t27b (aarch64 under qemu) test --check: 9 passed, 0 failed, 3 invariants held, 209 runtime asserts.
  • Negative control: review_counts changed to always return true. t27c then reports 2 FAIL (a_self_review_is_not_evidence, the_pilot_timeline), 7 pass. The file was restored afterwards and its sha re-checked.

Not claimed

No runtime dispatches a bee from this file yet, and no board shows a quest. The pilot timeline is a rule check, not the record of a run.

🤖 Generated with Claude Code

…e's gates, one progression event, a human approves publish (Closes #10030)

The Queen picks one cell (first OPEN, else first GAP) and one bee whose name
is on the domain's list; a review counts only from someone other than the
author; the progression event fires once, when a cell starts to count; a
high-impact action waits for a human. Every gate is imported from
topic_engine.t27. Pilot: step 16 of the GF16 vs bfloat16 NMSE research map.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-17 17:14:32 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 49
PRs with All Checks Green 1
READY 0
FAILING 49
PENDING 0
NO CHECKS YET 0

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

Seal Status

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

@gHashTag
gHashTag enabled auto-merge (squash) October 17, 2026 17:15
@gHashTag
gHashTag merged commit c92f453 into master Oct 17, 2026
25 of 29 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

1 participant