toolchain: node v26.8.1

OK    syntax: packages/discord/src/approvals.mjs
OK    syntax: packages/discord/src/authorize.mjs
OK    syntax: packages/discord/src/binding.mjs
OK    syntax: packages/discord/src/cli.mjs
OK    syntax: packages/discord/src/connector.mjs
OK    syntax: packages/discord/src/context.mjs
OK    syntax: packages/discord/src/engine-pi.mjs
OK    syntax: packages/discord/src/errors.mjs
OK    syntax: packages/discord/src/gateway.mjs
OK    syntax: packages/discord/src/git.mjs
OK    syntax: packages/discord/src/journal.mjs
OK    syntax: packages/discord/src/notify.mjs
OK    syntax: packages/discord/src/rest.mjs
OK    syntax: packages/discord/src/setspark.mjs
OK    syntax: packages/discord/src/tools.mjs
OK    syntax: packages/discord/src/web.mjs
OK    syntax: packages/discord/bin/git-credential.mjs
OK    syntax: packages/discord/extension/tools.mjs
OK    syntax: packages/discord/tests/approvals.test.mjs
OK    syntax: packages/discord/tests/authorize.test.mjs
OK    syntax: packages/discord/tests/binding.test.mjs
OK    syntax: packages/discord/tests/connector.test.mjs
OK    syntax: packages/discord/tests/context.test.mjs
OK    syntax: packages/discord/tests/engine.test.mjs
OK    syntax: packages/discord/tests/fake-pi.mjs
OK    syntax: packages/discord/tests/gateway.test.mjs
OK    syntax: packages/discord/tests/git.test.mjs
OK    syntax: packages/discord/tests/helpers.mjs
OK    syntax: packages/discord/tests/journal.test.mjs
OK    syntax: packages/discord/tests/notify.test.mjs
OK    syntax: packages/discord/tests/recover.test.mjs
OK    syntax: packages/discord/tests/rest.test.mjs
OK    syntax: packages/discord/tests/setspark.test.mjs
OK    syntax: packages/discord/tests/tools.test.mjs
OK    syntax: packages/discord/tests/web.test.mjs
OK    syntax: packages/discord/fixtures/claim-worker.mjs
OK    syntax: packages/discord/fixtures/legacy-owner-worker.mjs
OK    syntax: scripts/discord.sh
OK    syntax: scripts/discord-service.sh
OK    packages/discord declares no dependencies
OK    no bot-token-shaped string in packages/discord
OK    fixture binding uses placeholder ids only
OK    fixture binding validates
OK    real pi with the extension exposes exactly list_dir, read_file, search and no built-in tool
OK    real pi with a writable root exposes exactly the three reads plus write_file and edit_file, and writes nothing at start
OK    real pi with a web key exposes the three reads plus web_fetch and web_search, and no write tool without a writable root
OK    real pi with a git root exposes the reads, writes and the four git verbs, commits nothing at start, and never shows the token
OK    real pi with protocol vault adds reserve_id to the git verbs
OK    real pi with a setspark key exposes the reads and the eight record verbs, no counters, and never shows the key
OK    real pi refuses a git key on a read-only root (fail closed)
OK    real pi with the pilot flags (--no-tools) exposes no tool at all
OK    real pi exits non-zero without MOSAIC_DISCORD_TOOLS: no session, no tools (fail closed)
OK    a failing nested test fails the run under a parent runner's NODE_TEST_CONTEXT
OK    node --test packages/discord/tests/ (ℹ pass 178)
OK    scripts/discord.sh --help exits 0
OK    scripts/discord.sh check without a binding exits 4
OK    scripts/discord.sh recover without a binding exits 4
OK    scripts/discord.sh reload without a binding exits 4
OK    scripts/discord-service.sh without a command exits 4
OK    service unit renders with the repository path, a supervised run as the main process, exit 3 never retried, and reload as SIGHUP
OK    service install writes the rendered unit (0644) and leaves no temp file
OK    service install a second time reports unchanged
OK    systemd-analyze verify accepts the rendered unit
OK    service uninstall removes the unit file
OK    service install with an unknown flag exits 4
OK    service install with USER unset finishes and names the account for lingering

discord suite: 66 passed, 0 failed
