Skip to content

devia read: the memory as one self-contained page - #9

Merged
schneiderjoseph merged 1 commit into
mainfrom
devia-read
Sep 9, 2026
Merged

schneiderjoseph merged 1 commit into
mainfrom
devia-read

Conversation

@schneiderjoseph

@schneiderjoseph schneiderjoseph commented Sep 9, 2026

Copy link
Copy Markdown
Owner

A memory nobody reads is documentation with extra steps. devia read renders .devia/ into a single HTML file: sidebar in reading order -- the contract first, then the numbered files -- and links between memory files that jump inside the page instead of asking the filesystem for them.

Self-contained on purpose: content embedded, no fetch, no CDN, no stylesheet to resolve. It opens by double-click, offline. The reader that prompted this one needed a running local server, because a page that fetches its own content hits CORS on file://. That is the difference between a tool people use and one they mean to set up.

  • .devia/reader.html by default, --out elsewhere
  • A snapshot, never the source: regenerate after changing the memory, and gitignore it, as this repository now does
  • src/lib/markdown.mjs renders the subset the memory templates actually use. Same reasoning as the YAML parser: devia writes the files it reads, and ARC-004 rules out a library

Two things the tests caught while being written. The code-span placeholder was a bare number between spaces, so prose containing " 12 " became a code span. And HTML escaping ran before block parsing, so a blockquote's ">" was already ">" and no quote ever rendered. Both are regression tests now, alongside one that asserts the page contains no fetch, no http and no external stylesheet.

Also fixed: --help still described sync as refreshing a vendored standard, which 0.5.0 made opt-in.

Recorded as G9: devia renders the memory itself rather than leaving it to whatever each project happens to have.

Version: package 0.6.0, standard unchanged at 0.1.0.

Verified: 44 tests with and without FORCE_COLOR, validate clean, check P0 clear, memory validate clean. Rendered against this repository's memory (15 files, 57 kB) and KOUTIER's (accents, tables and cross-links intact).

Summary

Type

Devia compliance

  • Rules touched (IDs):
  • New rule? source cited, severity, priority, validation method:
  • Breaking for adopters? (rule id, .devia/ layout, CLI contract):
  • CHANGELOG.md updated:
  • Generated files rebuilt (npm run build:index):

Checks

  • npm run validate passes
  • npm test passes
  • node bin/devia.mjs check --root . passes
  • devia init still produces a valid project (devia validate clean in a scratch repo)

Not verified

A memory nobody reads is documentation with extra steps. `devia read` renders
.devia/ into a single HTML file: sidebar in reading order -- the contract first,
then the numbered files -- and links between memory files that jump inside the
page instead of asking the filesystem for them.

Self-contained on purpose: content embedded, no fetch, no CDN, no stylesheet to
resolve. It opens by double-click, offline. The reader that prompted this one
needed a running local server, because a page that fetches its own content hits
CORS on file://. That is the difference between a tool people use and one they
mean to set up.

- .devia/reader.html by default, --out elsewhere
- A snapshot, never the source: regenerate after changing the memory, and
  gitignore it, as this repository now does
- src/lib/markdown.mjs renders the subset the memory templates actually use.
  Same reasoning as the YAML parser: devia writes the files it reads, and
  ARC-004 rules out a library

Two things the tests caught while being written. The code-span placeholder was a
bare number between spaces, so prose containing " 12 " became a code span. And
HTML escaping ran before block parsing, so a blockquote's ">" was already ">"
and no quote ever rendered. Both are regression tests now, alongside one that
asserts the page contains no fetch, no http and no external stylesheet.

Also fixed: --help still described sync as refreshing a vendored standard, which
0.5.0 made opt-in.

Recorded as G9: devia renders the memory itself rather than leaving it to
whatever each project happens to have.

Version: package 0.6.0, standard unchanged at 0.1.0.

Verified: 44 tests with and without FORCE_COLOR, validate clean, check P0 clear,
memory validate clean. Rendered against this repository's memory (15 files,
57 kB) and KOUTIER's (accents, tables and cross-links intact).
@schneiderjoseph
schneiderjoseph merged commit ddbdcf5 into main Sep 9, 2026
5 checks passed
@schneiderjoseph
schneiderjoseph deleted the devia-read branch September 14, 2026 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant