diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index efbda35..283d2b7 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -222,12 +222,12 @@ make clean ``` There is **no `make test` here** — this is a compile-sanity convenience only, not a test -runner. Don't advertise it as one. `bump-z`/`bump-y` targets exist in this Makefile -(mirroring the standalone StarForth repo) but are **broken the same way**: they reference -`STARFORTH_VERSION_MAJOR`/`MINOR`/`PATCH`/`STARFORTH_VERSION_STRING` fields that don't exist +runner. Don't advertise it as one. The `bump-z`/`bump-y` targets (mirroring the standalone +StarForth repo) were removed 2026-08-15 — they referenced +`STARFORTH_VERSION_MAJOR`/`MINOR`/`PATCH`/`STARFORTH_VERSION_STRING` fields that never existed in the actual generated `include/version.h` (which only has `STARFORTH_VERSION`, `STARFORTH_ARCH`, `STARFORTH_TARGET`, `STARFORTH_TIMESTAMP`, `STARFORTH_VERSION_FULL`, -`LITHOS_VERSION`, `LITHOS_VERSION_STR`). Bump versions by hand-editing the `VERSION`/ +`LITHOS_VERSION`, `LITHOS_VERSION_STR`), so they could never have worked. Bump versions by hand-editing the `VERSION`/ `LITHOS_VERSION` variables in `Makefile.starkernel` instead. Report the broken targets if asked, don't silently fix them. diff --git a/FABRIC-2.md b/FABRIC-2.md index fc485ba..38f9556 100644 --- a/FABRIC-2.md +++ b/FABRIC-2.md @@ -491,11 +491,20 @@ and recorded. **Ruling:** flag and leave as-is, same precedent as the other Section C dead-code items — not removed without explicit instruction. - [ ] `src/*.c.bak` files (`vm.c.bak`, `doe_metrics.c.bak`, `inference_engine.c.bak`) remain - tracked in git at `src/` top level. Repo hygiene debt, not intentional (also noted in - `.claude/CLAUDE.md`). -- [ ] `bump-z`/`bump-y` Makefile targets reference `STARFORTH_VERSION_MAJOR`/`MINOR`/`PATCH`/ + tracked in git at `src/` top level. Confirmed 2026-08-15: added in the initial commit + (`a5ed8c3`) and never touched since; each diverges heavily from its live counterpart + (1716/237/291 line diffs) — stale historical snapshots, not a second copy of anything + current, and not referenced by either build's `*.c` wildcard. Fully recoverable via + `git show a5ed8c3:src/vm.c.bak` if ever needed. Deletion (`git rm`) was attempted but + blocked by the session's permission classifier as a destructive tracked-file removal — + needs Captain Bob's direct `git rm` or an explicit go-ahead in a session where the + classifier allows it. +- [x] `bump-z`/`bump-y` Makefile targets reference `STARFORTH_VERSION_MAJOR`/`MINOR`/`PATCH`/ `STARFORTH_VERSION_STRING` fields that don't exist in the actual generated - `include/version.h` (also noted in `.claude/CLAUDE.md`). + `include/version.h`. **Ruling 2026-08-15:** removed outright rather than fixed — CLAUDE.md + already documents hand-editing `VERSION`/`LITHOS_VERSION` in `Makefile.starkernel` as the + real convention, so a working bump-z/bump-y would just be a second, redundant path. Also + removed the corresponding `.PHONY` entries. `.claude/CLAUDE.md` updated to match. - [x] **Kconfig/`menuconfig` has never been exercised end-to-end.** Every knob added so far (including item 4.1's `STADIUM_WORD_HEAT_QUANTUM`/`STADIUM_WORD_COOL_RATE_Q48`) has only ever been verified via its `Makefile.starkernel` default. Nobody has run diff --git a/Makefile b/Makefile index debd36f..5ca300a 100644 --- a/Makefile +++ b/Makefile @@ -483,7 +483,7 @@ CONFDIR = $(PREFIX)/etc/starforth .PHONY: refinement-status refinement-init refinement-phase1 verify-defect refinement-annotate-check refinement-report .PHONY: install uninstall package deb rpm .PHONY: quality compile_commands clang_tidy cppcheck gcc_analyzer -.PHONY: FORCE version-info bump-z bump-y build-manifest +.PHONY: FORCE version-info build-manifest # ============================================================================== # MAIN TARGETS @@ -1172,30 +1172,6 @@ version-info: @echo "Current Version: $(GET_VERSION)" @grep "STARFORTH_VERSION" include/version.h | grep define -.PHONY: bump-z -bump-z: - @echo "⬆️ Bumping patch version (z)..." - @CURRENT=$$(grep "define STARFORTH_VERSION_PATCH" include/version.h | grep -o '[0-9]\+$$'); \ - NEW=$$((CURRENT + 1)); \ - sed -i "s/define STARFORTH_VERSION_PATCH.*/define STARFORTH_VERSION_PATCH $$NEW/" include/version.h; \ - MAJOR=$$(grep "define STARFORTH_VERSION_MAJOR" include/version.h | grep -o '[0-9]\+$$'); \ - MINOR=$$(grep "define STARFORTH_VERSION_MINOR" include/version.h | grep -o '[0-9]\+$$'); \ - sed -i "s/#define STARFORTH_VERSION_STRING.*/#define STARFORTH_VERSION_STRING \"$$MAJOR.$$MINOR.$$NEW\"/" include/version.h; \ - echo "✓ Version bumped to $$MAJOR.$$MINOR.$$NEW"; \ - grep "STARFORTH_VERSION" include/version.h | grep define - -.PHONY: bump-y -bump-y: - @echo "⬆️ Bumping minor version (y) and resetting patch (z=0)..." - @MAJOR=$$(grep "define STARFORTH_VERSION_MAJOR" include/version.h | grep -o '^[0-9]\+'); \ - MINOR=$$(grep "define STARFORTH_VERSION_MINOR" include/version.h | grep -o '[0-9]\+$$'); \ - NEW_MINOR=$$((MINOR + 1)); \ - sed -i "s/define STARFORTH_VERSION_MINOR.*/define STARFORTH_VERSION_MINOR $$NEW_MINOR/" include/version.h; \ - sed -i "s/define STARFORTH_VERSION_PATCH.*/define STARFORTH_VERSION_PATCH 0/" include/version.h; \ - sed -i "s/#define STARFORTH_VERSION_STRING.*/#define STARFORTH_VERSION_STRING \"$$MAJOR.$$NEW_MINOR.0\"/" include/version.h; \ - echo "✓ Version bumped to $$MAJOR.$$NEW_MINOR.0"; \ - grep "STARFORTH_VERSION" include/version.h | grep define - .PHONY: build-manifest build-manifest: $(BINARY) @echo "📋 Generating BUILD_MANIFEST.json..." diff --git a/tools/README.md b/tools/README.md index 76eb19a..2799879 100644 --- a/tools/README.md +++ b/tools/README.md @@ -9,7 +9,7 @@ toolchain. |------|---------| | `mkcapsule.c` | Assembles `.4th` capsule files into `capsule_generated.c` baked into the kernel image. Invoked automatically by `Makefile.starkernel`. | | `mkcapsule` | Compiled host binary (rebuilt on demand). | -| `fbtest.c` | Host framebuffer render test — VT100/framebuffer unit tests, no QEMU needed. | +| `ttftest.c` | Host TTF glyph-rendering test — font rasterization unit tests, no QEMU needed. | | `pe_reloc_gen.py` | Generates PE32+ relocation tables for the UEFI loader. | | `svg_to_png.py` | Renders every tracked `.svg` in the repo to a same-named `.png` via headless Chromium; leaves the source `.svg` untouched, run manually. | | `hermes_smoke.sh` | Hermes v1 hosted smoke test — swaps in the Hermes init capsule and prints values for manual inspection. |