Skip to content

port(ts->affine): port telegram bot + axel-protocol tests to AffineScript#45

Merged
hyperpolymath merged 1 commit into
mainfrom
feat/port-ts-to-affinescript
May 11, 2026
Merged

port(ts->affine): port telegram bot + axel-protocol tests to AffineScript#45
hyperpolymath merged 1 commit into
mainfrom
feat/port-ts-to-affinescript

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Summary

Closes hyperpolymath/affinescript#65.

Ports all TypeScript and ReScript files identified in the TS-elimination audit (2026-05-02, recommendation #9) to AffineScript. Both blocking issues are now closed: affinescript#35 (Node-CJS backend) and affinescript#42 (\�xtern type\ / \�xtern fn\ parsing).

Files changed

Added (AffineScript ports):

  • \�vow-protocol/telegram-bot/avow-telegram-bot/src/stamp-mock.affine\ — STAMP mock verification library
  • \�vow-protocol/telegram-bot/avow-telegram-bot/src/database.affine\ — SQLite database layer
  • \�vow-protocol/telegram-bot/avow-telegram-bot/src/bot.affine\ — Grammy Telegram bot
  • \�vow-protocol/telegram-bot/avow-telegram-bot/test-mock.affine\ — stamp-mock tests (self-contained, deno-test harness)
  • \�xel-protocol/src/AxelSts.affine\ — Native DNS TXT record parser (replaces AxelSts.res)
  • \�xel-protocol/test/axel-sts_test.affine\ — Parser tests (self-contained, deno-test harness)
  • \�xel-protocol/test/validate-policy.affine\ — Policy schema validation script
  • \�xel-protocol/test/validate-policy_test.affine\ — Policy schema tests

Deleted:

  • \�vow-protocol/telegram-bot/avow-telegram-bot/src/{bot,database,stamp-mock}.ts\
  • \�vow-protocol/telegram-bot/avow-telegram-bot/test-mock.ts\
  • \�xel-protocol/src/AxelSts.res\ + \AxelSts.res.js\
  • \�xel-protocol/test/{axel-sts_test,validate-policy,validate-policy_test}.ts\

Extern stdlib modules

\�ot.affine, \database.affine, \�alidate-policy*.affine\ depend on extern binding modules added in companion PR hyperpolymath/affinescript#100 (Grammy, Sqlite, Network, Crypto, Ajv). Merge that PR first.

Test plan

  • \�ffinescript-deno-test\ passes for \ est-mock.affine\ and \�xel-sts_test.affine\ (self-contained, no extern deps beyond builtins)
  • \�ot.affine\ + \database.affine\ compile with \�ffinescript check --target node-cjs\
  • \�alidate-policy.affine\ compiles with \�ffinescript check --target node-cjs\
  • Language policy CI: no .ts\ or .res\ files remain in the ported directories
  • Companion stdlib PR (affinescript#100) merged before this one

🤖 Generated with Claude Code

…ript

Closes hyperpolymath/affinescript#65.

Both blocking issues have landed:
- affinescript#35 (Node-CJS backend) -- CLOSED
- affinescript#42 (extern type/fn parsing) -- CLOSED

Changes:
- avow-protocol/telegram-bot: stamp-mock, database, bot, test-mock -> .affine
- axel-protocol/src: AxelSts.res + .res.js -> AxelSts.affine (native parser)
- axel-protocol/test: axel-sts_test, validate-policy, validate-policy_test -> .affine

Extern stdlib modules (Grammy, Sqlite, Network, Crypto, Ajv) added in
companion PR against hyperpolymath/affinescript (feat/stdlib-extern-bindings).

The test-mock.affine and axel-sts_test.affine are self-contained and run
directly under affinescript-deno-test (pub fn test_<name>() -> Bool convention).
The bot.affine, database.affine, validate-policy*.affine files use
--target node-cjs and require the Node-CJS shim from affinescript#35.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@hyperpolymath hyperpolymath merged commit 6536e7e into main May 11, 2026
16 of 19 checks passed
@hyperpolymath hyperpolymath deleted the feat/port-ts-to-affinescript branch May 11, 2026 05:19
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.

[Ecosystem] Port telegram bot + axel-protocol tests to .affine once #35 + #42 land

1 participant