README and ARCHITECTURE corrections: wrong branch name, wrong score path, tests claimed that do not exist #16

Open
opened 2026-08-09 03:45:58 +02:00 by clawbot · 0 comments
Collaborator

Problem

Four factual errors in the long-form docs. (MEMORY.md/TODO.md drift is
tracked separately in #3; this issue covers README.md and
ARCHITECTURE.md only, so the two can land independently.)

1. README.md:15 names a branch that does not exist

> The C reference implementation lives on the master and modern-rogue
> branches

There is no master branch. The C reference is on c-master. Anyone
following the README to find the reference sources fails outright.

2. ARCHITECTURE.md §5.7 (line 1587) has the wrong score-file path

Says ~/.rogue_scores. The code uses ~/.rogue.scores
(cmd/rogue/main.go:103), which is also what README.md correctly documents.

3. ARCHITECTURE.md §10 describes tests that were never written

§10 (lines 1719-1736) is written as settled fact, but two of its items do not
exist:

  • "Generation goldens: for a set of seeds, render generated levels (map
    chars + room/passage metadata) to text fixtures"
    game/testdata/ holds
    only item_tables.golden, c_seedcompat.patch, and a README. There are no
    level fixtures. Determinism is guarded by TestNewLevelDeterministic
    instead, which is a weaker property (self-consistency, not a locked golden).
  • "Combat math tests: swing/rollAttacks against hand-computed cases,
    str_plus/add_dam table spot checks"
    — no str_plus/add_dam spot
    check exists.

4. ARCHITECTURE.md §9's dropped-functionality table is incomplete

§9 (lines 1706-1717) lists 8 correctly-dropped platform/security items, but
two more C functions were dropped without being recorded:

  • init.c badcheck() — the MASTER-only probability sanity check with its
    interactive "[hit RETURN]" prompt. Its intent is now covered by
    TestProbabilitiesSumTo100 (better, but undocumented as a substitution).
  • options.c get_num() — replaced inline by getStr + cAtoi at
    wizard.go:38-43. The Go version is actually more correct than C's
    (C's get_num casts void* to short* and writes 2 bytes into an
    int o_goldval), which is worth recording rather than losing.

Definition of done

  1. README.md says c-master.
  2. §5.7 says ~/.rogue.scores.
  3. §10 either drops the two never-written test claims, or restates them as
    explicitly-future work — clearly marked as not-yet-implemented, not as
    description of the current suite. Do not write the tests here; if they
    are worth having, say so on this issue and I will file them separately.
  4. §9 gains rows for badcheck and get_num, each with the reason and what
    replaced it.
  5. make check green; make fmt run so the markdown is prettier-clean.
  6. Commit title ends with (closes #N).

Implementation requirements

  • Documentation-only. Zero changes to code, Makefile, .golangci.yml,
    or any config. If a non-.md change seems necessary, stop and report.
  • Verify each claim against the code and against git branch -r before
    editing — do not just transcribe this issue. In particular, confirm the
    testdata/ contents and grep for a str_plus test yourself.
  • Run make fmt and include the result in the same commit (prettier,
    4-space tabs, proseWrap: always).
  • Coordinate with #12: that issue also adds §9 rows (for leave/tstp).
    Whichever lands second must rebase and keep both sets of rows — do not
    clobber the other's additions.
  • Never mention Claude or Anthropic anywhere.

Review path

Docs-only, so this skips adversarial review and merges on a green make check.

## Problem Four factual errors in the long-form docs. (`MEMORY.md`/`TODO.md` drift is tracked separately in #3; this issue covers `README.md` and `ARCHITECTURE.md` only, so the two can land independently.) ### 1. `README.md:15` names a branch that does not exist > The C reference implementation lives on the `master` and `modern-rogue` > branches There is no `master` branch. The C reference is on **`c-master`**. Anyone following the README to find the reference sources fails outright. ### 2. `ARCHITECTURE.md` §5.7 (line 1587) has the wrong score-file path Says `~/.rogue_scores`. The code uses **`~/.rogue.scores`** (`cmd/rogue/main.go:103`), which is also what `README.md` correctly documents. ### 3. `ARCHITECTURE.md` §10 describes tests that were never written §10 (lines 1719-1736) is written as settled fact, but two of its items do not exist: - *"Generation goldens: for a set of seeds, render generated levels (map chars + room/passage metadata) to text fixtures"* — `game/testdata/` holds only `item_tables.golden`, `c_seedcompat.patch`, and a README. There are no level fixtures. Determinism is guarded by `TestNewLevelDeterministic` instead, which is a weaker property (self-consistency, not a locked golden). - *"Combat math tests: `swing`/`rollAttacks` against hand-computed cases, `str_plus`/`add_dam` table spot checks"* — no `str_plus`/`add_dam` spot check exists. ### 4. `ARCHITECTURE.md` §9's dropped-functionality table is incomplete §9 (lines 1706-1717) lists 8 correctly-dropped platform/security items, but two more C functions were dropped without being recorded: - `init.c badcheck()` — the MASTER-only probability sanity check with its interactive "[hit RETURN]" prompt. Its intent is now covered by `TestProbabilitiesSumTo100` (better, but undocumented as a substitution). - `options.c get_num()` — replaced inline by `getStr` + `cAtoi` at `wizard.go:38-43`. The Go version is actually **more correct** than C's (C's `get_num` casts `void*` to `short*` and writes 2 bytes into an `int o_goldval`), which is worth recording rather than losing. ## Definition of done 1. `README.md` says `c-master`. 2. §5.7 says `~/.rogue.scores`. 3. §10 either drops the two never-written test claims, or restates them as explicitly-future work — clearly marked as not-yet-implemented, not as description of the current suite. Do **not** write the tests here; if they are worth having, say so on this issue and I will file them separately. 4. §9 gains rows for `badcheck` and `get_num`, each with the reason and what replaced it. 5. `make check` green; `make fmt` run so the markdown is prettier-clean. 6. Commit title ends with ` (closes #N)`. ## Implementation requirements - Documentation-only. **Zero** changes to code, `Makefile`, `.golangci.yml`, or any config. If a non-`.md` change seems necessary, stop and report. - Verify each claim against the code and against `git branch -r` before editing — do not just transcribe this issue. In particular, confirm the `testdata/` contents and grep for a `str_plus` test yourself. - Run `make fmt` and include the result in the same commit (prettier, 4-space tabs, `proseWrap: always`). - Coordinate with #12: that issue also adds §9 rows (for `leave`/`tstp`). Whichever lands second must rebase and keep both sets of rows — do not clobber the other's additions. - Never mention Claude or Anthropic anywhere. ## Review path Docs-only, so this skips adversarial review and merges on a green `make check`.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/rgoue#16