Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ v-stdlib is **VistA-specific** (needs Kernel/FileMan/KIDS). The waterline rule

- **Dependency is one-way: `v → m`.** A `VSL*` routine MAY call an `STD*`
routine; an `STD*` routine MUST NOT call a `VSL*` routine. Never invert it.
- Layer is declared in `dist/repo.meta.json` (`"layer": "v"`) and enforced by
`m arch check` (G1). v-stdlib passes G1 trivially but must keep the tag.
- Layer is declared in the root `repo.meta.json` (`"layer": "v"`) and enforced
by `m arch check` (G1–G4 + meta-shape). v-stdlib passes G1/G2 trivially but
must keep the tag and a well-formed meta.
- VistA vocabulary (FileMan globals, KIDS, XPAR, Broker) lives **here**, never
below the waterline in m-stdlib.

Expand Down
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ fmt-check:
lint:
$(M) lint --check $(SRC) $(TESTS)

# m/v waterline G1 gate (dependency-direction). v-stdlib is layer v
# (dist/repo.meta.json); it passes G1 trivially (v -> m is allowed) but must
# declare its layer so the gate runs everywhere with no exception.
# m/v waterline gates. v-stdlib is layer v (root repo.meta.json); it passes
# G1/G2 trivially (v -> m, and VistA above the line, are allowed) but must
# declare its layer so the gates run everywhere with no exception.
arch:
$(M) arch check .

Expand Down
5 changes: 5 additions & 0 deletions docs/memory/MEMORY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# v-stdlib — per-repo memory index

One line per memory file. Content lives in the files, not here.

- [meta-root + owed VSLSEED filer](meta-root-and-owed.md) — layer declared in **root `repo.meta.json`** (migrated off `dist/` 2026-06-15, Phase B item 1); the owed `fileViaDie^VSLSEED` FileMan filer (re-homed from m-stdlib STDSEED per the G2 waterline decision) lands here when a v-layer seeding consumer needs it.
23 changes: 23 additions & 0 deletions docs/memory/meta-root-and-owed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: meta-root-and-owed
description: v-stdlib declares its layer in root repo.meta.json (migrated off dist/); the owed fileViaDie^VSLSEED FileMan filer lands here
metadata:
type: project
---

**Meta location (Phase B item 1, 2026-06-15):** v-stdlib's layer tag lives in
the **root `repo.meta.json`** (`"layer": "v"`), migrated off `dist/repo.meta.json`
now that `m arch check` reads the meta root-first. The meta must keep the four
required fields (id, layer, language, verification_commands) — `m arch check`
validates the shape (`Gate:"META"`). v-stdlib passes G1/G2 trivially (v → m, and
VistA above the line, are allowed) and runs G3/G4 + meta like every repo.

**Owed — `fileViaDie^VSLSEED`:** when m-stdlib's STDSEED was made engine-neutral
for the waterline G2 (the FileMan default filer `do FILE^DIE` removed; filer now
required), the FileMan-backed filer was re-homed to the **v layer** here as
`fileViaDie^VSLSEED`. It is **not yet implemented** — deferred because (a) no
v-layer seeding consumer exists yet, and (b) a real test needs a live FOIA VistA
(FileMan isn't on the bare m-test engines). Land it with its first consumer or as
a dedicated FOIA-up increment. m-stdlib's `docs/modules/stdseed.md` + the org
docs `docs/vsl-msl/` already forward-reference the name. See m-stdlib memory
`stdseed-g2-engine-neutral`.
File renamed without changes.
Loading