From bfe3506aec46b251b438e3c81c22aa5c28ccda65 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 03:43:33 +0000 Subject: [PATCH 01/57] wip(kernel): the proxy Zuse -- a stick's first boot mints its own Zuse (#92, Task 1) [skip ci] Work in progress on StarForth-v4.0.0; not yet accepted (plan 2026-10-29-stick-5, Task 1). - zuse_genesis_marker.h: the marker's version 2 -- the proxy's key and the real Zuse's -- beside version 1. - capsule_zuse_boot.c: capsule_zuse_boot_check_key() (the identity-record half of the check) and capsule_zuse_boot_genesis_mint() (the mint half of v3's genesis) split out; v3's two callers unchanged in behaviour. - sk_v4_marker.c: the v4 boot reads version 1 as a proxy with no real Zuse, and writes version 2. - sk_v4_identity.c: no marker and a blank identity partition -> genesis: mint, read back, then the marker; the proxy logs in. A marker with a real key: no session for the proxy (the fixed screen is Task 5). - qemu_session.py: boot()/shutdown(), so a mode can boot twice; modes genesis and stick_genesis; stick_boot now expects genesis and the prompt. Logs: genesis on amd64 before the change (both boots: "no genesis on this disk", FAIL) and after (minted, then recognised: PASS). The DoE CSV of 032532 is from a run whose QEMU never started (no display; its empty log directory was removed). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-032532.csv | 0 .../runs/doe-amd64-20261108-032631.csv | 0 .../runs/doe-amd64-20261108-033258.csv | 0 .../runs/doe-amd64-20261108-033933.csv | 0 .../runs/doe-amd64-20261108-034104.csv | 0 kernel/Makefile | 4 +- kernel/include/starkernel/capsule_zuse_boot.h | 22 +++ kernel/include/starkernel/v4/sk_v4_marker.h | 30 ++++ .../include/starkernel/zuse_genesis_marker.h | 22 +++ kernel/src/capsule/capsule_zuse_boot.c | 66 ++++--- kernel/src/v4/sk_v4_identity.c | 119 ++++++++++--- kernel/src/v4/sk_v4_marker.c | 60 +++++++ .../amd64/qemu-amd64-20261108-032631.log | 158 +++++++++++++++++ .../amd64/qemu-amd64-20261108-033258.log | 158 +++++++++++++++++ .../amd64/qemu-amd64-20261108-033933.log | 161 ++++++++++++++++++ .../amd64/qemu-amd64-20261108-034104.log | 161 ++++++++++++++++++ scripts/qemu_session.py | 131 +++++++++----- 17 files changed, 996 insertions(+), 96 deletions(-) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-032532.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-032631.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-033258.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-033933.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-034104.csv create mode 100644 kernel/include/starkernel/v4/sk_v4_marker.h create mode 100644 kernel/src/v4/sk_v4_marker.c create mode 100644 logs/20261108-032631/amd64/qemu-amd64-20261108-032631.log create mode 100644 logs/20261108-033258/amd64/qemu-amd64-20261108-033258.log create mode 100644 logs/20261108-033933/amd64/qemu-amd64-20261108-033933.log create mode 100644 logs/20261108-034104/amd64/qemu-amd64-20261108-034104.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-032532.csv b/experiments/bare_metal/runs/doe-amd64-20261108-032532.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-032631.csv b/experiments/bare_metal/runs/doe-amd64-20261108-032631.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-033258.csv b/experiments/bare_metal/runs/doe-amd64-20261108-033258.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-033933.csv b/experiments/bare_metal/runs/doe-amd64-20261108-033933.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-034104.csv b/experiments/bare_metal/runs/doe-amd64-20261108-034104.csv new file mode 100644 index 00000000..e69de29b diff --git a/kernel/Makefile b/kernel/Makefile index 8c6fcbd6..71d9bb12 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -714,8 +714,8 @@ V4_ENGINE_SRCS := $(addprefix v4/src/,node.c exec.c stack.c iword.c heat.c guard V4_ROM_C := $(BUILD_DIR)/v4_rom_64.c V4_MAP_C := $(BUILD_DIR)/v4_map_64.c -LOADER_EXTRA_SRCS += $(KERNEL_SRC)/v4/sk_v4.c $(KERNEL_SRC)/v4/sk_v4_identity.c -KERNEL_EXTRA_SRCS += $(KERNEL_SRC)/v4/sk_v4.c $(KERNEL_SRC)/v4/sk_v4_identity.c +LOADER_EXTRA_SRCS += $(KERNEL_SRC)/v4/sk_v4.c $(KERNEL_SRC)/v4/sk_v4_identity.c $(KERNEL_SRC)/v4/sk_v4_marker.c +KERNEL_EXTRA_SRCS += $(KERNEL_SRC)/v4/sk_v4.c $(KERNEL_SRC)/v4/sk_v4_identity.c $(KERNEL_SRC)/v4/sk_v4_marker.c # v4/system/boot.c is the boot the hosted v4 system runs too: the ROM # assembles the system, then the capsules from this kernel's own capsule # directory, then the prompt. diff --git a/kernel/include/starkernel/capsule_zuse_boot.h b/kernel/include/starkernel/capsule_zuse_boot.h index 2d647c16..a9d1db0f 100644 --- a/kernel/include/starkernel/capsule_zuse_boot.h +++ b/kernel/include/starkernel/capsule_zuse_boot.h @@ -50,6 +50,28 @@ zuse_drive_t capsule_zuse_boot_check(struct blkio_dev *dev, const homeblocks_sig_t *sig, uint8_t seed[32], uint8_t pubkey[32]); +/** + * capsule_zuse_boot_check_key - The identity-record half of + * capsule_zuse_boot_check(): the drive's identity record (magic, version, + * CRC-64) and its public key against @p want, with no marker read + * (plan 2026-10-29-stick-5, Task 1: the v4 boot checks against either of the + * version 2 marker's keys). ZUSE_DRIVE_HERS, with @p seed and @p pubkey + * filled in, or ZUSE_DRIVE_NOT_HERS. Writes nothing. + */ +zuse_drive_t capsule_zuse_boot_check_key(struct blkio_dev *dev, + homeblocks_sig_result_t sig_rc, + const homeblocks_sig_t *sig, + const uint8_t want[32], + uint8_t seed[32], uint8_t pubkey[32]); + +/** + * capsule_zuse_boot_genesis_mint - The mint half of v3's genesis, with no VM: + * Zuse's identity minted onto the blank drive @p dev (genesis mode, + * capsule_mint_identity()). Returns 0 with @p seed and @p pubkey filled in, + * or -1. Writes no marker: each caller writes its own. + */ +int capsule_zuse_boot_genesis_mint(struct blkio_dev *dev, uint8_t seed[32], uint8_t pubkey[32]); + /** * capsule_zuse_boot_root_pubkey - Zuse's public key from the genesis * marker. Returns 0 with @p pubkey filled in, or -1 (no genesis yet, or the diff --git a/kernel/include/starkernel/v4/sk_v4_marker.h b/kernel/include/starkernel/v4/sk_v4_marker.h new file mode 100644 index 00000000..b5f5ae65 --- /dev/null +++ b/kernel/include/starkernel/v4/sk_v4_marker.h @@ -0,0 +1,30 @@ +/* sk_v4_marker.h -- the genesis marker, as the v4 boot reads and writes it: + * version 2, the stick's proxy Zuse and the real Zuse (docs/v4.0.0/STICK.md 6, + * 6a; plan 2026-10-29-stick-5, Task 1). On Artemis's metadata fence, + * devblock 0 from the top (blk_meta_zone_read/write), as v3's version 1. + * + * Built only with STARFORTH_V4=1 (Kconfig.kernel). + */ +#ifndef STARKERNEL_V4_SK_V4_MARKER_H +#define STARKERNEL_V4_SK_V4_MARKER_H + +#include + +typedef struct { + int present; /* a marker is on the fence: genesis has happened */ + uint8_t proxy[32]; /* the stick's proxy Zuse */ + int has_real; /* the real Zuse is minted, on a second stick */ + uint8_t real[32]; /* her key, when has_real */ +} sk_v4_marker_t; + +/* The marker on the first disk slot's fence. A version 1 marker (v3's, the + * minted pair's) reads as a proxy with no real Zuse. Returns 0 with @p m + * filled in; -1 when there is none or it fails its checks (@p m then reads + * present = 0). */ +int sk_v4_marker_read(sk_v4_marker_t *m); + +/* Write @p m to the fence, always as version 2. Returns 0, or -1 on a write + * error. */ +int sk_v4_marker_write(const sk_v4_marker_t *m); + +#endif /* STARKERNEL_V4_SK_V4_MARKER_H */ diff --git a/kernel/include/starkernel/zuse_genesis_marker.h b/kernel/include/starkernel/zuse_genesis_marker.h index cfa0afe6..7b8aafa3 100644 --- a/kernel/include/starkernel/zuse_genesis_marker.h +++ b/kernel/include/starkernel/zuse_genesis_marker.h @@ -43,4 +43,26 @@ typedef struct { _Static_assert(sizeof(zuse_genesis_marker_t) == 4096, "zuse_genesis_marker_t must be exactly one 4 KiB devblock"); +/* Version 2 (docs/v4.0.0/STICK.md 6, 6a; plan 2026-10-29-stick-5, Task 1): the + * same magic and devblock, two keys -- the stick's proxy Zuse, minted at its + * first boot, and the real Zuse, minted onto a second stick (zero, and + * has_real 0, until she is). Written and read only by the v4 boot + * (sk_v4_marker.c), which reads a version 1 marker as a proxy with no real + * Zuse. v3 reads version 1 only, and never runs from a stick (STICK.md 5.5). */ +#define ZUSE_GENESIS_MARKER_VERSION_2 2u + +typedef struct { + uint32_t magic; /* ZUSE_GENESIS_MARKER_MAGIC */ + uint32_t version; /* ZUSE_GENESIS_MARKER_VERSION_2 */ + uint8_t proxy_pubkey[32]; /* the stick's proxy Zuse */ + uint8_t real_pubkey[32]; /* the real Zuse, when has_real */ + uint32_t has_real; /* 1 once the real Zuse is minted */ + uint32_t _reserved; /* zero: makes the padding before crc explicit */ + uint64_t crc; /* CRC-64/ISO over every byte before this field */ + uint8_t _pad[4096 - (4 + 4 + 32 + 32 + 4 + 4 + 8)]; +} zuse_genesis_marker_v2_t; + +_Static_assert(sizeof(zuse_genesis_marker_v2_t) == 4096, + "zuse_genesis_marker_v2_t must be exactly one 4 KiB devblock"); + #endif /* STARKERNEL_ZUSE_GENESIS_MARKER_H */ diff --git a/kernel/src/capsule/capsule_zuse_boot.c b/kernel/src/capsule/capsule_zuse_boot.c index 3703ccd0..415e2e9e 100644 --- a/kernel/src/capsule/capsule_zuse_boot.c +++ b/kernel/src/capsule/capsule_zuse_boot.c @@ -113,6 +113,36 @@ static void install_and_activate(VM *mama_vm, struct blkio_dev *dev, * "ACL-ZUSE-BOOT") above already sets. Nothing to call here anymore. */ } +/* The identity-record half of the check (split out 2026-10-29 so the v4 boot + * can check against either of the version 2 marker's keys: plan + * 2026-10-29-stick-5, Task 1). */ +zuse_drive_t capsule_zuse_boot_check_key(struct blkio_dev *dev, + homeblocks_sig_result_t sig_rc, + const homeblocks_sig_t *sig, + const uint8_t want[32], + uint8_t seed[32], uint8_t pubkey[32]) { + if (!dev || !want) return ZUSE_DRIVE_NOT_HERS; + if (sig_rc != HOMEBLOCKS_SIG_OK || !sig) return ZUSE_DRIVE_NOT_HERS; + if (sig->identity_src_offset == 0 || sig->identity_src_devblocks < 1) return ZUSE_DRIVE_NOT_HERS; + + user_identity_seed_t idrec; + if (read_devblock(dev, sig->identity_src_offset, (uint8_t *)&idrec) != 0) return ZUSE_DRIVE_NOT_HERS; + /* Same magic -> version -> CRC-64 discipline as genesis_marker_read(): + * this record carries Zuse's private key (the seed), so a corrupt or + * format-mismatched record must be refused, never loaded -- a bad CRC + * could otherwise install a garbage seed as Zuse's identity. */ + if (idrec.magic != USER_IDENTITY_SEED_MAGIC) return ZUSE_DRIVE_NOT_HERS; + if (idrec.version != USER_IDENTITY_SEED_VERSION) return ZUSE_DRIVE_NOT_HERS; + uint64_t want_crc = compute_crc64((const uint8_t *)&idrec, + offsetof(user_identity_seed_t, crc)); + if (want_crc != idrec.crc) return ZUSE_DRIVE_NOT_HERS; + if (memcmp(idrec.pubkey, want, 32) != 0) return ZUSE_DRIVE_NOT_HERS; /* not Zuse's drive */ + + memcpy(seed, idrec.seed, 32); + memcpy(pubkey, idrec.pubkey, 32); + return ZUSE_DRIVE_HERS; +} + /* The check, with no VM (split out 2026-10-26 so the v4 boot makes the same * one: docs/v4.0.0/plans/2026-10-26-engine-step4-identity-gate.md, D1). */ zuse_drive_t capsule_zuse_boot_check(struct blkio_dev *dev, @@ -129,25 +159,18 @@ zuse_drive_t capsule_zuse_boot_check(struct blkio_dev *dev, /* Marker present: genesis already happened, on some thumbdrive. * Only this drive if it is that drive. */ - if (sig_rc != HOMEBLOCKS_SIG_OK || !sig) return ZUSE_DRIVE_NOT_HERS; - if (sig->identity_src_offset == 0 || sig->identity_src_devblocks < 1) return ZUSE_DRIVE_NOT_HERS; + return capsule_zuse_boot_check_key(dev, sig_rc, sig, marker.zuse_pubkey, seed, pubkey); +} - user_identity_seed_t idrec; - if (read_devblock(dev, sig->identity_src_offset, (uint8_t *)&idrec) != 0) return ZUSE_DRIVE_NOT_HERS; - /* Same magic -> version -> CRC-64 discipline as genesis_marker_read(): - * this record carries Zuse's private key (the seed), so a corrupt or - * format-mismatched record must be refused, never loaded -- a bad CRC - * could otherwise install a garbage seed as Zuse's identity. */ - if (idrec.magic != USER_IDENTITY_SEED_MAGIC) return ZUSE_DRIVE_NOT_HERS; - if (idrec.version != USER_IDENTITY_SEED_VERSION) return ZUSE_DRIVE_NOT_HERS; - uint64_t want_crc = compute_crc64((const uint8_t *)&idrec, - offsetof(user_identity_seed_t, crc)); - if (want_crc != idrec.crc) return ZUSE_DRIVE_NOT_HERS; - if (memcmp(idrec.pubkey, marker.zuse_pubkey, 32) != 0) return ZUSE_DRIVE_NOT_HERS; /* not Zuse's drive */ - - memcpy(seed, idrec.seed, 32); - memcpy(pubkey, idrec.pubkey, 32); - return ZUSE_DRIVE_HERS; +/* The mint half of v3's genesis, with no VM (split out 2026-10-29: plan + * 2026-10-29-stick-5, Task 1). */ +int capsule_zuse_boot_genesis_mint(struct blkio_dev *dev, uint8_t seed[32], uint8_t pubkey[32]) { + MintResult r = capsule_mint_identity(dev, (VM *)0, "Zuse", "zuse", + (const char *)0, (const char *)0, + pubkey, seed, + MINT_PERSONALITY_DEFAULT, /* Zuse is the superuser -- never restricted */ + 1 /* the caller confirmed the drive BLANK */); + return r == MINT_OK ? 0 : -1; } int capsule_zuse_boot_root_pubkey(uint8_t pubkey[32]) { @@ -176,12 +199,7 @@ void capsule_zuse_boot_try_attach(struct blkio_dev *dev, which = capsule_zuse_boot_check(dev, sig_rc, sig, seed, pubkey); if (which == ZUSE_DRIVE_GENESIS) { - MintResult r = capsule_mint_identity(dev, (VM *)0, "Zuse", "zuse", - (const char *)0, (const char *)0, - pubkey, seed, - MINT_PERSONALITY_DEFAULT, /* Zuse is the superuser -- never restricted */ - 1 /* sig_rc already confirmed BLANK above */); - if (r != MINT_OK) { + if (capsule_zuse_boot_genesis_mint(dev, seed, pubkey) != 0) { console_println("Zuse: genesis mint failed"); return; } diff --git a/kernel/src/v4/sk_v4_identity.c b/kernel/src/v4/sk_v4_identity.c index 95282e77..e6a0e721 100644 --- a/kernel/src/v4/sk_v4_identity.c +++ b/kernel/src/v4/sk_v4_identity.c @@ -7,7 +7,7 @@ * and Hera are the kernel's (ENGINE.md 2, Q1), so a drive that arrives is * given to the block subsystem here, and Zuse's session is kept here, for * the first node, Hera. The check that the drive is hers is v3's own - * (capsule_zuse_boot_check()). + * (capsule_zuse_boot_check_key(), against the genesis marker's key). * * Artemis and Zuse come from one disk, this system's stick * (docs/v4.0.0/STICK.md 4; plan 2026-10-27-stick-4-one-disk.md, Task 4): its @@ -16,9 +16,14 @@ * identity drive always has been. No other drive is used on v4; drives of * users minted by this system's Zuse come with the users design after INSTALL. * + * Genesis (plan 2026-10-29-stick-5, Task 1; STICK.md 6): a stick whose + * Artemis fence has no marker and whose identity partition is blank mints its + * own Zuse at its first boot -- the stick's proxy Zuse, full Zuse while no real + * Zuse exists -- reads her back, then writes the version 2 marker + * (sk_v4_marker.c) naming her. + * * Not here (the plan's "not in this gate"): WIREBIND identities, EJECT, - * ACL-ZUSE-BOOT, and genesis -- which writes Artemis's disk, and the v4 boot - * does not write it yet (the stick's increment 5). + * ACL-ZUSE-BOOT. */ #include "starkernel/v4/sk_v4_identity.h" #include "starkernel/console.h" @@ -33,6 +38,7 @@ #include "starkernel/capsule_zuse_boot.h" #include "starkernel/kbd_input.h" #include "starkernel/gpt.h" +#include "starkernel/v4/sk_v4_marker.h" #ifdef ARCH_AMD64 #include "starkernel/ioapic.h" #include "starkernel/i8042.h" @@ -51,6 +57,12 @@ static uint8_t g_zuse_seed[32], g_zuse_pubkey[32]; static uint8_t g_zuse_root_pubkey[32]; static int g_zuse_root_known; static struct blkio_dev *g_zuse_dev; +/* The genesis marker on the stick's Artemis fence (version 2: the proxy and + * the real Zuse), read when the stick's Artemis partition attaches. */ +static sk_v4_marker_t g_marker; +/* The proxy is recognised but a real Zuse exists: no session for the proxy + * (STICK.md 6a; the fixed screen comes with the plan's Task 5). */ +static int g_proxy_fallback; /* A drive in a USB slot: the raw disk; when it is this system's stick, its * StarshipOS identity and Artemis partitions as devices of their own; and @@ -76,7 +88,6 @@ static struct { static gpt_part_t g_gpt_parts[SK_V4_GPT_PARTS]; static uint64_t g_last_beat; -static int g_said_no_genesis; static const BootDisk *g_boot_disk; /* the loader's: the disk it booted from */ static int g_stick_in; /* a stick's Artemis partition is attached */ @@ -138,6 +149,68 @@ static int sk_v4_is_this_stick(unsigned nparts) return !g_stick_in; } +/* Zuse's session begins on @p dev: the console is hers, and the screen with + * it (docs/v4.0.0/STICK.md 2). @p line says how she was found. */ +static void sk_v4_login(blkio_dev_t *dev, const uint8_t seed[32], const uint8_t pubkey[32], + const char *line) +{ + console_set_vm_name("Hera"); + console_set_user_prefix_provider(sk_v4_user_prefix); + console_fb_mirror(1); + console_fb_enable_ttf(); + console_println(line); + if (!g_zuse_cert_installed) { + memcpy(g_zuse_seed, seed, 32); + memcpy(g_zuse_pubkey, pubkey, 32); + g_zuse_cert_installed = 1; + } + memcpy(g_zuse_root_pubkey, pubkey, 32); /* as v3's install_and_activate() */ + g_zuse_root_known = 1; + g_zuse_dev = dev; + g_zuse_session = 1; +} + +/* Genesis on the stick (STICK.md 6): the proxy Zuse minted onto the blank + * identity partition @p dev, read back, and only then named in the version 2 + * marker on @p art's fence. A failure anywhere leaves no marker, and the + * system headless. Returns 1 when she is logged in. */ +static int sk_v4_genesis(blkio_dev_t *dev, blkio_dev_t *art) +{ + uint8_t seed[32], pubkey[32], rseed[32], rpub[32]; + homeblocks_sig_t sig; + homeblocks_sig_result_t sig_rc; + uint32_t lbn, nblk; + + /* Artemis takes the marker: its volume is formatted at build (STICK.md 4); + * confirmed here only because its signature checked out on attach, and a + * no-op on a volume already formatted */ + if (blk_get_device_range(art, &lbn, &nblk) != BLK_OK || blk_subsys_confirm_format(lbn) != BLK_OK) { + console_println("Zuse: genesis mint failed"); + return 0; + } + if (capsule_zuse_boot_genesis_mint(dev, seed, pubkey) != 0) { + console_println("Zuse: genesis mint failed"); + return 0; + } + /* read her back: what the marker will name must be on the stick */ + sig_rc = homeblocks_sig_check(dev, HOMEBLOCKS_SIG_START_FBLOCK, &sig); + if (capsule_zuse_boot_check_key(dev, sig_rc, &sig, pubkey, rseed, rpub) != ZUSE_DRIVE_HERS || + memcmp(rseed, seed, 32) != 0) { + console_println("Zuse: genesis mint failed -- not read back"); + return 0; + } + memset(&g_marker, 0, sizeof(g_marker)); + g_marker.present = 1; + memcpy(g_marker.proxy, pubkey, 32); + if (sk_v4_marker_write(&g_marker) != 0) { + memset(&g_marker, 0, sizeof(g_marker)); + console_println("Zuse: genesis marker write failed -- headless"); + return 0; + } + sk_v4_login(dev, seed, pubkey, "Zuse: genesis minted onto attached thumbdrive"); + return 1; +} + /* A drive that has arrived. This system's stick: its Artemis partition is * attached (the first disk slot, the block subsystem's), Zuse's public key is * read from its genesis marker, then its identity partition is attached and, @@ -189,8 +262,11 @@ static int sk_v4_drive_arrived(sk_v4_drive_t *d) d->art_used = &d->art; g_stick_in = 1; console_println("Artemis: the stick's partition attached"); - /* Zuse's public key, from the genesis marker on Artemis's fence */ - g_zuse_root_known = capsule_zuse_boot_root_pubkey(g_zuse_root_pubkey) == 0; + /* the genesis marker on Artemis's fence: the proxy's key (and the real + * Zuse's, once she is minted) */ + (void)sk_v4_marker_read(&g_marker); + g_zuse_root_known = g_marker.present; + if (g_marker.present) memcpy(g_zuse_root_pubkey, g_marker.proxy, 32); /* then the identity partition, as an identity drive always has been */ dev = &d->part; @@ -202,31 +278,18 @@ static int sk_v4_drive_arrived(sk_v4_drive_t *d) d->used = dev; if (g_zuse_session) return 1; - which = capsule_zuse_boot_check(dev, sig_rc, &sig, seed, pubkey); - if (which == ZUSE_DRIVE_GENESIS) { - if (!g_said_no_genesis) { - console_println("Zuse: no genesis on this disk -- the system stays headless"); - g_said_no_genesis = 1; - } + /* no marker: a blank identity partition is the stick's first boot */ + if (!g_marker.present) { + if (sig_rc == HOMEBLOCKS_SIG_BLANK) (void)sk_v4_genesis(dev, &d->art); return 1; } + which = capsule_zuse_boot_check_key(dev, sig_rc, &sig, g_marker.proxy, seed, pubkey); if (which != ZUSE_DRIVE_HERS) return 1; - - console_set_vm_name("Hera"); - console_set_user_prefix_provider(sk_v4_user_prefix); - /* the screen is the console from here (docs/v4.0.0/STICK.md 2) */ - console_fb_mirror(1); - console_fb_enable_ttf(); - console_println("Zuse: identity confirmed from attached thumbdrive"); - if (!g_zuse_cert_installed) { - memcpy(g_zuse_seed, seed, 32); - memcpy(g_zuse_pubkey, pubkey, 32); - g_zuse_cert_installed = 1; + if (g_marker.has_real) { + g_proxy_fallback = 1; /* a real Zuse exists: the proxy gets no session */ + return 1; } - memcpy(g_zuse_root_pubkey, pubkey, 32); /* as v3's install_and_activate() */ - g_zuse_root_known = 1; - g_zuse_dev = dev; - g_zuse_session = 1; + sk_v4_login(dev, seed, pubkey, "Zuse: identity confirmed from attached thumbdrive"); return 1; } @@ -245,6 +308,8 @@ static void sk_v4_drive_left(sk_v4_drive_t *d) blk_subsys_detach_device(d->art_used); d->art_used = (blkio_dev_t *)0; g_stick_in = 0; + g_proxy_fallback = 0; + memset(&g_marker, 0, sizeof(g_marker)); } if (!dev || dev != g_zuse_dev) return; g_zuse_session = 0; diff --git a/kernel/src/v4/sk_v4_marker.c b/kernel/src/v4/sk_v4_marker.c new file mode 100644 index 00000000..405c0797 --- /dev/null +++ b/kernel/src/v4/sk_v4_marker.c @@ -0,0 +1,60 @@ +/* sk_v4_marker.c -- the genesis marker, version 2, for the v4 boot + * (docs/v4.0.0/STICK.md 6, 6a; plan 2026-10-29-stick-5, Task 1). + * + * Version 1 (v3's, zuse_genesis_marker_t) holds one key; it reads here as + * the proxy, with no real Zuse, so the minted pair logs in as it always has. + * What is written is always version 2. v3 reads only version 1, and v3 never + * runs from a stick (STICK.md 5.5), so v3 never meets a version 2 marker. + */ +#include "starkernel/v4/sk_v4_marker.h" +#include "starkernel/zuse_genesis_marker.h" +#include "block_subsystem.h" /* blk_meta_zone_read/write, compute_crc64 */ +#include +#include + +/* One 4 KiB devblock, read as either version */ +static union { + uint8_t bytes[4096]; + zuse_genesis_marker_t v1; + zuse_genesis_marker_v2_t v2; +} g_buf; + +int sk_v4_marker_read(sk_v4_marker_t *m) +{ + memset(m, 0, sizeof(*m)); + if (blk_meta_zone_read(0, g_buf.bytes) != 0) return -1; + if (g_buf.v1.magic != ZUSE_GENESIS_MARKER_MAGIC) return -1; + + if (g_buf.v1.version == ZUSE_GENESIS_MARKER_VERSION) { + if (compute_crc64(g_buf.bytes, offsetof(zuse_genesis_marker_t, crc)) != g_buf.v1.crc) + return -1; + memcpy(m->proxy, g_buf.v1.zuse_pubkey, 32); + m->present = 1; + return 0; + } + if (g_buf.v2.version == ZUSE_GENESIS_MARKER_VERSION_2) { + if (compute_crc64(g_buf.bytes, offsetof(zuse_genesis_marker_v2_t, crc)) != g_buf.v2.crc) + return -1; + if (g_buf.v2.has_real > 1u) return -1; + memcpy(m->proxy, g_buf.v2.proxy_pubkey, 32); + m->has_real = (int)g_buf.v2.has_real; + if (m->has_real) memcpy(m->real, g_buf.v2.real_pubkey, 32); + m->present = 1; + return 0; + } + return -1; +} + +int sk_v4_marker_write(const sk_v4_marker_t *m) +{ + memset(g_buf.bytes, 0, sizeof(g_buf.bytes)); + g_buf.v2.magic = ZUSE_GENESIS_MARKER_MAGIC; + g_buf.v2.version = ZUSE_GENESIS_MARKER_VERSION_2; + memcpy(g_buf.v2.proxy_pubkey, m->proxy, 32); + if (m->has_real) { + memcpy(g_buf.v2.real_pubkey, m->real, 32); + g_buf.v2.has_real = 1u; + } + g_buf.v2.crc = compute_crc64(g_buf.bytes, offsetof(zuse_genesis_marker_v2_t, crc)); + return blk_meta_zone_write(0, g_buf.bytes) == 0 ? 0 : -1; +} diff --git a/logs/20261108-032631/amd64/qemu-amd64-20261108-032631.log b/logs/20261108-032631/amd64/qemu-amd64-20261108-032631.log new file mode 100644 index 00000000..fedaa068 --- /dev/null +++ b/logs/20261108-032631/amd64/qemu-amd64-20261108-032631.log @@ -0,0 +1,158 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 03:25:59 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 126 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248951 + Free pages : 247424 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2092610026 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1000682012, tick_hz=100, initial_count=10006820 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10006820) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +Zuse: no genesis on this disk -- the system stays headless diff --git a/logs/20261108-033258/amd64/qemu-amd64-20261108-033258.log b/logs/20261108-033258/amd64/qemu-amd64-20261108-033258.log new file mode 100644 index 00000000..2734eae6 --- /dev/null +++ b/logs/20261108-033258/amd64/qemu-amd64-20261108-033258.log @@ -0,0 +1,158 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 03:25:59 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248953 + Free pages : 247426 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2089746389 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=999267242, tick_hz=100, initial_count=9992672 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 naame=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=9992672) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +Zuse: no genesis on this disk -- the system stays headless diff --git a/logs/20261108-033933/amd64/qemu-amd64-20261108-033933.log b/logs/20261108-033933/amd64/qemu-amd64-20261108-033933.log new file mode 100644 index 00000000..79555e8c --- /dev/null +++ b/logs/20261108-033933/amd64/qemu-amd64-20261108-033933.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 03:38:58 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 129 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248953 + Free pages : 247426 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2094449913 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1002197406, tick_hz=100, initial_count=10021974 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10021974) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: genesis minted onto attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-034104/amd64/qemu-amd64-20261108-034104.log b/logs/20261108-034104/amd64/qemu-amd64-20261108-034104.log new file mode 100644 index 00000000..f9075006 --- /dev/null +++ b/logs/20261108-034104/amd64/qemu-amd64-20261108-034104.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 03:38:58 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248954 + Free pages : 247427 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2100055482 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1009310739, tick_hz=100, initial_count=10093107 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10093107) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/scripts/qemu_session.py b/scripts/qemu_session.py index 31867d9d..f11bdf0b 100755 --- a/scripts/qemu_session.py +++ b/scripts/qemu_session.py @@ -46,7 +46,13 @@ the stick's, plan 2026-10-26-stick-1-screen-and-keyboard.md): said so, not attached virtio_kbd aarch64/riscv64: QEMU's virtio keyboard types 7 ok stick_boot --target qemu-stick (amd64): the PC stick booted as a USB stick through OVMF; its - blank identity partition attached (500 MiB, not the 2 GiB disk); headless + blank identity partition attached (500 MiB, not the 2 GiB disk); the proxy Zuse + minted onto it (genesis), [zuse@Hera] ok> (plan 2026-10-29-stick-5, Task 1) + genesis a fresh data stick (DATASTICK=1, no Zuse drive), booted twice, one QEMU at a time: + first the genesis line, [zuse@Hera] ok>, 7 ok; then the same copy again: + identity confirmed, no genesis, the prompt (plan 2026-10-29-stick-5, Task 1) + stick_genesis --target qemu-stick, the PC stick as built (no STICK_PAIR): its first boot mints + the proxy Zuse and reaches [zuse@Hera] ok> with nothing set up (plug and play) stick_artemis ARTDISK= (no virtio disk): Artemis and Zuse from the Zuse stick alone -- the stick's Artemis partition attached first (785938 user blocks), then its identity (48724); [zuse@Hera] ok> (plan 2026-10-27-stick-4-one-disk.md, Task 4) @@ -88,7 +94,8 @@ NO_ZUSE_MODES = {"gpt_zuse", "gpt_hotplug", "gpt_foreign", "gpt_bad_crc", "gpt_b "gpt_read_error", "headless", "hotplug", "midpull", "waitpull", "typeahead", "emergency", "alttab_after_logout", "alttab_before_pull", "emergency_pull", "screen_dark_until_login", "screen_console_after_login", "screen_dark_after_logout", - "kbd_typeahead", "stick_boot", "stick_v3", "stick_zuse", "screen_boot"} + "kbd_typeahead", "stick_boot", "stick_v3", "stick_zuse", "screen_boot", "genesis", + "stick_genesis"} label = a.label or f"{a.mode}-{a.arch}" work = os.path.join(ROOT, "build", "qemu-session", label) shutil.rmtree(work, ignore_errors=True) @@ -128,38 +135,18 @@ if a.mode == "screen_boot": make_args.append("KERNEL_ARGS=screen=boot") if a.mode == "stick_zuse": make_args.append(f"STICK_PAIR={work}") # the PC stick with this session's copy of the pair -start = time.time() -make_log = open(os.path.join(work, "make.txt"), "w") -mk = subprocess.Popen(make_args, cwd=ROOT, stdout=make_log, stderr=subprocess.STDOUT) -deadline = time.time() + 1800 -ok = True - - +if a.mode == "genesis": + # a fresh data stick, made once into this session's directory and booted twice: the second + # boot is the same copy, so it finds what the first wrote (plan 2026-10-29-stick-5, Task 1) + dstick = os.path.join(work, "data.img") + subprocess.run(["make", "-f", "kernel/Makefile", f"ARCH={a.arch}", "datastick", f"DATASTICK_IMG={dstick}"], + cwd=ROOT, check=True, stdout=subprocess.DEVNULL) + make_args += ["DATASTICK=1", f"DATASTICK_IMG={dstick}", "DATASTICK_DEP="] def newest(pattern): c = [p for p in glob.glob(pattern) if os.path.getmtime(p) >= start] return max(c, key=os.path.getmtime) if c else None -log = ser = qmp = None -while time.time() < deadline and not (log and ser and qmp): - if mk.poll() is not None: - print(f"MAKE FAILED (exit {mk.returncode}); see {make_log.name}", flush=True) - sys.exit(1) - log = log or newest(f"{ROOT}/logs/*/{a.arch}/qemu-{a.arch}-*.log") - ser = ser or newest(f"{ROOT}/build/{a.arch}/kernel/qemu-serial-{a.arch}-*.sock") - qmp = qmp or newest(f"{ROOT}/build/{a.arch}/kernel/qemu-qmp-{a.arch}-*.sock") - time.sleep(1) -print(f"LOG: {os.path.relpath(log, ROOT)}", flush=True) - -s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) -for _ in range(60): - try: - s.connect(ser) - break - except OSError: - time.sleep(1) - - def drain(): while True: try: @@ -169,14 +156,6 @@ def drain(): return -threading.Thread(target=drain, daemon=True).start() - -q = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) -q.connect(qmp) -qf = q.makefile("r") -qf.readline() - - def qcmd(cmd, **args): msg = {"execute": cmd} if args: @@ -190,7 +169,48 @@ def qcmd(cmd, **args): return r -qcmd("qmp_capabilities") +def boot(args): + """One `make ... qemu` boot: QEMU in the foreground of make, its serial log, serial and QMP + sockets found and connected (the globals every check reads).""" + global start, mk, log, s, q, qf + start = time.time() + make_log = open(os.path.join(work, "make.txt"), "a") + mk = subprocess.Popen(args, cwd=ROOT, stdout=make_log, stderr=subprocess.STDOUT) + deadline = time.time() + 1800 + log = ser = qmp = None + while time.time() < deadline and not (log and ser and qmp): + if mk.poll() is not None: + print(f"MAKE FAILED (exit {mk.returncode}); see {make_log.name}", flush=True) + sys.exit(1) + log = log or newest(f"{ROOT}/logs/*/{a.arch}/qemu-{a.arch}-*.log") + ser = ser or newest(f"{ROOT}/build/{a.arch}/kernel/qemu-serial-{a.arch}-*.sock") + qmp = qmp or newest(f"{ROOT}/build/{a.arch}/kernel/qemu-qmp-{a.arch}-*.sock") + time.sleep(1) + print(f"LOG: {os.path.relpath(log, ROOT)}", flush=True) + s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + for _ in range(60): + try: + s.connect(ser) + break + except OSError: + time.sleep(1) + threading.Thread(target=drain, daemon=True).start() + q = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + q.connect(qmp) + qf = q.makefile("r") + qf.readline() + qcmd("qmp_capabilities") + + +def shutdown(): + """Quit QEMU over QMP and let make finish: one QEMU at a time (.claude/CLAUDE.md).""" + q.send(json.dumps({"execute": "quit"}).encode()) + mk.wait() + time.sleep(2) + + +ok = True +boot(make_args) def text(): @@ -371,12 +391,12 @@ elif m in ("stick_boot", "two_sticks"): check("System: StarForth v4", re.search(r"System: StarForth v4", text()) is not None) check("Artemis: the stick's partition attached", wait_for(r"Artemis: the stick's partition attached", 120)) - check("Zuse: no genesis on this disk", wait_for(r"Zuse: no genesis on this disk", 60)) - time.sleep(5) + check("Zuse: genesis minted onto attached thumbdrive", + wait_for(r"Zuse: genesis minted onto attached thumbdrive", 120)) + check("[zuse@Hera] ok>", wait_for(PROMPT, 60)) d = disks() check(f"Artemis attached first, then the identity partition (user blocks {d})", len(d) >= 2 and d[0] > 1000000 and 300000 < d[1] < 512000) - check("no ok> for 30 s (a blank identity: headless)", not wait_for(ANYPROMPT, 30)) else: check("Zuse: identity confirmed", wait_for(r"Zuse: identity confirmed from attached thumbdrive", 120)) check("[zuse@Hera] ok>", wait_for(PROMPT, 60)) @@ -418,6 +438,32 @@ elif m in ("artemis_unsigned", "raw_ident"): check("no blk: disk line (nothing attached)", count(r"blk: disk ") == 0) check("no fault", count(r"EXCEPTION|PANIC|panic") == 0) +elif m in ("genesis", "stick_genesis"): + if m == "stick_genesis": + check("Boot disk: a StarshipOS stick", re.search(r"Boot disk: a StarshipOS stick", text()) is not None, + near=r"Boot successful!") + check("Zuse: genesis minted onto attached thumbdrive", + wait_for(r"Zuse: genesis minted onto attached thumbdrive", 180), near=r"Artemis: |Zuse: ") + check("[zuse@Hera] ok>", wait_for(PROMPT, 60)) + check("no identity confirmed on a first boot", count(r"Zuse: identity confirmed") == 0) + n = count(PROMPT) + type_line("3 4 + .") + check("7 ok", wait_for(PROMPT, 60, n) and re.search(r"7\s+ok", text()[-400:]) is not None) + check("no fault", count(r"EXCEPTION|PANIC|panic") == 0) + if m == "genesis": + shutdown() + print("-- the second boot, the same copy of the data stick", flush=True) + boot([x for x in make_args if x != "clean"]) + check("POST: PASSED (second boot)", wait_for(r"POST: PASSED", 900)) + check("Zuse: identity confirmed (second boot)", + wait_for(r"Zuse: identity confirmed from attached thumbdrive", 120), near=r"Artemis: |Zuse: ") + check("no genesis on the second boot", count(r"Zuse: genesis minted") == 0) + check("[zuse@Hera] ok> (second boot)", wait_for(PROMPT, 60)) + n = count(PROMPT) + type_line("3 4 + .") + check("7 ok (second boot)", wait_for(PROMPT, 60, n) and re.search(r"7\s+ok", text()[-400:]) is not None) + check("no fault (second boot)", count(r"EXCEPTION|PANIC|panic") == 0) + elif m == "stick_v3": t = text() check("Boot disk: a StarshipOS stick", re.search(r"Boot disk: a StarshipOS stick", t) is not None) @@ -662,8 +708,7 @@ else: check(f"known mode {m}", False) print(f"RESULT: {'PASS' if ok else 'FAIL'}", flush=True) -q.send(json.dumps({"execute": "quit"}).encode()) -mk.wait() +shutdown() for f in ("v3/include/version.h", "capsules/BLOCK_MAP.md"): subprocess.run(["git", "checkout", "-q", "--", f], cwd=ROOT) sys.exit(0 if ok else 2) -- 2.54.0 From 9ed9cf1ad0dd3c7c41d2068aa96196742476ceda Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 03:49:32 +0000 Subject: [PATCH 02/57] logs: genesis on aarch64, two boots -- minted, then recognised: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-aarch64-20261108-034337.csv | 0 .../runs/doe-aarch64-20261108-034633.csv | 0 .../aarch64/qemu-aarch64-20261108-034337.log | 133 ++++++++++++++++++ .../aarch64/qemu-aarch64-20261108-034633.log | 133 ++++++++++++++++++ 4 files changed, 266 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-aarch64-20261108-034337.csv create mode 100644 experiments/bare_metal/runs/doe-aarch64-20261108-034633.csv create mode 100644 logs/20261108-034337/aarch64/qemu-aarch64-20261108-034337.log create mode 100644 logs/20261108-034633/aarch64/qemu-aarch64-20261108-034633.log diff --git a/experiments/bare_metal/runs/doe-aarch64-20261108-034337.csv b/experiments/bare_metal/runs/doe-aarch64-20261108-034337.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-aarch64-20261108-034633.csv b/experiments/bare_metal/runs/doe-aarch64-20261108-034633.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-034337/aarch64/qemu-aarch64-20261108-034337.log b/logs/20261108-034337/aarch64/qemu-aarch64-20261108-034337.log new file mode 100644 index 00000000..c435407c --- /dev/null +++ b/logs/20261108-034337/aarch64/qemu-aarch64-20261108-034337.log @@ -0,0 +1,133 @@ +UEFI firmware (version 2024.02-2ubuntu0.10 built at 15:40:28 on Sep 23 2026) +[=3h[=3hBdsDxe: failed to load Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x0): Not Found +BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:04.0-2" from PciRoot(0x0)/Pci(0x4,0x0)/USB(0x1,0x0): Not Found +BdsDxe: loading Boot0003 "UEFI Misc Device 2" from PciRoot(0x0)/Pci(0x6,0x0) +BdsDxe: starting Boot0003 "UEFI Misc Device 2" from PciRoot(0x0)/Pci(0x6,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +Collecting boot information... +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 aarch64 +Architecture: aarch64 +Build: Nov 8 2026 03:43:07 + +UEFI BootServices: EXITED +Console: serial line is a PL011 at 0x0000000009000000 (no devicetree: QEMU's) + +=== StarKernel Boot Information === +Memory map entries: 33 +Total memory: 4093 MB +Usable memory: 4054 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 1039458 + Free pages : 1038034 + Used pages : 1424 + Total MB : 4060 + Free MB : 4054 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +AArch64: running at EL1 +IDT installed. + +APIC: init... +PSCI: no DTB -- using HVC (QEMU virt-machine default) +GICv2: no DTB GIC node -- using QEMU virt-machine defaults +GICv2: distributor+CPU interface enabled, PPI 30 +APIC: init done + +Timer: init... +Timer: AArch64 generic timer initialised. +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 2147483608 + Free bytes: 2147483608 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 1207959552 + Heap end addr: 3355443200 + +Heartbeat: init... +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +virtio-rng: found device +rng: backend = virtio-rng +entropy: ready +virtio-input: found device +virtio-input: driver ready +Starting heartbeat... +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: genesis minted onto attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-034633/aarch64/qemu-aarch64-20261108-034633.log b/logs/20261108-034633/aarch64/qemu-aarch64-20261108-034633.log new file mode 100644 index 00000000..25db03a2 --- /dev/null +++ b/logs/20261108-034633/aarch64/qemu-aarch64-20261108-034633.log @@ -0,0 +1,133 @@ +UEFI firmware (version 2024.02-2ubuntu0.10 built at 15:40:28 on Sep 23 2026) +[=3h[=3hBdsDxe: failed to load Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x0): Not Found +BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:04.0-2" from PciRoot(0x0)/Pci(0x4,0x0)/USB(0x1,0x0): Not Found +BdsDxe: loading Boot0003 "UEFI Misc Device 2" from PciRoot(0x0)/Pci(0x6,0x0) +BdsDxe: starting Boot0003 "UEFI Misc Device 2" from PciRoot(0x0)/Pci(0x6,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +Collecting boot information... +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 aarch64 +Architecture: aarch64 +Build: Nov 8 2026 03:43:07 + +UEFI BootServices: EXITED +Console: serial line is a PL011 at 0x0000000009000000 (no devicetree: QEMU's) + +=== StarKernel Boot Information === +Memory map entries: 33 +Total memory: 4093 MB +Usable memory: 4054 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 1039458 + Free pages : 1038034 + Used pages : 1424 + Total MB : 4060 + Free MB : 4054 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +AArch64: running at EL1 +IDT installed. + +APIC: init... +PSCI: no DTB -- using HVC (QEMU virt-machine default) +GICv2: no DTB GIC node -- using QEMU virt-machine defaults +GICv2: distributor+CPU interface enabled, PPI 30 +APIC: init done + +Timer: init... +Timer: AArch64 generic timer initialised. +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 2147483608 + Free bytes: 2147483608 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 1207959552 + Heap end addr: 3355443200 + +Heartbeat: init... +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +virtio-rng: found device +rng: backend = virtio-rng +entropy: ready +virtio-input: found device +virtio-input: driver ready +Starting heartbeat... +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From 0e1c9650b4edf2fc22936fb20b1bdd5fac7164c3 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 03:53:11 +0000 Subject: [PATCH 03/57] logs: genesis on riscv64, two boots -- minted, then recognised: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-riscv64-20261108-034959.csv | 0 .../runs/doe-riscv64-20261108-035132.csv | 0 .../riscv64/qemu-riscv64-20261108-034959.log | Bin 0 -> 7989 bytes .../riscv64/qemu-riscv64-20261108-035132.log | Bin 0 -> 7993 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 experiments/bare_metal/runs/doe-riscv64-20261108-034959.csv create mode 100644 experiments/bare_metal/runs/doe-riscv64-20261108-035132.csv create mode 100644 logs/20261108-034959/riscv64/qemu-riscv64-20261108-034959.log create mode 100644 logs/20261108-035132/riscv64/qemu-riscv64-20261108-035132.log diff --git a/experiments/bare_metal/runs/doe-riscv64-20261108-034959.csv b/experiments/bare_metal/runs/doe-riscv64-20261108-034959.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-riscv64-20261108-035132.csv b/experiments/bare_metal/runs/doe-riscv64-20261108-035132.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-034959/riscv64/qemu-riscv64-20261108-034959.log b/logs/20261108-034959/riscv64/qemu-riscv64-20261108-034959.log new file mode 100644 index 0000000000000000000000000000000000000000..c8037897d346308672d48ef1513afbdd19a3c1f3 GIT binary patch literal 7989 zcmbtZZFAa4628w=@eA^$@4kfG8KQTDvc6i3am>Z6IdHPOm!vqojEu@4v666JDnI_7 z9!W^XY<90KyKH8r^>j~9PtVgsyLG)4@#1Vk_i9gXw}@zo2mc;D+`lYFE*zfp%j^T-SOhJOuNdd~PzgTM0Q2NwMxk$>P< z3R%{LAAX;KUvdLYJls>^F4<%TSiby5Jr?7}H+~m?i+=q5%S-v0q00vXjRsGq-I}f4 zJWSFJ{p4;$B`E(plt!6<-@T90JW5V}6PsN_{6e_-E*07S6^Aw=5NmPU5V{=BZ)lY4 z;=B}dNNo&HW)nIW_mN*IcF6VDQJi--*{7%>coS_z+7zt?b2;=QsY>x&er>!rO5!Y8 zi~3E6c5a&6nyECTE*H~Uf(>=3+wC?4X4ALd7nln#N%Dq_Ls=9?_hOlgEN>t!R=Ye% zKE->{-xb_t22lZ_k2%HypBkrV+^OPq1I$lXz5ut)1*9;tU0 zi(vTg_4r)eLcO9?FU#@I<=QHWR($Fz54u7;GTy)8 zl3eiyD!R-)>US}<-^G-sKE%`;n7{nKo%(Ui$_v0`oaQ5E4?9oxs70f8!B66IPQxHT zY?c1!2(2JXzcv=CkWX)GpEc#ZP{>yg@TW;o?>L7R-3>ZwnZ=iEj?mukHD25=B6}dP zDAPmff>NN}s^e;MUb}}s$@r>=i#4xBssODeW@&Wa40MN&R#j{2kSS)e7*;R+*GFHcn(Qr1V zPf@;#VlpWcei8>6;bbimsSAJvEvrWS#5!z%Yj0 z@u+Wh4cj!kL(@3#+R6YOnxS4;BeM02iwm2N(6b;r|12B|-DoWW$`e{AZa^GF>@WJ; z+wsMOrl1k!QS~yla)%d#C>4Ib{?cxZlJy!NS*dh%6f>Q2+1pa< zXcJsTF`Tq@Qyfrq{ie3W_z1O|jf;aGxS|xP$IXvaPBP0~|Bl@CI`Jhm1;UR40UuSf zvOY?`6YD3xFbe8A!x30k?s}j>@@1Tn?bhq-nIl!YDOLo`&)bC|C{|eby~6B&q(3QX zf25(8z<-DV!Oq2gk8%!#1rBL2yo^$jr(a-0vW3$ylX{toCFpGSPJbaiC+VkUP?U=e z89lvcx}ZyLz9o1g7v$#EqCg{{JDz~+1%W%_pvNppO82JM=VLlO*vyDecP}xU{X~Zn zUa0r`EU{b`OTUEHG=CuG1-jbTLL|k~*3v$IEkMB#HC@m!Si}kbgv96VI`X5OI*l2@ zO#VUAk!&3mLi0fjb;6NnN&F7iEk(^xi-6?6#K7aHVE>IOg`tbu4XmNU|z zvSQ%+f~ys-HJ1NHDe_!aML+B-8q^+*3P)BMY?-WDSR-)ogWn#PSw&?dyJWX)V?Jf^ z!sQHpPh?5MHO&WZ?psBVY_sRCuuYR}7`xb)bdUVlQ@ZYYyK;MaQNUO@1cs@x(#TyG+c(O{ z#hGH73dd%BcvQ6sb>ajYm$yR>cIwc-$J4jZGZ_M>r>E3NYOIwebt)l@BQ1$dfO2B|?A% z%00aGqAZX6%;5+uG;iJ8!W2av$m;t7(?d2xFHTX-7?_6ae#;54>bCdz=!`8A7i$Nsct@^Oz+O2mF4WthIvW0^AaC$4sRpz+a6*mzU=Qn4> z4SWVWMB>0C5Q&=VI;8cNZZ3hKOj3WwTxb<+PK=djpgMJ_C}P+FzxI>?Qdhb)n>!_ZC|sGs*mFBE`OT-8sfkJ z+YEH!8@3e;w1L|{KK~%{pQwM2aG+k*`vY(p&kTgEssW0!qwWvHt%#rI0Uz0|0y!{3 zw*t)-wh?FpRrLngx<`%JY*A}G)rcD8zz9`ECh!ekb3I!f1ji%cw_Wtah1eq;s5f-q z4MN@1)F1!>J-!t|a`V;GJWxX%7@%6d>lv=9S+<9u1Vuiw2=Q(Ms{b?#8W;yA*rux) ziW}&mr+M1o_+I#wq(SyH3u=f113Wd*Z8aQd{a_HP#_>f!PDB!ZngtDv0~3%2G)1>8 z1mZw7J(PJzmf<&4nNN&^8sg9Z&rl7euj)ZyoBa^%?T7&$3d*}Du0jLjz=Xb~D}50n zDfaCE8}g_L>*V%nYfu3kC=Y$hG!$WZwr04d<{edzFDss=yaG5-ZrO(Ex{6^3USD_` zNXZfBgP=T3c?EEw+!Udr>Z;}|eXl?8aTe4E`uuuIa@(A0dSAnx_NF?(?Y^h!f$j>; zLJqS7$$HZr?nO{2otgt=Rn2^yO=TYH4|)bj%%7$exanHFy&CVSMH8f&OazvTZzxRD zGE^bdexUX(ui`Y7(T~RYe5?i)T^Fjan7%S_)gXlJwI62JiyPwV08`U#R5V%ff$zai zad6d=i(eNv=avs_7? zL5y(;m!qV`cQZ6IdHPOm!vqojEu@4v666JDnI_7 z9!W^XY<90KyKH8r^>j~9PftHXyLG)4@#1Vk_i9gXw}@zo2mc;D+`lYFE*zfp%j^T-SOhJOuNdd~PzgTM0Q2NwMxk$>P< z3R%{LAAX;KUvdLYJls>^F4<%TSiby5Jr?7}H+~m?i+=q5%S-v0q00vXjRsGq-I}f4 zJWSFJ{p4;$B`E(plt!6<-@T90JW5V}6PsN_{6e_-E*07S6^Aw=5NmPU5V{=BZ)lY4 z;=B}dNNo&HW)nIW_mN*IcF6VDQJi--*{7%>coS_z+7zt?b2;=QsY>x&er>!rO5!Y8 zi~3E6c5a&6nyECTE*H~Uf(>=3+wC?4X4ALd7nln#N%Dq_Ls=9?_hOlgEN>t!R=Ye% zKE->{-xb_t22lZ_k2%HypBkrV+^OPq1I$lXz5ut)1*9;tU0 zi(vTg_4r)eLcO9?FU#@I<=QHWR($Fz54u7;GTy)8 zl3eiyD!R-)>US}<-^G-sKE%`;n7{nKo%(Ui$_v0`oaQ5E4?9oxs70f8!B66IPQxHT zY?c1!2(2JXzcv=CkWX)GpEc#ZP{>yg@TW;o?>L7R-3>ZwnZ=iEj?mukHD25=B6}dP zDAPmff>NN}s^e;MUb}}s$@r>=i#4xBssODeW@&Wa40MN&R#j{2kSS)e7*;R+*GFHcn(Qr1V zPf@;#VlpWcei8>6;bbimsSAJvEvrWS#5!z%Yj0 z@u+Wh4cj!kL(@3#+R6YOnxS4;BeM02iwm2N(6b;r|12B|-DoWW$`e{AZa^GF>@WJ; z+wsMOrYIxIqv~%IrtMa;p_w1eA=QD0U%W&EAJh|WIP?>&y+F+n?0u)cQq;?b?px$; z`bMO&Sd-Lo1-$~${6C6s>8=c)5!f44ko4N>$ z_+ePaD<0T@>lRLZ^M5*xe^_O;Ql&shI$V#Q7qnOJnm%S~u zjyAzn6vIhdH^l)(*KcY|jE_*e*|<39fh$Updffa-&3f5G7Vv_`SmHf22Pt zX@8`lm%x9B0m072evfhvgar<1RCpPsB2T}-hGYw;VJ7u56-&_B?4ABXdQO&~mO)W2 zHe~elp6Q}oa`P?08@V7iuNDOw0p0NgTrUWAzt0lOWwG>2Xif76VqT!DeJw;%ENw0A^Vb3;7^0?&G7J`RfkNntEy6$?ra(j9~U@RO0!_;5F={{4I zlGkwe8Sib*IQK+0A-!6p=#DXPGz_*|GP5*e*rD++lbi85?|R8Bu-+n#+;y>iql{df zDW<7#Y}SWI#Z9OaC)l{W9dcBs4*h#PefvCxK(s@Gl<4sfGfOrl{ZFW^&tC{e!+Cy8-n_56^x!og$e;Ii?4S5Fmka z4{yCF%OgK?I06gJTlcmwMNtQmeP3XD$Y$upDXJL*(~#Y7IRRGP7M~y$!t@LQ>(HRs za`JW9TJ~Wvh~&FfA9h^3_3oj8)PY~NP%s}(PiQpP%S0d(-v29`iFMdz@&;O4pkBWz z7L^N16u$eXuwyTe)VtZPMK0j4c58Be10TX?I3w7Dh{V}sarw;nc*_LzNPqR3<8}T7G zdA9R$I%eT+{a0QD*%w6F9Y;lue8Nc~TSeRJ1@>O#-?dvH2sjZz958Z`r1=VI59D}- z^dpOv=UEjbScImKLs)4-w#;ReaYzWdQ0*>CCzL%XhvHj=7$Vwm$alBd4n@Pg;bdPj z2fLta8NE=oakX(9%gZ0^jVP00+S#GBzm4Tqn+@lan_r!G#uCsJqqsPIj8UR5S8ldK z5D$!j@GMsq1Ii$67iuh?B@R8jrkOL!h zE6`kF8-X@ZRd0Z;d(?={7F^@0M${k&MyM(>fp7Sl>)GlcI35YV?V=|x#2(>5y`lSV z5bB<$1_27t<699$ZoYb&2Wp4|160d*J;PNs%k~hID3OmWLcH6c)PI@<4U7X5Y}3^Y z#SQe((>!f(d@p=T(ja@91vSKh0iGJ@wi*t!elQ4CG<)Lqxh9WG_)(qFwyratTWyRB!R{#gfE!!|%S266s>kCgq zQF6rjC{UiJyaG5-Zi-M*byf3~zSkf4I1B0neSSS9xou80y|3X;ds7|YcHh(VKzD^^ zA&1$4ta{TO?nOY9PR#+bs%AdUrZNxp2R#Et%%3hRaMQJTdo|vd7EO?9G7+j=d_!TH zmZ1uv_5-zVc~wnQ8U1LS&&O&|(RHEvis>r@R}DhgUi)Eoy|^J}2bh{}gVAKg2fhb8 z#lcleE`D9yj0>kNef}cs6gLLAJ*xGD!nb{+?<3+uL+^+CxA~%o6*)8;E*4BWXQN4@ z=#;JL=;F1k!d{hxp}I5)K{-6WGa8SEQ*cqeBrNS#@qJ!5jc;*r$M-#D)s9OH?&6oY z_&t@hBT87X-D0|#Y(Xwl;Rd+%DnVpHa|rWrEa1{It={8uRNj@Xsxn&AAbhD(+zF@T zruZI_IyaN)7&j*6oiPg8eT_}&E{?&CK&QO*U6d?$ndi`SF)HU#sT!t8&=H6OSGlru zMq!LgxEz!g-`%)5uGCh1gZAvbZokrAX{PxKK15w9S8@~O) zl{5GhU(3Qmd9_%9K*w(5$*CU0`wEaB8=$2|+muS7c$3`ylcYkO4EhIQZjY@xMClVH MpaXv__#Jis1F^|7a{vGU literal 0 HcmV?d00001 -- 2.54.0 From 68919741fc079b9904f53a946309ac07394ee325 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 03:54:38 +0000 Subject: [PATCH 04/57] logs: stick_genesis -- the PC stick as built boots to [zuse@Hera] ok> with nothing set up: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-035309.csv | 0 .../amd64/qemu-amd64-20261108-035309.log | 162 ++++++++++++++++++ 2 files changed, 162 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-035309.csv create mode 100644 logs/20261108-035309/amd64/qemu-amd64-20261108-035309.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-035309.csv b/experiments/bare_metal/runs/doe-amd64-20261108-035309.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-035309/amd64/qemu-amd64-20261108-035309.log b/logs/20261108-035309/amd64/qemu-amd64-20261108-035309.log new file mode 100644 index 00000000..1bb75dba --- /dev/null +++ b/logs/20261108-035309/amd64/qemu-amd64-20261108-035309.log @@ -0,0 +1,162 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 03:53:03 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 965 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248627 + Free pages : 247100 + Used pages : 1527 + Total MB : 971 + Free MB : 965 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2086982979 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1003511537, tick_hz=100, initial_count=10035115 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10035115) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: genesis minted onto attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From 56e4d6084410326a3410ca86829198fab7d4f26b Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 03:56:18 +0000 Subject: [PATCH 05/57] logs: stick_boot run without --log-level=info -- its disk-size check found no info lines: FAIL, to be rerun (#92, Task 1) [skip ci] The genesis line and [zuse@Hera] ok> passed; the run omitted the KERNEL_ARGS=--log-level=info that plan stick-3 runs stick_boot with. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../amd64/qemu-amd64-20261108-035439.log | 160 ++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 logs/20261108-035439/amd64/qemu-amd64-20261108-035439.log diff --git a/logs/20261108-035439/amd64/qemu-amd64-20261108-035439.log b/logs/20261108-035439/amd64/qemu-amd64-20261108-035439.log new file mode 100644 index 00000000..fcebfd80 --- /dev/null +++ b/logs/20261108-035439/amd64/qemu-amd64-20261108-035439.log @@ -0,0 +1,160 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 03:54:33 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 965 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248627 + Free pages : 247100 + Used pages : 1527 + Total MB : 971 + Free MB : 965 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2087276502 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=998161900, tick_hz=100, initial_count=9981619 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=9981619) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: genesis minted onto attached thumbdrive +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From 634a49b53344a49a480e10613d018961d8be4fcd Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 03:58:03 +0000 Subject: [PATCH 06/57] logs: zuse -- the minted pair's version 1 marker logs in as the proxy: PASS (#92, Task 1) [skip ci] Also the DoE CSV of the stick_boot run (20261108-035439), missed from its commit. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-035439.csv | 0 .../runs/doe-amd64-20261108-035630.csv | 0 .../amd64/qemu-amd64-20261108-035630.log | 161 ++++++++++++++++++ 3 files changed, 161 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-035439.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-035630.csv create mode 100644 logs/20261108-035630/amd64/qemu-amd64-20261108-035630.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-035439.csv b/experiments/bare_metal/runs/doe-amd64-20261108-035439.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-035630.csv b/experiments/bare_metal/runs/doe-amd64-20261108-035630.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-035630/amd64/qemu-amd64-20261108-035630.log b/logs/20261108-035630/amd64/qemu-amd64-20261108-035630.log new file mode 100644 index 00000000..acb3f4b4 --- /dev/null +++ b/logs/20261108-035630/amd64/qemu-amd64-20261108-035630.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 03:56:00 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 129 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248953 + Free pages : 247426 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2092746049 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1001270023, tick_hz=100, initial_count=10012700 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10012700) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From 727a7075809f34d7dd96ad24094216aed3a49506 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 03:59:34 +0000 Subject: [PATCH 07/57] logs: stick_zuse -- the PC stick with the pair: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-035801.csv | 0 .../amd64/qemu-amd64-20261108-035801.log | 162 ++++++++++++++++++ 2 files changed, 162 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-035801.csv create mode 100644 logs/20261108-035801/amd64/qemu-amd64-20261108-035801.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-035801.csv b/experiments/bare_metal/runs/doe-amd64-20261108-035801.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-035801/amd64/qemu-amd64-20261108-035801.log b/logs/20261108-035801/amd64/qemu-amd64-20261108-035801.log new file mode 100644 index 00000000..ddf642a1 --- /dev/null +++ b/logs/20261108-035801/amd64/qemu-amd64-20261108-035801.log @@ -0,0 +1,162 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 03:57:55 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 965 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248627 + Free pages : 247100 + Used pages : 1527 + Total MB : 971 + Free MB : 965 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2100463551 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1004849524, tick_hz=100, initial_count=10048495 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10048495) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From 258842aafcf800c9ecb47d82bfc28ec3181cfed6 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:01:35 +0000 Subject: [PATCH 08/57] logs: stick_artemis run without --log-level=info -- its disk-size check found no info lines: FAIL, to be rerun (#92, Task 1) [skip ci] Artemis attached and Zuse confirmed; the run omitted the info log level its blk: disk check reads. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-035956.csv | 0 .../amd64/qemu-amd64-20261108-035956.log | 161 ++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-035956.csv create mode 100644 logs/20261108-035956/amd64/qemu-amd64-20261108-035956.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-035956.csv b/experiments/bare_metal/runs/doe-amd64-20261108-035956.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-035956/amd64/qemu-amd64-20261108-035956.log b/logs/20261108-035956/amd64/qemu-amd64-20261108-035956.log new file mode 100644 index 00000000..072928b1 --- /dev/null +++ b/logs/20261108-035956/amd64/qemu-amd64-20261108-035956.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 03:59:25 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248964 + Free pages : 247437 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2101272528 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1004923313, tick_hz=100, initial_count=10049233 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10049233) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From 19a8a036c28294c7156018e71d4256e3f2e40034 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:03:32 +0000 Subject: [PATCH 09/57] logs: two_sticks -- a blank data stick beside Zuse's is still not used: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-040151.csv | 0 .../amd64/qemu-amd64-20261108-040151.log | 163 ++++++++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-040151.csv create mode 100644 logs/20261108-040151/amd64/qemu-amd64-20261108-040151.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-040151.csv b/experiments/bare_metal/runs/doe-amd64-20261108-040151.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-040151/amd64/qemu-amd64-20261108-040151.log b/logs/20261108-040151/amd64/qemu-amd64-20261108-040151.log new file mode 100644 index 00000000..89e6ad04 --- /dev/null +++ b/logs/20261108-040151/amd64/qemu-amd64-20261108-040151.log @@ -0,0 +1,163 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:01:19 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248924 + Free pages : 247397 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2086474683 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=998128239, tick_hz=100, initial_count=9981282 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=9981282) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] blkio_usb: MSC device ready +[zuse@Hera] USB: a drive that is not this system's stick -- not used +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From bcd51cb33d412aaaec516eb6de083399ad595bec Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:06:25 +0000 Subject: [PATCH 10/57] logs: artemis_unsigned -- a bad Artemis signature: not used, nothing minted: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-040353.csv | 0 .../amd64/qemu-amd64-20261108-040353.log | 157 ++++++++++++++++++ 2 files changed, 157 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-040353.csv create mode 100644 logs/20261108-040353/amd64/qemu-amd64-20261108-040353.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-040353.csv b/experiments/bare_metal/runs/doe-amd64-20261108-040353.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-040353/amd64/qemu-amd64-20261108-040353.log b/logs/20261108-040353/amd64/qemu-amd64-20261108-040353.log new file mode 100644 index 00000000..de9b7ee7 --- /dev/null +++ b/logs/20261108-040353/amd64/qemu-amd64-20261108-040353.log @@ -0,0 +1,157 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:03:22 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248951 + Free pages : 247424 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2088064002 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=998887300, tick_hz=100, initial_count=9988873 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=9988873) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's signature is bad -- not used -- 2.54.0 From dc9a086603730974307a5a16466ffed4d7d1cfe0 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:09:15 +0000 Subject: [PATCH 11/57] logs: raw_ident -- a raw identity drive is not used: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-040645.csv | 0 .../amd64/qemu-amd64-20261108-040645.log | 157 ++++++++++++++++++ 2 files changed, 157 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-040645.csv create mode 100644 logs/20261108-040645/amd64/qemu-amd64-20261108-040645.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-040645.csv b/experiments/bare_metal/runs/doe-amd64-20261108-040645.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-040645/amd64/qemu-amd64-20261108-040645.log b/logs/20261108-040645/amd64/qemu-amd64-20261108-040645.log new file mode 100644 index 00000000..93a39eb9 --- /dev/null +++ b/logs/20261108-040645/amd64/qemu-amd64-20261108-040645.log @@ -0,0 +1,157 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:06:16 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 126 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248968 + Free pages : 247441 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2108066507 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1007868803, tick_hz=100, initial_count=10078688 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10078688) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +USB: a drive that is not this system's stick -- not used -- 2.54.0 From cff3787b92b8fb0275881e77a474ff4bcea8b040 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:12:07 +0000 Subject: [PATCH 12/57] logs: hotplug -- added, pulled, added again: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-040933.csv | 0 .../amd64/qemu-amd64-20261108-040933.log | 166 ++++++++++++++++++ 2 files changed, 166 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-040933.csv create mode 100644 logs/20261108-040933/amd64/qemu-amd64-20261108-040933.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-040933.csv b/experiments/bare_metal/runs/doe-amd64-20261108-040933.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-040933/amd64/qemu-amd64-20261108-040933.log b/logs/20261108-040933/amd64/qemu-amd64-20261108-040933.log new file mode 100644 index 00000000..bc688640 --- /dev/null +++ b/logs/20261108-040933/amd64/qemu-amd64-20261108-040933.log @@ -0,0 +1,166 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:09:03 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 127 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248978 + Free pages : 247451 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2093232867 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1001819332, tick_hz=100, initial_count=10018193 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10018193) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  +[Hera] Zuse: session ended -- reattach to re-authenticate +[Hera] blkio_usb: MSC device ready +[Hera] Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From da800ce8441b2c2ac9d542943810d3d6e2221ddf Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:14:06 +0000 Subject: [PATCH 13/57] logs: midpull -- pulled mid-line, replugged, Artemis attached again: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-041224.csv | 0 .../amd64/qemu-amd64-20261108-041224.log | 165 ++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-041224.csv create mode 100644 logs/20261108-041224/amd64/qemu-amd64-20261108-041224.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-041224.csv b/experiments/bare_metal/runs/doe-amd64-20261108-041224.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-041224/amd64/qemu-amd64-20261108-041224.log b/logs/20261108-041224/amd64/qemu-amd64-20261108-041224.log new file mode 100644 index 00000000..e9fbd3bc --- /dev/null +++ b/logs/20261108-041224/amd64/qemu-amd64-20261108-041224.log @@ -0,0 +1,165 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:11:54 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 132 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248981 + Free pages : 247454 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2091915594 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1003157445, tick_hz=100, initial_count=10031574 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10031574) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[Hera] Zuse: session ended -- reattach to re-authenticate +[Hera] blkio_usb: MSC device ready +[Hera] Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From 607ae1c2daeff9a05e8bdece373efcb1d73941d4 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:16:12 +0000 Subject: [PATCH 14/57] logs: waitpull -- pulled while a line waits, re-attached: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-041431.csv | 0 .../amd64/qemu-amd64-20261108-041431.log | 168 ++++++++++++++++++ 2 files changed, 168 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-041431.csv create mode 100644 logs/20261108-041431/amd64/qemu-amd64-20261108-041431.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-041431.csv b/experiments/bare_metal/runs/doe-amd64-20261108-041431.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-041431/amd64/qemu-amd64-20261108-041431.log b/logs/20261108-041431/amd64/qemu-amd64-20261108-041431.log new file mode 100644 index 00000000..93a213f2 --- /dev/null +++ b/logs/20261108-041431/amd64/qemu-amd64-20261108-041431.log @@ -0,0 +1,168 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:14:02 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 132 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248979 + Free pages : 247452 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2097170368 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1003568532, tick_hz=100, initial_count=10035685 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10035685) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 5 AWAIT +[Hera] Zuse: session ended -- reattach to re-authenticate +[Hera] Interrupted +[Hera] ERROR +[Hera] blkio_usb: MSC device ready +[Hera] Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From 91a7150276c49a16ff2e95f1b86f41f171970eef Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:18:23 +0000 Subject: [PATCH 15/57] logs: typeahead -- what was typed while headless does not run: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-041637.csv | 0 .../amd64/qemu-amd64-20261108-041637.log | 161 ++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-041637.csv create mode 100644 logs/20261108-041637/amd64/qemu-amd64-20261108-041637.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-041637.csv b/experiments/bare_metal/runs/doe-amd64-20261108-041637.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-041637/amd64/qemu-amd64-20261108-041637.log b/logs/20261108-041637/amd64/qemu-amd64-20261108-041637.log new file mode 100644 index 00000000..131f5003 --- /dev/null +++ b/logs/20261108-041637/amd64/qemu-amd64-20261108-041637.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:16:08 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 132 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248981 + Free pages : 247454 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2089896730 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1002856914, tick_hz=100, initial_count=10028569 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10028569) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 1 2 + . +[zuse@Hera] 3 ok +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From 429eb72aa29755c2c7ab52b27119c45af33fd909 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:20:54 +0000 Subject: [PATCH 16/57] logs: gpt_zuse -- a GPT drive with only an identity partition is not used: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-041847.csv | 0 .../amd64/qemu-amd64-20261108-041847.log | 161 ++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-041847.csv create mode 100644 logs/20261108-041847/amd64/qemu-amd64-20261108-041847.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-041847.csv b/experiments/bare_metal/runs/doe-amd64-20261108-041847.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-041847/amd64/qemu-amd64-20261108-041847.log b/logs/20261108-041847/amd64/qemu-amd64-20261108-041847.log new file mode 100644 index 00000000..c31d1736 --- /dev/null +++ b/logs/20261108-041847/amd64/qemu-amd64-20261108-041847.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:18:19 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 132 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248981 + Free pages : 247454 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2103277074 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1007112335, tick_hz=100, initial_count=10071123 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10071123) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +[HADES][INFO ] [KRELTSC: 34692218796] xhci: CSW status = FAILED +[HADES][INFO ] [KRELTSC: 34696668186] xhci: unit not ready -- retrying TEST UNIT READY +blkio_usb: MSC device ready +USB: a drive that is not this system's stick -- not used -- 2.54.0 From 8b1ba3904029fa2ae71e977f57bfc0ec13908029 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:23:25 +0000 Subject: [PATCH 17/57] logs: gpt_hotplug: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-042118.csv | 0 .../amd64/qemu-amd64-20261108-042118.log | 161 ++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-042118.csv create mode 100644 logs/20261108-042118/amd64/qemu-amd64-20261108-042118.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-042118.csv b/experiments/bare_metal/runs/doe-amd64-20261108-042118.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-042118/amd64/qemu-amd64-20261108-042118.log b/logs/20261108-042118/amd64/qemu-amd64-20261108-042118.log new file mode 100644 index 00000000..058e3383 --- /dev/null +++ b/logs/20261108-042118/amd64/qemu-amd64-20261108-042118.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:20:49 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 132 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248981 + Free pages : 247454 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2095981959 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1002257028, tick_hz=100, initial_count=10022570 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10022570) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +[HADES][INFO ] [KRELTSC: 34561843550] xhci: CSW status = FAILED +[HADES][INFO ] [KRELTSC: 34566322818] xhci: unit not ready -- retrying TEST UNIT READY +blkio_usb: MSC device ready +USB: a drive that is not this system's stick -- not used -- 2.54.0 From c38f4f4965443535dad03debdc3873b4157e04bb Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:25:50 +0000 Subject: [PATCH 18/57] logs: gpt_foreign: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-042350.csv | 0 .../amd64/qemu-amd64-20261108-042350.log | 161 ++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-042350.csv create mode 100644 logs/20261108-042350/amd64/qemu-amd64-20261108-042350.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-042350.csv b/experiments/bare_metal/runs/doe-amd64-20261108-042350.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-042350/amd64/qemu-amd64-20261108-042350.log b/logs/20261108-042350/amd64/qemu-amd64-20261108-042350.log new file mode 100644 index 00000000..9cd2605d --- /dev/null +++ b/logs/20261108-042350/amd64/qemu-amd64-20261108-042350.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:23:21 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 132 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248981 + Free pages : 247454 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2109870599 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1012405947, tick_hz=100, initial_count=10124059 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10124059) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +[HADES][INFO ] [KRELTSC: 34848870124] xhci: CSW status = FAILED +[HADES][INFO ] [KRELTSC: 34851470000] xhci: unit not ready -- retrying TEST UNIT READY +blkio_usb: MSC device ready +USB: a drive that is not this system's stick -- not used -- 2.54.0 From 715c09a9d1346cf97b6f04914da1b606c92e85dc Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:28:18 +0000 Subject: [PATCH 19/57] logs: gpt_bad_crc: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-042614.csv | 0 .../amd64/qemu-amd64-20261108-042614.log | 161 ++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-042614.csv create mode 100644 logs/20261108-042614/amd64/qemu-amd64-20261108-042614.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-042614.csv b/experiments/bare_metal/runs/doe-amd64-20261108-042614.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-042614/amd64/qemu-amd64-20261108-042614.log b/logs/20261108-042614/amd64/qemu-amd64-20261108-042614.log new file mode 100644 index 00000000..77e45f5a --- /dev/null +++ b/logs/20261108-042614/amd64/qemu-amd64-20261108-042614.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:25:45 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 132 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248981 + Free pages : 247454 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2115053782 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1015373839, tick_hz=100, initial_count=10153738 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10153738) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +[HADES][INFO ] [KRELTSC: 34947607372] xhci: CSW status = FAILED +[HADES][INFO ] [KRELTSC: 34950638714] xhci: unit not ready -- retrying TEST UNIT READY +blkio_usb: MSC device ready +GPT: a USB drive has a damaged partition table -- not used -- 2.54.0 From 7dca7fb699683c5b9ea41dc16653c815442641e3 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:30:45 +0000 Subject: [PATCH 20/57] logs: gpt_bad_entries: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-042841.csv | 0 .../amd64/qemu-amd64-20261108-042841.log | 161 ++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-042841.csv create mode 100644 logs/20261108-042841/amd64/qemu-amd64-20261108-042841.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-042841.csv b/experiments/bare_metal/runs/doe-amd64-20261108-042841.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-042841/amd64/qemu-amd64-20261108-042841.log b/logs/20261108-042841/amd64/qemu-amd64-20261108-042841.log new file mode 100644 index 00000000..3b1b5396 --- /dev/null +++ b/logs/20261108-042841/amd64/qemu-amd64-20261108-042841.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:28:13 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 132 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248981 + Free pages : 247454 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2105482075 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1013432936, tick_hz=100, initial_count=10134329 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10134329) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +[HADES][INFO ] [KRELTSC: 34934997674] xhci: CSW status = FAILED +[HADES][INFO ] [KRELTSC: 34936934358] xhci: unit not ready -- retrying TEST UNIT READY +blkio_usb: MSC device ready +GPT: a USB drive has a damaged partition table -- not used -- 2.54.0 From 6627f710b24381e7dabb7e962f34892b45392003 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:33:15 +0000 Subject: [PATCH 21/57] logs: gpt_no_header: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-043109.csv | 0 .../amd64/qemu-amd64-20261108-043109.log | 161 ++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-043109.csv create mode 100644 logs/20261108-043109/amd64/qemu-amd64-20261108-043109.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-043109.csv b/experiments/bare_metal/runs/doe-amd64-20261108-043109.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-043109/amd64/qemu-amd64-20261108-043109.log b/logs/20261108-043109/amd64/qemu-amd64-20261108-043109.log new file mode 100644 index 00000000..ea614ca1 --- /dev/null +++ b/logs/20261108-043109/amd64/qemu-amd64-20261108-043109.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:30:40 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 127 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248978 + Free pages : 247451 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2093862867 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1002275632, tick_hz=100, initial_count=10022756 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10022756) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +[HADES][INFO ] [KRELTSC: 34551913038] xhci: CSW status = FAILED +[HADES][INFO ] [KRELTSC: 34555526490] xhci: unit not ready -- retrying TEST UNIT READY +blkio_usb: MSC device ready +GPT: a USB drive has a damaged partition table -- not used -- 2.54.0 From 0b49d03526561b8cccc82a56957ca87e99efb04a Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:35:49 +0000 Subject: [PATCH 22/57] logs: gpt_read_error: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-043341.csv | 0 .../amd64/qemu-amd64-20261108-043341.log | 162 ++++++++++++++++++ 2 files changed, 162 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-043341.csv create mode 100644 logs/20261108-043341/amd64/qemu-amd64-20261108-043341.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-043341.csv b/experiments/bare_metal/runs/doe-amd64-20261108-043341.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-043341/amd64/qemu-amd64-20261108-043341.log b/logs/20261108-043341/amd64/qemu-amd64-20261108-043341.log new file mode 100644 index 00000000..a5df4b16 --- /dev/null +++ b/logs/20261108-043341/amd64/qemu-amd64-20261108-043341.log @@ -0,0 +1,162 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:33:10 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 127 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248978 + Free pages : 247451 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2103728097 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1006267346, tick_hz=100, initial_count=10062673 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10062673) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +[HADES][INFO ] [KRELTSC: 34685462924] xhci: CSW status = FAILED +[HADES][INFO ] [KRELTSC: 34691679268] xhci: unit not ready -- retrying TEST UNIT READY +blkio_usb: MSC device ready +[HADES][INFO ] [KRELTSC: 34706329366] xhci: CSW status = FAILED +GPT: a USB drive could not be read -- not used -- 2.54.0 From b4d673f929759611f4f276b77ea3734904a04450 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:37:17 +0000 Subject: [PATCH 23/57] logs: v3_keys -- v3's genesis and marker unchanged: PASS (#92, Task 1) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-043612.csv | 0 .../amd64/qemu-amd64-20261108-043612.log | 9027 +++++++++++++++++ 2 files changed, 9027 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-043612.csv create mode 100644 logs/20261108-043612/amd64/qemu-amd64-20261108-043612.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-043612.csv b/experiments/bare_metal/runs/doe-amd64-20261108-043612.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-043612/amd64/qemu-amd64-20261108-043612.log b/logs/20261108-043612/amd64/qemu-amd64-20261108-043612.log new file mode 100644 index 00000000..11578a0b --- /dev/null +++ b/logs/20261108-043612/amd64/qemu-amd64-20261108-043612.log @@ -0,0 +1,9027 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:35:42 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 132 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248971 + Free pages : 247444 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2083689796 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=996198345, tick_hz=100, initial_count=9961983 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v3 (system=v3) +Stadium: 83886 cells (5242 KB), 50 VM slots +Switch-signal: 50 slots +Kernel-Hermes: 50 channel slots +Kernel-Hermes: 50 pending-queue slots +VM: bootstrap parity... +VM arena allocated: 0xffff900000000000 + (5 MB) +[HADES][INFO ] [KRELTSC: 0] Registering FORTH-79 Standard word set... +[HADES][INFO ] [KRELTSC: 6435262] Registering FORTH-79 arithmetic words... +[HADES][INFO ] [KRELTSC: 57062212] FORTH-79 Standard word set registration complete +[Hera] POST: Running comprehensive test suite... +[Hera] [HADES][INFO ] [KRELTSC: 90369404] Starting comprehensive FORTH-79 modular test suite... +[Hera] [HADES][INFO ] [KRELTSC: 95174320] ============================================== +[Hera] [HADES][INFO ] [KRELTSC: 100952610] +[Hera] === Testing Module: Stack Words === +[Hera] [HADES][INFO ] [KRELTSC: 107315780] Running Stack Words Tests (Module 1: Foundation)... +[Hera] [HADES][TEST ] [KRELTSC: 112997012] ▶ Testing module: v3/src/test_runner/modules/stack_words_test +[Hera] [HADES][TEST ] [KRELTSC: 119613816] Testing word: DUP +[Hera] [HADES][TEST ] [KRELTSC: 123632300] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 128454018] Running DUP.basic: 5 DUP . . CR +[Hera] 5 5 +[Hera] [HADES][TEST ] [KRELTSC: 143209956] Test passed +[Hera] [HADES][TEST ] Testing DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 151245852] Expected: Should print: 5 5 +[Hera] 5 5 +[Hera] 5 5 +[Hera] 5 5 +[Hera] 5 5 +[Hera] 5 5 +[Hera] [HADES][TEST ] [KRELTSC: 165243170] Running DUP.zero: 0 DUP . . CR +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 172220130] Test passed +[Hera] [HADES][TEST ] Testing DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 181668292] Expected: Should print: 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 197104644] Running DUP.negative: -42 DUP . . CR +[Hera] -42 -42 +[Hera] [HADES][TEST ] [KRELTSC: 204007348] Test passed +[Hera] [HADES][TEST ] Testing DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 211749378] Expected: Should print: -42 -42 +[Hera] -42 -42 +[Hera] -42 -42 +[Hera] -42 -42 +[Hera] -42 -42 +[Hera] -42 -42 +[Hera] [HADES][TEST ] [KRELTSC: 226240142] Running DUP.max_int: 2147483647 DUP . . CR +[Hera] 2147483647 2147483647 +[Hera] [HADES][TEST ] [KRELTSC: 234117238] Test passed +[Hera] [HADES][TEST ] Testing DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 241580506] Expected: Should duplicate max int +[Hera] 2147483647 2147483647 +[Hera] 2147483647 2147483647 +[Hera] 2147483647 2147483647 +[Hera] 2147483647 2147483647 +[Hera] 2147483647 2147483647 +[Hera] [HADES][TEST ] [KRELTSC: 259211500] Running DUP.min_int: -2147483648 DUP . . CR +[Hera] -2147483648 -2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 267460902] Test passed +[Hera] [HADES][TEST ] Testing DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 275477350] Expected: Should duplicate min int +[Hera] -2147483648 -2147483648 +[Hera] -2147483648 -2147483648 +[Hera] -2147483648 -2147483648 +[Hera] -2147483648 -2147483648 +[Hera] -2147483648 -2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 294996800] Running DUP.empty_stack: DUP +[Hera] [HADES][ERROR] [KRELTSC: 300097644] DUP: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 305474644] Expected error occurred +[Hera] [HADES][TEST ] Testing DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 314146166] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 319740584] DUP: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 325075278] ▶ Testing module: v3/src/test_runner/modules/stack_words_test +[Hera] [HADES][TEST ] [KRELTSC: 331257128] Testing word: DROP +[Hera] [HADES][TEST ] [KRELTSC: 335458778] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 339917352] Running DROP.basic: 5 7 DROP . CR +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 346428712] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 354796836] Expected: Should print: 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 367898068] Running DROP.zero: 42 0 DROP . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 374943244] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 383038530] Expected: Should drop zero, print 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 397032792] Running DROP.negative: 10 -5 DROP . CR +[Hera] 10 +[Hera] [HADES][TEST ] [KRELTSC: 403927348] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 411888112] Expected: Should drop negative, print 10 +[Hera] 10 +[Hera] 10 +[Hera] 10 +[Hera] 10 +[Hera] 10 +[Hera] [HADES][TEST ] [KRELTSC: 425270858] Running DROP.double_drop: 1 2 3 DROP DROP . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 432404120] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 440656460] Expected: Should print: 1 +[Hera] 1 +[Hera] [HADES][INFO ] [KRELTSC: 449190094] L8[TABLE]: Config 17 → 0 regime=2 score=26214 L1=0 L2=0 L3=0 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 462217144] Running DROP.triple_drop: 1 2 3 4 DROP DROP DROP . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 470430630] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 479267756] Expected: Should print: 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 492227580] Running DROP.sequential: 5 DROP 6 DROP 7 . CR +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 499298186] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 507287078] Expected: Should print: 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 521289488] Running DROP.single_item: 99 DROP DEPTH . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 529082724] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 537693614] Expected: Should empty stack, depth=0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 551152120] Running DROP.depth_change: DEPTH 1 2 DROP DEPTH SWAP - . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 558881662] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 566836186] Expected: Should change depth by 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 579289534] Running DROP.preserve_depth: DEPTH 5 6 DROP DROP DEPTH = . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 587172276] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 595520390] Expected: Should preserve net depth +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][INFO ] [KRELTSC: 608942804] L8[TABLE]: Config 0 → 1 regime=2 score=26214 L1=0 L2=0 L3=0 L +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 617744276] Running DROP.max_int: 2147483647 DROP DEPTH . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 625647222] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 634135100] Expected: Should drop max int +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 649543862] Running DROP.min_int: -2147483648 DROP DEPTH . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 657572270] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 666064598] Expected: Should drop min int +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 679833848] Running DROP.with_dup: 5 DUP DROP . CR +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 687116846] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 696016982] Expected: Should duplicate then drop +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 709970346] Running DROP.with_swap: 1 2 SWAP DROP . CR +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 717465678] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 726069530] Expected: Should swap then drop +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 739886396] Running DROP.complex: 1 2 3 ROT DROP SWAP DROP . CR +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 747617430] Test passed +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 756072162] Expected: Should handle complex sequence +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 770172302] Running DROP.empty_stack: DROP +[Hera] [HADES][ERROR] [KRELTSC: 775605458] DROP: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 780823014] Expected error occurred +[Hera] [HADES][TEST ] Testing DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 790337110] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 796307270] DROP: 15 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 802238226] ▶ Testing module: v3/src/test_runner/modules/stack_words_test +[Hera] [HADES][TEST ] [KRELTSC: 809167226] Testing word: SWAP +[Hera] [HADES][TEST ] [KRELTSC: 813959952] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 818810134] Running SWAP.basic: 5 7 SWAP . . CR +[Hera] 5 7 +[Hera] [HADES][TEST ] [KRELTSC: 826100226] Test passed +[Hera] [HADES][TEST ] Testing SWAP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 834541968] Expected: Should print: 7 5 +[Hera] 5 7 +[Hera] 5 7 +[Hera] 5 7 +[Hera] 5 7 +[Hera] 5 7 +[Hera] [HADES][TEST ] [KRELTSC: 847445366] Running SWAP.same_values: 42 42 SWAP . . CR +[Hera] 42 42 +[Hera] [HADES][TEST ] [KRELTSC: 853776928] Test passed +[Hera] [HADES][TEST ] Testing SWAP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 861512872] Expected: Should print: 42 42 +[Hera] 42 42 +[Hera] 42 42 +[Hera] 42 42 +[Hera] 42 42 +[Hera] 42 [HADES][INFO ] [KRELTSC: 873899282] L8[TABLE]: Config 1 → 2 regime=2 score=26214 L1=0 L2=0 L3=0 L +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 880905332] Running SWAP.zero_nonzero: 0 99 SWAP . . CR +[Hera] 0 99 +[Hera] [HADES][TEST ] [KRELTSC: 887753300] Test passed +[Hera] [HADES][TEST ] Testing SWAP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 895542594] Expected: Should print: 99 0 +[Hera] 0 99 +[Hera] 0 99 +[Hera] 0 99 +[Hera] 0 99 +[Hera] 0 99 +[Hera] [HADES][TEST ] [KRELTSC: 908687922] Running SWAP.negative: -5 10 SWAP . . CR +[Hera] -5 10 +[Hera] [HADES][TEST ] [KRELTSC: 915982812] Test passed +[Hera] [HADES][TEST ] Testing SWAP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 924831274] Expected: Should print: 10 -5 +[Hera] -5 10 +[Hera] -5 10 +[Hera] -5 10 +[Hera] -5 10 +[Hera] -5 10 +[Hera] [HADES][TEST ] [KRELTSC: 939838010] Running SWAP.one_item: 42 SWAP +[Hera] [HADES][ERROR] [KRELTSC: 944803788] SWAP: Insufficient stack items (need 2) +[Hera] [HADES][TEST ] [KRELTSC: 949885130] Expected error occurred +[Hera] [HADES][TEST ] Testing SWAP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 958196484] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 963801196] Running SWAP.empty_stack: SWAP +[Hera] [HADES][ERROR] [KRELTSC: 968752736] SWAP: Insufficient stack items (need 2) +[Hera] [HADES][TEST ] [KRELTSC: 973924290] Expected error occurred +[Hera] [HADES][TEST ] Testing SWAP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 982428566] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 988948366] SWAP: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 994353202] ▶ Testing module: v3/src/test_runner/modules/stack_words_test +[Hera] [HADES][TEST ] [KRELTSC: 1000035102] Testing word: OVER +[Hera] [HADES][TEST ] [KRELTSC: 1004061726] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 1008478160] Running OVER.basic: 5 7 OVER . . . CR +[Hera] 5 7 5 +[Hera] [HADES][TEST ] [KRELTSC: 1014876286] Test passed +[Hera] [HADES][TEST ] Testing OVER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1022567632] Expected: Should print: 5 7 5 +[Hera] 5 7 5 +[Hera] 5 7 5 +[Hera] 5 7 5 +[Hera] 5 7 5 +[Hera] 5 7 5 +[Hera] [HADES][TEST ] [KRELTSC: 1034544226] Running OVER.zeros: 0 0 OVER . . . CR +[Hera] 0 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 1041757808] Test passed +[Hera] [HADES][TEST ] Testing OVER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1050318828] Expected: Should print: 0 0 0 +[Hera] 0 0 0 +[Hera] 0 0 0 +[Hera] 0 0 0 +[Hera] 0 0 0 +[Hera] 0 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 1064496904] Running OVER.mixed: -1 42 OVER . . . CR +[Hera] -1 42 -1 +[Hera] [HADES][TEST ] [KRELTSC: 1072161808] Test passed +[Hera] [HADES][TEST ] Testing OVER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1080477474] Expected: Should print: -1 42 -1 +[Hera] -1 42 -1 +[Hera] -1 42 -1 +[Hera] -1 42 -1 +[Hera] -1 42 -1 +[Hera] -1 42 -1 +[Hera] [HADES][TEST ] [KRELTSC: 1095363752] Running OVER.one_item: 42 OVER +[Hera] [HADES][ERROR] [KRELTSC: 1100739176] OVER: Insufficient stack items (need 2) +[Hera] [HADES][TEST ] [KRELTSC: 1106375340] Expected error occurred +[Hera] [HADES][TEST ] Testing OVER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1114811442] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 1120065878] Running OVER.empty_stack: OVER +[Hera] [HADES][ERROR] [KRELTSC: 1124880124] OVER: Insufficient stack items (need 2) +[Hera] [HADES][TEST ] [KRELTSC: 1130059446] Expected error occurred +[Hera] [HADES][TEST ] Testing OVER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1138899390] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 1142112460] OVER: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 1147145518] ▶ Testing module: v3/src/test_runner/modules/stack_words_test +[Hera] [HADES][TEST ] [KRELTSC: 1154460092] Testing word: ROT +[Hera] [HADES][TEST ] [KRELTSC: 1159777380] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 1164244480] Running ROT.basic: 1 2 3 ROT . . . CR +[Hera] 1 3 2 +[Hera] [HADES][TEST ] [KRELTSC: 1171562002] Test passed +[Hera] [HADES][TEST ] Testing ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1179617580] Expected: Should print: 2 3 1 +[Hera] 1 3 2 +[Hera] 1 3 2 +[Hera] 1 3 2 +[Hera] 1 3 2 +[Hera] 1 3 2 +[Hera] [HADES][TEST ] [KRELTSC: 1193064486] Running ROT.zeros: 0 0 0 ROT . . . CR +[Hera] [HADES][INFO ] [KRELTSC: 1198379414] L8[TABLE]: Config 2 → 3 regime=2 score=26214 L1=0 L2=0 L3=0 L +[Hera] 0 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 1206386998] Test passed +[Hera] [HADES][TEST ] Testing ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1214873070] Expected: Should print: 0 0 0 +[Hera] 0 0 0 +[Hera] 0 0 0 +[Hera] 0 0 0 +[Hera] 0 0 0 +[Hera] 0 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 1229872310] Running ROT.mixed: -1 0 1 ROT . . . CR +[Hera] -1 1 0 +[Hera] [HADES][TEST ] [KRELTSC: 1236362452] Test passed +[Hera] [HADES][TEST ] Testing ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1244483044] Expected: Should print: 0 1 -1 +[Hera] -1 1 0 +[Hera] -1 1 0 +[Hera] -1 1 0 +[Hera] -1 1 0 +[Hera] -1 1 0 +[Hera] [HADES][TEST ] [KRELTSC: 1258596164] Running ROT.two_items: 1 2 ROT +[Hera] [HADES][ERROR] [KRELTSC: 1264106804] ROT: Insufficient stack items (need 3) +[Hera] [HADES][TEST ] [KRELTSC: 1269788698] Expected error occurred +[Hera] [HADES][TEST ] Testing ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1278543718] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 1283110544] Running ROT.one_item: 42 ROT +[Hera] [HADES][ERROR] [KRELTSC: 1286634382] ROT: Insufficient stack items (need 3) +[Hera] [HADES][TEST ] [KRELTSC: 1290468230] Expected error occurred +[Hera] [HADES][TEST ] Testing ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1296702422] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 1300829538] Running ROT.empty_stack: ROT +[Hera] [HADES][ERROR] [KRELTSC: 1304308514] ROT: Insufficient stack items (need 3) +[Hera] [HADES][TEST ] [KRELTSC: 1307939858] Expected error occurred +[Hera] [HADES][TEST ] Testing ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1314011154] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 1318699742] ROT: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 1324433284] ▶ Testing module: v3/src/test_runner/modules/stack_words_test +[Hera] [HADES][TEST ] [KRELTSC: 1330890984] Testing word: DEPTH +[Hera] [HADES][TEST ] [KRELTSC: 1335158204] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 1339830720] Running DEPTH.empty: DEPTH . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 1346364240] Test passed +[Hera] [HADES][TEST ] Testing DEPTH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1354720228] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 1368335278] Running DEPTH.one_item: 42 DEPTH . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 1375286912] Test passed +[Hera] [HADES][TEST ] Testing DEPTH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1383308340] Expected: Should print: 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 1396023000] Running DEPTH.multiple: 1 2 3 DEPTH . CR +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 1403413232] Test passed +[Hera] [HADES][TEST ] Testing DEPTH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1411843032] Expected: Should print: 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 1424243744] DEPTH: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 1429738972] ▶ Testing module: v3/src/test_runner/modules/stack_words_test +[Hera] [HADES][TEST ] [KRELTSC: 1435871696] Testing word: PICK +[Hera] [HADES][TEST ] [KRELTSC: 1440124620] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 1445204326] Running PICK.pick_0: 1 2 3 0 PICK . CR +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 1452211246] Test passed +[Hera] [HADES][TEST ] Testing PICK ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1460128866] Expected: Should print: 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 1473181318] Running PICK.pick_1: 1 2 3 1 PICK . CR +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 1480144456] Test passed +[Hera] [HADES][TEST ] Testing PICK ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1488103652] Expected: Should print: 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] [HADES][INFO ] [KRELTSC: 1499009854] L8[TABLE]: Config 3 → 4 regime=2 score=26214 L1=0 L2=0 L3=0 L +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 1508469256] Running PICK.pick_2: 1 2 3 2 PICK . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 1515321064] Test passed +[Hera] [HADES][TEST ] Testing PICK ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1523924028] Expected: Should print: 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 1536634684] PICK: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 1542723374] ▶ Testing module: v3/src/test_runner/modules/stack_words_test +[Hera] [HADES][TEST ] [KRELTSC: 1549627848] Testing word: ROLL +[Hera] [HADES][TEST ] [KRELTSC: 1554645314] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 1559720846] Running ROLL.roll_1: 1 2 3 1 ROLL . . . CR +[Hera] 1 3 2 +[Hera] [HADES][TEST ] [KRELTSC: 1567777320] Test passed +[Hera] [HADES][TEST ] Testing ROLL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1576409706] Expected: Should print: 1 3 2 +[Hera] 1 3 2 +[Hera] 1 3 2 +[Hera] 1 3 2 +[Hera] 1 3 2 +[Hera] 1 3 2 +[Hera] [HADES][TEST ] [KRELTSC: 1590406554] Running ROLL.roll_2: 1 2 3 2 ROLL . . . CR +[Hera] 2 3 1 +[Hera] [HADES][TEST ] [KRELTSC: 1597790348] Test passed +[Hera] [HADES][TEST ] Testing ROLL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1606327990] Expected: Should print: 2 3 1 +[Hera] 2 3 1 +[Hera] 2 3 1 +[Hera] 2 3 1 +[Hera] 2 3 1 +[Hera] 2 3 1 +[Hera] [HADES][TEST ] [KRELTSC: 1619951512] ROLL: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 1625379638] ▶ Testing module: v3/src/test_runner/modules/stack_words_test +[Hera] [HADES][TEST ] [KRELTSC: 1631714572] Testing word: ?DUP +[Hera] [HADES][TEST ] [KRELTSC: 1636272120] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 1641148308] Running ?DUP.nonzero: 42 ?DUP . . CR +[Hera] 42 42 +[Hera] [HADES][TEST ] [KRELTSC: 1648771160] Test passed +[Hera] [HADES][TEST ] Testing ?DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1656595132] Expected: Should print: 42 42 +[Hera] 42 42 +[Hera] 42 42 +[Hera] 42 42 +[Hera] 42 42 +[Hera] 42 42 +[Hera] [HADES][TEST ] [KRELTSC: 1671372332] Running ?DUP.negative: -5 ?DUP . . CR +[Hera] -5 -5 +[Hera] [HADES][TEST ] [KRELTSC: 1679622380] Test passed +[Hera] [HADES][TEST ] Testing ?DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1687827826] Expected: Should print: -5 -5 +[Hera] -5 -5 +[Hera] -5 -5 +[Hera] -5 -5 +[Hera] -5 -5 +[Hera] -5 -5 +[Hera] [HADES][TEST ] [KRELTSC: 1701210434] Running ?DUP.zero: 0 ?DUP DEPTH . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 1708091264] Test passed +[Hera] [HADES][TEST ] Testing ?DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1716430372] Expected: Should not dup: depth 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 1730424032] Running ?DUP.empty_stack: ?DUP +[Hera] [HADES][ERROR] [KRELTSC: 1736779652] ?DUP: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 1741525946] Expected error occurred +[Hera] [HADES][TEST ] Testing ?DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1750733546] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 1756559006] ?DUP: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 1762553576] ▶ Testing module: v3/src/test_runner/modules/stack_words_test +[Hera] [HADES][TEST ] [KRELTSC: 1769223388] Testing word: -ROT +[Hera] [HADES][TEST ] [KRELTSC: 1773787064] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 1778709110] Running -ROT.basic: 1 2 3 -ROT . . . CR +[Hera] 2 1 3 +[Hera] [HADES][TEST ] [KRELTSC: 1786408078] Test passed +[Hera] [HADES][TEST ] Testing -ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1795094016] Expected: Should print: 1 3 2 +[Hera] [HADES][INFO ] [KRELTSC: 1800442384] L8[TABLE]: Config 4 → 5 regime=2 score=26214 L1=0 L2=0 L3=0 L +[Hera] 2 1 3 +[Hera] 2 1 3 +[Hera] 2 1 3 +[Hera] 2 1 3 +[Hera] 2 1 3 +[Hera] [HADES][TEST ] [KRELTSC: 1816434334] Running -ROT.zeros: 0 0 0 -ROT . . . CR +[Hera] 0 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 1824047268] Test passed +[Hera] [HADES][TEST ] Testing -ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1832388922] Expected: Should print: 0 0 0 +[Hera] 0 0 0 +[Hera] 0 0 0 +[Hera] 0 0 0 +[Hera] 0 0 0 +[Hera] 0 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 1847844634] Running -ROT.roundtrip: 1 2 3 -ROT ROT . . . CR +[Hera] 3 2 1 +[Hera] [HADES][TEST ] [KRELTSC: 1856095064] Test passed +[Hera] [HADES][TEST ] Testing -ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1864714178] Expected: Should restore original order +[Hera] 3 2 1 +[Hera] 3 2 1 +[Hera] 3 2 1 +[Hera] 3 2 1 +[Hera] 3 2 1 +[Hera] [HADES][TEST ] [KRELTSC: 1879779900] Running -ROT.two_items: 1 2 -ROT +[Hera] [HADES][ERROR] [KRELTSC: 1885216500] -ROT: Insufficient stack items (need 3) +[Hera] [HADES][TEST ] [KRELTSC: 1890828156] Expected error occurred +[Hera] [HADES][TEST ] Testing -ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1900021962] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 1906372508] Running -ROT.empty_stack: -ROT +[Hera] [HADES][ERROR] [KRELTSC: 1912029554] -ROT: Insufficient stack items (need 3) +[Hera] [HADES][TEST ] [KRELTSC: 1917631326] Expected error occurred +[Hera] [HADES][TEST ] Testing -ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1926758840] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 1932373400] -ROT: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 1938397722] === Stack Words Summary: 0 passed, 0 failed, 0 skipped, 0 error +[Hera] [HADES][INFO ] [KRELTSC: 1945077470] +[Hera] === Testing Module: Return Stack Words === +[Hera] [HADES][INFO ] [KRELTSC: 1952406518] Running Return Stack Words Tests (Module 2)... +[Hera] [HADES][TEST ] [KRELTSC: 1958369220] ▶ Testing module: v3/src/test_runner/modules/return_stack_wor +[Hera] [HADES][TEST ] [KRELTSC: 1966027086] Testing word: >R +[Hera] [HADES][TEST ] [KRELTSC: 1970570968] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 1975285550] Running >R.basic: 42 >R R@ . R> . CR +[Hera] 42 42 +[Hera] [HADES][TEST ] [KRELTSC: 1982821916] Test passed +[Hera] [HADES][TEST ] Testing >R ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 1991303004] Expected: Should print: 42 42 +[Hera] 42 42 +[Hera] 42 42 +[Hera] 42 42 +[Hera] 42 42 +[Hera] 42 42 +[Hera] [HADES][TEST ] [KRELTSC: 2005721100] Running >R.zero: 0 >R R@ . R> . CR +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 2012708734] Test passed +[Hera] [HADES][TEST ] Testing >R ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2021590754] Expected: Should print: 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 2037202308] Running >R.negative: -123 >R R@ . R> . CR +[Hera] -123 -123 +[Hera] [HADES][TEST ] [KRELTSC: 2044898212] Test passed +[Hera] [HADES][TEST ] Testing >R ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2053343832] Expected: Should print: -123 -123 +[Hera] -123 -123 +[Hera] -123 -123 +[Hera] -123 -123 [HADES][INFO ] [KRELTSC: 2075219638] L8[TABLE]: Config 5 → 6 regime=2 score=26214 L1=0 L2=0 L3=0 L + +[Hera] -123 -123 +[Hera] -123 -123 +[Hera] [HADES][TEST ] [KRELTSC: 2084135172] Running >R.multiple: 1 2 >R >R R@ . R> . R@ . R> . CR +[Hera] 1 1 2 2 +[Hera] [HADES][TEST ] [KRELTSC: 2092264818] Test passed +[Hera] [HADES][TEST ] Testing >R ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2100690386] Expected: Should print: 2 2 1 1 +[Hera] 1 1 2 2 +[Hera] 1 1 2 2 +[Hera] 1 1 2 2 +[Hera] 1 1 2 2 +[Hera] 1 1 2 2 +[Hera] [HADES][TEST ] [KRELTSC: 2115122810] Running >R.empty_stack: >R +[Hera] [HADES][ERROR] [KRELTSC: 2120200408] >R: DSP underflow +[Hera] [HADES][TEST ] [KRELTSC: 2124505272] Expected error occurred +[Hera] [HADES][TEST ] Testing >R ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2133493848] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 2140043384] >R: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 2145687460] ▶ Testing module: v3/src/test_runner/modules/return_stack_wor +[Hera] [HADES][TEST ] [KRELTSC: 2151998574] Testing word: R> +[Hera] [HADES][TEST ] [KRELTSC: 2156155394] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 2160624266] Running R>.basic: 42 >R R> . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 2167139968] Test passed +[Hera] [HADES][TEST ] Testing R> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2174948834] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 2187463372] Running R>.lifo_order: 1 2 >R >R R> . R> . CR +[Hera] 1 2 +[Hera] [HADES][TEST ] [KRELTSC: 2194143624] Test passed +[Hera] [HADES][TEST ] Testing R> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2200866984] Expected: Should print: 2 1 +[Hera] 1 2 +[Hera] 1 2 +[Hera] 1 2 +[Hera] 1 2 +[Hera] 1 2 +[Hera] [HADES][TEST ] [KRELTSC: 2214385716] Running R>.empty_rstack: R> +[Hera] [HADES][ERROR] [KRELTSC: 2219900942] R>: RSP underflow +[Hera] [HADES][TEST ] [KRELTSC: 2224756074] Expected error occurred +[Hera] [HADES][TEST ] Testing R> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2234271078] Expected: Should cause return stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 2240408758] R>: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 2245766774] ▶ Testing module: v3/src/test_runner/modules/return_stack_wor +[Hera] [HADES][TEST ] [KRELTSC: 2252281564] Testing word: R@ +[Hera] [HADES][TEST ] [KRELTSC: 2257941830] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 2263292682] Running R@.basic: 42 >R R@ . R> DROP CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 2270512434] Test passed +[Hera] [HADES][TEST ] Testing R@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2278594216] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 2292310998] Running R@.non_destructive: 99 >R R@ R@ = . R> DROP CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 2300368476] Test passed +[Hera] [HADES][TEST ] Testing R@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2308965652] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 [HADES][INFO ] [KRELTSC: 2318912318] L8[TABLE]: Config 6 → 7 regime=2 score=26214 L1=0 L2=0 L3=0 L + +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 2327603854] Running R@.empty_rstack: R@ +[Hera] [HADES][ERROR] [KRELTSC: 2332353762] R@: RSP underflow +[Hera] [HADES][TEST ] [KRELTSC: 2336604288] Expected error occurred +[Hera] [HADES][TEST ] Testing R@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2344907328] Expected: Should cause return stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 2350569654] R@: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 2356232906] === Return Stack Words Summary: 0 passed, 0 failed, 0 skipped, +[Hera] [HADES][INFO ] [KRELTSC: 2363059990] +[Hera] === Testing Module: Memory Words === +[Hera] [HADES][INFO ] [KRELTSC: 2370350294] Running Memory Words Tests (Module 3)... +[Hera] [HADES][TEST ] [KRELTSC: 2376549092] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 2383266200] Testing word: ! +[Hera] [HADES][TEST ] [KRELTSC: 2387345218] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 2391715402] Running !.basic: 42 HERE ! HERE @ . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 2399123334] Test passed +[Hera] [HADES][TEST ] Testing ! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2407602242] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 2421395608] Running !.zero: 0 HERE ! HERE @ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 2429849056] Test passed +[Hera] [HADES][TEST ] Testing ! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2438279578] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 2451683730] Running !.negative: -999 HERE ! HERE @ . CR +[Hera] -999 +[Hera] [HADES][TEST ] [KRELTSC: 2459073938] Test passed +[Hera] [HADES][TEST ] Testing ! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2466764986] Expected: Should print: -999 +[Hera] -999 +[Hera] -999 +[Hera] -999 +[Hera] -999 +[Hera] -999 +[Hera] [HADES][TEST ] [KRELTSC: 2480125292] Running !.overwrite: 111 HERE ! 222 HERE ! HERE @ . CR +[Hera] 222 +[Hera] [HADES][TEST ] [KRELTSC: 2487514642] Test passed +[Hera] [HADES][TEST ] Testing ! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2495293716] Expected: Should print: 222 +[Hera] 222 +[Hera] 222 +[Hera] 222 +[Hera] 222 +[Hera] 222 +[Hera] [HADES][TEST ] [KRELTSC: 2508835996] Running !.max_int: 2147483647 HERE ! HERE @ . CR +[Hera] 2147483647 +[Hera] [HADES][TEST ] [KRELTSC: 2516576026] Test passed +[Hera] [HADES][TEST ] Testing ! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2524565716] Expected: Should store max int +[Hera] 2147483647 +[Hera] 2147483647 +[Hera] 2147483647 +[Hera] 2147483647 +[Hera] 2147483647 +[Hera] [HADES][TEST ] [KRELTSC: 2539733588] Running !.min_int: -2147483648 HERE ! HERE @ . CR +[Hera] -2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 2547381246] Test passed +[Hera] [HADES][TEST ] Testing ! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2555036784] Expected: Should store min int +[Hera] [HADES][INFO ] [KRELTSC: 2560180020] L8[TABLE]: Config 7 → 8 regime=2 score=6553 L1=0 L2=0 L3=0 L4 +[Hera] -2147483648 +[Hera] -2147483648 +[Hera] -2147483648 +[Hera] -2147483648 +[Hera] -2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 2577435332] Running !.empty_stack: ! +[Hera] [HADES][TEST ] [KRELTSC: 2582527252] Expected error occurred +[Hera] [HADES][TEST ] Testing ! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2591436164] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 2597490424] Running !.one_item: 42 ! +[Hera] [HADES][TEST ] [KRELTSC: 2604070614] Expected error occurred +[Hera] [HADES][TEST ] Testing ! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2613180380] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 2619154542] !: 8 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 2625087856] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 2632053580] Testing word: @ +[Hera] [HADES][TEST ] [KRELTSC: 2636551154] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 2641509670] Running @.after_store: 123 HERE ! HERE @ . CR +[Hera] 123 +[Hera] [HADES][TEST ] [KRELTSC: 2649241506] Test passed +[Hera] [HADES][TEST ] Testing @ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2658650098] Expected: Should print: 123 +[Hera] 123 +[Hera] 123 +[Hera] 123 +[Hera] 123 +[Hera] 123 +[Hera] [HADES][TEST ] [KRELTSC: 2670193816] Running @.multiple_reads: 456 HERE ! HERE @ HERE @ = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 2678290616] Test passed +[Hera] [HADES][TEST ] Testing @ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2686848556] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 2700512510] Running @.empty_stack: @ +[Hera] [HADES][TEST ] [KRELTSC: 2705528594] Expected error occurred +[Hera] [HADES][TEST ] Testing @ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2715095040] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 2722014088] @: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 2727673866] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 2734532968] Testing word: C! +[Hera] [HADES][TEST ] [KRELTSC: 2738972326] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 2743282304] Running C!.basic: 65 HERE C! HERE C@ . CR +[Hera] 65 +[Hera] [HADES][TEST ] [KRELTSC: 2750865102] Test passed +[Hera] [HADES][TEST ] Testing C! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2759283414] Expected: Should print: 65 +[Hera] 65 +[Hera] 65 +[Hera] 65 +[Hera] 65 +[Hera] 65 +[Hera] [HADES][TEST ] [KRELTSC: 2772597704] Running C!.zero: 0 HERE C! HERE C@ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 2779828262] Test passed +[Hera] [HADES][TEST ] Testing C! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2788343828] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 2802316984] Running C!.high_byte: 255 HERE C! HERE C@ . CR +[Hera] 255 +[Hera] [HADES][TEST ] [KRELTSC: 2810047106] Test passed +[Hera] [HADES][TEST ] Testing C! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2818588876] Expected: Should print: 255 +[Hera] 255 +[Hera] 255 +[Hera] 255 +[Hera] [HADES][INFO ] [KRELTSC: 2829556764] L8[TABLE]: Config 8 → 9 regime=2 score=6553 L1=0 L2=0 L3=0 L4 +[Hera] 255 +[Hera] 255 +[Hera] [HADES][TEST ] [KRELTSC: 2839998926] Running C!.truncation: 256 HERE C! HERE C@ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 2847735154] Test passed +[Hera] [HADES][TEST ] Testing C! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2856235494] Expected: Should print: 0 (truncated) +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 2869297002] C!: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 2873560138] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 2879028840] Testing word: C@ +[Hera] [HADES][TEST ] [KRELTSC: 2883637124] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 2889048050] Running C@.after_cstore: 97 HERE C! HERE C@ . CR +[Hera] 97 +[Hera] [HADES][TEST ] [KRELTSC: 2897221766] Test passed +[Hera] [HADES][TEST ] Testing C@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2905464702] Expected: Should print: 97 +[Hera] 97 +[Hera] 97 +[Hera] 97 +[Hera] 97 +[Hera] 97 +[Hera] [HADES][TEST ] [KRELTSC: 2919041324] Running C@.zero_byte: 0 HERE C! HERE C@ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 2926367544] Test passed +[Hera] [HADES][TEST ] Testing C@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2935065100] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 2948236856] C@: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 2952576454] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 2959068718] Testing word: , +[Hera] [HADES][TEST ] [KRELTSC: 2963226284] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 2967755544] Running ,.basic: 42 , HERE 8 - @ . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 2974253554] Test passed +[Hera] [HADES][TEST ] Testing , ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 2981499132] Expected: Should compile 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 2995107752] Running ,.negative: -999 , HERE 8 - @ . CR +[Hera] -999 +[Hera] [HADES][TEST ] [KRELTSC: 3002141572] Test passed +[Hera] [HADES][TEST ] Testing , ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3010406230] Expected: Should compile -999 +[Hera] -999 +[Hera] -999 +[Hera] -999 +[Hera] -999 +[Hera] -999 +[Hera] [HADES][TEST ] [KRELTSC: 3024187152] ,: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 3029786048] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 3036575800] Testing word: C, +[Hera] [HADES][TEST ] [KRELTSC: 3040825288] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 3045527714] Running C,.basic: 65 C, HERE 1 - C@ . CR +[Hera] 65 +[Hera] [HADES][TEST ] [KRELTSC: 3052764900] Test passed +[Hera] [HADES][TEST ] Testing C, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3061297950] Expected: Should compile byte 65 +[Hera] 65 +[Hera] 65 +[Hera] [HADES][INFO ] [KRELTSC: 3070265576] L8[TABLE]: Config 9 → 10 regime=2 score=6553 L1=0 L2=0 L3=0 L +[Hera] 65 +[Hera] 65 +[Hera] 65 +[Hera] [HADES][TEST ] [KRELTSC: 3081801196] Running C,.zero: 0 C, HERE 1 - C@ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 3088938770] Test passed +[Hera] [HADES][TEST ] Testing C, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3091717894] Expected: Should compile byte 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 3103919402] C,: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 3109534892] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 3115878390] Testing word: 2, +[Hera] [HADES][TEST ] [KRELTSC: 3121658260] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 3126549172] Running 2,.roundtrip: 12345 67890 2, HERE 16 - 2@ . . CR +[Hera] 67890 12345 +[Hera] [HADES][TEST ] [KRELTSC: 3135128364] Test passed +[Hera] [HADES][TEST ] Testing 2, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3143382538] Expected: Should print: 67890 12345 +[Hera] 67890 12345 +[Hera] 67890 12345 +[Hera] 67890 12345 +[Hera] 67890 12345 +[Hera] 67890 12345 +[Hera] [HADES][TEST ] [KRELTSC: 3157113208] Running 2,.save-and-verify: 12345 67890 2, HERE 16 - 2@ 67890 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 3165699228] Test passed +[Hera] [HADES][TEST ] Testing 2, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3174239680] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 3188820028] 2,: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 3194745466] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 3201802662] Testing word: HERE +[Hera] [HADES][TEST ] [KRELTSC: 3206631238] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 3211513386] Running HERE.basic: HERE HERE = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 3218699824] Test passed +[Hera] [HADES][TEST ] Testing HERE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3227208596] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 3241564726] Running HERE.after_comma: HERE 42 , HERE SWAP - 1 CELLS = 0 S +[Hera] [HADES][INFO ] [KRELTSC: 3245893670] L8[TABLE]: Config 10 → 11 regime=2 score=6553 L1=0 L2=0 L3=0 +[Hera] [HADES][TEST ] [KRELTSC: 3247367156] Test passed +[Hera] [HADES][TEST ] Testing HERE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3256090614] Expected: Asserts HERE advances by exactly 1 CELLS (8 bytes +[Hera] [HADES][TEST ] [KRELTSC: 3263317132] HERE: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 3268782006] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 3275184312] Testing word: ALLOT +[Hera] [HADES][TEST ] [KRELTSC: 3279540624] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 3284072614] Running ALLOT.basic: HERE 10 ALLOT HERE SWAP - . CR +[Hera] 10 +[Hera] [HADES][TEST ] [KRELTSC: 3292270786] Test passed +[Hera] [HADES][TEST ] Testing ALLOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3301001782] Expected: Should print: 10 +[Hera] 10 +[Hera] 10 +[Hera] 10 +[Hera] 10 +[Hera] 10 +[Hera] [HADES][TEST ] [KRELTSC: 3314817668] Running ALLOT.zero: HERE 0 ALLOT HERE SWAP - . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 3322512712] Test passed +[Hera] [HADES][TEST ] Testing ALLOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3331222032] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 3344769364] Running ALLOT.negative: HERE -4 ALLOT HERE SWAP - . CR +[Hera] -4 +[Hera] [HADES][TEST ] [KRELTSC: 3354121298] Test passed +[Hera] [HADES][TEST ] Testing ALLOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3362837812] Expected: Should print: -4 +[Hera] -4 +[Hera] -4 +[Hera] -4 +[Hera] -4 +[Hera] -4 +[Hera] [HADES][TEST ] [KRELTSC: 3376046482] ALLOT: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 3381584512] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 3388344924] Testing word: PAD +[Hera] [HADES][TEST ] [KRELTSC: 3393000670] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 3398096628] Running PAD.basic: PAD PAD = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 3405412622] Test passed +[Hera] [HADES][TEST ] Testing PAD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3414121296] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 3428161578] Running PAD.different_from_here: PAD HERE = . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 3435957214] Test passed +[Hera] [HADES][TEST ] Testing PAD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3444465824] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 [HADES][INFO ] [KRELTSC: 3452713124] L8[TABLE]: Config 11 → 12 regime=2 score=6553 L1=0 L2=0 L3=0 + +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 3462810658] PAD: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 3468412794] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 3475276244] Testing word: +! +[Hera] [HADES][TEST ] [KRELTSC: 3479747820] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 3484823300] Running +!.basic: 10 HERE ! 5 HERE +! HERE @ . CR +[Hera] 15 +[Hera] [HADES][TEST ] [KRELTSC: 3492665306] Test passed +[Hera] [HADES][TEST ] Testing +! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3500645632] Expected: Should print: 15 +[Hera] 15 +[Hera] 15 +[Hera] 15 +[Hera] 15 +[Hera] 15 +[Hera] [HADES][TEST ] [KRELTSC: 3514368258] Running +!.by_zero: 42 HERE ! 0 HERE +! HERE @ . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 3522345574] Test passed +[Hera] [HADES][TEST ] Testing +! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3530809298] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 3544467806] Running +!.negative: 10 HERE ! -3 HERE +! HERE @ . CR +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 3552164072] Test passed +[Hera] [HADES][TEST ] Testing +! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3559967252] Expected: Should print: 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 3572335120] Running +!.accumulate: 0 HERE ! 1 HERE +! 2 HERE +! 3 HERE +! +[Hera] 6 +[Hera] [HADES][TEST ] [KRELTSC: 3580003636] Test passed +[Hera] [HADES][TEST ] Testing +! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3587420310] Expected: Should print: 6 +[Hera] 6 +[Hera] 6 +[Hera] [HADES][INFO ] [KRELTSC: 3595459516] L8[TABLE]: Config 12 → 13 regime=2 score=6553 L1=0 L2=0 L3=0 +[Hera] 6 +[Hera] 6 +[Hera] 6 +[Hera] [HADES][TEST ] [KRELTSC: 3604855452] Running +!.empty_stack: +! +[Hera] [HADES][TEST ] [KRELTSC: 3608576100] Expected error occurred +[Hera] [HADES][TEST ] Testing +! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3615379178] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 3620855876] +!: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 3625976350] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 3632698994] Testing word: -! +[Hera] [HADES][TEST ] [KRELTSC: 3637227230] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 3642103904] Running -!.basic: 10 HERE ! 3 HERE -! HERE @ . CR +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 3649708976] Test passed +[Hera] [HADES][TEST ] Testing -! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3657720198] Expected: Should print: 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 3672053274] Running -!.by_zero: 42 HERE ! 0 HERE -! HERE @ . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 3680415870] Test passed +[Hera] [HADES][TEST ] Testing -! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3689217892] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 3704228032] Running -!.negative: 10 HERE ! -5 HERE -! HERE @ . CR +[Hera] 15 +[Hera] [HADES][TEST ] [KRELTSC: 3712698698] Test passed +[Hera] [HADES][TEST ] Testing -! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3721226582] Expected: Should print: 15 +[Hera] 15 +[Hera] 15 +[Hera] 15 +[Hera] 15 +[Hera] 15 +[Hera] [HADES][TEST ] [KRELTSC: 3735243270] Running -!.empty_stack: -! +[Hera] [HADES][TEST ] [KRELTSC: 3738042890] Expected error occurred +[Hera] [HADES][TEST ] Testing -! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3742897462] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 3748531806] -!: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 3754559180] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 3761186456] Testing word: 2! +[Hera] [HADES][TEST ] [KRELTSC: 3765725422] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 3770654684] Running 2!.basic: 11 22 HERE 2! HERE @ . HERE 8 + @ . CR +[Hera] 11 22 +[Hera] [HADES][TEST ] [KRELTSC: 3779727868] Test passed +[Hera] [HADES][TEST ] Testing 2! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3788366048] Expected: Should print: 22 11 +[Hera] 11 22 +[Hera] 11 22 [HADES][INFO ] [KRELTSC: 3797556034] L8[TABLE]: Config 13 → 14 regime=2 score=6553 L1=0 L2=0 L3=0 + +[Hera] 11 22 +[Hera] 11 22 +[Hera] 11 22 +[Hera] [HADES][TEST ] [KRELTSC: 3808145186] Running 2!.zeros: 0 0 HERE 2! HERE @ . HERE 8 + @ . CR +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 3816274642] Test passed +[Hera] [HADES][TEST ] Testing 2! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3824902492] Expected: Should print: 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 3839498404] Running 2!.negative: -1 -2 HERE 2! HERE @ . HERE 8 + @ . CR +[Hera] -1 -2 +[Hera] [HADES][TEST ] [KRELTSC: 3848444022] Test passed +[Hera] [HADES][TEST ] Testing 2! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3857009022] Expected: Should print: -2 -1 +[Hera] -1 -2 +[Hera] -1 -2 +[Hera] -1 -2 +[Hera] -1 -2 +[Hera] -1 -2 +[Hera] [HADES][TEST ] [KRELTSC: 3871743818] Running 2!.empty_stack: 2! +[Hera] [HADES][TEST ] [KRELTSC: 3876789964] Expected error occurred +[Hera] [HADES][TEST ] Testing 2! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3886185498] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 3891733394] 2!: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 3897336068] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 3903790930] Testing word: FILL +[Hera] [HADES][TEST ] [KRELTSC: 3908216972] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 3913143666] Running FILL.basic: HERE 8 65 FILL HERE C@ . HERE 1+ C@ . CR +[Hera] 65 65 +[Hera] [HADES][TEST ] [KRELTSC: 3921952574] Test passed +[Hera] [HADES][TEST ] Testing FILL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3932723660] Expected: Should print: 65 65 +[Hera] 65 65 +[Hera] 65 65 +[Hera] 65 65 +[Hera] 65 65 [HADES][INFO ] [KRELTSC: 3946247544] L8[TABLE]: Config 14 → 15 regime=2 score=6553 L1=0 L2=0 L3=0 + +[Hera] 65 65 +[Hera] [HADES][TEST ] [KRELTSC: 3951559618] Running FILL.zero_n: HERE 0 88 FILL +[Hera] [HADES][TEST ] [KRELTSC: 3956971672] Test passed +[Hera] [HADES][TEST ] Testing FILL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3965503560] Expected: Should do nothing +[Hera] [HADES][TEST ] [KRELTSC: 3970982736] Running FILL.zero_byte: HERE 4 0 FILL HERE C@ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 3978778680] Test passed +[Hera] [HADES][TEST ] Testing FILL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 3986747036] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 3998901920] Running FILL.empty_stack: FILL +[Hera] [HADES][TEST ] [KRELTSC: 4002202060] Expected error occurred +[Hera] [HADES][TEST ] Testing FILL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4009639770] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 4014966276] FILL: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 4020808078] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 4027644508] Testing word: MOVE +[Hera] [HADES][TEST ] [KRELTSC: 4032293756] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 4037254812] Running MOVE.basic: HERE 65 OVER C! HERE 1+ 66 OVER C! HERE H +[Hera] 65 66 +[Hera] [HADES][TEST ] [KRELTSC: 4047767084] Test passed +[Hera] [HADES][TEST ] Testing MOVE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4055891910] Expected: Should print: 65 66 +[Hera] 65 66 +[Hera] 65 66 +[Hera] 65 66 +[Hera] 65 66 +[Hera] 65 66 +[Hera] [HADES][TEST ] [KRELTSC: 4069850824] Running MOVE.zero_n: HERE HERE 8 + 0 MOVE +[Hera] [HADES][TEST ] [KRELTSC: 4075397064] Test passed +[Hera] [HADES][TEST ] Testing MOVE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4083494138] Expected: Should do nothing +[Hera] [HADES][INFO ] [KRELTSC: 4088722286] L8[TABLE]: Config 15 → 16 regime=2 score=26214 L1=0 L2=0 L3=1 +[Hera] [HADES][TEST ] [KRELTSC: 4095808278] Running MOVE.empty_stack: MOVE +[Hera] [HADES][TEST ] [KRELTSC: 4100764802] Expected error occurred +[Hera] [HADES][TEST ] Testing MOVE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4109584972] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 4115273786] MOVE: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 4121252316] ▶ Testing module: v3/src/test_runner/modules/memory_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 4128034780] Testing word: ERASE +[Hera] [HADES][TEST ] [KRELTSC: 4132790366] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 4137817168] Running ERASE.basic: HERE 4 65 FILL HERE 4 ERASE HERE C@ . HE +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 4146830874] Test passed +[Hera] [HADES][TEST ] Testing ERASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4156148682] Expected: Should print: 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 4171121338] Running ERASE.zero_n: HERE 0 ERASE +[Hera] [HADES][TEST ] [KRELTSC: 4176824532] Test passed +[Hera] [HADES][TEST ] Testing ERASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4185616316] Expected: Should do nothing +[Hera] [HADES][TEST ] [KRELTSC: 4191162514] Running ERASE.empty_stack: ERASE +[Hera] [HADES][TEST ] [KRELTSC: 4196603258] Expected error occurred +[Hera] [HADES][TEST ] Testing ERASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4206396480] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 4212854258] ERASE: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 4219070456] === Memory Words Summary: 0 passed, 0 failed, 0 skipped, 0 erro +[Hera] [HADES][INFO ] [KRELTSC: 4225384486] +[Hera] === Testing Module: Arithmetic Words === +[Hera] [HADES][INFO ] [KRELTSC: 4232715096] Running Arithmetic Words Tests (Module 5)... +[Hera] [HADES][TEST ] [KRELTSC: 4238662424] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 4245508692] Testing word: + +[Hera] [HADES][TEST ] [KRELTSC: 4250146008] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 4255100800] Running +.basic: 5 7 + . CR +[Hera] 12 +[Hera] [HADES][TEST ] [KRELTSC: 4261891280] Test passed +[Hera] [HADES][TEST ] Testing + ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4270528170] Expected: Should print: 12 +[Hera] 12 +[Hera] 12 +[Hera] 12 +[Hera] 12 +[Hera] 12 +[Hera] [HADES][TEST ] [KRELTSC: 4284792912] Running +.zero_add: 42 0 + . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 4290648588] Test passed +[Hera] [HADES][TEST ] Testing + ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4297261514] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 4309780428] Running +.negative: -5 3 + . CR +[Hera] -2 +[Hera] [HADES][TEST ] [KRELTSC: 4317213634] Test passed +[Hera] [HADES][TEST ] Testing + ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4325957806] Expected: Should print: -2 +[Hera] -2 +[Hera] -2 +[Hera] -2 +[Hera] -2 +[Hera] -2 +[Hera] [HADES][TEST ] [KRELTSC: 4340322098] Running +.both_negative: -5 -3 + . CR +[Hera] -8 +[Hera] [HADES][TEST ] [KRELTSC: 4347728636] Test passed +[Hera] [HADES][TEST ] Testing + ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4356086968] Expected: Should print: -8 +[Hera] -8 +[Hera] -8 +[Hera] -8 +[Hera] -8 +[Hera] [HADES][INFO ] [KRELTSC: 4377641082] L8[TABLE]: Config 16 → 18 regime=2 score=26214 L1=0 L2=0 L3=1 +[Hera] -8 +[Hera] [HADES][TEST ] [KRELTSC: 4383013602] Running +.overflow: 2147483647 1 + . CR +[Hera] 2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 4392325716] Test passed +[Hera] [HADES][TEST ] Testing + ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4400852384] Expected: Should overflow +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 4416876356] Running +.underflow: -2147483648 -1 + . CR +[Hera] -2147483649 +[Hera] [HADES][TEST ] [KRELTSC: 4425105140] Test passed +[Hera] [HADES][TEST ] Testing + ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4433686714] Expected: Should underflow +[Hera] -2147483649 +[Hera] -2147483649 +[Hera] -2147483649 +[Hera] -2147483649 +[Hera] -2147483649 +[Hera] [HADES][TEST ] [KRELTSC: 4450213164] Running +.empty_stack: + +[Hera] [HADES][ERROR] [KRELTSC: 4455309064] +: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 4460031050] Expected error occurred +[Hera] [HADES][TEST ] Testing + ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4469184668] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 4474828014] Running +.one_item: 42 + +[Hera] [HADES][ERROR] [KRELTSC: 4479887454] +: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 4484785356] Expected error occurred +[Hera] [HADES][TEST ] Testing + ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4494231152] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 4500179748] +: 8 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 4506171124] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 4513235398] Testing word: - +[Hera] [HADES][TEST ] [KRELTSC: 4517859142] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 4522900186] Running -.basic: 10 3 - . CR +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 4529509846] Test passed +[Hera] [HADES][TEST ] Testing - ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4538026776] Expected: Should print: 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 4552031610] Running -.zero_sub: 42 0 - . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 4559111356] Test passed +[Hera] [HADES][TEST ] Testing - ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4567620378] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 4581171908] Running -.from_zero: 0 5 - . CR +[Hera] -5 +[Hera] [HADES][TEST ] [KRELTSC: 4588405510] Test passed +[Hera] [HADES][TEST ] Testing - ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4597030278] Expected: Should print: -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] [HADES][TEST ] [KRELTSC: 4611229850] Running -.negative: 5 -3 - . CR +[Hera] 8 +[Hera] [HADES][TEST ] [KRELTSC: 4618711734] Test passed +[Hera] [HADES][TEST ] Testing - ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4627266940] Expected: Should print: 8 +[Hera] 8 +[Hera] 8 +[Hera] 8 +[Hera] 8 +[Hera] 8 +[Hera] [HADES][TEST ] [KRELTSC: 4640687308] Running -.same_values: 42 42 - . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 4647919580] Test passed +[Hera] [HADES][TEST ] Testing - ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4656501380] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 4670245442] Running -.overflow: -2147483648 1 - . CR +[Hera] -2147483649 +[Hera] [HADES][TEST ] [KRELTSC: 4679222172] Test passed +[Hera] [HADES][TEST ] Testing - ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4687417322] Expected: Should underflow +[Hera] -2147483649 +[Hera] -2147483649 +[Hera] -2147483649 +[Hera] -2147483649 +[Hera] -2147483649 +[Hera] [HADES][TEST ] [KRELTSC: 4702748396] Running -.underflow: 2147483647 -1 - . CR +[Hera] 2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 4710755288] Test passed +[Hera] [HADES][TEST ] Testing - ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4719220670] Expected: Should overflow +[Hera] 2147483648 +[Hera] [HADES][INFO ] [KRELTSC: 4726937976] L8[TABLE]: Config 18 → 19 regime=2 score=26214 L1=0 L2=0 L3=1 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 4742829470] Running -.empty_stack: - +[Hera] [HADES][ERROR] [KRELTSC: 4748014496] -: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 4752774348] Expected error occurred +[Hera] [HADES][TEST ] Testing - ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4762073070] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 4768071972] Running -.one_item: 42 - +[Hera] [HADES][ERROR] [KRELTSC: 4773183948] -: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 4777831908] Expected error occurred +[Hera] [HADES][TEST ] Testing - ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4786830954] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 4794268236] -: 9 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 4799837246] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 4806328728] Testing word: * +[Hera] [HADES][TEST ] [KRELTSC: 4810728232] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 4815493860] Running *.basic: 6 7 * . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 4822522708] Test passed +[Hera] [HADES][TEST ] Testing * ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4831101282] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 4844775570] Running *.by_zero: 42 0 * . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 4852056566] Test passed +[Hera] [HADES][TEST ] Testing * ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4856016418] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera][[39m 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 4862550580] Running *.by_one: 42 1 * . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 4868412806] Test passed +[Hera] [HADES][TEST ] Testing * ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4877295652] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 4890678248] Running *.by_negative: 6 -7 * . CR +[Hera] -42 +[Hera] [HADES][TEST ] [KRELTSC: 4897496106] Test passed +[Hera] [HADES][TEST ] Testing * ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4905288176] Expected: Should print: -42 +[Hera] -42 +[Hera] -42 +[Hera] -42 +[Hera] -42 +[Hera] -42 +[Hera] [HADES][TEST ] [KRELTSC: 4921744102] Running *.negative_negative: -6 -7 * . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 4930389988] Test passed +[Hera] [HADES][TEST ] Testing * ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4938980336] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 4954169296] Running *.large_numbers: 32767 2 * . CR +[Hera] 65534 +[Hera] [HADES][TEST ] [KRELTSC: 4963365938] Test passed +[Hera] [HADES][TEST ] Testing * ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 4970130304] Expected: Should print: 65534 +[Hera] 65534 +[Hera] 65534 +[Hera] 65534 +[Hera] 65534 +[Hera] 65534 +[Hera] [HADES][TEST ] [KRELTSC: 4984775090] Running *.overflow: 65536 65536 * . CR +[Hera] 4294967296 +[Hera] [HADES][TEST ] [KRELTSC: 4992864762] Test passed +[Hera] [HADES][TEST ] Testing * ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5000793100] Expected: May overflow +[Hera] 4294967296 +[Hera] 4294967296 +[Hera] 4294967296 +[Hera] 4294967296 +[Hera] 4294967296 +[Hera] [HADES][TEST ] [KRELTSC: 5016822126] Running *.empty_stack: * +[Hera] [HADES][ERROR] [KRELTSC: 5023307194] *: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5028217320] Expected error occurred +[Hera] [HADES][TEST ] Testing * ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5038317784] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5044199202] Running *.one_item: 42 * +[Hera] [HADES][ERROR] [KRELTSC: 5049025624] *: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5054740424] Expected error occurred +[Hera] [HADES][TEST ] Testing * ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5066476296] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5071391028] *: 9 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 5075216482] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 5084424896] Testing word: / +[Hera] [HADES][TEST ] [KRELTSC: 5089617214] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 5094922350] Running /.basic: 15 3 / . CR +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 5101614014] Test passed +[Hera] [HADES][TEST ] Testing / ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5110536086] Expected: Should print: 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] [HADES][INFO ] [KRELTSC: 5120390898] L8[TABLE]: Config 19 → 20 regime=2 score=26214 L1=0 L2=0 L3=1 +[Hera] 5 +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 5132856152] Running /.by_one: 42 1 / . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 5140405010] Test passed +[Hera] [HADES][TEST ] Testing / ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5149692668] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 5166792896] Running /.negative_dividend: -15 3 / . CR +[Hera] -5 +[Hera] [HADES][TEST ] [KRELTSC: 5174285700] Test passed +[Hera] [HADES][TEST ] Testing / ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5182972636] Expected: Should print: -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] [HADES][TEST ] [KRELTSC: 5196561130] Running /.negative_divisor: 15 -3 / . CR +[Hera] -5 +[Hera] [HADES][TEST ] [KRELTSC: 5204425380] Test passed +[Hera] [HADES][TEST ] Testing / ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5212953798] Expected: Should print: -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] [HADES][TEST ] [KRELTSC: 5226115264] Running /.both_negative: -15 -3 / . CR +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 5233602552] Test passed +[Hera] [HADES][TEST ] Testing / ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5240656396] Expected: Should print: 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 5254104236] Running /.truncation: 7 3 / . CR +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 5260807904] Test passed +[Hera] [HADES][TEST ] Testing / ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5268636734] Expected: Should print: 2 (truncated) +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 5281846892] Running /.by_zero: 42 0 / +[Hera] [HADES][ERROR] [KRELTSC: 5286697764] /: Division by zero +[Hera] [HADES][TEST ] [KRELTSC: 5291433784] Expected error occurred +[Hera] [HADES][TEST ] Testing / ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5302567018] Expected: Should cause division by zero +[Hera] [HADES][TEST ] [KRELTSC: 5308817264] Running /.empty_stack: / +[Hera] [HADES][ERROR] [KRELTSC: 5314162170] /: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5318884508] Expected error occurred +[Hera] [HADES][TEST ] Testing / ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5328476494] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5334386904] Running /.one_item: 42 / +[Hera] [HADES][ERROR] [KRELTSC: 5340103328] /: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5344832902] Expected error occurred +[Hera] [HADES][TEST ] Testing / ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5352635666] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5358544302] /: 9 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 5366287924] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 5374422918] Testing word: MOD +[Hera] [HADES][TEST ] [KRELTSC: 5379563182] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 5385489986] Running MOD.basic: 17 5 MOD . CR +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 5392998876] Test passed +[Hera] [HADES][TEST ] Testing MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5402294546] Expected: Should print: 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 5416444366] Running MOD.exact_division: 15 3 MOD . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 5423823636] Test passed +[Hera] [HADES][TEST ] Testing MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5432464528] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 5446239638] Running MOD.by_one: 42 1 MOD . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 5453456904] Test passed +[Hera] [HADES][TEST ] Testing MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5463263482] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 5479173632] Running MOD.negative_dividend: -17 5 MOD . CR +[Hera] [HADES][INFO ] [KRELTSC: 5485549974] L8[TABLE]: Config 20 → 21 regime=2 score=26214 L1=0 L2=0 L3=1 +[Hera] -2 +[Hera] [HADES][TEST ] [KRELTSC: 5493456164] Test passed +[Hera] [HADES][TEST ] Testing MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5502078996] Expected: Should handle negative +[Hera] -2 +[Hera] -2 +[Hera] -2 +[Hera] -2 +[Hera] -2 +[Hera] [HADES][TEST ] [KRELTSC: 5519532192] Running MOD.negative_divisor: 17 -5 MOD . CR +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 5528051908] Test passed +[Hera] [HADES][TEST ] Testing MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5536893282] Expected: Should handle negative +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 5554947300] Running MOD.small_by_large: 3 7 MOD . CR +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 5562615222] Test passed +[Hera] [HADES][TEST ] Testing MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5571161208] Expected: Should print: 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 5585601958] Running MOD.by_zero: 42 0 MOD +[Hera] [HADES][ERROR] [KRELTSC: 5590774142] MOD: Division by zero +[Hera] [HADES][TEST ] [KRELTSC: 5596435230] Expected error occurred +[Hera] [HADES][TEST ] Testing MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5606940112] Expected: Should cause division by zero +[Hera] [HADES][TEST ] [KRELTSC: 5613759304] Running MOD.empty_stack: MOD +[Hera] [HADES][ERROR] [KRELTSC: 5620329662] MOD: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5625252490] Expected error occurred +[Hera] [HADES][TEST ] Testing MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5634166112] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5639748682] Running MOD.one_item: 42 MOD +[Hera] [HADES][ERROR] [KRELTSC: 5645021534] MOD: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5651674518] Expected error occurred +[Hera] [HADES][TEST ] Testing MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5661346460] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5666957118] MOD: 9 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 5672468946] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 5679176800] Testing word: /MOD +[Hera] [HADES][TEST ] [KRELTSC: 5684080346] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 5689393408] Running /MOD.basic: 17 5 /MOD . . CR +[Hera] 3 2 +[Hera] [HADES][TEST ] [KRELTSC: 5697254536] Test passed +[Hera] [HADES][TEST ] Testing /MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5705613618] Expected: Should print: 3 2 +[Hera] 3 2 +[Hera] 3 2 +[Hera] 3 2 +[Hera] 3 2 +[Hera] 3 2 +[Hera] [HADES][TEST ] [KRELTSC: 5720317434] Running /MOD.exact: 15 3 /MOD . . CR +[Hera] 5 0 +[Hera] [HADES][TEST ] [KRELTSC: 5727505912] Test passed +[Hera] [HADES][TEST ] Testing /MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5736386610] Expected: Should print: 5 0 +[Hera] 5 0 +[Hera] 5 0 +[Hera] 5 0 +[Hera] 5 0 +[Hera] 5 0 +[Hera] [HADES][TEST ] [KRELTSC: 5751286496] Running /MOD.negative: -17 5 /MOD . . CR +[Hera] -3 -2 +[Hera] [HADES][TEST ] [KRELTSC: 5759719452] Test passed +[Hera] [HADES][TEST ] Testing /MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5768286164] Expected: Should handle negative dividend +[Hera] -3 -2 +[Hera] -3 -2 +[Hera] -3 -2 +[Hera] -3 -2 +[Hera] -3 -2 +[Hera] [HADES][TEST ] [KRELTSC: 5783826422] Running /MOD.by_zero: 42 0 /MOD +[Hera] [HADES][ERROR] [KRELTSC: 5789709098] /MOD: Division by zero +[Hera] [HADES][TEST ] [KRELTSC: 5794934304] Expected error occurred +[Hera] [HADES][TEST ] Testing /MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5804177640] Expected: Should cause division by zero +[Hera] [HADES][TEST ] [KRELTSC: 5810031562] Running /MOD.empty_stack: /MOD +[Hera] [HADES][ERROR] [KRELTSC: 5815468768] /MOD: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5820844844] Expected error occurred +[Hera] [HADES][TEST ] Testing /MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5831145816] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5837256660] Running /MOD.one_item: 42 /MOD +[Hera] [HADES][ERROR] [KRELTSC: 5842633422] /MOD: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5847575138] Expected error occurred +[Hera] [HADES][TEST ] Testing /MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5857068230] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 5863022198] /MOD: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 5869535160] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 5876614574] Testing word: ABS +[Hera] [HADES][TEST ] [KRELTSC: 5881336730] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 5886783860] Running ABS.positive: 42 ABS . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 5896280978] Test passed +[Hera] [HADES][TEST ] Testing ABS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5905119480] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 5918257028] Running ABS.negative: -42 ABS . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 5925465688] Test passed +[Hera] [HADES][TEST ] Testing ABS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5934553428] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 [HADES][INFO ] [KRELTSC: 5948883716] L8[TABLE]: Config 21 → 22 regime=2 score=26214 L1=0 L2=0 L3=1 + +[Hera] [HADES][TEST ] [KRELTSC: 5954676326] Running ABS.zero: 0 ABS . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 5961679122] Test passed +[Hera] [HADES][TEST ] Testing ABS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 5970557774] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 5983909168] Running ABS.min_int: -2147483648 ABS . CR +[Hera] 2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 5991267972] Test passed +[Hera] [HADES][TEST ] Testing ABS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6000293724] Expected: Should print: 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 6017161804] Running ABS.empty_stack: ABS +[Hera] [HADES][ERROR] [KRELTSC: 6022493568] ABS: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6027480978] Expected error occurred +[Hera] [HADES][TEST ] Testing ABS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6036489806] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6042338092] ABS: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 6047631500] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 6053908700] Testing word: NEGATE +[Hera] [HADES][TEST ] [KRELTSC: 6059269642] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 6065965908] Running NEGATE.positive: 42 NEGATE . CR +[Hera] -42 +[Hera] [HADES][TEST ] [KRELTSC: 6074195646] Test passed +[Hera] [HADES][TEST ] Testing NEGATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6081444294] Expected: Should print: -42 +[Hera] -42 +[Hera] -42 +[Hera] -42 +[Hera] -42 +[Hera] -42 +[Hera] [HADES][TEST ] [KRELTSC: 6095129028] Running NEGATE.negative: -42 NEGATE . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 6101582874] Test passed +[Hera] [HADES][TEST ] Testing NEGATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6112755734] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 6127717172] Running NEGATE.zero: 0 NEGATE . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 6137560568] Test passed +[Hera] [HADES][TEST ] Testing NEGATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6148973050] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 6164032950] Running NEGATE.min_int: -2147483648 NEGATE . CR +[Hera] 2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 6171155412] Test passed +[Hera] [HADES][TEST ] Testing NEGATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6182045090] Expected: Should print: 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 6197855760] Running NEGATE.empty_stack: NEGATE +[Hera] [HADES][ERROR] [KRELTSC: 6203744146] NEGATE: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6209540518] Expected error occurred +[Hera] [HADES][TEST ] Testing NEGATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6219611928] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6225120026] NEGATE: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 6231852722] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 6238913418] Testing word: MIN +[Hera] [HADES][TEST ] [KRELTSC: 6244122702] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 6250457622] Running MIN.basic: 5 3 MIN . CR +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 6257938536] Test passed +[Hera] [HADES][TEST ] Testing MIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6266709584] Expected: Should print: 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 6283019596] Running MIN.equal: 42 42 MIN . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 6291452438] Test passed +[Hera] [HADES][TEST ] Testing MIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6300081460] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 6315316948] Running MIN.negative: -5 -3 MIN . CR +[Hera] -5 +[Hera] [HADES][TEST ] [KRELTSC: 6323233900] Test passed +[Hera] [HADES][TEST ] Testing MIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6331501798] Expected: Should print: -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] [HADES][TEST ] [KRELTSC: 6345187064] Running MIN.mixed: -1 1 MIN . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 6353591238] Test passed +[Hera] [HADES][TEST ] Testing MIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6361580280] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 [HADES][INFO ] [KRELTSC: 6371177446] L8[TABLE]: Config 22 → 23 regime=2 score=52428 L1=0 L2=0 L3=1 + +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 6380547190] Running MIN.one_item: 42 MIN +[Hera] [HADES][ERROR] [KRELTSC: 6387297476] MIN: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6392108442] Expected error occurred +[Hera] [HADES][TEST ] Testing MIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6400693794] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6404293356] Running MIN.empty_stack: MIN +[Hera] [HADES][ERROR] [KRELTSC: 6407767120] MIN: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6412606812] Expected error occurred +[Hera] [HADES][TEST ] Testing MIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6423806912] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6429931536] MIN: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 6435919664] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 6443672750] Testing word: MAX +[Hera] [HADES][TEST ] [KRELTSC: 6448209680] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 6453023584] Running MAX.basic: 5 3 MAX . CR +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 6460711106] Test passed +[Hera] [HADES][TEST ] Testing MAX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6469510728] Expected: Should print: 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 6483042782] Running MAX.equal: 42 42 MAX . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 6491023216] Test passed +[Hera] [HADES][TEST ] Testing MAX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6499938664] Expected: Should print: 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 6512243128] Running MAX.negative: -5 -3 MAX . CR +[Hera] -3 +[Hera] [HADES][TEST ] [KRELTSC: 6519621814] Test passed +[Hera] [HADES][TEST ] Testing MAX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6527554542] Expected: Should print: -3 +[Hera] -3 +[Hera] -3 +[Hera] -3 +[Hera] -3 +[Hera] -3 +[Hera] [HADES][TEST ] [KRELTSC: 6541507410] Running MAX.mixed: -1 1 MAX . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 6545583874] Test passed +[Hera] [HADES][TEST ] Testing MAX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6551511044] Expected: Should print: 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 6563892356] Running MAX.one_item: 42 MAX +[Hera] [HADES][ERROR] [KRELTSC: 6569128686] MAX: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6574038346] Expected error occurred +[Hera] [HADES][TEST ] Testing MAX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6585745736] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6593901340] Running MAX.empty_stack: MAX +[Hera] [HADES][ERROR] [KRELTSC: 6600169650] MAX: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6604406806] Expected error occurred +[Hera] [HADES][TEST ] Testing MAX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6612644848] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6618299778] MAX: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 6624105826] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 6631150718] Testing word: 1+ +[Hera] [HADES][TEST ] [KRELTSC: 6636509548] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 6641353602] Running 1+.basic: 5 1+ . CR +[Hera] 6 +[Hera] [HADES][TEST ] [KRELTSC: 6648372298] Test passed +[Hera] [HADES][TEST ] Testing 1+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6656976464] Expected: Should print: 6 +[Hera] 6 +[Hera] 6 +[Hera] 6 +[Hera] 6 +[Hera] 6 +[Hera] [HADES][TEST ] [KRELTSC: 6671181420] Running 1+.zero: 0 1+ . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 6677470762] Test passed +[Hera] [HADES][TEST ] Testing 1+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6685881486] Expected: Should print: 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 6700763386] Running 1+.negative: -1 1+ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 6707803834] Test passed +[Hera] [HADES][TEST ] Testing 1+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6716244796] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 6729918286] Running 1+.chain: 3 1+ 1+ 1+ . CR +[Hera] 6 +[Hera] [HADES][TEST ] [KRELTSC: 6737519064] Test passed +[Hera] [HADES][TEST ] Testing 1+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6746274422] Expected: Should print: 6 +[Hera] 6 +[Hera] 6 +[Hera] 6 +[Hera] 6 +[Hera] 6 +[Hera] [HADES][TEST ] [KRELTSC: 6759924142] Running 1+.overflow: 2147483647 1+ . CR +[Hera] 2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 6766580686] Test passed +[Hera] [HADES][TEST ] Testing 1+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6774995654] Expected: Should overflow +[Hera] 2147483648 +[Hera] 2147483648 [HADES][INFO ] [KRELTSC: 6793452976] L8[TABLE]: Config 23 → 24 regime=2 score=6553 L1=0 L2=0 L3=1 + +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] 2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 6806062122] Running 1+.empty_stack: 1+ +[Hera] [HADES][ERROR] [KRELTSC: 6811129694] 1+: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6814968340] Expected error occurred +[Hera] [HADES][TEST ] Testing 1+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6825659534] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 6830952462] 1+: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 6838564562] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 6848015530] Testing word: 1- +[Hera] [HADES][TEST ] [KRELTSC: 6854163598] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 6860624480] Running 1-.basic: 5 1- . CR +[Hera] 4 +[Hera] [HADES][TEST ] [KRELTSC: 6869481596] Test passed +[Hera] [HADES][TEST ] Testing 1- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6879205280] Expected: Should print: 4 +[Hera] 4 +[Hera] 4 +[Hera] 4 +[Hera] 4 +[Hera] 4 +[Hera] [HADES][TEST ] [KRELTSC: 6895739392] Running 1-.to_zero: 1 1- . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 6905139846] Test passed +[Hera] [HADES][TEST ] Testing 1- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6916911120] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 6934396030] Running 1-.to_negative: 0 1- . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 6942646730] Test passed +[Hera] [HADES][TEST ] Testing 1- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6951356584] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 6965128140] Running 1-.chain: 6 1- 1- 1- . CR +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 6972245254] Test passed +[Hera] [HADES][TEST ] Testing 1- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 6984462392] Expected: Should print: 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 6999289510] Running 1-.underflow: -2147483648 1- . CR +[Hera] -2147483649 +[Hera] [HADES][TEST ] [KRELTSC: 7007560654] Test passed +[Hera] [HADES][TEST ] Testing 1- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7017519440] Expected: Should underflow +[Hera] -2147483649 +[Hera] -2147483649 +[Hera] -2147483649 +[Hera] -2147483649 +[Hera] -2147483649 +[Hera] [HADES][TEST ] [KRELTSC: 7033958976] Running 1-.empty_stack: 1- +[Hera] [HADES][ERROR] [KRELTSC: 7040184186] 1-: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7045750172] Expected error occurred +[Hera] [HADES][TEST ] Testing 1- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7055670810] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7061620006] 1-: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 7067252358] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 7073914386] Testing word: 2+ +[Hera] [HADES][TEST ] [KRELTSC: 7078151904] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 7082883016] Running 2+.basic: 5 2+ . CR +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 7089368062] Test passed +[Hera] [HADES][TEST ] Testing 2+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7098386316] Expected: Should print: 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 7111775456] Running 2+.zero: 0 2+ . CR +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 7119052380] Test passed +[Hera] [HADES][TEST ] Testing 2+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7127769552] Expected: Should print: 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 7141180996] Running 2+.negative: -3 2+ . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 7148076334] Test passed +[Hera] [HADES][TEST ] Testing 2+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7157991074] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 7170388910] Running 2+.empty_stack: 2+ +[Hera] [HADES][ERROR] [KRELTSC: 7175019822] 2+: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7179772084] Expected error occurred +[Hera] [HADES][TEST ] Testing 2+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7188687950] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7194866452] 2+: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 7200461102] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 7206621904] Testing word: 2- +[Hera] [HADES][TEST ] [KRELTSC: 7212127506] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 7217182832] Running 2-.basic: 7 2- . CR +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 7225100712] Test passed +[Hera] [HADES][TEST ] Testing 2- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7236595852] Expected: Should print: 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 7250667212] Running 2-.zero: 2 2- . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7258859594] Test passed +[Hera] [HADES][TEST ] Testing 2- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7268484122] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][INFO ] [KRELTSC: 7276180490] L8[TABLE]: Config 24 → 25 regime=2 score=6553 L1=0 L2=0 L3=1 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7287494942] Running 2-.negative: 0 2- . CR +[Hera] -2 +[Hera] [HADES][TEST ] [KRELTSC: 7295580438] Test passed +[Hera] [HADES][TEST ] Testing 2- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7305582516] Expected: Should print: -2 +[Hera] -2 +[Hera] -2 +[Hera] -2 +[Hera] -2 +[Hera] -2 +[Hera] [HADES][TEST ] [KRELTSC: 7318730190] Running 2-.empty_stack: 2- +[Hera] [HADES][ERROR] [KRELTSC: 7323801004] 2-: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7329033832] Expected error occurred +[Hera] [HADES][TEST ] Testing 2- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7338487250] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7344238978] 2-: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 7350047640] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 7356203346] Testing word: 2* +[Hera] [HADES][TEST ] [KRELTSC: 7360455422] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 7365059948] Running 2*.basic: 5 2* . CR +[Hera] 10 +[Hera] [HADES][TEST ] [KRELTSC: 7373236794] Test passed +[Hera] [HADES][TEST ] Testing 2* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7381844980] Expected: Should print: 10 +[Hera] 10 +[Hera] 10 +[Hera] 10 +[Hera] 10 +[Hera] 10 +[Hera] [HADES][TEST ] [KRELTSC: 7397644920] Running 2*.zero: 0 2* . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7405287490] Test passed +[Hera] [HADES][TEST ] Testing 2* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7413716652] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7427587224] Running 2*.negative: -3 2* . CR +[Hera] -6 +[Hera] [HADES][TEST ] [KRELTSC: 7435183866] Test passed +[Hera] [HADES][TEST ] Testing 2* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7443133500] Expected: Should print: -6 +[Hera] -6 +[Hera] -6 +[Hera] -6 +[Hera] -6 +[Hera] -6 +[Hera] [HADES][TEST ] [KRELTSC: 7456912312] Running 2*.one: 1 2* . CR +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 7460218162] Test passed +[Hera] [HADES][TEST ] Testing 2* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7466578122] Expected: Should print: 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 7479444452] Running 2*.large: 1073741823 2* . CR +[Hera] 2147483646 +[Hera] [HADES][TEST ] [KRELTSC: 7486380208] Test passed +[Hera] [HADES][TEST ] Testing 2* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7495293854] Expected: Should print: 2147483646 +[Hera] 2147483646 +[Hera] 2147483646 +[Hera] 2147483646 +[Hera] 2147483646 +[Hera] 2147483646 +[Hera] [HADES][TEST ] [KRELTSC: 7511855850] Running 2*.empty_stack: 2* +[Hera] [HADES][ERROR] [KRELTSC: 7516472276] 2*: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7520958464] Expected error occurred +[Hera] [HADES][TEST ] Testing 2* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7529291332] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7534954888] 2*: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 7541002034] ▶ Testing module: v3/src/test_runner/modules/arithmetic_words +[Hera] [HADES][TEST ] [KRELTSC: 7547821538] Testing word: 2/ +[Hera] [HADES][TEST ] [KRELTSC: 7552269506] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 7557218592] Running 2/.basic: 10 2/ . CR +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 7563898736] Test passed +[Hera] [HADES][TEST ] Testing 2/ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7571865902] Expected: Should print: 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 7584288606] Running 2/.odd: 7 2/ . CR +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 7592217036] Test passed +[Hera] [HADES][TEST ] Testing 2/ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7598831602] Expected: Should print: 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 7612627628] Running 2/.zero: 0 2/ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7619417992] Test passed +[Hera] [HADES][TEST ] Testing 2/ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7627805482] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7640359084] Running 2/.negative_even: -10 2/ . CR +[Hera] -5 +[Hera] [HADES][TEST ] [KRELTSC: 7648017184] Test passed +[Hera] [HADES][TEST ] Testing 2/ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7656319520] Expected: Should print: -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] [HADES][TEST ] [KRELTSC: 7669724588] Running 2/.one: 1 2/ . CR +[Hera] [HADES][INFO ] [KRELTSC: 7676262934] L8[TABLE]: Config 25 → 26 regime=2 score=6553 L1=0 L2=0 L3=1 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7685042178] Test passed +[Hera] [HADES][TEST ] Testing 2/ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7693546240] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7706153966] Running 2/.empty_stack: 2/ +[Hera] [HADES][ERROR] [KRELTSC: 7711592272] 2/: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7716859212] Expected error occurred +[Hera] [HADES][TEST ] Testing 2/ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7726989548] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7734156274] 2/: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 7740029540] === Arithmetic Words Summary: 0 passed, 0 failed, 0 skipped, 0 +[Hera] [HADES][INFO ] [KRELTSC: 7746780954] +[Hera] === Testing Module: Logical Words === +[Hera] [HADES][INFO ] [KRELTSC: 7753571516] Running Logical Words Tests (Module 8)... +[Hera] [HADES][TEST ] [KRELTSC: 7759357580] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 7765946450] Testing word: AND +[Hera] [HADES][TEST ] [KRELTSC: 7770491510] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 7775153970] Running AND.both_true: -1 -1 AND . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 7783286150] Test passed +[Hera] [HADES][TEST ] Testing AND ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7793758844] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 7807647410] Running AND.first_false: 0 -1 AND . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7814941104] Test passed +[Hera] [HADES][TEST ] Testing AND ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7824163914] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7837718208] Running AND.second_false: -1 0 AND . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7845310226] Test passed +[Hera] [HADES][TEST ] Testing AND ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7853921372] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7867525800] Running AND.both_false: 0 0 AND . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7874836958] Test passed +[Hera] [HADES][TEST ] Testing AND ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7883374346] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 7899601810] Running AND.bitwise: 85 51 AND . CR +[Hera] 17 +[Hera] [HADES][TEST ] [KRELTSC: 7908318638] Test passed +[Hera] [HADES][TEST ] Testing AND ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7917207590] Expected: Should print: 17 +[Hera] 17 +[Hera] 17 +[Hera] 17 +[Hera] 17 +[Hera] 17 +[Hera] [HADES][TEST ] [KRELTSC: 7931983044] Running AND.empty_stack: AND +[Hera] [HADES][ERROR] [KRELTSC: 7937377938] AND: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7942027350] Expected error occurred +[Hera] [HADES][TEST ] Testing AND ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7951141376] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7957606322] Running AND.one_item: 42 AND +[Hera] [HADES][ERROR] [KRELTSC: 7963855076] AND: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7968869188] Expected error occurred +[Hera] [HADES][TEST ] Testing AND ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 7977980542] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 7983950666] AND: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 7990020428] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 7997472352] Testing word: OR +[Hera] [HADES][TEST ] [KRELTSC: 8002216306] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 8007279468] Running OR.both_true: -1 -1 OR . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8015243202] Test passed +[Hera] [HADES][TEST ] Testing OR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8024088190] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8038934370] Running OR.first_false: 0 -1 OR . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8046263514] Test passed +[Hera] [HADES][TEST ] Testing OR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8054774878] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8069706750] Running OR.second_false: -1 0 OR . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8076553526] Test passed +[Hera] [HADES][TEST ] Testing OR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8084340066] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][INFO ] [KRELTSC: 8093926626] L8[TABLE]: Config 26 → 27 regime=2 score=6553 L1=0 L2=0 L3=1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8104533152] Running OR.both_false: 0 0 OR . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8111041734] Test passed +[Hera] [HADES][TEST ] Testing OR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8118646066] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8130191176] Running OR.bitwise: 85 51 OR . CR +[Hera] 119 +[Hera] [HADES][TEST ] [KRELTSC: 8137093106] Test passed +[Hera] [HADES][TEST ] Testing OR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8143726904] Expected: Should print: 119 +[Hera] 119 +[Hera] 119 +[Hera] 119 +[Hera] 119 +[Hera] 119 +[Hera] [HADES][TEST ] [KRELTSC: 8155137756] Running OR.empty_stack: OR +[Hera] [HADES][ERROR] [KRELTSC: 8159274904] OR: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8163009660] Expected error occurred +[Hera] [HADES][TEST ] Testing OR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8170766602] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8175350618] Running OR.one_item: 42 OR +[Hera] [HADES][ERROR] [KRELTSC: 8179327846] OR: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8182996310] Expected error occurred +[Hera] [HADES][TEST ] Testing OR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8190207530] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8195705940] OR: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 8203023070] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 8210177902] Testing word: XOR +[Hera] [HADES][TEST ] [KRELTSC: 8214802916] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 8219708448] Running XOR.both_true: -1 -1 XOR . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8227265416] Test passed +[Hera] [HADES][TEST ] Testing XOR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8236336992] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8250773124] Running XOR.first_false: 0 -1 XOR . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8258307272] Test passed +[Hera] [HADES][TEST ] Testing XOR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8266894130] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8281135958] Running XOR.second_false: -1 0 XOR . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8288078832] Test passed +[Hera] [HADES][TEST ] Testing XOR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8297017788] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8311096648] Running XOR.both_false: 0 0 XOR . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8318407402] Test passed +[Hera] [HADES][TEST ] Testing XOR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8326950392] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8340576578] Running XOR.bitwise: 85 51 XOR . CR +[Hera] 102 +[Hera] [HADES][TEST ] [KRELTSC: 8348522632] Test passed +[Hera] [HADES][TEST ] Testing XOR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8357664522] Expected: Should print: 102 +[Hera] 102 +[Hera] 102 +[Hera] 102 +[Hera] 102 +[Hera] 102 +[Hera] [HADES][TEST ] [KRELTSC: 8372075662] Running XOR.empty_stack: XOR +[Hera] [HADES][ERROR] [KRELTSC: 8378123270] XOR: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8384781306] Expected error occurred +[Hera] [HADES][TEST ] Testing XOR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8393636302] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8399597780] Running XOR.one_item: 42 XOR +[Hera] [HADES][ERROR] [KRELTSC: 8404833580] XOR: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8409754750] Expected error occurred +[Hera] [HADES][TEST ] Testing XOR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8422051148] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8431416348] XOR: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 8437528824] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 8445078384] Testing word: NOT +[Hera] [HADES][TEST ] [KRELTSC: 8451376198] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 8458247278] Running NOT.true: -1 NOT . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8467948582] Test passed +[Hera] [HADES][TEST ] Testing NOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8479804486] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8497940612] Running NOT.false: 0 NOT . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8506841556] Test passed +[Hera] [HADES][TEST ] Testing NOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8514159062] Expected: Should print: -1 +[Hera] [HADES][INFO ] [KRELTSC: 8520663924] L8[TABLE]: Config 27 → 28 regime=2 score=6553 L1=0 L2=0 L3=1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8538897802] Running NOT.positive: 42 NOT . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8547283670] Test passed +[Hera] [HADES][TEST ] Testing NOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8557122436] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8571600790] Running NOT.negative: -42 NOT . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8579207952] Test passed +[Hera] [HADES][TEST ] Testing NOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8590401928] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8608685428] Running NOT.empty_stack: NOT +[Hera] [HADES][ERROR] [KRELTSC: 8616509480] NOT: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8623706600] Expected error occurred +[Hera] [HADES][TEST ] Testing NOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8636323162] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8643954126] NOT: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 8651030534] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 8659169988] Testing word: = +[Hera] [HADES][TEST ] [KRELTSC: 8665282570] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 8670918844] Running =.equal: 42 42 = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8677984686] Test passed +[Hera] [HADES][TEST ] Testing = ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8686466712] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8700353938] Running =.not_equal: 42 43 = . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8706946200] Test passed +[Hera] [HADES][TEST ] Testing = ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8715674492] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8728432804] Running =.zero_equal: 0 0 = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8735563620] Test passed +[Hera] [HADES][TEST ] Testing = ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8744191580] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8756896822] Running =.negative_equal: -42 -42 = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8762758746] Test passed +[Hera] [HADES][TEST ] Testing = ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8772343754] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8786049922] Running =.negative_positive: -42 42 = . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8793216872] Test passed +[Hera] [HADES][TEST ] Testing = ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8801283972] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8812687388] Running =.empty_stack: = +[Hera] [HADES][ERROR] [KRELTSC: 8816353406] =: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8820876502] Expected error occurred +[Hera] [HADES][TEST ] Testing = ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8831060012] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8836789090] Running =.one_item: 42 = +[Hera] [HADES][ERROR] [KRELTSC: 8841684482] =: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8846262452] Expected error occurred +[Hera] [HADES][TEST ] Testing = ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8855117366] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 8860766678] =: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 8866432076] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 8873175848] Testing word: <> +[Hera] [HADES][TEST ] [KRELTSC: 8877484816] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 8881217022] Running <>.not_equal: 42 43 <> . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8887380960] Test passed +[Hera] [HADES][TEST ] Testing <> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8896000524] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8908997054] Running <>.equal: 42 42 <> . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8915890916] Test passed +[Hera] [HADES][TEST ] Testing <> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8924246446] Expected: Should print: 0 +[Hera] [HADES][INFO ] [KRELTSC: 8938681608] L8[TABLE]: Config 28 → 29 regime=2 score=6553 L1=0 L2=0 L3=1 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8952355346] Running <>.zero_equal: 0 0 <> . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8959370880] Test passed +[Hera] [HADES][TEST ] Testing <> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8968195618] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 8982043132] Running <>.negative: -42 42 <> . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 8989030308] Test passed +[Hera] [HADES][TEST ] Testing <> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 8994671202] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9009202640] Running <>.empty_stack: <> +[Hera] [HADES][ERROR] [KRELTSC: 9014347388] <>: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9019116360] Expected error occurred +[Hera] [HADES][TEST ] Testing <> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9028602084] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9034485044] Running <>.one_item: 42 <> +[Hera] [HADES][ERROR] [KRELTSC: 9039439690] <>: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9044483866] Expected error occurred +[Hera] [HADES][TEST ] Testing <> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9053592440] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9059921272] <>: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 9065802832] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 9072424486] Testing word: < +[Hera] [HADES][TEST ] [KRELTSC: 9077133658] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 9081866902] Running <.less_than: 5 7 < . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9087713058] Test passed +[Hera] [HADES][TEST ] Testing < ... PASS +[Heera] [HADES][TEST ] [KRELTSC: 9091654132] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9099018870] Running <.greater_than: 7 5 < . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9103109056] Test passed +[Hera] [HADES][TEST ] Testing < ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9110614724] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9123618074] Running <.equal: 5 5 < . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9129966144] Test passed +[Hera] [HADES][TEST ] Testing < ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9138914496] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9153290378] Running <.negative_positive: -5 5 < . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9161131530] Test passed +[Hera] [HADES][TEST ] Testing < ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9169582296] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9183675988] Running <.negative_negative: -7 -5 < . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9191316782] Test passed +[Hera] [HADES][TEST ] Testing < ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9200070364] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9213495834] Running <.empty_stack: < +[Hera] [HADES][ERROR] [KRELTSC: 9218755110] <: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9223566298] Expected error occurred +[Hera] [HADES][TEST ] Testing < ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9233246880] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9239732016] Running <.one_item: 42 < +[Hera] [HADES][ERROR] [KRELTSC: 9245265274] <: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9249925176] Expected error occurred +[Hera] [HADES][TEST ] Testing < ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9259674814] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9265620622] <: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 9271484550] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 9274975864] Testing word: > +[Hera] [HADES][TEST ] [KRELTSC: 9277014200] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 9281886462] Running >.greater_than: 7 5 > . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9290225030] Test passed +[Hera] [HADES][TEST ] Testing > ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9298821482] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][INFO ] [KRELTSC: 9306465284] L8[TABLE]: Config 29 → 30 regime=2 score=6553 L1=0 L2=0 L3=1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9316934840] Running >.less_than: 5 7 > . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9324131872] Test passed +[Hera] [HADES][TEST ] Testing > ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9332865488] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9347138936] Running >.equal: 5 5 > . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9353969058] Test passed +[Hera] [HADES][TEST ] Testing > ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9362507628] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9376918746] Running >.positive_negative: 5 -5 > . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9384670950] Test passed +[Hera] [HADES][TEST ] Testing > ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9392172774] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9407555850] Running >.negative_negative: -5 -7 > . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9414719240] Test passed +[Hera] [HADES][TEST ] Testing > ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9422594430] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9439379546] Running >.empty_stack: > +[Hera] [HADES][ERROR] [KRELTSC: 9445714472] >: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9451646308] Expected error occurred +[Hera] [HADES][TEST ] Testing > ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9461784360] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9469092952] Running >.one_item: 42 > +[Hera] [HADES][ERROR] [KRELTSC: 9475549292] >: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9479873920] Expected error occurred +[Hera] [HADES][TEST ] Testing > ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9486185806] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9491696338] >: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 9497444554] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 9504467990] Testing word: 0= +[Hera] [HADES][TEST ] [KRELTSC: 9508993506] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 9514032672] Running 0=.zero: 0 0= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9520632186] Test passed +[Hera] [HADES][TEST ] Testing 0= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9529366076] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9547066718] Running 0=.positive: 42 0= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9556710124] Test passed +[Hera] [HADES][TEST ] Testing 0= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9566825512] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9583769978] Running 0=.negative: -42 0= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9592829290] Test passed +[Hera] [HADES][TEST ] Testing 0= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9603657922] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9620941384] Running 0=.empty_stack: 0= +[Hera] [HADES][ERROR] [KRELTSC: 9626457616] 0=: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9631439300] Expected error occurred +[Hera] [HADES][TEST ] Testing 0= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9645350442] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9653765142] 0=: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 9661488466] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 9671215002] Testing word: 0< +[Hera] [HADES][TEST ] [KRELTSC: 9677235336] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 9684353458] Running 0<.negative: -42 0< . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9695352370] Test passed +[Hera] [HADES][TEST ] Testing 0< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9706912720] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9725272906] Running 0<.zero: 0 0< . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9733197966] Test passed +[Hera] [HADES][TEST ] Testing 0< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9743758702] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][INFO ] [KRELTSC: 9777432396] L8[TABLE]: Config 30 → 31 regime=2 score=6553 L1=0 L2=0 L3=1 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9786428962] Running 0<.positive: 42 0< . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9796061746] Test passed +[Hera] [HADES][TEST ] Testing 0< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9808582552] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9827033830] Running 0<.empty_stack: 0< +[Hera] [HADES][ERROR] [KRELTSC: 9834257680] 0<: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9840851290] Expected error occurred +[Hera] [HADES][TEST ] Testing 0< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9852865602] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 9860705894] 0<: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 9869171760] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 9877901010] Testing word: 0> +[Hera] [HADES][TEST ] [KRELTSC: 9883394118] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 9890064186] Running 0>.positive: 42 0> . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9899547288] Test passed +[Hera] [HADES][TEST ] Testing 0> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9911390498] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 9928123812] Running 0>.zero: 0 0> . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9937154816] Test passed +[Hera] [HADES][TEST ] Testing 0> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9949514974] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9967127288] Running 0>.negative: -42 0> . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 9973959484] Test passed +[Hera] [HADES][TEST ] Testing 0> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 9982685096] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10000281886] Running 0>.empty_stack: 0> +[Hera] [HADES][ERROR] [KRELTSC: 10007322880] 0>: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 10013629728] Expected error occurred +[Hera] [HADES][TEST ] Testing 0> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10024597404] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 10031557446] 0>: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 10040427078] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 10049930502] Testing word: 0<> +[Hera] [HADES][TEST ] [KRELTSC: 10056236916] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 10063057688] Running 0<>.nonzero_pos: 42 0<> . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10071958936] Test passed +[Hera] [HADES][TEST ] Testing 0<> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10083790404] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10103173832] Running 0<>.nonzero_neg: -1 0<> . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10113124064] Test passed +[Hera] [HADES][TEST ] Testing 0<> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10124566290] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10141440554] Running 0<>.zero: 0 0<> . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10148863476] Test passed +[Hera] [HADES][TEST ] Testing 0<> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10158842108] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10172435562] Running 0<>.empty_stack: 0<> +[Hera] [HADES][ERROR] [KRELTSC: 10177531674] 0<>: stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 10181897488] Expected error occurred +[Hera] [HADES][TEST ] Testing 0<> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10190424158] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 10196219162] 0<>: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 10202080750] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 10209861930] Testing word: U< +[Hera] [HADES][TEST ] [KRELTSC: 10214451410] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 10219073546] Running U<.less: 3 5 U< . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10225733108] Test passed +[Hera] [HADES][TEST ] Testing U< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10236594150] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10249279914] Running U<.equal: 5 5 U< . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10257701818] Test passed +[Hera] [HADES][TEST ] Testing U< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10269212472] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10284905132] Running U<.greater: 7 5 U< . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10294297496] Test passed +[Hera] [HADES][TEST ] Testing U< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10306668882] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][INFO ] [KRELTSC: 10321972906] L8[TABLE]: Config 31 → 32 regime=2 score=26214 L1=0 L2=1 L3=0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10339666084] Running U<.zero_one: 0 1 U< . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10349964694] Test passed +[Hera] [HADES][TEST ] Testing U< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10361292036] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10377644768] Running U<.empty_stack: U< +[Hera] [HADES][ERROR] [KRELTSC: 10385147234] U<: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 10390362072] Expected error occurred +[Hera] [HADES][TEST ] Testing U< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10401094670] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 10409438842] U<: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 10418735604] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 10428934728] Testing word: U> +[Hera] [HADES][TEST ] [KRELTSC: 10433606820] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 10438246260] Running U>.greater: 5 3 U> . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10447252652] Test passed +[Hera] [HADES][TEST ] Testing U> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10456185912] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10470302374] Running U>.equal: 5 5 U> . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10477389468] Test passed +[Hera] [HADES][TEST ] Testing U> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10485427740] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10498428658] Running U>.less: 3 5 U> . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10504895256] Test passed +[Hera] [HADES][TEST ] Testing U> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10513506752] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10526231244] Running U>.one_zero: 1 0 U> . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10532807768] Test passed +[Hera] [HADES][TEST ] Testing U> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10540668582] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10554358774] Running U>.empty_stack: U> +[Hera] [HADES][ERROR] [KRELTSC: 10560941046] U>: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 10565255970] Expected error occurred +[Hera] [HADES][TEST ] Testing U> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10573874898] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 10579181538] U>: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 10584555858] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 10592001642] Testing word: WITHIN +[Hera] [HADES][TEST ] [KRELTSC: 10597512718] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 10602426330] Running WITHIN.in_range: 3 1 5 WITHIN . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10610160056] Test passed +[Hera] [HADES][TEST ] Testing WITHIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10618802268] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10623614056] Running WITHIN.at_low: 1 1 5 WITHIN . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10627989662] Test passed +[Hera] [HADES][TEST ] Testing WITHIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10632064286] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10643386944] Running WITHIN.at_high: 5 1 5 WITHIN . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10651105936] Test passed +[Hera] [HADES][TEST ] Testing WITHIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10660463192] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][INFO ] [KRELTSC: 10670863374] L8[TABLE]: Config 32 → 33 regime=2 score=26214 L1=0 L2=1 L3=0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10686762746] Running WITHIN.below: 0 1 5 WITHIN . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10693794256] Test passed +[Hera] [HADES][TEST ] Testing WITHIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10701918488] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10715759684] Running WITHIN.above: 6 1 5 WITHIN . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10723224712] Test passed +[Hera] [HADES][TEST ] Testing WITHIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10732981020] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10746379236] Running WITHIN.empty_stack: WITHIN +[Hera] [HADES][ERROR] [KRELTSC: 10751957240] WITHIN: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 10757500790] Expected error occurred +[Hera] [HADES][TEST ] Testing WITHIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10766641312] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 10772251956] WITHIN: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 10778317496] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 10784872374] Testing word: TRUE +[Hera] [HADES][TEST ] [KRELTSC: 10789770598] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 10794784286] Running TRUE.value: TRUE . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10801736034] Test passed +[Hera] [HADES][TEST ] Testing TRUE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10810252550] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10824050688] Running TRUE.as_flag: TRUE 0= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10831052034] Test passed +[Hera] [HADES][TEST ] Testing TRUE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10838680062] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10852088546] Running TRUE.in_and: TRUE TRUE AND . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10859666662] Test passed +[Hera] [HADES][TEST ] Testing TRUE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10868261624] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10882331992] TRUE: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 10888429604] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 10897494796] Testing word: FALSE +[Hera] [HADES][TEST ] [KRELTSC: 10902369218] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 10907400770] Running FALSE.value: FALSE . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10915657032] Test passed +[Hera] [HADES][TEST ] Testing FALSE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10924359746] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 10937876116] Running FALSE.as_flag: FALSE 0= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10944956580] Test passed +[Hera] [HADES][TEST ] Testing FALSE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10953341498] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10966331790] Running FALSE.in_or: TRUE FALSE OR . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10972851032] Test passed +[Hera] [HADES][TEST ] Testing FALSE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 10981229564] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 10994089494] FALSE: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 10999397560] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 11005316904] Testing word: >= +[Hera] [HADES][TEST ] [KRELTSC: 11009718132] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 11014334680] Running >=.less: 3 5 >= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 11020543264] Test passed +[Hera] [HADES][TEST ] Testing >= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11028083944] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][INFO ] [KRELTSC: 11039841716] L8[TABLE]: Config 33 → 34 regime=2 score=26214 L1=0 L2=1 L3=0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 11048214572] Running >=.greater: 5 3 >= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11055342174] Test passed +[Hera] [HADES][TEST ] Testing >= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11063305332] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11076914838] Running >=.equal: 3 3 >= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11083802432] Test passed +[Hera] [HADES][TEST ] Testing >= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11091872108] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11105924152] Running >=.negative: -1 0 >= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 11112650578] Test passed +[Hera] [HADES][TEST ] Testing >= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11120604824] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 11133911594] Running >=.neg_neg: -1 -2 >= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11141016704] Test passed +[Hera] [HADES][TEST ] Testing >= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11149079478] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11162519592] Running >=.underflow: >= +[Hera] [HADES][ERROR] [KRELTSC: 11167536810] >=: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 11172175846] Expected error occurred +[Hera] [HADES][TEST ] Testing >= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11180767948] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 11186277960] >=: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 11192422284] ▶ Testing module: v3/src/test_runner/modules/logical_words_te +[Hera] [HADES][TEST ] [KRELTSC: 11198929516] Testing word: <= +[Hera] [HADES][TEST ] [KRELTSC: 11202847678] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 11207437470] Running <=.less: 3 5 <= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11214019938] Test passed +[Hera] [HADES][TEST ] Testing <= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11222198292] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11234922884] Running <=.greater: 5 3 <= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 11242270690] Test passed +[Hera] [HADES][TEST ] Testing <= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11252437150] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 11268158092] Running <=.equal: 3 3 <= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11275852912] Test passed +[Hera] [HADES][TEST ] Testing <= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11286857584] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11304479040] Running <=.negative: -1 0 <= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11313630452] Test passed +[Hera] [HADES][TEST ] Testing <= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11322844832] Expected: Should print: -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11337387424] Running <=.neg_neg: -2 -1 <= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11345515894] Test passed +[Hera] [HADES][TEST ] Testing <= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11355568984] Expected: Should print: -1 +[Hera] -1 +[Hera] [HADES][INFO ] [KRELTSC: 11364568902] L8[TABLE]: Config 34 → 35 regime=2 score=52428 L1=0 L2=1 L3=0 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 11380876314] Running <=.underflow: <= +[Hera] [HADES][ERROR] [KRELTSC: 11386553102] <=: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 11392715402] Expected error occurred +[Hera] [HADES][TEST ] Testing <= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11404963552] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 11412923988] <=: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 11420873364] === Logical Words Summary: 0 passed, 0 failed, 0 skipped, 0 err +[Hera] [HADES][INFO ] [KRELTSC: 11430153544] +[Hera] === Testing Module: Mixed Arithmetic Words === +[Hera] [HADES][INFO ] [KRELTSC: 11440321828] Running Mixed Arithmetic Words Tests (Module 7)... +[Hera] [HADES][TEST ] [KRELTSC: 11449029060] ▶ Testing module: v3/src/test_runner/modules/mixed_arithmetic +[Hera] [HADES][TEST ] [KRELTSC: 11457775530] Testing word: */ +[Hera] [HADES][TEST ] [KRELTSC: 11463724158] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 11470177042] Running */.basic: 6 7 4 */ . CR +[Hera] 10 +[Hera] [HADES][TEST ] [KRELTSC: 11479776886] Test passed +[Hera] [HADES][TEST ] Testing */ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11490785190] Expected: Should print: 10 (6*7/4) +[Hera] [HADES][TEST ] [KRELTSC: 11498290256] Running */.exact_division: 12 5 3 */ . CR +[Hera] 20 +[Hera] [HADES][TEST ] [KRELTSC: 11508367086] Test passed +[Hera] [HADES][TEST ] Testing */ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11519721074] Expected: Should print: 20 (12*5/3) +[Hera] [HADES][TEST ] [KRELTSC: 11527646276] Running */.zero_multiply: 0 999 123 */ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 11536957180] Test passed +[Hera] [HADES][TEST ] Testing */ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11546861732] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 11553476196] Running */.by_one: 42 5 1 */ . CR +[Hera] 210 +[Hera] [HADES][TEST ] [KRELTSC: 11562568464] Test passed +[Hera] [HADES][TEST ] Testing */ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11573752382] Expected: Should print: 210 (42*5/1) +[Hera] [HADES][TEST ] [KRELTSC: 11581436326] Running */.truncation: 7 3 2 */ . CR +[Hera] 10 +[Hera] [HADES][TEST ] [KRELTSC: 11590977474] Test passed +[Hera] [HADES][TEST ] Testing */ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11602358134] Expected: Should print: 10 (21/2 truncated) +[Hera] [HADES][TEST ] [KRELTSC: 11609891508] Running */.negative_multiply: -6 7 4 */ . CR +[Hera] -10 +[Hera] [HADES][TEST ] [KRELTSC: 11619901456] Test passed +[Hera] [HADES][TEST ] Testing */ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11631049980] Expected: Should print: -10 +[Hera] [HADES][TEST ] [KRELTSC: 11637507628] Running */.negative_divisor: 6 7 -4 */ . CR +[Hera] -10 +[Hera] [HADES][TEST ] [KRELTSC: 11647603254] Test passed +[Hera] [HADES][TEST ] Testing */ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11656985428] Expected: Should print: -10 +[Hera] [HADES][TEST ] [KRELTSC: 11662259838] Running */.div_by_zero: 6 7 0 */ +[Hera] [HADES][ERROR] [KRELTSC: 11666903354] */: Division by zero +[Hera] [HADES][TEST ] [KRELTSC: 11671128692] Expected error occurred +[Hera] [HADES][TEST ] Testing */ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11678812892] Expected: Should cause division by zero +[Hera] [HADES][TEST ] [KRELTSC: 11682585878] Running */.empty_stack: */ +[Hera] [HADES][ERROR] [KRELTSC: 11686642082] */: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 11691180152] Expected error occurred +[Hera] [HADES][TEST ] Testing */ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11700070044] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 11705691170] Running */.two_items: 1 2 */ +[Hera] [HADES][ERROR] [KRELTSC: 11711301252] */: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 11714515470] Expected error occurred +[Hera] [HADES][TEST ] Testing */ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11721589272] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 11728643916] */: 10 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 11738169870] ▶ Testing module: v3/src/test_runner/modules/mixed_arithmetic +[Hera] [HADES][TEST ] [KRELTSC: 11745190376] Testing word: */MOD +[Hera] [HADES][TEST ] [KRELTSC: 11749805062] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 11754865126] Running */MOD.basic: 17 3 5 */MOD . . CR +[Hera] 10 1 +[Hera] [HADES][TEST ] [KRELTSC: 11761731012] Test passed +[Hera] [HADES][TEST ] Testing */MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11771217200] Expected: Should print: 1 10 (51/5 = 10 rem 1) +[Hera] [HADES][TEST ] [KRELTSC: 11776958432] Running */MOD.exact_division: 15 4 3 */MOD . . CR +[Hera] 20 0 +[Hera] [HADES][TEST ] [KRELTSC: 11784738610] Test passed +[Hera] [HADES][TEST ] Testing */MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11792721256] Expected: Should print: 0 20 (60/3 = 20 rem 0) +[Hera] [HADES][TEST ] [KRELTSC: 11798670914] Running */MOD.zero_multiply: 0 999 123 */MOD . . CR +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 11806255680] Test passed +[Hera] [HADES][TEST ] Testing */MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11820208134] Expected: Should print: 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 11830856360] Running */MOD.by_one: 42 5 1 */MOD . . CR +[Hera] 210 0 +[Hera] [HADES][TEST ] [KRELTSC: 11837740210] Test passed +[Hera] [HADES][TEST ] Testing */MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11845863562] Expected: Should print: 0 210 +[Hera] [HADES][TEST ] [KRELTSC: 11851215804] Running */MOD.remainder: 7 8 5 */MOD . . CR +[Hera] 11 1 +[Hera] [HADES][TEST ] [KRELTSC: 11857292520] Test passed +[Hera] [HADES][TEST ] Testing */MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11864556672] Expected: Should print: 1 11 (56/5 = 11 rem 1) +[Hera] [HADES][TEST ] [KRELTSC: 11870660098] Running */MOD.negative: -7 3 4 */MOD . . CR +[Hera] -5 -1 +[Hera] [HADES][TEST ] [KRELTSC: 11878612060] Test passed +[Hera] [HADES][TEST ] Testing */MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11886750382] Expected: Should handle negative +[Hera] [HADES][TEST ] [KRELTSC: 11892629350] Running */MOD.div_by_zero: 6 7 0 */MOD +[Hera] [HADES][ERROR] [KRELTSC: 11898778860] */MOD: Division by zero +[Hera] [HADES][TEST ] [KRELTSC: 11903615856] Expected error occurred +[Hera] [HADES][TEST ] Testing */MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11912588150] Expected: Should cause division by zero +[Hera] [HADES][TEST ] [KRELTSC: 11917603018] Running */MOD.empty_stack: */MOD +[Hera] [HADES][ERROR] [KRELTSC: 11922813682] */MOD: Stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 11927566078] Expected error occurred +[Hera] [HADES][TEST ] Testing */MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11935938434] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 11942170010] */MOD: 8 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 11948445432] ▶ Testing module: v3/src/test_runner/modules/mixed_arithmetic +[Hera] [HADES][TEST ] [KRELTSC: 11955344324] Testing word: M+ +[Hera] [HADES][TEST ] [KRELTSC: 11960104506] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 11965298684] Running M+.basic: 0 100 200 M+ . . CR +[Hera] 300 0 +[Hera] [HADES][TEST ] [KRELTSC: 11972902062] Test passed +[Hera] [HADES][TEST ] Testing M+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 11980899032] Expected: Should print: 200 100 +[Hera] [HADES][TEST ] [KRELTSC: 11985681114] Running M+.overflow: 0 2147483647 1 M+ . . CR +[Hera] 2147483648 0 +[Hera] [HADES][TEST ] [KRELTSC: 11993483908] Test passed +[Hera] [HADES][TEST ] Testing M+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12002940898] Expected: Should handle overflow +[Hera] [HADES][TEST ] [KRELTSC: 12008430254] Running M+.negative: 0 -100 50 M+ . . CR +[Hera] -50 0 +[Hera] [HADES][TEST ] [KRELTSC: 12016166012] Test passed +[Hera] [HADES][TEST ] Testing M+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12024510086] Expected: Should print: 50 -100 +[Hera] [HADES][TEST ] [KRELTSC: 12031050644] Running M+.zero_add: 0 42 0 M+ . . CR +[Hera] 42 0 +[Hera] [HADES][TEST ] [KRELTSC: 12038612140] Test passed +[Hera] [HADES][TEST ] Testing M+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12049527360] Expected: Should print: 0 42 +[Hera] [HADES][TEST ] [KRELTSC: 12055497228] Running M+.both_negative: 0 -100 -200 M+ . . CR +[Hera] -300 0 +[Hera] [HADES][TEST ] [KRELTSC: 12063963530] Test passed +[Hera] [HADES][TEST ] Testing M+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12073078992] Expected: Should print: -200 -100 +[Hera] [HADES][TEST ] [KRELTSC: 12079334492] Running M+.empty_stack: M+ +[Hera] [HADES][TEST ] [KRELTSC: 12084858976] Expected error occurred +[Hera] [HADES][TEST ] Testing M+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12095022278] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 12101256400] Running M+.one_item: 42 M+ +[Hera] [HADES][TEST ] [KRELTSC: 12105703478] Expected error occurred +[Hera] [HADES][TEST ] Testing M+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12117725632] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 12123511866] M+: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 12129501226] ▶ Testing module: v3/src/test_runner/modules/mixed_arithmetic +[Hera] [HADES][TEST ] [KRELTSC: 12136027102] Testing word: M* +[Hera] [HADES][TEST ] [KRELTSC: 12139208952] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 12142177036] Running M*.basic: 123 456 M* . . CR +[Hera] 0 56088 +[Hera] [HADES][TEST ] [KRELTSC: 12150001448] Test passed +[Hera] [HADES][TEST ] Testing M* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12159064916] Expected: Should print: 56088 0 +[Hera] [HADES][TEST ] [KRELTSC: 12163833262] Running M*.by_zero: 999 0 M* . . CR +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 12171218842] Test passed +[Hera] [HADES][TEST ] Testing M* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12180268254] Expected: Should print: 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 12185978802] Running M*.by_one: 42 1 M* . . CR +[Hera] 0 42 +[Hera] [HADES][TEST ] [KRELTSC: 12193816146] Test passed +[Hera] [HADES][TEST ] Testing M* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12200942968] Expected: Should print: 42 0 +[Hera] [HADES][TEST ] [KRELTSC: 12206593068] Running M*.negative: -123 456 M* . . CR +[Hera] -1 -56088 +[Hera] [HADES][TEST ] [KRELTSC: 12214601054] Test passed +[Hera] [HADES][TEST ] Testing M* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12223571352] Expected: Should print: -56088 -1 +[Hera] [HADES][TEST ] [KRELTSC: 12229237274] Running M*.large_multiply: 65536 65536 M* . . CR +[Hera] 0 4294967296 +[Hera] [HADES][TEST ] [KRELTSC: 12238129176] Test passed +[Hera] [HADES][TEST ] Testing M* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12245939332] Expected: Should handle large result +[Hera] [HADES][TEST ] [KRELTSC: 12254022896] Running M*.both_negative: -100 -200 M* . . CR +[Hera] 0 20000 +[Hera] [HADES][TEST ] [KRELTSC: 12265091160] Test passed +[Hera] [HADES][TEST ] Testing M* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12276209362] Expected: Should print: 20000 0 +[Hera] [HADES][TEST ] [KRELTSC: 12281558952] Running M*.empty_stack: M* +[Hera] [HADES][TEST ] [KRELTSC: 12287113328] Expected error occurred +[Hera] [HADES][TEST ] Testing M* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12299556150] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 12307264008] Running M*.one_item: 42 M* +[Hera] [HADES][TEST ] [KRELTSC: 12314303834] Expected error occurred +[Hera] [HADES][TEST ] Testing M* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12325099396] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 12331786912] M*: 8 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 12336555466] ▶ Testing module: v3/src/test_runner/modules/mixed_arithmetic +[Hera] [HADES][TEST ] [KRELTSC: 12340638596] Testing word: M/MOD +[Hera] [HADES][TEST ] [KRELTSC: 12346382352] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 12351578862] Running M/MOD.basic: 0 1000 100 M/MOD . . CR +[Hera] 10 0 +[Hera] [HADES][TEST ] [KRELTSC: 12360073770] Test passed +[Hera] [HADES][TEST ] Testing M/MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12368732444] Expected: Should print: 0 10 (1000/100) +[Hera] [HADES][TEST ] [KRELTSC: 12375351692] Running M/MOD.with_remainder: 0 1234 100 M/MOD . . CR +[Hera] 12 34 +[Hera] [HADES][TEST ] [KRELTSC: 12383900484] Test passed +[Hera] [HADES][TEST ] Testing M/MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12393458752] Expected: Should handle remainder +[Hera] [HADES][TEST ] [KRELTSC: 12399342262] Running M/MOD.double_dividend: 5001 0 10 M/MOD . . CR +[Hera] 1844674407370955161 6 +[Hera] [HADES][TEST ] [KRELTSC: 12410910130] Test passed +[Hera] [HADES][TEST ] Testing M/MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12420688420] Expected: Should print: 1 500 (5001/10) +[Hera] [HADES][TEST ] [KRELTSC: 12426666764] Running M/MOD.by_one: 0 42 1 M/MOD . . CR +[Hera] 42 0 +[Hera] [HADES][TEST ] [KRELTSC: 12435461018] Test passed +[Hera] [HADES][TEST ] Testing M/MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12445187398] Expected: Should print: 0 42 +[Hera] [HADES][TEST ] [KRELTSC: 12452458718] Running M/MOD.negative_dividend: -1 1000 100 M/MOD . . CR +[Hera] -184467440737095506 -16 +[Hera] [HADES][TEST ] [KRELTSC: 12465066326] Test passed +[Hera] [HADES][TEST ] Testing M/MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12476418218] Expected: Should handle negative +[Hera] [HADES][TEST ] [KRELTSC: 12483737352] Running M/MOD.div_by_zero: 0 100 0 M/MOD +[Hera] [HADES][TEST ] [KRELTSC: 12491819078] Expected error occurred +[Hera] [HADES][TEST ] Testing M/MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12504426494] Expected: Should cause division by zero +[Hera] [HADES][TEST ] [KRELTSC: 12512191318] Running M/MOD.empty_stack: M/MOD +[Hera] [HADES][TEST ] [KRELTSC: 12520146884] Expected error occurred +[Hera] [HADES][TEST ] Testing M/MOD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12532459156] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 12540047480] M/MOD: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 12548047010] === Mixed Arithmetic Words Summary: 0 passed, 0 failed, 0 skipp +[Hera] [HADES][INFO ] [KRELTSC: 12557687576] +[Hera] === Testing Module: Double Words === +[Hera] [HADES][INFO ] [KRELTSC: 12566314122] Running Double Number Words Tests (Module 6)... +[Hera] [HADES][TEST ] [KRELTSC: 12572308244] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 12581765246] Testing word: 2DROP +[Hera] [HADES][TEST ] [KRELTSC: 12584991870] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 12589182016] Running 2DROP.basic: 1 2 3 4 2DROP . . CR +[Hera] 2 1 +[Hera] [HADES][TEST ] [KRELTSC: 12598055484] Test passed +[Hera] [HADES][TEST ] Testing 2DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12607848960] Expected: Should print: 1 2 +[Hera] [HADES][TEST ] [KRELTSC: 12612962014] Running 2DROP.zeros: 0 0 42 99 2DROP . . CR +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 12621244192] Test passed +[Hera] [HADES][TEST ] Testing 2DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12630070684] Expected: Should print: 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 12635667542] Running 2DROP.negative: -1 -2 100 200 2DROP . . CR +[Hera] -2 -1 +[Hera] [HADES][INFO ] [KRELTSC: 12654331472] L8[TABLE]: Config 35 → 36 regime=2 score=26214 L1=0 L2=1 L3=0 +[Hera] [HADES][TEST ] [KRELTSC: 12659981742] Test passed +[Hera] [HADES][TEST ] Testing 2DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12668951420] Expected: Should print: -1 -2 +[Hera] [HADES][TEST ] [KRELTSC: 12675085958] Running 2DROP.exact_four: 10 20 30 40 2DROP DEPTH . CR +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 12683865654] Test passed +[Hera] [HADES][TEST ] Testing 2DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12693494804] Expected: Should print: 2 +[Hera] [HADES][TEST ] [KRELTSC: 12698305720] Running 2DROP.empty_stack: 2DROP +[Hera] [HADES][TEST ] [KRELTSC: 12703526968] Expected error occurred +[Hera] [HADES][TEST ] Testing 2DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12715199282] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 12722142226] Running 2DROP.one_item: 42 2DROP +[Hera] [HADES][TEST ] [KRELTSC: 12726123670] Expected error occurred +[Hera] [HADES][TEST ] Testing 2DROP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12732651726] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 12738019462] 2DROP: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 12741970516] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 12748683616] Testing word: 2DUP +[Hera] [HADES][TEST ] [KRELTSC: 12755157574] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 12759484054] Running 2DUP.basic: 100 200 2DUP . . . . CR +[Hera] 200 100 200 100 +[Hera] [HADES][TEST ] [KRELTSC: 12765096054] Test passed +[Hera] [HADES][TEST ] Testing 2DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12776522076] Expected: Should print: 100 200 100 200 +[Hera] [HADES][TEST ] [KRELTSC: 12782911960] Running 2DUP.zeros: 0 0 2DUP . . . . CR +[Hera] 0 0 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 12791100516] Test passed +[Hera] [HADES][TEST ] Testing 2DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12801029964] Expected: Should print: 0 0 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 12806571084] Running 2DUP.negative: -100 -200 2DUP . . . . CR +[Hera] -200 -100 -200 -100 +[Hera] [HADES][TEST ] [KRELTSC: 12818610830] Test passed +[Hera] [HADES][TEST ] Testing 2DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12830821264] Expected: Should duplicate negatives +[Hera] [HADES][TEST ] [KRELTSC: 12836918028] Running 2DUP.depth_check: 10 20 2DUP DEPTH . CR +[Hera] 4 +[Hera] [HADES][TEST ] [KRELTSC: 12844063506] Test passed +[Hera] [HADES][TEST ] Testing 2DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12852154076] Expected: Should print: 4 +[Hera] [HADES][TEST ] [KRELTSC: 12857737628] Running 2DUP.empty_stack: 2DUP +[Hera] [HADES][TEST ] [KRELTSC: 12864606768] Expected error occurred +[Hera] [HADES][TEST ] Testing 2DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12875075436] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 12881011476] Running 2DUP.one_item: 42 2DUP +[Hera] [HADES][TEST ] [KRELTSC: 12887283844] Expected error occurred +[Hera] [HADES][TEST ] Testing 2DUP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12897491876] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 12903807500] 2DUP: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 12910962834] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 12918044688] Testing word: 2OVER +[Hera] [HADES][TEST ] [KRELTSC: 12924206976] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 12930397818] Running 2OVER.basic: 10 20 30 40 2OVER . . . . . . CR +[Hera] 20 10 40 30 20 10 +[Hera] [HADES][TEST ] [KRELTSC: 12941809466] Test passed +[Hera] [HADES][TEST ] Testing 2OVER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12951563280] Expected: Should print: 10 20 30 40 10 20 +[Hera] [HADES][TEST ] [KRELTSC: 12958605878] Running 2OVER.zeros: 0 0 99 88 2OVER . . . . . . CR +[Hera] 0 0 88 99 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 12968569594] Test passed +[Hera] [HADES][TEST ] Testing 2OVER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12977987966] Expected: Should print: 0 0 99 88 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 12983445960] Running 2OVER.mixed: -1 2 -3 4 2OVER . . . . . . CR +[Hera] 2 -1 4 -3 2 -1 +[Hera] [HADES][TEST ] [KRELTSC: 12990000444] Test passed +[Hera] [HADES][TEST ] Testing 2OVER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 12998219368] Expected: Should handle mixed signs +[Hera] [HADES][TEST ] [KRELTSC: 13003252282] Running 2OVER.depth_check: 1 2 3 4 2OVER DEPTH . CR +[Hera] 6 +[Hera] [HADES][TEST ] [KRELTSC: 13010526744] Test passed +[Hera] [HADES][TEST ] Testing 2OVER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13019700456] Expected: Should print: 6 +[Hera] [HADES][TEST ] [KRELTSC: 13024855648] Running 2OVER.three_items: 1 2 3 2OVER +[Hera] [HADES][TEST ] [KRELTSC: 13030891332] Expected error occurred +[Hera] [HADES][TEST ] Testing 2OVER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13040166640] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 13045897528] Running 2OVER.empty_stack: 2OVER +[Hera] [HADES][TEST ] [KRELTSC: 13051237194] Expected error occurred +[Hera] [HADES][TEST ] Testing 2OVER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13061051086] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 13067726084] 2OVER: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 13074167006] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 13083155266] Testing word: 2SWAP +[Hera] [HADES][TEST ] [KRELTSC: 13089188566] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 13096320792] Running 2SWAP.basic: 10 20 30 40 2SWAP . . . . CR +[Hera] 20 10 40 30 +[Hera] [HADES][TEST ] [KRELTSC: 13107287780] Test passed +[Hera] [HADES][TEST ] Testing 2SWAP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13118156534] Expected: Should print: 30 40 10 20 +[Hera] [HADES][TEST ] [KRELTSC: 13125269640] Running 2SWAP.zeros: 0 0 99 88 2SWAP . . . . CR +[Hera] 0 0 88 99 +[Hera] [HADES][TEST ] [KRELTSC: 13134800816] Test passed +[Hera] [HADES][TEST ] Testing 2SWAP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13145019596] Expected: Should print: 99 88 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 13151494752] Running 2SWAP.same_pairs: 42 42 42 42 2SWAP . . . . CR +[Hera] 42 42 42 42 +[Hera] [HADES][TEST ] [KRELTSC: 13162474524] Test passed +[Hera] [HADES][TEST ] Testing 2SWAP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13172754676] Expected: Should print: 42 42 42 42 +[Hera] [HADES][TEST ] [KRELTSC: 13179687470] Running 2SWAP.negative: -10 -20 30 40 2SWAP . . . . CR +[Hera] -20 -10 40 30 +[Hera] [HADES][TEST ] [KRELTSC: 13190777098] Test passed +[Hera] [HADES][TEST ] Testing 2SWAP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13201328844] Expected: Should print: 30 40 -10 -20 +[Hera] [HADES][TEST ] [KRELTSC: 13208474010] Running 2SWAP.depth_check: 1 2 3 4 2SWAP DEPTH . CR +[Hera] 4 +[Hera] [HADES][TEST ] [KRELTSC: 13218535776] Test passed +[Hera] [HADES][TEST ] Testing 2SWAP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13228512600] Expected: Should print: 4 +[Hera] [HADES][TEST ] [KRELTSC: 13235174648] Running 2SWAP.three_items: 1 2 3 2SWAP +[Hera] [HADES][TEST ] [KRELTSC: 13242358388] Expected error occurred +[Hera] [HADES][TEST ] Testing 2SWAP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13253912006] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 13261229772] Running 2SWAP.empty_stack: 2SWAP +[Hera] [HADES][TEST ] [KRELTSC: 13268464218] Expected error occurred +[Hera] [HADES][TEST ] Testing 2SWAP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13279789844] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 13287159068] 2SWAP: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 13294780688] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 13303209024] Testing word: 2ROT +[Hera] [HADES][TEST ] [KRELTSC: 13308793944] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 13314997862] Running 2ROT.basic: 10 20 30 40 50 60 2ROT . . . . . . CR +[Hera] 20 10 60 50 40 30 +[Hera] [HADES][TEST ] [KRELTSC: 13326771200] Test passed +[Hera] [HADES][TEST ] Testing 2ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13337680444] Expected: Should print: 30 40 50 60 10 20 +[Hera] [HADES][TEST ] [KRELTSC: 13345171962] Running 2ROT.zeros: 0 0 1 1 2 2 2ROT . . . . . . CR +[Hera] 0 0 2 2 1 1 +[Hera] [HADES][TEST ] [KRELTSC: 13356248872] Test passed +[Hera] [HADES][TEST ] Testing 2ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13365493256] Expected: Should rotate with zeros +[Hera] [HADES][TEST ] [KRELTSC: 13370389390] Running 2ROT.negative: -1 -2 3 4 -5 -6 2ROT . . . . . . CR +[Hera] -2 -1 -6 -5 4 3 +[Hera] [HADES][TEST ] [KRELTSC: 13378234952] Test passed +[Hera] [HADES][TEST ] Testing 2ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13390365738] Expected: Should handle negatives +[Hera] [HADES][TEST ] [KRELTSC: 13397429102] Running 2ROT.depth_check: 1 2 3 4 5 6 2ROT DEPTH . CR +[Hera] 6 +[Hera] [HADES][TEST ] [KRELTSC: 13407328566] Test passed +[Hera] [HADES][TEST ] Testing 2ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13416602670] Expected: Should print: 6 +[Hera] [HADES][TEST ] [KRELTSC: 13423359684] Running 2ROT.five_items: 1 2 3 4 5 2ROT +[Hera] [HADES][TEST ] [KRELTSC: 13431160488] Expected error occurred +[Hera] [HADES][TEST ] Testing 2ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13443364384] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 13450855668] Running 2ROT.empty_stack: 2ROT +[Hera] [HADES][TEST ] [KRELTSC: 13457915050] Expected error occurred +[Hera] [HADES][TEST ] Testing 2ROT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13467881752] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 13474645740] 2ROT: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 13480371852] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 13487813416] Testing word: D+ +[Hera] [HADES][TEST ] [KRELTSC: 13491883260] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 13497474908] Running D+.basic: 100 200 300 400 D+ . . CR +[Hera] 600 400 +[Hera] [HADES][TEST ] [KRELTSC: 13505106254] Test passed +[Hera] [HADES][TEST ] Testing D+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13515395452] Expected: Should print: 400 600 +[Hera] [HADES][TEST ] [KRELTSC: 13521933366] Running D+.zero_add: 42 99 0 0 D+ . . CR +[Hera] 99 42 +[Hera] [HADES][TEST ] [KRELTSC: 13531614038] Test passed +[Hera] [HADES][TEST ] Testing D+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13541728280] Expected: Should print: 42 99 +[Hera] [HADES][TEST ] [KRELTSC: 13548272490] Running D+.negative: -100 -200 50 75 D+ . . CR +[Hera] -125 -50 +[Hera] [HADES][TEST ] [KRELTSC: 13558100996] Test passed +[Hera] [HADES][TEST ] Testing D+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13564152340] Expected: Should handle negatives +[Hera] [HADES][TEST ] [KRELTSC: 13568313234] Running D+.carry: 2147483647 0 1 0 D+ . . CR +[Hera] 0 2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 13578037878] Test passed +[Hera] [HADES][TEST ] Testing D+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13589233348] Expected: Should handle carry +[Hera] [HADES][TEST ] [KRELTSC: 13596104682] Running D+.both_negative: -100 -200 -300 -400 D+ . . CR +[Hera] -599 -400 +[Hera] [HADES][TEST ] [KRELTSC: 13607081594] Test passed +[Hera] [HADES][TEST ] Testing D+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13618681552] Expected: Should add negatives +[Hera] [HADES][TEST ] [KRELTSC: 13625524958] Running D+.three_items: 1 2 3 D+ +[Hera] [HADES][TEST ] [KRELTSC: 13632533908] Expected error occurred +[Hera] [HADES][TEST ] Testing D+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13643904386] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 13648707870] Running D+.empty_stack: D+ +[Hera] [HADES][TEST ] [KRELTSC: 13653893168] Expected error occurred +[Hera] [HADES][TEST ] Testing D+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13665825990] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 13674159242] D+: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 13681848652] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 13690227452] Testing word: D- +[Hera] [HADES][TEST ] [KRELTSC: 13696019792] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 13700246650] Running D-.basic: 500 600 100 200 D- . . CR +[Hera] 400 [HADES][INFO ] [KRELTSC: 13709128434] L8[TABLE]: Config 36 → 37 regime=2 score=26214 L1=0 L2=1 L3=0 +[Hera] 400 +[Hera] [HADES][TEST ] [KRELTSC: 13718801506] Test passed +[Hera] [HADES][TEST ] Testing D- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13730962000] Expected: Should print: 400 400 +[Hera] [HADES][TEST ] [KRELTSC: 13738066118] Running D-.zero_sub: 42 99 0 0 D- . . CR +[Hera] 99 42 +[Hera] [HADES][TEST ] [KRELTSC: 13747598584] Test passed +[Hera] [HADES][TEST ] Testing D- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13758119456] Expected: Should print: 42 99 +[Hera] [HADES][TEST ] [KRELTSC: 13764684688] Running D-.from_zero: 0 0 100 200 D- . . CR +[Hera] -201 -100 +[Hera] [HADES][TEST ] [KRELTSC: 13774833470] Test passed +[Hera] [HADES][TEST ] Testing D- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13785630792] Expected: Should print: -100 -200 +[Hera] [HADES][TEST ] [KRELTSC: 13793049072] Running D-.negative: 100 200 -50 -75 D- . . CR +[Hera] 274 150 +[Hera] [HADES][TEST ] [KRELTSC: 13798252210] Test passed +[Hera] [HADES][TEST ] Testing D- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13802414720] Expected: Should handle negatives +[Hera] [HADES][TEST ] [KRELTSC: 13807127040] Running D-.borrow: 0 0 1 0 D- . . CR +[Hera] -1 -1 +[Hera] [HADES][TEST ] [KRELTSC: 13816521416] Test passed +[Hera] [HADES][TEST ] Testing D- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13827265914] Expected: Should handle borrow +[Hera] [HADES][TEST ] [KRELTSC: 13833309656] Running D-.same_values: 100 200 100 200 D- . . CR +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 13843174736] Test passed +[Hera] [HADES][TEST ] Testing D- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13854086088] Expected: Should print: 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 13861077818] Running D-.three_items: 1 2 3 D- +[Hera] [HADES][TEST ] [KRELTSC: 13868108898] Expected error occurred +[Hera] [HADES][TEST ] Testing D- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13879258392] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 13886877632] Running D-.empty_stack: D- +[Hera] [HADES][TEST ] [KRELTSC: 13893672338] Expected error occurred +[Hera] [HADES][TEST ] Testing D- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13905933286] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 13913470040] D-: 8 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 13920889070] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 13929708828] Testing word: DNEGATE +[Hera] [HADES][TEST ] [KRELTSC: 13935980158] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 13942481458] Running DNEGATE.positive: 100 200 DNEGATE . . CR +[Hera] -201 -100 +[Hera] [HADES][TEST ] [KRELTSC: 13953195790] Test passed +[Hera] [HADES][TEST ] Testing DNEGATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13964966476] Expected: Should negate positive double +[Hera] [HADES][TEST ] [KRELTSC: 13970622832] Running DNEGATE.negative: -100 -200 DNEGATE . . CR +[Hera] 199 100 +[Hera] [HADES][TEST ] [KRELTSC: 13981258718] Test passed +[Hera] [HADES][TEST ] Testing DNEGATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 13992648760] Expected: Should negate negative double +[Hera] [HADES][TEST ] [KRELTSC: 14000196468] Running DNEGATE.zero: 0 0 DNEGATE . . CR +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 14009743704] Test passed +[Hera] [HADES][TEST ] Testing DNEGATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14021324270] Expected: Should print: 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 14028221830] Running DNEGATE.max_positive: 2147483647 0 DNEGATE . . CR +[Hera] -1 -2147483647 +[Hera] [HADES][TEST ] [KRELTSC: 14039611542] Test passed +[Hera] [HADES][TEST ] Testing DNEGATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14050124796] Expected: Should negate max positive +[Hera] [HADES][TEST ] [KRELTSC: 14057460964] Running DNEGATE.one_item: 42 DNEGATE +[Hera] [HADES][TEST ] [KRELTSC: 14065178728] Expected error occurred +[Hera] [HADES][TEST ] Testing DNEGATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14077603400] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 14085031884] Running DNEGATE.empty_stack: DNEGATE +[Hera] [HADES][TEST ] [KRELTSC: 14092371804] Expected error occurred +[Hera] [HADES][TEST ] Testing DNEGATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14104020590] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 14111358328] DNEGATE: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 14119158818] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 14127894522] Testing word: DABS +[Hera] [HADES][TEST ] [KRELTSC: 14134580222] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 14141019120] Running DABS.positive: 100 200 DABS . . CR +[Hera] 200 100 +[Hera] [HADES][TEST ] [KRELTSC: 14151315834] Test passed +[Hera] [HADES][TEST ] Testing DABS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14162277890] Expected: Should print: 100 200 +[Hera] [HADES][TEST ] [KRELTSC: 14169320164] Running DABS.negative: -100 -200 DABS . . CR +[Hera] 199 100 +[Hera] [HADES][TEST ] [KRELTSC: 14179863440] Test passed +[Hera] [HADES][TEST ] Testing DABS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14191552574] Expected: Should print: 100 200 +[Hera] [HADES][TEST ] [KRELTSC: 14198616490] Running DABS.zero: 0 0 DABS . . CR +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 14207880708] Test passed +[Hera] [HADES][TEST ] Testing DABS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14218466414] Expected: Should print: 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 14225265628] Running DABS.mixed_sign: 100 -1 DABS . . CR +[Hera] 0 -100 +[Hera] [HADES][TEST ] [KRELTSC: 14232465674] Test passed +[Hera] [HADES][TEST ] Testing DABS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14239328738] Expected: Should handle mixed sign +[Hera] [HADES][TEST ] [KRELTSC: 14245337382] Running DABS.min_double: -2147483648 -1 DABS . . CR +[Hera] 0 2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 14256271848] Test passed +[Hera] [HADES][TEST ] Testing DABS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14267376542] Expected: Should handle min double +[Hera] [HADES][TEST ] [KRELTSC: 14274877164] Running DABS.one_item: 42 DABS +[Hera] [HADES][TEST ] [KRELTSC: 14281954774] Expected error occurred +[Hera] [HADES][TEST ] Testing DABS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14294035776] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 14301509758] Running DABS.empty_stack: DABS +[Hera] [HADES][TEST ] [KRELTSC: 14309701522] Expected error occurred +[Hera] [HADES][TEST ] Testing DABS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14321429500] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 14328907038] DABS: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 14335987336] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 14344331958] Testing word: DMIN +[Hera] [HADES][TEST ] [KRELTSC: 14350029092] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 14356012398] Running DMIN.basic: 100 200 300 400 DMIN . . CR +[Hera] 200 100 +[Hera] [HADES][TEST ] [KRELTSC: 14366126116] Test passed +[Hera] [HADES][TEST ] Testing DMIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14376758148] Expected: Should print: 100 200 +[Hera] [HADES][TEST ] [KRELTSC: 14383439028] Running DMIN.equal: 42 99 42 99 DMIN . . CR +[Hera] 99 42 +[Hera] [HADES][TEST ] [KRELTSC: 14393514128] Test passed +[Hera] [HADES][TEST ] Testing DMIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14402566478] Expected: Should print: 42 99 +[Hera] [HADES][TEST ] [KRELTSC: 14409432606] Running DMIN.negative: -100 -200 -50 -75 DMIN . . CR +[Hera] -200 -100 +[Hera] [HADES][TEST ] [KRELTSC: 14420524776] Test passed +[Hera] [HADES][TEST ] Testing DMIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14431337854] Expected: Should find min negative +[Hera] [HADES][TEST ] [KRELTSC: 14438575392] Running DMIN.mixed: -100 -1 100 0 DMIN . . CR +[Hera] -1 -100 +[Hera] [HADES][TEST ] [KRELTSC: 14448675500] Test passed +[Hera] [HADES][TEST ] Testing DMIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14459535384] Expected: Should handle mixed signs +[Hera] [HADES][TEST ] [KRELTSC: 14466769548] Running DMIN.three_items: 1 2 3 DMIN +[Hera] [HADES][TEST ] [KRELTSC: 14473696190] Expected error occurred +[Hera] [HADES][TEST ] Testing DMIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14484730314] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 14491759718] Running DMIN.empty_stack: DMIN +[Hera] [HADES][TEST ] [KRELTSC: 14497633290] Expected error occurred +[Hera] [HADES][TEST ] Testing DMIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14508258948] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 14515251614] DMIN: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 14522703346] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 14530839560] Testing word: DMAX +[Hera] [HADES][TEST ] [KRELTSC: 14536389246] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 14542387806] Running DMAX.basic: 100 200 300 400 DMAX . . CR +[Hera] 400 300 +[Hera] [HADES][TEST ] [KRELTSC: 14552064486] Test passed +[Hera] [HADES][TEST ] Testing DMAX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14562370430] Expected: Should print: 300 400 +[Hera] [HADES][TEST ] [KRELTSC: 14569158722] Running DMAX.equal: 42 99 42 99 DMAX . . CR +[Hera] 99 42 +[Hera] [HADES][TEST ] [KRELTSC: 14578645532] Test passed +[Hera] [HADES][TEST ] Testing DMAX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14588939492] Expected: Should print: 42 99 +[Hera] [HADES][TEST ] [KRELTSC: 14595722152] Running DMAX.negative: -300 -400 -100 -200 DMAX . . CR +[Hera] -200 -100 +[Hera] [HADES][TEST ] [KRELTSC: 14606484678] Test passed +[Hera] [HADES][TEST ] Testing DMAX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14617358218] Expected: Should find max negative +[Hera] [HADES][TEST ] [KRELTSC: 14624278716] Running DMAX.mixed: -100 -1 100 0 DMAX . . CR +[Hera] 0 100 +[Hera] [HADES][TEST ] [KRELTSC: 14634349668] Test passed +[Hera] [HADES][TEST ] Testing DMAX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14645516568] Expected: Should handle mixed signs +[Hera] [HADES][TEST ] [KRELTSC: 14652852652] Running DMAX.three_items: 1 2 3 DMAX +[Hera] [HADES][TEST ] [KRELTSC: 14659618146] Expected error occurred +[Hera] [HADES][TEST ] Testing DMAX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14670885628] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 14678013278] Running DMAX.empty_stack: DMAX +[Hera] [HADES][TEST ] [KRELTSC: 14684229902] Expected error occurred +[Hera] [HADES][TEST ] Testing DMAX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14695616552] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 14702664926] DMAX: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 14709668664] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 14718106800] Testing word: D= +[Hera] [HADES][TEST ] [KRELTSC: 14723670222] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 14729715916] Running D=.equal: 100 200 100 200 D= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 14739747074] Test passed +[Hera] [HADES][TEST ] Testing D= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14750445128] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 14757092158] Running D=.not_equal_low: 100 200 101 200 D= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 14767177070] Test passed +[Hera] [HADES][TEST ] Testing D= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14777788896] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 14784326720] Running D=.not_equal_high: 100 200 100 201 D= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 14794778280] Test passed +[Hera] [HADES][TEST ] Testing D= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14805695366] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 14812440450] Running D=.zero_equal: 0 0 0 0 D= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 14821157892] Test passed +[Hera] [HADES][TEST ] Testing D= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14831830706] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 14837701760] Running D=.negative_equal: -100 -200 -100 -200 D= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 14847303194] Test passed +[Hera] [HADES][TEST ] Testing D= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14857068968] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 14862233128] Running D=.three_items: 1 2 3 D= +[Hera] [HADES][TEST ] [KRELTSC: 14867301016] Expected error occurred +[Hera] [HADES][TEST ] Testing D= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14876476264] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 14882234548] Running D=.empty_stack: D= +[Hera] [HADES][TEST ] [KRELTSC: 14888512718] Expected error occurred +[Hera] [HADES][TEST ] Testing D= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14899184442] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 14906206782] D=: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 14913138544] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 14921588442] Testing word: D< +[Hera] [HADES][TEST ] [KRELTSC: 14926798846] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 14932757500] Running D<.less_than: 100 200 300 400 D< . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 14940627984] Test passed +[Hera] [HADES][TEST ] Testing D< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14948138546] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 14953256174] Running D<.greater_than: 300 400 100 200 D< . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 14960817688] Test passed +[Hera] [HADES][TEST ] Testing D< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14968683870] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 14973372104] Running D<.equal: 100 200 100 200 D< . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 14980288636] Test passed +[Hera] [HADES][TEST ] Testing D< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 14987888814] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 14992578690] Running D<.negative_positive: -100 -1 100 0 D< . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 15000768876] Test passed +[Hera] [HADES][TEST ] Testing D< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15009275248] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 15014468832] Running D<.negative_negative: -300 -1 -100 -1 D< . CR +[Hera] -1 +[Hera] [HADES][INFO ] [KRELTSC: 15031793872] L8[TABLE]: Config 37 → 38 regime=2 score=26214 L1=0 L2=1 L3=0 +[Hera] [HADES][TEST ] [KRELTSC: 15037718526] Test passed +[Hera] [HADES][TEST ] Testing D< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15046039672] Expected: Should compare negatives +[Hera] [HADES][TEST ] [KRELTSC: 15051888978] Running D<.high_word_diff: 100 200 100 300 D< . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 15061039356] Test passed +[Hera] [HADES][TEST ] Testing D< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15069374340] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 15074709178] Running D<.three_items: 1 2 3 D< +[Hera] [HADES][TEST ] [KRELTSC: 15080163608] Expected error occurred +[Hera] [HADES][TEST ] Testing D< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15088763908] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 15094413344] Running D<.empty_stack: D< +[Hera] [HADES][TEST ] [KRELTSC: 15098965210] Expected error occurred +[Hera] [HADES][TEST ] Testing D< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15107989580] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 15114353354] D<: 8 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 15120532938] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 15127084606] Testing word: D0= +[Hera] [HADES][TEST ] [KRELTSC: 15131533446] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 15136434460] Running D0=.zero: 0 0 D0= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 15143342020] Test passed +[Hera] [HADES][TEST ] Testing D0= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15151503416] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 15156603756] Running D0=.positive: 100 200 D0= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 15163881034] Test passed +[Hera] [HADES][TEST ] Testing D0= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15172972248] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 15178234630] Running D0=.negative: -100 -200 D0= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 15185090928] Test passed +[Hera] [HADES][TEST ] Testing D0= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15193606238] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 15198883972] Running D0=.zero_high: 0 100 D0= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 15206263934] Test passed +[Hera] [HADES][TEST ] Testing D0= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15215087518] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 15220457634] Running D0=.zero_low: 100 0 D0= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 15228257382] Test passed +[Hera] [HADES][TEST ] Testing D0= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15236974440] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 15242253744] Running D0=.one_item: 42 D0= +[Hera] [HADES][TEST ] [KRELTSC: 15247726584] Expected error occurred +[Hera] [HADES][TEST ] Testing D0= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15257013296] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 15263006568] Running D0=.empty_stack: D0= +[Hera] [HADES][TEST ] [KRELTSC: 15268680098] Expected error occurred +[Hera] [HADES][TEST ] Testing D0= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15278084190] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 15284382038] D0=: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 15290241448] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 15296741060] Testing word: D0< +[Hera] [HADES][TEST ] [KRELTSC: 15301433420] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 15306457810] Running D0<.negative: -100 -1 D0< . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 15314151364] Test passed +[Hera] [HADES][TEST ] Testing D0< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15322865648] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 15328291548] Running D0<.zero: 0 0 D0< . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 15335462196] Test passed +[Hera] [HADES][TEST ] Testing D0< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15344088458] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 15350075112] Running D0<.positive: 100 0 D0< . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 15357330910] Test passed +[Hera] [HADES][TEST ] Testing D0< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15365836400] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 15370973952] Running D0<.negative_high_only: 100 -1 D0< . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 15379311826] Test passed +[Hera] [HADES][TEST ] Testing D0< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15387528738] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 15393960970] Running D0<.large_negative: -1 -1 D0< . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 15400853790] Test passed +[Hera] [HADES][TEST ] Testing D0< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15408615654] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 15413765706] Running D0<.one_item: 42 D0< +[Hera] [HADES][TEST ] [KRELTSC: 15418872168] Expected error occurred +[Hera] [HADES][TEST ] Testing D0< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15427835338] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 15433628020] Running D0<.empty_stack: D0< +[Hera] [HADES][TEST ] [KRELTSC: 15438817286] Expected error occurred +[Hera] [HADES][TEST ] Testing D0< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15447809098] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 15453401458] D0<: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 15459309662] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 15466515158] Testing word: S>D +[Hera] [HADES][TEST ] [KRELTSC: 15469750122] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 15474879666] Running S>D.positive: 5 S>D . . CR +[Hera] 0 5 +[Hera] [HADES][TEST ] [KRELTSC: 15483072354] Test passed +[Hera] [HADES][TEST ] Testing S>D ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15491920560] Expected: Should sign-extend positive: 0 5 +[Hera] [HADES][TEST ] [KRELTSC: 15498008638] Running S>D.negative: -5 S>D . . CR +[Hera] -1 -5 +[Hera] [HADES][TEST ] [KRELTSC: 15506283832] Test passed +[Hera] [HADES][TEST ] Testing S>D ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15515147612] Expected: Should sign-extend negative: -1 -5 +[Hera] [HADES][TEST ] [KRELTSC: 15523391414] Running S>D.zero: 0 S>D . . CR +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 15532455372] Test passed +[Hera] [HADES][TEST ] Testing S>D ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15543766086] Expected: Should sign-extend zero: 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 15551473320] Running S>D.max_int: 2147483647 S>D . . CR +[Hera] 0 2147483647 +[Hera] [HADES][TEST ] [KRELTSC: 15562409972] Test passed +[Hera] [HADES][TEST ] Testing S>D ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15571782306] Expected: Should extend max int: 0 2147483647 +[Hera] [HADES][TEST ] [KRELTSC: 15579703498] Running S>D.min_int: -2147483648 S>D . . CR +[Hera] -1 -2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 15589553280] Test passed +[Hera] [HADES][TEST ] Testing S>D ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15601240970] Expected: Should extend min int: -1 -2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 15609571520] Running S>D.empty_stack: S>D +[Hera] [HADES][TEST ] [KRELTSC: 15616608664] Expected error occurred +[Hera] [HADES][TEST ] Testing S>D ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15628620736] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 15637067664] S>D: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 15645199702] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 15654351950] Testing word: D2* +[Hera] [HADES][TEST ] [KRELTSC: 15660391560] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 15666811432] Running D2*.basic: 5 0 D2* . . CR +[Hera] 0 10 +[Hera] [HADES][TEST ] [KRELTSC: 15676476090] Test passed +[Hera] [HADES][TEST ] Testing D2* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15688144020] Expected: Should double 5: 0 10 +[Hera] [HADES][TEST ] [KRELTSC: 15696659828] Running D2*.zero: 0 0 D2* . . CR +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 15705654076] Test passed +[Hera] [HADES][TEST ] Testing D2* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15716941170] Expected: Should double zero: 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 15724537610] Running D2*.negative: -1 -1 D2* . . CR +[Hera] -1 -2 +[Hera] [HADES][TEST ] [KRELTSC: 15734347834] Test passed +[Hera] [HADES][TEST ] Testing D2* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15745915626] Expected: Should double -1: -1 -2 +[Hera] [HADES][TEST ] [KRELTSC: 15754427468] Running D2*.carry: 0 1 D2* . . CR +[Hera] 2 0 +[Hera] [HADES][TEST ] [KRELTSC: 15763204924] Test passed +[Hera] [HADES][TEST ] Testing D2* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15774268868] Expected: Should shift high cell: 0 2 +[Hera] [HADES][TEST ] [KRELTSC: 15781618970] Running D2*.empty_stack: D2* +[Hera] [HADES][TEST ] [KRELTSC: 15787914214] Expected error occurred +[Hera] [HADES][TEST ] Testing D2* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15799008092] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 15806255036] D2*: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 15813748668] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 15823446712] Testing word: D2/ +[Hera] [HADES][TEST ] [KRELTSC: 15829748314] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 15836099994] Running D2/.basic: 10 0 D2/ . . CR +[Hera] 0 5 +[Hera] [HADES][TEST ] [KRELTSC: 15845556784] Test passed +[Hera] [HADES][TEST ] Testing D2/ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15856726856] Expected: Should halve 10: 0 5 +[Hera] [HADES][TEST ] [KRELTSC: 15863596210] Running D2/.negative: -2 -1 D2/ . . CR +[Hera] -1 -1 +[Hera] [HADES][TEST ] [KRELTSC: 15872676336] Test passed +[Hera] [HADES][TEST ] Testing D2/ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15882886532] Expected: Should halve -2: -1 -1 +[Hera] [HADES][TEST ] [KRELTSC: 15889541118] Running D2/.zero: 0 0 D2/ . . CR +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 15898288058] Test passed +[Hera] [HADES][TEST ] Testing D2/ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15908726732] Expected: Should halve zero: 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 15914999876] Running D2/.odd: 3 0 D2/ . . CR +[Hera] 0 1 +[Hera] [HADES][TEST ] [KRELTSC: 15921512710] Test passed +[Hera] [HADES][TEST ] Testing D2/ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15929637058] Expected: Should truncate toward zero: 0 1 +[Hera] [HADES][TEST ] [KRELTSC: 15936659842] Running D2/.empty_stack: D2/ +[Hera] [HADES][TEST ] [KRELTSC: 15942590370] Expected error occurred +[Hera] [HADES][TEST ] Testing D2/ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 15955176582] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 15963673264] D2/: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 15972413506] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 15982071030] Testing word: 2>R +[Hera] [HADES][TEST ] [KRELTSC: 15988259008] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 15994145636] Running 2>R.roundtrip: 10 20 2>R 2R> . . CR +[Hera] 20 10 +[Hera] [HADES][TEST ] [KRELTSC: 16002878884] Test passed +[Hera] [HADES][TEST ] Testing 2>R ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16012788408] Expected: Should store and retrieve: 20 10 +[Hera] [HADES][TEST ] [KRELTSC: 16018812518] Running 2>R.depth_after: 1 2 2>R DEPTH . 2R> DROP DROP CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 16026635624] Test passed +[Hera] [HADES][TEST ] Testing 2>R ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16035489342] Expected: Should empty data stack: 0 +[Hera] [HADES][TEST ] [KRELTSC: 16042982398] Running 2>R.empty_stack: 2>R +[Hera] [HADES][TEST ] [KRELTSC: 16049305646] Expected error occurred +[Hera] [HADES][TEST ] Testing 2>R ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16060448114] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 16066911248] 2>R: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 16074491570] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 16083313234] Testing word: 2R> +[Hera] [HADES][TEST ] [KRELTSC: 16089299498] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 16096188212] Running 2R>.roundtrip: 5 6 2>R 2R> . . CR +[Hera] 6 5 +[Hera] [HADES][TEST ] [KRELTSC: 16105861730] Test passed +[Hera] [HADES][TEST ] Testing 2R> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16116667818] Expected: Should retrieve double: 6 5 +[Hera] [HADES][TEST ] [KRELTSC: 16124043490] Running 2R>.depth: 9 8 2>R 2R> DEPTH . CR +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 16132779318] Test passed +[Hera] [HADES][TEST ] Testing 2R> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16141552538] Expected: Should push 2 items to data stack: 2 +[Hera] [HADES][TEST ] [KRELTSC: 16147553742] Running 2R>.empty_rstack: 2R> +[Hera] [HADES][TEST ] [KRELTSC: 16154296392] Expected error occurred +[Hera] [HADES][TEST ] Testing 2R> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16163802516] Expected: Should cause return stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 16169861146] 2R>: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 16177166582] ▶ Testing module: v3/src/test_runner/modules/double_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 16185879280] Testing word: 2R@ +[Hera] [HADES][TEST ] [KRELTSC: 16192379944] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 16199001954] Running 2R@.peek: 3 4 2>R 2R@ . . 2R> DROP DROP CR +[Hera] 4 3 +[Hera] [HADES][TEST ] [KRELTSC: 16210899938] Test passed +[Hera] [HADES][TEST ] Testing 2R@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16220464442] Expected: Should peek: 4 3 +[Hera] [HADES][TEST ] [KRELTSC: 16226212158] Running 2R@.non_destructive: 7 8 2>R 2R@ DROP DROP 2R> . . CR +[Hera] 8 7 +[Hera] [HADES][TEST ] [KRELTSC: 16238052270] Test passed +[Hera] [HADES][TEST ] Testing 2R@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16250074700] Expected: Should leave rstack intact +[Hera] [HADES][TEST ] [KRELTSC: 16258111060] Running 2R@.empty_rstack: 2R@ +[Hera] [HADES][TEST ] [KRELTSC: 16265843172] Expected error occurred +[Hera] [HADES][TEST ] Testing 2R@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16278037674] Expected: Should cause return stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 16286156880] 2R@: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 16294227852] === Double Number Words Summary: 0 passed, 0 failed, 0 skipped, +[Hera] [HADES][INFO ] [KRELTSC: 16303780332] +[Hera] === Testing Module: Format Words === +[Hera] [HADES][INFO ] [KRELTSC: 16313340248] Running Format Words Tests (Module 10)... +[Hera] [HADES][TEST ] [KRELTSC: 16321005892] ▶ Testing module: v3/src/test_runner/modules/format_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 16328315946] Testing word: BASE +[Hera] [HADES][TEST ] [KRELTSC: 16332873988] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 16337640458] Running BASE.decimal: DECIMAL 42 . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 16344822154] Test passed +[Hera] [HADES][TEST ] Testing BASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16356830932] Expected: Should print: 42 +[Hera] [HADES][TEST ] [KRELTSC: 16364014894] Running BASE.hex: HEX FF . CR +[Hera] FF +[Hera] [HADES][TEST ] [KRELTSC: 16373801782] Test passed +[Hera] [HADES][TEST ] Testing BASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16385970204] Expected: Should print: FF +[Hera] [HADES][TEST ] [KRELTSC: 16393218392] Running BASE.octal: OCTAL 52 . CR +[Hera] 52 +[Hera] [HADES][TEST ] [KRELTSC: 16403820442] Test passed +[Hera] [HADES][TEST ] Testing BASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16416484998] Expected: Should print: 52 +[Hera] [HADES][TEST ] [KRELTSC: 16423904156] Running BASE.base_store: 16 BASE ! 255 . CR +[Hera] 723 +[Hera] [HADES][TEST ] [KRELTSC: 16435217772] Test passed +[Hera] [HADES][TEST ] Testing BASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16447579180] Expected: Should print: FF +[Hera] [HADES][TEST ] [KRELTSC: 16455024210] Running BASE.base_fetch: BASE @ . CR +[Hera] 16 +[Hera] [HADES][TEST ] [KRELTSC: 16464684906] Test passed +[Hera] [HADES][TEST ] Testing BASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16474331404] Expected: Should print current base +[Hera] [HADES][TEST ] [KRELTSC: 16481415280] BASE: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 16489386958] ▶ Testing module: v3/src/test_runner/modules/format_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 16496143934] Testing word: DECIMAL +[Hera] [HADES][TEST ] [KRELTSC: 16502372580] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 16507268912] Running DECIMAL.from_hex: HEX FF DECIMAL . CR +[Hera] 255 +[Hera] [HADES][TEST ] [KRELTSC: 16514731138] Test passed +[Hera] [HADES][TEST ] Testing DECIMAL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16523228094] Expected: Should print: 255 +[Hera] [HADES][TEST ] [KRELTSC: 16528558912] Running DECIMAL.from_octal: OCTAL 52 DECIMAL . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 16536272210] Test passed +[Hera] [HADES][TEST ] Testing DECIMAL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16545036930] Expected: Should print: 42 +[Hera] [HADES][TEST ] [KRELTSC: 16550180712] Running DECIMAL.state_persist: DECIMAL 42 . CR 42 . CR HEX 42 +[Hera] 42 +[Hera] 42 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 16562653586] Test passed +[Hera] [HADES][TEST ] Testing DECIMAL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16571207588] Expected: Should maintain base +[Hera] [HADES][TEST ] [KRELTSC: 16576661212] DECIMAL: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 16582697654] ▶ Testing module: v3/src/test_runner/modules/format_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 16589629546] Testing word: HEX +[Hera] [HADES][TEST ] [KRELTSC: 16594137722] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 16599358828] Running HEX.from_decimal: DECIMAL 255 HEX . CR +[Hera] FF +[Hera] [HADES][TEST ] [KRELTSC: 16607103816] Test passed +[Hera] [HADES][TEST ] Testing HEX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16616419364] Expected: Should print: FF +[Hera] [HADES][TEST ] [KRELTSC: 16622933108] Running HEX.from_octal: OCTAL 52 HEX . CR +[Hera] 2A +[Hera] [HADES][TEST ] [KRELTSC: 16631525178] Test passed +[Hera] [HADES][TEST ] Testing HEX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16639436622] Expected: Should print: 2A +[Hera] [HADES][TEST ] [KRELTSC: 16644175114] Running HEX.state_persist: HEX FF . CR DECIMAL 255 . CR +[Hera] FF +[Hera] [HADES][INFO ] [KRELTSC: 16652011108] L8[TABLE]: Config 38 → 39 regime=2 score=52428 L1=0 L2=1 L3=0 +[Hera] 255 +[Hera] [HADES][TEST ] [KRELTSC: 16660719872] Test passed +[Hera] [HADES][TEST ] Testing HEX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16669322880] Expected: Should maintain base +[Hera] [HADES][TEST ] [KRELTSC: 16674925772] HEX: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 16680735918] ▶ Testing module: v3/src/test_runner/modules/format_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 16687506382] Testing word: OCTAL +[Hera] [HADES][TEST ] [KRELTSC: 16691783560] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 16696501572] Running OCTAL.from_decimal: DECIMAL 42 OCTAL . CR +[Hera] 52 +[Hera] [HADES][TEST ] [KRELTSC: 16704136594] Test passed +[Hera] [HADES][TEST ] Testing OCTAL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16712638920] Expected: Should print: 52 +[Hera] [HADES][TEST ] [KRELTSC: 16717741168] Running OCTAL.from_hex: HEX 2A OCTAL . CR +[Hera] 52 +[Hera] [HADES][TEST ] [KRELTSC: 16725035858] Test passed +[Hera] [HADES][TEST ] Testing OCTAL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16735326164] Expected: Should print: 52 +[Hera] [HADES][TEST ] [KRELTSC: 16741888030] Running OCTAL.state_persist: DECIMAL 42 . CR OCTAL 52 . CR +[Hera] 42 +[Hera] 52 +[Hera] [HADES][TEST ] [KRELTSC: 16754679674] Test passed +[Hera] [HADES][TEST ] Testing OCTAL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16763476050] Expected: Should maintain base +[Hera] [HADES][TEST ] [KRELTSC: 16768966940] OCTAL: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 16775011936] ▶ Testing module: v3/src/test_runner/modules/format_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 16782032672] Testing word: <# +[Hera] [HADES][TEST ] [KRELTSC: 16787700680] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 16793699226] Running <#.basic: DECIMAL 42 S>D <# #S #> TYPE CR +[Hera] 774763251095801167872 +[Hera] [HADES][TEST ] [KRELTSC: 16803524560] Test passed +[Hera] [HADES][TEST ] Testing <# ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16811811266] Expected: Should format number +[Hera] [HADES][TEST ] [KRELTSC: 16817254110] Running <#.empty: 0 <# #> TYPE CR + +[Hera] [HADES][TEST ] [KRELTSC: 16822787574] Test passed +[Hera] [HADES][TEST ] Testing <# ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16831075204] Expected: Should handle zero +[Hera] [HADES][TEST ] [KRELTSC: 16836362702] Running <#.negative: -42 <# #S #> TYPE CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 16844105808] Test passed +[Hera] [HADES][TEST ] Testing <# ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16852667342] Expected: Should handle negative +[Hera] [HADES][TEST ] [KRELTSC: 16858237342] <#: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 16864081954] ▶ Testing module: v3/src/test_runner/modules/format_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 16870936204] Testing word: # +[Hera] [HADES][TEST ] [KRELTSC: 16875465666] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 16880524738] Running #.single_digit: 15 <# # #> TYPE CR +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 16888309360] Test passed +[Hera] [HADES][TEST ] Testing # ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16896755420] Expected: Should print rightmost digit +[Hera] [HADES][TEST ] [KRELTSC: 16904098362] Running #.multiple: 15 <# # # #> TYPE CR +[Hera] 15 +[Hera] [HADES][TEST ] [KRELTSC: 16911873758] Test passed +[Hera] [HADES][TEST ] Testing # ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16920304564] Expected: Should print digits right to left +[Hera] [HADES][TEST ] [KRELTSC: 16926295790] Running #.zero_pad: 5 <# # 0 # #> TYPE CR +[Hera] 05 +[Hera] [HADES][TEST ] [KRELTSC: 16934046306] Test passed +[Hera] [HADES][TEST ] Testing # ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16942477184] Expected: Should handle zero padding +[Hera] [HADES][TEST ] [KRELTSC: 16947951936] #: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 16953684178] ▶ Testing module: v3/src/test_runner/modules/format_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 16959964648] Testing word: #S +[Hera] [HADES][TEST ] [KRELTSC: 16964151634] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 16968674962] Running #S.basic: 42 <# #S #> TYPE CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 16975442760] Test passed +[Hera] [HADES][TEST ] Testing #S ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16979432908] Expected: Should convert all digits +[Hera] [HADES][TEST ] [KRELTSC: 16982246994] Running #S.zero: 0 <# #S #> TYPE CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 16987901020] Test passed +[Hera] [HADES][TEST ] Testing #S ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 16995591122] Expected: Should handle zero +[Hera] [HADES][TEST ] [KRELTSC: 17000423648] Running #S.large: 1234567890 <# #S #> TYPE CR +[Hera] 1234567890 +[Hera] [HADES][TEST ] [KRELTSC: 17008294764] Test passed +[Hera] [HADES][TEST ] Testing #S ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17016876420] Expected: Should handle large numbers +[Hera] [HADES][TEST ] [KRELTSC: 17022423106] #S: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 17027929594] ▶ Testing module: v3/src/test_runner/modules/format_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 17034642038] Testing word: SIGN +[Hera] [HADES][TEST ] [KRELTSC: 17039256836] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 17044033700] Running SIGN.negative: -42 ABS <# #S SIGN #> TYPE CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 17052006742] Test passed +[Hera] [HADES][TEST ] Testing SIGN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17059775178] Expected: Should add minus +[Hera] [HADES][TEST ] [KRELTSC: 17064552854] Running SIGN.positive: 42 <# #S SIGN #> TYPE CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 17071835082] Test passed +[Hera] [HADES][TEST ] Testing SIGN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17079668624] Expected: Should not add sign +[Hera] [HADES][TEST ] [KRELTSC: 17084617386] Running SIGN.zero: 0 <# #S SIGN #> TYPE CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 17091448504] Test passed +[Hera] [HADES][TEST ] Testing SIGN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17099369848] Expected: Should handle zero +[Hera] [HADES][TEST ] [KRELTSC: 17104747728] SIGN: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 17110716184] ▶ Testing module: v3/src/test_runner/modules/format_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 17117297860] Testing word: #> +[Hera] [HADES][TEST ] [KRELTSC: 17121748342] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 17126211488] Running #>.normal: 42 <# #S #> TYPE CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 17133452776] Test passed +[Hera] [HADES][TEST ] Testing #> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17141234562] Expected: Should terminate formatting +[Hera] [HADES][TEST ] [KRELTSC: 17146511314] Running #>.empty: 0 <# #> TYPE CR + +[Hera] [HADES][TEST ] [KRELTSC: 17152100926] Test passed +[Hera] [HADES][TEST ] Testing #> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17160659414] Expected: Should handle empty format +[Hera] [HADES][TEST ] [KRELTSC: 17166053684] Running #>.stack_effect: 42 <# #S #> SWAP . . CR +[Hera] 24 2 +[Hera] [HADES][TEST ] [KRELTSC: 17173503436] Test passed +[Hera] [HADES][TEST ] Testing #> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17181265106] Expected: Should leave addr u +[Hera] [HADES][TEST ] [KRELTSC: 17186195366] #>: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 17191525290] ▶ Testing module: v3/src/test_runner/modules/format_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 17197739262] Testing word: HOLD +[Hera] [HADES][TEST ] [KRELTSC: 17201902408] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 17206365596] Running HOLD.basic: 42 <# 46 HOLD #S #> TYPE CR +[Hera] 42. +[Hera] [HADES][TEST ] [KRELTSC: 17213547852] Test passed +[Hera] [HADES][TEST ] Testing HOLD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17221428096] Expected: Should insert dot +[Hera] [HADES][TEST ] [KRELTSC: 17226280934] Running HOLD.overflow: <# 257 HOLD #> +[Hera] [HADES][ERROR] [KRELTSC: 17231571388] HOLD: byte out of range (257) +[Hera] [HADES][TEST ] [KRELTSC: 17235880066] Expected error occurred +[Hera] [HADES][TEST ] Testing HOLD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17243392632] Expected: Should handle overflow +[Hera] [HADES][TEST ] [KRELTSC: 17248778076] HOLD: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 17254533794] === Format Words Summary: 0 passed, 0 failed, 0 skipped, 0 erro +[Hera] [HADES][INFO ] [KRELTSC: 17260490776] +[Hera] === Testing Module: String Words === +[Hera] [HADES][INFO ] [KRELTSC: 17266565372] Running String Words Tests (Module 11)... +[Hera] [HADES][TEST ] [KRELTSC: 17271893260] ▶ Testing module: v3/src/test_runner/modules/string_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 17278296938] Testing word: COUNT +[Hera] [HADES][TEST ] [KRELTSC: 17282213962] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 17288076020] Running COUNT.basic: HERE S" Test" DROP COUNT . . CR +[Hera] 84 121 +[Hera] [HADES][TEST ] [KRELTSC: 17296926050] Test passed +[Hera] [HADES][TEST ] Testing COUNT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17304829584] Expected: Should show length and addr+1 +[Hera] [HADES][TEST ] [KRELTSC: 17312021564] Running COUNT.empty: HERE 0 OVER C! COUNT . . CR +[Hera] 0 126 +[Hera] [HADES][TEST ] [KRELTSC: 17321772356] Test passed +[Hera] [HADES][TEST ] Testing COUNT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17330680760] Expected: Should handle empty string +[Hera] [HADES][TEST ] [KRELTSC: 17338422758] Running COUNT.max_length: HERE 255 OVER C! COUNT . . CR +[Hera] 255 126 +[Hera] [HADES][TEST ] [KRELTSC: 17348405580] Test passed +[Hera] [HADES][TEST ] Testing COUNT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17357002402] Expected: Should handle max length +[Hera] [HADES][TEST ] [KRELTSC: 17363660306] Running COUNT.string_bounds: HERE COUNT SWAP 1- = . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 17371979482] Test passed +[Hera] [HADES][TEST ] Testing COUNT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17380526770] Expected: Should increment address +[Hera] [HADES][TEST ] [KRELTSC: 17386065992] Running COUNT.empty_stack: COUNT +[Hera] [HADES][ERROR] [KRELTSC: 17391203498] COUNT: Data stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 17396036404] Expected error occurred +[Hera] [HADES][TEST ] Testing COUNT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17404413688] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 17409673774] COUNT: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 17415260806] ▶ Testing module: v3/src/test_runner/modules/string_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 17422227168] Testing word: -TRAILING +[Hera] [HADES][TEST ] [KRELTSC: 17427101316] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 17432877314] Running -TRAILING.basic: HERE S" Test " -TRAILING TYPE CR +[Hera] Test +[Hera] [HADES][TEST ] [KRELTSC: 17441826842] Test passed +[Hera] [HADES][TEST ] Testing -TRAILING ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17451734574] Expected: Should trim spaces +[Hera] [HADES][TEST ] [KRELTSC: 17458142858] Running -TRAILING.all_spaces: HERE S" " -TRAILING TYPE CR + +[Hera] [HADES][TEST ] [KRELTSC: 17465387042] Test passed +[Hera] [HADES][TEST ] Testing -TRAILING ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17474422674] Expected: Should handle all spaces +[Hera] [HADES][TEST ] [KRELTSC: 17480995846] Running -TRAILING.no_spaces: HERE S" Test" -TRAILING TYPE CR +[Hera] Test +[Hera] [HADES][TEST ] [KRELTSC: 17489406618] Test passed +[Hera] [HADES][TEST ] Testing -TRAILING ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17498909802] Expected: Should handle no spaces +[Hera] [HADES][TEST ] [KRELTSC: 17504993368] Running -TRAILING.empty: HERE 0 -TRAILING TYPE CR + +[Hera] [HADES][TEST ] [KRELTSC: 17512298236] Test passed +[Hera] [HADES][TEST ] Testing -TRAILING ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17521779092] Expected: Should handle empty string +[Hera] [HADES][TEST ] [KRELTSC: 17528119740] -TRAILING: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 17536073670] ▶ Testing module: v3/src/test_runner/modules/string_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 17542838902] Testing word: CMOVE +[Hera] [HADES][TEST ] [KRELTSC: 17547498934] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 17553046020] Running CMOVE.basic: HERE S" Test" DUP >R HERE 10 + SWAP CMOV + +[Hera] [HADES][TEST ] [KRELTSC: 17561690080] Test passed +[Hera] [HADES][TEST ] Testing CMOVE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17574694394] Expected: Should copy string +[Hera] [HADES][TEST ] [KRELTSC: 17582620978] Running CMOVE.empty: HERE HERE 10 + 0 CMOVE +[Hera] [HADES][TEST ] [KRELTSC: 17590757202] Test passed +[Hera] [HADES][TEST ] Testing CMOVE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17601370598] Expected: Should handle zero count +[Hera] [HADES][TEST ] [KRELTSC: 17609785842] Running CMOVE.overlap: HERE DUP 1+ 5 CMOVE +[Hera] [HADES][TEST ] [KRELTSC: 17618458128] Test passed +[Hera] [HADES][TEST ] Testing CMOVE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17630352712] Expected: Should handle overlap +[Hera] [HADES][TEST ] [KRELTSC: 17637426118] Running CMOVE.bounds: HERE PAD 1000 CMOVE +[Hera] [HADES][ERROR] [KRELTSC: 17644041754] CMOVE: out-of-bounds (src=125 dst=5242368 n=1000) +[Hera] [HADES][TEST ] [KRELTSC: 17650908564] Expected error occurred +[Hera] [HADES][TEST ] Testing CMOVE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17660553916] Expected: Should check bounds +[Hera] [HADES][TEST ] [KRELTSC: 17665996026] CMOVE: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 17672205124] ▶ Testing module: v3/src/test_runner/modules/string_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 17678450626] Testing word: CMOVE> +[Hera] [HADES][TEST ] [KRELTSC: 17683074848] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 17687666748] Running CMOVE>.basic: HERE S" Test" DUP >R HERE 10 + SWAP CMO + +[Hera] [HADES][TEST ] [KRELTSC: 17694615540] Test passed +[Hera] [HADES][TEST ] Testing CMOVE> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17702836838] Expected: Should copy backward +[Hera] [HADES][TEST ] [KRELTSC: 17708287052] Running CMOVE>.empty: HERE HERE 10 + 0 CMOVE> +[Hera] [HADES][TEST ] [KRELTSC: 17714027472] Test passed +[Hera] [HADES][TEST ] Testing CMOVE> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17722556494] Expected: Should handle zero count +[Hera] [HADES][TEST ] [KRELTSC: 17728189596] Running CMOVE>.overlap: HERE DUP 1+ 5 CMOVE> +[Hera] [HADES][TEST ] [KRELTSC: 17734266212] Test passed +[Hera] [HADES][TEST ] Testing CMOVE> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17743022670] Expected: Should handle overlap +[Hera] [HADES][TEST ] [KRELTSC: 17748553910] Running CMOVE>.bounds: HERE PAD 1000 CMOVE> +[Hera] [HADES][ERROR] [KRELTSC: 17754752294] CMOVE>: out-of-bounds (src=125 dst=5242368 n=1000) +[Hera] [HADES][TEST ] [KRELTSC: 17760809582] Expected error occurred +[Hera] [HADES][TEST ] Testing CMOVE> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17771312804] Expected: Should check bounds +[Hera] [HADES][TEST ] [KRELTSC: 17776295836] CMOVE>: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 17781893548] ▶ Testing module: v3/src/test_runner/modules/string_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 17788157006] Testing word: COMPARE +[Hera] [HADES][TEST ] [KRELTSC: 17792302510] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 17796865566] Running COMPARE.equal: HERE S" Test" HERE S" Test" COMPARE . +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 17805758448] Test passed +[Hera] [HADES][TEST ] Testing COMPARE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17817695918] Expected: Should return 0 +[Hera] [HADES][TEST ] [KRELTSC: 17823754590] Running COMPARE.less: HERE S" Test1" HERE S" Test2" COMPARE . +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 17832483494] Test passed +[Hera] [HADES][TEST ] Testing COMPARE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17842358738] Expected: Should return -1 +[Hera] [HADES][TEST ] [KRELTSC: 17848686404] Running COMPARE.greater: HERE S" Test2" HERE S" Test1" COMPAR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 17858095918] Test passed +[Hera] [HADES][TEST ] Testing COMPARE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17869995712] Expected: Should return 1 +[Hera] [HADES][TEST ] [KRELTSC: 17876998748] Running COMPARE.different_lengths: HERE S" Test" HERE S" Test +[Hera] [HADES][INFO ] [KRELTSC: 17901940950] L8[TABLE]: Config 39 → 40 regime=2 score=6553 L1=0 L2=1 L3=0 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 17913736498] Test passed +[Hera] [HADES][TEST ] Testing COMPARE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17926401502] Expected: Should handle lengths +[Hera] [HADES][TEST ] [KRELTSC: 17934771960] Running COMPARE.empty: HERE 0 HERE 0 COMPARE . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 17946759962] Test passed +[Hera] [HADES][TEST ] Testing COMPARE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 17957872694] Expected: Should handle empty +[Hera] [HADES][TEST ] [KRELTSC: 17968240808] COMPARE: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 17975914106] ▶ Testing module: v3/src/test_runner/modules/string_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 17981830418] Testing word: SEARCH +[Hera] [HADES][TEST ] [KRELTSC: 17986498130] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 17992849798] Running SEARCH.found: HERE S" Testing" HERE S" Test" SEARCH . +[Hera] -1 15 120 +[Hera] [HADES][TEST ] [KRELTSC: 18006317788] Test passed +[Hera] [HADES][TEST ] Testing SEARCH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18016940724] Expected: Should find substring +[Hera] [HADES][TEST ] [KRELTSC: 18023988008] Running SEARCH.not_found: HERE S" Testing" HERE S" Xyz" SEARC +[Hera] -1 7 141 +[Hera] [HADES][TEST ] [KRELTSC: 18032273400] Test passed +[Hera] [HADES][TEST ] Testing SEARCH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18035271444] Expected: Should return false +[Hera] [HADES][TEST ] [KRELTSC: 18036767058] Running SEARCH.empty_pattern: HERE S" Test" HERE 0 SEARCH . . +[Hera] -1 4 145 +[Hera] [HADES][TEST ] [KRELTSC: 18042283276] Test passed +[Hera] [HADES][TEST ] Testing SEARCH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18049541044] Expected: Should handle empty pattern +[Hera] [HADES][TEST ] [KRELTSC: 18055299574] Running SEARCH.empty_string: HERE 0 HERE S" Test" SEARCH . . +[Hera] -1 30 120 +[Hera] [HADES][TEST ] [KRELTSC: 18064165678] Test passed +[Hera] [HADES][TEST ] Testing SEARCH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18072490376] Expected: Should handle empty string +[Hera] [HADES][TEST ] [KRELTSC: 18078348170] SEARCH: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 18084472348] ▶ Testing module: v3/src/test_runner/modules/string_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 18091359778] Testing word: SCAN +[Hera] [HADES][TEST ] [KRELTSC: 18096041812] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 18101091574] Running SCAN.basic: HERE S" Test,Data" BL SCAN TYPE CR + +[Hera] [HADES][TEST ] [KRELTSC: 18108143844] Test passed +[Hera] [HADES][TEST ] Testing SCAN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18118412516] Expected: Should find space +[Hera] [HADES][TEST ] [KRELTSC: 18123773846] Running SCAN.not_found: HERE S" TestData" BL SCAN TYPE CR + +[Hera] [HADES][TEST ] [KRELTSC: 18130381390] Test passed +[Hera] [HADES][TEST ] Testing SCAN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18139177274] Expected: Should scan to end +[Hera] [HADES][TEST ] [KRELTSC: 18144609420] Running SCAN.empty: HERE 0 BL SCAN TYPE CR + +[Hera] [HADES][TEST ] [KRELTSC: 18150822316] Test passed +[Hera] [HADES][TEST ] Testing SCAN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18159563362] Expected: Should handle empty +[Hera] [HADES][TEST ] [KRELTSC: 18165115828] Running SCAN.all_delims: HERE S" " BL SCAN TYPE CR +[Hera] +[Hera] [HADES][TEST ] [KRELTSC: 18174588468] Test passed +[Hera] [HADES][TEST ] Testing SCAN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18183564012] Expected: Should handle all delims +[Hera] [HADES][TEST ] [KRELTSC: 18189250060] SCAN: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 18195428702] ▶ Testing module: v3/src/test_runner/modules/string_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 18202169378] Testing word: SKIP +[Hera] [HADES][TEST ] [KRELTSC: 18207168580] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 18211144874] Running SKIP.basic: HERE S" Test" BL SKIP TYPE CR +[Hera] Test +[Hera] [HADES][TEST ] [KRELTSC: 18219752656] Test passed +[Hera] [HADES][TEST ] Testing SKIP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18229661760] Expected: Should skip spaces +[Hera] [HADES][TEST ] [KRELTSC: 18234674168] Running SKIP.no_delims: HERE S" Test" BL SKIP TYPE CR +[Hera] Test +[Hera] [HADES][TEST ] [KRELTSC: 18242392394] Test passed +[Hera] [HADES][TEST ] Testing SKIP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18249946824] Expected: Should not skip +[Hera] [HADES][TEST ] [KRELTSC: 18254750890] Running SKIP.empty: HERE 0 BL SKIP TYPE CR + +[Hera] [HADES][TEST ] [KRELTSC: 18260295248] Test passed +[Hera] [HADES][TEST ] Testing SKIP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18268132750] Expected: Should handle empty +[Hera] [HADES][TEST ] [KRELTSC: 18273583990] Running SKIP.all_delims: HERE S" " BL SKIP TYPE CR + +[Hera] [HADES][TEST ] [KRELTSC: 18280286944] Test passed +[Hera] [HADES][TEST ] Testing SKIP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18289485664] Expected: Should skip all +[Hera] [HADES][TEST ] [KRELTSC: 18294654254] SKIP: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 18300215868] ▶ Testing module: v3/src/test_runner/modules/string_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 18306733640] Testing word: BLANK +[Hera] [HADES][TEST ] [KRELTSC: 18311333124] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 18316265228] Running BLANK.basic: HERE 5 BLANK HERE 5 TYPE CR +[Hera] +[Hera] [HADES][TEST ] [KRELTSC: 18324701484] Test passed +[Hera] [HADES][TEST ] Testing BLANK ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18333369678] Expected: Should fill with spaces +[Hera] [HADES][TEST ] [KRELTSC: 18339439304] Running BLANK.zero: HERE 0 BLANK HERE 0 TYPE CR + +[Hera] [HADES][TEST ] [KRELTSC: 18348938760] Test passed +[Hera] [HADES][TEST ] Testing BLANK ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18361297562] Expected: Should handle zero count +[Hera] [HADES][TEST ] [KRELTSC: 18369640284] BLANK: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 18378645402] ▶ Testing module: v3/src/test_runner/modules/string_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 18388922740] Testing word: S" +[Hera] [HADES][TEST ] [KRELTSC: 18395689324] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 18403590786] Running S".interpret_len: S" hello" . CR +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 18410529774] Test passed +[Hera] [HADES][TEST ] Testing S" ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18419246172] Expected: Should print: 5 (length) +[Hera] [HADES][TEST ] [KRELTSC: 18426473610] Running S".interpret_type: S" hello" TYPE CR +[Hera] hello +[Hera] [HADES][TEST ] [KRELTSC: 18435856176] Test passed +[Hera] [HADES][TEST ] Testing S" ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18447363544] Expected: Should print: hello +[Hera] [HADES][TEST ] [KRELTSC: 18455104678] Running S".empty: S" " . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 18464987282] Test passed +[Hera] [HADES][TEST ] Testing S" ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18477741934] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 18485784862] Running S".compile_type: : TSQ S" world" TYPE CR ; TSQ +[Hera] world +[Hera] [HADES][TEST ] [KRELTSC: 18500768038] Test passed +[Hera] [HADES][TEST ] Testing S" ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18510126998] Expected: Should print: world +[Hera] [HADES][TEST ] [KRELTSC: 18516373834] Running S".compile_len: : TSQ2 S" forth" SWAP DROP . CR ; TSQ +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 18525266884] Test passed +[Hera] [HADES][TEST ] Testing S" ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18534675274] Expected: Should print: 5 +[Hera] [HADES][TEST ] [KRELTSC: 18539472254] Running S".compile_twice: : TSQ3 S" ab" TYPE S" cd" TYPE CR ; +[Hera] abcd +[Hera] [HADES][TEST ] [KRELTSC: 18548919760] Test passed +[Hera] [HADES][TEST ] Testing S" ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18557306746] Expected: Should print: abcd +[Hera] [HADES][TEST ] [KRELTSC: 18562227392] S": 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 18568325360] ▶ Testing module: v3/src/test_runner/modules/string_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 18575927550] Testing word: BL +[Hera] [HADES][TEST ] [KRELTSC: 18580759108] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 18586474958] Running BL.value: BL . CR +[Hera] 32 +[Hera] [HADES][TEST ] [KRELTSC: 18593196856] Test passed +[Hera] [HADES][TEST ] Testing BL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18601893684] Expected: Should print: 32 +[Hera] [HADES][TEST ] [KRELTSC: 18607260806] Running BL.as_char: BL EMIT CR +[Hera] +[Hera] [HADES][TEST ] [KRELTSC: 18613423876] Test passed +[Hera] [HADES][TEST ] Testing BL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18621743146] Expected: Should emit a space +[Hera] [HADES][TEST ] [KRELTSC: 18626882090] Running BL.in_scan: HERE S" a b" BL SCAN SWAP DROP . CR +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 18634991170] Test passed +[Hera] [HADES][TEST ] Testing BL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18643506160] Expected: Should find space at offset 1 +[Hera] [HADES][TEST ] [KRELTSC: 18648970250] BL: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 18653985372] ▶ Testing module: v3/src/test_runner/modules/string_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 18660138212] Testing word: SOURCE +[Hera] [HADES][TEST ] [KRELTSC: 18664505872] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 18669112752] Running SOURCE.returns_pair: SOURCE SWAP DROP 0< NOT . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 18677366174] Test passed +[Hera] [HADES][TEST ] Testing SOURCE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18686236338] Expected: Should return non-negative length +[Hera] [HADES][TEST ] [KRELTSC: 18692242912] Running SOURCE.has_addr: SOURCE DROP 0<> . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 18699984870] Test passed +[Hera] [HADES][TEST ] Testing SOURCE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18708458034] Expected: Should return non-null address +[Hera] [HADES][TEST ] [KRELTSC: 18714036846] SOURCE: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 18719911498] ▶ Testing module: v3/src/test_runner/modules/string_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 18726880550] Testing word: >IN +[Hera] [HADES][TEST ] [KRELTSC: 18731441220] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 18736428372] Running >IN.initial: >IN @ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 18742770778] Test passed +[Hera] [HADES][TEST ] Testing >IN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18752208638] Expected: Should return input offset +[Hera] [HADES][TEST ] [KRELTSC: 18758325260] Running >IN.advances: : TWIN >IN @ >IN @ - . CR ; TWIN +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 18767312454] Test passed +[Hera] [HADES][TEST ] Testing >IN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18777920146] Expected: Should print: 0 (no advance inside compiled word) +[Hera] [HADES][TEST ] [KRELTSC: 18787026486] >IN: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 18794767004] === String Words Summary: 0 passed, 0 failed, 0 skipped, 0 erro +[Hera] [HADES][INFO ] [KRELTSC: 18805761846] +[Hera] === Testing Module: I/O Words === +[Hera] [HADES][INFO ] [KRELTSC: 18816509960] Running I/O Words Tests (Module 9)... +[Hera] [HADES][TEST ] [KRELTSC: 18823954104] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 18834220012] Testing word: . +[Hera] [HADES][TEST ] [KRELTSC: 18839732378] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 18845672332] Running ..positive: 42 . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 18855751270] Test passed +[Hera] [HADES][TEST ] Testing . ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18868320072] Expected: Should print: 42 +[Hera] [HADES][TEST ] [KRELTSC: 18875815398] Running ..negative: -42 . CR +[Hera] -42 +[Hera] [HADES][TEST ] [KRELTSC: 18884320152] Test passed +[Hera] [HADES][TEST ] Testing . ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18894138046] Expected: Should print: -42 +[Hera] [HADES][TEST ] [KRELTSC: 18901407096] Running ..zero: 0 . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 18909703424] Test passed +[Hera] [HADES][TEST ] Testing . ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18921624660] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 18928802544] Running ..max_int: 2147483647 . CR +[Hera] 2147483647 +[Hera] [HADES][TEST ] [KRELTSC: 18937303536] Test passed +[Hera] [HADES][TEST ] Testing . ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18949226996] Expected: Should print: 2147483647 +[Hera] [HADES][TEST ] [KRELTSC: 18955940190] Running ..min_int: -2147483648 . CR +[Hera] -2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 18966994900] Test passed +[Hera] [HADES][TEST ] Testing . ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 18979418182] Expected: Should print: -2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 18987715110] Running ..multiple: 1 2 3 . . . CR +[Hera] 3 2 1 +[Hera] [HADES][TEST ] [KRELTSC: 18997130350] Test passed +[Hera] [HADES][TEST ] Testing . ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19005625188] Expected: Should print: 3 2 1 +[Hera] [HADES][TEST ] [KRELTSC: 19011139526] Running ..empty_stack: . +[Hera] [HADES][TEST ] [KRELTSC: 19016279706] Expected error occurred +[Hera] [HADES][TEST ] Testing . ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19025284044] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 19034070964] .: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 19043262244] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 19053689906] Testing word: CR +[Hera] [HADES][TEST ] [KRELTSC: 19060374172] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 19067731554] Running CR.basic: 42 . CR 43 . CR +[Hera] 42 +[Hera] 43 +[Hera] [HADES][TEST ] [KRELTSC: 19080534584] Test passed +[Hera] [HADES][TEST ] Testing CR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19093144312] Expected: Should print on separate lines +[Hera] [HADES][TEST ] [KRELTSC: 19099089266] Running CR.multiple: CR CR CR + + + +[Hera] [HADES][TEST ] [KRELTSC: 19105078392] Test passed +[Hera] [HADES][TEST ] Testing CR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19114759758] Expected: Should print multiple newlines +[Hera] [HADES][TEST ] [KRELTSC: 19121066414] Running CR.no_stack_effect: DEPTH CR DEPTH = . CR + +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 19130828308] Test passed +[Hera] [HADES][TEST ] Testing CR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19139877336] Expected: Should not affect stack +[Hera] [HADES][TEST ] [KRELTSC: 19145526258] Running CR.after_output: 1 2 3 . . . CR +[Hera] 3 2 1 +[Hera] [HADES][TEST ] [KRELTSC: 19155652878] Test passed +[Hera] [HADES][TEST ] Testing CR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19166597860] Expected: Should work after output +[Hera] [HADES][TEST ] [KRELTSC: 19173291098] CR: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 19179954894] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 19189673028] Testing word: SPACE +[Hera] [HADES][TEST ] [KRELTSC: 19196441104] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 19203876420] Running SPACE.basic: 42 . SPACE 43 . CR +[Hera] 42 43 +[Hera] [HADES][TEST ] [KRELTSC: 19214786710] Test passed +[Hera] [HADES][TEST ] Testing SPACE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19226867102] Expected: Should add space between numbers +[Hera] [HADES][TEST ] [KRELTSC: 19234187172] Running SPACE.multiple: SPACE SPACE SPACE +[Hera] [HADES][INFO ] [KRELTSC: 19244477982] L8[TABLE]: Config 40 → 0 regime=7 score=26214 L1=0 L2=0 L3=0 +[Hera] [HADES][TEST ] [KRELTSC: 19253962542] Test passed +[Hera] [HADES][TEST ] Testing SPACE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19265103210] Expected: Should print multiple spaces +[Hera] [HADES][TEST ] [KRELTSC: 19272704076] Running SPACE.no_stack_effect: DEPTH SPACE DEPTH = . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 19283451008] Test passed +[Hera] [HADES][TEST ] Testing SPACE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19293961414] Expected: Should not affect stack +[Hera] [HADES][TEST ] [KRELTSC: 19301761764] Running SPACE.with_text: 65 EMIT SPACE 66 EMIT CR +[Hera] A B +[Hera] [HADES][TEST ] [KRELTSC: 19312554464] Test passed +[Hera] [HADES][TEST ] Testing SPACE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19324662410] Expected: Should space between chars +[Hera] [HADES][TEST ] [KRELTSC: 19332183370] SPACE: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 19340313466] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 19349290862] Testing word: SPACES +[Hera] [HADES][TEST ] [KRELTSC: 19355506620] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 19362819344] Running SPACES.zero: 0 SPACES +[Hera] [HADES][TEST ] [KRELTSC: 19370649992] Test passed +[Hera] [HADES][TEST ] Testing SPACES ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19383153872] Expected: Should print no spaces +[Hera] [HADES][TEST ] [KRELTSC: 19391613680] Running SPACES.one: 1 SPACES +[Hera] [HADES][TEST ] [KRELTSC: 19401418654] Test passed +[Hera] [HADES][TEST ] Testing SPACES ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19412121786] Expected: Should print one space +[Hera] [HADES][TEST ] [KRELTSC: 19420052896] Running SPACES.multiple: 5 SPACES +[Hera] [HADES][TEST ] [KRELTSC: 19430585038] Test passed +[Hera] [HADES][TEST ] Testing SPACES ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19441583250] Expected: Should print five spaces +[Hera] [HADES][TEST ] [KRELTSC: 19448918384] Running SPACES.large: 20 SPACES +[Hera] [HADES][TEST ] [KRELTSC: 19460539310] Test passed +[Hera] [HADES][TEST ] Testing SPACES ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19472153616] Expected: Should print twenty spaces +[Hera] [HADES][TEST ] [KRELTSC: 19480787618] Running SPACES.negative: -5 SPACES +[Hera] [HADES][TEST ] [KRELTSC: 19489388116] Test passed +[Hera] [HADES][TEST ] Testing SPACES ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19503139934] Expected: Should handle negative +[Hera] [HADES][TEST ] [KRELTSC: 19511110428] Running SPACES.with_output: 42 . 3 SPACES 43 . CR +[Hera] 42 43 +[Hera] [HADES][TEST ] [KRELTSC: 19520657016] Test passed +[Hera] [HADES][TEST ] Testing SPACES ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19532797700] Expected: Should space output +[Hera] [HADES][TEST ] [KRELTSC: 19540298246] Running SPACES.empty_stack: SPACES +[Hera] [HADES][TEST ] [KRELTSC: 19548604016] Expected error occurred +[Hera] [HADES][TEST ] Testing SPACES ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19563613888] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 19571612380] SPACES: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 19579156084] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 19589027610] Testing word: EMIT +[Hera] [HADES][TEST ] [KRELTSC: 19596054918] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 19603452888] Running EMIT.letter_A: 65 EMIT CR +[Hera] A +[Hera] [HADES][TEST ] [KRELTSC: 19613634902] Test passed +[Hera] [HADES][TEST ] Testing EMIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19624203292] Expected: Should print: A +[Hera] [HADES][TEST ] [KRELTSC: 19629321876] Running EMIT.letter_Z: 90 EMIT CR +[Hera] Z +[Hera] [HADES][TEST ] [KRELTSC: 19636485112] Test passed +[Hera] [HADES][TEST ] Testing EMIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19645033090] Expected: Should print: Z +[Hera] [HADES][TEST ] [KRELTSC: 19650169108] Running EMIT.digit: 48 EMIT CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 19657232330] Test passed +[Hera] [HADES][TEST ] Testing EMIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19665933596] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 19671620838] Running EMIT.space_char: 32 EMIT CR +[Hera] +[Hera] [HADES][TEST ] [KRELTSC: 19680277692] Test passed +[Hera] [HADES][TEST ] Testing EMIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19688940082] Expected: Should print space +[Hera] [HADES][TEST ] [KRELTSC: 19693959756] Running EMIT.newline: 10 EMIT + +[Hera] [HADES][TEST ] [KRELTSC: 19699466442] Test passed +[Hera] [HADES][TEST ] Testing EMIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19708861820] Expected: Should print newline +[Hera] [HADES][TEST ] [KRELTSC: 19717391794] Running EMIT.high_ascii: 127 EMIT CR +[Hera]  +[Hera] [HADES][TEST ] [KRELTSC: 19728235850] Test passed +[Hera] [HADES][TEST ] Testing EMIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19741096548] Expected: Should print DEL char +[Hera] [HADES][TEST ] [KRELTSC: 19749306858] Running EMIT.truncation: 321 EMIT CR +[Hera] A +[Hera] [HADES][TEST ] [KRELTSC: 19759554136] Test passed +[Hera] [HADES][TEST ] Testing EMIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19769014694] Expected: Should truncate to low byte +[Hera] [HADES][TEST ] [KRELTSC: 19775409456] Running EMIT.negative: -1 EMIT CR +[Hera] ÿ +[Hera] [HADES][TEST ] [KRELTSC: 19786640778] Test passed +[Hera] [HADES][TEST ] Testing EMIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19799002710] Expected: Should handle negative +[Hera] [HADES][TEST ] [KRELTSC: 19806570822] Running EMIT.sequence: 72 EMIT 73 EMIT 10 EMIT +[Hera] HI +[Hera] [HADES][TEST ] [KRELTSC: 19817784586] Test passed +[Hera] [HADES][TEST ] Testing EMIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19829913768] Expected: Should print: HI +[Hera] [HADES][TEST ] [KRELTSC: 19837191868] Running EMIT.empty_stack: EMIT +[Hera] [HADES][TEST ] [KRELTSC: 19845571854] Expected error occurred +[Hera] [HADES][TEST ] Testing EMIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19857658198] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 19864352778] EMIT: 10 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 19872693146] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 19883058262] Testing word: KEY +[Hera] [HADES][TEST ] [KRELTSC: 19889815508] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 19895785286] KEY: 0 passed, 0 failed, 4 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 19902902790] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 19913133554] Testing word: ?KEY +[Hera] [HADES][TEST ] [KRELTSC: 19919626720] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 19926919768] ?KEY: 0 passed, 0 failed, 3 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 19935085418] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 19945047302] Testing word: TYPE +[Hera] [HADES][TEST ] [KRELTSC: 19951974824] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 19958890938] Running TYPE.basic_string: HERE S" Hello" DUP >R HERE SWAP CM +[Hera] Hello +[Hera] [HADES][TEST ] [KRELTSC: 19971503846] Test passed +[Hera] [HADES][TEST ] Testing TYPE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 19983831672] Expected: Should print: Hello +[Hera] [HADES][TEST ] [KRELTSC: 19991402886] Running TYPE.empty_string: HERE 0 TYPE CR + +[Hera] [HADES][TEST ] [KRELTSC: 19999529134] Test passed +[Hera] [HADES][TEST ] Testing TYPE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20010057790] Expected: Should print nothing +[Hera] [HADES][TEST ] [KRELTSC: 20016872786] Running TYPE.single_char: HERE 65 OVER C! 1 TYPE CR +[Hera] A +[Hera] [HADES][TEST ] [KRELTSC: 20028475070] Test passed +[Hera] [HADES][TEST ] Testing TYPE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20040432920] Expected: Should print: A +[Hera] [HADES][TEST ] [KRELTSC: 20045507240] Running TYPE.numbers: HERE S" 12345" DUP >R HERE SWAP CMOVE H +[Hera] 12345 +[Hera] [HADES][TEST ] [KRELTSC: 20057178640] Test passed +[Hera] [HADES][TEST ] Testing TYPE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20070207602] Expected: Should print: 12345 +[Hera] [HADES][TEST ] [KRELTSC: 20078056704] Running TYPE.zero_length: PAD 0 TYPE +[Hera] [HADES][TEST ] [KRELTSC: 20087022718] Test passed +[Hera] [HADES][TEST ] Testing TYPE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20099086872] Expected: Should handle zero length +[Hera] [HADES][TEST ] [KRELTSC: 20107203248] Running TYPE.one_item: PAD TYPE +[Hera] [HADES][ERROR] [KRELTSC: 20114633662] TYPE: Data stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 20122240276] Expected error occurred +[Hera] [HADES][TEST ] Testing TYPE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20134103500] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 20142047064] Running TYPE.empty_stack: TYPE +[Hera] [HADES][ERROR] [KRELTSC: 20149111072] TYPE: Data stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 20154870074] Expected error occurred +[Hera] [HADES][TEST ] Testing TYPE ... PASS +[Hera] [HADDES][TEST ] [KRELTSC: 20164172456] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 20172096802] TYPE: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 20178135216] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 20188300982] Testing word: COUNT +[Hera] [HADES][TEST ] [KRELTSC: 20195173030] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 20202128672] Running COUNT.basic: HERE S" Test" DROP C@ HERE 1+ SWAP COUNT +[Hera] 0 85 +[Hera] [HADES][TEST ] [KRELTSC: 20215147126] Test passed +[Hera] [HADES][TEST ] Testing COUNT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20227539792] Expected: Should show length and addr+1 +[Hera] [HADES][TEST ] [KRELTSC: 20236700216] Running COUNT.empty: HERE 0 OVER C! COUNT . . CR +[Hera] 0 126 +[Hera] [HADES][TEST ] [KRELTSC: 20247570642] Test passed +[Hera] [HADES][TEST ] Testing COUNT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20256872434] Expected: Should handle empty string +[Hera] [HADES][TEST ] [KRELTSC: 20264911468] Running COUNT.max_length: HERE 255 OVER C! COUNT . . CR +[Hera] 255 126 +[Hera] [HADES][TEST ] [KRELTSC: 20278240578] Test passed +[Hera] [HADES][TEST ] Testing COUNT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20291541164] Expected: Should handle max length +[Hera] [HADES][TEST ] [KRELTSC: 20299777042] Running COUNT.zero_addr_plus_one: HERE COUNT SWAP 1- = . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 20312309090] Test passed +[Hera] [HADES][TEST ] Testing COUNT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20324216940] Expected: Should increment address +[Hera] [HADES][TEST ] [KRELTSC: 20330185504] Running COUNT.empty_stack: COUNT +[Hera] [HADES][ERROR] [KRELTSC: 20338045868] COUNT: Data stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 20345650386] Expected error occurred +[Hera] [HADES][TEST ] Testing COUNT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20360190574] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 20366645546] COUNT: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 20373231220] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 20380550664] Testing word: EXPECT +[Hera] [HADES][TEST ] [KRELTSC: 20385690528] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 20390768258] Running EXPECT.zero_length: PAD 0 EXPECT +[Hera] [HADES][TEST ] [KRELTSC: 20397230606] Test passed +[Hera] [HADES][TEST ] Testing EXPECT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20405432608] Expected: Should handle zero length +[Hera] [HADES][TEST ] [KRELTSC: 20411112668] Running EXPECT.one_item: PAD EXPECT +[Hera] [HADES][TEST ] [KRELTSC: 20416942330] Expected error occurred +[Hera] [HADES][TEST ] Testing EXPECT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20430006376] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 20438267794] Running EXPECT.empty_stack: EXPECT +[Hera] [HADES][TEST ] [KRELTSC: 20444145938] Expected error occurred +[Hera] [HADES][TEST ] Testing EXPECT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20455352204] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 20464084930] EXPECT: 3 passed, 0 failed, 2 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 20473381396] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 20483830438] Testing word: SPAN +[Hera] [HADES][TEST ] [KRELTSC: 20490538080] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 20498203160] Running SPAN.zero_input: PAD 0 EXPECT SPAN @ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 20510212126] Test passed +[Hera] [HADES][TEST ] Testing SPAN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20521537520] Expected: Should show zero +[Hera] [HADES][TEST ] [KRELTSC: 20528263024] Running SPAN.variable_test: SPAN @ SPAN @ = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 20540158580] Test passed +[Hera] [HADES][TEST ] Testing SPAN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20550926438] Expected: Should be consistent +[Hera] [HADES][TEST ] [KRELTSC: 20556232030] Running SPAN.address_test: SPAN 0<> . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 20564184276] Test passed +[Hera] [HADES][TEST ] Testing SPAN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20573743824] Expected: Should be valid address +[Hera] [HADES][TEST ] [KRELTSC: 20579832344] SPAN: 3 passed, 0 failed, 1 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 20587478628] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 20594770602] Testing word: WORD +[Hera] [HADES][TEST ] [KRELTSC: 20601938024] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 20609445474] Running WORD.empty_input: BL WORD COUNT . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 20621329428] Test passed +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20633744838] Expected: Should handle empty input +[Hera] [HADES][TEST ] [KRELTSC: 20642428176] Running WORD.space_delim: 32 WORD DROP +[Hera] [HADES][TEST ] [KRELTSC: 20651421330] Test passed +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20664807296] Expected: Should use space as delimiter +[Hera] [HADES][TEST ] [KRELTSC: 20673997014] Running WORD.newline_delim: 10 WORD DROP +[Hera] [HADES][TEST ] [KRELTSC: 20682946454] Test passed +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20695670974] Expected: Should use newline as delimiter +[Hera] [HADES][TEST ] [KRELTSC: 20704450448] Running WORD.tab_delim: 9 WORD DROP +[Hera] [HADES][TEST ] [KRELTSC: 20713219858] Test passed +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20724827342] Expected: Should use tab as delimiter +[Hera] [HADES][TEST ] [KRELTSC: 20733491682] Running WORD.comma_delim: 44 WORD DROP +[Hera] [HADES][TEST ] [KRELTSC: 20740839748] Test passed +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20752452084] Expected: Should use comma as delimiter +[Hera] [HADES][TEST ] [KRELTSC: 20759108142] Running WORD.skip_leading: BL WORD DROP +[Hera] [HADES][TEST ] [KRELTSC: 20767177748] Test passed +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20778584546] Expected: Should skip leading spaces +[Hera] [HADES][TEST ] [KRELTSC: 20786577634] Running WORD.single_char: BL WORD COUNT . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 20796692648] Test passed +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20807998700] Expected: Should parse single character +[Hera] [HADES][TEST ] [KRELTSC: 20816323200] Running WORD.long_word: BL WORD COUNT 0 > . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 20826534890] Test passed +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20839064544] Expected: Should parse long word +[Hera] [HADES][TEST ] [KRELTSC: 20846875788] Running WORD.zero_delim: 0 WORD DROP +[Hera] [HADES][TEST ] [KRELTSC: 20853995670] Test passed +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20867048490] Expected: Should handle null delimiter +[Hera] [HADES][TEST ] [KRELTSC: 20875616178] Running WORD.high_ascii: 127 WORD DROP +[Hera] [HADES][TEST ] [KRELTSC: 20884654118] Test passed +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20897953068] Expected: Should handle DEL delimiter +[Hera] [HADES][TEST ] [KRELTSC: 20906503396] Running WORD.count_format: BL WORD C@ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 20914762058] Test passed +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20926420506] Expected: Should have count byte +[Hera] [HADES][TEST ] [KRELTSC: 20933366902] Running WORD.count_value: BL WORD COUNT SWAP DROP . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 20944597596] Test passed +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20955259464] Expected: Should return count +[Hera] [HADES][TEST ] [KRELTSC: 20962890150] Running WORD.empty_stack: WORD +[Hera] [HADES][TEST ] [KRELTSC: 20970700908] Expected error occurred +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 20982749882] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 20990621736] Running WORD.multi_delim: BL WORD DROP BL WORD DROP +[Hera] [HADES][TEST ] [KRELTSC: 20999779250] Test passed +[Hera] [HADES][TEST ] Testing WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21010747122] Expected: Should handle multiple parses +[Hera] [HADES][TEST ] [KRELTSC: 21017619402] WORD: 14 passed, 0 failed, 2 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 21025118884] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 21033859388] Testing word: BASE_OUTPUT +[Hera] [HADES][TEST ] [KRELTSC: 21041534176] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 21048926812] Running BASE_OUTPUT.decimal: 10 BASE ! 255 . CR +[Hera] 255 +[Hera] [HADES][TEST ] [KRELTSC: 21060599326] Test passed +[Hera] [HADES][TEST ] Testing BASE_OUTPUT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21072526848] Expected: Should print: 255 +[Hera] [HADES][TEST ] [KRELTSC: 21079699502] Running BASE_OUTPUT.hex: 16 BASE ! 255 . CR +[Hera] 597 +[Hera] [HADES][TEST ] [KRELTSC: 21089223918] Test passed +[Hera] [HADES][TEST ] Testing BASE_OUTPUT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21101564950] Expected: Should print: FF +[Hera] [HADES][TEST ] [KRELTSC: 21108079066] Running BASE_OUTPUT.octal: 8 BASE ! 64 . CR +[Hera] 52 +[Hera] [HADES][TEST ] [KRELTSC: 21117674244] Test passed +[Hera] [HADES][TEST ] Testing BASE_OUTPUT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21129614410] Expected: Should print: 100 +[Hera] [HADES][TEST ] [KRELTSC: 21137177624] Running BASE_OUTPUT.binary: 5 2 BASE ! . CR +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 21147263834] Test passed +[Hera] [HADES][TEST ] Testing BASE_OUTPUT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21160399160] Expected: Should print: 101 +[Hera] [HADES][TEST ] [KRELTSC: 21167087702] Running BASE_OUTPUT.base_restore: BASE @ DECIMAL 255 16 BA +[Hera] 255 +[Hera] [HADES][TEST ] [KRELTSC: 21179148858] Test passed +[Hera] [HADES][TEST ] Testing BASE_OUTPUT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21193107176] Expected: Should restore base +[Hera] [HADES][TEST ] [KRELTSC: 21201055508] BASE_OUTPUT: 5 passed, 0 failed, 1 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 21209324770] ▶ Testing module: v3/src/test_runner/modules/io_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 21218072180] Testing word: FORMAT_COMBO +[Hera] [HADES][TEST ] [KRELTSC: 21221860324] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 21222875816] Running FORMAT_COMBO.number_space_number: DECIMAL 42 . SPACE +[Hera] 42 [HADES][INFO ] [KRELTSC: 21242030682] L8[TABLE]: Config 0 → 1 regime=7 score=26214 L1=0 L2=0 L3=0 L +[Hera] 43 +[Hera] [HADES][TEST ] [KRELTSC: 21249426776] Test passed +[Hera] [HADES][TEST ] Testing FORMAT_COMBO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21258622940] Expected: Should format: 42 43 +[Hera] [HADES][TEST ] [KRELTSC: 21265924368] Running FORMAT_COMBO.multi_line: DECIMAL 1 . CR 2 . CR 3 . CR +[Hera] 1 +[Hera] 2 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 21283419974] Test passed +[Hera] [HADES][TEST ] Testing FORMAT_COMBO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21297420580] Expected: Should print on separate lines +[Hera] [HADES][TEST ] [KRELTSC: 21306548442] Running FORMAT_COMBO.indented: DECIMAL 5 SPACES 42 . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 21319612242] Test passed +[Hera] [HADES][TEST ] Testing FORMAT_COMBO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21332235600] Expected: Should indent number +[Hera] [HADES][TEST ] [KRELTSC: 21340403876] Running FORMAT_COMBO.table_format: DECIMAL 1 . 3 SPACES 10 . +[Hera] 1 10 100 +[Hera] [HADES][TEST ] [KRELTSC: 21354176706] Test passed +[Hera] [HADES][TEST ] Testing FORMAT_COMBO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21365878078] Expected: Should format table +[Hera] [HADES][TEST ] [KRELTSC: 21373192596] FORMAT_COMBO: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 21381943952] === I/O Words Summary: 0 passed, 0 failed, 0 skipped, 0 errors +[Hera] [HADES][INFO ] [KRELTSC: 21391038068] +[Hera] === Testing Module: Block Words === +[Hera] [HADES][INFO ] [KRELTSC: 21399270492] Running Block Words Tests (Module 16)... +[Hera] [HADES][TEST ] [KRELTSC: 21406219378] ▶ Testing module: v3/src/test_runner/modules/block_words_test +[Hera] [HADES][TEST ] [KRELTSC: 21415127548] Testing word: BLOCK +[Hera] [HADES][TEST ] [KRELTSC: 21421112058] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 21425590796] Running BLOCK.basic: 1 BLOCK DUP . CR +[Hera] 5238784 +[Hera] [HADES][TEST ] [KRELTSC: 21437642600] Test passed +[Hera] [HADES][TEST ] Testing BLOCK ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21450021276] Expected: Should return block address +[Hera] [HADES][TEST ] [KRELTSC: 21457399060] Running BLOCK.zero_block: 0 BLOCK +[Hera] [HADES][TEST ] [KRELTSC: 21464226656] Expected error occurred +[Hera] [HADES][TEST ] Testing BLOCK ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21472841188] Expected: Should handle block 0 +[Hera] [HADES][TEST ] [KRELTSC: 21478378226] Running BLOCK.large_block: 65536 BLOCK +[Hera] [HADES][TEST ] [KRELTSC: 21485075160] Expected error occurred +[Hera] [HADES][TEST ] Testing BLOCK ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21496591336] Expected: Should handle large number +[Hera] [HADES][TEST ] [KRELTSC: 21504488200] Running BLOCK.negative: -1 BLOCK +[Hera] [HADES][TEST ] [KRELTSC: 21512283184] Expected error occurred +[Hera] [HADES][TEST ] Testing BLOCK ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21525157524] Expected: Should handle negative +[Hera] [HADES][TEST ] [KRELTSC: 21531731580] Running BLOCK.empty_stack: BLOCK +[Hera] [HADES][TEST ] [KRELTSC: 21538872658] Expected error occurred +[Hera] [HADES][TEST ] Testing BLOCK ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21552196144] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 21559863986] BLOCK: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 21567285880] ▶ Testing module: v3/src/test_runner/modules/block_words_test +[Hera] [HADES][TEST ] [KRELTSC: 21575612604] Testing word: BUFFER +[Hera] [HADES][TEST ] [KRELTSC: 21581942570] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 21588870274] Running BUFFER.basic: 1 BUFFER DUP . CR +[Hera] 5238784 +[Hera] [HADES][TEST ] [KRELTSC: 21601139100] Test passed +[Hera] [HADES][TEST ] Testing BUFFER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21614303590] Expected: Should return buffer address +[Hera] [HADES][TEST ] [KRELTSC: 21623024558] Running BUFFER.zero_block: 0 BUFFER +[Hera] [HADES][TEST ] [KRELTSC: 21630723042] Expected error occurred +[Hera] [HADES][TEST ] Testing BUFFER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21643444422] Expected: Should handle block 0 +[Hera] [HADES][TEST ] [KRELTSC: 21651602884] Running BUFFER.flush_dirty: 2 BLOCK 1+ 2 BUFFER +[Hera] [HADES][TEST ] [KRELTSC: 21661146230] Test passed +[Hera] [HADES][TEST ] Testing BUFFER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21674203770] Expected: Should flush if dirty +[Hera] [HADES][TEST ] [KRELTSC: 21682155142] Running BUFFER.empty_stack: BUFFER +[Hera] [HADES][TEST ] [KRELTSC: 21691642728] Expected error occurred +[Hera] [HADES][TEST ] Testing BUFFER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21704871746] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 21713708180] BUFFER: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 21722448530] ▶ Testing module: v3/src/test_runner/modules/block_words_test +[Hera] [HADES][TEST ] [KRELTSC: 21731254898] Testing word: UPDATE +[Hera] [HADES][TEST ] [KRELTSC: 21737747634] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 21744393350] Running UPDATE.basic: 1 BLOCK UPDATE +[Hera] [HADES][TEST ] [KRELTSC: 21752382972] Test passed +[Hera] [HADES][TEST ] Testing UPDATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21764864666] Expected: Should mark block dirty +[Hera] [HADES][TEST ] [KRELTSC: 21772086090] Running UPDATE.multiple: 1 BLOCK UPDATE UPDATE +[Hera] [HADES][TEST ] [KRELTSC: 21781216044] Test passed +[Hera] [HADES][TEST ] Testing UPDATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21793794590] Expected: Should handle multiple updates +[Hera] [HADES][TEST ] [KRELTSC: 21802731746] Running UPDATE.no_block: 0 SCR ! UPDATE +[Hera] [HADES][TEST ] [KRELTSC: 21811107500] Expected error occurred +[Hera] [HADES][TEST ] Testing UPDATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21824764196] Expected: Should error: blk=0 is invalid +[Hera] [HADES][TEST ] [KRELTSC: 21832801574] UPDATE: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 21840816298] ▶ Testing module: v3/src/test_runner/modules/block_words_test +[Hera] [HADES][TEST ] [KRELTSC: 21849103950] Testing word: SAVE-BUFFERS +[Hera] [HADES][TEST ] [KRELTSC: 21855803652] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 21860825944] Running SAVE-BUFFERS.basic: SAVE-BUFFERS +[Hera] [HADES][TEST ] [KRELTSC: 21867276972] Test passed +[Hera] [HADES][TEST ] Testing SAVE-BUFFERS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21873794454] Expected: Should flush all buffers +[Hera] [HADES][TEST ] [KRELTSC: 21877907618] Running SAVE-BUFFERS.dirty_blocks: 1 BLOCK UPDATE SAVE-BUFFER +[Hera] [HADES][TEST ] [KRELTSC: 21882908060] Test passed +[Hera] [HADES][TEST ] Testing SAVE-BUFFERS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21889579810] Expected: Should save dirty blocks +[Hera] [HADES][TEST ] [KRELTSC: 21894305694] Running SAVE-BUFFERS.no_dirty: SAVE-BUFFERS +[Hera] [HADES][TEST ] [KRELTSC: 21899391908] Test passed +[Hera] [HADES][TEST ] Testing SAVE-BUFFERS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21906811696] Expected: Should handle no dirty blocks +[Hera] [HADES][TEST ] [KRELTSC: 21911600960] SAVE-BUFFERS: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 21917251306] ▶ Testing module: v3/src/test_runner/modules/block_words_test +[Hera] [HADES][TEST ] [KRELTSC: 21923421324] Testing word: EMPTY-BUFFERS +[Hera] [HADES][TEST ] [KRELTSC: 21927616318] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 21931746210] Running EMPTY-BUFFERS.basic: EMPTY-BUFFERS +[Hera] [HADES][TEST ] [KRELTSC: 21936547372] Test passed +[Hera] [HADES][TEST ] Testing EMPTY-BUFFERS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21944330074] Expected: Should invalidate all buffers +[Hera] [HADES][TEST ] [KRELTSC: 21948973536] Running EMPTY-BUFFERS.after_use: 1 BLOCK EMPTY-BUFFERS +[Hera] [HADES][TEST ] [KRELTSC: 21954272758] Test passed +[Hera] [HADES][TEST ] Testing EMPTY-BUFFERS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21961512644] Expected: Should invalidate used buffers +[Hera] [HADES][TEST ] [KRELTSC: 21965637628] Running EMPTY-BUFFERS.dirty_blocks: 1 BLOCK UPDATE EMPTY-BUFF +[Hera] [HADES][TEST ] [KRELTSC: 21971008734] Test passed +[Hera] [HADES][TEST ] Testing EMPTY-BUFFERS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 21977939956] Expected: Should handle dirty blocks +[Hera] [HADES][TEST ] [KRELTSC: 21982462954] EMPTY-BUFFERS: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 21986945958] ▶ Testing module: v3/src/test_runner/modules/block_words_test +[Hera] [HADES][TEST ] [KRELTSC: 21992134908] Testing word: FLUSH +[Hera] [HADES][TEST ] [KRELTSC: 21995226560] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 22000612322] Running FLUSH.basic: FLUSH +[Hera] [HADES][TEST ] [KRELTSC: 22006420262] Test passed +[Hera] [HADES][TEST ] Testing FLUSH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22016832066] Expected: Should save and invalidate buffers +[Hera] [HADES][TEST ] [KRELTSC: 22023401740] Running FLUSH.dirty_blocks: 1 BLOCK UPDATE FLUSH +[Hera] [HADES][TEST ] [KRELTSC: 22031123544] Test passed +[Hera] [HADES][TEST ] Testing FLUSH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22042807072] Expected: Should flush dirty blocks +[Hera] [HADES][TEST ] [KRELTSC: 22049461630] Running FLUSH.after_empty: EMPTY-BUFFERS FLUSH +[Hera] [HADES][TEST ] [KRELTSC: 22057025150] Test passed +[Hera] [HADES][TEST ] Testing FLUSH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22068428560] Expected: Should handle empty buffers +[Hera] [HADES][TEST ] [KRELTSC: 22076405518] FLUSH: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 22084690370] ▶ Testing module: v3/src/test_runner/modules/block_words_test +[Hera] [HADES][TEST ] [KRELTSC: 22094325644] Testing word: LOAD +[Hera] [HADES][TEST ] [KRELTSC: 22100450660] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 22107168546] Running LOAD.basic: 1 LOAD +[Hera] [HADES][TEST ] [KRELTSC: 22115286782] Test passed +[Hera] [HADES][TEST ] Testing LOAD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22126343416] Expected: Should interpret block 1 +[Hera] [HADES][TEST ] [KRELTSC: 22133374438] Running LOAD.zero_block: 0 LOAD +[Hera] [HADES][TEST ] [KRELTSC: 22140323810] Expected error occurred +[Hera] [HADES][TEST ] Testing LOAD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22152519238] Expected: Should handle block 0 +[Hera] [HADES][TEST ] [KRELTSC: 22160014990] Running LOAD.nonexistent: 9999 LOAD +[Hera] [HADES][TEST ] [KRELTSC: 22167028578] Expected error occurred +[Hera] [HADES][TEST ] Testing LOAD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22179032324] Expected: Should handle missing block +[Hera] [HADES][TEST ] [KRELTSC: 22186591464] Running LOAD.empty_stack: LOAD +[Hera] [HADES][TEST ] [KRELTSC: 22192580748] Expected error occurred +[Hera] [HADES][TEST ] Testing LOAD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22204719814] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 22213071064] Running LOAD.rest_of_line: 1 LOAD 0 0 / +[Hera] [HADES][ERROR] [KRELTSC: 22221692012] /: Division by zero +[Hera] [HADES][TEST ] [KRELTSC: 22228542210] Expected error occurred +[Hera] [HADES][TEST ] Testing LOAD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22241201250] Expected: The rest of the line is interpreted after LOAD +[Hera] [HADES][TEST ] [KRELTSC: 22250538488] LOAD: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 22259396262] ▶ Testing module: v3/src/test_runner/modules/block_words_test +[Hera] [HADES][TEST ] [KRELTSC: 22270283770] Testing word: LIST +[Hera] [HADES][TEST ] [KRELTSC: 22276307008] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 22279637810] Running LIST.basic: 1 LIST + +[Hera] Block 1 + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + + + +[Hera] [HADES][TEST ] [KRELTSC: 22405259604] Test passed +[Hera] [HADES][TEST ] Testing LIST ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22418005090] Expected: Should display block 1 +[Hera] [HADES][TEST ] [KRELTSC: 22425864968] Running LIST.zero_block: 0 LIST +[Hera] [HADES][TEST ] [KRELTSC: 22433622358] Expected error occurred +[Hera] [HADES][TEST ] Testing LIST ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22446574366] Expected: Should handle block 0 +[Hera] [HADES][TEST ] [KRELTSC: 22454291604] Running LIST.nonexistent: 9999 LIST +[Hera] [HADES][TEST ] [KRELTSC: 22462175100] Expected error occurred +[Hera] [HADES][TEST ] Testing LIST ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22475345464] Expected: Should handle missing block +[Hera] [HADES][TEST ] [KRELTSC: 22483376292] Running LIST.empty_stack: LIST +[Hera] [HADES][TEST ] [KRELTSC: 22490400372] Expected error occurred +[Hera] [HADES][TEST ] Testing LIST ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22500375706] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 22505757936] LIST: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 22511321858] ▶ Testing module: v3/src/test_runner/modules/block_words_test +[Hera] [HADES][TEST ] [KRELTSC: 22518075900] Testing word: SCR +[Hera] [HADES][TEST ] [KRELTSC: 22522641158] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 22527705968] Running SCR.basic: SCR @ . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 22534678226] Test passed +[Hera] [HADES][TEST ] Testing SCR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22542980368] Expected: Should show current block +[Hera] [HADES][TEST ] [KRELTSC: 22548148560] Running SCR.after_list: 1 LIST SCR @ . CR + +[Hera] Block 1 + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + +[Hera] 2d: +[Hera] + + + +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 22653152738] Test passed +[Hera] [HADES][TEST ] Testing SCR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22661194114] Expected: Should update after LIST +[Hera] [HADES][TEST ] [KRELTSC: 22666452068] Running SCR.after_load: 1 LOAD SCR @ . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 22673401878] Test passed +[Hera] [HADES][TEST ] Testing SCR ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22681749662] Expected: Should update after LOAD +[Hera] [HADES][TEST ] [KRELTSC: 22687415730] SCR: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 22693308702] ▶ Testing module: v3/src/test_runner/modules/block_words_test +[Hera] [HADES][TEST ] [KRELTSC: 22699932908] Testing word: THRU +[Hera] [HADES][TEST ] [KRELTSC: 22704394968] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 22708912016] Running THRU.single_block: 1 1 THRU +[Hera] [HADES][TEST ] [KRELTSC: 22714365320] Test passed +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22722266940] Expected: Should load single block (1-1) +[Hera] [HADES][TEST ] [KRELTSC: 22728934512] Running THRU.ascending: 1 3 THRU +[Hera] [HADES][TEST ] [KRELTSC: 22735801600] Test passed +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22744196054] Expected: Should load blocks 1-3 in order +[Hera] [HADES][TEST ] [KRELTSC: 22749530430] Running THRU.descending: 3 1 THRU +[Hera] [HADES][TEST ] [KRELTSC: 22754568406] Test passed +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22762522942] Expected: Should auto-swap and load 1-3 +[Hera] [HADES][TEST ] [KRELTSC: 22767885918] Running THRU.same_block: 2 2 THRU +[Hera] [HADES][TEST ] [KRELTSC: 22772902852] Test passed +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22780931568] Expected: Should load single block (2-2) +[Hera] [HADES][TEST ] [KRELTSC: 22786771414] Running THRU.zero_start: 0 3 THRU +[Hera] [HADES][TEST ] [KRELTSC: 22792109258] Expected error occurred +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22800790504] Expected: Should reject block 0 as start +[Hera] [HADES][TEST ] [KRELTSC: 22806249068] Running THRU.zero_end: 1 0 THRU +[Hera] [HADES][TEST ] [KRELTSC: 22811243694] Expected error occurred +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22819684194] Expected: Should reject block 0 as end +[Hera] [HADES][TEST ] [KRELTSC: 22824947400] Running THRU.both_zero: 0 0 THRU +[Hera] [HADES][TEST ] [KRELTSC: 22829952992] Expected error occurred +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22838614164] Expected: Should reject both blocks as 0 +[Hera] [HADES][TEST ] [KRELTSC: 22846053462] Running THRU.invalid_start: 9999 10000 THRU +[Hera] [HADES][TEST ] [KRELTSC: 22852732684] Expected error occurred +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22860976266] Expected: Should reject invalid start block +[Hera] [HADES][TEST ] [KRELTSC: 22866851986] Running THRU.invalid_end: 1 9999 THRU +[Hera] [HADES][TEST ] [KRELTSC: 22872485564] Expected error occurred +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22881249788] Expected: Should reject invalid end block +[Hera] [HADES][TEST ] [KRELTSC: 22886678948] Running THRU.both_invalid: 9998 9999 THRU +[Hera] [HADES][TEST ] [KRELTSC: 22892424126] Expected error occurred +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22902569958] Expected: Should reject both invalid blocks +[Hera] [HADES][TEST ] [KRELTSC: 22909754712] Running THRU.empty_stack: THRU +[Hera] [HADES][TEST ] [KRELTSC: 22915572602] Expected error occurred +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22924849090] Expected: Should cause stack underflow (no args) +[Hera] [HADES][TEST ] [KRELTSC: 22931032018] Running THRU.rest_of_line: 1 2 THRU 0 0 / +[Hera] [HADES][ERROR] [KRELTSC: 22936869604] /: Division by zero +[Hera] [HADES][TEST ] [KRELTSC: 22941583114] Expected error occurred +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22950851432] Expected: The rest of the line is interpreted after THRU +[Hera] [HADES][TEST ] [KRELTSC: 22958070414] Running THRU.one_arg: 1 THRU +[Hera] [HADES][TEST ] [KRELTSC: 22962937612] Expected error occurred +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22971266806] Expected: Should cause stack underflow (one arg) +[Hera] [HADES][TEST ] [KRELTSC: 22977071998] Running THRU.small_range: 1 2 THRU +[Hera] [HADES][TEST ] [KRELTSC: 22982288684] Test passed +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 22990936188] Expected: Should load 2-block range +[Hera] [HADES][TEST ] [KRELTSC: 22996646860] Running THRU.medium_range: 1 5 THRU +[Hera] [HADES][TEST ] [KRELTSC: 23002424732] Test passed +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23011304406] Expected: Should load 5-block range +[Hera] [HADES][TEST ] [KRELTSC: 23018844590] Running THRU.negative_start: -1 3 THRU +[Hera] [HADES][TEST ] [KRELTSC: 23026427612] Expected error occurred +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23035413158] Expected: Should handle negative start +[Hera] [HADES][TEST ] [KRELTSC: 23041501168] Running THRU.negative_end: 1 -3 THRU +[Hera] [HADES][TEST ] [KRELTSC: 23047333044] Expected error occurred +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23057111278] Expected: Should handle negative end +[Hera] [HADES][TEST ] [KRELTSC: 23063210716] Running THRU.both_negative: -3 -1 THRU +[Hera] [HADES][TEST ] [KRELTSC: 23069364764] Expected error occurred +[Hera] [HADES][TEST ] Testing THRU ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23079266992] Expected: Should handle both negative +[Hera] [HADES][TEST ] [KRELTSC: 23085380506] THRU: 18 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 23091465548] === Block Words Summary: 0 passed, 0 failed, 0 skipped, 0 error +[Hera] [HADES][INFO ] [KRELTSC: 23098170470] +[Hera] === Testing Module: Dictionary Words === +[Hera] [HADES][INFO ] [KRELTSC: 23105361824] Running Dictionary Words Tests (Module 4)... +[Hera] [HADES][TEST ] [KRELTSC: 23111222140] Testing word: HERE +[Hera] [HADES][TEST ] [KRELTSC: 23115849274] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 23120690530] Running HERE.basic: HERE HERE = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 23127363454] Test passed +[Hera] [HADES][TEST ] Testing HERE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23135213932] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 23139852058] Running HERE.after_comma: HERE 42 , HERE SWAP - 1 CELLS = 0 S +[Hera] [HADES][TEST ] [KRELTSC: 23146579864] Test passed +[Hera] [HADES][TEST ] Testing HERE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23155283556] Expected: Asserts HERE advances by exactly 1 CELLS (8 bytes +[Hera] [HADES][TEST ] [KRELTSC: 23162107108] Running HERE.after_c_comma: HERE 65 C, HERE SWAP - . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 23170304818] Test passed +[Hera] [HADES][TEST ] Testing HERE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23178700494] Expected: Should print: 1 +[Hera] [HADES][TEST ] [KRELTSC: 23183466714] Running HERE.after_allot: HERE 10 ALLOT HERE SWAP - . CR +[Hera] 10 +[Hera] [HADES][TEST ] [KRELTSC: 23191572896] Test passed +[Hera] [HADES][TEST ] Testing HERE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23199918278] Expected: Should print: 10 +[Hera] [HADES][TEST ] [KRELTSC: 23204983304] Running HERE.stability: HERE DUP HERE = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 23212008808] Test passed +[Hera] [HADES][TEST ] Testing HERE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23220031326] Expected: Should be stable +[Hera] [HADES][TEST ] [KRELTSC: 23224889322] HERE: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 23231052508] Testing word: ALLOT +[Hera] [HADES][TEST ] [KRELTSC: 23235408512] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 23239939366] Running ALLOT.basic: HERE 10 ALLOT HERE SWAP - . CR +[Hera] 10 +[Hera] [HADES][TEST ] [KRELTSC: 23248379938] Test passed +[Hera] [HADES][TEST ] Testing ALLOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23256303532] Expected: Should print: 10 +[Hera] [HADES][TEST ] [KRELTSC: 23261088122] Running ALLOT.zero: HERE 0 ALLOT HERE SWAP - . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 23268312646] Test passed +[Hera] [HADES][TEST ] Testing ALLOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23276204886] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 23280380174] Running ALLOT.negative: HERE -4 ALLOT HERE SWAP - . CR +[Hera] -4 +[Hera] [HADES][TEST ] [KRELTSC: 23288333218] Test passed +[Hera] [HADES][TEST ] Testing ALLOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23296328656] Expected: Should print: -4 +[Hera] [HADES][TEST ] [KRELTSC: 23301597558] Running ALLOT.large: HERE 100 ALLOT HERE SWAP - . CR +[Hera] 100 +[Hera] [HADES][TEST ] [KRELTSC: 23308833782] Test passed +[Hera] [HADES][TEST ] Testing ALLOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23316554912] Expected: Should print: 100 +[Hera] [HADES][TEST ] [KRELTSC: 23321321854] Running ALLOT.after_use: ALIGN HERE 10 ALLOT 42 OVER ! @ . CR +[Hera] 42 [HADES][INFO ] [KRELTSC: 23329896596] L8[TABLE]: Config 1 → 2 regime=7 score=26214 L1=0 L2=0 L3=0 L + +[Hera] [HADES][TEST ] [KRELTSC: 23335478276] Test passed +[Hera] [HADES][TEST ] Testing ALLOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23341356238] Expected: Should store and retrieve +[Hera] [HADES][TEST ] [KRELTSC: 23345128750] Running ALLOT.empty_stack: ALLOT +[Hera]m [HADES][TEST ] [KRELTSC: 23348843094] Expected error occurred +[Hera] [HADES][TEST ] Testing ALLOT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23364442418] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 23370665020] ALLOT: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 23376137104] Testing word: , +[Hera] [HADES][TEST ] [KRELTSC: 23380210916] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 23384675132] Running ,.basic: 42 , HERE 1 CELLS - @ . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 23391555086] Test passed +[Hera] [HADES][TEST ] Testing , ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23399308002] Expected: Should compile 42 +[Hera] [HADES][TEST ] [KRELTSC: 23404351776] Running ,.negative: -999 , HERE 1 CELLS - @ . CR +[Hera] -999 +[Hera] [HADES][TEST ] [KRELTSC: 23411486146] Test passed +[Hera] [HADES][TEST ] Testing , ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23420128014] Expected: Should compile -999 +[Hera] [HADES][TEST ] [KRELTSC: 23426664280] Running ,.zero: 0 , HERE 1 CELLS - @ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 23434082836] Test passed +[Hera] [HADES][TEST ] Testing , ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23441593190] Expected: Should compile 0 +[Hera] [HADES][TEST ] [KRELTSC: 23446361084] Running ,.max_int: 2147483647 , HERE 1 CELLS - @ . CR +[Hera] 2147483647 +[Hera] [HADES][TEST ] [KRELTSC: 23454867952] Test passed +[Hera] [HADES][TEST ] Testing , ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23463160938] Expected: Should compile max int +[Hera] [HADES][TEST ] [KRELTSC: 23468732656] Running ,.min_int: -2147483648 , HERE 1 CELLS - @ . CR +[Hera] -2147483648 +[Hera] [HADES][TEST ] [KRELTSC: 23477855630] Test passed +[Hera] [HADES][TEST ] Testing , ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23486049090] Expected: Should compile min int +[Hera] [HADES][TEST ] [KRELTSC: 23491268100] Running ,.multiple: 10 , 20 , HERE 1 CELLS - @ . HERE 1 CELLS +[Hera] 20 20 +[Hera] [HADES][TEST ] [KRELTSC: 23499804832] Test passed +[Hera] [HADES][TEST ] Testing , ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23507984680] Expected: Should compile multiple +[Hera] [HADES][TEST ] [KRELTSC: 23513818426] Running ,.empty_stack: , +[Hera] [HADES][TEST ] [KRELTSC: 23519049330] Expected error occurred +[Hera] [HADES][TEST ] Testing , ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23528110384] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 23534116034] ,: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 23539486282] Testing word: C, +[Hera] [HADES][TEST ] [KRELTSC: 23543672614] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 23548154338] Running C,.basic: 65 C, HERE 1 - C@ . CR +[Hera] 65 +[Hera] [HADES][TEST ] [KRELTSC: 23555290474] Test passed +[Hera] [HADES][TEST ] Testing C, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23563797052] Expected: Should compile byte 65 +[Hera] [HADES][TEST ] [KRELTSC: 23569347914] Running C,.zero: 0 C, HERE 1 - C@ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 23576325840] Test passed +[Hera] [HADES][TEST ] Testing C, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23584093734] Expected: Should compile byte 0 +[Hera] [HADES][TEST ] [KRELTSC: 23589124498] Running C,.high_byte: 255 C, HERE 1 - C@ . CR +[Hera] 255 +[Hera] [HADES][TEST ] [KRELTSC: 23596836046] Test passed +[Hera] [HADES][TEST ] Testing C, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23604774972] Expected: Should compile byte 255 +[Hera] [HADES][TEST ] [KRELTSC: 23610305528] Running C,.truncation: 256 C, HERE 1 - C@ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 23618113192] Test passed +[Hera] [HADES][TEST ] Testing C, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23626598300] Expected: Should truncate to 0 +[Hera] [HADES][TEST ] [KRELTSC: 23631988234] Running C,.negative: -1 C, HERE 1 - C@ . CR +[Hera] 255 +[Hera] [HADES][TEST ] [KRELTSC: 23639038644] Test passed +[Hera] [HADES][TEST ] Testing C, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23647342390] Expected: Should handle negative +[Hera] [HADES][TEST ] [KRELTSC: 23653105308] Running C,.multiple: 65 C, 66 C, HERE 2 - C@ . HERE 1 - C@ . +[Hera] 65 66 +[Hera] [HADES][TEST ] [KRELTSC: 23662029972] Test passed +[Hera] [HADES][TEST ] Testing C, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23670537574] Expected: Should compile multiple +[Hera] [HADES][TEST ] [KRELTSC: 23675955528] Running C,.empty_stack: C, +[Hera] [HADES][TEST ] [KRELTSC: 23680783236] Expected error occurred +[Hera] [HADES][TEST ] Testing C, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23689398630] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 23695270536] C,: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 23700961260] Testing word: 2, +[Hera] [HADES][TEST ] [KRELTSC: 23706228840] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 23712674038] Running 2,.basic: 12345 67890 2, HERE 2 CELLS - 2@ . . CR +[Hera] 67890 12345 +[Hera] [HADES][TEST ] [KRELTSC: 23723338668] Test passed +[Hera] [HADES][TEST ] Testing 2, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23731591488] Expected: Should compile double +[Hera] [HADES][TEST ] [KRELTSC: 23736502600] Running 2,.zero: 0 0 2, HERE 2 CELLS - 2@ . . CR +[Hera] 0 0 +[Hera] [HADES][TEST ] [KRELTSC: 23743853020] Test passed +[Hera] [HADES][TEST ] Testing 2, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23751930916] Expected: Should compile zero double +[Hera] [HADES][TEST ] [KRELTSC: 23757617020] Running 2,.negative: -1000 -2000 2, HERE 2 CELLS - 2@ . . CR +[Hera] -2000 -1000 +[Hera] [HADES][TEST ] [KRELTSC: 23767643206] Test passed +[Hera] [HADES][TEST ] Testing 2, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23776263828] Expected: Should compile negative double +[Hera] [HADES][TEST ] [KRELTSC: 23780702212] Running 2,.large: 2147483647 -1 2, HERE 2 CELLS - 2@ . . CR +[Hera] -1 2147483647 +[Hera] [HADES][TEST ] [KRELTSC: 23788231376] Test passed +[Hera] [HADES][TEST ] Testing 2, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23795432390] Expected: Should compile large double +[Hera] [HADES][TEST ] [KRELTSC: 23801102206] Running 2,.one_item: 42 2, +[Hera] [HADES][TEST ] [KRELTSC: 23806353752] Expected error occurred +[Hera] [HADES][TEST ] Testing 2, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23815710408] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 23822382626] Running 2,.empty_stack: 2, +[Hera] [HADES][TEST ] [KRELTSC: 23829165190] Expected error occurred +[Hera] [HADES][TEST ] Testing 2, ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23838093228] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 23843692308] 2,: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 23849512546] Testing word: PAD +[Hera] [HADES][TEST ] [KRELTSC: 23853656802] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 23858354488] Running PAD.basic: PAD PAD = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 23865518812] Test passed +[Hera] [HADES][TEST ] Testing PAD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23873942062] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 23879832294] Running PAD.different_from_here: PAD HERE = . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 23889447082] Test passed +[Hera] [HADES][TEST ] Testing PAD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23897904568] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 23902970116] Running PAD.stability: PAD DUP PAD = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 23910409228] Test passed +[Hera] [HADES][TEST ] Testing PAD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23919001998] Expected: Should be stable +[Hera] [HADES][TEST ] [KRELTSC: 23924319452] Running PAD.usable: PAD 42 OVER ! @ . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 23931974272] Test passed +[Hera] [HADES][TEST ] Testing PAD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23941805588] Expected: Should be usable memory +[Hera] [HADES][TEST ] [KRELTSC: 23947407524] PAD: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 23953324088] Testing word: SP@ +[Hera] [HADES][TEST ] [KRELTSC: 23957915048] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 23962461112] Running SP@.depth_effect: 42 SP@ SWAP DROP SP@ = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 23970773598] Test passed +[Hera] [HADES][TEST ] Testing SP@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 23979324184] Expected: Should show stack effect +[Hera] [HADES][TEST ] [KRELTSC: 23984358154] Running SP@.empty_stack: DEPTH 0= SP@ AND . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 23992207910] Test passed +[Hera] [HADES][TEST ] Testing SP@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24001590536] Expected: Should work on empty stack +[Hera] [HADES][TEST ] [KRELTSC: 24006886970] Running SP@.multiple_items: 1 2 3 SP@ SWAP DROP SWAP DROP SWA +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 24015103366] Test passed +[Hera] [HADES][TEST ] Testing SP@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24023668566] Expected: Should track changes +[Hera] [HADES][TEST ] [KRELTSC: 24029069062] SP@: 3 passed, 0 failed, 1 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 24035022316] Testing word: SP! +[Hera] [HADES][TEST ] [KRELTSC: 24039517596] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 24044455852] Running SP!.basic_restore: 1 2 3 SP@ 4 5 6 DROP DROP DROP SP! +[Hera] 3 [HADES][TEST ] [KRELTSC: 24053318824] Test passed +[Hera] [HADES][TEST ] Testing SP! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24060703966] Expected: Should restore stack +[Hera] [HADES][TEST ] [KRELTSC: 24066155524] Running SP!.invalid_addr: 0 SP! +[Hera] [HADES][TEST ] [KRELTSC: 24071800748] Expected error occurred +[Hera] [HADES][TEST ] Testing SP! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24081257626] Expected: Should cause error +[Hera] [HADES][TEST ] [KRELTSC: 24086686732] Running SP!.empty_stack: SP! +[Hera] [HADES][TEST ] [KRELTSC: 24092009588] Expected error occurred +[Hera] [HADES][TEST ] Testing SP! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24101447356] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 24107303350] SP!: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 24114844222] Testing word: LATEST +[Hera] [HADES][TEST ] [KRELTSC: 24121021630] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 24126749052] Running LATEST.basic: LATEST LATEST = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 24134438534] Test passed +[Hera] [HADES][TEST ] Testing LATEST ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24143059382] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 24148173296] Running LATEST.stability: LATEST DUP LATEST = . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 24155401232] Test passed +[Hera] [HADES][TEST ] Testing LATEST ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24163594434] Expected: Should be stable +[Hera] [HADES][TEST ] [KRELTSC: 24168679700] LATEST: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 24172146422] Testing word: COMPILATION +[Hera] [HADES][TEST ] [KRELTSC: 24175281074] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 24179555720] Running COMPILATION.here_comma_sequence: HERE 10 , 20 , 30 , +[Hera] [HADES][INFO ] [KRELTSC: 24196563880] L8[TABLE]: Config 2 → 3 regime=7 score=26214 L1=0 L2=0 L3=0 L +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 24203778008] Test passed +[Hera] [HADES][TEST ] Testing COMPILATION ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24212540684] Expected: Should advance HERE by 12 +[Hera] [HADES][TEST ] [KRELTSC: 24217841804] Running COMPILATION.mixed_compilation: HERE 42 , 65 C, 100 20 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 24226332714] Test passed +[Hera] [HADES][TEST ] Testing COMPILATION ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24234513182] Expected: Should advance correctly +[Hera] [HADES][TEST ] [KRELTSC: 24239793636] Running COMPILATION.allot_comma_combo: HERE 10 ALLOT 99 , HER +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 24248157190] Test passed +[Hera] [HADES][TEST ] Testing COMPILATION ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24256827982] Expected: Should combine allot and comma +[Hera] [HADES][TEST ] [KRELTSC: 24262701270] Running COMPILATION.pad_isolation: PAD 999 OVER ! HERE 42 , P +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 24271020354] Test passed +[Hera] [HADES][TEST ] Testing COMPILATION ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24279785800] Expected: PAD should be isolated +[Hera] [HADES][TEST ] [KRELTSC: 24285954530] COMPILATION: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 24294199658] Testing word: STACK_MGMT +[Hera] [HADES][TEST ] [KRELTSC: 24300482664] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 24306603234] Running STACK_MGMT.sp_round_trip: 42 43 SP@ >R 44 45 R> SP! . +[Hera] 43 42 +[Hera] [HADES][TEST ] [KRELTSC: 24314542516] Test passed +[Hera] [HADES][TEST ] Testing STACK_MGMT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24322684898] Expected: Should print: 43 42 +[Hera] [HADES][TEST ] [KRELTSC: 24327595954] Running STACK_MGMT.depth_preservation: 1 2 3 DEPTH >R SP@ >R +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 24335377100] Test passed +[Hera] [HADES][TEST ] Testing STACK_MGMT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24343952568] Expected: Should preserve depth +[Hera] [HADES][TEST ] [KRELTSC: 24349263222] STACK_MGMT: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 24355688726] === Dictionary Words Summary: 0 passed, 0 failed, 0 skipped, 0 +[Hera] [HADES][INFO ] [KRELTSC: 24362383802] +[Hera] === Testing Module: Dictionary Manipulation Words === +[Hera] [HADES][INFO ] [KRELTSC: 24370109388] Running Dictionary Manipulation Words Tests (Module 14)... +[Hera] [HADES][TEST ] [KRELTSC: 24376437476] ▶ Testing module: v3/src/test_runner/modules/dictionary_manip +[Hera] [HADES][TEST ] [KRELTSC: 24383376430] Testing word: CREATE +[Hera] [HADES][TEST ] [KRELTSC: 24388007420] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 24392849220] Running CREATE.basic: CREATE test1 42 , test1 @ . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 24401515830] Test passed +[Hera] [HADES][TEST ] Testing CREATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24406885072] Expected: Should create and store +[Hera] [HADES][TEST ] [KRELTSC: 24408061852] Running CREATE.empty_name: CREATE +[Hera] [HADES][TEST ] [KRELTSC: 24409225904] Expected error occurred +[Hera] [HADES][TEST ] Testing CREATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24420548006] Expected: Should handle empty name +[Hera] [HADES][TEST ] [KRELTSC: 24429694262] Running CREATE.redefine_shadows: CREATE T 1 , CREATE T 2 , T +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 24443076738] Test passed +[Hera] [HADES][TEST ] Testing CREATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24455310694] Expected: Newest definition should win (prints 2) +[Hera] [HADES][TEST ] [KRELTSC: 24464101418] Running CREATE.duplicate: CREATE test2 CREATE test2 +[Hera] [HADES][TEST ] [KRELTSC: 24474103752] Test passed +[Hera] [HADES][TEST ] Testing CREATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24484549082] Expected: Should allow redefinition (latest shadows) +[Hera] [HADES][TEST ] [KRELTSC: 24492038012] CREATE: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 24498692722] ▶ Testing module: v3/src/test_runner/modules/dictionary_manip +[Hera] [HADES][TEST ] [KRELTSC: 24506747866] Testing word: FORGET +[Hera] [HADES][TEST ] [KRELTSC: 24511834388] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 24517663264] Running FORGET.basic: CREATE temp1 FORGET temp1 +[Hera] [HADES][TEST ] [KRELTSC: 24526094872] Test passed +[Hera] [HADES][TEST ] Testing FORGET ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24535346696] Expected: Should forget word +[Hera] [HADES][TEST ] [KRELTSC: 24541513006] Running FORGET.nonexistent: FORGET nonexistent +[Hera] [HADES][TEST ] [KRELTSC: 24549030604] Expected error occurred +[Hera] [HADES][TEST ] Testing FORGET ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24558918946] Expected: Should handle missing word +[Hera] [HADES][TEST ] [KRELTSC: 24565195878] Running FORGET.protected: FORGET FORGET +[Hera] [HADES][TEST ] [KRELTSC: 24572827264] Expected error occurred +[Hera] [HADES][TEST ] Testing FORGET ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24582809124] Expected: Should protect system words +[Hera] [HADES][TEST ] [KRELTSC: 24588507360] FORGET: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 24594971836] ▶ Testing module: v3/src/test_runner/modules/dictionary_manip +[Hera] [HADES][TEST ] [KRELTSC: 24602615374] Testing word: FENCE +[Hera] [HADES][TEST ] [KRELTSC: 24607483676] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 24612466008] Running FENCE.basic: CREATE fnc1 FENCE CREATE fnc2 FORGET fnc +[Hera] [HADES][TEST ] [KRELTSC: 24620772134] Test passed +[Hera] [HADES][TEST ] Testing FENCE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24629274298] Expected: Should forget a word defined after FENCE +[Hera] [HADES][TEST ] [KRELTSC: 24637398794] Running FENCE.protects_older: CREATE fnc3 CREATE fnc4 FENCE F +[Hera] [HADES][TEST ] [KRELTSC: 24645514224] Expected error occurred +[Hera] [HADES][TEST ] Testing FENCE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24655666576] Expected: Should refuse to forget a word defined before FEN +[Hera] [HADES][TEST ] [KRELTSC: 24663698882] Running FENCE.forget_latest_keeps_predecessor: CREATE fnc5 FE +[Hera] [HADES][TEST ] [KRELTSC: 24671621434] Test passed +[Hera] [HADES][TEST ] Testing FENCE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24681026986] Expected: Forgetting the newest word must not disturb an ol +[Hera] [HADES][TEST ] [KRELTSC: 24689602576] FENCE: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 24696750654] ▶ Testing module: v3/src/test_runner/modules/dictionary_manip +[Hera] [HADES][TEST ] [KRELTSC: 24704215514] Testing word: IMMEDIATE +[Hera] [HADES][TEST ] [KRELTSC: 24709519324] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 24715000414] Running IMMEDIATE.basic: : test3 42 ; IMMEDIATE test3 . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 24724479424] Test passed +[Hera] [HADES][TEST ] Testing IMMEDIATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24734005950] Expected: Should execute immediately +[Hera] [HADES][TEST ] [KRELTSC: 24739036496] Running IMMEDIATE.already_immediate: : test4 43 ; IMMEDIATE I +[Hera] [HADES][TEST ] [KRELTSC: 24747436984] Test passed +[Hera] [HADES][TEST ] Testing IMMEDIATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24757728962] Expected: Should handle double immediate +[Hera] [HADES][TEST ] [KRELTSC: 24765003000] IMMEDIATE: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 24771587576] ▶ Testing module: v3/src/test_runner/modules/dictionary_manip +[Hera] [HADES][TEST ] [KRELTSC: 24779836830] Testing word: FIND +[Hera] [HADES][TEST ] [KRELTSC: 24784649444] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 24790316634] Running FIND.existing: FIND DUP . CR +[Hera] 35784496 +[Hera] [HADES][TEST ] [KRELTSC: 24797485042] Test passed +[Hera] [HADES][TEST ] Testing FIND ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24805441596] Expected: Should find system word +[Hera] [HADES][TEST ] [KRELTSC: 24811618504] Running FIND.user_word: : test5 44 ; FIND test5 . CR +[Hera] 36115968 +[Hera] [HADES][TEST ] [KRELTSC: 24821654014] Test passed +[Hera] [HADES][TEST ] Testing FIND ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24831085260] Expected: Should find user word +[Hera] [HADES][TEST ] [KRELTSC: 24837757432] Running FIND.nonexistent: FIND nonexistent . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 24846762500] Test passed +[Hera] [HADES][TEST ] Testing FIND ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24856174838] Expected: Should return 0 +[Hera] [HADES][TEST ] [KRELTSC: 24862723302] Running FIND.empty: FIND +[Hera] [HADES][TEST ] [KRELTSC: 24868826476] Expected error occurred +[Hera] [HADES][TEST ] Testing FIND ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24879111982] Expected: Should error (no token) +[Hera] [HADES][TEST ] [KRELTSC: 24885021868] FIND: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 24891763642] ▶ Testing module: v3/src/test_runner/modules/dictionary_manip +[Hera] [HADES][TEST ] [KRELTSC: 24899366344] Testing word: DEFINITIONS +[Hera] [HADES][TEST ] [KRELTSC: 24905204828] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 24910805564] Running DEFINITIONS.basic: FORTH DEFINITIONS +[Hera] [HADES][TEST ] [KRELTSC: 24918867368] Test passed +[Hera] [HADES][TEST ] Testing DEFINITIONS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24928822498] Expected: Should set current to context +[Hera] [HADES][TEST ] [KRELTSC: 24935347336] Running DEFINITIONS.multiple: FORTH DEFINITIONS DEFINITIONS +[Hera] [HADES][TEST ] [KRELTSC: 24943104066] Test passed +[Hera] [HADES][TEST ] Testing DEFINITIONS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 24952964610] Expected: Should be idempotent +[Hera] [HADES][TEST ] [KRELTSC: 24958910066] DEFINITIONS: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 24966239740] ▶ Testing module: v3/src/test_runner/modules/dictionary_manip +[Hera] [HADES][TEST ] [KRELTSC: 24973939224] Testing word: SMUDGE +[Hera] [HADES][TEST ] [KRELTSC: 24979606160] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 24984880326] Running SMUDGE.during_def: : test6 SMUDGE 45 ; +[Hera] [HADES][TEST ] [KRELTSC: 24992489136] Test passed +[Hera] [HADES][TEST ] Testing SMUDGE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25001700884] Expected: Should hide incomplete def +[Hera] [HADES][TEST ] [KRELTSC: 25007809826] Running SMUDGE.outside_def: SMUDGE +[Hera] [HADES][TEST ] [KRELTSC: 25014263290] Expected error occurred +[Hera] [HADES][TEST ] Testing SMUDGE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25023724504] Expected: Should error outside def +[Hera] [HADES][TEST ] [KRELTSC: 25030157414] SMUDGE: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 25036516268] ▶ Testing module: v3/src/test_runner/modules/dictionary_manip +[Hera] [HADES][TEST ] [KRELTSC: 25043898340] Testing word: LATEST +[Hera] [HADES][TEST ] [KRELTSC: 25048886596] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 25054118098] Running LATEST.basic: LATEST @ . CR +[Hera] 35865920 +[Hera] [HADES][TEST ] [KRELTSC: 25062954844] Test passed +[Hera] [HADES][TEST ] Testing LATEST ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25072533884] Expected: Should show latest word +[Hera] [HADES][TEST ] [KRELTSC: 25078428778] Running LATEST.after_def: : test7 46 ; LATEST @ . CR +[Hera] 35905104 +[Hera] [HADES][TEST ] [KRELTSC: 25088684700] Test passed +[Hera] [HADES][TEST ] Testing LATEST ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25098274230] Expected: Should update after def +[Hera] [HADES][TEST ] [KRELTSC: 25104211628] Running LATEST.after_forget: CREATE test8 FORGET test8 LATEST +[Hera] 35905104 +[Hera] [HADES][TEST ] [KRELTSC: 25113351588] Test passed +[Hera] [HADES][TEST ] Testing LATEST ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25122435794] Expected: Should update after forget +[Hera] [HADES][TEST ] [KRELTSC: 25127758010] LATEST: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 25134268088] ▶ Testing module: v3/src/test_runner/modules/dictionary_manip +[Hera] [HADES][TEST ] [KRELTSC: 25141448494] Testing word: >BODY +[Hera] [HADES][TEST ] [KRELTSC: 25147504738] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 25152835388] Running >BODY.basic: CREATE test9 ' test9 >BODY . CR +[Hera] 36117480 +[Hera] [HADES][TEST ] [KRELTSC: 25162773476] Test passed +[Hera] [HADES][TEST ] Testing >BODY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25172126126] Expected: Should get param field +[Hera] [HADES][TEST ] [KRELTSC: 25178478102] Running >BODY.variable: VARIABLE var1 ' var1 >BODY . CR +[Hera] 36117944 +[Hera] [HADES][TEST ] [KRELTSC: 25188605330] Test passed +[Hera] [HADES][TEST ] Testing >BODY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25197397898] Expected: Should get var storage +[Hera] [HADES][TEST ] [KRELTSC: 25202916258] Running >BODY.nonexistent: ' NONEXISTENT >BODY +[Hera] [HADES][ERROR] [KRELTSC: 25209929428] ': word 'NONEXISTENT' not found +[Hera] [HADES][TEST ] [KRELTSC: 25215533322] Expected error occurred +[Hera] [HADES][TEST ] Testing >BODY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25225253684] Expected: Should handle missing word +[Hera] [HADES][TEST ] [KRELTSC: 25231049142] >BODY: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 25238049290] ▶ Testing module: v3/src/test_runner/modules/dictionary_manip +[Hera] [HADES][TEST ] [KRELTSC: 25245697430] Testing word: HIDDEN +[Hera] [HADES][TEST ] [KRELTSC: 25251140410] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 25256477060] Running HIDDEN.basic: : test10 HIDDEN 47 ; +[Hera] [HADES][TEST ] [KRELTSC: 25264386686] Test passed +[Hera] [HADES][TEST ] Testing HIDDEN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25273615270] Expected: Should hide word +[Hera] [HADES][TEST ] [KRELTSC: 25279255326] Running HIDDEN.outside_def: HIDDEN +[Hera] [HADES][TEST ] [KRELTSC: 25285295748] Expected error occurred +[Hera] [HADES][TEST ] Testing HIDDEN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25295630236] Expected: Should error outside def +[Hera] [HADES][TEST ] [KRELTSC: 25301599282] HIDDEN: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 25308782576] === Dictionary Manipulation Words Summary: 0 passed, 0 failed, +[Hera] [HADES][INFO ] [KRELTSC: 25316275620] +[Hera] === Testing Module: Vocabulary Words === +[Hera] [HADES][INFO ] [KRELTSC: 25326717616] Running Vocabulary Words Tests (Module 15)... +[Hera] [HADES][TEST ] [KRELTSC: 25334876124] ▶ Testing module: v3/src/test_runner/modules/vocabulary_words +[Hera] [HADES][TEST ] [KRELTSC: 25343547634] Testing word: VOCABULARY +[Hera] [HADES][TEST ] [KRELTSC: 25349019758] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 25354584152] Running VOCABULARY.basic: VOCABULARY TEST-VOC1 TEST-VOC1 DEFI +[Hera] [HADES][TEST ] [KRELTSC: 25366030436] Test passed +[Hera] [HADES][TEST ] Testing VOCABULARY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25375296694] Expected: Should create vocabulary +[Hera] [HADES][TEST ] [KRELTSC: 25384245308] Running VOCABULARY.create_and_switch: VOCABULARY MYVOC MYVOC +[Hera] 36122448 +[Hera] [HADES][TEST ] [KRELTSC: 25401648326] Test passed +[Hera] [HADES][TEST ] Testing VOCABULARY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25414175688] Expected: Should create and switch +[Hera] [HADES][TEST ] [KRELTSC: 25421935800] Running VOCABULARY.word_isolation: VOCABULARY ISOLATED ISOLAT +[Hera] [HADES][TEST ] [KRELTSC: 25436219312] Test passed +[Hera] [HADES][TEST ] Testing VOCABULARY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25446052206] Expected: Should create word in isolated vocab +[Hera] [HADES][TEST ] [KRELTSC: 25452727604] Running VOCABULARY.cross_vocab_access: VOCABULARY V1 V1 DEFIN +[Hera] 11 +[Hera] [HADES][TEST ] [KRELTSC: 25467982686] Test passed +[Hera] [HADES][TEST ] Testing VOCABULARY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25470583348] Expected: Should access word across vocabs +[Hera] [HADES][TEST ] [KRELTSC: 25471872570] Running VOCABULARY.multiple_vocabs: VOCABULARY VA VOCABULARY +[Hera] [HADES][TEST ] [KRELTSC: 25479004492] Test passed +[Hera] [HADES][TEST ] Testing VOCABULARY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25485672762] Expected: Should create multiple vocabs +[Hera] [HADES][TEST ] [KRELTSC: 25492019508] Running VOCABULARY.duplicate: VOCABULARY TESTVOC VOCABULARY T +[Hera] [HADES][ERROR] [KRELTSC: 25499833354] VOCABULARY: duplicate 'TESTVOC' +[Hera] [HADES][TEST ] [KRELTSC: 25505357964] Expected error occurred +[Hera] [HADES][TEST ] Testing VOCABULARY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25514868110] Expected: Should handle duplicate +[Hera] [HADES][TEST ] [KRELTSC: 25520487102] Running VOCABULARY.empty_name: VOCABULARY +[Hera] [HADES][ERROR] [KRELTSC: 25526648020] VOCABULARY: missing name +[Hera] [HADES][TEST ] [KRELTSC: 25532029156] Expected error occurred +[Hera] [HADES][TEST ] Testing VOCABULARY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25542263040] Expected: Should handle empty name +[Hera] [HADES][TEST ] [KRELTSC: 25548283818] VOCABULARY: 7 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 25556506792] ▶ Testing module: v3/src/test_runner/modules/vocabulary_words +[Hera] [HADES][TEST ] [KRELTSC: 25563532174] Testing word: FORTH +[Hera] [HADES][TEST ] [KRELTSC: 25568247278] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 25573155258] Running FORTH.basic: FORTH DEFINITIONS +[Hera] [HADES][TEST ] [KRELTSC: 25581300388] Test passed +[Hera] [HADES][TEST ] Testing FORTH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25589555282] Expected: Should select FORTH vocab +[Hera] [HADES][TEST ] [KRELTSC: 25595233008] Running FORTH.persistence: FORTH : TEST1 42 ; TEST1 . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 25603910974] Test passed +[Hera] [HADES][TEST ] Testing FORTH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25613091436] Expected: Should find word in FORTH +[Hera] [HADES][TEST ] [KRELTSC: 25618955162] Running FORTH.from_other: VOCABULARY OTHER-VOC OTHER-VOC FORT +[Hera] [HADES][TEST ] [KRELTSC: 25629043290] Test passed +[Hera] [HADES][TEST ] Testing FORTH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25637040854] Expected: Should return to FORTH +[Hera] [HADES][TEST ] [KRELTSC: 25642574320] FORTH: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 25648600304] ▶ Testing module: v3/src/test_runner/modules/vocabulary_words +[Hera] [HADES][TEST ] [KRELTSC: 25655403272] Testing word: DEFINITIONS +[Hera] [HADES][TEST ] [KRELTSC: 25660265622] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 25665195442] Running DEFINITIONS.basic: FORTH DEFINITIONS +[Hera] [HADES][TEST ] [KRELTSC: 25673514592] Test passed +[Hera] [HADES][TEST ] Testing DEFINITIONS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25681460520] Expected: Should set current vocabulary +[Hera] [HADES][TEST ] [KRELTSC: 25686832438] Running DEFINITIONS.new_vocab: VOCABULARY TEST-VOC6 TEST-VOC6 +[Hera] [HADES][TEST ] [KRELTSC: 25696920304] Test passed +[Hera] [HADES][TEST ] Testing DEFINITIONS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25704456574] Expected: Should set new current +[Hera] [HADES][TEST ] [KRELTSC: 25710013198] Running DEFINITIONS.word_creation: VOCABULARY TEST-VOC7 TEST- +[Hera] [HADES][TEST ] [KRELTSC: 25720341238] Test passed +[Hera] [HADES][TEST ] Testing DEFINITIONS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25728889948] Expected: Should create in correct vocab +[Hera] [HADES][TEST ] [KRELTSC: 25736164300] DEFINITIONS: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 25743513724] ▶ Testing module: v3/src/test_runner/modules/vocabulary_words +[Hera] [HADES][TEST ] [KRELTSC: 25750478110] Testing word: CONTEXT +[Hera] [HADES][TEST ] [KRELTSC: 25754916726] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 25760083764] Running CONTEXT.basic: CONTEXT @ . CR +[Hera] 36128464 +[Hera] [HADES][TEST ] [KRELTSC: 25767603626] Test passed +[Hera] [HADES][TEST ] Testing CONTEXT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25776461458] Expected: Should show current context +[Hera] [HADES][TEST ] [KRELTSC: 25783583584] Running CONTEXT.modify: CONTEXT @ 1+ CONTEXT ! +[Hera] [HADES][TEST ] [KRELTSC: 25789308516] Test passed +[Hera] [HADES][TEST ] Testing CONTEXT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25798357098] Expected: Should allow modification (impl-defined effect) +[Hera] [HADES][TEST ] [KRELTSC: 25805280024] Running CONTEXT.initial: FORTH CONTEXT @ . CR +[Hera] [HADES][INFO ] [KRELTSC: 25814543652] L8[TABLE]: Config 3 → 4 regime=7 score=26214 L1=0 L2=0 L3=0 L +[Hera] 35875728 +[Hera] [HADES][TEST ] [KRELTSC: 25821995616] Test passed +[Hera] [HADES][TEST ] Testing CONTEXT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25830596582] Expected: Should show FORTH vocab +[Hera] [HADES][TEST ] [KRELTSC: 25836356128] CONTEXT: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 25844122608] ▶ Testing module: v3/src/test_runner/modules/vocabulary_words +[Hera] [HADES][TEST ] [KRELTSC: 25852703036] Testing word: CURRENT +[Hera] [HADES][TEST ] [KRELTSC: 25857411190] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 25861765830] Running CURRENT.basic: CURRENT @ . CR +[Hera] 36128464 +[Hera] [HADES][TEST ] [KRELTSC: 25868586302] Test passed +[Hera] [HADES][TEST ] Testing CURRENT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25876852996] Expected: Should show current vocab +[Hera] [HADES][TEST ] [KRELTSC: 25882545058] Running CURRENT.after_def: VOCABULARY TEST-VOC8 TEST-VOC8 DEF +[Hera] 36125136 +[Hera] [HADES][TEST ] [KRELTSC: 25894815268] Test passed +[Hera] [HADES][TEST ] Testing CURRENT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25905182418] Expected: Should show new vocab +[Hera] [HADES][TEST ] [KRELTSC: 25911777754] Running CURRENT.protect: CURRENT @ 1+ CURRENT ! +[Hera] [HADES][TEST ] [KRELTSC: 25919489592] Test passed +[Hera] [HADES][TEST ] Testing CURRENT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25926781306] Expected: Should allow modification (impl-defined effect) +[Hera] [HADES][TEST ] [KRELTSC: 25933304018] CURRENT: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 25939055124] ▶ Testing module: v3/src/test_runner/modules/vocabulary_words +[Hera] [HADES][TEST ] [KRELTSC: 25945017112] Testing word: ORDER +[Hera] [HADES][TEST ] [KRELTSC: 25949593156] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 25954277740] Running ORDER.basic: ORDER +[Hera] Search order: +[Hera] + + +[Hera] Current: + + +[Hera] [HADES][TEST ] [KRELTSC: 25966910874] Test passed +[Hera] [HADES][TEST ] Testing ORDER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 25975169134] Expected: Should list search order +[Hera] [HADES][TEST ] [KRELTSC: 25980290126] Running ORDER.multiple: VOCABULARY TEST-VOC9 TEST-VOC9 DEFINI +[Hera] Search order: +[Hera] + + +[Hera] Current: + + +[Hera] [HADES][TEST ] [KRELTSC: 25993652792] Test passed +[Hera] [HADES][TEST ] Testing ORDER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26001871438] Expected: Should show all vocabs +[Hera] [HADES][TEST ] [KRELTSC: 26006699728] Running ORDER.after_forth: TEST-VOC9 FORTH ORDER +[Hera] Search order: + + +[Hera] Current: + + +[Hera] [HADES][TEST ] [KRELTSC: 26018358402] Test passed +[Hera] [HADES][TEST ] Testing ORDER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26026046510] Expected: Should show FORTH only +[Hera] [HADES][TEST ] [KRELTSC: 26031064646] ORDER: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 26036724158] === Vocabulary Words Summary: 0 passed, 0 failed, 0 skipped, 0 +[Hera] [HADES][INFO ] [KRELTSC: 26043177500] +[Hera] === Testing Module: System Words === +[Hera] [HADES][INFO ] [KRELTSC: 26050213944] Running System Words Tests (Module 18)... +[Hera] [HADES][WARN ] [KRELTSC: 26056041062] Some system tests marked as unimplemented due to system-level e +[Hera] [HADES][TEST ] [KRELTSC: 26062367826] ▶ Testing module: v3/src/test_runner/modules/system_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 26068581392] Testing word: QUIT +[Hera] [HADES][TEST ] [KRELTSC: 26072887874] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 26077323522] Running QUIT.in_definition: : BAD-WORD QUIT ; +[Hera] [HADES][TEST ] [KRELTSC: 26082576094] Expected error occurred +[Hera] [HADES][TEST ] Testing QUIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26088596982] Expected: Should prevent compilation +[Hera] [HADES][TEST ] [KRELTSC: 26093768428] QUIT: 1 passed, 0 failed, 1 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 26098972008] ▶ Testing module: v3/src/test_runner/modules/system_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 26105681648] Testing word: ABORT +[Hera] [HADES][TEST ] [KRELTSC: 26110006338] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 26114489366] Running ABORT.basic: ABORT +[Hera] [HADES][TEST ] [KRELTSC: 26119506696] Test passed +[Hera] [HADES][TEST ] Testing ABORT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26126874888] Expected: Should clear stacks and return to QUIT +[Hera] [HADES][TEST ] [KRELTSC: 26134032040] Running ABORT.with_data: 1 2 3 ABORT DEPTH . CR +[Hera] [HADES][TEST ] [KRELTSC: 26140902010] Test passed +[Hera] [HADES][TEST ] Testing ABORT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26148440252] Expected: Should clear stack +[Hera] [HADES][TEST ] [KRELTSC: 26153131264] Running ABORT.in_definition_runtime: : BAD-WORD ABORT ; 123 +[Hera] [HADES][TEST ] [KRELTSC: 26159102156] Test passed +[Hera] [HADES][TEST ] Testing ABORT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26166383116] Expected: ABORT may appear in a definition; when executed i +[Hera] [HADES][TEST ] [KRELTSC: 26172872330] ABORT: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 26178326418] ▶ Testing module: v3/src/test_runner/modules/system_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 26184547944] Testing word: ABORT" +[Hera] [HADES][TEST ] [KRELTSC: 26188956938] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 26193724638] Running ABORT".condition_true: -1 ABORT" Error" + +[Hera] [HADES][TEST ] [KRELTSC: 26199900968] Test passed +[Hera] [HADES][TEST ] Testing ABORT" ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26207814786] Expected: Should abort with message (no error; stacks clear +[Hera] [HADES][TEST ] [KRELTSC: 26214098000] Running ABORT".condition_false: 0 ABORT" Error" +[Hera] [HADES][TEST ] [KRELTSC: 26220338468] Test passed +[Hera] [HADES][TEST ] Testing ABORT" ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26229361114] Expected: Should not abort +[Hera] [HADES][TEST ] [KRELTSC: 26234672176] Running ABORT".empty_stack: ABORT" +[Hera] [HADES][TEST ] [KRELTSC: 26239836006] Expected error occurred +[Hera] [HADES][TEST ] Testing ABORT" ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26251908062] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 26259338430] ABORT": 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 26267151046] ▶ Testing module: v3/src/test_runner/modules/system_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 26274710556] Testing word: BYE +[Hera] [HADES][TEST ] [KRELTSC: 26279277862] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 26284342350] BYE: 0 passed, 0 failed, 1 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 26290406054] ▶ Testing module: v3/src/test_runner/modules/system_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 26297062146] Testing word: COLD +[Hera] [HADES][TEST ] [KRELTSC: 26301606088] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 26306440138] COLD: 0 passed, 0 failed, 1 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 26312706650] ▶ Testing module: v3/src/test_runner/modules/system_words_tes +[Hera] [HADES][TEST ] [KRELTSC: 26318500494] Testing word: WARM +[Hera] [HADES][TEST ] [KRELTSC: 26323150118] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 26327819358] WARM: 0 passed, 0 failed, 1 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 26334005494] === System Words Summary: 0 passed, 0 failed, 0 skipped, 0 erro +[Hera] [HADES][INFO ] [KRELTSC: 26340864072] +[Hera] === Testing Module: Defining Words === +[Hera] [HADES][INFO ] [KRELTSC: 26347986230] Running Defining Words Tests (Module 13)... +[Hera] [HADES][TEST ] [KRELTSC: 26353379466] ▶ Testing module: v3/src/test_runner/modules/defining_words_t +[Hera] [HADES][TEST ] [KRELTSC: 26360387482] Testing word: : +[Hera] [HADES][TEST ] [KRELTSC: 26364636974] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 26369072162] Running :.basic: : TEST1 42 ; TEST1 . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 26376104306] Test passed +[Hera] [HADES][TEST ] Testing : ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26384055036] Expected: Should define and execute +[Hera] [HADES][TEST ] [KRELTSC: 26389586558] Running :.empty_name: : +[Hera] [HADES][TEST ] [KRELTSC: 26394133230] Expected error occurred +[Hera] [HADES][TEST ] Testing : ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26403096628] Expected: Should handle empty definition +[Hera] [HADES][TEST ] [KRELTSC: 26408928474] Running :.nested: : TEST3 : ; +[Hera] [HADES][ERROR] [KRELTSC: 26415034940] Nested ':' inside a definition is not allowed +[Hera] [HADES][TEST ] [KRELTSC: 26420889932] Expected error occurred +[Hera] [HADES][TEST ] Testing : ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26430137504] Expected: Should prevent nested definition +[Hera] [HADES][TEST ] [KRELTSC: 26435972972] :: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 26441382916] ▶ Testing module: v3/src/test_runner/modules/defining_words_t +[Hera] [HADES][TEST ] [KRELTSC: 26448144006] Testing word: ; +[Hera] [HADES][TEST ] [KRELTSC: 26452554328] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 26457317558] Running ;.alone: ; +[Hera] [HADES][TEST ] [KRELTSC: 26462362722] Expected error occurred +[Hera] [HADES][TEST ] Testing ; ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26471219860] Expected: Should error outside definition +[Hera] [HADES][TEST ] [KRELTSC: 26478236740] Running ;.immediate: : TEST4 42 ; IMMEDIATE TEST4 . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 26486926538] Test passed +[Hera] [HADES][TEST ] Testing ; ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26494872696] Expected: Should handle immediate +[Hera] [HADES][TEST ] [KRELTSC: 26500208750] ;: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 26506419100] ▶ Testing module: v3/src/test_runner/modules/defining_words_t +[Hera] [HADES][TEST ] [KRELTSC: 26513346264] Testing word: CONSTANT +[Hera] [HADES][TEST ] [KRELTSC: 26518387606] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 26523604710] Running CONSTANT.basic: 42 CONSTANT MEANING MEANING . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 26532343084] Test passed +[Hera] [HADES][TEST ] Testing CONSTANT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26535061840] Expected: Should create constant +[Hera] [HADES][TEST ] [KRELTSC: 26536718242] Running CONSTANT.zero: 0 CONSTANT ZERO ZERO . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 26543250856] Test passed +[Hera] [HADES][TEST ] Testing CONSTANT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26551812284] Expected: Should handle zero +[Hera] [HADES][TEST ] [KRELTSC: 26557355532] Running CONSTANT.negative: -1 CONSTANT MINUS MINUS . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 26566316090] Test passed +[Hera] [HADES][TEST ] Testing CONSTANT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26575137770] Expected: Should handle negative +[Hera] [HADES][TEST ] [KRELTSC: 26580908776] Running CONSTANT.empty_stack: CONSTANT +[Hera] [HADES][TEST ] [KRELTSC: 26587065198] Expected error occurred +[Hera] [HADES][TEST ] Testing CONSTANT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26597354220] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 26603304130] CONSTANT: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 26609571370] ▶ Testing module: v3/src/test_runner/modules/defining_words_t +[Hera] [HADES][TEST ] [KRELTSC: 26616623330] Testing word: VARIABLE +[Hera] [HADES][TEST ] [KRELTSC: 26621526622] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 26626552042] Running VARIABLE.basic: VARIABLE VAR1 42 VAR1 ! VAR1 @ . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 26635521356] Test passed +[Hera] [HADES][TEST ] Testing VARIABLE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26644292660] Expected: Should create variable +[Hera] [HADES][TEST ] [KRELTSC: 26650684490] Running VARIABLE.multiple: VARIABLE VAR2 VARIABLE VAR3 +[Hera] [HADES][TEST ] [KRELTSC: 26657721598] Test passed +[Hera] [HADES][TEST ] Testing VARIABLE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26664637118] Expected: Should create multiple +[Hera] [HADES][TEST ] [KRELTSC: 26670189106] Running VARIABLE.store_fetch: VARIABLE VAR4 -99 VAR4 ! VAR4 @ +[Hera] -99 +[Hera] [HADES][TEST ] [KRELTSC: 26678965090] Test passed +[Hera] [HADES][TEST ] Testing VARIABLE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26687992106] Expected: Should store/fetch +[Hera] [HADES][TEST ] [KRELTSC: 26693448842] VARIABLE: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 26699772192] ▶ Testing module: v3/src/test_runner/modules/defining_words_t +[Hera] [HADES][TEST ] [KRELTSC: 26706761126] Testing word: CREATE +[Hera] [HADES][TEST ] [KRELTSC: 26712506060] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 26718526522] Running CREATE.basic: CREATE OBJ1 +[Hera] [HADES][TEST ] [KRELTSC: 26726640192] Test passed +[Hera] [HADES][TEST ] Testing CREATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26737972576] Expected: Should create word +[Hera] [HADES][TEST ] [KRELTSC: 26744999698] Running CREATE.with_data: CREATE OBJ2 42 , OBJ2 @ . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 26756524378] Test passed +[Hera] [HADES][TEST ] Testing CREATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26768803148] Expected: Should allow data +[Hera] [HADES][TEST ] [KRELTSC: 26775717126] Running CREATE.empty_name: CREATE +[Hera] [HADES][TEST ] [KRELTSC: 26782974390] Expected error occurred +[Hera] [HADES][TEST ] Testing CREATE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26795327484] Expected: Should handle empty name +[Hera] [HADES][TEST ] [KRELTSC: 26803163676] CREATE: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 26811864466] ▶ Testing module: v3/src/test_runner/modules/defining_words_t +[Hera] [HADES][TEST ] [KRELTSC: 26822661226] Testing word: DOES> +[Hera] [HADES][TEST ] [KRELTSC: 26829522804] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 26836840126] Running DOES>.basic: : CONST CREATE , DOES> @ ; 42 CONST MEAN +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 26852157316] Test passed +[Hera] [HADES][TEST ] Testing DOES> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26862933284] Expected: Should define behavior +[Hera] [HADES][TEST ] [KRELTSC: 26870136950] Running DOES>.multiple: : ARRAY CREATE DOES> SWAP CELLS + ; C +[Hera] [HADES][TEST ] [KRELTSC: 26880750666] Test passed +[Hera] [HADES][TEST ] Testing DOES> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26892408760] Expected: Should work with arrays +[Hera] [HADES][TEST ] [KRELTSC: 26899582058] Running DOES>.outside: DOES> +[Hera] [HADES][ERROR] [KRELTSC: 26906064520] DOES>: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 26911702406] Expected error occurred +[Hera] [HADES][TEST ] Testing DOES> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26922568714] Expected: Should error outside definition +[Hera] [HADES][TEST ] [KRELTSC: 26930168486] DOES>: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 26938457540] ▶ Testing module: v3/src/test_runner/modules/defining_words_t +[Hera] [HADES][TEST ] [KRELTSC: 26945949020] Testing word: [ +[Hera] [HADES][TEST ] [KRELTSC: 26951455532] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 26957512584] Running [.basic: : TEST5 [ 42 ] LITERAL ; TEST5 . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 26968516446] Test passed +[Hera] [HADES][TEST ] Testing [ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 26979546314] Expected: Should enter interpret +[Hera] [HADES][TEST ] [KRELTSC: 26986670956] Running [.outside: [ +[Hera] [HADES][TEST ] [KRELTSC: 26993756084] Test passed +[Hera] [HADES][TEST ] Testing [ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27004872866] Expected: Should be allowed outside definition (no error) +[Hera] [HADES][TEST ] [KRELTSC: 27013599490] [: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 27021197914] ▶ Testing module: v3/src/test_runner/modules/defining_words_t +[Hera] [HADES][TEST ] [KRELTSC: 27030192114] Testing word: ] +[Hera] [HADES][TEST ] [KRELTSC: 27035563880] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 27041356380] Running ].basic: [ 42 ] . CR +[Hera] [HADES][TEST ] [KRELTSC: 27048173250] Test passed +[Hera] [HADES][TEST ] Testing ] ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27059826956] Expected: Should resume compile +[Hera] [HADES][TEST ] [KRELTSC: 27066869012] Running ].nested: : TEST6 [ ] 42 ; TEST6 . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 27076453082] Test passed +[Hera] [HADES][TEST ] Testing ] ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27087093974] Expected: Should handle nesting +[Hera] [HADES][TEST ] [KRELTSC: 27094175854] ]: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 27101525726] ▶ Testing module: v3/src/test_runner/modules/defining_words_t +[Hera] [HADES][TEST ] [KRELTSC: 27109635370] Testing word: DEFER +[Hera] [HADES][TEST ] [KRELTSC: 27114939292] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 27120934620] Running DEFER.basic: DEFER DF1 : DF1W 42 . CR ; ' DF1W IS DF1 +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 27133369574] Test passed +[Hera] [HADES][TEST ] Testing DEFER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27141977656] Expected: Should print: 42 +[Hera] [HADES][TEST ] [KRELTSC: 27146867668] Running DEFER.uninit: DEFER DF2 DF2 +[Hera] [HADES][ERROR] [KRELTSC: 27152476734] DEFER runtime: no target set for 'DF2' +[Hera] [HADES][TEST ] [KRELTSC: 27156912464] Expected error occurred +[Hera] [HADES][TEST ] Testing DEFER ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27165444056] Expected: Should error: uninitialized deferred word +[Hera] [HADES][TEST ] [KRELTSC: 27171664868] DEFER: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 27177526686] ▶ Testing module: v3/src/test_runner/modules/defining_words_t +[Hera] [HADES][TEST ] [KRELTSC: 27184201414] Testing word: IS +[Hera] [HADES][TEST ] [KRELTSC: 27188626916] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 27193553292] Running IS.basic: DEFER IS1 : IS1W 99 . CR ; ' IS1W IS IS1 IS +[Hera] 99 +[Hera] [HADES][TEST ] [KRELTSC: 27202152370] Test passed +[Hera] [HADES][TEST ] Testing IS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27210518150] Expected: Should print: 99 +[Hera] [HADES][TEST ] [KRELTSC: 27215286894] Running IS.not_defer: 42 IS DUP +[Hera] [HADES][ERROR] [KRELTSC: 27220692664] IS: 'DUP' was not created by DEFER +[Hera] [HADES][TEST ] [KRELTSC: 27225980424] Expected error occurred +[Hera] [HADES][TEST ] Testing IS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27234491556] Expected: Should error: DUP is not a DEFER word +[Hera] [HADES][TEST ] [KRELTSC: 27240930056] Running IS.not_found: 42 IS NOSUCH +[Hera] [HADES][ERROR] [KRELTSC: 27246698570] IS: word 'NOSUCH' not found +[Hera] [HADES][TEST ] [KRELTSC: 27251807332] Expected error occurred +[Hera] [HADES][TEST ] Testing IS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27261100798] Expected: Should error: word not found +[Hera] [HADES][TEST ] [KRELTSC: 27266879492] IS: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 27272863036] ▶ Testing module: v3/src/test_runner/modules/defining_words_t +[Hera] [HADES][TEST ] [KRELTSC: 27279613690] Testing word: DEFER@ +[Hera] [HADES][TEST ] [KRELTSC: 27284359636] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 27289324172] Running DEFER@.basic: DEFER DFA1 : DFA1W 7 . CR ; ' DFA1W IS +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 27296977502] Test passed +[Hera] [HADES][TEST ] Testing DEFER@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27305277902] Expected: Should print: -1 +[Hera] [HADES][TEST ] [KRELTSC: 27310509564] Running DEFER@.not_found: DEFER@ NOSUCH2 +[Hera] [HADES][ERROR] [KRELTSC: 27316487848] DEFER@: word 'NOSUCH2' not found +[Hera] [HADES][TEST ] [KRELTSC: 27321905402] Expected error occurred +[Hera] [HADES][TEST ] Testing DEFER@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27331264040] Expected: Should error: word not found +[Hera] [HADES][TEST ] [KRELTSC: 27337113566] DEFER@: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 27343589298] ▶ Testing module: v3/src/test_runner/modules/defining_words_t +[Hera] [HADES][TEST ] [KRELTSC: 27349301556] Testing word: ['] +[Hera] [HADES][TEST ] [KRELTSC: 27353425246] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 27357494438] Running ['].compile_xt: : BKT1 ['] DUP ; 77 BKT1 EXECUTE . . +[Hera] 77 77 +[Hera] [HADES][TEST ] [KRELTSC: 27364235064] Test passed +[Hera] [HADES][TEST ] Testing ['] ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27372339944] Expected: Should print: 77 77 +[Hera] [HADES][TEST ] [KRELTSC: 27377562882] Running ['].pin_like: : BKT2 ['] DROP ; 1 2 BKT2 EXECUTE . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 27386145658] Test passed +[Hera] [HADES][TEST ] Testing ['] ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27394874224] Expected: Should print: 1 +[Hera] [HADES][TEST ] [KRELTSC: 27401005636] Running ['].not_found: : BKT3 ['] NOSUCHWORD ; +[Hera] [HADES][ERROR] [KRELTSC: 27408639500] [']': word 'NOSUCHWORD' not found +[Hera] [HADES][TEST ] [KRELTSC: 27413605010] Expected error occurred +[Hera] [HADES][TEST ] Testing ['] ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27419711534] Expected: Should error: word not found +[Hera] [HADES][TEST ] [KRELTSC: 27424895484] [']: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 27430834880] === Defining Words Summary: 0 passed, 0 failed, 0 skipped, 0 er +[Hera] [HADES][INFO ] [KRELTSC: 27437616562] +[Hera] === Testing Module: Control Words === +[Hera] [HADES][INFO ] [KRELTSC: 27444546620] Running Control Words Tests (Module 12)... +[Hera] [HADES][TEST ] [KRELTSC: 27450202794] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 27456984140] Testing word: IF +[Hera] [HADES][TEST ] [KRELTSC: 27461438538] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 27465989710] Running IF.true: : TEST1 IF 42 ELSE 24 THEN ; -1 TEST1 . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 27475432638] Test passed +[Hera] [HADES][TEST ] Testing IF ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27483975042] Expected: Should take true branch +[Hera] [HADES][TEST ] [KRELTSC: 27489471264] Running IF.false: : TEST2 IF 42 ELSE 24 THEN ; 0 TEST2 . CR +[Hera] [HADES][INFO ] [KRELTSC: 27506793606] L8[TABLE]: Config 4 → 5 regime=7 score=26214 L1=0 L2=0 L3=0 L +[Hera] 24 +[Hera] [HADES][TEST ] [KRELTSC: 27514231648] Test passed +[Hera] [HADES][TEST ] Testing IF ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27522602376] Expected: Should take false branch +[Hera] [HADES][TEST ] [KRELTSC: 27528170972] Running IF.nested: : TEST3 IF IF 1 ELSE 2 THEN ELSE 3 THEN ; +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 27536692006] Test passed +[Hera] [HADES][TEST ] Testing IF ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27545024198] Expected: Should handle nesting +[Hera] [HADES][TEST ] [KRELTSC: 27550615812] Running IF.no_else: : TEST4 IF 42 THEN ; -1 TEST4 . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 27558848294] Test passed +[Hera] [HADES][TEST ] Testing IF ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27567626550] Expected: Should work without ELSE +[Hera] [HADES][TEST ] [KRELTSC: 27574439384] Running IF.empty_stack: IF +[Hera] [HADES][ERROR] [KRELTSC: 27579792920] IF: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 27584138258] Expected error occurred +[Hera] [HADES][TEST ] Testing IF ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27593282370] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 27598087850] IF: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 27601682452] Testing word: IF +[Hera] [HADES][TEST ] [KRELTSC: 27604444640] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 27607074814] Running IF.true: : TEST1 IF 42 ELSE 24 THEN ; -1 TEST1 . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 27613983580] Test passed +[Hera] [HADES][TEST ] Testing IF ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27622138712] Expected: Should take true branch +[Hera] [HADES][TEST ] [KRELTSC: 27628019404] Running IF.false: : TEST2 IF 42 ELSE 24 THEN ; 0 TEST2 . CR +[Hera] 24 +[Hera] [HADES][TEST ] [KRELTSC: 27636369740] Test passed +[Hera] [HADES][TEST ] Testing IF ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27644941818] Expected: Should take false branch +[Hera] [HADES][TEST ] [KRELTSC: 27650469740] Running IF.nested: : TEST3 IF IF 1 ELSE 2 THEN ELSE 3 THEN ; +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 27658788878] Test passed +[Hera] [HADES][TEST ] Testing IF ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27666608842] Expected: Should handle nesting +[Hera] [HADES][TEST ] [KRELTSC: 27671399356] Running IF.no_else: : TEST4 IF 42 THEN ; -1 TEST4 . CR +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 27679331140] Test passed +[Hera] [HADES][TEST ] Testing IF ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27688702226] Expected: Should work without ELSE +[Hera] [HADES][TEST ] [KRELTSC: 27695024430] Running IF.empty_stack: IF +[Hera] [HADES][ERROR] [KRELTSC: 27699798310] IF: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 27704014550] Expected error occurred +[Hera] [HADES][TEST ] Testing IF ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27713048744] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 27718943872] IF: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 27724960780] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 27731782502] Testing word: ELSE +[Hera] [HADES][TEST ] [KRELTSC: 27736351654] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 27741570546] Running ELSE.alone: ELSE +[Hera] [HADES][ERROR] [KRELTSC: 27748099470] ELSE: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 27752796964] Expected error occurred +[Hera] [HADES][TEST ] Testing ELSE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27761853916] Expected: Should error outside IF +[Hera] [HADES][TEST ] [KRELTSC: 27767461604] Running ELSE.double: : BAD IF 1 ELSE ELSE 2 THEN ; +[Hera] [HADES][ERROR] [KRELTSC: 27774041688] ELSE: missing IF +[Hera] [HADES][TEST ] [KRELTSC: 27778138582] Expected error occurred +[Hera] [HADES][TEST ] Testing ELSE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27787364058] Expected: Should prevent double ELSE +[Hera] [HADES][TEST ] [KRELTSC: 27793225218] ELSE: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 27799635508] Testing word: ELSE +[Hera] [HADES][TEST ] [KRELTSC: 27803972988] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 27808764734] Running ELSE.alone: ELSE +[Hera] [HADES][ERROR] [KRELTSC: 27813564686] ELSE: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 27817852964] Expected error occurred +[Hera] [HADES][TEST ] Testing ELSE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27825964806] Expected: Should error outside IF +[Hera] [HADES][TEST ] [KRELTSC: 27831005668] Running ELSE.double: : BAD IF 1 ELSE ELSE 2 THEN ; +[Hera] [HADES][ERROR] [KRELTSC: 27837170634] ELSE: missing IF +[Hera] [HADES][TEST ] [KRELTSC: 27841325906] Expected error occurred +[Hera] [HADES][TEST ] Testing ELSE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27850032266] Expected: Should prevent double ELSE +[Hera] [HADES][TEST ] [KRELTSC: 27855466418] ELSE: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 27862363332] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 27869954626] Testing word: THEN +[Hera] [HADES][TEST ] [KRELTSC: 27874525390] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 27879534688] Running THEN.alone: THEN +[Hera] [HADES][ERROR] [KRELTSC: 27884789996] THEN: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 27889182508] Expected error occurred +[Hera] [HADES][TEST ] Testing THEN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27898627932] Expected: Should error outside IF +[Hera] [HADES][TEST ] [KRELTSC: 27904434130] Running THEN.extra: : BAD IF 1 THEN THEN ; +[Hera] [HADES][ERROR] [KRELTSC: 27910965798] CF: underflow +[Hera] [HADES][ERROR] [KRELTSC: 27915966978] THEN: unmatched +[Hera] [HADES][TEST ] [KRELTSC: 27920608286] Expected error occurred +[Hera] [HADES][TEST ] Testing THEN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27929957708] Expected: Should prevent extra THEN +[Hera] [HADES][TEST ] [KRELTSC: 27935730644] THEN: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 27941748726] Testing word: THEN +[Hera] [HADES][TEST ] [KRELTSC: 27946365892] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 27951307424] Running THEN.alone: THEN +[Hera] [HADES][ERROR] [KRELTSC: 27956435912] THEN: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 27961217712] Expected error occurred +[Hera] [HADES][TEST ] Testing THEN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 27970831418] Expected: Should error outside IF +[Hera] [HADES][TEST ] [KRELTSC: 27977914398] Running THEN.extra: : BAD IF 1 THEN THEN ; +[Hera] [HADES][ERROR] [KRELTSC: 27985740158] CF: underflow +[Hera] [HADES][ERROR] [KRELTSC: 27989857822] THEN: unmatched +[Hera] [HADES][TEST ] [KRELTSC: 27994230558] Expected error occurred +[Hera] [HADES][TEST ] Testing THEN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28002741274] Expected: Should prevent extra THEN +[Hera] [HADES][TEST ] [KRELTSC: 28008327094] THEN: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 28013864304] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 28020137556] Testing word: BEGIN +[Hera] [HADES][TEST ] [KRELTSC: 28024354158] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 28028806908] Running BEGIN.until: : TEST5 0 BEGIN 1+ DUP 5 = UNTIL ; TEST5 +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 28037607150] Test passed +[Hera] [HADES][TEST ] Testing BEGIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28046050166] Expected: Should loop until true +[Hera] [HADES][TEST ] [KRELTSC: 28051573864] Running BEGIN.while: : TEST6 0 BEGIN DUP 5 < WHILE 1+ REPEAT +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 28060058054] Test passed +[Hera] [HADES][TEST ] Testing BEGIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28068269684] Expected: Should loop while true +[Hera] [HADES][TEST ] [KRELTSC: 28073226018] Running BEGIN.alone: BEGIN +[Hera] [HADES][ERROR] [KRELTSC: 28078213538] BEGIN: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 28082420422] Expected error occurred +[Hera] [HADES][TEST ] Testing BEGIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28091951242] Expected: Should error outside definition +[Hera] [HADES][TEST ] [KRELTSC: 28100127650] BEGIN: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 28106325386] Testing word: BEGIN +[Hera] [HADES][TEST ] [KRELTSC: 28111083794] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 28115938646] Running BEGIN.until: : TEST5 0 BEGIN 1+ DUP 5 = UNTIL ; TEST5 +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 28124075232] Test passed +[Hera] [HADES][TEST ] Testing BEGIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28133238148] Expected: Should loop until true +[Hera] [HADES][TEST ] [KRELTSC: 28138962706] Running BEGIN.while: : TEST6 0 BEGIN DUP 5 < WHILE 1+ REPEAT +[Hera] [HADES][INFO ] [KRELTSC: 28145863416] L8[TABLE]: Config 5 → 6 regime=7 score=26214 L1=0 L2=0 L3=0 L +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 28154241996] Test passed +[Hera] [HADES][TEST ] Testing BEGIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28161955730] Expected: Should loop while true +[Hera] [HADES][TEST ] [KRELTSC: 28167160584] Running BEGIN.alone: BEGIN +[Hera] [HADES][ERROR] [KRELTSC: 28172058208] BEGIN: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 28176791924] Expected error occurred +[Hera] [HADES][TEST ] Testing BEGIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28184958154] Expected: Should error outside definition +[Hera] [HADES][TEST ] [KRELTSC: 28187938188] BEGIN: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 28193755780] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 28198703608] Testing word: UNTIL +[Hera] [HADES][TEST ] [KRELTSC: 28203534320] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 28208104274] Running UNTIL.basic: : TEST8 BEGIN DUP 1- DUP 0= UNTIL ; 5 TE +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 28216382652] Test passed +[Hera] [HADES][TEST ] Testing UNTIL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28225115274] Expected: Should count down +[Hera] [HADES][TEST ] [KRELTSC: 28230605982] Running UNTIL.immediate: : TEST9 BEGIN 1 UNTIL ; IMMEDIATE +[Hera] [HADES][TEST ] [KRELTSC: 28237293324] Test passed +[Hera] [HADES][TEST ] Testing UNTIL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28244920448] Expected: Should be immediate +[Hera] [HADES][TEST ] [KRELTSC: 28249059458] Running UNTIL.no_begin: UNTIL +[Hera] [HADES][ERROR] [KRELTSC: 28253819122] UNTIL: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 28258350688] Expected error occurred +[Hera] [HADES][TEST ] Testing UNTIL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28268198594] Expected: Should error without BEGIN +[Hera] [HADES][TEST ] [KRELTSC: 28273881892] UNTIL: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 28279677722] Testing word: UNTIL +[Hera] [HADES][TEST ] [KRELTSC: 28284075040] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 28288846014] Running UNTIL.basic: : TEST8 BEGIN DUP 1- DUP 0= UNTIL ; 5 TE +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 28296337586] Test passed +[Hera] [HADES][TEST ] Testing UNTIL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28303860884] Expected: Should count down +[Hera] [HADES][TEST ] [KRELTSC: 28308047840] Running UNTIL.immediate: : TEST9 BEGIN 1 UNTIL ; IMMEDIATE +[Hera] [HADES][TEST ] [KRELTSC: 28313177882] Test passed +[Hera] [HADES][TEST ] Testing UNTIL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28321034884] Expected: Should be immediate +[Hera] [HADES][TEST ] [KRELTSC: 28324861852] Running UNTIL.no_begin: UNTIL +[Hera] [HADES][ERROR] [KRELTSC: 28329427554] UNTIL: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 28333223072] Expected error occurred +[Hera] [HADES][TEST ] Testing UNTIL ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28341696562] Expected: Should error without BEGIN +[Hera] [HADES][TEST ] [KRELTSC: 28347853052] UNTIL: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 28353887162] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 28361560112] Testing word: WHILE +[Hera] [HADES][TEST ] [KRELTSC: 28366046968] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 28370873412] Running WHILE.basic: : TEST10 BEGIN DUP 5 < WHILE 1+ REPEAT ; +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 28378452062] Test passed +[Hera] [HADES][TEST ] Testing WHILE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28384742622] Expected: Should count up +[Hera] [HADES][TEST ] [KRELTSC: 28389793340] Running WHILE.zero_times: : TEST11 BEGIN DUP 0< WHILE 1+ REPE +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 28398232270] Test passed +[Hera] [HADES][TEST ] Testing WHILE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28406550286] Expected: Should handle zero iterations +[Hera] [HADES][TEST ] [KRELTSC: 28412324380] Running WHILE.no_begin: WHILE +[Hera] [HADES][ERROR] [KRELTSC: 28417282102] WHILE: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 28421350102] Expected error occurred +[Hera] [HADES][TEST ] Testing WHILE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28429827304] Expected: Should error without BEGIN +[Hera] [HADES][TEST ] [KRELTSC: 28435502654] WHILE: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 28441085022] Testing word: WHILE +[Hera] [HADES][TEST ] [KRELTSC: 28445840432] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 28450548612] Running WHILE.basic: : TEST10 BEGIN DUP 5 < WHILE 1+ REPEAT ; +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 28458774974] Test passed +[Hera] [HADES][TEST ] Testing WHILE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28467463780] Expected: Should count up +[Hera] [HADES][TEST ] [KRELTSC: 28472930368] Running WHILE.zero_times: : TEST11 BEGIN DUP 0< WHILE 1+ REPE +[Hera] [HADES][INFO ] [KRELTSC: 28480388152] L8[TABLE]: Config 6 → 7 regime=7 score=26214 L1=0 L2=0 L3=0 L +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 28488433410] Test passed +[Hera] [HADES][TEST ] Testing WHILE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28497474010] Expected: Should handle zero iterations +[Hera] [HADES][TEST ] [KRELTSC: 28503279040] Running WHILE.no_begin: WHILE +[Hera] [HADES][ERROR] [KRELTSC: 28508651362] WHILE: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 28513294604] Expected error occurred +[Hera] [HADES][TEST ] Testing WHILE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28522700720] Expected: Should error without BEGIN +[Hera] [HADES][TEST ] [KRELTSC: 28528378620] WHILE: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 28534428432] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 28540929208] Testing word: REPEAT +[Hera] [HADES][TEST ] [KRELTSC: 28545658730] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 28550914964] Running REPEAT.basic: : TEST12 BEGIN DUP 5 < WHILE 1+ REPEAT +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 28559747622] Test passed +[Hera] [HADES][TEST ] Testing REPEAT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28568556380] Expected: Should terminate loop +[Hera] [HADES][TEST ] [KRELTSC: 28574280864] Running REPEAT.no_while: REPEAT +[Hera] [HADES][ERROR] [KRELTSC: 28579647554] REPEAT: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 28584076572] Expected error occurred +[Hera] [HADES][TEST ] Testing REPEAT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28592697622] Expected: Should error without WHILE +[Hera] [HADES][TEST ] [KRELTSC: 28598230742] REPEAT: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 28604288816] Testing word: REPEAT +[Hera] [HADES][TEST ] [KRELTSC: 28608985662] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 28613735644] Running REPEAT.basic: : TEST12 BEGIN DUP 5 < WHILE 1+ REPEAT +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 28621978434] Test passed +[Hera] [HADES][TEST ] Testing REPEAT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28630445692] Expected: Should terminate loop +[Hera] [HADES][TEST ] [KRELTSC: 28635926564] Running REPEAT.no_while: REPEAT +[Hera] [HADES][ERROR] [KRELTSC: 28641217492] REPEAT: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 28645981946] Expected error occurred +[Hera] [HADES][TEST ] Testing REPEAT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28655508988] Expected: Should error without WHILE +[Hera] [HADES][TEST ] [KRELTSC: 28659890216] REPEAT: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 28662866062] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 28665382850] Testing word: DO +[Hera] [HADES][TEST ] [KRELTSC: 28667915320] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 28670426326] Running DO.basic: : TEST13 5 0 DO I . LOOP ; TEST13 CR +[Hera] 0 1 2 3 4 +[Hera] [HADES][TEST ] [KRELTSC: 28676633900] Test passed +[Hera] [HADES][TEST ] Testing DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28684914454] Expected: Should count 0 to 4 +[Hera] [HADES][TEST ] [KRELTSC: 28690254422] Running DO.negative: : TEST14 -1 -5 DO I . LOOP ; TEST14 CR +[Hera] -5 -4 -3 -2 +[Hera] [HADES][TEST ] [KRELTSC: 28699639130] Test passed +[Hera] [HADES][TEST ] Testing DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28708931754] Expected: Should handle negative +[Hera] [HADES][TEST ] [KRELTSC: 28714268378] Running DO.empty: : TEST15 0 0 DO LOOP ; +[Hera] [HADES][TEST ] [KRELTSC: 28720360410] Test passed +[Hera] [HADES][TEST ] Testing DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28728910242] Expected: Should handle empty range +[Hera] [HADES][TEST ] [KRELTSC: 28734419376] Running DO.nested: : TEST16 3 0 DO 3 0 DO J I + . LOOP LOOP ; +[Hera] 0 1 2 1 2 3 2 3 4 +[Hera] [HADES][TEST ] [KRELTSC: 28743972254] Test passed +[Hera] [HADES][TEST ] Testing DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28752487258] Expected: Should handle nesting +[Hera] [HADES][TEST ] [KRELTSC: 28758088602] DO: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 28764026438] Testing word: DO +[Hera] [HADES][TEST ] [KRELTSC: 28768935262] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 28774084020] Running DO.basic: : TEST13 5 0 DO I . LOOP ; TEST13 CR +[Hera] [HADES][INFO ] [KRELTSC: 28781917568] L8[TABLE]: Config 7 → 8 regime=7 score=6553 L1=0 L2=0 L3=0 L4 +[Hera] 0 1 2 3 4 +[Hera] [HADES][TEST ] [KRELTSC: 28790753088] Test passed +[Hera] [HADES][TEST ] Testing DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28799269946] Expected: Should count 0 to 4 +[Hera] [HADES][TEST ] [KRELTSC: 28804552458] Running DO.negative: : TEST14 -1 -5 DO I . LOOP ; TEST14 CR +[Hera] -5 -4 -3 -2 +[Hera] [HADES][TEST ] [KRELTSC: 28813942214] Test passed +[Hera] [HADES][TEST ] Testing DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28822541322] Expected: Should handle negative +[Hera] [HADES][TEST ] [KRELTSC: 28828174494] Running DO.empty: : TEST15 0 0 DO LOOP ; +[Hera] [HADES][TEST ] [KRELTSC: 28834461390] Test passed +[Hera] [HADES][TEST ] Testing DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28843262890] Expected: Should handle empty range +[Hera] [HADES][TEST ] [KRELTSC: 28848976216] Running DO.nested: : TEST16 3 0 DO 3 0 DO J I + . LOOP LOOP ; +[Hera] 0 1 2 1 2 3 2 3 4 +[Hera] [HADES][TEST ] [KRELTSC: 28859117200] Test passed +[Hera] [HADES][TEST ] Testing DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28867674330] Expected: Should handle nesting +[Hera] [HADES][TEST ] [KRELTSC: 28873196834] DO: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 28878927420] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 28885579350] Testing word: ?DO +[Hera] [HADES][TEST ] [KRELTSC: 28890024452] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 28894554348] Running ?DO.basic: : TEST17 5 0 ?DO I . LOOP ; TEST17 CR +[Hera] 0 1 2 3 4 +[Hera] [HADES][TEST ] [KRELTSC: 28905320282] Test passed +[Hera] [HADES][TEST ] Testing ?DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28913842688] Expected: Should count 0 to 4 +[Hera] [HADES][TEST ] [KRELTSC: 28919263632] Running ?DO.skip: : TEST18 1 1 ?DO I . LOOP ; +[Hera] [HADES][TEST ] [KRELTSC: 28925891616] Test passed +[Hera] [HADES][TEST ] Testing ?DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28934519274] Expected: Should skip when equal +[Hera] [HADES][TEST ] [KRELTSC: 28940202812] Running ?DO.nested: : TEST19 3 0 ?DO 3 I ?DO J I + . LOOP LOO +[Hera] 0 1 2 2 3 4 +[Hera] [HADES][TEST ] [KRELTSC: 28949991616] Test passed +[Hera] [HADES][TEST ] Testing ?DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 28958797854] Expected: Should handle nesting +[Hera] [HADES][TEST ] [KRELTSC: 28964238262] ?DO: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 28970403304] Testing word: ?DO +[Hera] [HADES][TEST ] [KRELTSC: 28975210670] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 28980330330] Running ?DO.basic: : TEST17 5 0 ?DO I . LOOP ; TEST17 CR +[Hera] 0 1 2 3 4 [HADES][INFO ] [KRELTSC: 28989684370] L8[TABLE]: Config 8 → 9 regime=7 score=6553 L1=0 L2=0 L3=0 L4 + +[Hera] [HADES][TEST ] [KRELTSC: 28995541014] Test passed +[Hera] [HADES][TEST ] Testing ?DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29004424994] Expected: Should count 0 to 4 +[Hera] [HADES][TEST ] [KRELTSC: 29009592678] Running ?DO.skip: : TEST18 1 1 ?DO I . LOOP ; +[Hera] [HADES][TEST ] [KRELTSC: 29015930532] Test passed +[Hera] [HADES][TEST ] Testing ?DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29024278046] Expected: Should skip when equal +[Hera] [HADES][TEST ] [KRELTSC: 29029902502] Running ?DO.nested: : TEST19 3 0 ?DO 3 I ?DO J I + . LOOP LOO +[Hera] 0 1 2 2 3 4 +[Hera] [HADES][TEST ] [KRELTSC: 29039225014] Test passed +[Hera] [HADES][TEST ] Testing ?DO ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29047736698] Expected: Should handle nesting +[Hera] [HADES][TEST ] [KRELTSC: 29052849750] ?DO: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 29058683392] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 29065623820] Testing word: LOOP +[Hera] [HADES][TEST ] [KRELTSC: 29070478050] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 29075297992] Running LOOP.basic: : TEST20 5 0 DO I . LOOP ; TEST20 CR +[Hera] 0 1 2 3 4 +[Hera] [HADES][TEST ] [KRELTSC: 29084342716] Test passed +[Hera] [HADES][TEST ] Testing LOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29092688360] Expected: Should increment by 1 +[Hera] [HADES][TEST ] [KRELTSC: 29098023960] Running LOOP.no_do: LOOP +[Hera] [HADES][ERROR] [KRELTSC: 29103146546] LOOP: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 29107801706] Expected error occurred +[Hera] [HADES][TEST ] Testing LOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29116929760] Expected: Should error without DO +[Hera] [HADES][TEST ] [KRELTSC: 29122652310] LOOP: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 29129529848] Testing word: LOOP +[Hera] [HADES][TEST ] [KRELTSC: 29135084922] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 29140009472] Running LOOP.basic: : TEST20 5 0 DO I . LOOP ; TEST20 CR +[Hera] 0 1 2 3 4 +[Hera] [HADES][TEST ] [KRELTSC: 29148834560] Test passed +[Hera] [HADES][TEST ] Testing LOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29156843904] Expected: Should increment by 1 +[Hera] [HADES][TEST ] [KRELTSC: 29161914344] Running LOOP.no_do: LOOP +[Hera] [HADES][ERROR] [KRELTSC: 29166531556] LOOP: compile-only +[Hera] [HADES][TEST ] [KRELTSC: 29170864844] Expected error occurred +[Hera] [HADES][TEST ] Testing LOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29178508334] Expected: Should error without DO +[Hera] [HADES][TEST ] [KRELTSC: 29184020130] LOOP: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 29190118298] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 29196931828] Testing word: +LOOP +[Hera] [HADES][TEST ] [KRELTSC: 29201619494] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 29207108942] Running +LOOP.basic: : TEST21 10 0 DO I . 2 +LOOP ; TEST21 CR +[Hera] 0 2 4 6 8 +[Hera] [HADES][TEST ] [KRELTSC: 29216512290] Test passed +[Hera] [HADES][TEST ] Testing +LOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29224911314] Expected: Should count by 2 +[Hera] [HADES][TEST ] [KRELTSC: 29230363374] Running +LOOP.negative: : TEST22 0 10 DO I . -1 +LOOP ; TEST2 +[Hera] 10 9 8 7 6 5 4 3 2 1 0 +[Hera] [HADES][TEST ] [KRELTSC: 29240398088] Test passed +[Hera] [HADES][TEST ] Testing +LOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29249384228] Expected: Should count down +[Hera] [HADES][TEST ] [KRELTSC: 29254571528] Running +LOOP.variable: : TEST23 10 0 DO I . DUP +LOOP ; 3 TE +[Hera] 0 3 6 9 [HADES][INFO ] [KRELTSC: 29263610578] L8[TABLE]: Config 9 → 10 regime=7 score=6553 L1=0 L2=0 L3=0 L + +[Hera] [HADES][TEST ] [KRELTSC: 29269205980] Test passed +[Hera] [HADES][TEST ] Testing +LOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29277890112] Expected: Should use stack value +[Hera] [HADES][TEST ] [KRELTSC: 29283242102] +LOOP: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 29289307832] Testing word: +LOOP +[Hera] [HADES][TEST ] [KRELTSC: 29293987434] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 29299067152] Running +LOOP.basic: : TEST21 10 0 DO I . 2 +LOOP ; TEST21 CR +[Hera] 0 2 4 6 8 +[Hera] [HADES][TEST ] [KRELTSC: 29308024110] Test passed +[Hera] [HADES][TEST ] Testing +LOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29316483648] Expected: Should count by 2 +[Hera] [HADES][TEST ] [KRELTSC: 29321819362] Running +LOOP.negative: : TEST22 0 10 DO I . -1 +LOOP ; TEST2 +[Hera] 10 9 8 7 6 5 4 3 2 1 0 +[Hera] [HADES][TEST ] [KRELTSC: 29331935128] Test passed +[Hera] [HADES][TEST ] Testing +LOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29340275018] Expected: Should count down +[Hera] [HADES][TEST ] [KRELTSC: 29345217456] Running +LOOP.variable: : TEST23 10 0 DO I . DUP +LOOP ; 3 TE +[Hera] 0 3 6 9 +[Hera] [HADES][TEST ] [KRELTSC: 29354638614] Test passed +[Hera] [HADES][TEST ] Testing +LOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29363819476] Expected: Should use stack value +[Hera] [HADES][TEST ] [KRELTSC: 29369320374] +LOOP: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 29375277186] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 29382187520] Testing word: I +[Hera] [HADES][TEST ] [KRELTSC: 29386519414] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 29391627678] Running I.basic: : TI 4 0 DO I . LOOP CR ; TI +[Hera] 0 1 2 3 +[Hera] [HADES][TEST ] [KRELTSC: 29400153254] Test passed +[Hera] [HADES][TEST ] Testing I ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29409167630] Expected: Should print: 0 1 2 3 +[Hera] [HADES][TEST ] [KRELTSC: 29415647880] Running I.single: : TI1 1 0 DO I . LOOP CR ; TI1 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 29424140328] Test passed +[Hera] [HADES][TEST ] Testing I ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29432624542] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 29437818976] Running I.offset: : TI2 5 3 DO I . LOOP CR ; TI2 +[Hera] 3 4 +[Hera] [HADES][TEST ] [KRELTSC: 29446290174] Test passed +[Hera] [HADES][TEST ] Testing I ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29454698162] Expected: Should print: 3 4 +[Hera] [HADES][TEST ] [KRELTSC: 29459954200] Running I.in_expr: : TI3 3 0 DO I 2 * . LOOP CR ; TI3 +[Hera] 0 2 4 +[Hera] [HADES][TEST ] [KRELTSC: 29468321570] Test passed +[Hera] [HADES][TEST ] Testing I ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29476885234] Expected: Should print: 0 2 4 +[Hera] [HADES][TEST ] [KRELTSC: 29482391000] I: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 29487816776] Testing word: I +[Hera] [HADES][TEST ] [KRELTSC: 29492172530] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 29497153832] Running I.basic: : TI 4 0 DO I . LOOP CR ; TI +[Hera] 0 1 2 3 +[Hera] [HADES][TEST ] [KRELTSC: 29505776572] Test passed +[Hera] [HADES][TEST ] Testing I ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29514413486] Expected: Should print: 0 1 2 3 +[Hera] [HADES][TEST ] [KRELTSC: 29519495076] Running I.single: : TI1 1 0 DO I . LOOP CR ; TI1 +[Hera] [HADES][INFO ] [KRELTSC: 29538554554] L8[TABLE]: Config 10 → 11 regime=7 score=6553 L1=0 L2=0 L3=0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 29546751260] Test passed +[Hera] [HADES][TEST ] Testing I ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29555345252] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 29560450754] Running I.offset: : TI2 5 3 DO I . LOOP CR ; TI2 +[Hera] 3 4 +[Hera] [HADES][TEST ] [KRELTSC: 29568674118] Test passed +[Hera] [HADES][TEST ] Testing I ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29576746226] Expected: Should print: 3 4 +[Hera] [HADES][TEST ] [KRELTSC: 29582178242] Running I.in_expr: : TI3 3 0 DO I 2 * . LOOP CR ; TI3 +[Hera] 0 2 4 +[Hera] [HADES][TEST ] [KRELTSC: 29591337422] Test passed +[Hera] [HADES][TEST ] Testing I ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29599814180] Expected: Should print: 0 2 4 +[Hera] [HADES][TEST ] [KRELTSC: 29605178202] I: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 29611044256] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 29618033118] Testing word: J +[Hera] [HADES][TEST ] [KRELTSC: 29622637954] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 29627730656] Running J.basic: : TJ 2 0 DO 3 0 DO J . LOOP LOOP CR ; TJ +[Hera] 0 0 0 1 1 1 +[Hera] [HADES][TEST ] [KRELTSC: 29637116678] Test passed +[Hera] [HADES][TEST ] Testing J ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29646065978] Expected: Should print: 0 0 0 1 1 1 +[Hera] [HADES][TEST ] [KRELTSC: 29652117466] Running J.paired: : TJ2 2 0 DO 2 0 DO J I + . LOOP LOOP CR ; +[Hera] 0 1 1 2 +[Hera] [HADES][TEST ] [KRELTSC: 29661492090] Test passed +[Hera] [HADES][TEST ] Testing J ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29670069568] Expected: Should print: 0 1 1 2 +[Hera] [HADES][TEST ] [KRELTSC: 29675629432] J: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 29681566516] Testing word: J +[Hera] [HADES][TEST ] [KRELTSC: 29686181616] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 29691331672] Running J.basic: : TJ 2 0 DO 3 0 DO J . LOOP LOOP CR ; TJ +[Hera] 0 0 0 1 1 1 +[Hera] [HADES][TEST ] [KRELTSC: 29700617902] Test passed +[Hera] [HADES][TEST ] Testing J ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29709367536] Expected: Should print: 0 0 0 1 1 1 +[Hera] [HADES][TEST ] [KRELTSC: 29715168054] Running J.paired: : TJ2 2 0 DO 2 0 DO J I + . LOOP LOOP CR ; +[Hera] 0 1 1 2 +[Hera] [HADES][INFO ] [KRELTSC: 29723778524] L8[TABLE]: Config 11 → 12 regime=7 score=6553 L1=0 L2=0 L3=0 +[Hera] [HADES][TEST ] [KRELTSC: 29728363000] Test passed +[Hera] [HADES][TEST ] Testing J ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29734677770] Expected: Should print: 0 1 1 2 +[Hera] [HADES][TEST ] [KRELTSC: 29738531464] J: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 29744339562] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 29751259590] Testing word: EXIT +[Hera] [HADES][TEST ] [KRELTSC: 29755953112] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 29761286080] Running EXIT.early_return: : TEX 5 EXIT 99 ; TEX . CR +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 29769604754] Test passed +[Hera] [HADES][TEST ] Testing EXIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29778322808] Expected: Should print: 5 +[Hera] [HADES][TEST ] [KRELTSC: 29783675922] Running EXIT.cond_exit_pos: : TEX2 DUP 0> IF EXIT THEN NEGATE +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 29792631950] Test passed +[Hera] [HADES][TEST ] Testing EXIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29801594868] Expected: Should print: 3 +[Hera] [HADES][TEST ] [KRELTSC: 29807142628] Running EXIT.cond_exit_neg: : TEX2 DUP 0> IF EXIT THEN NEGATE +[Hera] 4 +[Hera] [HADES][TEST ] [KRELTSC: 29816561208] Test passed +[Hera] [HADES][TEST ] Testing EXIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29825515888] Expected: Should print: 4 +[Hera] [HADES][TEST ] [KRELTSC: 29830925728] Running EXIT.no_skipped: : TEX3 1 2 EXIT 3 ; TEX3 . . CR +[Hera] 2 1 +[Hera] [HADES][TEST ] [KRELTSC: 29840206834] Test passed +[Hera] [HADES][TEST ] Testing EXIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29849214924] Expected: Should print: 2 1 +[Hera] [HADES][TEST ] [KRELTSC: 29854611032] EXIT: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 29860659614] Testing word: EXIT +[Hera] [HADES][TEST ] [KRELTSC: 29865571580] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 29870616646] Running EXIT.early_return: : TEX 5 EXIT 99 ; TEX . CR +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 29879432624] Test passed +[Hera] [HADES][TEST ] Testing EXIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29888442172] Expected: Should print: 5 +[Hera] [HADES][TEST ] [KRELTSC: 29893832032] Running EXIT.cond_exit_pos: : TEX2 DUP 0> IF EXIT THEN NEGATE +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 29903101836] Test passed +[Hera] [HADES][TEST ] Testing EXIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29911997286] Expected: Should print: 3 +[Hera] [HADES][TEST ] [KRELTSC: 29917341806] Running EXIT.cond_exit_neg: : TEX2 DUP 0> IF EXIT THEN NEGATE +[Hera] 4 +[Hera] [HADES][TEST ] [KRELTSC: 29926424442] Test passed +[Hera] [HADES][TEST ] Testing EXIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 29935293116] Expected: Should print: 4 +[Hera] [HADES][TEST ] [KRELTSC: 29940733398] Running EXIT.no_skipped: : TEX3 1 2 EXIT 3 ; TEX3 . . CR +[Hera] 2 1 +[Hera] [HADES][TEST ] [KRELTSC: 29947994894] Test passed +[Hera] [HADES][TEST ] Testing EXIT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 299954342522] Expected: Should print: 2 1 +[Hera] [HADES][TEST ] [KRELTSC: 29959534584] EXIT: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 29982574440] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 29989464198] Testing word: LEAVE +[Hera] [HADES][TEST ] [KRELTSC: 29994665598] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 29999675698] Running LEAVE.basic: : TLV 0 5 0 DO I 3 = IF LEAVE THEN 1+ LO +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 30008870378] Test passed +[Hera] [HADES][TEST ] Testing LEAVE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30016709960] Expected: Should print: 3 +[Hera] [HADES][TEST ] [KRELTSC: 30021417436] Running LEAVE.at_start: : TLV2 0 5 0 DO LEAVE 1+ LOOP ; TLV2 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 30029495608] Test passed +[Hera] [HADES][TEST ] Testing LEAVE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30037731700] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 30042854806] Running LEAVE.qdloop: : TLV3 0 5 0 ?DO I 2 = IF LEAVE THEN 1+ +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 30052252386] Test passed +[Hera] [HADES][TEST ] Testing LEAVE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30060978530] Expected: Should print: 2 +[Hera] [HADES][TEST ] [KRELTSC: 30066179062] LEAVE: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 30072218388] Testing word: LEAVE +[Hera] [HADES][TEST ] [KRELTSC: 30076932534] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 30081841086] Running LEAVE.basic: : TLV 0 5 0 DO I 3 = IF LEAVE THEN 1+ LO +[Hera] [HADES][INFO ] [KRELTSC: 30089375616] L8[TABLE]: Config 12 → 13 regime=7 score=6553 L1=0 L2=0 L3=0 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 30097402942] Test passed +[Hera] [HADES][TEST ] Testing LEAVE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30106134152] Expected: Should print: 3 +[Hera] [HADES][TEST ] [KRELTSC: 30111933796] Running LEAVE.at_start: : TLV2 0 5 0 DO LEAVE 1+ LOOP ; TLV2 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 30120032102] Test passed +[Hera] [HADES][TEST ] Testing LEAVE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30128353664] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 30133499520] Running LEAVE.qdloop: : TLV3 0 5 0 ?DO I 2 = IF LEAVE THEN 1+ +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 30142232270] Test passed +[Hera] [HADES][TEST ] Testing LEAVE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30150677584] Expected: Should print: 2 +[Hera] [HADES][TEST ] [KRELTSC: 30155379210] LEAVE: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 30160883498] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 30168118868] Testing word: UNLOOP +[Hera] [HADES][TEST ] [KRELTSC: 30172762308] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 30177648828] Running UNLOOP.early_exit: : TUL 5 0 DO I 2 = IF UNLOOP 42 EX +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 30186577210] Test passed +[Hera] [HADES][TEST ] Testing UNLOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30195870004] Expected: Should print: 42 +[Hera] [HADES][TEST ] [KRELTSC: 30201205246] Running UNLOOP.full_loop: : TUL2 5 0 DO I 9 = IF UNLOOP 77 EX +[Hera] 99 +[Hera] [HADES][TEST ] [KRELTSC: 30210551020] Test passed +[Hera] [HADES][TEST ] Testing UNLOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30217055008] Expected: Should print: 99 +[Hera] [HADES][TEST ] [KRELTSC: 30222271246] UNLOOP: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 30228378500] Testing word: UNLOOP +[Hera] [HADES][TEST ] [KRELTSC: 30233163984] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 30238197512] Running UNLOOP.early_exit: : TUL 5 0 DO I 2 = IF UNLOOP 42 EX +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 30246641700] Test passed +[Hera] [HADES][TEST ] Testing UNLOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30255079458] Expected: Should print: 42 +[Hera] [HADES][TEST ] [KRELTSC: 30260411450] Running UNLOOP.full_loop: : TUL2 5 0 DO I 9 = IF UNLOOP 77 EX +[Hera] 99 +[Hera] [HADES][TEST ] [KRELTSC: 30268503784] Test passed +[Hera] [HADES][TEST ] Testing UNLOOP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30277639896] Expected: Should print: 99 +[Hera] [HADES][TEST ] [KRELTSC: 30283188896] UNLOOP: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 30288196246] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 30295245856] Testing word: AGAIN +[Hera] [HADES][TEST ] [KRELTSC: 30300185272] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 30305353010] Running AGAIN.basic: : TAG 0 BEGIN 1+ DUP 3 = IF EXIT THEN AG +[Hera] [HADES][INFO ] [KRELTSC: 30313736740] L8[TABLE]: Config 13 → 14 regime=7 score=6553 L1=0 L2=0 L3=0 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 30321806378] Test passed +[Hera] [HADES][TEST ] Testing AGAIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30330892166] Expected: Should print: 3 +[Hera] [HADES][TEST ] [KRELTSC: 30336209072] Running AGAIN.countdown: : CD 10 BEGIN 1- DUP 0= IF EXIT THEN +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 30345916410] Test passed +[Hera] [HADES][TEST ] Testing AGAIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30357943732] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 30363494042] AGAIN: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 30369564594] Testing word: AGAIN +[Hera] [HADES][TEST ] [KRELTSC: 30374383170] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 30379373460] Running AGAIN.basic: : TAG 0 BEGIN 1+ DUP 3 = IF EXIT THEN AG +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 30388649180] Test passed +[Hera] [HADES][TEST ] Testing AGAIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30399879732] Expected: Should print: 3 +[Hera] [HADES][TEST ] [KRELTSC: 30404885884] Running AGAIN.countdown: : CD 10 BEGIN 1- DUP 0= IF EXIT THEN +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 30413626706] Test passed +[Hera] [HADES][TEST ] Testing AGAIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30422011230] Expected: Should print: 0 +[Hera] [HADES][TEST ] [KRELTSC: 30427145920] AGAIN: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 30433322884] ▶ Testing module: v3/src/test_runner/modules/control_words_te +[Hera] [HADES][TEST ] [KRELTSC: 30438806900] Testing word: CASE +[Hera] [HADES][TEST ] [KRELTSC: 30443030006] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 30447678686] Running CASE.match_1: : TC CASE 1 OF 10 ENDOF 2 OF 20 ENDOF 9 +[Hera] 10 +[Hera] [HADES][TEST ] [KRELTSC: 30458948152] Test passed +[Hera] [HADES][TEST ] Testing CASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30467519246] Expected: Should print: 10 +[Hera] [HADES][TEST ] [KRELTSC: 30472588272] Running CASE.match_2: : TC CASE 1 OF 10 ENDOF 2 OF 20 ENDOF 9 +[Hera] 20 +[Hera] [HADES][TEST ] [KRELTSC: 30480894192] Test passed +[Hera] [HADES][TEST ] Testing CASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30488670710] Expected: Should print: 20 +[Hera] [HADES][TEST ] [KRELTSC: 30493797014] Running CASE.default: : TC CASE 1 OF 10 ENDOF 2 OF 20 ENDOF 9 +[Hera] [HADES][INFO ] [KRELTSC: 30501598162] L8[TABLE]: Config 14 → 0 regime=6 score=26214 L1=0 L2=0 L3=0 +[Hera] 99 +[Hera] [HADES][TEST ] [KRELTSC: 30508707174] Test passed +[Hera] [HADES][TEST ] Testing CASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30518605212] Expected: Should print: 99 +[Hera] [HADES][TEST ] [KRELTSC: 30524463042] Running CASE.zero_case: : TC CASE 0 OF 88 ENDOF 1 OF 77 ENDOF +[Hera] 88 +[Hera] [HADES][TEST ] [KRELTSC: 30532809196] Test passed +[Hera] [HADES][TEST ] Testing CASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30540838792] Expected: Should print: 88 +[Hera] [HADES][TEST ] [KRELTSC: 30545640706] Running CASE.neg_case: : TC CASE -1 OF 55 ENDOF 44 SWAP ENDCA +[Hera] 55 +[Hera] [HADES][TEST ] [KRELTSC: 30553548430] Test passed +[Hera] [HADES][TEST ] Testing CASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30561943556] Expected: Should print: 55 +[Hera] [HADES][TEST ] [KRELTSC: 30566916082] CASE: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 30572214832] Testing word: CASE +[Hera] [HADES][TEST ] [KRELTSC: 30576776198] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 30581555882] Running CASE.match_1: : TC CASE 1 OF 10 ENDOF 2 OF 20 ENDOF 9 +[Hera] 10 +[Hera] [HADES][TEST ] [KRELTSC: 30589479278] Test passed +[Hera] [HADES][TEST ] Testing CASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30598175978] Expected: Should print: 10 +[Hera] [HADES][TEST ] [KRELTSC: 30603467050] Running CASE.match_2: : TC CASE 1 OF 10 ENDOF 2 OF 20 ENDOF 9 +[Hera] 20 +[Hera] [HADES][TEST ] [KRELTSC: 30612553228] Test passed +[Hera] [HADES][TEST ] Testing CASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30621912322] Expected: Should print: 20 +[Hera] [HADES][TEST ] [KRELTSC: 30628223218] Running CASE.default: : TC CASE 1 OF 10 ENDOF 2 OF 20 ENDOF 9 +[Hera] 99 +[Hera] [HADES][TEST ] [KRELTSC: 30637298474] Test passed +[Hera] [HADES][TEST ] Testing CASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30645872792] Expected: Should print: 99 +[Hera] [HADES][TEST ] [KRELTSC: 30651196638] Running CASE.zero_case: : TC CASE 0 OF 88 ENDOF 1 OF 77 ENDOF +[Hera] 88 +[Hera] [HADES][TEST ] [KRELTSC: 30660524998] Test passed +[Hera] [HADES][TEST ] Testing CASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30669654950] Expected: Should print: 88 +[Hera] [HADES][TEST ] [KRELTSC: 30675091874] Running CASE.neg_case: : TC CASE -1 OF 55 ENDOF 44 SWAP ENDCA +[Hera] 55 +[Hera] [HADES][TEST ] [KRELTSC: 30684038132] Test passed +[Hera] [HADES][TEST ] Testing CASE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30692776678] Expected: Should print: 55 +[Hera] [HADES][TEST ] [KRELTSC: 30698075096] CASE: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 30704333470] === Control Words Summary: 0 passed, 0 failed, 0 skipped, 0 err +[Hera] [HADES][INFO ] [KRELTSC: 30710810124] +[Hera] === Testing Module: StarForth Words === +[Hera] [HADES][INFO ] [KRELTSC: 30718450004] Running StarForth Words Tests (Module 17: StarForth Extensions) +[Hera] [HADES][TEST ] [KRELTSC: 30725891664] ▶ Testing module: v3/src/test_runner/modules/starforth_words_ +[Hera] [HADES][TEST ] [KRELTSC: 30732935820] Testing word: ENTROPY@ +[Hera] [HADES][TEST ] [KRELTSC: 30737973642] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 30742900244] Running ENTROPY@.after_execution: : TESTWORD 1 1 + DROP ; TES +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 30751566562] Test passed +[Hera] [HADES][TEST ] Testing ENTROPY@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30760204008] Expected: Should show execution count > 0 +[Hera] [HADES][TEST ] [KRELTSC: 30765694688] Running ENTROPY@.zero_initial: : NEWWORD ; ' NEWWORD ENTROPY@ +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 30774884432] Test passed +[Hera] [HADES][TEST ] Testing ENTROPY@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30783912834] Expected: Should show 0 for unused word +[Hera] [HADES][TEST ] [KRELTSC: 30788633912] Running ENTROPY@.multiple_calls: : ENTTEST 1 DROP ; ENTTEST E +[Hera] 3 +[Hera] [HADES][TEST ] m[KRELTSC: 30794120672] Test passed +[Hera] [HADES][TEST ] Testing ENTROPY@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30798366610] Expected: Should increment with each call +[Hera] [HADES][TEST ] [KRELTSC: 30802166642] Running ENTROPY@.null_addr: 0 ENTROPY@ +[Hera] [HADES][ERROR] [KRELTSC: 30805936552] ENTROPY@: null dictionary entry +[Hera] [HADES][INFO ] [KRELTSC: 30808466836] L8[TABLE]: Config 0 → 14 regime=7 score=6553 L1=0 L2=0 L3=0 L +[Hera] [HADES][TEST ] [KRELTSC: 30815549608] Expected error occurred +[Hera] [HADES][TEST ] Testing ENTROPY@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30824491478] Expected: Should handle null address +[Hera] [HADES][TEST ] [KRELTSC: 30828518720] Running ENTROPY@.empty_stack: ENTROPY@ +[Hera] [HADES][ERROR] [KRELTSC: 30833071932] ENTROPY@: data stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 30838034110] Expected error occurred +[Hera] [HADES][TEST ] Testing ENTROPY@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30847439898] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 30853207674] ENTROPY@: 5 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 30859732928] ▶ Testing module: v3/src/test_runner/modules/starforth_words_ +[Hera] [HADES][TEST ] [KRELTSC: 30866086234] Testing word: ENTROPY! +[Hera] [HADES][TEST ] [KRELTSC: 30871060622] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 30875449580] Running ENTROPY!.set_entropy: : ENTSET ; 42 ' ENTSET ENTROPY! +[Hera] 42 +[Hera] [HADES][TEST ] [KRELTSC: 30884420540] Test passed +[Hera] [HADES][TEST ] Testing ENTROPY! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30893314132] Expected: Should set entropy to 42 +[Hera] [HADES][TEST ] [KRELTSC: 30899403028] Running ENTROPY!.overwrite: : ENTOV ; 10 ' ENTOV ENTROPY! 20 +[Hera] 20 +[Hera] [HADES][TEST ] [KRELTSC: 30908403074] Test passed +[Hera] [HADES][TEST ] Testing ENTROPY! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30918512266] Expected: Should overwrite previous value +[Hera] [HADES][TEST ] [KRELTSC: 30924331106] Running ENTROPY!.zero_entropy: : ENTZERO ; 0 ' ENTZERO ENTROP +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 30933555328] Test passed +[Hera] [HADES][TEST ] Testing ENTROPY! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30942847522] Expected: Should set entropy to 0 +[Hera] [HADES][TEST ] [KRELTSC: 30948813228] Running ENTROPY!.null_addr: 42 0 ENTROPY! +[Hera] [HADES][ERROR] [KRELTSC: 30953378010] ENTROPY!: null dictionary entry +[Hera] [HADES][TEST ] [KRELTSC: 30957073996] Expected error occurred +[Hera] [HADES][TEST ] Testing ENTROPY! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30966017930] Expected: Should handle null address +[Hera] [HADES][TEST ] [KRELTSC: 30972391594] Running ENTROPY!.one_arg: 42 ENTROPY! +[Hera] [HADES][ERROR] [KRELTSC: 30978936196] ENTROPY!: data stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 30983733950] Expected error occurred +[Hera] [HADES][TEST ] Testing ENTROPY! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 30992779632] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 30998369016] Running ENTROPY!.empty_stack: ENTROPY! +[Hera] [HADES][ERROR] [KRELTSC: 31004293274] ENTROPY!: data stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 31009735960] Expected error occurred +[Hera] [HADES][TEST ] Testing ENTROPY! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 31019502534] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 31025711812] ENTROPY!: 6 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 31031890592] ▶ Testing module: v3/src/test_runner/modules/starforth_words_ +[Hera] [HADES][TEST ] [KRELTSC: 31038866666] Testing word: WORD-ENTROPY +[Hera] [HADES][TEST ] [KRELTSC: 31044068592] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 31049110974] Running WORD-ENTROPY.display_all: 1 DUP DUP DUP DROP DROP DRO +[Hera] Word Usage Statistics (Execution Heat Counts): + +[Hera] ============================================= + +[Hera] DEFER@: 2 + +[Hera] IS: 5 + +[Hera] DEFER: 4 + +[Hera] WORD-ENTROPY: 1 + +[Hera] ENTROPY!: 7 + +[Hera] ENTROPY@: 8 + +[Hera] ENDCASE: 10 + +[Hera] ENDOF: 18 + +[Hera] OF: 18 + +[Hera] CASE: 10 + +[Hera] EXIT: 119 + +[Hera] UNLOOP: 6 + +[Hera] J: 58 + +[Hera] I: 212 + +[Hera] LEAVE: 6 + +[Hera] +LOOP: 6 + +[Hera] LOOP: 48 + +[Hera] DO: 42 + +[Hera] ?DO: 10 + +[Hera] UNTIL: 8 + +[Hera] AGAIN: 4 + +[Hera] REPEAT: 10 + +[Hera] WHILE: 10 + +[Hera] BEGIN: 20 + +[Hera] THEN: 32 + +[Hera] ELSE: 14 + +[Hera] IF: 32 + +[Hera] (LEAVE): 6 + +[Hera] (+LOOP): 40 + +[Hera] (LOOP): 152 + +[Hera] (DO): 48 + +[Hera] (?DO): 12 + +[Hera] (0BRANCH): 142 + +[Hera] (BRANCH): 72 + +[Hera] DOES>: 3 + +[Hera] does_rt: 1 + +[Hera] LITERAL: 1 + +[Hera] LIT: 305 + +[Hera] FENCE: 3 + +[Hera] FORGET: 7 + +[Hera] ]: 3 + +[Hera] [: 4 + +[Hera] IMMEDIATE: 6 + +[Hera] CONSTANT: 4 + +[Hera] VARIABLE: 5 + +[Hera] CREATE: 23 + +[Hera] ;: 121 + +[Hera] :: 129 + +[Hera] ABORT": 3 + +[Hera] ABORT: 4 + +[Hera] QUIT: 1 + +[Hera] EXECUTE: 2 + +[Hera] ORDER: 3 + +[Hera] FORTH: 10 + +[Hera] CURRENT: 4 + +[Hera] CONTEXT: 5 + +[Hera] DEFINITIONS: 15 + +[Hera] VOCABULARY: 15 + +[Hera] ': 16 + +[Hera] FIND: 4 + +[Hera] >BODY: 2 + +[Hera] HIDDEN: 2 + +[Hera] SMUDGE: 2 + +[Hera] LATEST: 7 + +[Hera] SP@: 8 + +[Hera] SP!: 5 + +[Hera] PAD: 15 + +[Hera] 2,: 7 + +[Hera] C,: 10 + +[Hera] ,: 21 + +[Hera] ALLOT: 9 + +[Hera] ALIGN: 1 + +[Hera] HERE: 109 + +[Hera] SCR: 4 + +[Hera] THRU: 18 + +[Hera] LIST: 5 + +[Hera] LOAD: 6 + +[Hera] FLUSH: 3 + +[Hera] EMPTY-BUFFERS: 4 + +[Hera] SAVE-BUFFERS: 3 + +[Hera] UPDATE: 7 + +[Hera] BUFFER: 4 + +[Hera] BLOCK: 12 + +[Hera] SPACES: 10 + +[Hera] SPACE: 7 + +[Hera] TYPE: 43 + +[Hera] CR: 660 + +[Hera] EMIT: 15 + +[Hera] BLANK: 2 + +[Hera] SKIP: 4 + +[Hera] SCAN: 5 + +[Hera] SEARCH: 4 + +[Hera] COMPARE: 5 + +[Hera] CMOVE>: 4 + +[Hera] CMOVE: 6 + +[Hera] -TRAILING: 4 + +[Hera] LITERAL: 1 + +[Hera] [']: 3 + +[Hera] BL: 19 + +[Hera] SOURCE: 2 + +[Hera] >IN: 5 + +[Hera] S": 37 + +[Hera] (s"): 4 + +[Hera] WORD: 15 + +[Hera] SPAN: 4 + +[Hera] EXPECT: 4 + +[Hera] COUNT: 14 + +[Hera] OCTAL: 6 + +[Hera] HEX: 7 + +[Hera] DECIMAL: 14 + +[Hera] BASE: 9 + +[Hera] SIGN: 3 + +[Hera] HOLD: 2 + +[Hera] #>: 16 + +[Hera] #S: 11 + +[Hera] #: 5 + +[Hera] <#: 17 + +[Hera] .: 902 + +[Hera] D2/: 5 + +[Hera] D2*: 5 + +[Hera] D0<: 7 + +[Hera] D0=: 7 + +[Hera] 2R@: 3 + +[Hera] 2R>: 7 + +[Hera] 2>R: 7 + +[Hera] 2ROT: 6 + +[Hera] 2OVER: 6 + +[Hera] 2SWAP: 7 + +[Hera] 2DUP: 6 + +[Hera] 2DROP: 6 + +[Hera] D=: 7 + +[Hera] D<: 8 + +[Hera] DMIN: 6 + +[Hera] DMAX: 6 + +[Hera] DABS: 7 + +[Hera] DNEGATE: 6 + +[Hera] D-: 8 + +[Hera] D+: 7 + +[Hera] S>D: 7 + +[Hera] */MOD: 8 + +[Hera] */: 10 + +[Hera] M/MOD: 7 + +[Hera] M*: 8 + +[Hera] M+: 7 + +[Hera] FALSE: 18 + +[Hera] TRUE: 30 + +[Hera] WITHIN: 31 + +[Hera] U>: 25 + +[Hera] U<: 8 + +[Hera] <=: 31 + +[Hera] >=: 31 + +[Hera] >: 1 + +[Hera] <: 42 + +[Hera] =: 92 + +[Hera] 0<>: 3 + +[Hera] 0>: 8 + +[Hera] 0<: 5 + +[Hera] 0=: 47 + +[Hera] NOT: 1 + +[Hera] OR: 6 + +[Hera] AND: 7 + +[Hera] NEGATE: 6 + +[Hera] ABS: 1 + +[Hera] 1-: 36 + +[Hera] 1+: 80 + +[Hera] */MOD: 8 + +[Hera] */: 10 + +[Hera] /: 3 + +[Hera] *: 8 + +[Hera] -: 30 + +[Hera] +: 51 + +[Hera] CELLS: 14 + +[Hera] 2@: 4 + +[Hera] C!: 5 + +[Hera] C@: 9 + +[Hera] !: 15 + +[Hera] @: 40 + +[Hera] R>: 5 + +[Hera] >R: 7 + +[Hera] DEPTH: 15 + +[Hera] OVER: 22 + +[Hera] SWAP: 41 + +[Hera] DUP: 144 + +[Hera] DROP: 51 + +[Hera] ------------------------------------- + +[Hera] Total executions: 5187 + +[Hera] Total words: 512 + +[Hera] Average executions per word: 10 + +[Hera] [HADES][TEST ] [KRELTSC: 31448676292] Test passed +[Hera] [HADES][TEST ] Testing WORD-ENTROPY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 31457511200] Expected: Should display all word entropy stats +[Hera] [HADES][TEST ] [KRELTSC: 31463720696] Running WORD-ENTROPY.after_execution: : WDENT 1 2 + DROP ; WD +[Hera] Word Usage Statistics (Execution Heat Counts): + +[Hera] ============================================= + +[Hera] WDENT: 2 + +[Hera] DEFER@: 2 + +[Hera] IS: 5 + +[Hera] DEFER: 4 + +[Hera] WORD-ENTROPY: 2 + +[Hera] ENTROPY!: 7 + +[Hera] ENTROPY@: 8 + +[Hera] ENDCASE: 10 + +[Hera] ENDOF: 18 + +[Hera] OF: 18 + +[Hera] CASE: 10 + +[Hera] EXIT: 121 + +[Hera] UNLOOP: 6 + +[Hera] J: 58 + +[Hera] I: 212 + +[Hera] LEAVE: 6 + +[Hera] +LOOP: 6 + +[Hera] LOOP: 48 + +[Hera] DO: 42 + +[Hera] ?DO: 10 + +[Hera] UNTIL: 8 + +[Hera] AGAIN: 4 + +[Hera] REPEAT: 10 + +[Hera] WHILE: 10 + +[Hera] BEGIN: 20 + +[Hera] THEN: 32 + +[Hera] ELSE: 14 + +[Hera] IF: 32 + +[Hera] (LEAVE): 6 + +[Hera] (+LOOP): 40 + +[Hera] (LOOP): 152 + +[Hera] (DO): 48 + +[Hera] (?DO): 12 + +[Hera] (0BRANCH): 142 + +[Hera] (BRANCH): 72 + +[Hera] DOES>: 3 + +[Hera] does_rt: 1 + +[Hera] LITERAL: 1 + +[Hera] LIT: 309 + +[Hera] FENCE: 3 + +[Hera] FORGET: 7 + +[Hera] ]: 3 + +[Hera] [: 4 + +[Hera] IMMEDIATE: 6 + +[Hera] CONSTANT: 4 + +[Hera] VARIABLE: 5 + +[Hera] CREATE: 23 + +[Hera] ;: 122 + +[Hera] :: 130 + +[Hera] ABORT": 3 + +[Hera] ABORT: 4 + +[Hera] QUIT: 1 + +[Hera] EXECUTE: 2 + +[Hera] ORDER: 3 + +[Hera] FORTH: 10 + +[Hera] CURRENT: 4 + +[Hera] CONTEXT: 5 + +[Hera] DEFINITIONS: 15 + +[Hera] VOCABULARY: 15 + +[Hera] ': 16 + +[Hera] FIND: 4 + +[Hera] >BODY: 2 + +[Hera] HIDDEN: 2 + +[Hera] SMUDGE: 2 + +[Hera] LATEST: 7 + +[Hera] SP@: 8 + +[Hera] SP!: 5 + +[Hera] PAD: 15 + +[Hera] 2,: 7 + +[Hera] C,: 10 + +[Hera] ,: 21 + +[Hera] ALLOT: 9 + +[Hera] ALIGN: 1 + +[Hera] HERE: 109 + +[Hera] SCR: 4 + +[Hera] THRU: 18 + +[Hera] LIST: 5 + +[Hera] LOAD: 6 + +[Hera] FLUSH: 3 + +[Hera] EMPTY-BUFFERS: 4 + +[Hera] SAVE-BUFFERS: 3 + +[Hera] UPDATE: 7 + +[Hera] BUFFER: 4 + +[Hera] BLOCK: 12 + +[Hera] SPACES: 10 + +[Hera] SPACE: 7 + +[Hera] TYPE: 43 + +[Hera] CR: 660 + +[Hera] EMIT: 15 + +[Hera] BLANK: 2 + +[Hera] SKIP: 4 + +[Hera] SCAN: 5 + +[Hera] SEARCH: 4 + +[Hera] COMPARE: 5 + +[Hera] CMOVE>: 4 + +[Hera] CMOVE: 6 + +[Hera] -TRAILING: 4 + +[Hera] LITERAL: 1 + +[Hera] [']: 3 + +[Hera] BL: 19 + +[Hera] SOURCE: 2 + +[Hera] >IN: 5 + +[Hera] S": 37 + +[Hera] (s"): 4 + +[Hera] WORD: 15 + +[Hera] SPAN: 4 + +[Hera] EXPECT: 4 + +[Hera] COUNT: 14 + +[Hera] OCTAL: 6 + +[Hera] HEX: 7 + +[Hera] DECIMAL: 14 + +[Hera] BASE: 9 + +[Hera] SIGN: 3 + +[Hera] HOLD: 2 + +[Hera] #>: 16 + +[Hera] #S: 11 + +[Hera] #: 5 + +[Hera] <#: 17 + +[Hera] .: 902 + +[Hera] D2/: 5 + +[Hera] D2*: 5 + +[Hera] D0<: 7 + +[Hera] D0=: 7 + +[Hera] 2R@: 3 + +[Hera] 2R>: 7 + +[Hera] 2>R: 7 + +[Hera] 2ROT: 6 + +[Hera] 2OVER: 6 + +[Hera] 2SWAP: 7 + +[Hera] 2DUP: 6 + +[Hera] 2DROP: 6 + +[Hera] D=: 7 + +[Hera] D<: 8 + +[Hera] DMIN: 6 + +[Hera] DMAX: 6 + +[Hera] DABS: 7 + +[Hera] DNEGATE: 6 + +[Hera] D-: 8 + +[Hera] D+: 7 + +[Hera] S>D: 7 + +[Hera] */MOD: 8 + +[Hera] */: 10 + +[Hera] M/MOD: 7 + +[Hera] M*: 8 + +[Hera] M+: 7 + +[Hera] FALSE: 18 + +[Hera] TRUE: 30 + +[Hera] WITHIN: 31 + +[Hera] U>: 25 + +[Hera] U<: 8 + +[Hera] <=: 31 + +[Hera] >=: 31 + +[Hera] >: 1 + +[Hera] <: 42 + +[Hera] =: 92 + +[Hera] 0<>: 3 + +[Hera] 0>: 8 + +[Hera] 0<: 5 + +[Hera] 0=: 47 + +[Hera] NOT: 1 + +[Hera] OR: 6 + +[Hera] AND: 7 + +[Hera] NEGATE: 6 + +[Hera] ABS: 1 + +[Hera] 1-: 36 + +[Hera] 1+: 80 + +[Hera] */MOD: 8 + +[Hera] */: 10 + +[Hera] /: 3 + +[Hera] *: 8 + +[Hera] -: 30 + +[Hera] +: 54 + +[Hera] CELLS: 14 + +[Hera] 2@: 4 + +[Hera] C!: 5 + +[Hera] C@: 9 + +[Hera] !: 15 + +[Hera] @: 40 + +[Hera] R>: 5 + +[Hera] >R: 7 + +[Hera] DEPTH: 15 + +[Hera] OVER: 22 + +[Hera] SWAP: 41 + +[Hera] DUP: 144 + +[Hera] DROP: 54 + +[Hera] ------------------------------------- + +[Hera] Total executions: 5204 + +[Hera] Total words: 513 + +[Hera] Average executions per word: 10 + +[Hera] [HADES][TEST ] [KRELTSC: 31841795326] Test passed +[Hera] [HADES][TEST ] Testing WORD-ENTROPY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 31850588646] Expected: Should show defined word entropy +[Hera] [HADES][TEST ] [KRELTSC: 31856661958] Running WORD-ENTROPY.stack_preserved: DEPTH WORD-ENTROPY DEPT +[Hera] Word Usage Statistics (Execution Heat Counts): + +[Hera] ============================================= + +[Hera] WDENT: 2 + +[Hera] DEFER@: 2 + +[Hera] IS: 5 + +[Hera] DEFER: 4 + +[Hera] WORD-ENTROPY: 3 + +[Hera] ENTROPY!: 7 + +[Hera] ENTROPY@: 8 + +[Hera] ENDCASE: 10 + +[Hera] ENDOF: 18 + +[Hera] OF: 18 + +[Hera] CASE: 10 + +[Hera] EXIT: 121 + +[Hera] UNLOOP: 6 + +[Hera] J: 58 + +[Hera] I: 212 + +[Hera] LEAVE: 6 + +[Hera] +LOOP: 6 + +[Hera] LOOP: 48 + +[Hera] DO: 42 + +[Hera] ?DO: 10 + +[Hera] UNTIL: 8 + +[Hera] AGAIN: 4 + +[Hera] REPEAT: 10 + +[Hera] WHILE: 10 + +[Hera] BEGIN: 20 + +[Hera] THEN: 32 + +[Hera] ELSE: 14 + +[Hera] IF: 32 + +[Hera] (LEAVE): 6 + +[Hera] (+LOOP): 40 + +[Hera] (LOOP): 152 + +[Hera] (DO): 48 + +[Hera] (?DO): 12 + +[Hera] (0BRANCH): 142 + +[Hera] (BRANCH): 72 + +[Hera] DOES>: 3 + +[Hera] does_rt: 1 + +[Hera] LITERAL: 1 + +[Hera] LIT: 309 + +[Hera] FENCE: 3 + +[Hera] FORGET: 7 + +[Hera] ]: 3 + +[Hera] [: 4 + +[Hera] IMMEDIATE: 6 + +[Hera] CONSTANT: 4 + +[Hera] VARIABLE: 5 + +[Hera] CREATE: 23 + +[Hera] ;: 122 + +[Hera] :: 130 + +[Hera] ABORT": 3 + +[Hera] ABORT: 4 + +[Hera] QUIT: 1 + +[Hera] EXECUTE: 2 + +[Hera] ORDER: 3 + +[Hera] FORTH: 10 + +[Hera] CURRENT: 4 + +[Hera] CONTEXT: 5 + +[Hera] DEFINITIONS: 15 + +[Hera] VOCABULARY: 15 + +[Hera] ': 16 + +[Hera] FIND: 4 + +[Hera] >BODY: 2 + +[Heera] HIDDEN: 2 + +[Hera] SMUDGE: 2 + +[Hera] LATEST: 7 + +[Hera] SP@: 8 + +[Hera] SP!: 5 + +[Hera] PAD: 15 + +[Hera] 2,: 7 + +[Hera] C,: 10 + +[Hera] ,: 21 + +[Hera] ALLOT: 9 + +[Hera] ALIGN: 1 + +[Hera] HERE: 109 + +[Hera] SCR: 4 + +[Hera] THRU: 18 + +[Hera] LIST: 5 + +[Hera] LOAD: 6 + +[Hera] FLUSH: 33 + +[Hera] EMPTY-BUFFERS: 4 + +[Hera] SAVE-BUFFERS: 3 + +[Hera] UPDATE: 7 + +[Hera] BUFFER: 4 + +[Hera] BLOCK: 12 + +[Hera] SPACES: 10 + +[Hera] SPACE: 7 + +[Hera] TYPE: 43 + +[Hera] CR: 660 + +[Hera] EMIT: 15 + +[Hera] BLANK: 2 + +[Hera] SKIP: 4 + +[Hera] SCAN: 5 + +[Hera] SEARCH: 4 + +[Hera] COMPARE: 5 + +[Hera] CMOVE>: 4 + +[Hera] CMOVE: 6 + +[Hera] -TRAILING: 4 + +[Hera] LITERAL: 1 + +[Hera] [']: 3 + +[Hera] BL: 19 + +[Hera] SOURCE: 2 + +[Hera] >IN: 5 + +[Hera] S": 37 + +[Hera] (s"): 4 + +[Hera] WORD: 15 + +[Hera] SPAN: 4 + +[Hera] EXPECT: 4 + +[Hera] COUNT: 14 + +[Hera] OCTAL: 6 + +[Hera] HEX: 7 + +[Hera] DECIMAL: 14 + +[Hera] BASE: 9 + +[Hera] SIGN: 3 + +[Hera] HOLD: 2 + +[Hera] #>: 16 + +[Hera] #S: 11 + +[Hera] #: 5 + +[Hera] <#: 17 + +[Hera] .: 902 + +[Hera] D2/: 5 + +[Hera] D2*: 5 + +[Hera] D0<: 7 + +[Hera] D0=: 7 + +[Hera] 2R@: 3 + +[Hera] 2R>: 7 + +[Hera] 2>R: 7 + +[Hera] 2ROT: 6 + +[Hera] 2OVER: 6 + +[Hera] 2SWAP: 7 + +[Hera] 2DUP: 6 + +[Hera] 2DROP: 6 + +[Hera] D=: 7 + +[Hera] D<: 8 + +[Hera] DMIN: 6 + +[Hera] DMAX: 6 + +[Hera] DABS: 7 + +[Hera] DNEGATE: 6 + +[Hera] D-: 8 + +[Hera] D+: 7 + +[Hera] S>D: 7 + +[Hera] */MOD: 8 + +[Hera] */: 10 + +[Hera] M/MOD: 7 + +[Hera] M*: 8 + +[Hera] M+: 7 + +[Hera] FALSE: 18 + +[Hera] TRUE: 30 + +[Hera] WITHIN: 31 + +[Hera] U>: 25 + +[Hera] U<: 8 + +[Hera] <=: 31 + +[Hera] >=: 31 + +[Hera] >: 1 + +[Hera] <: 42 + +[Hera] =: 92 + +[Hera] 0<>: 3 + +[Hera] 0>: 8 + +[Hera] 0<: 5 + +[Hera] 0=: 47 + +[Hera] NOT: 1 + +[Hera] OR: 6 + +[Hera] AND: 7 + +[Hera] NEGATE: 6 + +[Hera] ABS: 1 + +[Hera] 1-: 36 + +[Hera] 1+: 80 + +[Hera] */MOD: 8 + +[Hera] */: 10 + +[Hera] /: 3 + +[Hera] *: 8 + +[Hera] -: 30 + +[Hera] +: 54 + +[Hera] CELLS: 14 + +[Hera] 2@: 4 + +[Hera] C!: 5 + +[Hera] C@: 9 + +[Hera] !: 15 + +[Hera] @: 40 + +[Hera] R>: 5 + +[Hera] >R: 7 + +[Hera] DEPTH: 16 + +[Hera] OVER: 22 + +[Hera] SWAP: 41 + +[Hera] DUP: 144 + +[Hera] DROP: 54 + +[Hera] ------------------------------------- + +[Hera] Total executions: 5206 + +[Hera] Total words: 513 + +[Hera] Average executions per word: 10 + +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 32281557620] Test passed +[Hera] [HADES][TEST ] Testing WORD-ENTROPY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32294097050] Expected: Should not affect stack +[Hera] [HADES][TEST ] [KRELTSC: 32302842922] WORD-ENTROPY: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 32311243250] ▶ Testing module: v3/src/test_runner/modules/starforth_words_ +[Hera] [HADES][TEST ] [KRELTSC: 32320077740] Testing word: RESET-ENTROPY +[Hera] [HADES][TEST ] [KRELTSC: 32326615178] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 32332879172] Running RESET-ENTROPY.reset_defined: : RESETTEST 1 DROP ; RES +[Hera] [HADES][TEST ] [KRELTSC: 32343300880] Test passed +[Hera] [HADES][TEST ] Testing RESET-ENTROPY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32355635304] Expected: Should reset all entropy counters +[Hera] [HADES][TEST ] [KRELTSC: 32363930538] Running RESET-ENTROPY.double_reset: RESET-ENTROPY RESET-ENTRO +[Hera] [HADES][TEST ] [KRELTSC: 32373623534] Test passed +[Hera] [HADES][TEST ] Testing RESET-ENTROPY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32384863930] Expected: Should handle multiple resets +[Hera] [HADES][TEST ] [KRELTSC: 32391165470] Running RESET-ENTROPY.after_usage: 1 DUP DUP DUP DROP DROP DR +[Hera] [HADES][TEST ] [KRELTSC: 32399021072] Test passed +[Hera] [HADES][TEST ] Testing RESET-ENTROPY ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32410778682] Expected: Should reset after word usage +[Hera] [HADES][TEST ] [KRELTSC: 32419600962] RESET-ENTROPY: 3 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 32428136638] ▶ Testing module: v3/src/test_runner/modules/starforth_words_ +[Hera] [HADES][TEST ] [KRELTSC: 32436764456] Testing word: TOP-WORDS +[Hera] [HADES][TEST ] [KRELTSC: 32442655240] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 32448774316] Running TOP-WORDS.display_top5: : TOPTEST 1 DROP ; TOPTEST TO +[Hera] Top 5 most frequently used words: + +[Hera] ================================== + +[Hera] 1. DROP: 6 + +[Hera] 2. TOPTEST: 5 + +[Hera] 3. EXIT: 5 + +[Hera] 4. LIT: 5 + +[Hera] 5. TOP-WORDS: 1 + +[Hera] [HADES][TEST ] [KRELTSC: 32481284576] Test passed +[Hera] [HADES][TEST ] Testing TOP-WORDS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32492151124] Expected: Should display top 5 hot words +[Hera] [HADES][TEST ] [KRELTSC: 32499957316] Running TOP-WORDS.display_top10: 10 TOP-WORDS +[Hera] Top 10 most frequently used words: + +[Hera] ================================== + +[Hera] 1. DROP: 6 + +[Hera] 2. TOPTEST: 5 + +[Hera] 3. EXIT: 5 + +[Hera] 4. LIT: 5 + +[Hera] 5. TOP-WORDS: 2 + +[Hera] 6. ;: 1 + +[Hera] 7. :: 1 + +[Hera] [HADES][TEST ] [KRELTSC: 32534060178] Test passed +[Hera] [HADES][TEST ] Testing TOP-WORDS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32544013896] Expected: Should display top 10 words +[Hera] [HADES][TEST ] [KRELTSC: 32551241580] Running TOP-WORDS.after_reset: RESET-ENTROPY 5 TOP-WORDS +[Hera] Top 5 most frequently used words: + +[Hera] ================================== + +[Hera] 1. TOP-WORDS: 1 + +[Hera] [HADES][TEST ] [KRELTSC: 32572301152] Test passed +[Hera] [HADES][TEST ] Testing TOP-WORDS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32584374160] Expected: Should handle display after reset +[Hera] [HADES][TEST ] [KRELTSC: 32593643452] Running TOP-WORDS.single_word: 1 TOP-WORDS +[Hera] Top 1 most frequently used words: + +[Hera] ================================== + +[Hera] 1. TOP-WORDS: 2 + +[Hera] [HADES][TEST ] [KRELTSC: 32614321272] Test passed +[Hera] [HADES][TEST ] Testing TOP-WORDS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32626724908] Expected: Should display top 1 word +[Hera] [HADES][TEST ] [KRELTSC: 32636457798] Running TOP-WORDS.large_count: 100 TOP-WORDS +[Hera] Top 100 most frequently used words: + +[Hera] ================================== + +[Hera] 1. TOP-WORDS: 3 + +[Hera] [HADES][TEST ] [KRELTSC: 32656761156] Test passed +[Hera] [HADES][TEST ] Testing TOP-WORDS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32668341816] Expected: Should handle large count +[Hera] [HADES][TEST ] [KRELTSC: 32675935766] Running TOP-WORDS.zero_count: 0 TOP-WORDS +[Hera] TOP-WORDS: invalid count 0 + +[Hera] [HADES][TEST ] [KRELTSC: 32687809066] Test passed +[Hera] [HADES][TEST ] Testing TOP-WORDS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32699920318] Expected: Should handle zero count +[Hera] [HADES][TEST ] [KRELTSC: 32706167020] Running TOP-WORDS.negative_count: -5 TOP-WORDS +[Hera] TOP-WORDS: invalid count -5 + +[Hera] [HADES][TEST ] [KRELTSC: 32715753104] Test passed +[Hera] [HADES][TEST ] Testing TOP-WORDS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32725173356] Expected: Should handle negative count +[Hera] [HADES][TEST ] [KRELTSC: 32731074906] Running TOP-WORDS.empty_stack: TOP-WORDS +[Hera] [HADES][ERROR] [KRELTSC: 32737388390] TOP-WORDS: data stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 32744468378] Expected error occurred +[Hera] [HADES][TEST ] Testing TOP-WORDS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32757301664] Expected: Should cause stack underflow +[Hera] [HADES][TEST ] [KRELTSC: 32764547634] TOP-WORDS: 8 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 32773438616] ▶ Testing module: v3/src/test_runner/modules/starforth_words_ +[Hera] [HADES][TEST ] [KRELTSC: 32782465522] Testing word: (- +[Hera] [HADES][TEST ] [KRELTSC: 32788365084] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 32794362176] Running (-.comment_line: (- This is a comment +[Hera] 1 2 + . CR +[Hera] [HADES][WARN ] [KRELTSC: 32805102040] (- comment not terminated +[Hera] [HADES][TEST ] [KRELTSC: 32814020170] Test passed +[Hera] [HADES][TEST ] Testing (- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32824362480] Expected: Should ignore rest of line +[Hera] [HADES][TEST ] [KRELTSC: 32830737660] Running (-.mid_line: 1 (- comment here +[Hera] 2 + . CR +[Hera] [HADES][WARN ] [KRELTSC: 32838799602] (- comment not terminated +[Hera] [HADES][TEST ] [KRELTSC: 32844126014] Test passed +[Hera] [HADES][TEST ] Testing (- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32852588804] Expected: Should work mid-expression +[Hera] [HADES][TEST ] [KRELTSC: 32856309282] Running (-.no_stack_effect: DEPTH (- comment +[Hera] DEPTH = . CR +[Hera] [HADES][WARN ] [KRELTSC: 32866161794] (- comment not terminated +[Hera] [HADES][TEST ] [KRELTSC: 32871719420] Test passed +[Hera] [HADES][TEST ] Testing (- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32881316110] Expected: Should not affect stack +[Hera] [HADES][TEST ] [KRELTSC: 32887393464] Running (-.multiple: 1 (- first +[Hera] 2 (- second +[Hera] + . CR +[Hera] [HADES][WARN ] [KRELTSC: 32897925454] (- comment not terminated +[Hera] [HADES][TEST ] [KRELTSC: 32904016870] Test passed +[Hera] [HADES][TEST ] Testing (- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 32914153344] Expected: Should handle multiple comments +[Hera] [HADES][TEST ] [KRELTSC: 32920951890] (-: 4 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 32925061264] === StarForth Words Summary: 0 passed, 0 failed, 0 skipped, 0 e +[Hera] [HADES][INFO ] [KRELTSCC: 32929247980] +[Hera] === Testing Module: ACL Words === +[Hera] [HADES][INFO ] [KRELTSC: 32933993510] Running ACL Words Tests (Module 24)... +[Hera] [HADES][WARN ] [KRELTSC: 32940818918] ACL: denied '__acl_deny_test__' +[Hera] [HADES][INFO ] [KRELTSC: 32947093964] SKIP: STRICT mode test (ACL.4th not loaded) +[Hera] [HADES][INFO ] [KRELTSC: 32953671570] SKIP: ACL-TTL-COMPUTE (ACL.4th not loaded) +[Hera] [HADES][WARN ] [KRELTSC: 32960035502] vm_create_word: cannot shadow pinned word '__acl_shadow_target_ +[Hera] [HADES][TEST ] [KRELTSC: 32972514954] === ACL Words Summary: 29 passed, 0 failed, 0 skipped, 0 errors +[Hera] [HADES][INFO ] [KRELTSC: 32980785252] +[Hera] === Testing Module: Mama FORTH Words === +[Hera] [HADES][INFO ] [KRELTSC: 32990885264] Running Mama FORTH Words Tests (Capsule System M7.1)... +[Hera] [HADES][TEST ] [KRELTSC: 32998660766] Testing word: CAPSULE-COUNT +[Hera] [HADES][TEST ] [KRELTSC: 33003766576] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33008285412] CAPSULE-COUNT: 0 passed, 0 failed, 2 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33014444398] Testing word: CAPSULE@ +[Hera] [HADES][TEST ] [KRELTSC: 33020977562] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33027635688] CAPSULE@: 0 passed, 0 failed, 3 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33034523702] Testing word: CAPSULE-FLAGS@ +[Hera] [HADES][TEST ] [KRELTSC: 33039331542] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33043972860] CAPSULE-FLAGS@: 0 passed, 0 failed, 3 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33050326170] Testing word: CAPSULE-LEN@ +[Hera] [HADES][TEST ] [KRELTSC: 33056189160] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33062199118] CAPSULE-LEN@: 0 passed, 0 failed, 2 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33070320522] Testing word: CAPSULE-HASH@ +[Hera] [HADES][TEST ] [KRELTSC: 33075566174] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33080491264] CAPSULE-HASH@: 0 passed, 0 failed, 2 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33086597082] Testing word: MAMA-VM-ID +[Hera] [HADES][TEST ] [KRELTSC: 33091090308] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33095513340] MAMA-VM-ID: 0 passed, 0 failed, 2 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33102544438] Testing word: VM-COUNT +[Hera] [HADES][TEST ] [KRELTSC: 33107895526] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33118851892] VM-COUNT: 0 passed, 0 failed, 2 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33126150580] Testing word: CAPSULE-BIRTH +[Hera] [HADES][TEST ] [KRELTSC: 33132504936] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33138827708] CAPSULE-BIRTH: 0 passed, 0 failed, 2 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33147217458] Testing word: CAPSULE-RUN +[Hera] [HADES][TEST ] [KRELTSC: 33153612396] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33159828262] CAPSULE-RUN: 0 passed, 0 failed, 1 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33167992540] Testing word: CAPSULE-TEST +[Hera] [HADES][TEST ] [KRELTSC: 33174397196] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33180503908] CAPSULE-TEST: 0 passed, 0 failed, 1 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33188875982] === Mama FORTH Words Summary: 0 passed, 0 failed, 0 skipped, 0 +[Hera] [HADES][INFO ] [KRELTSC: 33197452464] +[Hera] === Testing Module: Q48.16 Words === +[Hera] [HADES][INFO ] [KRELTSC: 33205297320] Running Q48.16 Words Tests (Module 25)... +[Hera] [HADES][TEST ] [KRELTSC: 33211689726] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33219159580] Testing word: Q.+ +[Hera] [HADES][TEST ] [KRELTSC: 33223976532] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33229088150] Running Q.+.basic: 1 Q.FROM-INT 2 Q.FROM-INT Q.+ Q.TO-INT . C +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 33238561838] Test passed +[Hera] [HADES][TEST ] Testing Q.+ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33247163002] Expected: Should print: 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 33260993648] Q.+: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33267168182] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33274199846] Testing word: Q.- +[Hera] [HADES][TEST ] [KRELTSC: 33279027180] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33284309020] Running Q.-.basic: 5 Q.FROM-INT 2 Q.FROM-INT Q.- Q.TO-INT . C +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 33293344814] Test passed +[Hera] [HADES][TEST ] Testing Q.- ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33302277388] Expected: Should print: 3 +[Hera] 3 +[Hera] [HADES][INFO ] [KRELTSC: 33320953466] L8[TABLE]: Config 14 → 0 regime=3 score=26214 L1=0 L2=0 L3=0 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 33331648464] Q.-: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33338171456] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33347421248] Testing word: Q.* +[Hera] [HADES][TEST ] [KRELTSC: 33352242266] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33357399726] Running Q.*.basic: 3 Q.FROM-INT 4 Q.FROM-INT Q.* Q.TO-INT . C +[Hera] 12 +[Hera] [HADES][TEST ] [KRELTSC: 33365611576] Test passed +[Hera] [HADES][TEST ] Testing Q.* ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33375013400] Expected: Should print: 12 +[Hera] 12 +[Hera] 12 +[Hera] 12 +[Hera] 12 +[Hera] 12 +[Hera] [HADES][TEST ] [KRELTSC: 33388405762] Q.*: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33394330008] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33402329562] Testing word: Q./ +[Hera] [HADES][TEST ] [KRELTSC: 33406977868] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33411804842] Running Q./.basic: 10 Q.FROM-INT 2 Q.FROM-INT Q./ Q.TO-INT . +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 33421399916] Test passed +[Hera] [HADES][TEST ] Testing Q./ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33430639754] Expected: Should print: 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] 5 +[Hera] [HADES][TEST ] [KRELTSC: 33445042384] Running Q./.by_zero: 5 Q.FROM-INT 0 Q.FROM-INT Q./ Q.TO-INT . +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 33454506766] Test passed +[Hera] [HADES][TEST ] Testing Q./ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33463060756] Expected: Should print: 0 (division by zero yields q=0) +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 33477810588] Q./: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33484374456] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33491057940] Testing word: Q.ABS +[Hera] [HADES][TEST ] [KRELTSC: 33496306508] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33501080830] Running Q.ABS.basic: 3 Q.FROM-INT Q.NEG Q.ABS Q.TO-INT . CR +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 33510124476] Test passed +[Hera] [HADES][TEST ] Testing Q.ABS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33519009006] Expected: Should print: 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 33532518200] Q.ABS: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33538622094] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33545098806] Testing word: Q.NEG +[Hera] [HADES][TEST ] [KRELTSC: 33549884680] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33554769354] Running Q.NEG.basic: 5 Q.FROM-INT Q.NEG Q.TO-INT . CR +[Hera] -5 +[Hera] [HADES][TEST ] [KRELTSC: 33563064046] Test passed +[Hera] [HADES][TEST ] Testing Q.NEG ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33572543312] Expected: Should print: -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] -5 +[Hera] [HADES][TEST ] [KRELTSC: 33587158266] Q.NEG: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33592977342] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33608017570] Testing word: Q.LOG +[Hera] [HADES][TEST ] [KRELTSC: 33612423384] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33616994952] Running Q.LOG.of_one: Q.1 Q.LOG Q.TO-INT . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 33624188864] Test passed +[Hera] [HADES][TEST ] Testing Q.LOG ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33632036466] Expected: Should print: 0 (ln 1.0 = 0) +[Hera] [HADES][INFO ] [KRELTSC: 33637507152] L8[TABLE]: Config 0 → 14 regime=7 score=6553 L1=0 L2=0 L3=0 L +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 33652607372] Q.LOG: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33658625936] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33665171742] Testing word: Q.EXP +[Hera] [HADES][TEST ] [KRELTSC: 33669842000] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33674532448] Running Q.EXP.of_zero: Q.0 Q.EXP Q.TO-INT . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 33682360106] Test passed +[Hera] [HADES][TEST ] Testing Q.EXP ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33692362540] Expected: Should print: 1 (e^0 = 1) +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 33706581968] Q.EXP: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33712576352] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33718903096] Testing word: Q.SQRT +[Hera] [HADES][TEST ] [KRELTSC: 33723501552] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33727959924] Running Q.SQRT.of_four: 4 Q.FROM-INT Q.SQRT Q.TO-INT . CR +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 33735846926] Test passed +[Hera] [HADES][TEST ] Testing Q.SQRT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33745755212] Expected: Should print: 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] 2 +[Hera] [HADES][TEST ] [KRELTSC: 33759791492] Q.SQRT: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33765182820] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33771197078] Testing word: Q.SIN +[Hera] [HADES][TEST ] [KRELTSC: 33775397276] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33779836962] Running Q.SIN.of_zero: Q.0 Q.SIN Q.TO-INT . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 33787579414] Test passed +[Hera] [HADES][TEST ] Testing Q.SIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33795333960] Expected: Should print: 0 (sin 0 = 0) +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 33808994856] Q.SIN: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33814517106] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33820481062] Testing word: Q.COS +[Hera] [HADES][TEST ] [KRELTSC: 33824591478] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33829189116] Running Q.COS.of_zero: Q.0 Q.COS Q.TO-INT . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 33836003226] Test passed +[Hera] [HADES][TEST ] Testing Q.COS ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33843304230] Expected: Should print: 1 (cos 0 = 1) +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 33856175604] Q.COS: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33861990924] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33870063488] Testing word: Q.FROM-INT +[Hera] [HADES][TEST ] [KRELTSC: 33875216430] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33879800590] Running Q.FROM-INT.round_trip: 7 Q.FROM-INT Q.TO-INT . CR +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 33888105564] Test passed +[Hera] [HADES][TEST ] Testing Q.FROM-INT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33896335430] Expected: Should print: 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 33909800644] Q.FROM-INT: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33916184414] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33922743234] Testing word: Q.TO-INT +[Hera] [HADES][TEST ] [KRELTSC: 33927888926] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33933154244] Running Q.TO-INT.of_one: Q.1 Q.TO-INT . CR +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 33941508438] Test passed +[Hera] [HADES][TEST ] Testing Q.TO-INT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 33950578976] Expected: Should print: 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] 1 +[Hera] [HADES][TEST ] [KRELTSC: 33964989980] Q.TO-INT: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 33971476718] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 33978668440] Testing word: Q.1 +[Hera] [HADES][TEST ] [KRELTSC: 33982993908] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 33987579618] Running Q.1.raw_value: Q.1 . CR +[Hera] 65536 +[Hera] [HADES][TEST ] [KRELTSC: 33993002014] Test passed +[Hera] [HADES][TEST ] Testing Q.1 ... PASS +[Hera] [[HADES][TEST ] [KRELTSC: 33999485524] Expected: Should print: 65536 +[Hera] 65536 +[Hera] 65536 +[Hera] 65536 +[Hera] 65536 +[Hera] 65536 +[Hera] [HADES][TEST ] [KRELTSC: 34015154406] Q.1: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34020578738] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 34026835446] Testing word: Q.0 +[Hera] [HADES][TEST ] [KRELTSC: 34032290908] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34038078088] Running Q.0.raw_value: Q.0 . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 34044794746] Test passed +[Hera] [HADES][TEST ] Testing Q.0 ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34053204074] Expected: Should print: 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 34066929418] Q.0: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34072804800] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 34079375412] Testing word: Q.SCALE +[Hera] [HADES][TEST ] [KRELTSC: 34084088014] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34088810708] Running Q.SCALE.raw_value: Q.SCALE . CR +[Hera] 65536 +[Hera] [HADES][TEST ] [KRELTSC: 34095151092] Test passed +[Hera] [HADES][TEST ] Testing Q.SCALE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34103727888] Expected: Should print: 65536 +[Hera] 65536 +[Hera] 65536 +[Hera] 65536 +[Hera] 65536 +[Hera] 65536 [HADES][INFO ] [KRELTSC: 34117449456] L8[TABLE]: Config 14 → 0 regime=3 score=26214 L1=0 L2=0 L3=0 + +[Hera] [HADES][TEST ] [KRELTSC: 34122777622] Q.SCALE: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34128500064] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 34134940726] Testing word: Q.= +[Hera] [HADES][TEST ] [KRELTSC: 34139220444] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34144698832] Running Q.=.equal: Q.1 Q.1 Q.= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 34153877064] Test passed +[Hera] [HADES][TEST ] Testing Q.= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34162377546] Expected: Should print: -1 (true) +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 34176339846] Running Q.=.not_equal: Q.1 Q.0 Q.= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 34183762506] Test passed +[Hera] [HADES][TEST ] Testing Q.= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34192442114] Expected: Should print: 0 (false) +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 34207039840] Q.=: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34212855584] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 34219648112] Testing word: Q.< +[Hera] [HADES][TEST ] [KRELTSC: 34224281092] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34229331158] Running Q.<.true: Q.0 Q.1 Q.< . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 34236871512] Test passed +[Hera] [HADES][TEST ] Testing Q.< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34245499806] Expected: Should print: -1 (true) +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 34259782746] Running Q.<.false: Q.1 Q.0 Q.< . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 34267116566] Test passed +[Hera] [HADES][TEST ] Testing Q.< ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34275456106] Expected: Should print: 0 (false) +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 34289378024] Q.<: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34295332204] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 34301791656] Testing word: Q.> +[Hera] [HADES][TEST ] [KRELTSC: 34305785102] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34310810668] Running Q.>.true: Q.1 Q.0 Q.> . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 34318531492] Test passed +[Hera] [HADES][TEST ] Testing Q.> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34327115730] Expected: Should print: -1 (true) +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 34340072326] Running Q.>.false: Q.0 Q.1 Q.> . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 34346868742] Test passed +[Hera] [HADES][TEST ] Testing Q.> ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34354841796] Expected: Should print: 0 (false) +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 34368649796] Q.>: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34374590870] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 34381399836] Testing word: Q.0= +[Hera] [HADES][TEST ] [KRELTSC: 34385986794] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34390935030] Running Q.0=.true: Q.0 Q.0= . CR +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 34398081202] Test passed +[Hera] [HADES][TEST ] Testing Q.0= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34405940108] Expected: Should print: -1 (true) +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] -1 +[Hera] [HADES][TEST ] [KRELTSC: 34419643024] Running Q.0=.false: Q.1 Q.0= . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 34426535592] Test passed +[Hera] [HADES][TEST ] Testing Q.0= ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34435493850] Expected: Should print: 0 (false) +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 34449572132] Q.0=: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34455529862] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 34462497522] Testing word: Q.MAX +[Hera] [HADES][TEST ] [KRELTSC: 34467098138] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34471851338] Running Q.MAX.basic: 3 Q.FROM-INT 7 Q.FROM-INT Q.MAX Q.TO-INT +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 34480441554] Test passed +[Hera] [HADES][TEST ] Testing Q.MAX ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34488548846] Expected: Should print: 7 +[Hera] 7 +[Hera] 7 +[Hera] [HADES][INFO ] [KRELTSC: 34496754858] L8[TABLE]: Config 0 → 1 regime=3 score=26214 L1=0 L2=0 L3=0 L +[Hera] 7 +[Hera] 7 +[Hera] 7 +[Hera] [HADES][TEST ] [KRELTSC: 34508718198] Q.MAX: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34514592522] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 34521489744] Testing word: Q.MIN +[Hera] [HADES][TEST ] [KRELTSC: 34526060614] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34531054932] Running Q.MIN.basic: 3 Q.FROM-INT 7 Q.FROM-INT Q.MIN Q.TO-INT +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 34539254904] Test passed +[Hera] [HADES][TEST ] Testing Q.MIN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34547632836] Expected: Should print: 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 34561159108] Q.MIN: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34567060724] ▶ Testing module: v3/src/test_runner/modules/q48_words_test.c +[Hera] [HADES][TEST ] [KRELTSC: 34573145038] Testing word: Q.PRINT +[Hera] [HADES][TEST ] [KRELTSC: 34577533234] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34582070732] Running Q.PRINT.of_one: Q.1 Q.PRINT CR +[Hera] 1.5u +[Hera] [HADES][TEST ] [KRELTSC: 34589277954] Test passed +[Hera] [HADES][TEST ] Testing Q.PRINT ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34597653384] Expected: Should print: 1.00000 +[Hera] 1.5u +[Hera] 1.5u +[Hera] 1.5u +[Hera] 1.5u +[Hera] 1.5u +[Hera] [HADES][TEST ] [KRELTSC: 34615910036] Q.PRINT: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34623674214] === Q48.16 Words Summary: 0 passed, 0 failed, 0 skipped, 0 erro +[Hera] [HADES][INFO ] [KRELTSC: 34632095816] +[Hera] === Testing Module: Inference Engine Words === +[Hera] [HADES][INFO ] [KRELTSC: 34641169142] Running Inference Engine Words Tests (Module 26)... +[Hera] [HADES][TEST ] [KRELTSC: 34649331712] ▶ Testing module: v3/src/test_runner/modules/inference_words_ +[Hera] [HADES][TEST ] [KRELTSC: 34658251392] Testing word: Q.VARIANCE +[Hera] [HADES][TEST ] [KRELTSC: 34665546922] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34672457158] Running Q.VARIANCE.three_cells: 100 HERE ! 200 HERE 8 + ! 300 +[Hera] 6666 +[Hera] [HADES][TEST ] [KRELTSC: 34684651460] Test passed +[Hera] [HADES][TEST ] Testing Q.VARIANCE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34696363316] Expected: Should print population variance of {100,200,300} +[Hera] [HADES][TEST ] [KRELTSC: 34705164148] Q.VARIANCE: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34713431934] ▶ Testing module: v3/src/test_runner/modules/inference_words_ +[Hera] [HADES][TEST ] [KRELTSC: 34722814262] Testing word: INFER-DECAY-SLOPE +[Hera] [HADES][TEST ] [KRELTSC: 34729522012] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34735984308] Running INFER-DECAY-SLOPE.three_cells: 300 HERE ! 200 HERE 8 +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 34747920814] Test passed +[Hera] [HADES][TEST ] Testing INFER-DECAY-SLOPE ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34759927436] Expected: Should print decay slope for a decreasing traject +[Hera] [HADES][TEST ] [KRELTSC: 34768408320] INFER-DECAY-SLOPE: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34776566066] ▶ Testing module: v3/src/test_runner/modules/inference_words_ +[Hera] [HADES][TEST ] [KRELTSC: 34786288872] Testing word: INFER-WINDOW-WIDTH +[Hera] [HADES][TEST ] [KRELTSC: 34793246924] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34800037504] Running INFER-WINDOW-WIDTH.three_cells: 100 HERE ! 200 HERE 8 +[Hera] 3 +[Hera] [HADES][TEST ] [KRELTSC: 34811253302] Test passed +[Hera] [HADES][TEST ] Testing INFER-WINDOW-WIDTH ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34822796482] Expected: Should print an inferred window width (no error) +[Hera] [HADES][TEST ] [KRELTSC: 34831122336] INFER-WINDOW-WIDTH: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34839526440] ▶ Testing module: v3/src/test_runner/modules/inference_words_ +[Hera] [HADES][TEST ] [KRELTSC: 34847957108] Testing word: INFER-RUN +[Hera] [HADES][TEST ] [KRELTSC: 34854097146] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34860621066] Running INFER-RUN.basic: INFER-RUN +[Hera] [HADES][TEST ] [KRELTSC: 34871236314] Test passed +[Hera] [HADES][TEST ] Testing INFER-RUN ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34883805604] Expected: Should run without error +[Hera] [HADES][TEST ] [KRELTSC: 34890950024] INFER-RUN: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34899055334] ▶ Testing module: v3/src/test_runner/modules/inference_words_ +[Hera] [HADES][TEST ] [KRELTSC: 34908177276] Testing word: INFER-WINDOW@ +[Hera] [HADES][TEST ] [KRELTSC: 34915263846] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34921022844] Running INFER-WINDOW@.after_run: INFER-RUN INFER-WINDOW@ . CR +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 34929862914] Test passed +[Hera] [HADES][TEST ] Testing INFER-WINDOW@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34941248114] Expected: Should print last adaptive_window_width (no error +[Hera] [HADES][TEST ] [KRELTSC: 34948624518] INFER-WINDOW@: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 34956697702] ▶ Testing module: v3/src/test_runner/modules/inference_words_ +[Hera] [HADES][TEST ] [KRELTSC: 34963532834] Testing word: INFER-DECAY@ +[Hera] [HADES][TEST ] [KRELTSC: 34968606402] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 34973490110] Running INFER-DECAY@.after_run: INFER-RUN INFER-DECAY@ Q.TO-I +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 34982362278] Test passed +[Hera] [HADES][TEST ] Testing INFER-DECAY@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 34990388026] Expected: Should print last adaptive_decay_slope (no error) +[Hera] [HADES][TEST ] [KRELTSC: 34996574052] INFER-DECAY@: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 35003023288] ▶ Testing module: v3/src/test_runner/modules/inference_words_ +[Hera] [HADES][TEST ] [KRELTSC: 35009801712] Testing word: INFER-VARIANCE@ +[Hera] [HADES][TEST ] [KRELTSC: 35015231178] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 35020422796] Running INFER-VARIANCE@.after_run: INFER-RUN INFER-VARIANCE@ +[Hera] 1169 +[Hera] [HADES][TEST ] [KRELTSC: 35029828330] Test passed +[Hera] [HADES][TEST ] Testing INFER-VARIANCE@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 35038863002] Expected: Should print last window_variance_q48 (no error) +[Hera] [HADES][TEST ] [KRELTSC: 35045751280] INFER-VARIANCE@: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 35052050136] ▶ Testing module: v3/src/test_runner/modules/inference_words_ +[Hera] [HADES][TEST ] [KRELTSC: 35056550986] Testing word: INFER-FIT@ +[Hera] [HADES][TEST ] [KRELTSC: 35059443514] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 35062866234] Running INFER-FIT@.after_run: INFER-RUN INFER-FIT@ Q.TO-INT . +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 35067813686] Test passed +[Hera] [HADES][TEST ] Testing INFER-FIT@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 35074878104] Expected: Should print last slope_fit_quality_q48 (no error +[Hera] [HADES][TEST ] [KRELTSC: 35081216070] INFER-FIT@: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 35086901498] ▶ Testing module: v3/src/test_runner/modules/inference_words_ +[Hera] [HADES][TEST ] [KRELTSC: 35093231042] Testing word: INFER-EARLY-EXIT@ +[Hera] [HADES][TEST ] [KRELTSC: 35098304804] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 35103159152] Running INFER-EARLY-EXIT@.after_run: INFER-RUN INFER-EARLY-EX +[Hera] 0 +[Hera] [HADES][TEST ] [KRELTSC: 35111451436] Test passed +[Hera] [HADES][TEST ] Testing INFER-EARLY-EXIT@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 35120694126] Expected: Should print 0 or 1 (no error) +[Hera] [HADES][TEST ] [KRELTSC: 35126826206] INFER-EARLY-EXIT@: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 35133556220] === Inference Engine Words Summary: 0 passed, 0 failed, 0 skipp +[Hera] [HADES][INFO ] [KRELTSC: 35140060810] +[Hera] === Testing Module: Physics Freeze Words === +[Hera] [HADES][INFO ] [KRELTSC: 35147001620] Running Physics Freeze Words Tests (Module 27)... +[Hera] [HADES][TEST ] [KRELTSC: 35153184660] ▶ Testing module: v3/src/test_runner/modules/physics_freeze_w +[Hera] [HADES][TEST ] [KRELTSC: 35159847488] Testing word: FREEZE-WORD +[Hera] [HADES][TEST ] [KRELTSC: 35164780420] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 35169815306] Running FREEZE-WORD.basic: : __freeze_test_word__ ; S" __free +[Hera] 245 +[Hera] [HADES][TEST ] [KRELTSC: 35177864858] Test passed +[Hera] [HADES][TEST ] Testing FREEZE-WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 35188095298] Expected: Should print: -1 (word is now frozen) +[Hera] [HADES][TEST ] [KRELTSC: 35196128304] FREEZE-WORD: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 35202446864] ▶ Testing module: v3/src/test_runner/modules/physics_freeze_w +[Hera] [HADES][TEST ] [KRELTSC: 35208834946] Testing word: UNFREEZE-WORD +[Hera] [HADES][TEST ] [KRELTSC: 35213321778] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 35217928034] Running UNFREEZE-WORD.basic: : __unfreeze_test_word__ ; S" __ +[Hera] 270 +[Hera] [HADES][TEST ] [KRELTSC: 35226178824] Test passed +[Hera] [HADES][TEST ] Testing UNFREEZE-WORD ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 35234473034] Expected: Should print: 0 (freeze cleared) +[Hera] [HADES][TEST ] [KRELTSC: 35238879804] UNFREEZE-WORD: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 35244608058] ▶ Testing module: v3/src/test_runner/modules/physics_freeze_w +[Hera] [HADES][TEST ] [KRELTSC: 35251599258] Testing word: FROZEN? +[Hera] [HADES][TEST ] [KRELTSC: 35256262728] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 35260848638] Running FROZEN?.not_frozen: : __frozen_test_word__ ; S" __fro +[Hera] 224 +[Hera] [HADES][TEST ] [KRELTSC: 35269156778] Test passed +[Hera] [HADES][TEST ] Testing FROZEN? ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 35277483786] Expected: Should print: 0 (freshly defined word is not froz +[Hera] [HADES][TEST ] [KRELTSC: 35284198432] Running FROZEN?.not_found: S" __nonexistent_freeze_xyz__" FRO +[Hera] 245 +[Hera] [HADES][TEST ] [KRELTSC: 35291910536] Test passed +[Hera] [HADES][TEST ] Testing FROZEN? ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 35302140350] Expected: Should print: 0 (not-found treated as not frozen) +[Hera] [HADES][TEST ] [KRELTSC: 35309676274] FROZEN?: 2 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 35315713896] ▶ Testing module: v3/src/test_runner/modules/physics_freeze_w +[Hera] [HADES][TEST ] [KRELTSC: 35322722688] Testing word: HEAT! +[Hera] [HADES][TEST ] [KRELTSC: 35327538178] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 35332307412] Running HEAT!.basic: : __heat_store_test_word__ ; 999 S" __he +[Hera] 249 +[Hera] [HADES][TEST ] [KRELTSC: 35341596200] Test passed +[Hera] [HADES][TEST ] Testing HEAT! ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 35350515106] Expected: Should print: 999 +[Hera] [HADES][TEST ] [KRELTSC: 35356654578] HEAT!: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 35363568540] ▶ Testing module: v3/src/test_runner/modules/physics_freeze_w +[Hera] [HADES][TEST ] [KRELTSC: 35370768830] Testing word: HEAT@ +[Hera] [HADES][TEST ] [KRELTSC: 35375534834] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 35380505924] Running HEAT@.of_fresh_word: : __heat_fetch_test_word__ ; S" +[Hera] 224 +[Hera] [HADES][TEST ] [KRELTSC: 35389198606] Test passed +[Hera] [HADES][TEST ] Testing HEAT@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 35397289214] Expected: Should print: 0 (freshly defined word has zero he +[Hera] [HADES][TEST ] [KRELTSC: 35404062224] HEAT@: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 35410210382] ▶ Testing module: v3/src/test_runner/modules/physics_freeze_w +[Hera] [HADES][TEST ] [KRELTSC: 35418651402] Testing word: DECAY-RATE@ +[Hera] [HADES][TEST ] [KRELTSC: 35425046870] ------------------------ +[Hera] [HADES][TEST ] [KRELTSC: 35430200420] Running DECAY-RATE@.basic: DECAY-RATE@ . CR +[Hera] 224 +[Hera] [HADES][TEST ] [KRELTSC: 35437364352] Test passed +[Hera] [HADES][TEST ] Testing DECAY-RATE@ ... PASS +[Hera] [HADES][TEST ] [KRELTSC: 35446322708] Expected: Should print the compile-time DECAY_RATE_PER_US_Q +[Hera] [HADES][TEST ] [KRELTSC: 35453173356] DECAY-RATE@: 1 passed, 0 failed, 0 stubs, 0 errors +[Hera] [HADES][TEST ] [KRELTSC: 35459479994] === Physics Freeze Words Summary: 0 passed, 0 failed, 0 skipped +[Hera] [HADES][INFO ] [KRELTSC: 35466368166] FINAL TEST SUMMARY: +[Hera] [HADES][INFO ] [KRELTSC: 35471832622] Total tests run: 1052 +[Hera] [HADES][INFO ] [KRELTSC: 35476905012] Passed: 1014 +[Hera] [HADES][INFO ] [KRELTSC: 35481927496] Failed: 0 +[Hera] [HADES][INFO ] [KRELTSC: 35486915412] Stubs (not yet implemented): 38 +[Hera] [HADES][INFO ] [KRELTSC: 35492384082] Errors: 0 +[Hera] [HADES][INFO ] [KRELTSC: 35497050526] ALL IMPLEMENTED TESTS PASSED! +[Hera] [HADES][INFO ] [KRELTSC: 35502122230] Contract checks (A4'/A1): all passed +[Hera] [HADES][INFO ] [KRELTSC: 35507633772] ============================================== +[Hera] PARITY:M7.1a word_count=526 here=0x00000000000000d8 latest_id=695 hash=0x82f4ae7cb2e2d424 +[Hera] PARITY:OK +[Hera] POST: PASSED +[Hera] [HAL][exec] regions frozen: +[Hera] kernel.text: [0x000000003d50f000, 0x000000003d56d94c) +[Hera] VM: parity bootstrap complete +[Hera] PCI: init... +[Hera] PCI: ECAM mapped (amd64) +[Hera] virtio-rng: no device on PCI bus 0 +[Hera] rng: backend = rdrand +[Hera] entropy: ready +[Hera] virtio-blk: found device +[Hera] Artemis: virtio-blk attached +[Hera] virtio-input: no device on PCI bus 0 +[Hera] Init: Mama birth... +[Hera] [HADES][WARN ] [KRELTSC: 35671658982] capsule sig: init.4th: missing (unsigned) +[Hera] [HADES][WARN ] [KRELTSC: 35700766114] ( Unterminated comment +[Hera] [HADES][WARN ] [KRELTSC: 35708022824] ( Unterminated comment + +[Hera] ================================================ +[Hera] LithosAnanke — FORTH-79 bare-metal kernel +[Hera] Stadium step one: Hera alone +[Hera] ================================================ +[Hera] Hera [live] +[Hera] ================================================ + +[Hera] (no identity) +[Hera] PARITY:MAMA_INIT capsule_id=0xd09db9461b336431 mode=m capsule_hash=0xd09db9461b336431 dict_hash=0x99ad98c4015eff5f +[Hera] Init: Mama birth OK +[Hera] ACL: CAPSULE-BIRTH pinned STRICT +[Hera] ACL: BIRTH pinned STRICT +[Hera] Starting heartbeat... +[Hera] APIC Timer: started (LVT=0x00020020 ICR=9961983) +[Hera] I/O APIC: keyboard IRQ1 unmasked +[Hera] Heartbeat running. +[Hera] Stadium words: promotions=418 evictions=0 +[Hera] Stadium conservation: resident_sum=43691 reservoir=21845 sum=65536 (Q48_ONE=65536) +[Hera] Stadium conservation: CONSERVED +[Hera] Stadium quota grant self-test: OK +[Hera] Hera reservoir=21845 +[Hera] test-vm reservoir=65536 +[Hera] Kernel-Hermes alloc/release self-test: Scan cross-check (counters vs arena): PASS +[Hera] scan_held_before_decay=8192 +[Hera] scan_held_after_decay=8148 +[Hera] Stage B (ledger + stadium_conserved): PASS +[Hera] vm_consumed=737 +[Hera] PASS +[Hera] audit_failures=0 +[Hera] decay_consumed=352 +[Hera] reservoir0=65536 +[Hera] Q_SLOT=2048 +[Hera] expected_n=32 +[Hera] got_n=32 +[Hera] reservoir_after_alloc=0 +[Hera] reservoir_final=65536 +[Hera] held(final)=0 +[Hera] pulled(final)=65536 +[Hera] returned(final)=65536 +[Hera] consumed(final)=0 +[Hera] Startup: birthing Hestia (fleet foundation)... +[Hestia] [HADES][WARN ] [KRELTSC: 35872979628] capsule sig: hestia:init.4th: missing (unsigned) +[Hestia] [HADES][WARN ] [KRELTSC: 36167116284] ( Unterminated comment +[Hestia] [HADES][WARN ] [KRELTSC: 36175082812] ( Unterminated comment +[Hestia] [HADES][WARN ] [KRELTSC: 36323761920] ( Unterminated comment +[Hestia] (no identity) +[Hestia] PARITY:BIRTH vm_id=0x08c917e435874369-0xb49f0f022741ab06 capsule_id=0x64e111990fbc45ff mode=p capsule_hash=0x64e111990fbc45ff dict_hash=0x8324b363b366757b +[Hera] BIRTH: Hestia live +[Hera] Startup: Hestia live +[Hera] Startup: birthing Artemis (fleet foundation)... +[Artemis] [HADES][WARN ] [KRELTSC: 36427452956] capsule sig: artemis:init.4th: missing (unsigned) +[Artemis] Artemis: LithosAnanke disk -- resuming +[Artemis] Artemis: persist-read... +[Artemis] PASS: persist-read +[Artemis] Artemis ready +[Artemis] Artemis: 22998 data blocks +[Artemis] K-total=0.5u +[Artemis] ARTEMIS-K=1.5u +[Artemis] (no identity) +[Artemis] PARITY:BIRTH vm_id=0x5a651525b11746fd-0x839ed1c30b8fa008 capsule_id=0x7ba120e2a6aab239 mode=p capsule_hash=0x7ba120e2a6aab239 dict_hash=0x58ba6d988a6d3560 +[Hera] BIRTH: Artemis live +[Hera] Startup: Artemis live +[Hera] Heartbeat: 288 ticks, trust=0x00010000, variance=0x00000000 +[Hera] Kernel-Hermes common-channel fleet self-test: PASS +[Hera] common channel members=3 +[Hera] channel table capacity=50 +[Hera] Kernel-Hermes synthetic private-topic self-test: PASS +[Hera] Kernel-Hermes publish self-test: PASS +[Hera] Kernel-Hermes drain self-test: SKIPPED (Hermes not live) +[Hera] Kernel-Hermes chunk self-test: PASS +[Hera] Kernel-Hermes negotiation self-test: PASS +[Hera] Kernel-Hermes channel-open policy self-test: SKIPPED (Hera/Hermes not available) +[Hera] blkio_usb: MSC device ready +[Hera] Kernel-Hermes BLK-ATTACH-EVENT (real, Stage C): ledger held=2048 pulled=237568 returned=234783 consumed=737 stadium_conserved(Artemis)=true +[Hera] Zuse: identity confirmed from attached thumbdrive +[Hera] LithosAnanke v4.0.0-alpha.3 amd64 +[Hera] StarForth Version 3.2.0 + +[Hera] StarForth CLI +[Hera] FORTH-79 interpreter type BYE or power off to exit + +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From c587678dbdfd314abd20ca5955f03b04233844cd Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:40:46 +0000 Subject: [PATCH 24/57] logs: stick_boot and stick_artemis at --log-level=info: PASS (#92, Task 1) [skip ci] The reruns of 035439 and 035956, with the log level their plans run them at. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-043728.csv | 0 .../runs/doe-amd64-20261108-043912.csv | 0 .../amd64/qemu-amd64-20261108-043728.log | 164 +++++++++++++++++ .../amd64/qemu-amd64-20261108-043912.log | 165 ++++++++++++++++++ 4 files changed, 329 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-043728.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-043912.csv create mode 100644 logs/20261108-043728/amd64/qemu-amd64-20261108-043728.log create mode 100644 logs/20261108-043912/amd64/qemu-amd64-20261108-043912.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-043728.csv b/experiments/bare_metal/runs/doe-amd64-20261108-043728.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-043912.csv b/experiments/bare_metal/runs/doe-amd64-20261108-043912.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-043728/amd64/qemu-amd64-20261108-043728.log b/logs/20261108-043728/amd64/qemu-amd64-20261108-043728.log new file mode 100644 index 00000000..4ee83fa5 --- /dev/null +++ b/logs/20261108-043728/amd64/qemu-amd64-20261108-043728.log @@ -0,0 +1,164 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:37:23 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 965 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248627 + Free pages : 247100 + Used pages : 1527 + Total MB : 971 + Free MB : 965 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2098867073 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1003442234, tick_hz=100, initial_count=10034422 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10034422) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +[HADES][INFO ] [KRELTSC: 10865963574] blk: disk 'StarForth Volume' v2 LBN 3072..1140720 (1137649 user +Artemis: the stick's partition attached +[HADES][INFO ] [KRELTSC: 10880848030] blk: disk 'StarForth Volume' v2 LBN 1140721..1524262 (383542 us +[HADES][INFO ] [KRELTSC: 10901460212] MINT verify: identity reads back correctly +[Hera] Zuse: genesis minted onto attached thumbdrive +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-043912/amd64/qemu-amd64-20261108-043912.log b/logs/20261108-043912/amd64/qemu-amd64-20261108-043912.log new file mode 100644 index 00000000..f2562625 --- /dev/null +++ b/logs/20261108-043912/amd64/qemu-amd64-20261108-043912.log @@ -0,0 +1,165 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:38:45 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248966 + Free pages : 247439 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2105095484 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1007983640, tick_hz=100, initial_count=10079836 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10079836) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +[HADES][INFO ] [KRELTSC: 10861266266] blk: disk 'StarForth Volume' v2 LBN 3072..789009 (785938 user b +Artemis: the stick's partition attached +[HADES][INFO ] [KRELTSC: 10869833666] blk: disk 'StarForth Volume' v2 LBN 789010..837733 (48724 user +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From a58ddbfc247ba9df3fe18d77b6b5bbbf4a3606b2 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:41:25 +0000 Subject: [PATCH 25/57] FABRIC-3 XLVIII.8: #92 Task 1, the proxy Zuse -- built, tested first, regressions [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- docs/fabric/FABRIC-3.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/docs/fabric/FABRIC-3.md b/docs/fabric/FABRIC-3.md index c6bbfea6..c7a53c80 100644 --- a/docs/fabric/FABRIC-3.md +++ b/docs/fabric/FABRIC-3.md @@ -6303,3 +6303,30 @@ failed was right to: it refuses a line that is not what was printed. The capture stays headless"; minting Zuse on a stick's first boot (`docs/v4.0.0/STICK.md` section 6) is #92. **Ruled:** #92 into alpha.4, so the PC stick downloaded from alpha.4 on boots to `[zuse@Hera] ok>` at its first boot. + +### 8. #92, Task 1: the proxy Zuse -- a stick's first boot mints its own (2026-11-08) + +Plan `docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md`, Task 1; `STICK.md` section 6. + +- **Built:** the genesis marker's version 2 (`zuse_genesis_marker_v2_t`: the proxy's key and the + real Zuse's, zero until she is minted), read and written by the v4 boot alone + (`kernel/src/v4/sk_v4_marker.c`; a version 1 marker -- the minted pair's -- reads as a proxy with + no real Zuse). The identity check and the genesis mint are split out of v3's + `capsule_zuse_boot.c` (`capsule_zuse_boot_check_key`, `capsule_zuse_boot_genesis_mint`) as D1 + split the check from the VM; v3's callers are unchanged in behaviour. On v4 + (`sk_v4_identity.c`), a stick with no marker and a blank identity partition mints the proxy Zuse, + reads her back, and only then writes the marker that names her; she is logged in. A marker with a + real key gives the proxy no session (the fixed screen is Task 5). +- **Tested first, seen to fail:** `genesis` (a fresh data stick, booted twice) failed on amd64 with + "Zuse: no genesis on this disk -- the system stays headless", both boots. After: `genesis` passes + on all three ISAs (first boot minted, second recognised, not minted again); `stick_genesis` -- the + PC stick as built, no `STICK_PAIR` -- reaches `[zuse@Hera] ok>` with nothing set up: plug and play. + Regressions pass: `zuse`, `stick_boot`, `stick_zuse`, `stick_artemis`, `two_sticks`, + `artemis_unsigned`, `raw_ident`, `hotplug`, `midpull`, `waitpull`, `typeahead`, the seven GPT + modes, `v3_keys`. +- **My slip, written down:** `stick_boot` and `stick_artemis` were first run without + `KERNEL_ARGS=--log-level=info`, which their disk-size checks read; they failed on that check alone, + and passed when rerun at the info level. Both runs' logs are in the tree. +- **Left as it is (the plan's order):** a genesis whose marker write fails leaves Zuse on the + identity partition with no marker naming her; that stick then logs no one in until it is + rewritten. Said once, "Zuse: genesis marker write failed -- headless". -- 2.54.0 From 96bc60883d5c6ce828e8f232c52d9d29c258c89c Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:43:26 +0000 Subject: [PATCH 26/57] logs: acceptance amd64 for #92 Task 1: PASS [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-044115.csv | 0 .../amd64/qemu-amd64-20261108-044115.log | 161 ++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-044115.csv create mode 100644 logs/20261108-044115/amd64/qemu-amd64-20261108-044115.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-044115.csv b/experiments/bare_metal/runs/doe-amd64-20261108-044115.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-044115/amd64/qemu-amd64-20261108-044115.log b/logs/20261108-044115/amd64/qemu-amd64-20261108-044115.log new file mode 100644 index 00000000..4b4f61b3 --- /dev/null +++ b/logs/20261108-044115/amd64/qemu-amd64-20261108-044115.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:40:50 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248951 + Free pages : 247424 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2088701161 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=998198729, tick_hz=100, initial_count=9981987 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=9981987) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From 4c38a7b1e6681e79a030da8bff30ef16aff6f3d8 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 04:54:00 +0000 Subject: [PATCH 27/57] feat(kernel): the proxy Zuse -- a stick's first boot mints its own Zuse; the genesis marker's version 2 (#92, Task 1) Task 1 of plan 2026-10-29-stick-5, accepted in full: - amd64, aarch64, riscv64: PARITY:V4_POST tests=538 pass=538 fail=0, POST: PASSED, [zuse@Hera] ok>; dict_hash 0xfec8c47cfc6f437f on the three - the PC stick loaded high: 538/538, POST: PASSED, the prompt - make -C v4 test-32: 39 programs, 0 failures The logs of the acceptance boots (aarch64 044253, riscv64 044558, the stick high 044725; amd64 044115 is already in), the four accept-*.txt verdicts and test-32's output. The plan's Task 1 steps ticked; FABRIC-3 XLVIII.8. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- docs/fabric/FABRIC-3.md | 4 + ...-10-29-stick-5-proxy-zuse-and-real-zuse.md | 10 +- .../runs/doe-aarch64-20261108-044253.csv | 0 .../runs/doe-amd64-20261108-044725.csv | 0 .../runs/doe-riscv64-20261108-044558.csv | 0 .../aarch64/qemu-aarch64-20261108-044253.log | 133 ++++++++ .../riscv64/qemu-riscv64-20261108-044558.log | Bin 0 -> 7993 bytes logs/20261108-044725/accept-aarch64.txt | 8 + logs/20261108-044725/accept-amd64.txt | 8 + logs/20261108-044725/accept-riscv64.txt | 8 + logs/20261108-044725/accept-stick-high.txt | 11 + .../amd64/qemu-amd64-20261108-044725.log | 162 ++++++++++ logs/20261108-044725/test-32/test-32.txt | 286 ++++++++++++++++++ 13 files changed, 625 insertions(+), 5 deletions(-) create mode 100644 experiments/bare_metal/runs/doe-aarch64-20261108-044253.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-044725.csv create mode 100644 experiments/bare_metal/runs/doe-riscv64-20261108-044558.csv create mode 100644 logs/20261108-044253/aarch64/qemu-aarch64-20261108-044253.log create mode 100644 logs/20261108-044558/riscv64/qemu-riscv64-20261108-044558.log create mode 100644 logs/20261108-044725/accept-aarch64.txt create mode 100644 logs/20261108-044725/accept-amd64.txt create mode 100644 logs/20261108-044725/accept-riscv64.txt create mode 100644 logs/20261108-044725/accept-stick-high.txt create mode 100644 logs/20261108-044725/amd64/qemu-amd64-20261108-044725.log create mode 100644 logs/20261108-044725/test-32/test-32.txt diff --git a/docs/fabric/FABRIC-3.md b/docs/fabric/FABRIC-3.md index c7a53c80..2e8e19cf 100644 --- a/docs/fabric/FABRIC-3.md +++ b/docs/fabric/FABRIC-3.md @@ -6330,3 +6330,7 @@ Plan `docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md`, Task 1; - **Left as it is (the plan's order):** a genesis whose marker write fails leaves Zuse on the identity partition with no marker naming her; that stick then logs no one in until it is rewritten. Said once, "Zuse: genesis marker write failed -- headless". +- **Accepted** (`scripts/nightly.sh accept` amd64, aarch64, riscv64, stick-high; `make -C v4 + test-32`): `PARITY:V4_POST tests=538 pass=538 fail=0` and `POST: PASSED` on all three and the + stick loaded high; `dict_hash 0xfec8c47cfc6f437f` on the three, unchanged (Task 1 adds no word); + test-32: 39 programs, 0 failures. diff --git a/docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md b/docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md index e69ba474..63777ceb 100644 --- a/docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md +++ b/docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md @@ -146,7 +146,7 @@ xHCI USB sticks, `scripts/qemu_session.py`. - **The Artemis partition must be formatted to take the marker:** `blk_subsys_confirm_format` only if the slot is provisional and its `artemis_sig_t` checked out (§4). -- [ ] **Step 1: Failing tests** (harness): +- [x] **Step 1: Failing tests** (harness): - **`genesis`** (three ISAs): a fresh data stick (`DATASTICK=1 ZUSEDISK=`), built once into the session directory (`DATASTICK_IMG=/data.img DATASTICK_DEP=`) and booted twice, one QEMU at a time. First boot: the genesis line, `[zuse@Hera] ok> `, `3 4 + .` → `7 ok`. Second boot: @@ -155,12 +155,12 @@ xHCI USB sticks, `scripts/qemu_session.py`. reaches the prompt. Today: FAIL (headless). - **Changed:** `stick_boot` expected the blank stick headless; it now expects the genesis line and the prompt. -- [ ] **Step 2:** Run each: FAIL as listed. -- [ ] **Step 3:** Implement. -- [ ] **Step 4:** The new sessions pass; regression: `zuse` (the pair, version 1: logs in as the +- [x] **Step 2:** Run each: FAIL as listed. +- [x] **Step 3:** Implement. +- [x] **Step 4:** The new sessions pass; regression: `zuse` (the pair, version 1: logs in as the proxy), `stick_zuse`, `stick_artemis`, `two_sticks`, `artemis_unsigned`, `raw_ident`, `hotplug`, `midpull`, `waitpull`, `typeahead`, the GPT modes, `v3_keys` (v3's genesis and marker unchanged). -- [ ] **Step 5:** Suite; full acceptance; commit `feat(kernel): the proxy Zuse -- a stick's first +- [x] **Step 5:** Suite; full acceptance; commit `feat(kernel): the proxy Zuse -- a stick's first boot mints its own Zuse; the genesis marker's version 2` with the logs. ### Task 2: Artemis grows to fill the stick diff --git a/experiments/bare_metal/runs/doe-aarch64-20261108-044253.csv b/experiments/bare_metal/runs/doe-aarch64-20261108-044253.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-044725.csv b/experiments/bare_metal/runs/doe-amd64-20261108-044725.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-riscv64-20261108-044558.csv b/experiments/bare_metal/runs/doe-riscv64-20261108-044558.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-044253/aarch64/qemu-aarch64-20261108-044253.log b/logs/20261108-044253/aarch64/qemu-aarch64-20261108-044253.log new file mode 100644 index 00000000..eac61db3 --- /dev/null +++ b/logs/20261108-044253/aarch64/qemu-aarch64-20261108-044253.log @@ -0,0 +1,133 @@ +UEFI firmware (version 2024.02-2ubuntu0.10 built at 15:40:28 on Sep 23 2026) +[=3h[=3hBdsDxe: failed to load Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x0): Not Found +BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:04.0-1" from PciRoot(0x0)/Pci(0x4,0x0)/USB(0x0,0x0): Not Found +BdsDxe: loading Boot0003 "UEFI Misc Device 2" from PciRoot(0x0)/Pci(0x6,0x0) +BdsDxe: starting Boot0003 "UEFI Misc Device 2" from PciRoot(0x0)/Pci(0x6,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +Collecting boot information... +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 aarch64 +Architecture: aarch64 +Build: Nov 8 2026 04:42:32 + +UEFI BootServices: EXITED +Console: serial line is a PL011 at 0x0000000009000000 (no devicetree: QEMU's) + +=== StarKernel Boot Information === +Memory map entries: 33 +Total memory: 4093 MB +Usable memory: 4054 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 1039457 + Free pages : 1038033 + Used pages : 1424 + Total MB : 4060 + Free MB : 4054 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +AArch64: running at EL1 +IDT installed. + +APIC: init... +PSCI: no DTB -- using HVC (QEMU virt-machine default) +GICv2: no DTB GIC node -- using QEMU virt-machine defaults +GICv2: distributor+CPU interface enabled, PPI 30 +APIC: init done + +Timer: init... +Timer: AArch64 generic timer initialised. +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 2147483608 + Free bytes: 2147483608 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 1207959552 + Heap end addr: 3355443200 + +Heartbeat: init... +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +virtio-rng: found device +rng: backend = virtio-rng +entropy: ready +virtio-input: found device +virtio-input: driver ready +Starting heartbeat... +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-044558/riscv64/qemu-riscv64-20261108-044558.log b/logs/20261108-044558/riscv64/qemu-riscv64-20261108-044558.log new file mode 100644 index 0000000000000000000000000000000000000000..22e3d028ea4fc14e03ec915136f70e83e93c89dc GIT binary patch literal 7993 zcmbtZZFAa4628w=@eA^$@4kfG8KQTDvc6i3am>Z6IdHPOm!vqojEu@4v666JDnI_7 z9!W^XY<90KyKH8r^>j~9PftHXyLG)4@#1Vk_i9gXw}@zo2mc;D+`lYFE*zfp%j^T-SOhJOuNdd~PzgTM0Q2NwMxk$>P< z3R%{LAAX;KUvdLYJls>^F4<%TSiby5Jr?7}H+~m?i+=q5%S-v0q00vXjRsGq-I}f4 zJWSFJ{p4;$B`E(plt!6<-@T90JW5V}6PsN_{6e_-E*07S6^Aw=5NmPU5V{=BZ)lY4 z;=B}dNNo&HW)nIW_mN*IcF6VDQJi--*{7%>coS_z+7zt?b2;=QsY>x&er>!rO5!Y8 zi~3E6c5a&6nyECTE*H~Uf(>=3+wC?4X4ALd7nln#N%Dq_Ls=9?_hOlgEN>t!R=Ye% zKE->{-xb_t22lZ_k2%HypBkrV+^OPq1I$lXz5ut)1*9;tU0 zi(vTg_4r)eLcO9?FU#@I<=QHWR($Fz54u7;GTy)8 zl3eiyD!R-)>US}<-^G-sKE%`;n7{nKo%(Ui$_v0`oaQ5E4?9oxs70f8!B66IPQxHT zY?c1!2(2JXzcv=CkWX)GpEc#ZP{>yg@TW;o?>L7R-3>ZwnZ=iEj?mukHD25=B6}dP zDAPmff>NN}s^e;MUb}}s$@r>=i#4xBssODeW@&Wa40MN&R#j{2kSS)e7*;R+*GFHcn(Qr1V zPf@;#VlpWcei8>6;bbimsSAJvEvrWS#5!z%Yj0 z@u+Wh4cj!kL(@3#+R6YOnxS4;BeM02iwm2N(6b;r|12B|-DoWW$`e{AZa^GF>@WJ; z+wsMOrYIxIqv~%IrtMa;p_w1eA=QD0U%W&EAJh|WIP?>&y+F+n?0u)cQq;?b?px$; z`bMO&Sd-Lo1-$~${6C6s>8=c)5!f44ko4N>$ z_+ePaD<0T@>lRLZ^M5*xe^_O;Ql&shI$V#Q7qnOJnm%S~u zjyAzn6vIhdH^l)(*KcY|jE_*e*|<39fh$Updffa-&3f5G7Vv_`SmHf22Pt zX@8`lm%x9B0m072evfhvgar<1RCpPsB2T}-hGYw;VJ7u56-&_B?4ABXdQO&~mO)W2 zHe~elp6Q}oa`P?08@V7iuNDOw0p0NgTrUWAzt0lOWwG>2Xif76VqT!DeJw;%ENw0A^Vb3;7^0?&G7J`RfkNntEy6$?ra(j9~U@RO0!_;5F={{4I zlGkwe8Sib*IQK+0A-!6p7>;2&8dkpDl9{C$!w!vqncR%edDly3f%O(?D%X-41v?rQ)(nN)=HB)l@P{}mc%AOpl?t` zbI3;mXPjoXTQ^)7gMaZTPBj#OG)4XXHj~@F>L2tC*$t>adU*D;=@iK%$}v4qga8SY zdwAY$ zv8Y^7qVU~6g&li&q~6VTEph>WwOf<(8~6}D!x_OIL?q58BS-pG=D67vHxU-+H)q5R zd`5MM#IegbL2`r;Gw|-lMF``J2t?@a)<_~A2;M1z%r8tq6cu2+X4EOFN?3zrjG9(G zp?rl(VU?_dQw6fM9TX%njyyyWQ|X3nWxFg%xMHKxVoo*JrpvF?xfotuoef8CPIwk| za6?4{Z?B^~&Q?qW9|o7CeMh6q`+|i)F{fL0U$OgGd!iyjj*S#?QjW+7n+f-hsM#ZR zvH!?Lt&a%RRKpx-CYQHFa+Jw;HQF~-!_o~6aoBEQG|fHSel$FF&{xj3oa=s?#lhW( z54p*+osZKo3wP_kGQ8{yqU?^NB1b;qq>!zm?ezkCFY@o&Ef55ph#(Faxk%D{g|r89 zyh8es#me)n3KA?rQ^+B#G$C8&GRin41YM|h7o`)*9+X4zEkXoIb`V(U&VX zTOo)C#z1(MtBQeUDZ)V6e8dDFhx^kE*drXM_v}!$`u0E*zH0lLeN=rEZ+H3A^w$sv z2H0kx3*WGp%`z}7u##AXYw@l+#fkOL!B6`8;{e9iT2br2kngx_}26BlBSaG>7M zeK!boPg8>c1?cguh$1&%J4zMAQny^l8pSA`Sz=876w@gD3mS<~*Yiiz6<@mDVY04{r1Lc-&n69fBcHs4e zr=ci0;(Qb+Pg7n294I$MsHnQC`AXmG4}6>j^?^RWo|4=)r<&f^aHqYg4sg5gX?mc$ zLbH&=>_Aq%=??cIAWEm^09jQtA7@jUhx&t_fg6sh|W-GdGNXP1Gf +PASS: 7 ok, and a prompt +RESULT: PASS diff --git a/logs/20261108-044725/accept-amd64.txt b/logs/20261108-044725/accept-amd64.txt new file mode 100644 index 00000000..8aec6331 --- /dev/null +++ b/logs/20261108-044725/accept-amd64.txt @@ -0,0 +1,8 @@ +=== nightly: org.starship:kernelImage:4.0.0-alpha.3-SNAPSHOT from c587678d; accept amd64 +LOG: logs/20261108-044115/amd64/qemu-amd64-20261108-044115.log +PASS: POST: PASSED +PASS: Boot disk: not a StarshipOS stick (an ISO or ESP boot) +PASS: Zuse: identity confirmed +PASS: [zuse@Hera] ok> +PASS: 7 ok, and a prompt +RESULT: PASS diff --git a/logs/20261108-044725/accept-riscv64.txt b/logs/20261108-044725/accept-riscv64.txt new file mode 100644 index 00000000..1023c3bc --- /dev/null +++ b/logs/20261108-044725/accept-riscv64.txt @@ -0,0 +1,8 @@ +=== nightly: org.starship:kernelImage:4.0.0-alpha.3-SNAPSHOT from 96bc6088; accept riscv64 +LOG: logs/20261108-044558/riscv64/qemu-riscv64-20261108-044558.log +PASS: POST: PASSED +PASS: Boot disk: not a StarshipOS stick (an ISO or ESP boot) +PASS: Zuse: identity confirmed +PASS: [zuse@Hera] ok> +PASS: 7 ok, and a prompt +RESULT: PASS diff --git a/logs/20261108-044725/accept-stick-high.txt b/logs/20261108-044725/accept-stick-high.txt new file mode 100644 index 00000000..6a6f1dad --- /dev/null +++ b/logs/20261108-044725/accept-stick-high.txt @@ -0,0 +1,11 @@ +=== nightly: org.starship:kernelImage:4.0.0-alpha.3-SNAPSHOT from 96bc6088; accept stick-high +LOG: logs/20261108-044725/amd64/qemu-amd64-20261108-044725.log +PASS: POST: PASSED +PASS: Boot disk: a StarshipOS stick +PASS: Artemis: the stick's partition attached +PASS: Zuse: identity confirmed +PASS: [zuse@Hera] ok> +PASS: 7 ok +PASS: no fault +RESULT: PASS +=== nightly: dict_hash on the three: 0xfec8c47cfc6f437f diff --git a/logs/20261108-044725/amd64/qemu-amd64-20261108-044725.log b/logs/20261108-044725/amd64/qemu-amd64-20261108-044725.log new file mode 100644 index 00000000..21c1e5ab --- /dev/null +++ b/logs/20261108-044725/amd64/qemu-amd64-20261108-044725.log @@ -0,0 +1,162 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:04.0-1" from PciRoot(0x0)/Pci(0x4,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:04.0-1" from PciRoot(0x0)/Pci(0x4,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 04:47:20 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 131 +Total memory: 3071 MB +Usable memory: 3013 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 772915 + Free pages : 771388 + Used pages : 1527 + Total MB : 3019 + Free MB : 3013 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 45064 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2092230594 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 2147483608 + Free bytes: 2147483608 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 2172125184 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1000744944, tick_hz=100, initial_count=10007449 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: MCFG parse failed; using port I/O (amd64 default) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10007449) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-044725/test-32/test-32.txt b/logs/20261108-044725/test-32/test-32.txt new file mode 100644 index 00000000..4ef42821 --- /dev/null +++ b/logs/20261108-044725/test-32/test-32.txt @@ -0,0 +1,286 @@ + [V4_CELL_BITS=32 run-32-test_asm.c] +v4 asm tests: V4_CELL_BITS=32 + 32 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_cells.c] +v4 single-cell word tests: V4_CELL_BITS=32 + code: 99 of 1024 words + NIP headroom: data 7 below canary, return 7 below its return address + SWAP headroom: data 6 below canary, return 6 below its return address + ROT headroom: data 5 below canary, return 4 below its return address + -ROT headroom: data 5 below canary, return 5 below its return address + ?DUP headroom: data 7 below canary, return 8 below its return address + +! headroom: data 7 below canary, return 8 below its return address + -! headroom: data 7 below canary, return 8 below its return address + 2@ headroom: data 7 below canary, return 8 below its return address + 2! headroom: data 6 below canary, return 6 below its return address + - headroom: data 6 below canary, return 8 below its return address + MIN headroom: data 3 below canary, return 6 below its return address + MAX headroom: data 3 below canary, return 6 below its return address + OR headroom: data 6 below canary, return 8 below its return address + 0> headroom: data 8 below canary, return 8 below its return address + <> headroom: data 7 below canary, return 8 below its return address + < headroom: data 5 below canary, return 7 below its return address + > headroom: data 5 below canary, return 6 below its return address + <= headroom: data 5 below canary, return 6 below its return address + >= headroom: data 5 below canary, return 6 below its return address + U< headroom: data 5 below canary, return 7 below its return address + WITHIN headroom: data 3 below canary, return 5 below its return address + 21420 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_console.c] +v4 console tests: V4_CELL_BITS=32, capture 4096 characters + 312 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_exec.c] +v4 exec tests: V4_CELL_BITS=32 + 3099 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_fabric.c] +v4 fabric tests: V4_CELL_BITS=32, 8 ports to a node + 334 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_foundation.c] +v4 foundation tests: V4_CELL_BITS=32 + code: 958 of 1024 words + Q.+ random cases that overflow Q48.16: 2682 of 20000 + Q.> as written (SWAP D<): 11702 wrong of 20169 + (UQ/) cases run: 8687 + UM* headroom: data 5 below canary, return 6 below its return address + UM/MOD headroom: data 5 below canary, return 6 below its return address + ABS headroom: data 7 below canary, return 7 below its return address + U> headroom: data 5 below canary, return 5 below its return address + D+ headroom: data 5 below canary, return 5 below its return address + DNEGATE headroom: data 6 below canary, return 7 below its return address + DABS headroom: data 6 below canary, return 6 below its return address + M+ headroom: data 5 below canary, return 4 below its return address + M- headroom: data 4 below canary, return 5 below its return address + M* headroom: data 5 below canary, return 4 below its return address + M/MOD headroom: data 4 below canary, return 3 below its return address + MOD headroom: data 4 below canary, return 2 below its return address + */MOD headroom: data 4 below canary, return 2 below its return address + */ headroom: data 4 below canary, return 2 below its return address + D0< headroom: data 7 below canary, return 7 below its return address + D2* headroom: data 6 below canary, return 7 below its return address + D2/ headroom: data 7 below canary, return 7 below its return address + 2ROT headroom: data 2 below canary, return 1 below its return address + D- headroom: data 4 below canary, return 4 below its return address + D0= headroom: data 6 below canary, return 7 below its return address + D= headroom: data 4 below canary, return 3 below its return address + < headroom: data 5 below canary, return 7 below its return address + = headroom: data 7 below canary, return 7 below its return address + D< headroom: data 3 below canary, return 3 below its return address + (D<) headroom: data 2 below canary, return 5 below its return address + 2SWAP headroom: data 4 below canary, return 4 below its return address + 2OVER headroom: data 2 below canary, return 3 below its return address + DMAX headroom: data 2 below canary, return 4 below its return address + DMIN headroom: data 2 below canary, return 4 below its return address + Q.> (2SWAP D<) headroom: data 3 below canary, return 2 below its return address + Q.* headroom: data 2 below canary, return 3 below its return address + (UQ/) headroom: data 3 below canary, return 4 below its return address + Q./ headroom: data 2 below canary, return 3 below its return address + Q.EXP headroom: data 2 below canary, return 2 below its return address + Q.SQRT headroom: data 2 below canary, return 2 below its return address + Q.LOG headroom: data 2 below canary, return 2 below its return address + (Q.REDUCE) headroom: data 4 below canary, return 5 below its return address + Q.SIN headroom: data 2 below canary, return 2 below its return address + Q.COS headroom: data 2 below canary, return 2 below its return address + LSHIFT headroom: data 6 below canary, return 5 below its return address + RSHIFT headroom: data 6 below canary, return 5 below its return address + C@ headroom: data 7 below canary, return 7 below its return address + C! headroom: data 6 below canary, return 7 below its return address + SM/REM headroom: data 4 below canary, return 3 below its return address + /MOD headroom: data 4 below canary, return 2 below its return address + / headroom: data 4 below canary, return 2 below its return address + * headroom: data 5 below canary, return 5 below its return address + 1023754 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_guard.c] +v4 guard tests: V4_CELL_BITS=32, data bound 1, return bound 1 + 60 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_heat.c] +v4 heat tests: V4_CELL_BITS=32 + 8272 checks, 0 failures +cd /home/user/LithosAnanake/v4/build/v3o && cc -std=gnu99 -Wall -O2 -g -I/home/user/LithosAnanake/v3/include -I/home/user/LithosAnanake/kernel/include -c /home/user/LithosAnanake/v3/src/block_subsystem.c /home/user/LithosAnanake/v3/src/blkio_ram.c /home/user/LithosAnanake/v3/src/blkio_file.c /home/user/LithosAnanake/v3/src/log.c /home/user/LithosAnanake/v3/src/platform/platform_init.c /home/user/LithosAnanake/v3/src/platform/linux/time.c +ld -r /home/user/LithosAnanake/v4/build/v3o/*.o -o /home/user/LithosAnanake/v4/build/v3blocks.o +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_blocks.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_blocks.c + [V4_CELL_BITS=32 run-32-test_host_blocks.c] +v4 block request tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + 46 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_codegen.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_codegen.c + [V4_CELL_BITS=32 run-32-test_host_codegen.c] +v4 host code generator tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + code: 1584 words + 856 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_compile.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_compile.c + [V4_CELL_BITS=32 run-32-test_host_compile.c] +v4 host compiler tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + capsule: 4245 words + a line may have 27 values on the stack while the interpreter reads its next word + a word run from the interpreter has 29 return entries to itself + defining and running a word leaves 25 data cells under it untouched + 1088 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_depth.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_depth.c + [V4_CELL_BITS=32 run-32-test_host_depth.c] +v4 mesh depth tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + a text that prints 20..32 values: works to 28, then a stack error and nothing else; calls: works to 23 deep; 19 worked, 14 clean errors, 0 failures + SEND 20..32 values: works to 26, then a stack error and nothing else; calls: works to 26 deep; 20 worked, 13 clean errors, 0 failures + SEND with no way 20..32 values: works to 26, then a stack error and nothing else; calls: works to 27 deep; 21 worked, 12 clean errors, 0 failures + AWAIT answered 20..32 values: works to 26, then a stack error and nothing else; calls: works to 24 deep; 18 worked, 15 clean errors, 0 failures + AWAIT ended by a GONE 20..32 values: works to 26, then a stack error and nothing else; calls: works to 24 deep; 18 worked, 15 clean errors, 0 failures + passing on while its text waits for room 20..32 values: works to 26, then a stack error and nothing else; calls: works to 17 deep; 11 worked, 22 clean errors, 0 failures + AWAIT broken by a line from the console 20..32 values: works to 26, then a stack error and nothing else; calls: works to 24 deep; 18 worked, 15 clean errors, 0 failures + a refusal while its text waits for room 20..32 values: works to 26, then a stack error and nothing else; calls: works to 17 deep; 11 worked, 22 clean errors, 0 failures + GONE 20..32 values: works to 27, then a stack error and nothing else; calls: works to 26 deep; 21 worked, 12 clean errors, 0 failures + a spent message refused while its text waits 20..32 values: works to 26, then a stack error and nothing else; calls: works to 17 deep; 11 worked, 22 clean errors, 0 failures + 330 runs: 168 worked, 162 ended in a stack error and nothing else, 0 did neither + 397 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_dict.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_dict.c + [V4_CELL_BITS=32 run-32-test_host_dict.c] +v4 host dictionary tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + code: 1486 words + 300 entries in 1918 cells + FIND headroom: data 28 below canary, return 28 below its return address + (') headroom: data 28 below canary, return 28 below its return address + MAKE headroom: data 28 below canary, return 28 below its return address + , headroom: data 28 below canary, return 31 below its return address + ALLOT headroom: data 28 below canary, return 30 below its return address + 708 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_input.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_input.c + [V4_CELL_BITS=32 run-32-test_host_input.c] +v4 host input tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + code: 1078 words + WORD headroom: data 28 below canary, return 29 below its return address + NUMBER headroom: data 24 below canary, return 25 below its return address + EXPECT headroom: data 28 below canary, return 30 below its return address + ENCLOSE headroom: data 25 below canary, return 28 below its return address + 6569 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_mesh.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_mesh.c + [V4_CELL_BITS=32 run-32-test_host_mesh.c] +v4 mesh tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + the flood: 266 sends tried: 2 refused at once, 120 let go on the way, 144 done; 1 of the two texts that set a node sending let go; (LOST) 121, (REFUSED) 123 + between texts the nucleus used at most 3 cells of the data stack and 4 entries of the return stack + a node removed or a wire cut: 19950 times in all + 244 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_node.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_node.c + [V4_CELL_BITS=32 run-32-test_host_node.c] +v4 host node tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + 45 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_quit.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_quit.c + [V4_CELL_BITS=32 run-32-test_host_quit.c] +v4 host prompt tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + capsule: 6876 words + from the prompt, words may call each other 31 deep + 28 values may wait on the stack while the next line is typed and interpreted + defining and running a word from the prompt leaves 25 data cells under it untouched + .S prints a stack of up to 26 values; it needs 6 cells free + WORDS: 314 names, longest line 75 columns + 1330 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_asm.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_asm.c + [V4_CELL_BITS=32 run-32-test_host_rom_asm.c] +test_host_rom_asm: 466 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_in.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_in.c + [V4_CELL_BITS=32 run-32-test_host_rom_in.c] +test_host_rom_in: 26 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_math.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_math.c + [V4_CELL_BITS=32 run-32-test_host_rom_math.c] +v4 ROM math tests: V4_CELL_BITS=32 + the host ROM: 2372 words; the mesh ROM: 277 words + 156 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_nucleus.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_nucleus.c + [V4_CELL_BITS=32 run-32-test_host_rom_nucleus.c] + the ROM assembled the system: 59135636 instructions, 15451336 instruction words, 0.78 s (32-bit cells) +test_host_rom_nucleus: 6 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_num.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_num.c + [V4_CELL_BITS=32 run-32-test_host_rom_num.c] +test_host_rom_num: 31 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_pack.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_pack.c + [V4_CELL_BITS=32 run-32-test_host_rom_pack.c] +test_host_rom_pack: 7 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_range.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_range.c + [V4_CELL_BITS=32 run-32-test_host_rom_range.c] +test_host_rom_range: 19 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_sym.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_sym.c + [V4_CELL_BITS=32 run-32-test_host_rom_sym.c] +test_host_rom_sym: 81 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_unit.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_unit.c + [V4_CELL_BITS=32 run-32-test_host_unit.c] +v4 unit tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + not run at this width: the capsules are the 64-bit products' + [V4_CELL_BITS=32 run-32-test_iword.c] +v4 iword tests: V4_CELL_BITS=32 + 1763 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_loops.c] +v4 loop tests: V4_CELL_BITS=32 + code: 298 of 1024 words + loops run against C: 3008 (1696 more would run past 63 times and were left out) + DO .. LOOP headroom: data 5 below canary, return 6 below its return address + DO .. +LOOP headroom: data 5 below canary, return 6 below its return address + ?DO .. LOOP headroom: data 5 below canary, return 6 below its return address + DO .. LEAVE .. LOOP headroom: data 5 below canary, return 6 below its return address + nested DO, I and J headroom: data 5 below canary, return 4 below its return address + 3104 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_manage.c] +v4 manage tests: V4_CELL_BITS=32 + 52 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_node.c] +v4 node tests: V4_CELL_BITS=32, 1024 words + node: 1024 words + 52 head + 52 tail boundary (10.2% overhead) + 1068 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_numout.c] +v4 number-output tests: V4_CELL_BITS=32 + code: 382 of 1024 words + SPACES headroom: data 6 below canary, return 7 below its return address + . headroom: data 3 below canary, return 2 below its return address + .R headroom: data 3 below canary, return 2 below its return address + U. headroom: data 3 below canary, return 3 below its return address + U.R headroom: data 3 below canary, return 3 below its return address + D. headroom: data 3 below canary, return 2 below its return address + D.R headroom: data 3 below canary, return 2 below its return address + 25242 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_pictured.c] +v4 pictured-output tests: V4_CELL_BITS=32 + <# #S #> headroom: data 3 below canary, return 3 below its return address + signed picture headroom: data 3 below canary, return 2 below its return address + 4716 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_port.c] +v4 port tests: V4_CELL_BITS=32 + 25 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_printing.c] +v4 printing tests (? Q.PRINT DUMP BASE HLD): V4_CELL_BITS=32 + code: 506 of 1024 words + DECIMAL headroom: data 7 below canary, return 8 below its return address + ? headroom: data 3 below canary, return 2 below its return address + Q.PRINT headroom: data 3 below canary, return 3 below its return address + DUMP headroom: data 3 below canary, return 4 below its return address + 13439 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_stack.c] +v4 stack tests: V4_CELL_BITS=32, data depth 10, return depth 9 + exhaustive: 2046 sequences of length <= 10 + differential: 200000 ops + 730137 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_strings.c] +v4 string tests: V4_CELL_BITS=32 + code: 234 of 1024 words + COUNT headroom: data 6 below canary, return 6 below its return address + CMOVE headroom: data 4 below canary, return 5 below its return address + CMOVE> headroom: data 3 below canary, return 5 below its return address + MOVE headroom: data 5 below canary, return 6 below its return address + FILL headroom: data 4 below canary, return 5 below its return address + BLANK headroom: data 4 below canary, return 5 below its return address + -TRAILING headroom: data 5 below canary, return 6 below its return address + COMPARE headroom: data 3 below canary, return 5 below its return address + SEARCH headroom: data 2 below canary, return 5 below its return address + SCAN headroom: data 4 below canary, return 5 below its return address + SKIP headroom: data 4 below canary, return 5 below its return address + 16729 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_terminal.c] +v4 terminal-output tests: V4_CELL_BITS=32 + KEY headroom: data 8 below canary + EMIT headroom: data 7 below canary, return 8 below its return address + CR headroom: data 7 below canary, return 8 below its return address + TYPE headroom: data 5 below canary, return 6 below its return address + 1212 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_text.c] +v4 text assembler tests: V4_CELL_BITS=32 + 231 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_umul.c] +v4 umul tests: V4_CELL_BITS=32 + 2009 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_wire.c] +v4 wire tests: V4_CELL_BITS=32, 1024 cells to a queue + 112 checks, 0 failures -- 2.54.0 From 4e935e4825ac66c75505686da0dab7f407bc4fb0 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 11:54:53 +0000 Subject: [PATCH 28/57] test(stick): Artemis grows to fill the stick -- the tests, seen to fail (#92, Task 2) [skip ci] Plan 2026-10-29-stick-5, Task 2, steps 1-2: - qemu_session.py: --stick-gib N (the session's copy of the stick extended, sparse); modes stick_grow (16 GiB: grown, over 12000000 user blocks, the prompt, the first boot's time; the second boot of the same copy not grown again; sfdisk --verify clean) and stick_small (4 GiB: under 8 GB, not grown, said so). - kernel/Makefile: STICK_GIB and STICK_FRESH on qemu-stick, for those. - check_images.sh: the PC stick's and data stick's Artemis BAM sized for the 256 GiB cap (6144 devblocks). Before the change: stick_grow FAIL (no growth line, 1137649 user blocks, sfdisk: the backup GPT not at the end); stick_small FAIL (no line); check_images.sh FAIL on the two BAM checks only. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-113956.csv | 0 .../runs/doe-amd64-20261108-114628.csv | 0 .../runs/doe-amd64-20261108-114806.csv | 0 kernel/Makefile | 13 +- .../amd64/qemu-amd64-20261108-113956.log | 164 ++++++++++++++++++ .../amd64/qemu-amd64-20261108-114628.log | 163 +++++++++++++++++ .../amd64/qemu-amd64-20261108-114806.log | 164 ++++++++++++++++++ scripts/check_images.sh | 7 + scripts/qemu_session.py | 59 ++++++- 9 files changed, 566 insertions(+), 4 deletions(-) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-113956.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-114628.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-114806.csv create mode 100644 logs/20261108-113956/amd64/qemu-amd64-20261108-113956.log create mode 100644 logs/20261108-114628/amd64/qemu-amd64-20261108-114628.log create mode 100644 logs/20261108-114806/amd64/qemu-amd64-20261108-114806.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-113956.csv b/experiments/bare_metal/runs/doe-amd64-20261108-113956.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-114628.csv b/experiments/bare_metal/runs/doe-amd64-20261108-114628.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-114806.csv b/experiments/bare_metal/runs/doe-amd64-20261108-114806.csv new file mode 100644 index 00000000..e69de29b diff --git a/kernel/Makefile b/kernel/Makefile index 71d9bb12..98c73223 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -1314,6 +1314,12 @@ else ifeq ($(ARCH),riscv64) STICK_PC_IMG := build/boards/pc/lithos-pc.img STICK_MACHINE ?= q35 STICK_MEM ?= 1024 +# STICK_GIB=N -- the copy booted is extended, sparse, to N GiB: a stick larger than the image +# written to it (docs/v4.0.0/STICK.md 5a). STICK_FRESH=0 -- boot the copy the last boot left, +# not a fresh one: a stick's second boot (plan 2026-10-29-stick-5, Task 2). +STICK_GIB ?= +STICK_FRESH ?= 1 +STICK_RUN_IMG = $(BUILD_DIR)/stick-run.img .PHONY: qemu-stick qemu-stick-high qemu-stick-high: @$(MAKE) -f kernel/Makefile ARCH=$(ARCH) STICK_MACHINE=pc STICK_MEM=3G qemu-stick @@ -1322,7 +1328,10 @@ ifneq ($(ARCH),amd64) @echo "qemu-stick: the stick is the PC's -- ARCH=amd64 (ARM and RISC-V sticks are later, STICK.md 10)"; exit 1 else @$(MAKE) -f kernel/Makefile ARCH=amd64 BOARD=pc boot_image - @cp --sparse=always $(STICK_PC_IMG) $(BUILD_DIR)/stick-run.img + @if [ "$(STICK_FRESH)" = 1 ] || [ ! -f $(STICK_RUN_IMG) ]; then \ + cp --sparse=always $(STICK_PC_IMG) $(STICK_RUN_IMG); \ + $(if $(STICK_GIB),truncate -s $(STICK_GIB)G $(STICK_RUN_IMG);) \ + fi @if [ ! -f $(OVMF_CODE) ]; then echo "Error: $(OVMF_CODE) not found"; exit 1; fi @if [ ! -f $(OVMF_VARS_RO) ]; then echo "Error: $(OVMF_VARS_RO) not found"; exit 1; fi @cp $(OVMF_VARS_RO) $(BUILD_DIR)/OVMF_VARS-stick.fd @@ -1347,7 +1356,7 @@ else -drive if=pflash,format=raw,readonly=on,file=$(OVMF_CODE) \ -drive if=pflash,format=raw,file=$(BUILD_DIR)/OVMF_VARS-stick.fd \ $(XHCI_ARGS_ROOT) \ - -drive if=none,id=stickdrv,file=$(BUILD_DIR)/stick-run.img,format=raw \ + -drive if=none,id=stickdrv,file=$(STICK_RUN_IMG),format=raw \ -device usb-storage,bus=xhci0.0,port=1,drive=stickdrv,bootindex=0 \ -chardev socket,id=cserial,path=$$SERIAL_SOCK,server=on,wait=off,logfile=$$LOG \ -serial chardev:cserial \ diff --git a/logs/20261108-113956/amd64/qemu-amd64-20261108-113956.log b/logs/20261108-113956/amd64/qemu-amd64-20261108-113956.log new file mode 100644 index 00000000..864ac33d --- /dev/null +++ b/logs/20261108-113956/amd64/qemu-amd64-20261108-113956.log @@ -0,0 +1,164 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 11:39:50 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 965 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248627 + Free pages : 247100 + Used pages : 1527 + Total MB : 971 + Free MB : 965 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2096783777 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1004527536, tick_hz=100, initial_count=10045275 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10045275) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +[HADES][INFO ] [KRELTSC: 11039524176] blk: disk 'StarForth Volume' v2 LBN 3072..1140720 (1137649 user +Artemis: the stick's partition attached +[HADES][INFO ] [KRELTSC: 11055967512] blk: disk 'StarForth Volume' v2 LBN 1140721..1524262 (383542 us +[HADES][INFO ] [KRELTSC: 11080259828] MINT verify: identity reads back correctly +[Hera] Zuse: genesis minted onto attached thumbdrive +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-114628/amd64/qemu-amd64-20261108-114628.log b/logs/20261108-114628/amd64/qemu-amd64-20261108-114628.log new file mode 100644 index 00000000..8f579321 --- /dev/null +++ b/logs/20261108-114628/amd64/qemu-amd64-20261108-114628.log @@ -0,0 +1,163 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 11:39:50 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 965 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248627 + Free pages : 247100 + Used pages : 1527 + Total MB : 971 + Free MB : 965 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2100298892 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1009708644, tick_hz=100, initial_count=10097086 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10097086) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +[HADES][INFO ] [KRELTSC: 11167758802] blk: disk 'StarForth Volume' v2 LBN 3072..1140720 (1137649 user +Artemis: the stick's partition attached +[HADES][INFO ] [KRELTSC: 11192111492] blk: disk 'StarForth Volume' v2 LBN 1140721..1524262 (383542 us +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-114806/amd64/qemu-amd64-20261108-114806.log b/logs/20261108-114806/amd64/qemu-amd64-20261108-114806.log new file mode 100644 index 00000000..da9b25f4 --- /dev/null +++ b/logs/20261108-114806/amd64/qemu-amd64-20261108-114806.log @@ -0,0 +1,164 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 11:48:00 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 965 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248627 + Free pages : 247100 + Used pages : 1527 + Total MB : 971 + Free MB : 965 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2088414797 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1003877646, tick_hz=100, initial_count=10038776 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10038776) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +[HADES][INFO ] [KRELTSC: 11034915752] blk: disk 'StarForth Volume' v2 LBN 3072..1140720 (1137649 user +Artemis: the stick's partition attached +[HADES][INFO ] [KRELTSC: 11059137126] blk: disk 'StarForth Volume' v2 LBN 1140721..1524262 (383542 us +[HADES][INFO ] [KRELTSC: 11093785878] MINT verify: identity reads back correctly +[Hera] Zuse: genesis minted onto attached thumbdrive +[zuse@Hera] ok>  \ No newline at end of file diff --git a/scripts/check_images.sh b/scripts/check_images.sh index 284a2b8b..6f8a6f82 100755 --- a/scripts/check_images.sh +++ b/scripts/check_images.sh @@ -73,6 +73,11 @@ same() { # same IMG N FILE -- partition N holds FILE's bytes, and is exactly i cmp -s -i "$((s * 512)):0" -n "$((z * 512))" "$1" "$3" } +# bam IMG N -- the BAM of partition N's Artemis volume, in 4 KiB devblocks (mkartemis --check) +bam() { artemis_check "$1" "$2" 2>/dev/null | sed -n 's/.* bam \([0-9]*\) .*/\1/p'; } +# the BAM sized for the 256 GiB growth cap (plan 2026-10-29-stick-5, R1): choose_B of 2^26 devblocks +CAP_BAM=6144 + uuid() { artemis_check "$1" "$2" 2>/dev/null | sed -n 's/.*disk_uuid \([0-9a-f]*\).*/\1/p'; } echo "== building" @@ -95,6 +100,7 @@ check "the ESP holds startup.nsh" mdir -i "$STICK@@$OFF" ::/startup.nsh check "starforth.cfg's first word is system=v4" eq "$(mtype -i "$STICK@@$OFF" ::/starforth.cfg 2>/dev/null | awk '{print $1; exit}')" "system=v4" check "the identity partition is all zeros" zeros "$STICK" 2 check "Artemis: STFR v2, signature ok" artemis_check "$STICK" 3 +check "Artemis: its BAM sized for 256 GiB ($CAP_BAM devblocks)" eq "$(bam "$STICK" 3)" "$CAP_BAM" echo "== the data stick ($DATA)" check "it exists, 1536 MiB" eq "$(stat -c %s "$DATA" 2>/dev/null)" "$((1536 * 1048576))" @@ -105,6 +111,7 @@ check "whole MiB, contiguous, Artemis to the end" geometry "$DATA" check "sfdisk --verify: the GPT is clean" sfdisk --verify "$DATA" check "the identity partition is all zeros" zeros "$DATA" 1 check "Artemis: STFR v2, signature ok" artemis_check "$DATA" 2 +check "Artemis: its BAM sized for 256 GiB ($CAP_BAM devblocks)" eq "$(bam "$DATA" 2)" "$CAP_BAM" U1=$(uuid "$DATA" 2) check "the data stick builds again" make -f kernel/Makefile ARCH=amd64 datastick U2=$(uuid "$DATA" 2) diff --git a/scripts/qemu_session.py b/scripts/qemu_session.py index f11bdf0b..30e17700 100755 --- a/scripts/qemu_session.py +++ b/scripts/qemu_session.py @@ -53,6 +53,12 @@ the stick's, plan 2026-10-26-stick-1-screen-and-keyboard.md): identity confirmed, no genesis, the prompt (plan 2026-10-29-stick-5, Task 1) stick_genesis --target qemu-stick, the PC stick as built (no STICK_PAIR): its first boot mints the proxy Zuse and reaches [zuse@Hera] ok> with nothing set up (plug and play) + stick_grow --target qemu-stick --stick-gib 16: the first boot grows Artemis to fill the stick + (over 12000000 user blocks), mints, the prompt, its time POST -> prompt printed; the + second boot of the same copy is not grown again and recognises Zuse; sfdisk --verify + on the copy is clean (plan 2026-10-29-stick-5, Task 2) + stick_small --target qemu-stick --stick-gib 4: under 8 GB -- not grown, said so; Artemis at the + image's size; the prompt stick_artemis ARTDISK= (no virtio disk): Artemis and Zuse from the Zuse stick alone -- the stick's Artemis partition attached first (785938 user blocks), then its identity (48724); [zuse@Hera] ok> (plan 2026-10-27-stick-4-one-disk.md, Task 4) @@ -88,6 +94,7 @@ ap.add_argument("--label", default=None) ap.add_argument("--make", default="") ap.add_argument("--no-zuse", action="store_true") ap.add_argument("--target", default="qemu") # qemu-stick: boot the PC stick (amd64) +ap.add_argument("--stick-gib", type=int, default=None) # qemu-stick: the copy extended to N GiB a = ap.parse_args() NO_ZUSE_MODES = {"gpt_zuse", "gpt_hotplug", "gpt_foreign", "gpt_bad_crc", "gpt_bad_entries", "gpt_no_header", @@ -95,7 +102,7 @@ NO_ZUSE_MODES = {"gpt_zuse", "gpt_hotplug", "gpt_foreign", "gpt_bad_crc", "gpt_b "alttab_after_logout", "alttab_before_pull", "emergency_pull", "screen_dark_until_login", "screen_console_after_login", "screen_dark_after_logout", "kbd_typeahead", "stick_boot", "stick_v3", "stick_zuse", "screen_boot", "genesis", - "stick_genesis"} + "stick_genesis", "stick_grow", "stick_small"} label = a.label or f"{a.mode}-{a.arch}" work = os.path.join(ROOT, "build", "qemu-session", label) shutil.rmtree(work, ignore_errors=True) @@ -135,6 +142,10 @@ if a.mode == "screen_boot": make_args.append("KERNEL_ARGS=screen=boot") if a.mode == "stick_zuse": make_args.append(f"STICK_PAIR={work}") # the PC stick with this session's copy of the pair +if a.stick_gib: + make_args.append(f"STICK_GIB={a.stick_gib}") +if a.mode in ("stick_grow", "stick_small"): + make_args.append("KERNEL_ARGS=--log-level=info") # the blk: disk lines the sizes are read from if a.mode == "genesis": # a fresh data stick, made once into this session's directory and booted twice: the second # boot is the same copy, so it finds what the first wrote (plan 2026-10-29-stick-5, Task 1) @@ -464,6 +475,49 @@ elif m in ("genesis", "stick_genesis"): check("7 ok (second boot)", wait_for(PROMPT, 60, n) and re.search(r"7\s+ok", text()[-400:]) is not None) check("no fault (second boot)", count(r"EXCEPTION|PANIC|panic") == 0) +elif m in ("stick_grow", "stick_small"): + def artemis_blocks(): + u = re.findall(r"blk: disk .*?\((\d+) us", text()) + return int(u[0]) if u else None + t0 = time.time() + if m == "stick_grow": + check("Artemis: grown to fill the stick", wait_for(r"Artemis: grown to fill the stick", 300), + near=r"Artemis: |GPT: ") + else: + check("Artemis: the stick is under 8 GB -- not grown", + wait_for(r"Artemis: the stick is under 8 GB -- not grown", 300), near=r"Artemis: |GPT: ") + check("Zuse: genesis minted onto attached thumbdrive", + wait_for(r"Zuse: genesis minted onto attached thumbdrive", 300), near=r"Artemis: |Zuse: ") + check("[zuse@Hera] ok>", wait_for(PROMPT, 120)) + print(f"TIME: POST to the prompt, first boot: {time.time() - t0:.0f} s", flush=True) + b1 = artemis_blocks() + if m == "stick_grow": + check(f"Artemis over 12000000 user blocks ({b1})", b1 is not None and b1 > 12000000) + else: + check(f"Artemis at the image's size, 1000000..1200000 user blocks ({b1})", + b1 is not None and 1000000 < b1 < 1200000) + check("no fault", count(r"EXCEPTION|PANIC|panic") == 0) + if m == "stick_grow": + shutdown() + print("-- the second boot, the same copy of the stick", flush=True) + boot([x for x in make_args if x != "clean"] + ["STICK_FRESH=0"]) + check("POST: PASSED (second boot)", wait_for(r"POST: PASSED", 900)) + check("Zuse: identity confirmed (second boot)", + wait_for(r"Zuse: identity confirmed from attached thumbdrive", 300), near=r"Artemis: |Zuse: ") + check("[zuse@Hera] ok> (second boot)", wait_for(PROMPT, 120)) + check("not grown again", count(r"Artemis: grown") == 0) + b2 = artemis_blocks() + check(f"the same Artemis size ({b1} -> {b2})", b2 == b1) + check("no fault (second boot)", count(r"EXCEPTION|PANIC|panic") == 0) + shutdown() + sf = shutil.which("sfdisk") or "/usr/sbin/sfdisk" + run = os.path.join(ROOT, "build", a.arch, "kernel", "stick-run.img") + v = subprocess.run([sf, "--verify", run], capture_output=True, text=True) + print(v.stdout.strip() + v.stderr.strip(), flush=True) + check("sfdisk --verify on the grown copy: clean", + v.returncode == 0 and "No errors detected" in v.stdout + v.stderr) + boot_done = True + elif m == "stick_v3": t = text() check("Boot disk: a StarshipOS stick", re.search(r"Boot disk: a StarshipOS stick", t) is not None) @@ -708,7 +762,8 @@ else: check(f"known mode {m}", False) print(f"RESULT: {'PASS' if ok else 'FAIL'}", flush=True) -shutdown() +if not globals().get("boot_done"): + shutdown() for f in ("v3/include/version.h", "capsules/BLOCK_MAP.md"): subprocess.run(["git", "checkout", "-q", "--", f], cwd=ROOT) sys.exit(0 if ok else 2) -- 2.54.0 From 5bb247d678c97bac0ef692ca0992bee8ca5da713 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 12:03:46 +0000 Subject: [PATCH 29/57] wip(kernel): Artemis grows to fill the stick at its first boot -- metadata only, capped at 256 GiB (#92, Task 2) [skip ci] Not yet accepted (plan 2026-10-29-stick-5, Task 2, step 3). - gpt.c: the writer, gpt_grow_last() -- the backup entry array and header to the disk's end, the last partition to the last usable sector (whole MiB, capped), both headers' CRCs, the backup before the primary, the protective MBR's size; gpt_alternate_lba(). - sk_v4_grow.c: the volume grown to its partition -- its fence (the Artemis signature, Zuse's genesis marker) moved to the new top, the header last; the partition grown no further than the BAM tracks (the block subsystem places the fence by the device's size, so a volume must fill it). - sk_v4_identity.c: a stick of 8 GB or more whose GPT ends short of the disk is grown before its partitions are opened; "Artemis: grown to fill the stick" / "under 8 GB -- not grown" / "past 256 GiB ... left unused". - block_subsystem: blk_volume_compute_totals() (compute_totals_from_B, public) and blk_subsys_set_format_bam_for(); v3's behaviour unchanged. - mkartemis --bam-for, mkdiskimage.sh --bam-for, kernel/Makefile STICK_GROW_MIN_BYTES / STICK_ARTEMIS_CAP_GIB: the stick's and data stick's Artemis BAM sized for 256 GiB (6144 devblocks). STICK.md 5a: 256 GiB (R1). After: stick_grow PASS (16 GiB: 12129370 user blocks, 8 s POST to prompt; second boot not grown, recognised; sfdisk --verify: no errors), stick_small PASS, check_images.sh PASS. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- docs/v4.0.0/STICK.md | 12 +- .../runs/doe-amd64-20261108-115815.csv | 0 .../runs/doe-amd64-20261108-120001.csv | 0 .../runs/doe-amd64-20261108-120143.csv | 0 kernel/Makefile | 21 ++- kernel/include/starkernel/gpt.h | 16 ++ kernel/include/starkernel/v4/sk_v4_grow.h | 23 +++ kernel/src/gpt.c | 127 +++++++++++++- kernel/src/v4/sk_v4_grow.c | 94 ++++++++++ kernel/src/v4/sk_v4_identity.c | 57 ++++++ .../amd64/qemu-amd64-20261108-115815.log | 165 ++++++++++++++++++ .../amd64/qemu-amd64-20261108-120001.log | 163 +++++++++++++++++ .../amd64/qemu-amd64-20261108-120143.log | 165 ++++++++++++++++++ scripts/mkdiskimage.sh | 11 +- tools/mkartemis.c | 28 ++- v3/include/block_subsystem.h | 12 ++ v3/src/block_subsystem.c | 17 +- 17 files changed, 889 insertions(+), 22 deletions(-) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-115815.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-120001.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-120143.csv create mode 100644 kernel/include/starkernel/v4/sk_v4_grow.h create mode 100644 kernel/src/v4/sk_v4_grow.c create mode 100644 logs/20261108-115815/amd64/qemu-amd64-20261108-115815.log create mode 100644 logs/20261108-120001/amd64/qemu-amd64-20261108-120001.log create mode 100644 logs/20261108-120143/amd64/qemu-amd64-20261108-120143.log diff --git a/docs/v4.0.0/STICK.md b/docs/v4.0.0/STICK.md index 867924da..f3edfd16 100644 --- a/docs/v4.0.0/STICK.md +++ b/docs/v4.0.0/STICK.md @@ -122,9 +122,13 @@ gains the partitions below). Three partitions: - **The minimum stick: 8 GB.** Sticks on the shelf are 16–64 GB; 8 GB is the floor. - **The identity partition stays 500 MiB.** About half a million 1 KiB blocks for Zuse's keys and her own pool. - - **Artemis grows to fill the stick at its first boot (§5a),** up to **2 TiB** for the partition - (the block layer numbers 1 KiB blocks with 32 bits: 4 TiB is its hard limit; 2 TiB keeps a margin - and is past any thumb drive). Space past 2 TiB is left unused, and the boot says so. + - **Artemis grows to fill the stick at its first boot (§5a),** up to **256 GiB** for the partition + (**amended 2026-10-29**, Captain Bob: "256 GiB is ruled" -- plan + `plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md`, R1. This said 2 TiB: the block layer + numbers 1 KiB blocks with 32 bits, so 4 TiB is its hard limit, but the block subsystem keeps two + bytes of kernel heap per block and the heap is 2 GiB, so a 2 TiB Artemis could not attach; 256 GiB + takes about 384 MiB. The stick's Artemis is formatted with a BAM sized for 256 GiB, so growth + writes metadata only.) Space past 256 GiB is left unused, and the boot says so. - **A stick under 8 GB** is not grown: it runs at the 2 GiB it was written with, and the boot says so. - **The Artemis partition is formatted when the image is built (my call),** not on first boot: @@ -168,7 +172,7 @@ Before genesis, on a stick whose GPT ends where the 2 GiB image ended and whose first boot of a freshly written stick), the kernel grows Artemis: - It moves the backup GPT header and entry array to the disk's end, extends the Artemis partition's - last LBA to the end of the usable space (capped at 2 TiB of partition), and rewrites both headers + last LBA to the end of the usable space (capped at 256 GiB of partition, amended -- §4), and rewrites both headers with their CRCs (the GPT writer; `INSTALL` reuses it). - It grows Artemis's volume to the partition: its `STFR` header's size, its free map for the new blocks, and its metadata fence (with the genesis marker's slot) moved to the new top, as the block diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-115815.csv b/experiments/bare_metal/runs/doe-amd64-20261108-115815.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-120001.csv b/experiments/bare_metal/runs/doe-amd64-20261108-120001.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-120143.csv b/experiments/bare_metal/runs/doe-amd64-20261108-120143.csv new file mode 100644 index 00000000..e69de29b diff --git a/kernel/Makefile b/kernel/Makefile index 98c73223..6a6c0c0a 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -270,6 +270,14 @@ STICK_IMAGE_MIB := 2048 STICK_ESP_MIB := 64 STICK_IDENT_MIB := 500 DATASTICK_MIB := 1536 +# Growth (STICK.md 5a; plan 2026-10-29-stick-5, R1: "256 GiB is ruled"): a stick of at least +# STICK_GROW_MIN_BYTES grows its Artemis partition to fill it, at most STICK_ARTEMIS_CAP_GIB; the +# stick's and data stick's Artemis are formatted with a BAM sized for that cap, so growth writes +# metadata only. The kernel is built with both (-D, below). +STICK_GROW_MIN_BYTES := 8000000000 +STICK_ARTEMIS_CAP_GIB := 256 +STICK_ARTEMIS_CAP_SECTORS := 536870912 +# (256 GiB in 512-byte sectors: keep the two in step) DATASTICK_IMG = $(BUILD_DIR)/datastick.img # STICK_PAIR -- a minted pair (e.g. disk/zuse-scratch) whose identity and Artemis images become # the PC stick's partitions, byte for byte, instead of a blank identity and a fresh Artemis. @@ -706,7 +714,8 @@ endif V4_DEFAULT ?= 1 ifeq ($(STARFORTH_V4),1) V4_DEFS := -DSTARFORTH_V4=1 -DSK_V4_DEFAULT=$(V4_DEFAULT) -Iv4/include \ - -DV4_CELL_BITS=64 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 + -DV4_CELL_BITS=64 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 \ + -DSTICK_GROW_MIN_BYTES=$(STICK_GROW_MIN_BYTES)ULL -DSTICK_ARTEMIS_CAP_GIB=$(STICK_ARTEMIS_CAP_GIB)ULL KERNEL_CFLAGS += $(V4_DEFS) LOADER_CFLAGS += $(V4_DEFS) @@ -714,8 +723,8 @@ V4_ENGINE_SRCS := $(addprefix v4/src/,node.c exec.c stack.c iword.c heat.c guard V4_ROM_C := $(BUILD_DIR)/v4_rom_64.c V4_MAP_C := $(BUILD_DIR)/v4_map_64.c -LOADER_EXTRA_SRCS += $(KERNEL_SRC)/v4/sk_v4.c $(KERNEL_SRC)/v4/sk_v4_identity.c $(KERNEL_SRC)/v4/sk_v4_marker.c -KERNEL_EXTRA_SRCS += $(KERNEL_SRC)/v4/sk_v4.c $(KERNEL_SRC)/v4/sk_v4_identity.c $(KERNEL_SRC)/v4/sk_v4_marker.c +LOADER_EXTRA_SRCS += $(KERNEL_SRC)/v4/sk_v4.c $(KERNEL_SRC)/v4/sk_v4_identity.c $(KERNEL_SRC)/v4/sk_v4_marker.c $(KERNEL_SRC)/v4/sk_v4_grow.c +KERNEL_EXTRA_SRCS += $(KERNEL_SRC)/v4/sk_v4.c $(KERNEL_SRC)/v4/sk_v4_identity.c $(KERNEL_SRC)/v4/sk_v4_marker.c $(KERNEL_SRC)/v4/sk_v4_grow.c # v4/system/boot.c is the boot the hosted v4 system runs too: the ROM # assembles the system, then the capsules from this kernel's own capsule # directory, then the prompt. @@ -816,7 +825,8 @@ $(MKARTEMIS_BIN): $(MKARTEMIS_SRC) $(wildcard v3/include/*.h) kernel/include/sta .PHONY: datastick datastick: $(MKARTEMIS_BIN) @bash scripts/mkdiskimage.sh --out $(DATASTICK_IMG) --table gpt --size-mib $(DATASTICK_MIB) \ - --label DATASTICK --starship $(STICK_IDENT_MIB) --mkartemis $(MKARTEMIS_BIN) --esp-mib 0 + --label DATASTICK --starship $(STICK_IDENT_MIB) --mkartemis $(MKARTEMIS_BIN) --esp-mib 0 \ + --bam-for $(STICK_ARTEMIS_CAP_SECTORS) # zusestick -- Zuse's minted pair as a stick, fresh every time it is made (the ZUSEDISK default). .PHONY: zusestick @@ -1493,7 +1503,8 @@ boot_image: all $(if $(BOARD_STICK),$(MKARTEMIS_BIN)) @bash scripts/mkdiskimage.sh --out $(BOARD_OUT)/$(BOARD_IMAGE) --table gpt \ $(if $(BOARD_STICK),$(if $(STICK_PAIR),--esp-mib $(STICK_ESP_MIB) --starship-from \ $(STICK_PAIR)/zuse-thumb-ident.img $(STICK_PAIR)/artemis.img,--size-mib $(STICK_IMAGE_MIB) \ - --starship $(STICK_IDENT_MIB) --mkartemis $(MKARTEMIS_BIN) --esp-mib $(STICK_ESP_MIB)), \ + --starship $(STICK_IDENT_MIB) --mkartemis $(MKARTEMIS_BIN) --esp-mib $(STICK_ESP_MIB) \ + --bam-for $(STICK_ARTEMIS_CAP_SECTORS)), \ --size-mib $(BOOT_IMAGE_SIZE_MIB)) \ --label LITHOS \ $(LOADER_EFI):/EFI/BOOT/$(EFI_BOOTNAME) \ diff --git a/kernel/include/starkernel/gpt.h b/kernel/include/starkernel/gpt.h index cad5da82..05b413ed 100644 --- a/kernel/include/starkernel/gpt.h +++ b/kernel/include/starkernel/gpt.h @@ -33,6 +33,22 @@ int gpt_read(blkio_dev_t *disk, gpt_part_t *parts, unsigned max, unsigned *count * returned GPT_OK: which disk it was, so a stick can be told from another. */ void gpt_disk_guid(uint8_t guid[16]); +/* The backup header's LBA (header bytes 32..39) of the last gpt_read that + * returned GPT_OK: a disk whose backup header is not its last sector is larger + * than the table written to it. */ +uint64_t gpt_alternate_lba(void); + +/* Grow the partition of `type` -- which must be the disk's last -- to the end + * of `disk` (plan 2026-10-29-stick-5, Task 2): the backup entry array and + * header moved to the disk's last sectors, the partition's last LBA to the + * last usable sector before them (on a whole MiB, at most `max_part_sectors` + * long), both headers rewritten with their CRCs -- the backup first, so a + * write torn between them leaves the old primary valid -- and the protective + * MBR's size. GPT_OK with `*new_last_lba` the partition's last LBA (unchanged, + * and nothing written, when the backup header is already the disk's last + * sector); GPT_BAD or GPT_EIO otherwise. */ +int gpt_grow_last(blkio_dev_t *disk, const uint8_t type[16], uint64_t max_part_sectors, uint64_t *new_last_lba); + /* The index of the first partition of `type`, or -1. */ int gpt_find(const gpt_part_t *parts, unsigned count, const uint8_t type[16]); diff --git a/kernel/include/starkernel/v4/sk_v4_grow.h b/kernel/include/starkernel/v4/sk_v4_grow.h new file mode 100644 index 00000000..365ff63c --- /dev/null +++ b/kernel/include/starkernel/v4/sk_v4_grow.h @@ -0,0 +1,23 @@ +/* sk_v4_grow.h -- Artemis grows to fill the stick at its first boot + * (docs/v4.0.0/STICK.md 5a; plan 2026-10-29-stick-5, Task 2). + * + * Built only with STARFORTH_V4=1 (Kconfig.kernel). + */ +#ifndef STARKERNEL_V4_SK_V4_GROW_H +#define STARKERNEL_V4_SK_V4_GROW_H + +#include +#include "blkio.h" + +/* How far the Artemis partition `art` may grow, in 512-byte sectors: no + * further than `cap_sectors`, nor than its volume's BAM can track. 0 when + * `art` holds no STFR v2 volume. Reads only. */ +uint64_t sk_v4_grow_cap_sectors(blkio_dev_t *art, uint64_t cap_sectors); + +/* Grow the volume on `art` to fill its partition: its fence (the Artemis + * signature, Zuse's genesis marker) moved to the new top, then its header. + * Metadata only. 1 when grown, 0 when it already fills the partition, -1 on + * an error -- the old header then still names the old volume, whole. */ +int sk_v4_grow_artemis(blkio_dev_t *art); + +#endif /* STARKERNEL_V4_SK_V4_GROW_H */ diff --git a/kernel/src/gpt.c b/kernel/src/gpt.c index 2f4df899..88700e5c 100644 --- a/kernel/src/gpt.c +++ b/kernel/src/gpt.c @@ -7,8 +7,13 @@ * a block device of a StarshipOS partition: its block 0 is the partition's * first 1 KiB, and nothing past its end can be reached through it. The * identity and Artemis formats inside a partition are exactly those of a raw - * drive today. Reads only. 512-byte logical sectors only (the stick and its - * data stick); docs/v4.0.0/plans/2026-10-26-stick-2-gpt-reader.md. + * drive today. 512-byte logical sectors only (the stick and its data stick); + * docs/v4.0.0/plans/2026-10-26-stick-2-gpt-reader.md. + * + * The writer (plan 2026-10-29-stick-5, Task 2; STICK.md 5a): the stick's last + * partition grown to the end of a disk larger than the image written to it -- + * the backup header and entry array moved to the disk's end, both headers + * rewritten with their CRCs, the backup before the primary. */ #include "starkernel/gpt.h" #include "console.h" @@ -51,6 +56,7 @@ static uint64_t le64(const uint8_t *p) { return (uint64_t)le32(p) | (uint64_t)le static uint8_t g_gpt_hdr_block[BLKIO_FORTH_BLOCK_SIZE]; static uint8_t g_gpt_entries[GPT_ENTRIES_MAX]; static uint8_t g_gpt_disk_guid[16]; /* the DiskGUID of the last gpt_read that gave GPT_OK */ +static uint64_t g_gpt_alternate_lba; /* and its backup header's LBA */ int gpt_read(blkio_dev_t *disk, gpt_part_t *parts, unsigned max, unsigned *count) { @@ -125,6 +131,7 @@ int gpt_read(blkio_dev_t *disk, gpt_part_t *parts, unsigned max, unsigned *count } *count = n; memcpy(g_gpt_disk_guid, h + 56, 16); + g_gpt_alternate_lba = le64(h + 32); return GPT_OK; } @@ -140,6 +147,122 @@ int gpt_find(const gpt_part_t *parts, unsigned count, const uint8_t type[16]) return -1; } +/* ---- the writer: growing the last partition to the disk's end ---------- */ + +static void put_le32(uint8_t *p, uint32_t v) { p[0] = (uint8_t)v; p[1] = (uint8_t)(v >> 8); p[2] = (uint8_t)(v >> 16); p[3] = (uint8_t)(v >> 24); } +static void put_le64(uint8_t *p, uint64_t v) { put_le32(p, (uint32_t)v); put_le32(p + 4, (uint32_t)(v >> 32)); } + +static uint8_t g_gpt_rmw[BLKIO_FORTH_BLOCK_SIZE]; + +/* Write `n` 512-byte sectors from `src` at sector `lba`: each through a + * read-modify-write of the 1 KiB block that holds it, so a sector at an odd + * LBA (the backup header, the backup entry array) is written alone. */ +static int put_sectors(blkio_dev_t *disk, uint64_t lba, const uint8_t *src, uint32_t n) +{ + uint32_t i; + for (i = 0; i < n; i++) { + uint64_t s = lba + i; + uint32_t blk = (uint32_t)(s / 2u); + if (blkio_read(disk, blk, g_gpt_rmw) != BLKIO_OK) return -1; + memcpy(g_gpt_rmw + (s % 2u) * GPT_SECTOR, src + (size_t)i * GPT_SECTOR, GPT_SECTOR); + if (blkio_write(disk, blk, g_gpt_rmw) != BLKIO_OK) return -1; + } + return 0; +} + +uint64_t gpt_alternate_lba(void) +{ + return g_gpt_alternate_lba; +} + +int gpt_grow_last(blkio_dev_t *disk, const uint8_t type[16], uint64_t max_part_sectors, uint64_t *new_last_lba) +{ + static gpt_part_t parts[16]; + static uint8_t hdr[GPT_SECTOR], bak[GPT_SECTOR]; + const uint8_t *h = g_gpt_hdr_block + GPT_SECTOR; + uint8_t *mbr = g_gpt_hdr_block, *e = (uint8_t *)0; + uint64_t disk_sectors, alt, ent_lba, new_alt, new_ent, new_last_usable, first, last, want, top = 0; + uint32_t nent, esize, ent_sectors, i; + unsigned count; + size_t ebytes; + int rc; + + rc = gpt_read(disk, parts, 16u, &count); + if (rc != GPT_OK) return rc == GPT_NONE ? GPT_BAD : rc; + nent = le32(h + 80); + esize = le32(h + 84); + ebytes = (size_t)nent * esize; + ent_sectors = (uint32_t)((ebytes + GPT_SECTOR - 1u) / GPT_SECTOR); + ent_lba = le64(h + 72); + alt = le64(h + 32); + disk_sectors = (uint64_t)disk->total_blocks * (BLKIO_FORTH_BLOCK_SIZE / GPT_SECTOR); + + /* the partition of `type`, which must be the last on the disk */ + for (i = 0; i < nent; i++) { + uint8_t *x = g_gpt_entries + (size_t)i * esize; + static const uint8_t zero[16]; + if (memcmp(x, zero, 16) == 0) continue; + if (le64(x + 40) > top) top = le64(x + 40); + if (!e && memcmp(x, type, 16) == 0) e = x; + } + if (!e) return GPT_BAD; + first = le64(e + 32); + last = le64(e + 40); + *new_last_lba = last; + if (alt == disk_sectors - 1u) return GPT_OK; /* already ends at the disk's end */ + if (alt > disk_sectors - 1u || last != top) return GPT_BAD; + + /* the backup entry array and header at the disk's end; the partition to + * the last usable sector before them, on whole MiB, at most max sectors */ + new_alt = disk_sectors - 1u; + new_ent = new_alt - ent_sectors; + new_last_usable = new_ent - 1u; + if (new_last_usable < last) return GPT_BAD; + want = new_last_usable - first + 1u; + if (want > max_part_sectors) want = max_part_sectors; + want -= want % 2048u; + if (first + want - 1u > last) { + last = first + want - 1u; + put_le64(e + 40, last); + } + + /* the primary header, then the backup: each with its own LBAs and CRC */ + memcpy(hdr, h, GPT_SECTOR); + put_le64(hdr + 32, new_alt); + put_le64(hdr + 48, new_last_usable); + put_le32(hdr + 88, gpt_crc32(g_gpt_entries, ebytes)); + memcpy(bak, hdr, GPT_SECTOR); + put_le64(bak + 24, new_alt); + put_le64(bak + 32, 1u); + put_le64(bak + 72, new_ent); + put_le32(hdr + 16, 0u); + put_le32(hdr + 16, gpt_crc32(hdr, le32(hdr + 12))); + put_le32(bak + 16, 0u); + put_le32(bak + 16, gpt_crc32(bak, le32(bak + 12))); + + /* the backup before the primary: a write torn between them leaves the old + * primary, which still checks out, and the next boot grows again */ + if (put_sectors(disk, new_ent, g_gpt_entries, ent_sectors) != 0 || + put_sectors(disk, new_alt, bak, 1u) != 0 || disk->vt->flush(disk) != BLKIO_OK) + return GPT_EIO; + if (put_sectors(disk, ent_lba, g_gpt_entries, ent_sectors) != 0 || + put_sectors(disk, 1u, hdr, 1u) != 0 || disk->vt->flush(disk) != BLKIO_OK) + return GPT_EIO; + + /* the protective MBR's partition covers the disk (as many sectors as fit) */ + for (i = 0; i < 4u; i++) { + uint8_t *p = mbr + 446u + 16u * i; + if (p[4] == 0xEEu) { + put_le32(p + 12, disk_sectors - 1u > 0xFFFFFFFFu ? 0xFFFFFFFFu : (uint32_t)(disk_sectors - 1u)); + break; + } + } + if (put_sectors(disk, 0u, mbr, 1u) != 0 || disk->vt->flush(disk) != BLKIO_OK) return GPT_EIO; + + *new_last_lba = last; + return GPT_OK; +} + /* ---- a partition as a blkio device ------------------------------------- */ static int part_open(blkio_dev_t *dev, const blkio_params_t *p) diff --git a/kernel/src/v4/sk_v4_grow.c b/kernel/src/v4/sk_v4_grow.c new file mode 100644 index 00000000..4f25ec4a --- /dev/null +++ b/kernel/src/v4/sk_v4_grow.c @@ -0,0 +1,94 @@ +/* sk_v4_grow.c -- Artemis grows to fill the stick at its first boot + * (docs/v4.0.0/STICK.md 5a; plan 2026-10-29-stick-5, Task 2). + * + * Metadata only: the volume's header, and its fence -- the top-of-volume + * system metadata, which holds the Artemis signature and Zuse's genesis + * marker (artemis_sig.c, blk_meta_zone_read/write) -- moved to the new top. + * The volume's data blocks are never written, and its BAM is not resized: the + * image is built with a BAM sized for the cap (mkartemis --bam-for), so the + * new blocks are tracked already and read as free. + * + * The block subsystem places a volume's fence by its device's size, not by + * its header (blk_format_or_load_disk), so a volume always fills its + * partition: the partition is grown no further than the BAM can track + * (sk_v4_grow_cap_sectors), then the volume to the partition. + */ +#include "starkernel/v4/sk_v4_grow.h" +#include "block_subsystem.h" +#include + +static union { + uint8_t bytes[4096]; + blk_volume_meta_t meta; +} g_hdr; +static uint8_t g_move[4096]; + +static int dev_rw4k(blkio_dev_t *dev, uint64_t devblock, uint8_t *buf, int write) +{ + uint32_t base = (uint32_t)devblock * 4u, k; + for (k = 0; k < 4u; k++) { + int rc = write ? blkio_write(dev, base + k, buf + k * 1024u) + : blkio_read(dev, base + k, buf + k * 1024u); + if (rc != BLKIO_OK) return -1; + } + return 0; +} + +static int read_header(blkio_dev_t *art) +{ + if (dev_rw4k(art, 0u, g_hdr.bytes, 0) != 0) return -1; + if (g_hdr.meta.magic != 0x53544652u || g_hdr.meta.version != 2u || + g_hdr.meta.bam_devblocks == 0u || g_hdr.meta.meta_fence_blocks == 0u) + return -1; + return 0; +} + +/* The most devblocks a volume with this header's BAM can be: no more Forth + * blocks in its payload than the BAM tracks (compute_totals_from_B). */ +static uint64_t bam_cover_devblocks(const blk_volume_meta_t *m) +{ + uint64_t tracked = 32768ULL * m->bam_devblocks; + return tracked / 3u + 1u + m->bam_devblocks + m->reloc_devblocks + m->meta_fence_blocks; +} + +uint64_t sk_v4_grow_cap_sectors(blkio_dev_t *art, uint64_t cap_sectors) +{ + uint64_t cover; + if (read_header(art) != 0) return 0; + cover = bam_cover_devblocks(&g_hdr.meta) * 8u; /* 4 KiB devblocks, in 512-byte sectors */ + return cover < cap_sectors ? cover : cap_sectors; +} + +int sk_v4_grow_artemis(blkio_dev_t *art) +{ + blkio_info_t info; + uint64_t old_t, new_t, f, k, old_total; + + if (read_header(art) != 0) return -1; + if (blkio_info(art, &info) != BLKIO_OK) return -1; + old_t = g_hdr.meta.total_devblocks; + new_t = info.total_blocks / 4u; + if (new_t <= old_t) return 0; /* not grown: it fills its partition */ + if (new_t > bam_cover_devblocks(&g_hdr.meta)) return -1; + f = g_hdr.meta.meta_fence_blocks; + /* the old and new fences never overlap (a partition grows by whole MiB, + * 256 devblocks, past a 128-devblock fence), so a copy torn by a power + * loss is simply done again from the old top at the next boot */ + if (f >= old_t || new_t - old_t < f) return -1; + + /* the fence to the new top, devblock by devblock */ + for (k = 0; k < f; k++) { + if (dev_rw4k(art, old_t - 1u - k, g_move, 0) != 0) return -1; + if (dev_rw4k(art, new_t - 1u - k, g_move, 1) != 0) return -1; + } + if (blkio_flush(art) != BLKIO_OK) return -1; + + /* the header last: until it is written, the old header names the old top */ + old_total = g_hdr.meta.total_blocks; + g_hdr.meta.total_devblocks = new_t; + blk_volume_compute_totals(&g_hdr.meta); + g_hdr.meta.free_blocks += g_hdr.meta.total_blocks - old_total; + if (dev_rw4k(art, 0u, g_hdr.bytes, 1) != 0) return -1; + if (blkio_flush(art) != BLKIO_OK) return -1; + return 1; +} diff --git a/kernel/src/v4/sk_v4_identity.c b/kernel/src/v4/sk_v4_identity.c index e6a0e721..b1d266a3 100644 --- a/kernel/src/v4/sk_v4_identity.c +++ b/kernel/src/v4/sk_v4_identity.c @@ -22,6 +22,12 @@ * Zuse exists -- reads her back, then writes the version 2 marker * (sk_v4_marker.c) naming her. * + * Growth (plan 2026-10-29-stick-5, Task 2; STICK.md 5a): a stick of at least + * 8 GB whose GPT ends short of the disk -- a stick larger than the image + * written to it -- has its Artemis partition grown to fill it (capped at + * 256 GiB, and at what its BAM tracks: sk_v4_grow.c), then Artemis's volume + * grown to the partition, before anything on it is read. Metadata only. + * * Not here (the plan's "not in this gate"): WIREBIND identities, EJECT, * ACL-ZUSE-BOOT. */ @@ -39,6 +45,7 @@ #include "starkernel/kbd_input.h" #include "starkernel/gpt.h" #include "starkernel/v4/sk_v4_marker.h" +#include "starkernel/v4/sk_v4_grow.h" #ifdef ARCH_AMD64 #include "starkernel/ioapic.h" #include "starkernel/i8042.h" @@ -149,6 +156,45 @@ static int sk_v4_is_this_stick(unsigned nparts) return !g_stick_in; } +/* Growth's limits, from kernel/Makefile (-D): the stick at least this big, + * Artemis's partition at most this big */ +#define SK_V4_GROW_MIN_BYTES STICK_GROW_MIN_BYTES +#define SK_V4_CAP_SECTORS (STICK_ARTEMIS_CAP_GIB * 2097152ULL) + +/* This system's stick, its GPT just read (g_gpt_parts, *nparts): when the + * stick is larger than its GPT (its backup header is not the disk's last + * sector) and at least 8 GB, the Artemis partition is grown to fill it, and + * the GPT read again. Returns 0, or -1 when the GPT cannot be read again. */ +static int sk_v4_grow_stick(sk_v4_drive_t *d, unsigned *nparts) +{ + static int said_small; + uint64_t disk_sectors = (uint64_t)d->raw.total_blocks * (BLKIO_FORTH_BLOCK_SIZE / 512u); + uint64_t cap, new_last, first; + int ai = gpt_find(g_gpt_parts, *nparts, gpt_type_starship_artemis); + + if (ai < 0 || gpt_alternate_lba() == disk_sectors - 1u) return 0; /* the GPT fills the stick */ + if (disk_sectors * 512u < SK_V4_GROW_MIN_BYTES) { + if (!said_small) { + console_println("Artemis: the stick is under 8 GB -- not grown"); + said_small = 1; + } + return 0; + } + first = g_gpt_parts[ai].first_lba; + if (gpt_part_open(&d->art, &d->art_state, &d->raw, &g_gpt_parts[ai]) != BLKIO_OK) return 0; + cap = sk_v4_grow_cap_sectors(&d->art, SK_V4_CAP_SECTORS); + if (cap == 0) return 0; /* no Artemis volume: the signature check refuses it */ + if (gpt_grow_last(&d->raw, gpt_type_starship_artemis, cap, &new_last) != GPT_OK) + console_println("GPT: the stick's table could not be grown"); + else if (new_last - first + 1u >= SK_V4_CAP_SECTORS && first + SK_V4_CAP_SECTORS + 2048u < disk_sectors) + console_println("Artemis: past 256 GiB of the stick is left unused"); + if (gpt_read(&d->raw, g_gpt_parts, SK_V4_GPT_PARTS, nparts) != GPT_OK || + gpt_find(g_gpt_parts, *nparts, gpt_type_starship_identity) < 0 || + gpt_find(g_gpt_parts, *nparts, gpt_type_starship_artemis) < 0) + return -1; + return 0; +} + /* Zuse's session begins on @p dev: the console is hers, and the screen with * it (docs/v4.0.0/STICK.md 2). @p line says how she was found. */ static void sk_v4_login(blkio_dev_t *dev, const uint8_t seed[32], const uint8_t pubkey[32], @@ -241,6 +287,10 @@ static int sk_v4_drive_arrived(sk_v4_drive_t *d) console_println("USB: a drive that is not this system's stick -- not used"); return 1; } + if (sk_v4_grow_stick(d, &nparts) != 0) { + console_println("GPT: the stick's grown table does not read back"); + return 1; + } if (gpt_part_open(&d->art, &d->art_state, &d->raw, &g_gpt_parts[gpt_find(g_gpt_parts, nparts, gpt_type_starship_artemis)]) != BLKIO_OK || gpt_part_open(&d->part, &d->part_state, &d->raw, @@ -249,6 +299,13 @@ static int sk_v4_drive_arrived(sk_v4_drive_t *d) return 1; } + /* Artemis's volume fills its partition, grown with it (STICK.md 5a) */ + { + int g = sk_v4_grow_artemis(&d->art); + if (g > 0) console_println("Artemis: grown to fill the stick"); + else if (g < 0) console_println("Artemis: the stick's volume could not be grown"); + } + /* Artemis first: formatted and signed at build (STICK.md 4); a * signature that does not check out is not used, nor is the stick */ if (artemis_sig_check(&d->art, &asig) != ARTEMIS_SIG_OK) { diff --git a/logs/20261108-115815/amd64/qemu-amd64-20261108-115815.log b/logs/20261108-115815/amd64/qemu-amd64-20261108-115815.log new file mode 100644 index 00000000..99a1d8c4 --- /dev/null +++ b/logs/20261108-115815/amd64/qemu-amd64-20261108-115815.log @@ -0,0 +1,165 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 11:58:08 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 965 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248623 + Free pages : 247096 + Used pages : 1527 + Total MB : 971 + Free MB : 965 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2048803536 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=980690917, tick_hz=100, initial_count=9806909 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=9806909) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: grown to fill the stick +[HADES][INFO ] [KRELTSC: 16230636740] blk: disk 'StarForth Volume' v2 LBN 3072..12132441 (12129370 us +Artemis: the stick's partition attached +[HADES][INFO ] [KRELTSC: 16247512130] blk: disk 'StarForth Volume' v2 LBN 12132442..12515983 (383542 +[HADES][INFO ] [KRELTSC: 16269128656] MINT verify: identity reads back correctly +[Hera] Zuse: genesis minted onto attached thumbdrive +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-120001/amd64/qemu-amd64-20261108-120001.log b/logs/20261108-120001/amd64/qemu-amd64-20261108-120001.log new file mode 100644 index 00000000..b5c17a6f --- /dev/null +++ b/logs/20261108-120001/amd64/qemu-amd64-20261108-120001.log @@ -0,0 +1,163 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 11:58:08 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 965 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248623 + Free pages : 247096 + Used pages : 1527 + Total MB : 971 + Free MB : 965 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2031442736 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=975597517, tick_hz=100, initial_count=9755975 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARRITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=9755975) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +[HADES][INFO ] [KRELTSC: 15850556752] blk: disk 'StarForth Volume' v2 LBN 3072..12132441 (12129370 us +Artemis: the stick's partition attached +[HADES][INFO ] [KRELTSC: 15868168832] blk: disk 'StarForth Volume' v2 LBN 12132442..12515983 (383542 +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-120143/amd64/qemu-amd64-20261108-120143.log b/logs/20261108-120143/amd64/qemu-amd64-20261108-120143.log new file mode 100644 index 00000000..6c89fcdb --- /dev/null +++ b/logs/20261108-120143/amd64/qemu-amd64-20261108-120143.log @@ -0,0 +1,165 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 12:01:37 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 965 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248623 + Free pages : 247096 + Used pages : 1527 + Total MB : 971 + Free MB : 965 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2090125821 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=999200110, tick_hz=100, initial_count=9992001 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=9992001) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick is under 8 GB -- not grown +[HADES][INFO ] [KRELTSC: 15571534696] blk: disk 'StarForth Volume' v2 LBN 3072..1122393 (1119322 user +Artemis: the stick's partition attached +[HADES][INFO ] [KRELTSC: 15591872270] blk: disk 'StarForth Volume' v2 LBN 1122394..1505935 (383542 us +[HADES][INFO ] [KRELTSC: 15623585180] MINT verify: identity reads back correctly +[Hera] Zuse: genesis minted onto attached thumbdrive +[zuse@Hera] ok>  \ No newline at end of file diff --git a/scripts/mkdiskimage.sh b/scripts/mkdiskimage.sh index 17f74ee5..b0995042 100644 --- a/scripts/mkdiskimage.sh +++ b/scripts/mkdiskimage.sh @@ -17,11 +17,12 @@ # --table gpt -> partition type "EFI System" (UEFI firmware, U-Boot bootefi) # # The StarshipOS stick and data stick (docs/v4.0.0/STICK.md 4; --table gpt only): -# --starship IDENT_MIB --mkartemis TOOL --esp-mib E +# --starship IDENT_MIB --mkartemis TOOL --esp-mib E [--bam-for SECTORS] # lays out an ESP of E MiB holding the SRC:DEST files (E=0: no ESP, no files), # then a StarshipOS identity partition of IDENT_MIB MiB (all zeros), then a # StarshipOS Artemis partition to the last whole MiB before the backup GPT, -# formatted and signed by TOOL (tools/mkartemis.c). Every partition starts and +# formatted and signed by TOOL (tools/mkartemis.c) -- with --bam-for, its BAM sized for an Artemis +# of SECTORS, so it can grow that far on a larger stick (STICK.md 5a). Every partition starts and # ends on a whole MiB, so on 1 KiB blocks, as the kernel's GPT reader needs. # # Zuse's minted pair as a stick (docs/v4.0.0/plans/2026-10-27-stick-4-one-disk.md, Task 1): @@ -38,7 +39,7 @@ # root, no loop devices. set -euo pipefail -OUT="" TABLE="" SIZE_MIB="" LABEL="" IDENT_MIB="" MKARTEMIS="" ESP_MIB="" FROM_IDENT="" FROM_ART="" +OUT="" TABLE="" SIZE_MIB="" LABEL="" IDENT_MIB="" MKARTEMIS="" ESP_MIB="" FROM_IDENT="" FROM_ART="" BAM_FOR="" while [ $# -gt 0 ]; do case "$1" in --out) OUT="$2"; shift 2 ;; @@ -48,6 +49,7 @@ while [ $# -gt 0 ]; do --starship) IDENT_MIB="$2"; shift 2 ;; --mkartemis) MKARTEMIS="$2"; shift 2 ;; --esp-mib) ESP_MIB="$2"; shift 2 ;; + --bam-for) BAM_FOR="$2"; shift 2 ;; --starship-from) FROM_IDENT="$2"; FROM_ART="$3"; shift 3 ;; --) shift; break ;; -*) echo "mkdiskimage.sh: unknown option $1" >&2; exit 2 ;; @@ -119,7 +121,8 @@ if [ -n "$IDENT_MIB" ]; then dd if="$FROM_IDENT" of="$OUT" bs=1M seek=$(( IDENT_START / 2048 )) conv=notrunc,sparse status=none dd if="$FROM_ART" of="$OUT" bs=1M seek=$(( ART_START / 2048 )) conv=notrunc,sparse status=none else - "$MKARTEMIS" --format "$OUT" --first-lba "$ART_START" --sectors "$ART_SECTORS" >/dev/null || { + "$MKARTEMIS" --format "$OUT" --first-lba "$ART_START" --sectors "$ART_SECTORS" \ + ${BAM_FOR:+--bam-for "$BAM_FOR"} >/dev/null || { echo "mkdiskimage.sh: formatting Artemis failed" >&2; rm -f "$OUT"; exit 1; } fi if [ "$ESP_MIB" = 0 ]; then diff --git a/tools/mkartemis.c b/tools/mkartemis.c index cab7d282..a81ba1ba 100644 --- a/tools/mkartemis.c +++ b/tools/mkartemis.c @@ -10,10 +10,14 @@ * kernel writes. Zuse's genesis marker is not written: the first boot does * that. docs/v4.0.0/plans/2026-10-27-stick-3-images.md. * - * mkartemis --format IMG --first-lba L --sectors N + * mkartemis --format IMG --first-lba L --sectors N [--bam-for M] * mkartemis --check IMG --first-lba L --sectors N * - * L and N count 512-byte sectors; both must be even (1 KiB blocks). + * L, N and M count 512-byte sectors; L and N must be even (1 KiB blocks). + * --bam-for M sizes the volume's BAM as for a volume of M sectors, so it can + * grow that far on a larger stick with no BAM to move (docs/v4.0.0/STICK.md + * 5a; plan 2026-10-29-stick-5, R1 and Task 2). --check reports the BAM's + * size in 4 KiB devblocks. */ #define _GNU_SOURCE #include @@ -111,7 +115,7 @@ static uint8_t g_ram[(size_t)BLK_RAM_BLOCKS * BLK_FORTH_SIZE]; static int usage(void) { - fprintf(stderr, "usage: mkartemis --format|--check IMG --first-lba L --sectors N\n"); + fprintf(stderr, "usage: mkartemis --format|--check IMG --first-lba L --sectors N [--bam-for M]\n"); return 2; } @@ -140,6 +144,8 @@ static int attach(blkio_dev_t *dev, uint32_t *start_lbn, uint32_t *count) * header is read from the disk itself and judged as attach judges it * (block_subsystem.c blk_format_or_load_disk): blk_get_volume_meta would give * the geometry computed in memory for a blank disk, magic and all. */ +static uint32_t g_bam_devblocks; /* the BAM's size, as check_volume read it */ + static int check_volume(blkio_dev_t *dev, uint32_t *count, artemis_sig_t *sig) { static uint8_t hdr[BLK_DEVICE_SECTOR]; @@ -160,6 +166,7 @@ static int check_volume(blkio_dev_t *dev, uint32_t *count, artemis_sig_t *sig) fprintf(stderr, "mkartemis: the Artemis signature does not check out (%d)\n", (int)src); else rc = 0; + g_bam_devblocks = meta.bam_devblocks; blk_subsys_shutdown(); return rc; } @@ -167,7 +174,7 @@ static int check_volume(blkio_dev_t *dev, uint32_t *count, artemis_sig_t *sig) int main(int argc, char **argv) { const char *mode, *img; - unsigned long long first_lba, sectors; + unsigned long long first_lba, sectors, bam_for = 0; range_t r; blkio_dev_t dev; blkio_params_t params; @@ -175,7 +182,8 @@ int main(int argc, char **argv) artemis_sig_t sig; int i, format; - if (argc != 7 || strcmp(argv[3], "--first-lba") != 0 || strcmp(argv[5], "--sectors") != 0) return usage(); + if ((argc != 7 && argc != 9) || strcmp(argv[3], "--first-lba") != 0 || strcmp(argv[5], "--sectors") != 0) + return usage(); mode = argv[1]; img = argv[2]; if (strcmp(mode, "--format") == 0) format = 1; @@ -185,6 +193,12 @@ int main(int argc, char **argv) fprintf(stderr, "mkartemis: --first-lba and --sectors take a number of sectors\n"); return 1; } + if (argc == 9) { + if (!format || strcmp(argv[7], "--bam-for") != 0 || parse_count(argv[8], &bam_for) != 0 || bam_for < sectors) { + fprintf(stderr, "mkartemis: --bam-for takes a number of sectors, at least --sectors, with --format\n"); + return 1; + } + } if (first_lba % 2u != 0u || sectors % 2u != 0u || sectors == 0u || sectors / 2u > 0xFFFFFFFFull) { fprintf(stderr, "mkartemis: the partition must start and end on a 1 KiB block (even LBA and sector count)\n"); return 1; @@ -202,6 +216,7 @@ int main(int argc, char **argv) sf_time_init(); if (format) { + blk_subsys_set_format_bam_for(bam_for / 8u); /* sectors -> 4 KiB devblocks */ if (attach(&dev, &start_lbn, &count) != 0) return 1; if (artemis_sig_check(&dev, &sig) != ARTEMIS_SIG_BLANK) { fprintf(stderr, "mkartemis: the partition is not blank -- not formatted\n"); @@ -221,7 +236,8 @@ int main(int argc, char **argv) printf("mkartemis: formatted %u blocks, STFR v2, signature stamped, read back ok\n", r.blocks); } else { if (check_volume(&dev, &count, &sig) != 0) return 1; - printf("mkartemis: STFR v2, %u user blocks, signature ok, disk_uuid ", count); + printf("mkartemis: STFR v2, %u user blocks, bam %u devblocks, signature ok, disk_uuid ", + count, g_bam_devblocks); for (i = 0; i < 16; i++) printf("%02x", sig.disk_uuid[i]); printf("\n"); } diff --git a/v3/include/block_subsystem.h b/v3/include/block_subsystem.h index 328c540a..23fd242d 100644 --- a/v3/include/block_subsystem.h +++ b/v3/include/block_subsystem.h @@ -591,6 +591,18 @@ int blk_subsys_add_raw_device(uint8_t *buf, uint32_t nblocks); * by the disk's owner before any write to that slot will succeed. */ int blk_subsys_confirm_format(uint32_t lbn); +/* blk_volume_compute_totals - a volume's tracked/total block counts from its + * total_devblocks, bam_devblocks, reloc_devblocks and meta_fence_blocks, as a + * fresh format computes them. For a volume grown to fill a larger partition + * (the v4 stick, plan 2026-10-29-stick-5, Task 2). */ +void blk_volume_compute_totals(blk_volume_meta_t *m); + +/* blk_subsys_set_format_bam_for - size the BAM of the next fresh format for a + * volume of `total_devblocks` 4 KiB devblocks, when that is more than the + * disk's own: the volume can later grow that far with no BAM of its own to + * move (mkartemis --bam-for). 0, the default, sizes it for the disk. */ +void blk_subsys_set_format_bam_for(uint64_t total_devblocks); + #ifdef __cplusplus } /* extern "C" */ #endif diff --git a/v3/src/block_subsystem.c b/v3/src/block_subsystem.c index d8f04d2f..6c3afca6 100644 --- a/v3/src/block_subsystem.c +++ b/v3/src/block_subsystem.c @@ -386,6 +386,20 @@ static void compute_totals_from_B(blk_volume_meta_t *m) { * blk_compute_fresh_geometry()). */ } +/* compute_totals_from_B, for a volume grown on its disk (the v4 stick: + * docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md, Task 2). */ +void blk_volume_compute_totals(blk_volume_meta_t *m) { + if (m) compute_totals_from_B(m); +} + +/* The BAM a fresh format sizes: for this many devblocks when it is more than + * the disk's own (0: the disk's). Only mkartemis sets it (--bam-for). */ +static uint64_t g_format_bam_for; + +void blk_subsys_set_format_bam_for(uint64_t total_devblocks) { + g_format_bam_for = total_devblocks; +} + /* ===== physical BAM I/O (sync to/from slot->bam[]) ===== */ /* @@ -530,7 +544,8 @@ static void blk_compute_fresh_geometry(blk_dev_slot_t *slot) { strncpy(slot->vol_meta.label, "StarForth Volume", sizeof(slot->vol_meta.label) - 1); slot->vol_meta.total_devblocks = (uint64_t) udiv_floor(slot->total_blkio_blocks_1k, 4); slot->vol_meta.bam_start = 1; - slot->vol_meta.bam_devblocks = choose_B(slot->vol_meta.total_devblocks); + slot->vol_meta.bam_devblocks = choose_B(g_format_bam_for > slot->vol_meta.total_devblocks + ? g_format_bam_for : slot->vol_meta.total_devblocks); slot->vol_meta.reloc_start = slot->vol_meta.bam_start + slot->vol_meta.bam_devblocks; /* One devblock (4 KiB): a 4-byte count prefix + up to BLK_RELOC_MAX_ENTRIES * 8-byte {home_lbn, actual_lbn} pairs -- see this file's own doc comment -- 2.54.0 From add73563b273497d6278db957da398d08378946b Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 12:08:21 +0000 Subject: [PATCH 30/57] logs: genesis on amd64 with the 256 GiB BAM on the data stick: PASS (#92, Task 2) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-120424.csv | 0 .../runs/doe-amd64-20261108-120602.csv | 0 .../amd64/qemu-amd64-20261108-120424.log | 161 ++++++++++++++++++ .../amd64/qemu-amd64-20261108-120602.log | 161 ++++++++++++++++++ 4 files changed, 322 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-120424.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-120602.csv create mode 100644 logs/20261108-120424/amd64/qemu-amd64-20261108-120424.log create mode 100644 logs/20261108-120602/amd64/qemu-amd64-20261108-120602.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-120424.csv b/experiments/bare_metal/runs/doe-amd64-20261108-120424.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-120602.csv b/experiments/bare_metal/runs/doe-amd64-20261108-120602.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-120424/amd64/qemu-amd64-20261108-120424.log b/logs/20261108-120424/amd64/qemu-amd64-20261108-120424.log new file mode 100644 index 00000000..db57679b --- /dev/null +++ b/logs/20261108-120424/amd64/qemu-amd64-20261108-120424.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 12:03:53 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 126 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248946 + Free pages : 247419 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2109054462 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1011026229, tick_hz=100, initial_count=10110262 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10110262) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: genesis minted onto attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-120602/amd64/qemu-amd64-20261108-120602.log b/logs/20261108-120602/amd64/qemu-amd64-20261108-120602.log new file mode 100644 index 00000000..39d3a64c --- /dev/null +++ b/logs/20261108-120602/amd64/qemu-amd64-20261108-120602.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 12:03:53 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248950 + Free pages : 247423 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2090498093 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1006002644, tick_hz=100, initial_count=10060026 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10060026) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From 7dbc1de864a71b6fc1d4d645a3986a59e4a1601f Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 12:21:32 +0000 Subject: [PATCH 31/57] logs: Task 2 regressions -- genesis on aarch64 and riscv64, stick_genesis, stick_boot: PASS (#92) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-aarch64-20261108-120818.csv | 0 .../runs/doe-aarch64-20261108-121104.csv | 0 .../runs/doe-amd64-20261108-121745.csv | 0 .../runs/doe-amd64-20261108-121936.csv | 0 .../runs/doe-riscv64-20261108-121430.csv | 0 .../runs/doe-riscv64-20261108-121604.csv | 0 .../aarch64/qemu-aarch64-20261108-120818.log | 133 ++++++++++++++ .../aarch64/qemu-aarch64-20261108-121104.log | 133 ++++++++++++++ .../riscv64/qemu-riscv64-20261108-121430.log | Bin 0 -> 7989 bytes .../riscv64/qemu-riscv64-20261108-121604.log | Bin 0 -> 7993 bytes .../amd64/qemu-amd64-20261108-121745.log | 162 +++++++++++++++++ .../amd64/qemu-amd64-20261108-121936.log | 164 ++++++++++++++++++ 12 files changed, 592 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-aarch64-20261108-120818.csv create mode 100644 experiments/bare_metal/runs/doe-aarch64-20261108-121104.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-121745.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-121936.csv create mode 100644 experiments/bare_metal/runs/doe-riscv64-20261108-121430.csv create mode 100644 experiments/bare_metal/runs/doe-riscv64-20261108-121604.csv create mode 100644 logs/20261108-120818/aarch64/qemu-aarch64-20261108-120818.log create mode 100644 logs/20261108-121104/aarch64/qemu-aarch64-20261108-121104.log create mode 100644 logs/20261108-121430/riscv64/qemu-riscv64-20261108-121430.log create mode 100644 logs/20261108-121604/riscv64/qemu-riscv64-20261108-121604.log create mode 100644 logs/20261108-121745/amd64/qemu-amd64-20261108-121745.log create mode 100644 logs/20261108-121936/amd64/qemu-amd64-20261108-121936.log diff --git a/experiments/bare_metal/runs/doe-aarch64-20261108-120818.csv b/experiments/bare_metal/runs/doe-aarch64-20261108-120818.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-aarch64-20261108-121104.csv b/experiments/bare_metal/runs/doe-aarch64-20261108-121104.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-121745.csv b/experiments/bare_metal/runs/doe-amd64-20261108-121745.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-121936.csv b/experiments/bare_metal/runs/doe-amd64-20261108-121936.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-riscv64-20261108-121430.csv b/experiments/bare_metal/runs/doe-riscv64-20261108-121430.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-riscv64-20261108-121604.csv b/experiments/bare_metal/runs/doe-riscv64-20261108-121604.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-120818/aarch64/qemu-aarch64-20261108-120818.log b/logs/20261108-120818/aarch64/qemu-aarch64-20261108-120818.log new file mode 100644 index 00000000..3004f3f7 --- /dev/null +++ b/logs/20261108-120818/aarch64/qemu-aarch64-20261108-120818.log @@ -0,0 +1,133 @@ +UEFI firmware (version 2024.02-2ubuntu0.10 built at 15:40:28 on Sep 23 2026) +[=3h[=3hBdsDxe: failed to load Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x0): Not Found +BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:04.0-2" from PciRoot(0x0)/Pci(0x4,0x0)/USB(0x1,0x0): Not Found +BdsDxe: loading Boot0003 "UEFI Misc Device 2" from PciRoot(0x0)/Pci(0x6,0x0) +BdsDxe: starting Boot0003 "UEFI Misc Device 2" from PciRoot(0x0)/Pci(0x6,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +Collecting boot information... +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 aarch64 +Architecture: aarch64 +Build: Nov 8 2026 12:07:51 + +UEFI BootServices: EXITED +Console: serial line is a PL011 at 0x0000000009000000 (no devicetree: QEMU's) + +=== StarKernel Boot Information === +Memory map entries: 33 +Total memory: 4093 MB +Usable memory: 4054 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 1039454 + Free pages : 1038030 + Used pages : 1424 + Total MB : 4060 + Free MB : 4054 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +AArch64: running at EL1 +IDT installed. + +APIC: init... +PSCI: no DTB -- using HVC (QEMU virt-machine default) +GICv2: no DTB GIC node -- using QEMU virt-machine defaults +GICv2: distributor+CPU interface enabled, PPI 30 +APIC: init done + +Timer: init... +Timer: AArch64 generic timer initialised. +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 2147483608 + Free bytes: 2147483608 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 1207959552 + Heap end addr: 3355443200 + +Heartbeat: init... +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +virtio-rng: found device +rng: backend = virtio-rng +entropy: ready +virtio-input: found device +virtio-input: driver ready +Starting heartbeat... +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: genesis minted onto attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-121104/aarch64/qemu-aarch64-20261108-121104.log b/logs/20261108-121104/aarch64/qemu-aarch64-20261108-121104.log new file mode 100644 index 00000000..b1e85961 --- /dev/null +++ b/logs/20261108-121104/aarch64/qemu-aarch64-20261108-121104.log @@ -0,0 +1,133 @@ +UEFI firmware (version 2024.02-2ubuntu0.10 built at 15:40:28 on Sep 23 2026) +[=3h[=3hBdsDxe: failed to load Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x0): Not Found +BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:04.0-2" from PciRoot(0x0)/Pci(0x4,0x0)/USB(0x1,0x0): Not Found +BdsDxe: loading Boot0003 "UEFI Misc Device 2" from PciRoot(0x0)/Pci(0x6,0x0) +BdsDxe: starting Boot0003 "UEFI Misc Device 2" from PciRoot(0x0)/Pci(0x6,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +Collecting boot information... +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 aarch64 +Architecture: aarch64 +Build: Nov 8 2026 12:07:51 + +UEFI BootServices: EXITED +Console: serial line is a PL011 at 0x0000000009000000 (no devicetree: QEMU's) + +=== StarKernel Boot Information === +Memory map entries: 33 +Total memory: 4093 MB +Usable memory: 4054 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 1039456 + Free pages : 1038032 + Used pages : 1424 + Total MB : 4060 + Free MB : 4054 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +AArch64: running at EL1 +IDT installed. + +APIC: init... +PSCI: no DTB -- using HVC (QEMU virt-machine default) +GICv2: no DTB GIC node -- using QEMU virt-machine defaults +GICv2: distributor+CPU interface enabled, PPI 30 +APIC: init done + +Timer: init... +Timer: AArch64 generic timer initialised. +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 2147483608 + Free bytes: 2147483608 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 1207959552 + Heap end addr: 3355443200 + +Heartbeat: init... +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +virtio-rng: found device +rng: backend = virtio-rng +entropy: ready +virtio-input: found device +virtio-input: driver ready +Starting heartbeat... +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-121430/riscv64/qemu-riscv64-20261108-121430.log b/logs/20261108-121430/riscv64/qemu-riscv64-20261108-121430.log new file mode 100644 index 0000000000000000000000000000000000000000..40cb3b5054bc3a5de9bebdf358966b9684cd9627 GIT binary patch literal 7989 zcmbtZZFAa4628w=@eA^$@4kfG8KQTDvc6i3am>Z6IdHPOm!vqojEu@4v666JDnI_7 z9!W^XY<90KyKH8r^>j~9PftHXyLG)4@#1Vk_i9gXw}@zo2mc;D+`lYFE*zfp%j^T-SOhJOuNdd~PzgTM0Q2NwMxk$>P< z3R%{LAAX;KUvdLYJls>^F4<%TSiby5Jr?7}H+~m?i+=q5%S-v0q00vXjRsGq-I}f4 zJWSFJ{p4;$B`E(plt!6<-@T90JW5V}6PsN_{6e_-E*07S6^Aw=5NmPU5V{=BZ)lY4 z;=B}dNNo&HW)nIW_mN*IcF6VDQJi--*{7%>coS_z+7zt?b2;=QsY>x&er>!rO5!Y8 zi~3E6c5a&6nyECTE*H~Uf(>=3+wC?4X4ALd7nln#N%Dq_Ls=9?_hOlgEN>t!R=Ye% zKE->{-xb_t22lZ_k2%HypBkrV+^OPq1I$lXz5ut)1*9;tU0 zi(vTg_4r)eLcO9?FU#@I<=QHWR($Fz54u7;GTy)8 zl3eiyD!R-)>US}<-^G-sKE%`;n7{nKo%(Ui$_v0`oaQ5E4?9oxs70f8!B66IPQxHT zY?c1!2(2JXzcv=CkWX)GpEc#ZP{>yg@TW;o?>L7R-3>ZwnZ=iEj?mukHD25=B6}dP zDAPmff>NN}s^e;MUb}}s$@r>=i#4xBssODeW@&Wa40MN&R#j{2kSS)e7*;R+*GFHcn(Qr1V zPf@;#VlpWcei8>6;bbimsSAJvEvrWS#5!z%Yj0 z@u+Wh4cj!kL(@3#+R6YOnxS4;BeM02iwm2N(6b;r|12B|-DoWW$`e{AZa^GF>@WJ; z+wsMOrYIxIqv~%IrtMa;p_w1eA=QD0U%W&EAJh|WIP?>&y+F+n?0u)cQq;?b?px$; z`bMO&Sd-Lo1-$~${6C6s>8=c)5!f44ko4N>$ z_+ePaD<0T@>lRLZ^M5*xe^_O;Ql&shI$V#Q7qnOJnm%S~u zjyAzn6vIhdH^l)(*KcY|jE_*e*|<39fh$Updffa-&3f5G7Vv_`SmHf22Pt zX@8`lm%x9B0m072evfhvgar<1RCpPsB2T}-hGYw;VJ7u56-&_B?4ABXdQO&~mO)W2 zHe~elp6Q}oa`P?08@V7iuNDOw0p0NgTrUWAzt0lOWwG>2Xif76VqT!DrqGZSOIu6({Ix&{hN$VH41-0S;7>?=-mW7*%BjBMF!fh(y3drQ zAfhiDQ>>g5(GxX5ih8ix9>c5s1*;t&v1L5WG_anO~TKC@R2s&8SmUm9PfM7&WbW zLiq}n!YWw@rwU|iJ19tE9C?T$rqT`D%63_jaK%QW#hhxcO_yJ(b1}TSIvbAOobW8_ z;D(9@-d;y}oUND$J`65N`;JDJ_XP`qVota0zGC;W_GN(4v5_K9$`Ki1GvVG*B`bTR zF7_X}sPz${nrfH>&E)cyNRBf3u15Q&YFN6V$)teMH1}}((eTtkUpd=yuKQ^g2X`Yr zzENTLp4p zgl+|zD{Lds2CC`}uu+d1vDt!aJk^LA401t%n?uo0=z&J3WZ|O>3 zgh+~gJHUoKYQj3XecBpS00+uL-!ctFSe~sJuBmxPmE+5brzx)h4wPHAVY;qj*n!s< z9@EPs&PRdrH02e*fpSxXimI!cuk^kCz{gooAL#SzDambfs_A_VciNlk0Jr;|rU$w! zGz&S*4rJAv?r<*xqI7BwkX1GFaW<8Cs6Xf#C}RF}S%I6b#oMd#zO-n9RFjEN<>DI( z)3gj#2(=%meaowAn#$-$<9t3=gNm*T)mKbk8MtZ?!uHw^v+KnTF+0H2bQ_E&D?ac& z*eMRKT5|F0;$~bpZRztDVW+y<$L&$ACltQz8+{)U7aDp$+`r8iMXbo7*>JI7(m5MV z8bzmUO-C26Wfk_SBn;K1NeIf}@tx6lG@OEq>Lp=mw~Fucx@mlii#xvWDXVr|VsIC~ z#KrHaq#aShg6$U5&14I5nF=?+tyc*m3z|cihhqVkmTC1Km!tBoY*m%fk_O>RmEuk~ zB{#+Qh}5~6Ovkt}DesI?$nI-wN_TM#ZUj2zt?!~_xyw9{y~`6V~Y+^`a}t+ Lz#j{KN8SGbnTIjJ literal 0 HcmV?d00001 diff --git a/logs/20261108-121604/riscv64/qemu-riscv64-20261108-121604.log b/logs/20261108-121604/riscv64/qemu-riscv64-20261108-121604.log new file mode 100644 index 0000000000000000000000000000000000000000..cd9686c236bdc14b4a9d2879b1d80cc697755f65 GIT binary patch literal 7993 zcmbtZZFAa4628w=@eA^$@4kfG8KQTDvc6i3am>Z6IdHPOm!vqojEu@4v666JDnI_7 z9!W^XY<90KyKH8r^>j~9PftHXyLG)4@#1Vk_i9gXw}@zo2mc;D+`lYFE*zfp%j^T-SOhJOuNdd~PzgTM0Q2NwMxk$>P< z3R%{LAAX;KUvdLYJls>^F4<%TSiby5Jr?7}H+~m?i+=q5%S-v0q00vXjRsGq-I}f4 zJWSFJ{p4;$B`E(plt!6<-@T90JW5V}6PsN_{6e_-E*07S6^Aw=5NmPU5V{=BZ)lY4 z;=B}dNNo&HW)nIW_mN*IcF6VDQJi--*{7%>coS_z+7zt?b2;=QsY>x&er>!rO5!Y8 zi~3E6c5a&6nyECTE*H~Uf(>=3+wC?4X4ALd7nln#N%Dq_Ls=9?_hOlgEN>t!R=Ye% zKE->{-xb_t22lZ_k2%HypBkrV+^OPq1I$lXz5ut)1*9;tU0 zi(vTg_4r)eLcO9?FU#@I<=QHWR($Fz54u7;GTy)8 zl3eiyD!R-)>US}<-^G-sKE%`;n7{nKo%(Ui$_v0`oaQ5E4?9oxs70f8!B66IPQxHT zY?c1!2(2JXzcv=CkWX)GpEc#ZP{>yg@TW;o?>L7R-3>ZwnZ=iEj?mukHD25=B6}dP zDAPmff>NN}s^e;MUb}}s$@r>=i#4xBssODeW@&Wa40MN&R#j{2kSS)e7*;R+*GFHcn(Qr1V zPf@;#VlpWcei8>6;bbimsSAJvEvrWS#5!z%Yj0 z@u+Wh4cj!kL(@3#+R6YOnxS4;BeM02iwm2N(6b;r|12B|-DoWW$`e{AZa^GF>@WJ; z+wsMOrYIxIqv~%IrtMa;p_w1eA=QD0U%W&EAJh|WIP?>&y+F+n?0u)cQq;?b?px$; z`bMO&Sd-Lo1-$~${6C6s>8=c)5!f44ko4N>$ z_+ePaD<0T@>lRLZ^M5*xe^_O;Ql&shI$V#Q7qnOJnm%S~u zjyAzn6vIhdH^l)(*KcY|jE_*e*|<39fh$Updffa-&3f5G7Vv_`SmHf22Pt zX@8`lm%x9B0m072evfhvgar<1RCpPsB2T}-hGYw;VJ7u56-&_B?4ABXdQO&~mO)W2 zHe~elp6Q}oa`P?08@V7iuNDOw0p0NgTrUWAzt0lOWwG>2Xif76VqT!DrqGZSOIu6({Ix&{hN$VH41-0S;7>?=-mW7*%BjBMF!fh(y3drQ zAfhiDQ>>g5(GxX5ih8ix9>c5s1*;t&v1L5WG_anO~TKC@R2s&8SmUm9PfM7&WbW zLiq}n!YWw@rwU|iJ19tE9C?T$rqT`D%63_jaK%QW#hhxcO_yJ(b1}TSIvbAOobW8_ z;D(9@-d;y}oUND$J`65N`;JDJ_XP`qVota0zGC;W_GN(4v5_K9$`Ki1GvVG*B`bTR zF7_X}sPz${nrfH>&E)cyNRBf3u15Q&YFN6V$)teMH1}}((eTtkUpd=yuKQ^g2X`Yr zzENTLp4p zgl+|zD{Lds2CC`}uu+d1vDt!aJk^LA401t%n?uo0=z&J3WZ|O>3 zgh+~gJHUoKYQj3XecBpS00+uL-!ctFSe~sJuBmxPmE+5brzx)h4wPHAVY;qj*n!s< z9@EPs&PRdrH02e*fpSxXimI!cuk^kCz{gooAL#SzDambfs_A_VciNlk0Jr;|rU$w! zGz&S*4rJAv?r<*xqI7BwkX1GFaW<8Cs6Xf#C}RF}S%I6b#oMd#zO-n9RFjEN<>DI( z)3gj#2(=%meaowAn#$-$<9t3=gNm*T)mKbk8MtZ?!uHw^v+KnTF+0H2bQ_E&D?ac& z*eMRKT5|F0;$~bpZRztDVW+y<$L&$ACltQz8+{)U7aDp$+`r8iMXbo7*>JI7(m5MV z8bzmUO-C26Wfk_SBn;K1NeIf}@tx6lG@OEq>Lp=mw~Fucx@mlii#xvWDXVr|VsIC~ z#KrHaq#aShg6$U5&14I5nF=?+tyc*m3z|cihhqVkmTC1Km!tBoY*m%fk_O>RmEuk~ zB{#+Qh}5~6Ovkt}DesI?$nI-wN_TM#ZUj2zt?!~_xyw9SWMA2y=UE)gels NC;=V#W5MsJ`ybVzGiCq) literal 0 HcmV?d00001 diff --git a/logs/20261108-121745/amd64/qemu-amd64-20261108-121745.log b/logs/20261108-121745/amd64/qemu-amd64-20261108-121745.log new file mode 100644 index 00000000..da601e11 --- /dev/null +++ b/logs/20261108-121745/amd64/qemu-amd64-20261108-121745.log @@ -0,0 +1,162 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 12:17:38 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 965 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248623 + Free pages : 247096 + Used pages : 1527 + Total MB : 971 + Free MB : 965 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2121735259 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1023562728, tick_hz=100, initial_count=10235627 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10235627) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: genesis minted onto attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-121936/amd64/qemu-amd64-20261108-121936.log b/logs/20261108-121936/amd64/qemu-amd64-20261108-121936.log new file mode 100644 index 00000000..e5fde421 --- /dev/null +++ b/logs/20261108-121936/amd64/qemu-amd64-20261108-121936.log @@ -0,0 +1,164 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 12:19:30 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 965 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248623 + Free pages : 247096 + Used pages : 1527 + Total MB : 971 + Free MB : 965 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2094020367 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1006797832, tick_hz=100, initial_count=10067978 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks) +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10067978) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +[HADES][INFO ] [KRELTSC: 15648241542] blk: disk 'StarForth Volume' v2 LBN 3072..1122393 (1119322 user +Artemis: the stick's partition attached +[HADES][INFO ] [KRELTSC: 15657554348] blk: disk 'StarForth Volume' v2 LBN 1122394..1505935 (383542 us +[HADES][INFO ] [KRELTSC: 15673630554] MINT verify: identity reads back correctly +[Hera] Zuse: genesis minted onto attached thumbdrive +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From 4bc8a01b4cbd2bac5cdc7f2c2a144f400f5b78d7 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 12:27:39 +0000 Subject: [PATCH 32/57] logs: Task 2 regressions -- stick_zuse, two_sticks: PASS (#92) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-122130.csv | 0 .../runs/doe-amd64-20261108-122338.csv | 0 .../amd64/qemu-amd64-20261108-122130.log | 162 +++++++++++++++++ .../amd64/qemu-amd64-20261108-122338.log | 163 ++++++++++++++++++ 4 files changed, 325 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-122130.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-122338.csv create mode 100644 logs/20261108-122130/amd64/qemu-amd64-20261108-122130.log create mode 100644 logs/20261108-122338/amd64/qemu-amd64-20261108-122338.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-122130.csv b/experiments/bare_metal/runs/doe-amd64-20261108-122130.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-122338.csv b/experiments/bare_metal/runs/doe-amd64-20261108-122338.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-122130/amd64/qemu-amd64-20261108-122130.log b/logs/20261108-122130/amd64/qemu-amd64-20261108-122130.log new file mode 100644 index 00000000..a6a2ed69 --- /dev/null +++ b/logs/20261108-122130/amd64/qemu-amd64-20261108-122130.log @@ -0,0 +1,162 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:03.0-1" from PciRoot(0x0)/Pci(0x3,0x0)/USB(0x0,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: from starforth.cfg +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 12:21:24 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 965 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248623 + Free pages : 247096 + Used pages : 1527 + Total MB : 971 + Free MB : 965 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2099017414 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1008113906, tick_hz=100, initial_count=10081139 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: a StarshipOS stick +System: StarForth v4 (system=v4) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10081139) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-122338/amd64/qemu-amd64-20261108-122338.log b/logs/20261108-122338/amd64/qemu-amd64-20261108-122338.log new file mode 100644 index 00000000..c883984a --- /dev/null +++ b/logs/20261108-122338/amd64/qemu-amd64-20261108-122338.log @@ -0,0 +1,163 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 12:23:03 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 128 +Total memory: 1023 MB +Usable memory: 966 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248919 + Free pages : 247392 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2101630483 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1004676939, tick_hz=100, initial_count=10046769 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10046769) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] blkio_usb: MSC device ready +[zuse@Hera] USB: a drive that is not this system's stick -- not used +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From a5c1136692c231142fe63c5265fc85da1f648984 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 12:31:02 +0000 Subject: [PATCH 33/57] logs: Task 2 regressions -- artemis_unsigned, midpull (replug: not grown again): PASS (#92) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../runs/doe-amd64-20261108-122553.csv | 0 .../runs/doe-amd64-20261108-122852.csv | 0 .../amd64/qemu-amd64-20261108-122553.log | 157 +++++++++++++++++ .../amd64/qemu-amd64-20261108-122852.log | 165 ++++++++++++++++++ 4 files changed, 322 insertions(+) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-122553.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-122852.csv create mode 100644 logs/20261108-122553/amd64/qemu-amd64-20261108-122553.log create mode 100644 logs/20261108-122852/amd64/qemu-amd64-20261108-122852.log diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-122553.csv b/experiments/bare_metal/runs/doe-amd64-20261108-122553.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-122852.csv b/experiments/bare_metal/runs/doe-amd64-20261108-122852.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-122553/amd64/qemu-amd64-20261108-122553.log b/logs/20261108-122553/amd64/qemu-amd64-20261108-122553.log new file mode 100644 index 00000000..2e52d4e3 --- /dev/null +++ b/logs/20261108-122553/amd64/qemu-amd64-20261108-122553.log @@ -0,0 +1,157 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 12:25:19 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 126 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248946 + Free pages : 247419 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2105116961 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1006949829, tick_hz=100, initial_count=10069498 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10069498) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's signature is bad -- not used diff --git a/logs/20261108-122852/amd64/qemu-amd64-20261108-122852.log b/logs/20261108-122852/amd64/qemu-amd64-20261108-122852.log new file mode 100644 index 00000000..9ed3481e --- /dev/null +++ b/logs/20261108-122852/amd64/qemu-amd64-20261108-122852.log @@ -0,0 +1,165 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 12:28:22 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 129 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248975 + Free pages : 247448 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2077948203 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=995380801, tick_hz=100, initial_count=9953808 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=9953808) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[Hera] Zuse: session ended -- reattach to re-authenticate +[Hera] blkio_usb: MSC device ready +[Hera] Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok>  \ No newline at end of file -- 2.54.0 From f81b5d0563dbf302b869190c81e63d637d7df27c Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 12:45:33 +0000 Subject: [PATCH 34/57] feat(kernel): Artemis grows to fill the stick at its first boot -- metadata only, capped at 256 GiB (#92, Task 2) Task 2 of plan 2026-10-29-stick-5, accepted in full: - amd64, aarch64, riscv64: PARITY:V4_POST tests=538 pass=538 fail=0, POST: PASSED, [zuse@Hera] ok>; dict_hash 0xfec8c47cfc6f437f on the three - the PC stick loaded high: 538/538, POST: PASSED, the prompt - make -C v4 test-32: 39 programs, 0 failures The acceptance boots' logs, the accept-*.txt verdicts and test-32's output (logs/20261108-123847/verdicts/). The plan's Task 2 steps ticked; FABRIC-3 XLVIII.9, with one item for a ruling: blk_flush rewrites the whole BAM, now sized for 256 GiB. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- docs/fabric/FABRIC-3.md | 32 ++ ...-10-29-stick-5-proxy-zuse-and-real-zuse.md | 10 +- .../runs/doe-aarch64-20261108-123344.csv | 0 .../runs/doe-amd64-20261108-123140.csv | 0 .../runs/doe-amd64-20261108-123847.csv | 0 .../runs/doe-riscv64-20261108-123709.csv | 0 .../amd64/qemu-amd64-20261108-123140.log | 161 ++++++++++ .../aarch64/qemu-aarch64-20261108-123344.log | 133 ++++++++ .../riscv64/qemu-riscv64-20261108-123709.log | Bin 0 -> 7993 bytes .../amd64/qemu-amd64-20261108-123847.log | 162 ++++++++++ .../verdicts/accept-aarch64.txt | 8 + .../20261108-123847/verdicts/accept-amd64.txt | 8 + .../verdicts/accept-riscv64.txt | 8 + .../verdicts/accept-stick-high.txt | 11 + logs/20261108-123847/verdicts/test-32.txt | 286 ++++++++++++++++++ 15 files changed, 814 insertions(+), 5 deletions(-) create mode 100644 experiments/bare_metal/runs/doe-aarch64-20261108-123344.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-123140.csv create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-123847.csv create mode 100644 experiments/bare_metal/runs/doe-riscv64-20261108-123709.csv create mode 100644 logs/20261108-123140/amd64/qemu-amd64-20261108-123140.log create mode 100644 logs/20261108-123344/aarch64/qemu-aarch64-20261108-123344.log create mode 100644 logs/20261108-123709/riscv64/qemu-riscv64-20261108-123709.log create mode 100644 logs/20261108-123847/amd64/qemu-amd64-20261108-123847.log create mode 100644 logs/20261108-123847/verdicts/accept-aarch64.txt create mode 100644 logs/20261108-123847/verdicts/accept-amd64.txt create mode 100644 logs/20261108-123847/verdicts/accept-riscv64.txt create mode 100644 logs/20261108-123847/verdicts/accept-stick-high.txt create mode 100644 logs/20261108-123847/verdicts/test-32.txt diff --git a/docs/fabric/FABRIC-3.md b/docs/fabric/FABRIC-3.md index 2e8e19cf..d08233e3 100644 --- a/docs/fabric/FABRIC-3.md +++ b/docs/fabric/FABRIC-3.md @@ -6334,3 +6334,35 @@ Plan `docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md`, Task 1; test-32`): `PARITY:V4_POST tests=538 pass=538 fail=0` and `POST: PASSED` on all three and the stick loaded high; `dict_hash 0xfec8c47cfc6f437f` on the three, unchanged (Task 1 adds no word); test-32: 39 programs, 0 failures. + +### 9. #92, Task 2: Artemis grows to fill the stick (2026-11-08) + +Plan `2026-10-29-stick-5`, Task 2; `STICK.md` 5a (its 2 TiB cap amended to 256 GiB, R1). + +- **Built:** a GPT writer (`gpt_grow_last`, `kernel/src/gpt.c`): the backup entry array and header + moved to the disk's end, the last partition grown to the last usable sector (whole MiB, capped), + both headers' CRCs, the backup written before the primary, the protective MBR's size. The volume + grown to its partition (`kernel/src/v4/sk_v4_grow.c`): its fence -- the Artemis signature and + Zuse's genesis marker -- moved to the new top, the header written last. Metadata only. The image + builder formats the stick's and the data stick's Artemis with a BAM sized for 256 GiB + (`mkartemis --bam-for`, 6144 devblocks), so the grown blocks are tracked already. +- **Found while building, and followed:** the block subsystem places a volume's fence by its + device's size, not by its header (`blk_format_or_load_disk`), so a volume must always fill its + partition. The partition is therefore grown no further than the volume's BAM tracks, and the + volume grown before Artemis's signature is checked or the disk attached. +- **Tested first, seen to fail:** `stick_grow` (a 16 GiB copy) -- no growth, 1137649 user blocks, + `sfdisk`: the backup GPT not at the end; `stick_small` (4 GiB) -- no line; `check_images.sh` -- + the two BAM checks. After: `stick_grow` grows Artemis to 12129370 user blocks and reaches the + prompt 8 s after POST; the second boot of the same copy is not grown again and recognises Zuse; + `sfdisk --verify`: no errors. `stick_small`: "under 8 GB -- not grown". Regressions pass: + `genesis` (three ISAs), `stick_genesis`, `stick_boot`, `stick_zuse`, `two_sticks`, + `artemis_unsigned`, `midpull`. +- **Accepted:** 538/538 and `POST: PASSED` on the three and the stick loaded high; `dict_hash + 0xfec8c47cfc6f437f` on the three; test-32: 39 programs, 0 failures. +- **For a ruling (not changed):** `blk_flush` rewrites the whole on-disk BAM -- it reads and writes + every BAM page (`bam_flush_to_disk`) on each flush of a dirty block -- and attach reads the whole + BAM. With the BAM sized for 256 GiB, that is 24 MiB each way per flush, where the 2 GiB Artemis's + own BAM was about 140 KiB. Nothing in acceptance flushes a disk block, so it does not show there. + Recommended: flush and read only the BAM pages that hold a volume's user blocks (the same bytes + on disk, v3's behaviour unchanged); it is shared v3 code, so it waits for Captain Bob. + diff --git a/docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md b/docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md index 63777ceb..fa1a663e 100644 --- a/docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md +++ b/docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md @@ -195,7 +195,7 @@ xHCI USB sticks, `scripts/qemu_session.py`. GPT, open Artemis, `sk_v4_grow_artemis`, then on as Task 1. Under 8 GB → the "not grown" line, once. Past the cap → the "left unused" line. -- [ ] **Step 1: Failing tests:** +- [x] **Step 1: Failing tests:** - **`stick_grow`** (amd64, `--target qemu-stick --stick-gib 16`): first boot: `grown to fill the stick`, Artemis's `blk: disk` line over 12000000 user blocks (`KERNEL_ARGS=--log-level=info`), the genesis line, the prompt; the first boot's time printed by the harness (POST to prompt). @@ -205,11 +205,11 @@ xHCI USB sticks, `scripts/qemu_session.py`. prompt. Today: FAIL (no line). - **`check_images.sh`:** the PC stick's and data stick's Artemis BAM is the cap's size (`mkartemis --check` reports it). Today: FAIL. -- [ ] **Step 2:** Run each: FAIL as listed. -- [ ] **Step 3:** Implement. -- [ ] **Step 4:** They pass; regression: `genesis`, `stick_genesis`, `stick_zuse`, `two_sticks`, +- [x] **Step 2:** Run each: FAIL as listed. +- [x] **Step 3:** Implement. +- [x] **Step 4:** They pass; regression: `genesis`, `stick_genesis`, `stick_zuse`, `two_sticks`, `artemis_unsigned`, `midpull` (replug: not grown again). -- [ ] **Step 5:** Suite; full acceptance; commit `feat(kernel): Artemis grows to fill the stick at +- [x] **Step 5:** Suite; full acceptance; commit `feat(kernel): Artemis grows to fill the stick at its first boot -- metadata only, capped at 256 GiB` with the logs and the first-boot time. ### Task 3: acceptance on a fresh data stick diff --git a/experiments/bare_metal/runs/doe-aarch64-20261108-123344.csv b/experiments/bare_metal/runs/doe-aarch64-20261108-123344.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-123140.csv b/experiments/bare_metal/runs/doe-amd64-20261108-123140.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-123847.csv b/experiments/bare_metal/runs/doe-amd64-20261108-123847.csv new file mode 100644 index 00000000..e69de29b diff --git a/experiments/bare_metal/runs/doe-riscv64-20261108-123709.csv b/experiments/bare_metal/runs/doe-riscv64-20261108-123709.csv new file mode 100644 index 00000000..e69de29b diff --git a/logs/20261108-123140/amd64/qemu-amd64-20261108-123140.log b/logs/20261108-123140/amd64/qemu-amd64-20261108-123140.log new file mode 100644 index 00000000..b964d8c2 --- /dev/null +++ b/logs/20261108-123140/amd64/qemu-amd64-20261108-123140.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 12:31:07 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 129 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248949 + Free pages : 247422 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2092774685 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1000725240, tick_hz=100, initial_count=10007252 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10007252) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-123344/aarch64/qemu-aarch64-20261108-123344.log b/logs/20261108-123344/aarch64/qemu-aarch64-20261108-123344.log new file mode 100644 index 00000000..482979ab --- /dev/null +++ b/logs/20261108-123344/aarch64/qemu-aarch64-20261108-123344.log @@ -0,0 +1,133 @@ +UEFI firmware (version 2024.02-2ubuntu0.10 built at 15:40:28 on Sep 23 2026) +[=3h[=3hBdsDxe: failed to load Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x0): Not Found +BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU USB HARDDRIVE 1-0000:00:04.0-1" from PciRoot(0x0)/Pci(0x4,0x0)/USB(0x0,0x0): Not Found +BdsDxe: loading Boot0003 "UEFI Misc Device 2" from PciRoot(0x0)/Pci(0x6,0x0) +BdsDxe: starting Boot0003 "UEFI Misc Device 2" from PciRoot(0x0)/Pci(0x6,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +Collecting boot information... +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 aarch64 +Architecture: aarch64 +Build: Nov 8 2026 12:33:16 + +UEFI BootServices: EXITED +Console: serial line is a PL011 at 0x0000000009000000 (no devicetree: QEMU's) + +=== StarKernel Boot Information === +Memory map entries: 33 +Total memory: 4093 MB +Usable memory: 4054 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 1039455 + Free pages : 1038031 + Used pages : 1424 + Total MB : 4060 + Free MB : 4054 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +AArch64: running at EL1 +IDT installed. + +APIC: init... +PSCI: no DTB -- using HVC (QEMU virt-machine default) +GICv2: no DTB GIC node -- using QEMU virt-machine defaults +GICv2: distributor+CPU interface enabled, PPI 30 +APIC: init done + +Timer: init... +Timer: AArch64 generic timer initialised. +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 2147483608 + Free bytes: 2147483608 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 1207959552 + Heap end addr: 3355443200 + +Heartbeat: init... +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +virtio-rng: found device +rng: backend = virtio-rng +entropy: ready +virtio-input: found device +virtio-input: driver ready +Starting heartbeat... +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-123709/riscv64/qemu-riscv64-20261108-123709.log b/logs/20261108-123709/riscv64/qemu-riscv64-20261108-123709.log new file mode 100644 index 0000000000000000000000000000000000000000..697f99380f5c22f128c2211063188549b481860c GIT binary patch literal 7993 zcmbtZZFAa4628w=@eA^$@4kfG8KQTDvc6i3am>Z6IdHPOm!vqojEu@4v666JDnI_7 z9!W^XY<90KyKH8r^>j~9PftHXyLG)4@#1Vk_i9gXw}@zo2mc;D+`lYFE*zfp%j^T-SOhJOuNdd~PzgTM0Q2NwMxk$>P< z3R%{LAAX;KUvdLYJls>^F4<%TSiby5Jr?7}H+~m?i+=q5%S-v0q00vXjRsGq-I}f4 zJWSFJ{p4;$B`E(plt!6<-@T90JW5V}6PsN_{6e_-E*07S6^Aw=5NmPU5V{=BZ)lY4 z;=B}dNNo&HW)nIW_mN*IcF6VDQJi--*{7%>coS_z+7zt?b2;=QsY>x&er>!rO5!Y8 zi~3E6c5a&6nyECTE*H~Uf(>=3+wC?4X4ALd7nln#N%Dq_Ls=9?_hOlgEN>t!R=Ye% zKE->{-xb_t22lZ_k2%HypBkrV+^OPq1I$lXz5ut)1*9;tU0 zi(vTg_4r)eLcO9?FU#@I<=QHWR($Fz54u7;GTy)8 zl3eiyD!R-)>US}<-^G-sKE%`;n7{nKo%(Ui$_v0`oaQ5E4?9oxs70f8!B66IPQxHT zY?c1!2(2JXzcv=CkWX)GpEc#ZP{>yg@TW;o?>L7R-3>ZwnZ=iEj?mukHD25=B6}dP zDAPmff>NN}s^e;MUb}}s$@r>=i#4xBssODeW@&Wa40MN&R#j{2kSS)e7*;R+*GFHcn(Qr1V zPf@;#VlpWcei8>6;bbimsSAJvEvrWS#5!z%Yj0 z@u+Wh4cj!kL(@3#+R6YOnxS4;BeM02iwm2N(6b;r|12B|-DoWW$`e{AZa^GF>@WJ; z+wsMOrYIxIqv~%IrtMa;p_w1eA=QD0U%W&EAJh|WIP?>&y+F+n?0u)cQq;?b?px$; z`bMO&Sd-Lo1-$~${6C6s>8=c)5!f44ko4N>$ z_+ePaD<0T@>lRLZ^M5*xe^_O;Ql&shI$V#Q7qnOJnm%S~u zjyAzn6vIhdH^l)(*KcY|jE_*e*|<39fh$Updffa-&3f5G7Vv_`SmHf22Pt zX@8`lm%x9B0m072evfhvgar<1RCpPsB2T}-hGYw;VJ7u56-&_B?4ABXdQO&~mO)W2 zHe~elp6Q}oa`P?08@V7iuNDOw0p0NgTrUWAzt0lOWwG>2Xif76VqT!DrqGZSOIu6({Ix&{hN$VH41-0S;7>?=-mW7*%BjBMF!fh(y3drQ z7s>)ldM^6!rVtOm6$Cf6zB%H=zFL;n~loQzVlp$MirE0whrG z;jI^CdE{pfM_{3O>)sZoDCz(NkLUu^LpDP%PEpMmn1<|r%L%aRw)h085T<7cSceA1 zmXoi;*0K+aK_uU;`mp2Lt#=O%qz?SDg@XBTdP1YQUM2#W@cv)fOsvB$lQ+=X0`>Y$ zv8Y^7qVU~6g&li&q~6VTEph>WwOf<(8~6}D!x_OIL?q58BS-pG=D67vHxU-+H)q5R zd`5MM#IegbL2`r;Gw|-lMF``J2t?@a)<_~A2;M1z%r8tq6cu2+X4EOFN?3zrjG9(G zp?rl(VU?_dQw6fM9TX%njyyyWQ|X3nWxFg%xMHKxVoo*JrpvF?xfotuoef8CPIwk| za6?4{Z?B^~&Q?qW9|o7CeMh6q`+|i)F{fL0U$OgG`!c}j*hmp4<%o>1nQ-r@l9fGD z7yFM~)cS}}O*PDcW^#E;BuANiSEGGXH7woGWKzIrntQnYXn5+Nubgc;*Znk$gS!zQ za+7B}AE#p$?$&?hMUZ_#l-+SuUr+J`;I50r9eAhEvRkLglL5ULi$RfnM4NCo|Sul$G@vQE zWg!p;s_B8|9a)Coz%rj02Q|c@0iK~6N?+B3z&86KzEU}2fCoZ(_rz6bU>umxw{)d1 zLL|k$9biKqHDR6HK5Y#ufCJ^BZ<&T7EYH>q*VMeD%JF5z)09^L2g)tmFkM$M?7-^_ zkLl$R=c7P*n(_+ZK)ESGMb%Z!SNdLm;NvW)5A^xwvCa`6p? zXaXufbK}FYv>MN$N3|ut`VSDX|+4bUvm>pnhx(!B?6(9H> z>=XxAExGu0aWgKQw)FXnuv1;_70!w zjiOVwrlX73vI=`u5{By1Bn0K~_|9lN8cxAQ^^&l(TgCTz-88<%#U0=GlvO(}F}RCg z;^OyI(vB!$!FG%3X0ipjOobcZ)~f`O1JX(* Nlz 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/logs/20261108-123847/verdicts/accept-aarch64.txt b/logs/20261108-123847/verdicts/accept-aarch64.txt new file mode 100644 index 00000000..36ef9e5b --- /dev/null +++ b/logs/20261108-123847/verdicts/accept-aarch64.txt @@ -0,0 +1,8 @@ +=== nightly: org.starship:kernelImage:4.0.0-alpha.3-SNAPSHOT from a5c11366; accept aarch64 +LOG: logs/20261108-123344/aarch64/qemu-aarch64-20261108-123344.log +PASS: POST: PASSED +PASS: Boot disk: not a StarshipOS stick (an ISO or ESP boot) +PASS: Zuse: identity confirmed +PASS: [zuse@Hera] ok> +PASS: 7 ok, and a prompt +RESULT: PASS diff --git a/logs/20261108-123847/verdicts/accept-amd64.txt b/logs/20261108-123847/verdicts/accept-amd64.txt new file mode 100644 index 00000000..5bdf8d05 --- /dev/null +++ b/logs/20261108-123847/verdicts/accept-amd64.txt @@ -0,0 +1,8 @@ +=== nightly: org.starship:kernelImage:4.0.0-alpha.3-SNAPSHOT from a5c11366; accept amd64 +LOG: logs/20261108-123140/amd64/qemu-amd64-20261108-123140.log +PASS: POST: PASSED +PASS: Boot disk: not a StarshipOS stick (an ISO or ESP boot) +PASS: Zuse: identity confirmed +PASS: [zuse@Hera] ok> +PASS: 7 ok, and a prompt +RESULT: PASS diff --git a/logs/20261108-123847/verdicts/accept-riscv64.txt b/logs/20261108-123847/verdicts/accept-riscv64.txt new file mode 100644 index 00000000..75692cee --- /dev/null +++ b/logs/20261108-123847/verdicts/accept-riscv64.txt @@ -0,0 +1,8 @@ +=== nightly: org.starship:kernelImage:4.0.0-alpha.3-SNAPSHOT from a5c11366; accept riscv64 +LOG: logs/20261108-123709/riscv64/qemu-riscv64-20261108-123709.log +PASS: POST: PASSED +PASS: Boot disk: not a StarshipOS stick (an ISO or ESP boot) +PASS: Zuse: identity confirmed +PASS: [zuse@Hera] ok> +PASS: 7 ok, and a prompt +RESULT: PASS diff --git a/logs/20261108-123847/verdicts/accept-stick-high.txt b/logs/20261108-123847/verdicts/accept-stick-high.txt new file mode 100644 index 00000000..1c92a213 --- /dev/null +++ b/logs/20261108-123847/verdicts/accept-stick-high.txt @@ -0,0 +1,11 @@ +=== nightly: org.starship:kernelImage:4.0.0-alpha.3-SNAPSHOT from a5c11366; accept stick-high +LOG: logs/20261108-123847/amd64/qemu-amd64-20261108-123847.log +PASS: POST: PASSED +PASS: Boot disk: a StarshipOS stick +PASS: Artemis: the stick's partition attached +PASS: Zuse: identity confirmed +PASS: [zuse@Hera] ok> +PASS: 7 ok +PASS: no fault +RESULT: PASS +=== nightly: dict_hash on the three: 0xfec8c47cfc6f437f diff --git a/logs/20261108-123847/verdicts/test-32.txt b/logs/20261108-123847/verdicts/test-32.txt new file mode 100644 index 00000000..2240dd95 --- /dev/null +++ b/logs/20261108-123847/verdicts/test-32.txt @@ -0,0 +1,286 @@ + [V4_CELL_BITS=32 run-32-test_asm.c] +v4 asm tests: V4_CELL_BITS=32 + 32 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_cells.c] +v4 single-cell word tests: V4_CELL_BITS=32 + code: 99 of 1024 words + NIP headroom: data 7 below canary, return 7 below its return address + SWAP headroom: data 6 below canary, return 6 below its return address + ROT headroom: data 5 below canary, return 4 below its return address + -ROT headroom: data 5 below canary, return 5 below its return address + ?DUP headroom: data 7 below canary, return 8 below its return address + +! headroom: data 7 below canary, return 8 below its return address + -! headroom: data 7 below canary, return 8 below its return address + 2@ headroom: data 7 below canary, return 8 below its return address + 2! headroom: data 6 below canary, return 6 below its return address + - headroom: data 6 below canary, return 8 below its return address + MIN headroom: data 3 below canary, return 6 below its return address + MAX headroom: data 3 below canary, return 6 below its return address + OR headroom: data 6 below canary, return 8 below its return address + 0> headroom: data 8 below canary, return 8 below its return address + <> headroom: data 7 below canary, return 8 below its return address + < headroom: data 5 below canary, return 7 below its return address + > headroom: data 5 below canary, return 6 below its return address + <= headroom: data 5 below canary, return 6 below its return address + >= headroom: data 5 below canary, return 6 below its return address + U< headroom: data 5 below canary, return 7 below its return address + WITHIN headroom: data 3 below canary, return 5 below its return address + 21420 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_console.c] +v4 console tests: V4_CELL_BITS=32, capture 4096 characters + 312 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_exec.c] +v4 exec tests: V4_CELL_BITS=32 + 3099 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_fabric.c] +v4 fabric tests: V4_CELL_BITS=32, 8 ports to a node + 334 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_foundation.c] +v4 foundation tests: V4_CELL_BITS=32 + code: 958 of 1024 words + Q.+ random cases that overflow Q48.16: 2682 of 20000 + Q.> as written (SWAP D<): 11702 wrong of 20169 + (UQ/) cases run: 8687 + UM* headroom: data 5 below canary, return 6 below its return address + UM/MOD headroom: data 5 below canary, return 6 below its return address + ABS headroom: data 7 below canary, return 7 below its return address + U> headroom: data 5 below canary, return 5 below its return address + D+ headroom: data 5 below canary, return 5 below its return address + DNEGATE headroom: data 6 below canary, return 7 below its return address + DABS headroom: data 6 below canary, return 6 below its return address + M+ headroom: data 5 below canary, return 4 below its return address + M- headroom: data 4 below canary, return 5 below its return address + M* headroom: data 5 below canary, return 4 below its return address + M/MOD headroom: data 4 below canary, return 3 below its return address + MOD headroom: data 4 below canary, return 2 below its return address + */MOD headroom: data 4 below canary, return 2 below its return address + */ headroom: data 4 below canary, return 2 below its return address + D0< headroom: data 7 below canary, return 7 below its return address + D2* headroom: data 6 below canary, return 7 below its return address + D2/ headroom: data 7 below canary, return 7 below its return address + 2ROT headroom: data 2 below canary, return 1 below its return address + D- headroom: data 4 below canary, return 4 below its return address + D0= headroom: data 6 below canary, return 7 below its return address + D= headroom: data 4 below canary, return 3 below its return address + < headroom: data 5 below canary, return 7 below its return address + = headroom: data 7 below canary, return 7 below its return address + D< headroom: data 3 below canary, return 3 below its return address + (D<) headroom: data 2 below canary, return 5 below its return address + 2SWAP headroom: data 4 below canary, return 4 below its return address + 2OVER headroom: data 2 below canary, return 3 below its return address + DMAX headroom: data 2 below canary, return 4 below its return address + DMIN headroom: data 2 below canary, return 4 below its return address + Q.> (2SWAP D<) headroom: data 3 below canary, return 2 below its return address + Q.* headroom: data 2 below canary, return 3 below its return address + (UQ/) headroom: data 3 below canary, return 4 below its return address + Q./ headroom: data 2 below canary, return 3 below its return address + Q.EXP headroom: data 2 below canary, return 2 below its return address + Q.SQRT headroom: data 2 below canary, return 2 below its return address + Q.LOG headroom: data 2 below canary, return 2 below its return address + (Q.REDUCE) headroom: data 4 below canary, return 5 below its return address + Q.SIN headroom: data 2 below canary, return 2 below its return address + Q.COS headroom: data 2 below canary, return 2 below its return address + LSHIFT headroom: data 6 below canary, return 5 below its return address + RSHIFT headroom: data 6 below canary, return 5 below its return address + C@ headroom: data 7 below canary, return 7 below its return address + C! headroom: data 6 below canary, return 7 below its return address + SM/REM headroom: data 4 below canary, return 3 below its return address + /MOD headroom: data 4 below canary, return 2 below its return address + / headroom: data 4 below canary, return 2 below its return address + * headroom: data 5 below canary, return 5 below its return address + 1023754 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_guard.c] +v4 guard tests: V4_CELL_BITS=32, data bound 1, return bound 1 + 60 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_heat.c] +v4 heat tests: V4_CELL_BITS=32 + 8272 checks, 0 failures +cd /home/user/LithosAnanake/v4/build/v3o && cc -std=gnu99 -Wall -O2 -g -I/home/user/LithosAnanake/v3/include -I/home/user/LithosAnanake/kernel/include -c /home/user/LithosAnanake/v3/src/block_subsystem.c /home/user/LithosAnanake/v3/src/blkio_ram.c /home/user/LithosAnanake/v3/src/blkio_file.c /home/user/LithosAnanake/v3/src/log.c /home/user/LithosAnanake/v3/src/platform/platform_init.c /home/user/LithosAnanake/v3/src/platform/linux/time.c +ld -r /home/user/LithosAnanake/v4/build/v3o/*.o -o /home/user/LithosAnanake/v4/build/v3blocks.o +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_blocks.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_blocks.c + [V4_CELL_BITS=32 run-32-test_host_blocks.c] +v4 block request tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + 46 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_codegen.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_codegen.c + [V4_CELL_BITS=32 run-32-test_host_codegen.c] +v4 host code generator tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + code: 1584 words + 856 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_compile.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_compile.c + [V4_CELL_BITS=32 run-32-test_host_compile.c] +v4 host compiler tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + capsule: 4245 words + a line may have 27 values on the stack while the interpreter reads its next word + a word run from the interpreter has 29 return entries to itself + defining and running a word leaves 25 data cells under it untouched + 1088 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_depth.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_depth.c + [V4_CELL_BITS=32 run-32-test_host_depth.c] +v4 mesh depth tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + a text that prints 20..32 values: works to 28, then a stack error and nothing else; calls: works to 23 deep; 19 worked, 14 clean errors, 0 failures + SEND 20..32 values: works to 26, then a stack error and nothing else; calls: works to 26 deep; 20 worked, 13 clean errors, 0 failures + SEND with no way 20..32 values: works to 26, then a stack error and nothing else; calls: works to 27 deep; 21 worked, 12 clean errors, 0 failures + AWAIT answered 20..32 values: works to 26, then a stack error and nothing else; calls: works to 24 deep; 18 worked, 15 clean errors, 0 failures + AWAIT ended by a GONE 20..32 values: works to 26, then a stack error and nothing else; calls: works to 24 deep; 18 worked, 15 clean errors, 0 failures + passing on while its text waits for room 20..32 values: works to 26, then a stack error and nothing else; calls: works to 17 deep; 11 worked, 22 clean errors, 0 failures + AWAIT broken by a line from the console 20..32 values: works to 26, then a stack error and nothing else; calls: works to 24 deep; 18 worked, 15 clean errors, 0 failures + a refusal while its text waits for room 20..32 values: works to 26, then a stack error and nothing else; calls: works to 17 deep; 11 worked, 22 clean errors, 0 failures + GONE 20..32 values: works to 27, then a stack error and nothing else; calls: works to 26 deep; 21 worked, 12 clean errors, 0 failures + a spent message refused while its text waits 20..32 values: works to 26, then a stack error and nothing else; calls: works to 17 deep; 11 worked, 22 clean errors, 0 failures + 330 runs: 168 worked, 162 ended in a stack error and nothing else, 0 did neither + 397 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_dict.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_dict.c + [V4_CELL_BITS=32 run-32-test_host_dict.c] +v4 host dictionary tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + code: 1486 words + 300 entries in 1918 cells + FIND headroom: data 28 below canary, return 28 below its return address + (') headroom: data 28 below canary, return 28 below its return address + MAKE headroom: data 28 below canary, return 28 below its return address + , headroom: data 28 below canary, return 31 below its return address + ALLOT headroom: data 28 below canary, return 30 below its return address + 708 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_input.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_input.c + [V4_CELL_BITS=32 run-32-test_host_input.c] +v4 host input tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + code: 1078 words + WORD headroom: data 28 below canary, return 29 below its return address + NUMBER headroom: data 24 below canary, return 25 below its return address + EXPECT headroom: data 28 below canary, return 30 below its return address + ENCLOSE headroom: data 25 below canary, return 28 below its return address + 6569 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_mesh.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_mesh.c + [V4_CELL_BITS=32 run-32-test_host_mesh.c] +v4 mesh tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + the flood: 266 sends tried: 2 refused at once, 120 let go on the way, 144 done; 1 of the two texts that set a node sending let go; (LOST) 121, (REFUSED) 123 + between texts the nucleus used at most 3 cells of the data stack and 4 entries of the return stack + a node removed or a wire cut: 19950 times in all + 244 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_node.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_node.c + [V4_CELL_BITS=32 run-32-test_host_node.c] +v4 host node tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + 45 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_quit.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_quit.c + [V4_CELL_BITS=32 run-32-test_host_quit.c] +v4 host prompt tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + capsule: 6876 words + from the prompt, words may call each other 31 deep + 28 values may wait on the stack while the next line is typed and interpreted + defining and running a word from the prompt leaves 25 data cells under it untouched + .S prints a stack of up to 26 values; it needs 6 cells free + WORDS: 314 names, longest line 75 columns + 1330 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_asm.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_asm.c + [V4_CELL_BITS=32 run-32-test_host_rom_asm.c] +test_host_rom_asm: 466 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_in.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_in.c + [V4_CELL_BITS=32 run-32-test_host_rom_in.c] +test_host_rom_in: 26 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_math.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_math.c + [V4_CELL_BITS=32 run-32-test_host_rom_math.c] +v4 ROM math tests: V4_CELL_BITS=32 + the host ROM: 2372 words; the mesh ROM: 277 words + 156 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_nucleus.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_nucleus.c + [V4_CELL_BITS=32 run-32-test_host_rom_nucleus.c] + the ROM assembled the system: 59135636 instructions, 15451336 instruction words, 0.69 s (32-bit cells) +test_host_rom_nucleus: 6 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_num.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_num.c + [V4_CELL_BITS=32 run-32-test_host_rom_num.c] +test_host_rom_num: 31 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_pack.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_pack.c + [V4_CELL_BITS=32 run-32-test_host_rom_pack.c] +test_host_rom_pack: 7 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_range.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_range.c + [V4_CELL_BITS=32 run-32-test_host_rom_range.c] +test_host_rom_range: 19 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_sym.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_sym.c + [V4_CELL_BITS=32 run-32-test_host_rom_sym.c] +test_host_rom_sym: 81 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_unit.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_unit.c + [V4_CELL_BITS=32 run-32-test_host_unit.c] +v4 unit tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + not run at this width: the capsules are the 64-bit products' + [V4_CELL_BITS=32 run-32-test_iword.c] +v4 iword tests: V4_CELL_BITS=32 + 1763 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_loops.c] +v4 loop tests: V4_CELL_BITS=32 + code: 298 of 1024 words + loops run against C: 3008 (1696 more would run past 63 times and were left out) + DO .. LOOP headroom: data 5 below canary, return 6 below its return address + DO .. +LOOP headroom: data 5 below canary, return 6 below its return address + ?DO .. LOOP headroom: data 5 below canary, return 6 below its return address + DO .. LEAVE .. LOOP headroom: data 5 below canary, return 6 below its return address + nested DO, I and J headroom: data 5 below canary, return 4 below its return address + 3104 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_manage.c] +v4 manage tests: V4_CELL_BITS=32 + 52 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_node.c] +v4 node tests: V4_CELL_BITS=32, 1024 words + node: 1024 words + 52 head + 52 tail boundary (10.2% overhead) + 1068 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_numout.c] +v4 number-output tests: V4_CELL_BITS=32 + code: 382 of 1024 words + SPACES headroom: data 6 below canary, return 7 below its return address + . headroom: data 3 below canary, return 2 below its return address + .R headroom: data 3 below canary, return 2 below its return address + U. headroom: data 3 below canary, return 3 below its return address + U.R headroom: data 3 below canary, return 3 below its return address + D. headroom: data 3 below canary, return 2 below its return address + D.R headroom: data 3 below canary, return 2 below its return address + 25242 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_pictured.c] +v4 pictured-output tests: V4_CELL_BITS=32 + <# #S #> headroom: data 3 below canary, return 3 below its return address + signed picture headroom: data 3 below canary, return 2 below its return address + 4716 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_port.c] +v4 port tests: V4_CELL_BITS=32 + 25 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_printing.c] +v4 printing tests (? Q.PRINT DUMP BASE HLD): V4_CELL_BITS=32 + code: 506 of 1024 words + DECIMAL headroom: data 7 below canary, return 8 below its return address + ? headroom: data 3 below canary, return 2 below its return address + Q.PRINT headroom: data 3 below canary, return 3 below its return address + DUMP headroom: data 3 below canary, return 4 below its return address + 13439 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_stack.c] +v4 stack tests: V4_CELL_BITS=32, data depth 10, return depth 9 + exhaustive: 2046 sequences of length <= 10 + differential: 200000 ops + 730137 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_strings.c] +v4 string tests: V4_CELL_BITS=32 + code: 234 of 1024 words + COUNT headroom: data 6 below canary, return 6 below its return address + CMOVE headroom: data 4 below canary, return 5 below its return address + CMOVE> headroom: data 3 below canary, return 5 below its return address + MOVE headroom: data 5 below canary, return 6 below its return address + FILL headroom: data 4 below canary, return 5 below its return address + BLANK headroom: data 4 below canary, return 5 below its return address + -TRAILING headroom: data 5 below canary, return 6 below its return address + COMPARE headroom: data 3 below canary, return 5 below its return address + SEARCH headroom: data 2 below canary, return 5 below its return address + SCAN headroom: data 4 below canary, return 5 below its return address + SKIP headroom: data 4 below canary, return 5 below its return address + 16729 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_terminal.c] +v4 terminal-output tests: V4_CELL_BITS=32 + KEY headroom: data 8 below canary + EMIT headroom: data 7 below canary, return 8 below its return address + CR headroom: data 7 below canary, return 8 below its return address + TYPE headroom: data 5 below canary, return 6 below its return address + 1212 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_text.c] +v4 text assembler tests: V4_CELL_BITS=32 + 231 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_umul.c] +v4 umul tests: V4_CELL_BITS=32 + 2009 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_wire.c] +v4 wire tests: V4_CELL_BITS=32, 1024 cells to a queue + 112 checks, 0 failures -- 2.54.0 From def2336fc412096fc6e71b5a52d29e6c40f10c16 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 13:01:30 +0000 Subject: [PATCH 35/57] FABRIC-3 XLVIII.10: retire v3, ruled for alpha.5 (#156); #155 filed [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- docs/fabric/FABRIC-3.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/fabric/FABRIC-3.md b/docs/fabric/FABRIC-3.md index d08233e3..dd34ad6c 100644 --- a/docs/fabric/FABRIC-3.md +++ b/docs/fabric/FABRIC-3.md @@ -6366,3 +6366,18 @@ Plan `2026-10-29-stick-5`, Task 2; `STICK.md` 5a (its 2 TiB cap amended to 256 G Recommended: flush and read only the BAM pages that hold a volume's user blocks (the same bytes on disk, v3's behaviour unchanged); it is shared v3 code, so it waits for Captain Bob. + +### 10. Retire v3 (2026-11-08) + +- **Ruled** (Captain Bob): "v3 dependencies for v4 should be moved to v4 and the v3 code retired and + removed" -- in **alpha.5**, after #92 ships the plug-and-play stick in alpha.4. #156. +- **What v4 takes from v3 today:** the block layer (`block_subsystem.c`, `blkio`, `log`, the + platform time) and the `VM *` type in two kernel headers. The v4 engine includes nothing from v3; + a v4 boot branches to `sk_v4_run()` before v3's VM is set up. +- **My calls, open to a ruling when alpha.5 starts** (no preference given): tag the tree first + (`archive/v3-final`); the block layer to `v4/storage/`; `proof/` (all 52 theories are of the v3 + VM) archived under the tag and removed with the nightly `proofs` stage; the v3-only features -- + the fleet, the word ACL, MINT/WIREBIND, the DoE runtime -- go with v3, their designs kept here and + in the tag, for v4 to rebuild. +- **Also filed** (#155, alpha.4, for a ruling): a block flush rewrites the whole BAM, 24 MiB each way + now that the stick's BAM is sized for 256 GiB (section 9). -- 2.54.0 From e26c809a174bbce9bb1fcadbe4a2fa67032a7574 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 13:02:01 +0000 Subject: [PATCH 36/57] logs: the zuse session stopped by Captain Bob mid-run (#92, Task 3 -- not a verdict) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .../amd64/qemu-amd64-20261108-125628.log | 141 ++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 logs/20261108-125628/amd64/qemu-amd64-20261108-125628.log diff --git a/logs/20261108-125628/amd64/qemu-amd64-20261108-125628.log b/logs/20261108-125628/amd64/qemu-amd64-20261108-125628.log new file mode 100644 index 00000000..0da16ce1 --- /dev/null +++ b/logs/20261108-125628/amd64/qemu-amd64-20261108-125628.log @@ -0,0 +1,141 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 12:55:56 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 129 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248947 + Free pages : 247420 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2082551500 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1000276400, tick_hz=100, initial_count=10002764 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 -- 2.54.0 From ec9eb5f2256cb7761e2352cf3e044b572d7a30dc Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 13:02:43 +0000 Subject: [PATCH 37/57] FABRIC-3 XLVIII.10: retiring v3 is its own milestone (#156) [skip ci] Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- docs/fabric/FABRIC-3.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/fabric/FABRIC-3.md b/docs/fabric/FABRIC-3.md index dd34ad6c..839ff0d4 100644 --- a/docs/fabric/FABRIC-3.md +++ b/docs/fabric/FABRIC-3.md @@ -6370,7 +6370,8 @@ Plan `2026-10-29-stick-5`, Task 2; `STICK.md` 5a (its 2 TiB cap amended to 256 G ### 10. Retire v3 (2026-11-08) - **Ruled** (Captain Bob): "v3 dependencies for v4 should be moved to v4 and the v3 code retired and - removed" -- in **alpha.5**, after #92 ships the plug-and-play stick in alpha.4. #156. + removed" -- after #92 ships the plug-and-play stick in alpha.4, as **its own milestone**, "Retire + v3" (first placed in alpha.5; then "That is its own milestone"). #156. - **What v4 takes from v3 today:** the block layer (`block_subsystem.c`, `blkio`, `log`, the platform time) and the `VM *` type in two kernel headers. The v4 engine includes nothing from v3; a v4 boot branches to `sk_v4_run()` before v3's VM is set up. -- 2.54.0 From 9d6410c06f4d280860577078851361af83ea0a24 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 13:13:25 +0000 Subject: [PATCH 38/57] wip(build): acceptance boots a fresh data stick -- every run is a first boot (#92, Task 3) [skip ci] Not yet accepted (plan 2026-10-29-stick-5, Task 3). - kernel/Makefile: a v4 `qemu` boot attaches a fresh data stick (DATASTICK=1) and nothing else; ARTDISK/ZUSEDISK keep the minted pair only for system=v3 (QEMU_V3_BOOT, from KERNEL_ARGS). - qemu_session.py: the Makefile's defaults for every mode but those that ask for the pair by name (stick_artemis, two_sticks, artemis_unsigned, raw_ident, v3_keys) or for no drive; `zuse` now expects the genesis line. - nightly.sh: accept stick-high runs stick_genesis (the stick as built). - .claude/CLAUDE.md "The disks", the stick-high line; disk/README.md (the pair: tests and v3 only); STICK.md 11, increments 3 and 5 done. Before the change: zuse on amd64 FAIL -- the pair's "identity confirmed", no genesis line (logs/20261108-130732). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2 --- .claude/CLAUDE.md | 26 +-- disk/README.md | 9 +- docs/v4.0.0/STICK.md | 5 + .../runs/doe-amd64-20261108-130732.csv | 0 kernel/Makefile | 23 ++- .../amd64/qemu-amd64-20261108-130732.log | 161 ++++++++++++++++++ scripts/nightly.sh | 4 +- scripts/qemu_session.py | 29 +++- 8 files changed, 227 insertions(+), 30 deletions(-) create mode 100644 experiments/bare_metal/runs/doe-amd64-20261108-130732.csv create mode 100644 logs/20261108-130732/amd64/qemu-amd64-20261108-130732.log diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 1fcabe4f..f181b183 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -291,8 +291,9 @@ The vendored hosted `make` build (above) is NEVER used to validate kernel change make -f kernel/Makefile ARCH=amd64 clean qemu make -f kernel/Makefile ARCH=aarch64 clean qemu make -f kernel/Makefile ARCH=riscv64 clean qemu -# ...the PC stick loaded above 2 GiB, as a PC's firmware loads it (pc machine, 3 GiB; with -# Zuse's pair in the stick: scripts/qemu_session.py stick_zuse amd64 --target qemu-stick-high): +# ...the PC stick loaded above 2 GiB, as a PC's firmware loads it (pc machine, 3 GiB; the stick as +# built, its first boot minting its own Zuse: scripts/qemu_session.py stick_genesis amd64 +# --target qemu-stick-high): make -f kernel/Makefile ARCH=amd64 clean qemu-stick-high # ...and the 32-bit build -- v4 with 32-bit cells, the F18/Zynq (FPGA) case: its nucleus # image and every v4 test at that width (no QEMU; not a substitute for the boots above): @@ -326,14 +327,17 @@ audit artifacts — they are committed to the repo. Do not delete them. There is timestamped convention (self-documented via its own README); not a contradiction, just a second, less-structured log location. -**The disks (Captain Bob, 2026-10-26, the identity gate):** with no identity thumbdrive the system -is headless -- no prompt -- so every boot needs Zuse. `kernel/Makefile`'s `ARTDISK` and `ZUSEDISK` -default to the minted Zuse pair, `disk/zuse-scratch/artemis.img` and `zuse-thumb-ident.img` (a -pair: her genesis marker is on that Artemis disk; `disk/README.md`). Since 2026-10-28 `ZUSEDISK` -is that pair laid out as a stick (`make ... zusestick`, `build//kernel/zusestick.img`, made -fresh for every boot: identity and Artemis partitions on one USB disk, STICK.md §4); `ARTDISK` -stays the pair's Artemis file. v3 reads identity drives raw, never through a GPT, so a `system=v3` -boot needs `ZUSEDISK=disk/zuse-scratch/zuse-thumb-ident.img` (a copy) to log Zuse in. Put both back as committed (`git checkout -- disk/zuse-scratch`) +**The disks (plan 2026-10-29-stick-5, Task 3, 2026-11-08):** with no identity the system is +headless -- no prompt -- so every boot needs Zuse. A v4 `qemu` boot attaches a **fresh data stick** +(`DATASTICK`, `make ... datastick`, `build//kernel/datastick.img`: identity and Artemis +partitions, made fresh for every boot) and nothing else: its first boot mints the stick's proxy +Zuse (STICK.md §6), so **every acceptance run is a first boot** -- plug and play. `DATASTICK=` +boots v4 with no drive (headless). The minted Zuse pair (`disk/zuse-scratch/`, `disk/README.md`) +is for the tests that ask for it by name (`scripts/qemu_session.py`: `stick_zuse`, `two_sticks`, +`stick_artemis`, `raw_ident`, `v3_keys`, the hot-plug and GPT modes) and for `system=v3`, whose +defaults are unchanged: `ARTDISK` the pair's Artemis, `ZUSEDISK` the pair as a stick (v3 reads +identity drives raw, so a `system=v3` boot needs `ZUSEDISK=disk/zuse-scratch/zuse-thumb-ident.img`, +a copy, to log Zuse in). Put the pair back as committed (`git checkout -- disk/zuse-scratch`) before each architecture. The prompt is `[zuse@Hera] ok> `. Do not claim a change is accepted until all three architectures have booted, and their logs are @@ -343,7 +347,7 @@ present in `logs/`: the three; - **the PC stick loaded high** (Captain Bob, 2026-10-29, after the SER5 page-faulted in the loader -- q35 always loads the image below 2 GiB, a PC's firmware does not; `FABRIC-3.md` - §XLIV): `qemu-stick-high` to `[zuse@Hera] ok> ` with the same `PARITY:V4_POST ... fail=0` and + §XLIV): `qemu-stick-high` -- the stick as built, a first boot -- to `[zuse@Hera] ok> ` with the same `PARITY:V4_POST ... fail=0` and `POST: PASSED`. The amd64 link also refuses any 32-bit absolute or GOT relocation in the image; don't work around that check, fix the code it names; - **the 32-bit build** (Captain Bob, 2026-10-14: "the 32 bit build needs to go into the diff --git a/disk/README.md b/disk/README.md index 039c18d0..55d7ec5c 100644 --- a/disk/README.md +++ b/disk/README.md @@ -168,7 +168,14 @@ carrying timestamp noise in git history. image's bytes, each exactly its file's size), fresh before every boot, and that is `ZUSEDISK`'s default; `make boot_image TARGET=PC STICK_PAIR=disk/zuse-scratch` puts the pair in the PC stick the same way. - The files here are unchanged. Increment 5 retires the pair. + The files here are unchanged. + + **For tests and v3 only (2026-11-08, plan 2026-10-29-stick-5, Task 3):** a + v4 `qemu` boot no longer attaches the pair; it attaches a fresh data stick, + whose first boot mints its own Zuse. The pair stays for the tests that ask + for a known Zuse by name (`scripts/qemu_session.py`'s `stick_zuse`, + `two_sticks`, `stick_artemis`, `raw_ident`, `v3_keys`, the hot-plug and GPT + modes) and as the defaults of a `system=v3` boot. - **The StarshipOS stick and data stick are not here** (2026-10-27, `docs/v4.0.0/STICK.md` §4, §9): they are build output, made fresh by diff --git a/docs/v4.0.0/STICK.md b/docs/v4.0.0/STICK.md index f3edfd16..1910a967 100644 --- a/docs/v4.0.0/STICK.md +++ b/docs/v4.0.0/STICK.md @@ -352,6 +352,9 @@ first and seen to fail: `qemu` targets behind `DATASTICK=1`, off by default -- until increments 4 and 5 the kernel cannot take Artemis from it or mint Zuse onto it, so as the default it would leave every acceptance boot headless. Increment 5 turns it on and retires the scratch pair and the virtio disk. + **Done 2026-11-08** (plan `2026-10-29-stick-5`, Task 3): a v4 `qemu` boot attaches a fresh data + stick and nothing else; the scratch pair stays only for the tests that ask for it and for + `system=v3`. 4. **Artemis and Zuse from one disk:** the boot device from the loader, the partitions found and attached, virtio Artemis off the v4 path; recognition of a minted stick; entropy on the v4 path; `system=v3` refused on a stick (§4, §5). @@ -361,6 +364,8 @@ first and seen to fail: recorded) and a 4 GB one (below the minimum: not grown, said so). **Amended 2026-10-29:** the genesis is the proxy's, with the version 2 marker (§6); the fresh stick's first boot reaching `[zuse@Hera] ok>` with nothing set up is the test of plug and play. + **Done 2026-11-08** (plan `2026-10-29-stick-5`, Tasks 1-3; `FABRIC-3.md` XLVIII.8-9): growth is + capped at 256 GiB (R1); every acceptance run is now a first boot. 5a. **The real Zuse stick (2026-10-29)** (§6a): `MINT-ZUSE` and its confirmation, the GPT and identity written to the second stick, the marker's real key; recognition of the real Zuse stick; the fixed screen and its R; the old stick refused after a replacement. diff --git a/experiments/bare_metal/runs/doe-amd64-20261108-130732.csv b/experiments/bare_metal/runs/doe-amd64-20261108-130732.csv new file mode 100644 index 00000000..e69de29b diff --git a/kernel/Makefile b/kernel/Makefile index 6a6c0c0a..6ce5b28d 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -134,12 +134,17 @@ DOE_RUNS_DIR := experiments/bare_metal/runs DOE_LATEST_DIR := experiments/bare_metal/latest CAPSULES_DIR ?= capsules -# ARTDISK and ZUSEDISK default to the minted Zuse pair (disk/zuse-scratch/, +# The disks a `qemu` boot attaches (plan 2026-10-29-stick-5, Task 3; STICK.md 9). A v4 boot -- every +# boot but `system=v3` -- attaches a fresh data stick (DATASTICK, below) and nothing else: every +# acceptance run is a first boot, the proxy Zuse minted on it, the prompt with nothing set up. A +# `system=v3` boot (KERNEL_ARGS) keeps the defaults it has always had: the minted pair below. +QEMU_V3_BOOT := $(findstring system=v3,$(KERNEL_ARGS)) +# For system=v3: ARTDISK and ZUSEDISK default to the minted Zuse pair (disk/zuse-scratch/, # disk/README.md; Captain Bob, 2026-10-26, the identity gate's D4): with no # identity drive the system is headless, so a boot with the blank # disk/artemis.img and thumbdrives/zuse-thumb-ident.img never reaches a # prompt. The two are a pair: Zuse's genesis marker is on that Artemis disk. -ARTDISK ?= disk/zuse-scratch/artemis.img +ARTDISK ?= $(if $(QEMU_V3_BOOT),disk/zuse-scratch/artemis.img) # ARTDISK= (empty) attaches no virtio disk. Since 2026-10-28 the v4 boot takes Artemis only from the # stick (docs/v4.0.0/plans/2026-10-27-stick-4-one-disk.md, Task 4); ARTDISK stays for system=v3. # Precomputed for the same comma reason as ZUSEDISK_QEMU_ARGS below. @@ -190,7 +195,7 @@ XHCI_ARGS_SLOT4 := $(if $(strip $(XHCI_QEMU_ARGS)),$(XHCI_QEMU_ARGS),$(XHCI_D # fresh for every boot), identity and Artemis partitions on one disk, as STICK.md 4 has them. ZUSE_PAIR ?= disk/zuse-scratch ZUSESTICK_IMG = $(BUILD_DIR)/zusestick.img -ZUSEDISK ?= $(ZUSESTICK_IMG) +ZUSEDISK ?= $(if $(QEMU_V3_BOOT),$(ZUSESTICK_IMG)) ZUSESTICK_DEP = $(if $(filter $(ZUSESTICK_IMG),$(ZUSEDISK)),zusestick) # Precomputed (not inlined as $(if ...,...)) because the drive/device specs # below are comma-heavy and GNU make's $(if) function splits its own @@ -203,12 +208,12 @@ ZUSEDISK_QEMU_ARGS := -drive if=none,id=zusedrv,file=$(ZUSEDISK),format=raw -dev else ZUSEDISK_QEMU_ARGS := endif -# DATASTICK -- set to 1 to attach the data stick (`make ... datastick`: StarshipOS identity -# and Artemis partitions, no ESP, made fresh before the boot) over USB on port 2, beside the -# disks above (docs/v4.0.0/STICK.md 9). Off by default until the first boot of a fresh data -# stick can mint Zuse (increment 5, which turns it on and retires ARTDISK/ZUSEDISK; -# docs/v4.0.0/plans/2026-10-27-stick-3-images.md, ruled 2026-10-27). -DATASTICK ?= +# DATASTICK -- 1 attaches the data stick (`make ... datastick`: StarshipOS identity and Artemis +# partitions, no ESP, made fresh before the boot) over USB on port 2 (docs/v4.0.0/STICK.md 9). +# On by default for a v4 boot since a fresh data stick's first boot mints Zuse (plan +# 2026-10-29-stick-5, Task 3, as stick-3's ruling of 2026-10-27 set out); off for system=v3. +# DATASTICK= boots v4 with no drive at all (headless). +DATASTICK ?= $(if $(QEMU_V3_BOOT),,1) ifneq ($(strip $(DATASTICK)),) DATASTICK_QEMU_ARGS = -drive if=none,id=datadrv,file=$(DATASTICK_IMG),format=raw -device usb-storage,bus=xhci0.0,port=2,drive=datadrv DATASTICK_DEP := datastick diff --git a/logs/20261108-130732/amd64/qemu-amd64-20261108-130732.log b/logs/20261108-130732/amd64/qemu-amd64-20261108-130732.log new file mode 100644 index 00000000..02b879d1 --- /dev/null +++ b/logs/20261108-130732/amd64/qemu-amd64-20261108-130732.log @@ -0,0 +1,161 @@ +[=3h[=3h[=3hBdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0) +[=3hStarKernel UEFI Loader +Loading kernel from ESP... +[CKPT 001] Entered efi_main - ConOut live +RAW SERIAL UP +[CKPT 002] Serial (COM1) initialized +Monolithic build - kernel linked directly +Collecting boot information... +CmdLine: parsed OK +[CKPT 004] Command line parsed +[CKPT 005] Kernel stack allocation decided +[CKPT 006] Boot info collected (ACPI table located) +GOP: linear framebuffer found +[CKPT 007] GOP: linear framebuffer found +[CKPT 008] About to enter ExitBootServices retry loop +EBS... +EBS OK +Calling kernel_main (monolithic)... + + + _____ _ _ __ _ + / ____| | | |/ / | | + | (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| | + \___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ | + ____) | || (_| | | | . \ __/ | | | | | __/ | + |_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_| + +LithosAnanke v4.0.0-alpha.3 amd64 +Architecture: amd64 +Build: Nov 8 2026 13:06:58 + +UEFI BootServices: EXITED +Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed) + +=== StarKernel Boot Information === +Memory map entries: 126 +Total memory: 1023 MB +Usable memory: 967 MB +=================================== + +PMM initialized. +PMM statistics: + Total pages: 248946 + Free pages : 247419 + Used pages : 1527 + Total MB : 972 + Free MB : 966 + Used MB : 5 + +VMM initialized (mapped RAM, CR3 switched) +VMM initialized (mapped RAM, CR3 switched) +VMM self-test: mapped OK at 0xffff800000000000 +VMM self-test complete. + +IDT installed. + +APIC: init... +APIC: IA32_APIC_BASE MSR=0x00000000fee00900 +APIC: stale-ISR drain: 0 EOI(s) issued +APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear) +APIC: init done + +I/O APIC: init... +I/O APIC: base=0xfec00000, gsi_base=0, overrides=5 + override: source=00 gsi=2 flags=0x0000 + override: source=05 gsi=5 flags=0x000d + override: source=09 gsi=9 flags=0x000d + override: source=0a gsi=10 flags=0x000d + override: source=0b gsi=11 flags=0x000d +i8042: keyboard ACKed enable-scanning +i8042: IRQ1 enabled in controller config byte +I/O APIC: keyboard IRQ1 routed (masked) + +Timer: init... +Timer: init start +Timer: PM_TMR_BLK discovered from FADT at port 1544 +Timer: VM mode detected (hypervisor present). +Timer: HPET calibration disabled (VM-exit MMIO would poison timing). +Timer: WARNING: invariant TSC not present under hypervisor. +Timer: continuing in RELATIVE mode (no determinism guarantees). +Timer: RDTSCP not present; using RDTSC (less serialized). +Timer: CPUID frequency unavailable; trying PM Timer... +Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2090276162 Hz +Timer: init done + +Kernel heap initialized. +Heap statistics: + Total bytes: 536870872 + Free bytes: 536870872 + Used bytes: 0 + Peak bytes: 0 + Heap base addr: 24641536 + Heap end addr: 561512448 + +Heartbeat: init... +APIC Timer: calibrating... +APIC Timer: apic_hz=1005501029, tick_hz=100, initial_count=10055010 +APIC Timer: configured (masked, ready to start) +Heartbeat: init done +Kernel initialization complete. +Boot successful! + +Boot disk: not a StarshipOS stick +System: StarForth v4 (this build's default) +StarForth v4: one host node, the F18-derived engine +V4: capsule v4:sys:map-64.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:map-64.f18 capsule_hash=0x949eb6a1e9260e49 +V4: capsule v4:sys:core.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:core.f18 capsule_hash=0xb8f167892ec18c28 +V4: capsule v4:sys:input.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:input.f18 capsule_hash=0x85d3ec486d929a79 +V4: capsule v4:sys:dict.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:dict.f18 capsule_hash=0x1379bd3b5de811dc +V4: capsule v4:sys:codegen.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:codegen.f18 capsule_hash=0x36d2ae84d2911b90 +V4: capsule v4:sys:compile.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:compile.f18 capsule_hash=0x11145c4c2ab819d8 +V4: capsule v4:sys:quit.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:quit.f18 capsule_hash=0x43cadf3b21ddbf3e +V4: capsule v4:sys:forth.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:forth.f18 capsule_hash=0x16cab4a1268b85da +V4: capsule v4:sys:numout.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:numout.f18 capsule_hash=0x85a240ad3fb2b299 +V4: capsule v4:sys:words.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:words.f18 capsule_hash=0xb1d381f927d9f14e +V4: capsule v4:sys:system.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:system.f18 capsule_hash=0xd92203664c2915bd +V4: capsule v4:sys:qmath.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:qmath.f18 capsule_hash=0xdb4140713dd857f3 +V4: capsule v4:sys:blocks.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:blocks.f18 capsule_hash=0x76307ef48678dc2a +V4: capsule v4:sys:log.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:log.f18 capsule_hash=0xfc6540e6b824a52b +V4: capsule v4:sys:acl.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:acl.f18 capsule_hash=0x6845aa048db7eb22 +V4: capsule v4:sys:end.f18 signature: missing (unsigned) +PARITY:V4_F18 name=v4:sys:end.f18 capsule_hash=0x5ef01312c07b79cc +PARITY:V4_ROM words=2372 rom_hash=0x87b23d3ae2643c8d instructions=59145258 +V4: capsule v4:forth79.4th signature: missing (unsigned) +PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x033e1c05c09a1df8 +PARITY:V4_POST tests=538 pass=538 fail=0 +PARITY:V4_SYSTEM word_count=317 dict_hash=0xfec8c47cfc6f437f +PARITY:OK +POST: PASSED +PCI: init... +PCI: ECAM mapped (amd64) +virtio-rng: no device on PCI bus 0 +rng: backend = rdrand +entropy: ready +virtio-input: no device on PCI bus 0 +Starting heartbeat... +APIC Timer: started (LVT=0x00020020 ICR=10055010) +I/O APIC: keyboard IRQ1 unmasked +Heartbeat running. +blkio_usb: MSC device ready +Artemis: the stick's partition attached +[Hera] Zuse: identity confirmed from attached thumbdrive +[zuse@Hera] ok> 3 4 + . +[zuse@Hera] 7 ok +[zuse@Hera] ok>  \ No newline at end of file diff --git a/scripts/nightly.sh b/scripts/nightly.sh index f7bfad37..729a9534 100755 --- a/scripts/nightly.sh +++ b/scripts/nightly.sh @@ -94,7 +94,9 @@ accept) amd64) rm -rf "$OUT"; mkdir -p "$OUT"; touch "$OUT/.started" # the first stage mode=zuse; arch=amd64; extra= ;; aarch64|riscv64) mode=zuse; arch=$what; extra= ;; - stick-high) mode=stick_zuse; arch=amd64; extra="--target qemu-stick-high" ;; + # the PC stick as built, loaded high: its first boot mints its own Zuse (plan + # 2026-10-29-stick-5, Task 3 -- it was the stick with the minted pair, stick_zuse) + stick-high) mode=stick_genesis; arch=amd64; extra="--target qemu-stick-high" ;; *) usage ;; esac need "$OUT/.started" diff --git a/scripts/qemu_session.py b/scripts/qemu_session.py index 30e17700..2ed7a68c 100755 --- a/scripts/qemu_session.py +++ b/scripts/qemu_session.py @@ -4,9 +4,12 @@ scripts/qemu_session.py MODE ARCH [--label L] [--make "VAR=val ..."] [--no-zuse] Builds and boots `make ARCH= clean qemu` (one QEMU, in the foreground of -this script), with copies of the minted Zuse pair (disk/zuse-scratch/) made -under build/qemu-session/