Skip to content

specs/functions: the 28 Inngest functions of 999-multibots-telegraf as first-class .t27 specs (layer 5) - #3553

Merged
gHashTag merged 1 commit into
masterfrom
specs/functions-999-multibots
Sep 9, 2026
Merged

specs/functions: the 28 Inngest functions of 999-multibots-telegraf as first-class .t27 specs (layer 5)#3553
gHashTag merged 1 commit into
masterfrom
specs/functions-999-multibots

Conversation

@gHashTag

@gHashTag gHashTag commented Sep 9, 2026

Copy link
Copy Markdown
Owner

What

specs/functions/ — one .t27 module per Inngest function the bot 999-multibots-telegraf registers at main @a9c08b4 (28), KIND = "function", module fn_<id>, same header / module / pub const style as specs/crons. Plus specs/functions/README.md (schema, vocabularies, honesty notes), specs/i18n/agents-ru.t27 SCOPE[4]str with specs/functions, an OWNERS.md row and a docs/now note.

Fields (design doc §2): KIND, ID, LEGACY_ID, NAME, REPO, SERVICE (file:line), DOMAIN, TRIGGER, EVENT, LEGACY_EVENTS, CRON, TZ, SUMMARY_EN, STEPS, RETRIES : u8, ON_FAILURE, SIDE_EFFECTS, GUARD, SAFE_PROBE, PROBE_RESULT, CONTROL, NOTE.

Stacked on #3546 (feat/specs-agents), because the i18n SCOPE line and the ladder README already changed there; retarget to master once #3546 lands. Companion site PR: gHashTag/trinity (branch queen/functions-tab) vendors these files byte-identically and adds the FUNCTIONS tab.

Where the values come from

  • The functions manifest (28 entries, extracted from the source tree; vendored in trinity as the code witness) and, where it has gaps, the checkout itself — each fill is named in NOTE:
    • training-model-v2-start, payment-ai-server-process, broadcast-message-send: manifest has no file, no steps, retries: null → read from the files (SERVICE carries file:line of createFunction().
    • eight functions declare no retriesRETRIES = 4 (Inngest JS SDK v3 default) with a NOTE; the 2026-09-09 probe saw such functions reach attempt 5.
  • Kept visible, not resolved: payment-ai-server-process declares onFailure: createInngestFailureHandler(...) (logs + messages the admin chat) → spec says admin-telegram, manifest says log; the site will show the difference as a message.
  • Not hidden: training-model-complete, training-stuck-check, webhook-generation-validate, welcome-avatar-generate are not on the production Railway build as of 2026-09-09 → PROBE_RESULT = "not-deployed" (a fourth value beyond the design enum, documented), GUARD = "unknown".
  • Five cron functions are also stated as cron cards in specs/crons (inngest/999-multibots-telegraf/<LEGACY_ID>); NOTE names the cron ID.

Checks

  • 28/28 compiled with the vendored t27_compiler.wasm (sha256 4d9c0447b5ca2887…) from trinity: typecheck.ok true, nothing discarded, hir.ok; field schema (types, array lengths, u8 range, pub) satisfied; module = fn_<id>; ID = file name; SAFE_PROBE parses as JSON; ASCII only.
  • tools/check_assertionless_spec_tests.py: ok (4054 in 33, baseline unchanged).
  • Cyrillic scan over the new files by hand: none.
  • Not run: cargo build (the bootstrap/build.rs LANG-EN guard) and tools/check_duplicate_declarations.py — no Rust toolchain in this environment (exit 2 = COULD NOT RUN). scripts/check-first-party-doc-language.sh reports three pre-existing docs/wave_ecosystem_2026-07-08/*.md files, none from this PR.

Not claimed

No function renamed in the code; no run triggered; no first/only/best.

Do not merge — review first.

Closes #3552

…s first-class .t27 specs (layer 5)

One specs/functions/<id>.t27 per function registered at 999-multibots-telegraf
main @a9c08b4, KIND "function", module fn_<id>: canonical and legacy ids and
events, TRIGGER (event|cron), STEPS in source order, RETRIES, ON_FAILURE,
SIDE_EFFECTS, GUARD, the 2026-09-09 safe probe (SAFE_PROBE, PROBE_RESULT),
CONTROL and NOTE. Same header / module / pub const style as specs/crons.

Values are read from the functions manifest (the code witness the site vendors)
and, where it has gaps, from the checkout itself; each such fill is named in
NOTE. Kept visible, not resolved: payment-ai-server-process declares an
onFailure handler (admin-telegram) where the manifest says log; eight
functions declare no retries and carry the SDK default 4 with a NOTE; four
functions are not on the production Railway build as of 2026-09-09
(PROBE_RESULT not-deployed, GUARD unknown).

specs/i18n/agents-ru.t27 SCOPE gains specs/functions ([4]str); OWNERS.md gains
the functions/ row; docs/now records the measurement.

Measured: 28/28 typecheck ok under the vendored compiler wasm
(4d9c0447b5ca2887...), nothing discarded, field schema satisfied, ASCII only.
Not run here: cargo build (bootstrap/build.rs LANG-EN guard) -- no Rust
toolchain in this environment; the Cyrillic scan was repeated by hand.

Closes #3552
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-09-09 16:19:27 UTC

Summary

Status Count
Total Open PRs 17
PRs with Failing Checks 15
PRs with All Checks Green 2
READY 2
FAILING 15
PENDING 0
NO CHECKS YET 0

Seal Status

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

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@gHashTag
gHashTag merged commit 574751b into master Sep 9, 2026
55 of 59 checks passed
@gHashTag
gHashTag deleted the specs/functions-999-multibots branch September 9, 2026 16:24
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.

specs/functions: 28 Inngest functions of 999-multibots-telegraf as KIND "function" .t27 specs

1 participant