Skip to content

Mostly docs - #67

Merged
damusix merged 7 commits into
masterfrom
next
Aug 1, 2026
Merged

Mostly docs#67
damusix merged 7 commits into
masterfrom
next

Conversation

@damusix

@damusix damusix commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

damusix added 7 commits August 1, 2026 02:10
`executed_at` carries no time zone and noorm writes UTC into it, but `pg`
and `mysql2` both parse that naive text through the host's local zone. A
change applied a second ago came back four hours in the future on a UTC-4
host, which the TUI rendered as "Applied ... in 4 hours".

Corrected at the hydration boundary rather than in the driver config: the
column is read only for noorm's own tracking tables, so the fix cannot
shift a user's timestamps read through the SDK. Both drivers were measured
against live containers; mssql is left alone because tedious was not.
The TUI page's screens were hand-drawn ASCII that had already drifted from
the app — the DB screen's `[c] Create` claimed to build from SQL files when
it only creates the database and tracking tables, and the keyboard tables
listed a Home `k` that does not exist while omitting `+`, `v`, `u` and the
number shortcuts. All of it is now generated from the running TUI by VHS
tapes in docs/tapes/, so it regenerates instead of rotting.

Also fixes the mobile complaints: the nav did not stick (VitePress only
pins it above 960px) and the hero terminal rendered centre-aligned and
clipped. Adds og/twitter meta, which the site had none of, and trims the
front page down to the pitch with the relational-design essay moved to its
own page.

The tapes record against an isolated sandbox with HOME redirected, so
recording never touches a real ~/.noorm.
The headless block listed `noorm config add`, which is TUI-only and exits 1
with "Interactive only — run: noorm ui" — so the first command a new user
copied failed, and the two after it could not work either, since `run build`
and `change ff` need a config that only the TUI can create. Replaced with the
real path, plus `ci init` for the case with no TUI to fall back on.

The SDK section described "consumers (queries), producers (mutations), and
guards (validation)". None of that is the SDK's vocabulary: the guide teaches
a domain class per schema area holding a typed Context, and the `guards`
module exports connection and access errors, not validators.
Export conditions are order-sensitive, so `types` after `import` resolves
only by luck — it works today because no `require` condition exists to
shadow it, and breaks silently the moment one is added. publint flags it as
an error; both packages now pass clean.
Upstream renamed `access.mcp` to `access.agent` and changed the form label
to "Agent Role (MCP/CLI access)", so every still and the walkthrough GIF
showed a field that no longer exists.

The tape was worse than stale. It pressed Up twice to move the role from
Admin to Viewer, which was right until DEFAULT_ACCESS started defaulting the
agent channel to viewer — the same two presses now wrap round to Admin, so
the recording would have handed an agent full access while narrating
read-only. The default is already what we want, so it just confirms.
The badge row advertised only @noormdev/cli, but the SDK is published and
versioned in lockstep with it. Bronze rather than ember so the CLI stays the
one loud thing in the row.
@damusix
damusix merged commit d7b7608 into master Aug 1, 2026
4 checks passed
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